<?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>164860</bug_id>
          
          <creation_ts>2016-11-17 01:18:38 -0800</creation_ts>
          <short_desc>JS Modules in Workers</short_desc>
          <delta_ts>2021-06-23 23:51:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>164425</dependson>
          <blocked>147340</blocked>
    
    <blocked>165724</blocked>
    
    <blocked>192329</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>adam</cc>
    
    <cc>annulen</cc>
    
    <cc>anthony</cc>
    
    <cc>ashley</cc>
    
    <cc>benjamin</cc>
    
    <cc>bjonesbe</cc>
    
    <cc>briankimpossible</cc>
    
    <cc>bugs.webkit.org</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>chi187</cc>
    
    <cc>clopez</cc>
    
    <cc>cyb.ai.815</cc>
    
    <cc>daflair</cc>
    
    <cc>dbates</cc>
    
    <cc>dpaddock</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>guybedford</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jeffschiller</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kdmitrenko</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>lgarron</cc>
    
    <cc>mark.lam</cc>
    
    <cc>michel.nizette</cc>
    
    <cc>mjs</cc>
    
    <cc>mkwst</cc>
    
    <cc>msaboff</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>sgospodarets</cc>
    
    <cc>tobiasuhlig78</cc>
    
    <cc>tomac</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1252257</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-11-17 01:18:38 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440128</commentid>
    <comment_count>1</comment_count>
    <who name="Saleh Abdel Motaal">daflair</who>
    <bug_when>2018-07-07 05:59:18 -0700</bug_when>
    <thetext>It seems that support `new Worker(…, {type: &quot;module&quot;})` is limited or missing.

In a project that uses only pure ES modules served using a very basic express server (ie express.static) over http://127.0.0.1:8080 or http://localhost:8080 a worker module with static import statements:

```
import {…} from &apos;…&apos;
```

Throws: 
  SyntaxError: Unexpected token &apos;{&apos;. import call expects exactly one argument.

It should be noted that those static import statements are synthesized using rollup and the resulting files sometimes include one or more variable declarations before the occurrence of the import statements.

The same project does not throw in Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569955</commentid>
    <comment_count>2</comment_count>
    <who name="Guy Bedford">guybedford</who>
    <bug_when>2019-09-11 11:47:33 -0700</bug_when>
    <thetext>Note that supporting dynamic `import()` in Web Workers can also be a first start along these lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586863</commentid>
    <comment_count>3</comment_count>
    <who name="Tobias Uhlig">tobiasuhlig78</who>
    <bug_when>2019-11-03 12:02:36 -0800</bug_when>
    <thetext>Just stumbled on this ticket and am quite surprised that it did not get way more comments yet.

I am crafting a web workers driven ES8 framework, so module support for workers (including dynamic imports) is one of the key features lacking in Safari.

In Chrome this works already for close to a year using the experimental web plattform features and now got the Label Target-80.

Without the type=&quot;module&quot; support, applications have to use build tools like Webpack, which is slowing the web development speed down by a long shot!

Please be aware, that this ticket should also include the module type for shared &amp; service workers.

I recommend to make it a high priority epic.

Thanks &amp; best regards
Tobias</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600889</commentid>
    <comment_count>4</comment_count>
    <who name="Tobias Uhlig">tobiasuhlig78</who>
    <bug_when>2019-12-20 13:06:22 -0800</bug_when>
    <thetext>A quick update on the current status would be appreciated.

The new framework is online now and already at 227 github stars (December 20):
https://github.com/neomjs/neo

Here are the online examples, which according to the specs should work in every modern browser:
https://neomjs.github.io/pages/

It makes me a bit sad to see Safari falling behind on an such important topic.

https://html.spec.whatwg.org/multipage/workers.html#module-worker-example

Hoping you will catch up!

Best regards &amp; happy holiddays,
Tobias</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662544</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-14 19:44:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/64348230&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664611</commentid>
    <comment_count>6</comment_count>
      <attachid>402347</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-06-19 16:47:17 -0700</bug_when>
    <thetext>Created attachment 402347
Patch

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726543</commentid>
    <comment_count>7</comment_count>
      <attachid>419557</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-07 23:33:13 -0800</bug_when>
    <thetext>Created attachment 419557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726559</commentid>
    <comment_count>8</comment_count>
      <attachid>419562</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-08 01:26:54 -0800</bug_when>
    <thetext>Created attachment 419562
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726566</commentid>
    <comment_count>9</comment_count>
      <attachid>419565</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-08 01:52:58 -0800</bug_when>
    <thetext>Created attachment 419565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726994</commentid>
    <comment_count>10</comment_count>
      <attachid>419694</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-09 03:04:39 -0800</bug_when>
    <thetext>Created attachment 419694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727403</commentid>
    <comment_count>11</comment_count>
      <attachid>419807</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-09 20:26:57 -0800</bug_when>
    <thetext>Created attachment 419807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727450</commentid>
    <comment_count>12</comment_count>
      <attachid>419819</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-10 00:29:20 -0800</bug_when>
    <thetext>Created attachment 419819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727455</commentid>
    <comment_count>13</comment_count>
      <attachid>419821</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-10 00:39:08 -0800</bug_when>
    <thetext>Created attachment 419821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727744</commentid>
    <comment_count>14</comment_count>
      <attachid>419895</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-10 13:40:32 -0800</bug_when>
    <thetext>Created attachment 419895
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727878</commentid>
    <comment_count>15</comment_count>
      <attachid>419922</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-10 16:46:59 -0800</bug_when>
    <thetext>Created attachment 419922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727908</commentid>
    <comment_count>16</comment_count>
      <attachid>419935</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-10 18:11:32 -0800</bug_when>
    <thetext>Created attachment 419935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728187</commentid>
    <comment_count>17</comment_count>
      <attachid>420011</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-11 11:24:59 -0800</bug_when>
    <thetext>Created attachment 420011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728188</commentid>
    <comment_count>18</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-02-11 11:26:03 -0800</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728313</commentid>
    <comment_count>19</comment_count>
      <attachid>420047</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-11 14:55:57 -0800</bug_when>
    <thetext>Created attachment 420047
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728318</commentid>
    <comment_count>20</comment_count>
      <attachid>420050</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-11 15:13:12 -0800</bug_when>
    <thetext>Created attachment 420050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728431</commentid>
    <comment_count>21</comment_count>
      <attachid>420084</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-11 20:18:34 -0800</bug_when>
    <thetext>Created attachment 420084
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728434</commentid>
    <comment_count>22</comment_count>
      <attachid>420086</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-11 20:26:44 -0800</bug_when>
    <thetext>Created attachment 420086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728466</commentid>
    <comment_count>23</comment_count>
      <attachid>420100</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-11 22:52:30 -0800</bug_when>
    <thetext>Created attachment 420100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728485</commentid>
    <comment_count>24</comment_count>
      <attachid>420102</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-12 01:12:45 -0800</bug_when>
    <thetext>Created attachment 420102
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728911</commentid>
    <comment_count>25</comment_count>
      <attachid>420214</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-12 22:57:40 -0800</bug_when>
    <thetext>Created attachment 420214
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730203</commentid>
    <comment_count>26</comment_count>
      <attachid>420618</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-17 01:58:07 -0800</bug_when>
    <thetext>Created attachment 420618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731234</commentid>
    <comment_count>27</comment_count>
      <attachid>420925</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-18 23:02:39 -0800</bug_when>
    <thetext>Created attachment 420925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731236</commentid>
    <comment_count>28</comment_count>
      <attachid>420927</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-18 23:36:33 -0800</bug_when>
    <thetext>Created attachment 420927
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731460</commentid>
    <comment_count>29</comment_count>
      <attachid>420996</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-19 11:26:31 -0800</bug_when>
    <thetext>Created attachment 420996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731735</commentid>
    <comment_count>30</comment_count>
      <attachid>420996</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-02-19 19:37:10 -0800</bug_when>
    <thetext>Comment on attachment 420996
Patch

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

r=me

Do we want some more tests here? Especially for various error cases, and various complex programs and such?

&gt; Source/WebCore/bindings/js/JSDOMExceptionHandling.cpp:172
&gt; +        // FIXME: All callers to createDOMException need to pass in the correct global object.
&gt; +        // For now, we&apos;re going to assume the lexicalGlobalObject. Which is wrong in cases like this:
&gt; +        // frames[0].document.createElement(null, null); // throws an exception which should have the subframe&apos;s prototypes.

maybe file a bug for this?

&gt; Source/WebCore/bindings/js/ScriptModuleLoader.cpp:332
&gt; +void ScriptModuleLoader::notifyFinished(ModuleScriptLoader&amp; moduleScriptLoader, URL&amp;&amp; sourceURL, Ref&lt;DeferredPromise&gt; promise)

nit: why not just take URL here (callers can still move into the parameter)? That way we  know this function takes ownership of URL. I don&apos;t think this sourceURL parameter is actually moved anywhere here, or at least there are early return paths that don&apos;t take ownership over it.

&gt; Source/WebCore/bindings/js/ScriptModuleLoader.cpp:404
&gt; +                rejectToPropagateNetworkError(promise.get(), ModuleFetchFailureKind::WasCanceled, &quot;Importing a module script is canceled.&quot;_s);

nit: I wonder if this error should be more like &quot;Loading a module script was cancelled&quot;  or &quot;Load for importing a module script was canceled&quot;

&gt; Source/WebCore/workers/WorkerGlobalScope.cpp:282
&gt; +        return Exception { TypeError, &quot;importScripts cannot be used if woerker type is \&quot;module\&quot;&quot;_s };

&quot;woerker&quot; =&gt; &quot;worker&quot;

&gt; Source/WebCore/workers/WorkerOrWorkletScriptController.cpp:364
&gt; +            // Overwrite the detailed error with a generic error.

nit: not sure this comment is adding anything

&gt; Source/WebCore/workers/WorkerOrWorkletScriptController.cpp:425
&gt; +                    // Overwrite the detailed error with a generic error.

ditto

I wonder if we can share this  code  w/ above that seems to do a similar thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731819</commentid>
    <comment_count>31</comment_count>
      <attachid>420996</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-20 11:47:59 -0800</bug_when>
    <thetext>Comment on attachment 420996
Patch

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

I think all error things are already tested. So, it is OK :)

&gt;&gt; Source/WebCore/bindings/js/JSDOMExceptionHandling.cpp:172
&gt;&gt; +        // frames[0].document.createElement(null, null); // throws an exception which should have the subframe&apos;s prototypes.
&gt; 
&gt; maybe file a bug for this?

Filed https://bugs.webkit.org/show_bug.cgi?id=222229

&gt;&gt; Source/WebCore/bindings/js/ScriptModuleLoader.cpp:332
&gt;&gt; +void ScriptModuleLoader::notifyFinished(ModuleScriptLoader&amp; moduleScriptLoader, URL&amp;&amp; sourceURL, Ref&lt;DeferredPromise&gt; promise)
&gt; 
&gt; nit: why not just take URL here (callers can still move into the parameter)? That way we  know this function takes ownership of URL. I don&apos;t think this sourceURL parameter is actually moved anywhere here, or at least there are early return paths that don&apos;t take ownership over it.

Because we would like to remove registered / kept loader from m_loaders, we need to pass Loader.

&gt;&gt; Source/WebCore/bindings/js/ScriptModuleLoader.cpp:404
&gt;&gt; +                rejectToPropagateNetworkError(promise.get(), ModuleFetchFailureKind::WasCanceled, &quot;Importing a module script is canceled.&quot;_s);
&gt; 
&gt; nit: I wonder if this error should be more like &quot;Loading a module script was cancelled&quot;  or &quot;Load for importing a module script was canceled&quot;

I&apos;ll open a bug for that since this error message is used in usual non-worker module loaders.

&gt;&gt; Source/WebCore/workers/WorkerGlobalScope.cpp:282
&gt;&gt; +        return Exception { TypeError, &quot;importScripts cannot be used if woerker type is \&quot;module\&quot;&quot;_s };
&gt; 
&gt; &quot;woerker&quot; =&gt; &quot;worker&quot;

Fixed.

&gt;&gt; Source/WebCore/workers/WorkerOrWorkletScriptController.cpp:364
&gt;&gt; +            // Overwrite the detailed error with a generic error.
&gt; 
&gt; nit: not sure this comment is adding anything

Removed

&gt;&gt; Source/WebCore/workers/WorkerOrWorkletScriptController.cpp:425
&gt;&gt; +                    // Overwrite the detailed error with a generic error.
&gt; 
&gt; ditto
&gt; 
&gt; I wonder if we can share this  code  w/ above that seems to do a similar thing.

Currently, not sharable since a lot of things are different (the above is loading synchronously, and this is loading asynchronously). This one is for Worklets and the above one is for Workers. And they have different semantics to load modules.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731829</commentid>
    <comment_count>32</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-20 12:30:26 -0800</bug_when>
    <thetext>Committed r273203 (234389@main): &lt;https://commits.webkit.org/234389@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731870</commentid>
    <comment_count>33</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-02-20 14:45:59 -0800</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #32)
&gt; Committed r273203 (234389@main): &lt;https://commits.webkit.org/234389@main&gt;
This seems to have broken GTK build.
234389@main failed in https://build.webkit.org/#/builders/43/builds/332
234388@main passed in https://build.webkit.org/#/builders/43/builds/331


From https://build.webkit.org/#/builders/43/builds/332/steps/8/logs/errors:

WorkerModuleScriptLoader.h:46:94: error: ‘WorkerScriptFetcher’ has not been declared</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731880</commentid>
    <comment_count>34</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-02-20 15:41:06 -0800</bug_when>
    <thetext>(In reply to Aakash Jain from comment #33)
&gt; (In reply to Yusuke Suzuki from comment #32)
&gt; &gt; Committed r273203 (234389@main): &lt;https://commits.webkit.org/234389@main&gt;
&gt; This seems to have broken GTK build.
&gt; 234389@main failed in https://build.webkit.org/#/builders/43/builds/332
&gt; 234388@main passed in https://build.webkit.org/#/builders/43/builds/331
&gt; 
&gt; 
&gt; From https://build.webkit.org/#/builders/43/builds/332/steps/8/logs/errors:
&gt; 
&gt; WorkerModuleScriptLoader.h:46:94: error: ‘WorkerScriptFetcher’ has not been
&gt; declared

Already fixed in http://trac.webkit.org/r273205, but perhaps a better fix can be implemented e.g. forward declaring WorkerScriptFetcher instead of #include&apos;ing WorkerScriptFetcher.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753837</commentid>
    <comment_count>35</comment_count>
      <attachid>426977</attachid>
    <who name="Tobias Uhlig">tobiasuhlig78</who>
    <bug_when>2021-04-24 02:09:25 -0700</bug_when>
    <thetext>Created attachment 426977
Advanced use case

Hi guys,

I just installed the tech preview to test it with a pretty complex use case.
https://neomjs.github.io/pages/node_modules/neo.mjs/apps/covid/index.html

Looks really good. Great job!

I can finally remove the warning message and add Safari to the list of supported browsers once this hits the non tech preview version (well, except for the shared worker demos).

Best regards,
Tobias</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753839</commentid>
    <comment_count>36</comment_count>
    <who name="Tobias Uhlig">tobiasuhlig78</who>
    <bug_when>2021-04-24 04:22:40 -0700</bug_when>
    <thetext>I wrote a quick blog post on this one:
https://tobiasuhlig.medium.com/safari-webkit-about-to-release-support-for-js-modules-inside-the-worker-scope-9dd33fc20190?source=friends_link&amp;sk=db61a01446ca5a51ee2f932aad9ca890

Worth a look for the dom node rotation (direction) issue.

Best regards,
Tobias</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753890</commentid>
    <comment_count>37</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-24 13:39:17 -0700</bug_when>
    <thetext>(In reply to Tobias Uhlig from comment #35)
&gt; Created attachment 426977 [details]
&gt; Advanced use case
&gt; 
&gt; Hi guys,
&gt; 
&gt; I just installed the tech preview to test it with a pretty complex use case.
&gt; https://neomjs.github.io/pages/node_modules/neo.mjs/apps/covid/index.html
&gt; 
&gt; Looks really good. Great job!
&gt; 
&gt; I can finally remove the warning message and add Safari to the list of
&gt; supported browsers once this hits the non tech preview version (well, except
&gt; for the shared worker demos).
&gt; 
&gt; Best regards,
&gt; Tobias

Nice! If you find an issue, please report it to bugs.webkit.org, and CC me (ysuzuki@apple.com)! Such a report is very welcomed, and it can improve quality significantly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765440</commentid>
    <comment_count>38</comment_count>
    <who name="Thomas Steiner">tomac</who>
    <bug_when>2021-05-31 13:35:07 -0700</bug_when>
    <thetext>Is this feature coming to mobile Safari, too? It works like a charm on desktop Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766401</commentid>
    <comment_count>39</comment_count>
    <who name="Jeff Schiller">jeffschiller</who>
    <bug_when>2021-06-03 08:30:42 -0700</bug_when>
    <thetext>I haven&apos;t had time to test this, but if Safari supports this feature now/soon, can someone update https://github.com/mdn/browser-compat-data/blob/main/api/Worker.json#L173 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766404</commentid>
    <comment_count>40</comment_count>
    <who name="Thomas Steiner">tomac</who>
    <bug_when>2021-06-03 08:52:09 -0700</bug_when>
    <thetext>&gt; I haven&apos;t had time to test this, but if Safari supports this feature now/soon, can someone update https://github.com/mdn/browser-compat-data/blob/main/api/Worker.json#L173 ?

Just opened https://github.com/mdn/browser-compat-data/pull/10749. No support on mobile yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772194</commentid>
    <comment_count>41</comment_count>
    <who name="Lucas Garron">lgarron</who>
    <bug_when>2021-06-23 23:48:48 -0700</bug_when>
    <thetext>May I ask if this is expected to be available to non-Safari browsers in iOS 15?

Being able to rely on ESM for workers in a web app would significantly help with compatibility and performance (compared to current workarounds), and it would be really disappointing if that option involved leaving other iOS browsers behind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772195</commentid>
    <comment_count>42</comment_count>
    <who name="Thomas Steiner">tomac</who>
    <bug_when>2021-06-23 23:51:07 -0700</bug_when>
    <thetext>&gt; May I ask if this is expected to be available to non-Safari browsers in iOS 15?

At least it is currently supported in the latest iOS 15.0 (19A5261w). I just checked in Chrome for iOS.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402347</attachid>
            <date>2020-06-19 16:47:17 -0700</date>
            <delta_ts>2021-02-08 01:52:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20200619164716.patch</filename>
            <type>text/plain</type>
            <size>28402</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDlhM2U0ZWVlOGRmYjdj
MzIxOTFhZWI5YmJmYzUxOTQ0OWMwMjU2Yy4uMWQ5NTA4YTA3MzQ5NTRiNWRlNTEwYjNiMjBlN2U0
ZmIwNWY5NjQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIwLTA2LTE5ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBX
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlw
dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0Q29udHJvbGxl
cjo6bG9hZE1vZHVsZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2Ny
aXB0Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogZG9tL0xvYWRhYmxlTW9k
dWxlU2NyaXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlTW9kdWxlU2NyaXB0Ojps
b2FkKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaDoKKyAg
ICAgICAgKiBkb20vU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRF
bGVtZW50OjpyZXF1ZXN0TW9kdWxlU2NyaXB0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Oldvcmtlcik6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlz
aGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyLmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyUGFyYW1ldGVyczo6aXNv
bGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2Vy
VGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZCk6CisKIDIw
MjAtMDYtMTggIERvdWcgS2VsbHkgIDxkb3Vna0BhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIHBh
aW50Q2VsbEFuZFNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50SWZOZWNlc3NhcnkoKSBmb3Ig
c2VhcmNoIGZpZWxkIGJ1dHRvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggOTMxY2VlNzc3OWJmOTYxNDM4ZTgy
MDE1MGM3YTdmOGFiNDY3NTU0Ny4uZDdmMWY0ZTcxNzQ1NTc5MzkyNjdkNGQ5NmJiNTdhZjYzYmI3
ZmE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2Ny
aXB0Q29udHJvbGxlci5jcHAKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJKU0V2ZW50VGFy
Z2V0LmgiCiAjaW5jbHVkZSAiSlNFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJKU1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCisjaW5j
bHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29k
ZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJD
b25zb2xlQ2xpZW50LmgiCkBAIC0xNzQsNiArMTc2LDExNSBAQCB2b2lkIFdvcmtlclNjcmlwdENv
bnRyb2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUsIE5h
a2VkUAogICAgIH0KIH0KIAorTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBXb3JrZXJTY3JpcHRDb250
cm9sbGVyOjpsb2FkTW9kdWxlU3luY2hyb25vdXNseShMb2FkYWJsZU1vZHVsZVNjcmlwdCYgbW9k
dWxlU2NyaXB0LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQoreworICAgIGlm
IChpc0V4ZWN1dGlvbkZvcmJpZGRlbigpKQorICAgICAgICByZXR1cm4gTWVzc2FnZVF1ZXVlVGVy
bWluYXRlZDsKKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgbGV4aWNh
bEdsb2JhbE9iamVjdCA9ICptX3dvcmtlckdsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsKKyAgICBW
TSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sg
eyB2bSB9OworCisgICAgYXV0byYgcHJvbWlzZSA9IEpTRXhlY1N0YXRlOjpsb2FkTW9kdWxlKGxl
eGljYWxHbG9iYWxPYmplY3QsIHNvdXJjZUNvZGUuanNTb3VyY2VDb2RlKCksIEpTQzo6SlNTY3Jp
cHRGZXRjaGVyOjpjcmVhdGUodm0sIHsgJm1vZHVsZVNjcmlwdCB9KSk7CisKKyAgICBSZWZQdHI8
TG9hZGFibGVNb2R1bGVTY3JpcHQ+IG1vZHVsZVNjcmlwdFJlZigmbW9kdWxlU2NyaXB0KTsKKwor
ICAgIGF1dG8mIGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNyZWF0ZSh2
bSwgJmxleGljYWxHbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbbW9kdWxlU2NyaXB0UmVmXShK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgLT4gSlND
OjpFbmNvZGVkSlNWYWx1ZSB7CisgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
KyAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgICAgICBJ
ZGVudGlmaWVyIG1vZHVsZUtleSA9IGpzVmFsdWVUb01vZHVsZUtleShnbG9iYWxPYmplY3QsIGNh
bGxGcmFtZS0+YXJndW1lbnQoMCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB7IH0pOworICAgICAgICBtb2R1bGVTY3JpcHRSZWYtPm5vdGlmeUxvYWRDb21wbGV0ZWQoKm1v
ZHVsZUtleS5pbXBsKCkpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOworICAgIH0pOworCisgICAgYXV0byYgcmVqZWN0SGFuZGxlciA9ICpKU05hdGl2ZVN0
ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZsZXhpY2FsR2xvYmFsT2JqZWN0LCAxLCBTdHJpbmcoKSwg
W21vZHVsZVNjcmlwdFJlZl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUpIHsKKyAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAg
ICAgICBKU1ZhbHVlIGVycm9yVmFsdWUgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgICAg
ICBpZiAoZXJyb3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgICAgICBhdXRvKiBvYmplY3Qg
PSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAgICAgICAgaWYgKEpTVmFsdWUgZmFp
bHVyZUtpbmRWYWx1ZSA9IG9iamVjdC0+Z2V0RGlyZWN0KHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xp
ZW50RGF0YSY+KCp2bS5jbGllbnREYXRhKS5idWlsdGluTmFtZXMoKS5mYWlsdXJlS2luZFByaXZh
dGVOYW1lKCkpKSB7CisgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBob3N0IHByb3BhZ2F0ZWQg
ZXJyb3IgaW4gdGhlIG1vZHVsZSBsb2FkZXIgcGlwZWxpbmUuCisgICAgICAgICAgICAgICAgc3dp
dGNoIChzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaEZhaWx1cmVLaW5kPihmYWlsdXJlS2luZFZhbHVl
LmFzSW50MzIoKSkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIE1vZHVsZUZldGNoRmFpbHVyZUtp
bmQ6Oldhc0Vycm9yZWQ6CisgICAgICAgICAgICAgICAgICAgIG1vZHVsZVNjcmlwdFJlZi0+bm90
aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3IgeworICAgICAgICAgICAgICAgICAg
ICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgV1RGOjpudWxsb3B0CisgICAgICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIE1vZHVsZUZldGNo
RmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkOgorICAgICAgICAgICAgICAgICAgICBtb2R1bGVTY3Jp
cHRSZWYtPm5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpOworICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICAgICAgbW9kdWxlU2Ny
aXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAg
ICAgICBMb2FkYWJsZVNjcmlwdDo6RXJyb3JUeXBlOjpDYWNoZWRTY3JpcHQsCisgICAgICAgICAg
ICBMb2FkYWJsZVNjcmlwdDo6Q29uc29sZU1lc3NhZ2UgeworICAgICAgICAgICAgICAgIE1lc3Nh
Z2VTb3VyY2U6OkpTLAorICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbDo6RXJyb3IsCisgICAg
ICAgICAgICAgICAgcmV0cmlldmVFcnJvck1lc3NhZ2UoKmdsb2JhbE9iamVjdCwgdm0sIGVycm9y
VmFsdWUsIHNjb3BlKSwKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgfSk7CisKKyAgICBwcm9taXNl
LnRoZW4oJmxleGljYWxHbG9iYWxPYmplY3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRs
ZXIpOworCisgICAgLy8gRHJpdmUgUnVuTG9vcCB1bnRpbCB3ZSBnZXQgZWl0aGVyIG9mICJXb3Jr
ZXIgaXMgdGVybWluYXRlZCIsICJMb2FkaW5nIGlzIGRvbmUiLCBvciAiTG9hZGluZyBpcyBmYWls
ZWQiLgorICAgIFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSBtX3dvcmtlckdsb2JhbFNjb3BlLT50
aHJlYWQoKS5ydW5Mb29wKCk7CisgICAgU3RyaW5nIG1vZGUgPSBtYWtlU3RyaW5nKCJsb2FkTW9k
dWxlU3luY2hyb25vdXNseSIsIHJ1bkxvb3AuY3JlYXRlVW5pcXVlSWQoKSk7CisKKyAgICBNZXNz
YWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IE1lc3NhZ2VRdWV1ZU1lc3NhZ2VSZWNlaXZlZDsK
KyAgICB3aGlsZSAoKCFtb2R1bGVTY3JpcHRSZWYtPmlzTG9hZGVkKCkgfHwgIW1vZHVsZVNjcmlw
dFJlZi0+d2FzQ2FuY2VsZWQoKSkgJiYgcmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQp
CisgICAgICAgIHJlc3VsdCA9IHJ1bkxvb3AucnVuSW5Nb2RlKG1fd29ya2VyR2xvYmFsU2NvcGUs
IG1vZGUpOworCisgICAgLy8gRklYTUU6IEN1cnJlbnRseSB3ZSBhcmUgbm90IG9mZmVyaW5nIGNh
bmNlbGxpbmcuCisgICAgLy8gaWYgKCFsb2FkZXItPmRvbmUoKSAmJiByZXN1bHQgPT0gTWVzc2Fn
ZVF1ZXVlVGVybWluYXRlZCkKKyAgICAvLyAgICAgbG9hZGVyLT5jYW5jZWwoKTsKKworICAgIHJl
dHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgV29ya2VyU2NyaXB0Q29udHJvbGxlcjo6bGlua0FuZEV2
YWx1YXRlTW9kdWxlKExvYWRhYmxlTW9kdWxlU2NyaXB0JiBtb2R1bGVTY3JpcHQsIGNvbnN0IFNj
cmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUsIFN0cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNz
YWdlKQoreworICAgIGlmIChpc0V4ZWN1dGlvbkZvcmJpZGRlbigpKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbml0U2NyaXB0SWZOZWVkZWQoKTsKKworICAgIGF1dG8mIGxleGljYWxHbG9iYWxP
YmplY3QgPSAqbV93b3JrZXJHbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0g
bGV4aWNhbEdsb2JhbE9iamVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsK
KworICAgIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsKKyAgICBK
U0V4ZWNTdGF0ZTo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKGxleGljYWxHbG9iYWxPYmplY3QsIElk
ZW50aWZpZXI6OmZyb21VaWQodm0sIG1vZHVsZVNjcmlwdC5tb2R1bGVLZXkoKSksIGpzVW5kZWZp
bmVkKCksIHJldHVybmVkRXhjZXB0aW9uKTsKKyAgICBpZiAoKHJldHVybmVkRXhjZXB0aW9uICYm
IGlzVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbih2bSwgcmV0dXJuZWRFeGNlcHRpb24pKSB8
fCBpc1Rlcm1pbmF0aW5nRXhlY3V0aW9uKCkpIHsKKyAgICAgICAgZm9yYmlkRXhlY3V0aW9uKCk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAocmV0dXJuZWRFeGNlcHRpb24pIHsK
KyAgICAgICAgaWYgKG1fd29ya2VyR2xvYmFsU2NvcGUtPmNhbkluY2x1ZGVFcnJvckRldGFpbHMo
c291cmNlQ29kZS5jYWNoZWRTY3JpcHQoKSwgc291cmNlQ29kZS51cmwoKS5zdHJpbmcoKSkpIHsK
KyAgICAgICAgICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBncmVhdCB0aGF0IHRoaXMgY2FuIHJ1biBh
cmJpdHJhcnkgY29kZSB0byBzdHJpbmctaWZ5IHRoZSB2YWx1ZSBvZiB0aGUgZXhjZXB0aW9uLgor
ICAgICAgICAgICAgLy8gRG8gd2UgbmVlZCB0byBkbyBhbnl0aGluZyB0byBoYW5kbGUgdGhhdCBw
cm9wZXJseSwgaWYgaXQsIHNheSwgcmFpc2VzIGFub3RoZXIgZXhjZXB0aW9uPworICAgICAgICAg
ICAgaWYgKHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAqcmV0dXJu
ZWRFeGNlcHRpb25NZXNzYWdlID0gcmV0dXJuZWRFeGNlcHRpb24tPnZhbHVlKCkudG9XVEZTdHJp
bmcoJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
Ly8gT3ZlcndyaXRlIHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAg
ICAgICAgICAgIFN0cmluZyBnZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNjcmlwdCBlcnJvci4iX3Mg
fTsKKyAgICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAg
ICAgICAgKnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNFcnJvck1lc3NhZ2U7Cisg
ICAgICAgICAgICByZXR1cm5lZEV4Y2VwdGlvbiA9IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0s
IGNyZWF0ZUVycm9yKCZsZXhpY2FsR2xvYmFsT2JqZWN0LCBnZW5lcmljRXJyb3JNZXNzYWdlKSk7
CisgICAgICAgIH0KKyAgICB9Cit9CisKIHZvaWQgV29ya2VyU2NyaXB0Q29udHJvbGxlcjo6c2V0
RXhjZXB0aW9uKEpTQzo6RXhjZXB0aW9uKiBleGNlcHRpb24pCiB7CiAgICAgSlNDOjpKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IG1fd29ya2VyR2xvYmFsU2NvcGVXcmFwcGVy
LmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2Ny
aXB0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0
Q29udHJvbGxlci5oCmluZGV4IGQwYTU0N2FjNTY3MzlmZGRlMWU3MGU4ZWMxOWIyYjQ4ODVlYjU2
MDkuLjRiYmZmNDM0YWZlNjEzMjFmMGZiMDZlNWQ5MmE3ZTUwZjlmM2JjMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKQEAg
LTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CisjaW5jbHVkZSA8d3Rm
L01lc3NhZ2VRdWV1ZS5oPgogI2luY2x1ZGUgPHd0Zi9OYWtlZFB0ci5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTQwLDYgKzQxLDcgQEAgY2xhc3MgVk07CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEpTV29ya2VyR2xvYmFsU2NvcGU7CitjbGFzcyBMb2FkYWJsZU1vZHVsZVNjcmlwdDsK
IGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiBjbGFzcyBXb3JrZXJDb25zb2xlQ2xpZW50OwogY2xh
c3MgV29ya2VyR2xvYmFsU2NvcGU7CkBAIC01OCw2ICs2MCw5IEBAIGNsYXNzIFdvcmtlclNjcmlw
dENvbnRyb2xsZXIgewogCiAgICAgdm9pZCBldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2Rl
JiwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKICAgICB2b2lk
IGV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlv
bj4mIHJldHVybmVkRXhjZXB0aW9uLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9
IG51bGxwdHIpOworICAgIHZvaWQgbGlua0FuZEV2YWx1YXRlTW9kdWxlKExvYWRhYmxlTW9kdWxl
U2NyaXB0JiwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU3RyaW5nKiByZXR1
cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKKworICAgIE1lc3NhZ2VRdWV1ZVdhaXRS
ZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3VzbHkoTG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25z
dCBTY3JpcHRTb3VyY2VDb2RlJik7CiAKICAgICB2b2lkIHNldEV4Y2VwdGlvbihKU0M6OkV4Y2Vw
dGlvbiopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVT
Y3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcApp
bmRleCA5YTI1YzE2NTg4ZWVjYWQ2NzhmYjkxMWVjODYyMmY0MjQyNTkyYjVhLi40OGVjMDg1MWE0
NTdkOWJhNDc0NzNmZWMyOGQ3YjQ5MzEyYjc4OGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9M
b2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKQEAgLTg4LDE2ICs4OCw0IEBAIHZvaWQgTG9hZGFibGVN
b2R1bGVTY3JpcHQ6OmV4ZWN1dGUoU2NyaXB0RWxlbWVudCYgc2NyaXB0RWxlbWVudCkKICAgICBz
Y3JpcHRFbGVtZW50LmV4ZWN1dGVNb2R1bGVTY3JpcHQoKnRoaXMpOwogfQogCi12b2lkIExvYWRh
YmxlTW9kdWxlU2NyaXB0Ojpsb2FkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiByb290
VVJMKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0gICAgICAg
IGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0aGlzLCByb290VVJMLnN0cmluZygp
LCBtX3BhcmFtZXRlcnMuY29weVJlZigpKTsKLX0KLQotdm9pZCBMb2FkYWJsZU1vZHVsZVNjcmlw
dDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJj
ZUNvZGUpCi17Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAg
ICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoKnRoaXMsIHNvdXJjZUNvZGUpOwot
fQotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3Jp
cHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCmluZGV4IGJi
Nzk5NTRkN2I5OWIwZWQwNmJmZTU1ZWY4NTRlY2NlMjFmMzU4NzcuLmQyNTM1OTYzZjY0OGIwMmE4
YTAxZmQ2M2JiMWUzODEzODZjZWU0MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9M
b2FkYWJsZU1vZHVsZVNjcmlwdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oCkBAIC01MCwxNSArNTAsMTQgQEAgY2xhc3MgTG9hZGFibGVNb2R1bGVTY3Jp
cHQgZmluYWwgOiBwdWJsaWMgTG9hZGFibGVTY3JpcHQgewogCiAgICAgdm9pZCBzZXRFcnJvcihF
cnJvciYmKTsKIAotICAgIHZvaWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFVSTCYgcm9vdFVSTCk7
Ci0gICAgdm9pZCBsb2FkKERvY3VtZW50JiwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYpOwotCiAg
ICAgdm9pZCBub3RpZnlMb2FkQ29tcGxldGVkKFVuaXF1ZWRTdHJpbmdJbXBsJik7CiAgICAgdm9p
ZCBub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciYmKTsKICAgICB2b2lkIG5v
dGlmeUxvYWRXYXNDYW5jZWxlZCgpOwogCiAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1vZHVsZUtl
eSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxlS2V5LmdldCgpOyB9CiAKKyAgICBNb2R1bGVGZXRj
aFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMoKSB7IHJldHVybiBtX3BhcmFtZXRlcnMuZ2V0KCk7IH0K
KwogcHJpdmF0ZToKICAgICBMb2FkYWJsZU1vZHVsZVNjcmlwdChjb25zdCBTdHJpbmcmIG5vbmNl
LCBjb25zdCBTdHJpbmcmIGludGVncml0eSwgUmVmZXJyZXJQb2xpY3ksIGNvbnN0IFN0cmluZyYg
Y3Jvc3NPcmlnaW5Nb2RlLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcm
IGluaXRpYXRvck5hbWUsIGJvb2wgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggMDU3NThiNjAwYzc1MjJiNDdmMzY0YmE2YTE4
ZDM1ZjE3MzExMDdmOS4uNWU5OWYwZjU3NzdiM2IyMTU4ZGQwZmE0YmMzODI3NzZjZGIzNDgxMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2lu
Y2x1ZGUgIkxvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oIgogI2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxl
U2NyaXB0LmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgorI2luY2x1ZGUgIk1vZHVs
ZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlBlbmRpbmdTY3JpcHQuaCIKICNpbmNsdWRl
ICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIKICNpbmNsdWRlICJTVkdTY3JpcHRFbGVtZW50
LmgiCkBAIC0zNTEsOCArMzUyLDExIEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVs
ZVNjcmlwdChjb25zdCBUZXh0UG9zaXRpb24mIHNjcmlwdFN0YXJ0UG9zaXRpb24pCiAgICAgICAg
ICAgICBzY3JpcHRDaGFyc2V0KCksCiAgICAgICAgICAgICBtX2VsZW1lbnQubG9jYWxOYW1lKCks
CiAgICAgICAgICAgICBtX2VsZW1lbnQuaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUoKSk7Ci0gICAg
ICAgIHNjcmlwdC0+bG9hZChtX2VsZW1lbnQuZG9jdW1lbnQoKSwgbW9kdWxlU2NyaXB0Um9vdFVS
TCk7CiAgICAgICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7CisgICAgICAg
IGlmIChhdXRvKiBmcmFtZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmZyYW1lKCkpIHsKKyAgICAg
ICAgICAgIGF1dG8mIHNjcmlwdCA9IGRvd25jYXN0PExvYWRhYmxlTW9kdWxlU2NyaXB0PigqbV9s
b2FkYWJsZVNjcmlwdC5nZXQoKSk7CisgICAgICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1v
ZHVsZVNjcmlwdChzY3JpcHQsIG1vZHVsZVNjcmlwdFJvb3RVUkwuc3RyaW5nKCksIG1ha2VSZWYo
c2NyaXB0LnBhcmFtZXRlcnMoKSkpOworICAgICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KIApAQCAtMzY3LDggKzM3MSw5IEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdE1v
ZHVsZVNjcmlwdChjb25zdCBUZXh0UG9zaXRpb24mIHNjcmlwdFN0YXJ0UG9zaXRpb24pCiAgICAg
aWYgKCFjb250ZW50U2VjdXJpdHlQb2xpY3kuYWxsb3dJbmxpbmVTY3JpcHQobV9lbGVtZW50LmRv
Y3VtZW50KCkudXJsKCkuc3RyaW5nKCksIG1fc3RhcnRMaW5lTnVtYmVyLCBzb3VyY2VDb2RlLnNv
dXJjZSgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSwgaGFzS25vd25Ob25jZSkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIHNjcmlwdC0+bG9hZChtX2VsZW1lbnQuZG9jdW1lbnQoKSwg
c291cmNlQ29kZSk7CiAgICAgbV9sb2FkYWJsZVNjcmlwdCA9IFdURk1vdmUoc2NyaXB0KTsKKyAg
ICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKQorICAgICAg
ICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdChkb3duY2FzdDxMb2FkYWJsZU1vZHVs
ZVNjcmlwdD4oKm1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpLCBzb3VyY2VDb2RlKTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IDgwODMzNWQwMjc0
MWZjOTgzOTVkOWNkMjc5ZWJlNTljMjMzMDBlMTQuLjBmYWRmYTUxYmRkMjI5OWNkMmVmNmFiYzRk
OTQ1NGFiZDNlNGNjMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTY5LDYgKzY5
LDggQEAgaW5saW5lIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWUKICAgICAsIG1faWRlbnRpZmllcigid29ya2Vy
OiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpKQog
ICAgICwgbV9jb250ZXh0UHJveHkoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6Y3JlYXRlKCp0aGlz
KSkKICAgICAsIG1fcnVudGltZUZsYWdzKHJ1bnRpbWVGbGFncykKKyAgICAsIG1fdHlwZShvcHRp
b25zLnR5cGUpCisgICAgLCBtX2NyZWRlbnRpYWxzKG9wdGlvbnMuY3JlZGVudGlhbHMpCiB7CiAg
ICAgc3RhdGljIGJvb2wgYWRkZWRMaXN0ZW5lcjsKICAgICBpZiAoIWFkZGVkTGlzdGVuZXIpIHsK
QEAgLTExMiwxMCArMTE0LDEzIEBAIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBXb3JrZXI6OmNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1CiAKICAgICBGZXRj
aE9wdGlvbnMgZmV0Y2hPcHRpb25zOwogICAgIGZldGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRp
b25zOjpNb2RlOjpTYW1lT3JpZ2luOworICAgIGlmICh3b3JrZXItPm1fdHlwZSA9PSBXb3JrZXJU
eXBlOjpNb2R1bGUpCisgICAgICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHdvcmtlci0+
bV9jcmVkZW50aWFsczsKICAgICBmZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9wdGlvbnM6OkNh
Y2hlOjpEZWZhdWx0OwogICAgIGZldGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6
UmVkaXJlY3Q6OkZvbGxvdzsKICAgICBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXI7Ci0gICAgd29ya2VyLT5tX3NjcmlwdExvYWRlci0+
bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0
Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3Jr
ZXJzTW9kZTo6QWxsLCB3b3JrZXIpOworICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRB
c3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0
aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01v
ZGU6OkFsbCwgd29ya2VyLmdldCgpKTsKKwogICAgIHJldHVybiB3b3JrZXI7CiB9CiAKQEAgLTIx
NCw3ICsyMTksNyBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNoZWQoKQogICAgIFJlZmVycmVy
UG9saWN5IHJlZmVycmVyUG9saWN5ID0gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOwogICAg
IGlmIChhdXRvIHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXItPnJl
ZmVycmVyUG9saWN5KCksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKICAgICAg
ICAgcmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5OwotICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQtPnVz
ZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXIt
PnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGlt
ZSwgcmVmZXJyZXJQb2xpY3ksIG1fcnVudGltZUZsYWdzKTsKKyAgICBtX2NvbnRleHRQcm94eS5z
dGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250
ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0
TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBt
X3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVh
dGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBtX3R5cGUsIG1fY3JlZGVudGlhbHMsIG1fcnVudGlt
ZUZsYWdzKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpj
b250ZXh0LCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+c2Ny
aXB0KCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAppbmRleCA2N2Y0YjJiNThhYjVhZGVm
ZjZmY2QxY2Q5NTlkNGI2M2I5ZmY1OTVkLi5hMWQ5Yjg5NGVlZGM1ODhiYjIyNzJjNWY1MTMwMTA4
M2EzYTExOWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKQEAgLTI5LDkgKzI5LDExIEBACiAj
aW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRl
ICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAj
aW5jbHVkZSAiUG9zdE1lc3NhZ2VPcHRpb25zLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9h
ZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiV29ya2VyVHlwZS5oIgogI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL1J1bnRpbWVGbGFncy5oPgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAj
aW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CkBAIC01Myw2ICs1NSw4IEBAIGNsYXNzIFdvcmtlciBm
aW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJp
dmF0ZSBXb3JrCiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXb3JrZXIpOwogcHVibGljOgog
ICAgIHN0cnVjdCBPcHRpb25zIHsKKyAgICAgICAgV29ya2VyVHlwZSB0eXBlOworICAgICAgICBG
ZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFsczsKICAgICAgICAgU3RyaW5nIG5hbWU7
CiAgICAgfTsKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IFN0cmluZyYgdXJs
LCBjb25zdCBPcHRpb25zJik7CkBAIC03MCw2ICs3NCw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6
IHB1YmxpYyBBYnN0cmFjdFdvcmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBX
b3JrCiAKICAgICB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBmaW5hbDsKIAorICAgIFdvcmtl
clR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorCiBwcml2YXRlOgogICAgIGV4
cGxpY2l0IFdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3Ms
IGNvbnN0IE9wdGlvbnMmKTsKIApAQCAtMTAwLDYgKzEwNiw4IEBAIGNsYXNzIFdvcmtlciBmaW5h
bCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0
ZSBXb3JrCiAgICAgSlNDOjpSdW50aW1lRmxhZ3MgbV9ydW50aW1lRmxhZ3M7CiAgICAgRGVxdWU8
UmVmUHRyPEV2ZW50Pj4gbV9wZW5kaW5nRXZlbnRzOwogICAgIGJvb2wgbV93YXNUZXJtaW5hdGVk
IHsgZmFsc2UgfTsKKyAgICBXb3JrZXJUeXBlIG1fdHlwZSB7IFdvcmtlclR5cGU6OkNsYXNzaWMg
fTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzIHsgRmV0Y2hSZXF1
ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4gfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCBhOWEyMmNhYmQ4NzllNWE0Yjk3MDM2
MzZhMmU0OTQ1ZjY0NTc5MThjLi5jYjRiMWM5N2U3NDRlYTVjNWQwZjhhMDg3MmQ4Nzc1M2RlZWJj
MDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0zNyw2ICszNyw4IEBACiB9Owog
CiBkaWN0aW9uYXJ5IFdvcmtlck9wdGlvbnMgeworICAgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFz
c2ljIjsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscyA9ICJzYW1lLW9y
aWdpbiI7IC8vIGNyZWRlbnRpYWxzIGlzIG9ubHkgdXNlZCBpZiB0eXBlIGlzICJtb2R1bGUiCiAg
ICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNTZkYTEyMDdiNzc3OWYyZWE3YmFlNmFi
NzM2ZjlkMmM5NTRmNzI0NC4uMDY4NmEwODFhOTVjZGQ3NmU2OTQ0MWYyYjNjMDgxMGZmZTExZWQx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVx
dWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2Fn
ZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29u
c3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmNwcAppbmRleCBiOWQxOTcwZmRiNGU3NzQ4ZDZmZjM1Mzc2NDJhOWQwOWJiODEyOWE3Li5hMjVk
OTcxMzJiYzAwNDNmZjgwNGFmYmUxODIzZTU0NDQxMjE3OTc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtNzMsNyArNzMsNyBAQCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAgfHwg
KGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBkb3du
Y2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkudGhyZWFk
KCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAKLXZvaWQgV29ya2VyTWVz
c2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkws
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNU
aW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRp
bWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNv
dXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZl
cnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJl
cXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZs
YWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2aXNpdGVkIHdoZW4gd2Ug
c3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0KTsKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3QKIAog
ICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9IGRvY3VtZW50LnNvY2tldFByb3Zp
ZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsgc2NyaXB0VVJMLCBuYW1l
LCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGRvY3VtZW50LnNldHRpbmdzKCkucmVxdWVz
dEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpIH07CisgICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMg
PSB7IHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCB3b3JrZXJU
eXBlLCBjcmVkZW50aWFscywgZG9jdW1lbnQuc2V0dGluZ3MoKS5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWVFbmFibGVkKCkgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6
Y3JlYXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2Rl
LCBkb2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxh
Z3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGU3ODEyMjdmZWRi
YWI3ZWUyNWRlY2JjYWIxZjdiOTJjYmE5MTFlMTcuLmM3ZTU2ODk3YTJlYzQwMjg2YWQ5MzMzNTJk
ZjM5YThjZjQ5ZGM5ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkg
ZmluYWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V29ya2VyTWVzc2FnaW5nUHIKIHBy
aXZhdGU6CiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHku
CiAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0
aHJlYWQuKQotICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBp
c09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwg
SlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29w
ZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVk
ZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOwogICAgIHZvaWQg
dGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdl
VG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSBmaW5hbDsKICAg
ICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IDcyMTk2YTA1NzdmMDBjZThhMDI3ZmU1NTZmOTJl
MzE2NGQ2YmUyYjAuLjU2ZTU1ZmFlYjRmZGNlMDYxNDU1NDU3ODczYWZkYzQ3ODIzMWIwOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKIAogI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Qcm94
eS5oIgorI2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCiAjaW5jbHVkZSAiU2NyaXB0
U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU29j
a2V0UHJvdmlkZXIuaCIKQEAgLTgxLDYgKzgyLDggQEAgV29ya2VyUGFyYW1ldGVycyBXb3JrZXJQ
YXJhbWV0ZXJzOjppc29sYXRlZENvcHkoKSBjb25zdAogICAgICAgICBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksCiAgICAgICAgIHRpbWVPcmlnaW4sCiAgICAgICAg
IHJlZmVycmVyUG9saWN5LAorICAgICAgICB3b3JrZXJUeXBlLAorICAgICAgICBjcmVkZW50aWFs
cywKICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCwKICAgICB9OwogfQpAQCAt
MTkxLDEwICsxOTQsMzMgQEAgdm9pZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCgpCiAgICAg
ICAgICAgICBzY3JpcHRDb250cm9sbGVyLT5mb3JiaWRFeGVjdXRpb24oKTsKICAgICB9CiAKLSAg
ICBTdHJpbmcgZXhjZXB0aW9uTWVzc2FnZTsKLSAgICBzY3JpcHRDb250cm9sbGVyLT5ldmFsdWF0
ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0
dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25NZXNzYWdlKTsKKyAgICAvLyBX
ZSBhcmUgY3VycmVudGx5IGhvbGRpbmcgb25seSB0aGUgaW5pdGlhbCBzY3JpcHQgY29kZS4gSWYg
dGhlIFdvcmtlclR5cGUgaXMgTW9kdWxlLCB3ZSBzaG91bGQgZmV0Y2ggdGhlIGVudGlyZSBncmFw
aCBiZWZvcmUgZXhlY3V0aW5nIHRoZSByZXN0IG9mIHRoaXMuCisgICAgLy8gV2UgaW52b2tlIG1v
ZHVsZSBsb2FkZXIgYXMgaWYgd2UgYXJlIGV4ZWN1dGluZyBpbmxpbmUgbW9kdWxlIHNjcmlwdCB0
YWcgaW4gRG9jdW1lbnQuCiAKLSAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICBT
dHJpbmcgZXhjZXB0aW9uTWVzc2FnZTsKKyAgICBTY3JpcHRTb3VyY2VDb2RlIHNvdXJjZUNvZGUo
bV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3Jp
cHRVUkwpKTsKKyAgICBpZiAobV9zdGFydHVwRGF0YS0+cGFyYW1zLndvcmtlclR5cGUgPT0gV29y
a2VyVHlwZTo6Q2xhc3NpYykgeworICAgICAgICBzY3JpcHRDb250cm9sbGVyLT5ldmFsdWF0ZShz
b3VyY2VDb2RlLCAmZXhjZXB0aW9uTWVzc2FnZSk7CisgICAgICAgIGZpbmlzaGVkRXZhbHVhdGlu
Z1NjcmlwdCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIEZJWE1FIGNyb3NzT3JpZ2luIG1v
ZGUgc2hvdWxkIGJlIGNvbnZlcnRlZC4KKyAgICAgICAgLy8gRklYTUUgZml4IGluaXRpYXRvciBu
YW1lLgorICAgICAgICAvLyBGSVhNRSBwYXNzIFVSTCB0byBtb2R1bGUgbG9hZGVyLgorICAgICAg
ICBkYXRhTG9nTG4oIldPUktFUiBNT0RVTEUiKTsKKyAgICAgICAgYXV0byBtb2R1bGVTY3JpcHQg
PSBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6Y3JlYXRlKGVtcHR5U3RyaW5nKCksIGVtcHR5U3RyaW5n
KCksIG1fc3RhcnR1cERhdGEtPnBhcmFtcy5yZWZlcnJlclBvbGljeSwgU2NyaXB0RWxlbWVudENh
Y2hlZFNjcmlwdEZldGNoZXI6OmRlZmF1bHRDcm9zc09yaWdpbk1vZGVGb3JNb2R1bGUsIGVtcHR5
U3RyaW5nKCksIGVtcHR5QXRvbSgpLCBmYWxzZSk7CisgICAgICAgIE1lc3NhZ2VRdWV1ZVdhaXRS
ZXN1bHQgcmVzdWx0ID0gc2NyaXB0Q29udHJvbGxlci0+bG9hZE1vZHVsZVN5bmNocm9ub3VzbHko
bW9kdWxlU2NyaXB0LmdldCgpLCBzb3VyY2VDb2RlKTsKKyAgICAgICAgZGF0YUxvZ0xuKCJXT1JL
RVIgTU9EVUxFIEZFVENIRUQiKTsKKyAgICAgICAgaWYgKHJlc3VsdCAhPSBNZXNzYWdlUXVldWVU
ZXJtaW5hdGVkKSB7CisgICAgICAgICAgICBpZiAoIW1vZHVsZVNjcmlwdC0+ZXJyb3IoKSAmJiAh
bW9kdWxlU2NyaXB0LT53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gRXZhbHVh
dGUuCisgICAgICAgICAgICAgICAgc2NyaXB0Q29udHJvbGxlci0+bGlua0FuZEV2YWx1YXRlTW9k
dWxlKG1vZHVsZVNjcmlwdC5nZXQoKSwgc291cmNlQ29kZSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOwor
ICAgICAgICAgICAgICAgIGRhdGFMb2dMbigiV09SS0VSIE1PRFVMRSBFVkFMVUFURUQiKTsKKyAg
ICAgICAgICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgLy8gRklYTUUgVGhyb3cgYW4gZXJyb3IuCisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9CiAKICAgICBjYWxsT25NYWluVGhyZWFkKFtldmFsdWF0
ZUNhbGxiYWNrID0gV1RGTW92ZShtX2V2YWx1YXRlQ2FsbGJhY2spLCBtZXNzYWdlID0gZXhjZXB0
aW9uTWVzc2FnZS5pc29sYXRlZENvcHkoKV0gewogICAgICAgICBpZiAoZXZhbHVhdGVDYWxsYmFj
aykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IGM2MjVlNDJlZGQxYTI5
NWYxODJlYjgxYjA0YjgwYTVkNzQ1MmQzN2EuLmE4OTIyMzA5YmFhMjQ0MjQ0Y2JjYjRiODJlOGU3
OTU2YzkyYmI0YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtMjYs
NyArMjYsOSBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5o
IgogI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKKyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8bWVtb3J5
PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBAIC02OCw2ICs3MCw4IEBAIHN0cnVjdCBXb3Jr
ZXJQYXJhbWV0ZXJzIHsKICAgICBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeTsKICAgICBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW47CiAgICAgUmVmZXJyZXJQ
b2xpY3kgcmVmZXJyZXJQb2xpY3k7CisgICAgV29ya2VyVHlwZSB3b3JrZXJUeXBlOworICAgIEZl
dGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwogICAgIGJvb2wgcmVxdWVzdEFuaW1h
dGlvbkZyYW1lRW5hYmxlZDsKIAogICAgIFdvcmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5KCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDQ1MjI1YTZlNGYwYmUwOWQz
M2YxYjllNzdkNWFlZDM5MjM1YjRmZTUuLjM3NTM3NTI2OWY5MmUwZTM1ZjM3YTI2ODk1YTBjMjRi
NTllNGVkNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBAIC03Miw5ICs3Miw5IEBA
IGNsYXNzIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5IDogcHVibGljIFdvcmtlck9iamVj
dFByb3h5IHsKIC8vIEZJWE1FOiBVc2UgYSB2YWxpZCBXb3JrZXJSZXBvcnRpbmdQcm94eQogLy8g
RklYTUU6IFVzZSBhIHZhbGlkIFdvcmtlck9iamVjdFByb3h5CiAvLyBGSVhNRTogVXNlIHZhbGlk
IHJ1bnRpbWUgZmxhZ3MKLQorLy8gRklYTUU6IFVzZSBhIHZhbGlkIFdvcmtlclR5cGUgYW5kIENy
ZWRlbnRhaWxzIGZvciBtb2R1bGUgc2VydmljZSB3b3JrZXJzLgogU2VydmljZVdvcmtlclRocmVh
ZDo6U2VydmljZVdvcmtlclRocmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRh
dGEsIFN0cmluZyYmIHVzZXJBZ2VudCwgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBX
b3JrZXJEZWJ1Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rp
b25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlk
ZXIpCi0gICAgOiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwg
InNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJ
ZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxv
YWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBm
YWxzZSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgdHJ1ZSB9LCBkYXRhLnNjcmlwdCwgbG9h
ZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5Ojpz
aGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9u
LmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJv
eHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgp
KQorICAgIDogV29ya2VyVGhyZWFkKHsgZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJz
ZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRl
bnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2Fk
ZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFs
c2UsIE1vbm90b25pY1RpbWU6Om5vdygpLCB7IH0sIFdvcmtlclR5cGU6OkNsYXNzaWMsIEZldGNo
UmVxdWVzdENyZWRlbnRpYWxzOjpTYW1lT3JpZ2luLCB0cnVlIH0sIGRhdGEuc2NyaXB0LCBsb2Fk
ZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNo
YXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRpb24u
a2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Qcm94
eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkp
CiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fd29ya2VyT2JqZWN0
UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpKQogICAgICwgbV9o
ZWFydEJlYXRUaW1lb3V0KFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rpb24o
KS0+c2hvdWxkVXNlU2hvcnRUaW1lb3V0KCkgPyBoZWFydEJlYXRUaW1lb3V0Rm9yVGVzdCA6IGhl
YXJ0QmVhdFRpbWVvdXQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419557</attachid>
            <date>2021-02-07 23:33:13 -0800</date>
            <delta_ts>2021-02-08 01:52:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210207233312.patch</filename>
            <type>text/plain</type>
            <size>29021</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZlNjA0YWRhNjJiNWRm
MmIzMzA0MTk0ZTc2ZGNkNzNjMzdjN2E3NC4uYmFjYTNkMWVjMWRhZTAzNzE2MGVmNjBlOGY0MjYz
MzhkYjQ0ZTk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTAyLTA3ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBX
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlw
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZCk6IERl
bGV0ZWQuCisgICAgICAgICogZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0Lmg6CisgICAgICAgICog
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6
cmVxdWVzdE1vZHVsZVNjcmlwdCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyOjpXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5Lmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JX
b3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldv
cmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkTW9kdWxlU3luY2hyb25vdXNseSk6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsaW5rQW5kRXZhbHVh
dGVNb2R1bGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OmV2YWx1YXRlU2NyaXB0SWZOZWNlc3NhcnkpOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKwogMjAyMS0wMi0wNyAgTGF1cm8g
TW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNzIzNzkp
IFtXUEVdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9j
c3Mtc3R5bGluZy9tYXRodmFyaWFudCB0ZXN0cyBhcmUgSW1hZ2UgRmFpbGluZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKaW5kZXggOWEyNWMxNjU4OGVlY2Fk
Njc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uNDhlYzA4NTFhNDU3ZDliYTQ3NDczZmVjMjhkN2I0
OTMxMmI3ODhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQu
Y3BwCkBAIC04OCwxNiArODgsNCBAQCB2b2lkIExvYWRhYmxlTW9kdWxlU2NyaXB0OjpleGVjdXRl
KFNjcmlwdEVsZW1lbnQmIHNjcmlwdEVsZW1lbnQpCiAgICAgc2NyaXB0RWxlbWVudC5leGVjdXRl
TW9kdWxlU2NyaXB0KCp0aGlzKTsKIH0KIAotdm9pZCBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9h
ZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgcm9vdFVSTCkKLXsKLSAgICBpZiAoYXV0
byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9h
ZE1vZHVsZVNjcmlwdCgqdGhpcywgcm9vdFVSTC5zdHJpbmcoKSwgbV9wYXJhbWV0ZXJzLmNvcHlS
ZWYoKSk7Ci19Ci0KLXZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRv
Y3VtZW50LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQotewotICAgIGlmIChh
dXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIGZyYW1lLT5zY3JpcHQoKS5s
b2FkTW9kdWxlU2NyaXB0KCp0aGlzLCBzb3VyY2VDb2RlKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAppbmRleCBiYjc5OTU0ZDdiOTliMGVkMDZiZmU1
NWVmODU0ZWNjZTIxZjM1ODc3Li5kMjUzNTk2M2Y2NDhiMDJhOGEwMWZkNjNiYjFlMzgxMzg2Y2Vl
NDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaApAQCAtNTAs
MTUgKzUwLDE0IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxlU2NyaXB0IGZpbmFsIDogcHVibGljIExv
YWRhYmxlU2NyaXB0IHsKIAogICAgIHZvaWQgc2V0RXJyb3IoRXJyb3ImJik7CiAKLSAgICB2b2lk
IGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHJvb3RVUkwpOwotICAgIHZvaWQgbG9hZChEb2N1
bWVudCYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKLQogICAgIHZvaWQgbm90aWZ5TG9hZENv
bXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYpOwogICAgIHZvaWQgbm90aWZ5TG9hZEZhaWxlZChM
b2FkYWJsZVNjcmlwdDo6RXJyb3ImJik7CiAgICAgdm9pZCBub3RpZnlMb2FkV2FzQ2FuY2VsZWQo
KTsKIAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtb2R1bGVLZXkoKSBjb25zdCB7IHJldHVybiBt
X21vZHVsZUtleS5nZXQoKTsgfQogCisgICAgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzJiBwYXJhbWV0
ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgTG9h
ZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBpbnRl
Z3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBib29s
IGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQu
Y3BwCmluZGV4IDA1NzU4YjYwMGM3NTIyYjQ3ZjM2NGJhNmExOGQzNWYxNzMxMTA3ZjkuLjVlOTlm
MGY1Nzc3YjNiMjE1OGRkMGZhNGJjMzgyNzc2Y2RiMzQ4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJMb2FkYWJsZUNsYXNz
aWNTY3JpcHQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUg
Ik1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIK
ICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHU2NyaXB0RWxlbWVudC5oIgpAQCAtMzUxLDggKzM1Miwx
MSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4dFBv
c2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgICAgICAgICAgc2NyaXB0Q2hhcnNldCgp
LAogICAgICAgICAgICAgbV9lbGVtZW50LmxvY2FsTmFtZSgpLAogICAgICAgICAgICAgbV9lbGVt
ZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwotICAgICAgICBzY3JpcHQtPmxvYWQobV9l
bGVtZW50LmRvY3VtZW50KCksIG1vZHVsZVNjcmlwdFJvb3RVUkwpOwogICAgICAgICBtX2xvYWRh
YmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBt
X2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7CisgICAgICAgICAgICBhdXRvJiBzY3JpcHQg
PSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4oKm1fbG9hZGFibGVTY3JpcHQuZ2V0KCkp
OworICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoc2NyaXB0LCBt
b2R1bGVTY3JpcHRSb290VVJMLnN0cmluZygpLCBtYWtlUmVmKHNjcmlwdC5wYXJhbWV0ZXJzKCkp
KTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTM2Nyw4ICsz
NzEsOSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4
dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgIGlmICghY29udGVudFNlY3VyaXR5
UG9saWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVudC5kb2N1bWVudCgpLnVybCgpLnN0cmlu
ZygpLCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29kZS5zb3VyY2UoKS50b1N0cmluZ1dpdGhv
dXRDb3B5aW5nKCksIGhhc0tub3duTm9uY2UpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIHNvdXJjZUNvZGUpOwogICAgIG1f
bG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7CisgICAgaWYgKGF1dG8qIGZyYW1lID0g
bV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxv
YWRNb2R1bGVTY3JpcHQoZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVTY3JpcHQ+KCptX2xvYWRhYmxl
U2NyaXB0LmdldCgpKSwgc291cmNlQ29kZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA2MmY5MTdhMzY3ODE5ZGVjM2NkNDEwZDk3NjY5NWNl
ZTYyZjZkNGI5Li43YzIyNDlhM2EyYWY5NTE4MjNhZTc5OTVlYzEzNzFhZGZiYjE0YWFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC03MCw2ICs3MCw4IEBAIGlubGluZSBXb3JrZXI6
OldvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFn
cyBydW50aW1lCiAgICAgLCBtX2lkZW50aWZpZXIoIndvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVu
dGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSkKICAgICAsIG1fY29udGV4dFByb3h5
KFdvcmtlckdsb2JhbFNjb3BlUHJveHk6OmNyZWF0ZSgqdGhpcykpCiAgICAgLCBtX3J1bnRpbWVG
bGFncyhydW50aW1lRmxhZ3MpCisgICAgLCBtX3R5cGUob3B0aW9ucy50eXBlKQorICAgICwgbV9j
cmVkZW50aWFscyhvcHRpb25zLmNyZWRlbnRpYWxzKQogewogICAgIHN0YXRpYyBib29sIGFkZGVk
TGlzdGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7CkBAIC0xMTMsMTAgKzExNSwxMyBA
QCBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gV29ya2VyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgSlNDOjpSdQogCiAgICAgRmV0Y2hPcHRpb25zIGZldGNoT3B0aW9u
czsKICAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9yaWdp
bjsKKyAgICBpZiAod29ya2VyLT5tX3R5cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlKQorICAgICAg
ICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSB3b3JrZXItPm1fY3JlZGVudGlhbHM7CiAgICAg
ZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKICAgICBm
ZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAg
ICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6
V29ya2VyOwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShj
b250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRT
ZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgd29ya2Vy
KTsKKyAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4
dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5nZXQo
KSk7CisKICAgICByZXR1cm4gd29ya2VyOwogfQogCkBAIC0yMTUsNyArMjIwLDcgQEAgdm9pZCBX
b3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGlj
eSA9IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKICAgICBpZiAoYXV0byBwb2xpY3kgPSBw
YXJzZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpLCBSZWZl
cnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCiAgICAgICAgIHJlZmVycmVyUG9saWN5ID0g
KnBvbGljeTsKLSAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2Ny
aXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2Fk
ZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBt
X3J1bnRpbWVGbGFncyk7CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29w
ZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2Ny
aXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBv
bGljeSwgbV90eXBlLCBtX2NyZWRlbnRpYWxzLCBtX3J1bnRpbWVGbGFncyk7CiAgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZCgqY29udGV4dCwgbV9zY3JpcHRMb2Fk
ZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmgKaW5kZXggNTNmNWU2ZmZmMjdjOWZhM2U1YzBlMDFmMGY2YzQyYzZjYjZm
OWQwZS4uMzhhNjIzYTk4ZGJhMzVmZjgwMTNjZDZmYzhjODVjODEwMjA1MDIxMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5oCkBAIC0yOSw5ICsyOSwxMSBAQAogI2luY2x1ZGUgIkFjdGl2ZURPTU9i
amVjdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5o
IgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVu
dGlhbHMuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUgIlBvc3RNZXNzYWdl
T3B0aW9ucy5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1
ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3Mu
aD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25h
bC5oPgpAQCAtNTUsNiArNTcsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJh
Y3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29yawogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoV29ya2VyKTsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgT3B0aW9ucyB7
CisgICAgICAgIFdvcmtlclR5cGUgdHlwZTsKKyAgICAgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlh
bHMgY3JlZGVudGlhbHM7CiAgICAgICAgIFN0cmluZyBuYW1lOwogICAgIH07CiAgICAgc3RhdGlj
IEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IEpTQzo6UnVudGltZUZsYWdzLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgT3B0aW9ucyYpOwpA
QCAtNzksNiArODMsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3Jr
ZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29yawogICAgIHZvaWQgcG9zdFRh
c2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYpPiYmKTsKICNlbmRpZgogCisgICAgV29ya2VyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4g
bV90eXBlOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV29ya2VyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgT3B0aW9ucyYpOwogCkBAIC0xMTIs
NiArMTE4LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2VyLCBw
dWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICNpZiBFTkFCTEUoV0VCX1JUQykK
ICAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1lcnM7CiAjZW5kaWYKKyAgICBXb3JrZXJU
eXBlIG1fdHlwZSB7IFdvcmtlclR5cGU6OkNsYXNzaWMgfTsKKyAgICBGZXRjaFJlcXVlc3RDcmVk
ZW50aWFscyBtX2NyZWRlbnRpYWxzIHsgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmln
aW4gfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmlkbAppbmRleCA0NWQ2YTA4Njc4NTRlZTQwNGRlN2U3ZDAxMjQ4Y2ViZjQ0ZGNhN2VkLi43MDIx
Nzk2ZGY1MDRhZGY4ZTZiOTU4OWFjZTlmMTQ0ODIxZjI5NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuaWRsCkBAIC0zOCw2ICszOCw4IEBACiB9OwogCiBkaWN0aW9uYXJ5IFdvcmtlck9wdGlv
bnMgeworICAgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFzc2ljIjsKKyAgICBGZXRjaFJlcXVlc3RD
cmVkZW50aWFscyBjcmVkZW50aWFscyA9ICJzYW1lLW9yaWdpbiI7IC8vIGNyZWRlbnRpYWxzIGlz
IG9ubHkgdXNlZCBpZiB0eXBlIGlzICJtb2R1bGUiCiAgICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmgKaW5kZXggNDAwMDNjM2UwMTA5OTk2MGY2NDc4NjFlNzAxNjg3ZDBlMzcxZDcyZC4uN2I5MWQ3
NTNkMWM5ZDcyOWFlNTA4NjU0YzJlODVmNzY3OTFlMDA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xh
c3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdvcmtlckds
b2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdGFy
dFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYs
IGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRp
YWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVX
b3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dv
cmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDE5ZDRiZTY0OTkyZjMwZDNjY2U3NjU0N2Ez
ZDIyMThhOThjODQyYzMuLjc4ODM1ODdhN2FmNjIwOWUzZWNjOGU3YjQxYmFkNDdhZGY2MjI0MGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3Bw
CkBAIC03Myw3ICs3Myw3IEBAIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5n
UHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQoKSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpKTsK
IH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShj
b25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJy
ZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVz
c2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkws
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNU
aW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBl
IHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1
bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZCB0byBi
ZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5lc3RlZCB3b3JrZXIgb25lIGRheQogICAgIEFT
U0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwpAQCAtODksNyArODksNyBAQCB2b2lkIFdv
cmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyID0g
ZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAotICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1z
ID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgZG9jdW1l
bnQuc2V0dGluZ3NWYWx1ZXMoKSB9OworICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBz
Y3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwg
Y3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCkgfTsKICAgICBhdXRvIHRocmVh
ZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRo
aXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBkb2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHks
IHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRl
ZCh0aHJlYWQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5oCmluZGV4IGM1YjU3NWI5ZTYxNWIzZjNmNTk2YmZjM2RmNjgzYzg3N2NjNjJiYWIu
LjJlMjMxNjlmMDc5M2YwZGNmODA4YTliY2ZiNThlNmM5MDhjNmNjOTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAg
Y2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgZmluYWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNv
dW50ZWQ8V29ya2VyTWVzc2FnaW5nUHIKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVtZW50YXRpb25z
IG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0
aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQuKQotICAgIHZvaWQgc3RhcnRXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VD
b2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAg
IHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3
b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50
aW1lRmxhZ3MpIGZpbmFsOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBm
aW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0
aE1lc3NhZ2VQb3J0cyYmKSBmaW5hbDsKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxT
Y29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgZmluYWw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyLmNwcAppbmRleCBjZDRlYzI0NjgyNTI1YWFiYzY0MmQ4NzdhMGRhMDExZWJk
ZTExNDMxLi44YzUxNTE4ZTdiMjNkOTEzNTJiNzdmMmFkZDg3MjVlN2U2Njg1OTc1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlci5jcHAKQEAgLTM1LDYgKzM1LDggQEAKICNpbmNsdWRlICJKU0V4ZWNTdGF0ZS5o
IgogI2luY2x1ZGUgIkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJKU1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0
LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiU2NyaXB0
U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKICNpbmNsdWRl
ICJXb3JrZXJDb25zb2xlQ2xpZW50LmgiCkBAIC0yMjgsNyArMjMwLDExNiBAQCB2b2lkIFdvcmtl
ck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNv
ZGUmIHNvdXJjZUNvZAogICAgIH0KIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgSlNHbG9iYWxTY29w
ZVByb3RvdHlwZSwgdHlwZW5hbWUgSlNHbG9iYWxTY29wZSwgdHlwZW5hbWUgR2xvYmFsU2NvcGU+
CitNZXNzYWdlUXVldWVXYWl0UmVzdWx0IFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6
OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KExvYWRhYmxlTW9kdWxlU2NyaXB0JiBtb2R1bGVTY3Jp
cHQsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCit7CisgICAgaWYgKGlzRXhl
Y3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAgIHJldHVybiBNZXNzYWdlUXVldWVUZXJtaW5hdGVk
OworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBsZXhpY2FsR2xvYmFs
T2JqZWN0ID0gKm1fd29ya2VyR2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9
IGxleGljYWxHbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07
CisKKyAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3RhdGU6OmxvYWRNb2R1bGUobGV4aWNhbEds
b2JhbE9iamVjdCwgc291cmNlQ29kZS5qc1NvdXJjZUNvZGUoKSwgSlNDOjpKU1NjcmlwdEZldGNo
ZXI6OmNyZWF0ZSh2bSwgeyAmbW9kdWxlU2NyaXB0IH0pKTsKKworICAgIFJlZlB0cjxMb2FkYWJs
ZU1vZHVsZVNjcmlwdD4gbW9kdWxlU2NyaXB0UmVmKCZtb2R1bGVTY3JpcHQpOworCisgICAgYXV0
byYgZnVsZmlsbEhhbmRsZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmbGV4
aWNhbEdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFttb2R1bGVTY3JpcHRSZWZdKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSAtPiBKU0M6OkVuY29k
ZWRKU1ZhbHVlIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAg
ICAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICAgICAg
ICAgIElkZW50aWZpZXIgbW9kdWxlS2V5ID0ganNWYWx1ZVRvTW9kdWxlS2V5KGdsb2JhbE9iamVj
dCwgY2FsbEZyYW1lLT5hcmd1bWVudCgwKSk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCB7IH0pOworICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2Fk
Q29tcGxldGVkKCptb2R1bGVLZXkuaW1wbCgpKTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICB9KTsKKworICAgIGF1dG8mIHJl
amVjdEhhbmRsZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmbGV4aWNhbEds
b2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFttb2R1bGVTY3JpcHRSZWZdKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSB7CisgICAgICAgICAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAgICAgICBKU1ZhbHVlIGVycm9yVmFsdWUg
PSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgICAgICAgICAgaWYgKGVycm9yVmFsdWUuaXNP
YmplY3QoKSkgeworICAgICAgICAgICAgYXV0byogb2JqZWN0ID0gSlNDOjphc09iamVjdChlcnJv
clZhbHVlKTsKKyAgICAgICAgICAgIGlmIChKU1ZhbHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmpl
Y3QtPmdldERpcmVjdCh2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50
RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFpbHVyZUtpbmRQcml2YXRlTmFtZSgpKSkgeworICAgICAg
ICAgICAgLy8gVGhpcyBpcyBob3N0IHByb3BhZ2F0ZWQgZXJyb3IgaW4gdGhlIG1vZHVsZSBsb2Fk
ZXIgcGlwZWxpbmUuCisgICAgICAgICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PE1vZHVsZUZldGNo
RmFpbHVyZUtpbmQ+KGZhaWx1cmVLaW5kVmFsdWUuYXNJbnQzMigpKSkgeworICAgICAgICAgICAg
Y2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAgICAgICAgICAgbW9k
dWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7Cisg
ICAgICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hlZFNjcmlw
dCwKKyAgICAgICAgICAgICAgICAgICAgV1RGOjpudWxsb3B0CisgICAgICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIE1vZHVsZUZldGNoRmFp
bHVyZUtpbmQ6Oldhc0NhbmNlbGVkOgorICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3Rp
ZnlMb2FkV2FzQ2FuY2VsZWQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xB
UkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlM
b2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgICAgIExv
YWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hlZFNjcmlwdCwKKyAgICAgICAgICAgICAgICAg
ICAgTG9hZGFibGVTY3JpcHQ6OkNvbnNvbGVNZXNzYWdlIHsKKyAgICAgICAgICAgICAgICAgICAg
TWVzc2FnZVNvdXJjZTo6SlMsCisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbDo6RXJy
b3IsCisgICAgICAgICAgICAgICAgICAgIHJldHJpZXZlRXJyb3JNZXNzYWdlKCpnbG9iYWxPYmpl
Y3QsIHZtLCBlcnJvclZhbHVlLCBzY29wZSksCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOworICAgIH0pOworCisgICAgcHJvbWlzZS50aGVuKCZsZXhpY2FsR2xvYmFs
T2JqZWN0LCAmZnVsZmlsbEhhbmRsZXIsICZyZWplY3RIYW5kbGVyKTsKKworICAgIC8vIERyaXZl
IFJ1bkxvb3AgdW50aWwgd2UgZ2V0IGVpdGhlciBvZiAiV29ya2VyIGlzIHRlcm1pbmF0ZWQiLCAi
TG9hZGluZyBpcyBkb25lIiwgb3IgIkxvYWRpbmcgaXMgZmFpbGVkIi4KKyAgICBXb3JrZXJSdW5M
b29wJiBydW5Mb29wID0gbV93b3JrZXJHbG9iYWxTY29wZS0+dGhyZWFkKCkucnVuTG9vcCgpOwor
ICAgIFN0cmluZyBtb2RlID0gbWFrZVN0cmluZygibG9hZE1vZHVsZVN5bmNocm9ub3VzbHkiLCBy
dW5Mb29wLmNyZWF0ZVVuaXF1ZUlkKCkpOworCisgICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBy
ZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2ZWQ7CisgICAgd2hpbGUgKCghbW9kdWxl
U2NyaXB0UmVmLT5pc0xvYWRlZCgpIHx8ICFtb2R1bGVTY3JpcHRSZWYtPndhc0NhbmNlbGVkKCkp
ICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKQorICAgICAgICByZXN1bHQgPSBy
dW5Mb29wLnJ1bkluTW9kZShtX3dvcmtlckdsb2JhbFNjb3BlLCBtb2RlKTsKKworICAgIC8vIEZJ
WE1FOiBDdXJyZW50bHkgd2UgYXJlIG5vdCBvZmZlcmluZyBjYW5jZWxsaW5nLgorICAgIC8vIGlm
ICghbG9hZGVyLT5kb25lKCkgJiYgcmVzdWx0ID09IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpCisg
ICAgLy8gICAgIGxvYWRlci0+Y2FuY2VsKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2
b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVs
ZShMb2FkYWJsZU1vZHVsZVNjcmlwdCYgbW9kdWxlU2NyaXB0LCBjb25zdCBTY3JpcHRTb3VyY2VD
b2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSkKK3sKKyAg
ICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5p
dFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gKm1f
d29ya2VyR2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGxleGljYWxHbG9i
YWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisKKyAgICBOYWtl
ZFB0cjxKU0M6OkV4Y2VwdGlvbj4gcmV0dXJuZWRFeGNlcHRpb247CisgICAgSlNFeGVjU3RhdGU6
OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShsZXhpY2FsR2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpm
cm9tVWlkKHZtLCBtb2R1bGVTY3JpcHQubW9kdWxlS2V5KCkpLCBqc1VuZGVmaW5lZCgpLCByZXR1
cm5lZEV4Y2VwdGlvbik7CisgICAgaWYgKChyZXR1cm5lZEV4Y2VwdGlvbiAmJiBpc1Rlcm1pbmF0
ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0aW9uKSkgfHwgaXNUZXJtaW5h
dGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgIGZvcmJpZEV4ZWN1dGlvbigpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKHJldHVybmVkRXhjZXB0aW9uKSB7CisgICAgICAgIGlm
IChtX3dvcmtlckdsb2JhbFNjb3BlLT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxzKHNvdXJjZUNvZGUu
Y2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJsKCkuc3RyaW5nKCkpKSB7CisgICAgICAgICAg
ICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4gYXJiaXRyYXJ5IGNv
ZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4KKyAgICAgICAgICAg
IC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQgcHJvcGVybHksIGlm
IGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAgICAgIGlmIChyZXR1
cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVybmVkRXhjZXB0aW9u
TWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3RyaW5nKCZsZXhpY2Fs
R2xvYmFsT2JqZWN0KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIE92ZXJ3cml0
ZSB0aGUgZGV0YWlsZWQgZXJyb3Igd2l0aCBhIGdlbmVyaWMgZXJyb3IuCisgICAgICAgICAgICBT
dHJpbmcgZ2VuZXJpY0Vycm9yTWVzc2FnZSB7ICJTY3JpcHQgZXJyb3IuIl9zIH07CisgICAgICAg
ICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlKQorICAgICAgICAgICAgICAgICpyZXR1
cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBnZW5lcmljRXJyb3JNZXNzYWdlOworICAgICAgICAgICAg
cmV0dXJuZWRFeGNlcHRpb24gPSBKU0M6OkV4Y2VwdGlvbjo6Y3JlYXRlKHZtLCBjcmVhdGVFcnJv
cigmbGV4aWNhbEdsb2JhbE9iamVjdCwgZ2VuZXJpY0Vycm9yTWVzc2FnZSkpOworICAgICAgICB9
CisgICAgfQorfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlw
ZSwgdHlwZW5hbWUgSlNHbG9iYWxTY29wZSwgdHlwZW5hbWUgR2xvYmFsU2NvcGU+CiB2b2lkIFdv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmluaXRTY3JpcHRXaXRoU3ViY2xhc3MoKQog
ewogICAgIEFTU0VSVCghbV9nbG9iYWxTY29wZVdyYXBwZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaAppbmRl
eCBjNDkzMDFhZWQzZGQwODlkYTc5NzMyNzYwY2FmMmY3YjY0ZGIxMWI2Li5mZjFhODlhMjNkZjVm
MWIwOTBiNjg4Yjk1MDAwMmQ0NTJmY2VlMTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaApAQCAtMzEsNiAr
MzEsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTUnVuTG9vcFRpbWVyLmg+CiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTG9jay5oPgorI2luY2x1ZGUgPHd0
Zi9NZXNzYWdlUXVldWUuaD4KICNpbmNsdWRlIDx3dGYvTmFrZWRQdHIuaD4KIAogbmFtZXNwYWNl
IEpTQyB7CkBAIC00NCw2ICs0NSw3IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNzIExvYWRhYmxlTW9k
dWxlU2NyaXB0OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIGNsYXNzIFdvcmtlckNvbnNvbGVD
bGllbnQ7CiBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTsKQEAgLTk0LDYgKzk2LDkg
QEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlciB7CiAgICAgdm9pZCBldmFs
dWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1l
c3NhZ2UgPSBudWxscHRyKTsKICAgICB2b2lkIGV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNv
ZGUmLCBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4mIHJldHVybmVkRXhjZXB0aW9uLCBTdHJpbmcq
IHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOwogCisgICAgdm9pZCBsaW5rQW5k
RXZhbHVhdGVNb2R1bGUoTG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VD
b2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxw
dHIpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3VzbHko
TG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7CisKIHByb3Rl
Y3RlZDoKICAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSogZ2xvYmFsU2NvcGUoKSBjb25z
dCB7IHJldHVybiBtX2dsb2JhbFNjb3BlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMyMjYxOWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1Nzgz
Li45ZTFkMjgxM2EyOThmNzMzNzlmOTA0ZjkwZThmYzhlZmM4ZTcwMmM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAi
V29ya2VyVGhyZWFkLmgiCiAKICNpbmNsdWRlICJJREJDb25uZWN0aW9uUHJveHkuaCIKKyNpbmNs
dWRlICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUu
aCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVy
LmgiCkBAIC01NSw2ICs1Niw4IEBAIFdvcmtlclBhcmFtZXRlcnMgV29ya2VyUGFyYW1ldGVyczo6
aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICAgICAgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LAogICAgICAgICB0aW1lT3JpZ2luLAogICAgICAgICByZWZlcnJlclBv
bGljeSwKKyAgICAgICAgd29ya2VyVHlwZSwKKyAgICAgICAgY3JlZGVudGlhbHMsCiAgICAgICAg
IHNldHRpbmdzVmFsdWVzLmlzb2xhdGVkQ29weSgpCiAgICAgfTsKIH0KQEAgLTEyMyw5ICsxMjYs
MzIgQEAgYm9vbCBXb3JrZXJUaHJlYWQ6OnNob3VsZFdhaXRGb3JXZWJJbnNwZWN0b3JPblN0YXJ0
dXAoKSBjb25zdAogCiB2b2lkIFdvcmtlclRocmVhZDo6ZXZhbHVhdGVTY3JpcHRJZk5lY2Vzc2Fy
eShTdHJpbmcmIGV4Y2VwdGlvbk1lc3NhZ2UpCiB7Ci0gICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0
KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwg
VVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2Up
OwotCi0gICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgLy8gV2UgYXJlIGN1cnJl
bnRseSBob2xkaW5nIG9ubHkgdGhlIGluaXRpYWwgc2NyaXB0IGNvZGUuIElmIHRoZSBXb3JrZXJU
eXBlIGlzIE1vZHVsZSwgd2Ugc2hvdWxkIGZldGNoIHRoZSBlbnRpcmUgZ3JhcGggYmVmb3JlIGV4
ZWN1dGluZyB0aGUgcmVzdCBvZiB0aGlzLgorICAgIC8vIFdlIGludm9rZSBtb2R1bGUgbG9hZGVy
IGFzIGlmIHdlIGFyZSBleGVjdXRpbmcgaW5saW5lIG1vZHVsZSBzY3JpcHQgdGFnIGluIERvY3Vt
ZW50LgorCisgICAgaWYgKG1fc3RhcnR1cERhdGEtPnBhcmFtcy53b3JrZXJUeXBlID09IFdvcmtl
clR5cGU6OkNsYXNzaWMpIHsKKyAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmV2YWx1
YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3Rh
cnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAg
ICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBG
SVhNRSBjcm9zc09yaWdpbiBtb2RlIHNob3VsZCBiZSBjb252ZXJ0ZWQuCisgICAgICAgIC8vIEZJ
WE1FIGZpeCBpbml0aWF0b3IgbmFtZS4KKyAgICAgICAgLy8gRklYTUUgcGFzcyBVUkwgdG8gbW9k
dWxlIGxvYWRlci4KKyAgICAgICAgZGF0YUxvZ0xuKCJXT1JLRVIgTU9EVUxFIik7CisgICAgICAg
IFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBV
UkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlwdFVSTCkpOworICAgICAgICBhdXRvIG1vZHVs
ZVNjcmlwdCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0OjpjcmVhdGUoZW1wdHlTdHJpbmcoKSwgZW1w
dHlTdHJpbmcoKSwgbV9zdGFydHVwRGF0YS0+cGFyYW1zLnJlZmVycmVyUG9saWN5LCBTY3JpcHRF
bGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6ZGVmYXVsdENyb3NzT3JpZ2luTW9kZUZvck1vZHVs
ZSwgZW1wdHlTdHJpbmcoKSwgZW1wdHlBdG9tKCksIGZhbHNlKTsKKyAgICAgICAgTWVzc2FnZVF1
ZXVlV2FpdFJlc3VsdCByZXN1bHQgPSBzY3JpcHRDb250cm9sbGVyLT5sb2FkTW9kdWxlU3luY2hy
b25vdXNseShtb2R1bGVTY3JpcHQuZ2V0KCksIHNvdXJjZUNvZGUpOworICAgICAgICBkYXRhTG9n
TG4oIldPUktFUiBNT0RVTEUgRkVUQ0hFRCIpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3Nh
Z2VRdWV1ZVRlcm1pbmF0ZWQpIHsKKyAgICAgICAgICAgIGlmICghbW9kdWxlU2NyaXB0LT5lcnJv
cigpICYmICFtb2R1bGVTY3JpcHQtPndhc0NhbmNlbGVkKCkpIHsKKyAgICAgICAgICAgICAgICAv
LyBFdmFsdWF0ZS4KKyAgICAgICAgICAgICAgICBzY3JpcHRDb250cm9sbGVyLT5saW5rQW5kRXZh
bHVhdGVNb2R1bGUobW9kdWxlU2NyaXB0LmdldCgpLCBzb3VyY2VDb2RlLCAmZXhjZXB0aW9uTWVz
c2FnZSk7CisgICAgICAgICAgICAgICAgZGF0YUxvZ0xuKCJXT1JLRVIgTU9EVUxFIEVWQUxVQVRF
RCIpOworICAgICAgICAgICAgICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBGSVhNRSBUaHJvdyBhbiBlcnJvci4K
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIAogICAgIC8vIEZyZWUgdGhlIHN0YXJ0
dXAgZGF0YSB0byBjYXVzZSBpdHMgbWVtYmVyIHZhcmlhYmxlIGRlcmVmJ3MgaGFwcGVuIG9uIHRo
ZSB3b3JrZXIncyB0aHJlYWQgKHNpbmNlCiAgICAgLy8gYWxsIHJlZi9kZXJlZnMgb2YgdGhlc2Ug
b2JqZWN0cyBhcmUgaGFwcGVuaW5nIG9uIHRoZSB0aHJlYWQgYXQgdGhpcyBwb2ludCkuIE5vdGUg
dGhhdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggODg5MDc5MDhlN2E5
YjgwOWU4ZjJhNGU0NzNkNzUyZDExZDI5MzdjMC4uOTUxMmVmZGIxOGYzMmE1MGVjYjdmYjU2OTU5
ZDYxZTg4NzJmYTFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0y
Niw3ICsyNiwxMCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFs
cy5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFRocmVhZC5oIgorI2luY2x1ZGUgIldvcmtl
clJ1bkxvb3AuaCIKKyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9V
UkwuaD4KQEAgLTYzLDYgKzY2LDggQEAgc3RydWN0IFdvcmtlclBhcmFtZXRlcnMgewogICAgIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogICAgIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbjsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeTsK
KyAgICBXb3JrZXJUeXBlIHdvcmtlclR5cGU7CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMg
Y3JlZGVudGlhbHM7CiAgICAgU2V0dGluZ3M6OlZhbHVlcyBzZXR0aW5nc1ZhbHVlczsKIAogICAg
IFdvcmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWQuY3BwCmluZGV4IGM4YTdhOTk3MmY5Y2M4YzE2YTc5Njc1MTE1NTJmNTQ5M2E2ODZmOTgu
LjMzY2EwZWMyM2I1OGE1NTExODc2ODQ2YmEwNzE4MzUzMmI1YzQ3ZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuY3BwCkBAIC03Myw4ICs3Myw5IEBAIGNsYXNzIER1bW15U2VydmljZVdvcmtl
clRocmVhZFByb3h5IDogcHVibGljIFdvcmtlck9iamVjdFByb3h5IHsKIC8vIEZJWE1FOiBVc2Ug
YSB2YWxpZCBXb3JrZXJPYmplY3RQcm94eQogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZs
YWdzCiAKKy8vIEZJWE1FOiBVc2UgYSB2YWxpZCBXb3JrZXJUeXBlIGFuZCBDcmVkZW50YWlscyBm
b3IgbW9kdWxlIHNlcnZpY2Ugd29ya2Vycy4KIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VX
b3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcm
JiB1c2VyQWdlbnQsIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzLCBXb3Jr
ZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2Vy
UHJveHksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHks
IFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlclRocmVhZCh7IGRh
dGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9y
OjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdl
bnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwg
ZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwg
eyB9LCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2Vy
UHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhy
ZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5z
ZWN1cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVy
LCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQorICAgIDogV29ya2VyVGhy
ZWFkKHsgZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJ
bnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3Zl
KHVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09u
TGluZSgpLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6
Om5vdygpLCB7IH0sIFdvcmtlclR5cGU6OkNsYXNzaWMsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxz
OjpTYW1lT3JpZ2luLCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHks
IGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwg
V29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BP
cmlnaW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tl
dFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAgICwg
bV9kYXRhKGRhdGEuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KER1
bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAsIG1faGVhcnRCZWF0
VGltZW91dChTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCktPnNob3Vs
ZFVzZVNob3J0VGltZW91dCgpID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3QgOiBoZWFydEJlYXRU
aW1lb3V0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419562</attachid>
            <date>2021-02-08 01:26:54 -0800</date>
            <delta_ts>2021-02-08 02:05:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210208012653.patch</filename>
            <type>text/plain</type>
            <size>29002</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZlNjA0YWRhNjJiNWRm
MmIzMzA0MTk0ZTc2ZGNkNzNjMzdjN2E3NC4uYTk1ZWM4YWE0YWFjOThjNjAyODE4MDk4YzkxZDgx
Njc3ZmRjMjI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTAyLTA4ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBX
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJs
ZU1vZHVsZVNjcmlwdDo6bG9hZCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0xvYWRhYmxlTW9k
dWxlU2NyaXB0Lmg6CisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVsZVNjcmlwdCk6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpXb3JrZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZVByb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9i
YWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkTW9kdWxl
U3luY2hyb25vdXNseSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3JpcHRD
b250cm9sbGVyOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVk
Q29weSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OmV2YWx1YXRlU2Ny
aXB0SWZOZWNlc3NhcnkpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmg6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFk
KToKKwogMjAyMS0wMi0wNyAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBSRUdSRVNTSU9OKHIyNzIzNzkpIFtXUEVdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9tYXRodmFyaWFudCB0ZXN0cyBhcmUg
SW1hZ2UgRmFpbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9k
dWxlU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5j
cHAKaW5kZXggOWEyNWMxNjU4OGVlY2FkNjc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uNDhlYzA4
NTFhNDU3ZDliYTQ3NDczZmVjMjhkN2I0OTMxMmI3ODhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCkBAIC04OCwxNiArODgsNCBAQCB2b2lkIExvYWRh
YmxlTW9kdWxlU2NyaXB0OjpleGVjdXRlKFNjcmlwdEVsZW1lbnQmIHNjcmlwdEVsZW1lbnQpCiAg
ICAgc2NyaXB0RWxlbWVudC5leGVjdXRlTW9kdWxlU2NyaXB0KCp0aGlzKTsKIH0KIAotdm9pZCBM
b2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYg
cm9vdFVSTCkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAg
ICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgcm9vdFVSTC5zdHJp
bmcoKSwgbV9wYXJhbWV0ZXJzLmNvcHlSZWYoKSk7Ci19Ci0KLXZvaWQgTG9hZGFibGVNb2R1bGVT
Y3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBz
b3VyY2VDb2RlKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0g
ICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0aGlzLCBzb3VyY2VDb2Rl
KTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAppbmRl
eCBiYjc5OTU0ZDdiOTliMGVkMDZiZmU1NWVmODU0ZWNjZTIxZjM1ODc3Li5kMjUzNTk2M2Y2NDhi
MDJhOGEwMWZkNjNiYjFlMzgxMzg2Y2VlNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFi
bGVNb2R1bGVTY3JpcHQuaApAQCAtNTAsMTUgKzUwLDE0IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxl
U2NyaXB0IGZpbmFsIDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsKIAogICAgIHZvaWQgc2V0RXJy
b3IoRXJyb3ImJik7CiAKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHJvb3RV
UkwpOwotICAgIHZvaWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsK
LQogICAgIHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYpOwogICAg
IHZvaWQgbm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3ImJik7CiAgICAgdm9p
ZCBub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKIAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtb2R1
bGVLZXkoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQoKTsgfQogCisgICAgTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgp
OyB9CisKIHByaXZhdGU6CiAgICAgTG9hZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBu
b25jZSwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBTdHJp
bmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3Ry
aW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDA1NzU4YjYwMGM3NTIyYjQ3ZjM2NGJh
NmExOGQzNWYxNzMxMTA3ZjkuLjVlOTlmMGY1Nzc3YjNiMjE1OGRkMGZhNGJjMzgyNzc2Y2RiMzQ4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAK
ICNpbmNsdWRlICJMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJN
b2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5j
bHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHU2NyaXB0RWxl
bWVudC5oIgpAQCAtMzUxLDggKzM1MiwxMSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RN
b2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAg
ICAgICAgICAgc2NyaXB0Q2hhcnNldCgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmxvY2FsTmFt
ZSgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwot
ICAgICAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIG1vZHVsZVNjcmlwdFJv
b3RVUkwpOwogICAgICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAg
ICAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7Cisg
ICAgICAgICAgICBhdXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4o
Km1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpOworICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxv
YWRNb2R1bGVTY3JpcHQoc2NyaXB0LCBtb2R1bGVTY3JpcHRSb290VVJMLnN0cmluZygpLCBtYWtl
UmVmKHNjcmlwdC5wYXJhbWV0ZXJzKCkpKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKQEAgLTM2Nyw4ICszNzEsOSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVl
c3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQog
ICAgIGlmICghY29udGVudFNlY3VyaXR5UG9saWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVu
dC5kb2N1bWVudCgpLnVybCgpLnN0cmluZygpLCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29k
ZS5zb3VyY2UoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIGhhc0tub3duTm9uY2UpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50
KCksIHNvdXJjZUNvZGUpOwogICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7
CisgICAgaWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAg
ICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoZG93bmNhc3Q8TG9hZGFibGVN
b2R1bGVTY3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKSwgc291cmNlQ29kZSk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA2MmY5MTdh
MzY3ODE5ZGVjM2NkNDEwZDk3NjY5NWNlZTYyZjZkNGI5Li43YzIyNDlhM2EyYWY5NTE4MjNhZTc5
OTVlYzEzNzFhZGZiYjE0YWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC03MCw2
ICs3MCw4IEBAIGlubGluZSBXb3JrZXI6OldvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lCiAgICAgLCBtX2lkZW50aWZpZXIoIndv
cmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIo
KSkKICAgICAsIG1fY29udGV4dFByb3h5KFdvcmtlckdsb2JhbFNjb3BlUHJveHk6OmNyZWF0ZSgq
dGhpcykpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxhZ3MpCisgICAgLCBtX3R5cGUo
b3B0aW9ucy50eXBlKQorICAgICwgbV9jcmVkZW50aWFscyhvcHRpb25zLmNyZWRlbnRpYWxzKQog
ewogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVy
KSB7CkBAIC0xMTMsMTAgKzExNSwxMyBAQCBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gV29ya2Vy
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdQogCiAgICAg
RmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKICAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNo
T3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsKKyAgICBpZiAod29ya2VyLT5tX3R5cGUgPT0gV29y
a2VyVHlwZTo6TW9kdWxlKQorICAgICAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSB3b3Jr
ZXItPm1fY3JlZGVudGlhbHM7CiAgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25z
OjpDYWNoZTo6RGVmYXVsdDsKICAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlv
bnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyOwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2Fk
ZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3Zl
KGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNl
V29ya2Vyc01vZGU6OkFsbCwgd29ya2VyKTsKKyAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5s
b2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRj
aE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtl
cnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSk7CisKICAgICByZXR1cm4gd29ya2VyOwogfQogCkBA
IC0yMTUsNyArMjIwLDcgQEAgdm9pZCBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBSZWZl
cnJlclBvbGljeSByZWZlcnJlclBvbGljeSA9IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsK
ICAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVy
LT5yZWZlcnJlclBvbGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCiAg
ICAgICAgIHJlZmVycmVyUG9saWN5ID0gKnBvbGljeTsKLSAgICBtX2NvbnRleHRQcm94eS5zdGFy
dFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250ZXh0
LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9h
ZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3No
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlv
blRpbWUsIHJlZmVycmVyUG9saWN5LCBtX3J1bnRpbWVGbGFncyk7CisgICAgbV9jb250ZXh0UHJv
eHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwg
Y29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3Nj
cmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2Vy
Q3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV90eXBlLCBtX2NyZWRlbnRpYWxzLCBtX3J1
bnRpbWVGbGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRl
ZCgqY29udGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXIt
PnNjcmlwdCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggNTNmNWU2ZmZmMjdj
OWZhM2U1YzBlMDFmMGY2YzQyYzZjYjZmOWQwZS4uMzhhNjIzYTk4ZGJhMzVmZjgwMTNjZDZmYzhj
ODVjODEwMjA1MDIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC0yOSw5ICsyOSwxMSBA
QAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5j
bHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5o
IgogI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlw
dExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgpAQCAtNTUsNiArNTcsOCBAQCBjbGFzcyBXb3Jr
ZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3Qs
IHByaXZhdGUgV29yawogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV29ya2VyKTsKIHB1Ymxp
YzoKICAgICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAgICAgIFdvcmtlclR5cGUgdHlwZTsKKyAgICAg
ICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgICAgIFN0cmluZyBu
YW1lOwogICAgIH07CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgT3B0aW9ucyYpOwpAQCAtNzksNiArODMsOCBAQCBjbGFzcyBXb3JrZXIgZmlu
YWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZh
dGUgV29yawogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZv
aWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKICNlbmRpZgogCisgICAgV29ya2VyVHlw
ZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGlj
aXQgV29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29u
c3QgT3B0aW9ucyYpOwogCkBAIC0xMTIsNiArMTE4LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDog
cHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdv
cmsKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1l
cnM7CiAjZW5kaWYKKyAgICBXb3JrZXJUeXBlIG1fdHlwZSB7IFdvcmtlclR5cGU6OkNsYXNzaWMg
fTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzIHsgRmV0Y2hSZXF1
ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4gfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCA0NWQ2YTA4Njc4NTRlZTQwNGRlN2U3
ZDAxMjQ4Y2ViZjQ0ZGNhN2VkLi43MDIxNzk2ZGY1MDRhZGY4ZTZiOTU4OWFjZTlmMTQ0ODIxZjI5
NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0zOCw2ICszOCw4IEBACiB9Owog
CiBkaWN0aW9uYXJ5IFdvcmtlck9wdGlvbnMgeworICAgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFz
c2ljIjsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscyA9ICJzYW1lLW9y
aWdpbiI7IC8vIGNyZWRlbnRpYWxzIGlzIG9ubHkgdXNlZCBpZiB0eXBlIGlzICJtb2R1bGUiCiAg
ICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNDAwMDNjM2UwMTA5OTk2MGY2NDc4NjFl
NzAxNjg3ZDBlMzcxZDcyZC4uN2I5MWQ3NTNkMWM5ZDcyOWFlNTA4NjU0YzJlODVmNzY3OTFlMDA4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVx
dWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2Fn
ZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNj
b3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDE5
ZDRiZTY0OTkyZjMwZDNjY2U3NjU0N2EzZDIyMThhOThjODQyYzMuLjc4ODM1ODdhN2FmNjIwOWUz
ZWNjOGU3YjQxYmFkNDdhZGY2MjI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC03Myw3ICs3Myw3IEBAIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2VyR2xv
YmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtlckds
b2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQoKSA9
PSAmVGhyZWFkOjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
biwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRp
bWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2Nv
cGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJl
ZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRp
YWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiB7CiAgICAg
Ly8gRklYTUU6IFRoaXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5lc3Rl
ZCB3b3JrZXIgb25lIGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwpA
QCAtODksNyArODksNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0UHJv
dmlkZXIqIHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAotICAg
IFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIs
IHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2lu
LCByZWZlcnJlclBvbGljeSwgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSB9OworICAgIFdvcmtl
clBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJB
Z2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2luLCByZWZl
cnJlclBvbGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdzVmFs
dWVzKCkgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRl
KHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBkb2N1
bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3MpOwog
CiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGM1YjU3NWI5ZTYxNWIzZjNm
NTk2YmZjM2RmNjgzYzg3N2NjNjJiYWIuLjJlMjMxNjlmMDc5M2YwZGNmODA4YTliY2ZiNThlNmM5
MDhjNmNjOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgZmluYWwg
OiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V29ya2VyTWVzc2FnaW5nUHIKIHByaXZhdGU6
CiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAg
Ly8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQu
KQotICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGlu
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpS
dW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25z
dCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJB
Z2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZl
cnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFs
cyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOwogICAgIHZvaWQgdGVybWlu
YXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3Jr
ZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSBmaW5hbDsKICAgICB2b2lk
IHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmKT4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCBjZDRlYzI0Njgy
NTI1YWFiYzY0MmQ4NzdhMGRhMDExZWJkZTExNDMxLi44YzUxNTE4ZTdiMjNkOTEzNTJiNzdmMmFk
ZDg3MjVlN2U2Njg1OTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM1LDYgKzM1LDggQEAK
ICNpbmNsdWRlICJKU0V4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkpTUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGUuaCIKICNpbmNsdWRlICJKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1
ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIldlYkNvcmVK
U0NsaWVudERhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJDb25zb2xlQ2xpZW50LmgiCkBAIC0yMjgs
NyArMjMwLDExNiBAQCB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1
YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZAogICAgIH0KIH0KIAotdGVtcGxh
dGU8dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5hbWUgSlNHbG9iYWxTY29w
ZSwgdHlwZW5hbWUgR2xvYmFsU2NvcGU+CitNZXNzYWdlUXVldWVXYWl0UmVzdWx0IFdvcmtlck9y
V29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KExvYWRhYmxl
TW9kdWxlU2NyaXB0JiBtb2R1bGVTY3JpcHQsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJj
ZUNvZGUpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAgIHJldHVy
biBNZXNzYWdlUXVldWVUZXJtaW5hdGVkOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisK
KyAgICBhdXRvJiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gKm1fd29ya2VyR2xvYmFsU2NvcGVXcmFw
cGVyLmdldCgpOworICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3Qudm0oKTsKKyAgICBK
U0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisKKyAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3Rh
dGU6OmxvYWRNb2R1bGUobGV4aWNhbEdsb2JhbE9iamVjdCwgc291cmNlQ29kZS5qc1NvdXJjZUNv
ZGUoKSwgSlNDOjpKU1NjcmlwdEZldGNoZXI6OmNyZWF0ZSh2bSwgeyAmbW9kdWxlU2NyaXB0IH0p
KTsKKworICAgIFJlZlB0cjxMb2FkYWJsZU1vZHVsZVNjcmlwdD4gbW9kdWxlU2NyaXB0UmVmKCZt
b2R1bGVTY3JpcHQpOworCisgICAgYXV0byYgZnVsZmlsbEhhbmRsZXIgPSAqSlNOYXRpdmVTdGRG
dW5jdGlvbjo6Y3JlYXRlKHZtLCAmbGV4aWNhbEdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFtt
b2R1bGVTY3JpcHRSZWZdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSog
Y2FsbEZyYW1lKSAtPiBKU0M6OkVuY29kZWRKU1ZhbHVlIHsKKyAgICAgICAgICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICAgICAgICAgIElkZW50aWZpZXIgbW9kdWxlS2V5ID0ganNWYWx1
ZVRvTW9kdWxlS2V5KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT5hcmd1bWVudCgwKSk7CisgICAg
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAgICAgICAgICAgbW9k
dWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkQ29tcGxldGVkKCptb2R1bGVLZXkuaW1wbCgpKTsKKyAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAg
ICAgICB9KTsKKworICAgIGF1dG8mIHJlamVjdEhhbmRsZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlv
bjo6Y3JlYXRlKHZtLCAmbGV4aWNhbEdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFttb2R1bGVT
Y3JpcHRSZWZdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZy
YW1lKSB7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAg
ICAgICBKU1ZhbHVlIGVycm9yVmFsdWUgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgICAg
ICAgICAgaWYgKGVycm9yVmFsdWUuaXNPYmplY3QoKSkgeworICAgICAgICAgICAgYXV0byogb2Jq
ZWN0ID0gSlNDOjphc09iamVjdChlcnJvclZhbHVlKTsKKyAgICAgICAgICAgIGlmIChKU1ZhbHVl
IGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGljX2Nhc3Q8SlNW
TUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFpbHVyZUtpbmRQ
cml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgLy8gVGhpcyBpcyBob3N0IHByb3BhZ2F0ZWQg
ZXJyb3IgaW4gdGhlIG1vZHVsZSBsb2FkZXIgcGlwZWxpbmUuCisgICAgICAgICAgICBzd2l0Y2gg
KHN0YXRpY19jYXN0PE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ+KGZhaWx1cmVLaW5kVmFsdWUuYXNJ
bnQzMigpKSkgeworICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNF
cnJvcmVkOgorICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExv
YWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0
OjpFcnJvclR5cGU6OkNhY2hlZFNjcmlwdCwKKyAgICAgICAgICAgICAgICAgICAgV1RGOjpudWxs
b3B0CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkOgorICAgICAgICAg
ICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAg
bW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7
CisgICAgICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hlZFNj
cmlwdCwKKyAgICAgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkNvbnNvbGVNZXNzYWdl
IHsKKyAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVNvdXJjZTo6SlMsCisgICAgICAgICAgICAg
ICAgICAgIE1lc3NhZ2VMZXZlbDo6RXJyb3IsCisgICAgICAgICAgICAgICAgICAgIHJldHJpZXZl
RXJyb3JNZXNzYWdlKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJvclZhbHVlLCBzY29wZSksCisgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIH0pOworCisgICAgcHJv
bWlzZS50aGVuKCZsZXhpY2FsR2xvYmFsT2JqZWN0LCAmZnVsZmlsbEhhbmRsZXIsICZyZWplY3RI
YW5kbGVyKTsKKworICAgIC8vIERyaXZlIFJ1bkxvb3AgdW50aWwgd2UgZ2V0IGVpdGhlciBvZiAi
V29ya2VyIGlzIHRlcm1pbmF0ZWQiLCAiTG9hZGluZyBpcyBkb25lIiwgb3IgIkxvYWRpbmcgaXMg
ZmFpbGVkIi4KKyAgICBXb3JrZXJSdW5Mb29wJiBydW5Mb29wID0gbV93b3JrZXJHbG9iYWxTY29w
ZS0+dGhyZWFkKCkucnVuTG9vcCgpOworICAgIFN0cmluZyBtb2RlID0gbWFrZVN0cmluZygibG9h
ZE1vZHVsZVN5bmNocm9ub3VzbHkiLCBydW5Mb29wLmNyZWF0ZVVuaXF1ZUlkKCkpOworCisgICAg
TWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2
ZWQ7CisgICAgd2hpbGUgKCghbW9kdWxlU2NyaXB0UmVmLT5pc0xvYWRlZCgpIHx8ICFtb2R1bGVT
Y3JpcHRSZWYtPndhc0NhbmNlbGVkKCkpICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5h
dGVkKQorICAgICAgICByZXN1bHQgPSBydW5Mb29wLnJ1bkluTW9kZShtX3dvcmtlckdsb2JhbFNj
b3BlLCBtb2RlKTsKKworICAgIC8vIEZJWE1FOiBDdXJyZW50bHkgd2UgYXJlIG5vdCBvZmZlcmlu
ZyBjYW5jZWxsaW5nLgorICAgIC8vIGlmICghbG9hZGVyLT5kb25lKCkgJiYgcmVzdWx0ID09IE1l
c3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpCisgICAgLy8gICAgIGxvYWRlci0+Y2FuY2VsKCk7CisKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShMb2FkYWJsZU1vZHVsZVNjcmlwdCYgbW9kdWxlU2Ny
aXB0LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVybmVk
RXhjZXB0aW9uTWVzc2FnZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBs
ZXhpY2FsR2xvYmFsT2JqZWN0ID0gKm1fd29ya2VyR2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOwor
ICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIg
bG9jayB7IHZtIH07CisKKyAgICBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4gcmV0dXJuZWRFeGNl
cHRpb247CisgICAgSlNFeGVjU3RhdGU6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShsZXhpY2FsR2xv
YmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCBtb2R1bGVTY3JpcHQubW9kdWxlS2V5
KCkpLCBqc1VuZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgaWYgKChyZXR1cm5l
ZEV4Y2VwdGlvbiAmJiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVk
RXhjZXB0aW9uKSkgfHwgaXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgIGZvcmJp
ZEV4ZWN1dGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJldHVybmVk
RXhjZXB0aW9uKSB7CisgICAgICAgIGlmIChtX3dvcmtlckdsb2JhbFNjb3BlLT5jYW5JbmNsdWRl
RXJyb3JEZXRhaWxzKHNvdXJjZUNvZGUuY2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJsKCku
c3RyaW5nKCkpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0
aGlzIGNhbiBydW4gYXJiaXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhl
IGV4Y2VwdGlvbi4KKyAgICAgICAgICAgIC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8g
aGFuZGxlIHRoYXQgcHJvcGVybHksIGlmIGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlv
bj8KKyAgICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAg
ICAgICAgKnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1
ZSgpLnRvV1RGU3RyaW5nKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIC8vIE92ZXJ3cml0ZSB0aGUgZGV0YWlsZWQgZXJyb3Igd2l0aCBhIGdlbmVy
aWMgZXJyb3IuCisgICAgICAgICAgICBTdHJpbmcgZ2VuZXJpY0Vycm9yTWVzc2FnZSB7ICJTY3Jp
cHQgZXJyb3IuIl9zIH07CisgICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb25NZXNzYWdl
KQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBnZW5lcmljRXJy
b3JNZXNzYWdlOworICAgICAgICAgICAgcmV0dXJuZWRFeGNlcHRpb24gPSBKU0M6OkV4Y2VwdGlv
bjo6Y3JlYXRlKHZtLCBjcmVhdGVFcnJvcigmbGV4aWNhbEdsb2JhbE9iamVjdCwgZ2VuZXJpY0Vy
cm9yTWVzc2FnZSkpOworICAgICAgICB9CisgICAgfQorfQorCisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5hbWUgSlNHbG9iYWxTY29wZSwgdHlwZW5h
bWUgR2xvYmFsU2NvcGU+CiB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6Omlu
aXRTY3JpcHRXaXRoU3ViY2xhc3MoKQogewogICAgIEFTU0VSVCghbV9nbG9iYWxTY29wZVdyYXBw
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRT
Y3JpcHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xl
dFNjcmlwdENvbnRyb2xsZXIuaAppbmRleCBjNDkzMDFhZWQzZGQwODlkYTc5NzMyNzYwY2FmMmY3
YjY0ZGIxMWI2Li5mZjFhODlhMjNkZjVmMWIwOTBiNjg4Yjk1MDAwMmQ0NTJmY2VlMTdlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlw
dENvbnRyb2xsZXIuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTUnVuTG9vcFRpbWVyLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3
dGYvTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9NZXNzYWdlUXVldWUuaD4KICNpbmNsdWRlIDx3dGYv
TmFrZWRQdHIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NCw2ICs0NSw3IEBAIGNsYXNzIEpT
R2xvYmFsT2JqZWN0OwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBKU0RPTUdsb2JhbE9i
amVjdDsKK2NsYXNzIExvYWRhYmxlTW9kdWxlU2NyaXB0OwogY2xhc3MgU2NyaXB0U291cmNlQ29k
ZTsKIGNsYXNzIFdvcmtlckNvbnNvbGVDbGllbnQ7CiBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZTsKQEAgLTk0LDYgKzk2LDkgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29u
dHJvbGxlciB7CiAgICAgdm9pZCBldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgU3Ry
aW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKICAgICB2b2lkIGV2YWx1
YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4mIHJl
dHVybmVkRXhjZXB0aW9uLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxw
dHIpOwogCisgICAgdm9pZCBsaW5rQW5kRXZhbHVhdGVNb2R1bGUoTG9hZGFibGVNb2R1bGVTY3Jp
cHQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVybmVk
RXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQg
bG9hZE1vZHVsZVN5bmNocm9ub3VzbHkoTG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3Jp
cHRTb3VyY2VDb2RlJik7CisKIHByb3RlY3RlZDoKICAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZSogZ2xvYmFsU2NvcGUoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbFNjb3BlOyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMyMjYxOWU2
ZWU3ZTYxNmE4YmRlMThiZDU1MmE1NzgzLi44NzkwMTE5YzE3NjIyNGUyOTEzMjc2ODc0OGRhMWVh
MDU1MzU1MWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0y
OCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKICNpbmNsdWRlICJJREJD
b25uZWN0aW9uUHJveHkuaCIKKyNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIgogI2lu
Y2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgog
I2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCkBAIC01NSw2ICs1Niw4IEBAIFdvcmtlclBhcmFt
ZXRlcnMgV29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICAgICAgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LAogICAgICAgICB0aW1lT3Jp
Z2luLAogICAgICAgICByZWZlcnJlclBvbGljeSwKKyAgICAgICAgd29ya2VyVHlwZSwKKyAgICAg
ICAgY3JlZGVudGlhbHMsCiAgICAgICAgIHNldHRpbmdzVmFsdWVzLmlzb2xhdGVkQ29weSgpCiAg
ICAgfTsKIH0KQEAgLTEyMyw5ICsxMjYsMzIgQEAgYm9vbCBXb3JrZXJUaHJlYWQ6OnNob3VsZFdh
aXRGb3JXZWJJbnNwZWN0b3JPblN0YXJ0dXAoKSBjb25zdAogCiB2b2lkIFdvcmtlclRocmVhZDo6
ZXZhbHVhdGVTY3JpcHRJZk5lY2Vzc2FyeShTdHJpbmcmIGV4Y2VwdGlvbk1lc3NhZ2UpCiB7Ci0g
ICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9z
dGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRV
UkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOwotCi0gICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0
KCk7CisgICAgLy8gV2UgYXJlIGN1cnJlbnRseSBob2xkaW5nIG9ubHkgdGhlIGluaXRpYWwgc2Ny
aXB0IGNvZGUuIElmIHRoZSBXb3JrZXJUeXBlIGlzIE1vZHVsZSwgd2Ugc2hvdWxkIGZldGNoIHRo
ZSBlbnRpcmUgZ3JhcGggYmVmb3JlIGV4ZWN1dGluZyB0aGUgcmVzdCBvZiB0aGlzLgorICAgIC8v
IFdlIGludm9rZSBtb2R1bGUgbG9hZGVyIGFzIGlmIHdlIGFyZSBleGVjdXRpbmcgaW5saW5lIG1v
ZHVsZSBzY3JpcHQgdGFnIGluIERvY3VtZW50LgorCisgICAgaWYgKG1fc3RhcnR1cERhdGEtPnBh
cmFtcy53b3JrZXJUeXBlID09IFdvcmtlclR5cGU6OkNsYXNzaWMpIHsKKyAgICAgICAgZ2xvYmFs
U2NvcGUoKS0+c2NyaXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0
YS0+c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4
Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICAvLyBGSVhNRSBjcm9zc09yaWdpbiBtb2RlIHNob3VsZCBiZSBj
b252ZXJ0ZWQuCisgICAgICAgIC8vIEZJWE1FIGZpeCBpbml0aWF0b3IgbmFtZS4KKyAgICAgICAg
Ly8gRklYTUUgcGFzcyBVUkwgdG8gbW9kdWxlIGxvYWRlci4KKyAgICAgICAgZGF0YUxvZ0xuKCJX
T1JLRVIgTU9EVUxFIik7CisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZShtX3N0
YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlwdFVS
TCkpOworICAgICAgICBhdXRvIG1vZHVsZVNjcmlwdCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0Ojpj
cmVhdGUoZW1wdHlTdHJpbmcoKSwgZW1wdHlTdHJpbmcoKSwgbV9zdGFydHVwRGF0YS0+cGFyYW1z
LnJlZmVycmVyUG9saWN5LCBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6ZGVmYXVs
dENyb3NzT3JpZ2luTW9kZUZvck1vZHVsZSwgZW1wdHlTdHJpbmcoKSwgZW1wdHlBdG9tKCksIGZh
bHNlKTsKKyAgICAgICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCByZXN1bHQgPSBnbG9iYWxTY29w
ZSgpLT5zY3JpcHQoKS0+bG9hZE1vZHVsZVN5bmNocm9ub3VzbHkobW9kdWxlU2NyaXB0LmdldCgp
LCBzb3VyY2VDb2RlKTsKKyAgICAgICAgZGF0YUxvZ0xuKCJXT1JLRVIgTU9EVUxFIEZFVENIRUQi
KTsKKyAgICAgICAgaWYgKHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKSB7CisgICAg
ICAgICAgICBpZiAoIW1vZHVsZVNjcmlwdC0+ZXJyb3IoKSAmJiAhbW9kdWxlU2NyaXB0LT53YXND
YW5jZWxlZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gRXZhbHVhdGUuCisgICAgICAgICAgICAg
ICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShtb2R1bGVT
Y3JpcHQuZ2V0KCksIHNvdXJjZUNvZGUsICZleGNlcHRpb25NZXNzYWdlKTsKKyAgICAgICAgICAg
ICAgICBkYXRhTG9nTG4oIldPUktFUiBNT0RVTEUgRVZBTFVBVEVEIik7CisgICAgICAgICAgICAg
ICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgIC8vIEZJWE1FIFRocm93IGFuIGVycm9yLgorICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQogCiAgICAgLy8gRnJlZSB0aGUgc3RhcnR1cCBkYXRhIHRvIGNhdXNlIGl0
cyBtZW1iZXIgdmFyaWFibGUgZGVyZWYncyBoYXBwZW4gb24gdGhlIHdvcmtlcidzIHRocmVhZCAo
c2luY2UKICAgICAvLyBhbGwgcmVmL2RlcmVmcyBvZiB0aGVzZSBvYmplY3RzIGFyZSBoYXBwZW5p
bmcgb24gdGhlIHRocmVhZCBhdCB0aGlzIHBvaW50KS4gTm90ZSB0aGF0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuaAppbmRleCA4ODkwNzkwOGU3YTliODA5ZThmMmE0ZTQ3M2Q3NTJk
MTFkMjkzN2MwLi45NTEyZWZkYjE4ZjMyYTUwZWNiN2ZiNTY5NTlkNjFlODg3MmZhMWQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKQEAgLTI2LDcgKzI2LDEwIEBACiAjcHJh
Z21hIG9uY2UKIAogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cy5oIgorI2luY2x1ZGUgIkZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiV29y
a2VyT3JXb3JrbGV0VGhyZWFkLmgiCisjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgorI2luY2x1
ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3Mu
aD4KICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNjMsNiArNjYs
OCBAQCBzdHJ1Y3QgV29ya2VyUGFyYW1ldGVycyB7CiAgICAgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
OwogICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5OworICAgIFdvcmtlclR5cGUgd29y
a2VyVHlwZTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFsczsKICAgICBT
ZXR0aW5nczo6VmFsdWVzIHNldHRpbmdzVmFsdWVzOwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBp
c29sYXRlZENvcHkoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKaW5kZXggYzhh
N2E5OTcyZjljYzhjMTZhNzk2NzUxMTU1MmY1NDkzYTY4NmY5OC4uMzNjYTBlYzIzYjU4YTU1MTE4
NzY4NDZiYTA3MTgzNTMyYjVjNDdkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKQEAg
LTczLDggKzczLDkgQEAgY2xhc3MgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkgOiBwdWJs
aWMgV29ya2VyT2JqZWN0UHJveHkgewogLy8gRklYTUU6IFVzZSBhIHZhbGlkIFdvcmtlck9iamVj
dFByb3h5CiAvLyBGSVhNRTogVXNlIHZhbGlkIHJ1bnRpbWUgZmxhZ3MKIAorLy8gRklYTUU6IFVz
ZSBhIHZhbGlkIFdvcmtlclR5cGUgYW5kIENyZWRlbnRhaWxzIGZvciBtb2R1bGUgc2VydmljZSB3
b3JrZXJzLgogU2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZChjb25zdCBT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIFN0cmluZyYmIHVzZXJBZ2VudCwgY29uc3Qg
U2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMsIFdvcmtlckxvYWRlclByb3h5JiBsb2Fk
ZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94eSwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNv
Y2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKHsgZGF0YS5zY3JpcHRVUkwsIGVtcHR5
U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9y
eTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRl
Z2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLmNvbnRlbnRTZWN1cml0
eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6Om5vdygpLCB7IH0sIHNldHRpbmdzVmFsdWVz
IH0sIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNl
V29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1h
bCwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0
KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdz
OjpjcmVhdGVBbGxFbmFibGVkKCkpCisgICAgOiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVS
TCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmll
cnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZv
cm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVu
dFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgV29ya2Vy
VHlwZTo6Q2xhc3NpYywgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4sIHNldHRp
bmdzVmFsdWVzIH0sIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVt
bXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1v
ZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3Jp
Z2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVu
dGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpCiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRl
ZENvcHkoKSkKICAgICAsIG1fd29ya2VyT2JqZWN0UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHk6OnNoYXJlZCgpKQogICAgICwgbV9oZWFydEJlYXRUaW1lb3V0KFNXQ29udGV4dE1h
bmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rpb24oKS0+c2hvdWxkVXNlU2hvcnRUaW1lb3V0KCkg
PyBoZWFydEJlYXRUaW1lb3V0Rm9yVGVzdCA6IGhlYXJ0QmVhdFRpbWVvdXQpCg==
</data>
<flag name="commit-queue"
          id="437830"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419565</attachid>
            <date>2021-02-08 01:52:58 -0800</date>
            <delta_ts>2021-02-09 03:04:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210208015257.patch</filename>
            <type>text/plain</type>
            <size>29732</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZlNjA0YWRhNjJiNWRm
MmIzMzA0MTk0ZTc2ZGNkNzNjMzdjN2E3NC4uYzI3ZTdmNWQ0ODJiYTI2OTkyYWY2MDE1MzE4NzY5
ZmJiOGQ5YmRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTAyLTA4ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBX
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJs
ZU1vZHVsZVNjcmlwdDo6bG9hZCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0xvYWRhYmxlTW9k
dWxlU2NyaXB0Lmg6CisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVsZVNjcmlwdCk6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpXb3JrZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZVByb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9i
YWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9ub3VzbHkpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bGlua0Fu
ZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlw
dENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRlZENvcHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0ZVNjcmlwdElmTmVjZXNzYXJ5KToK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZCk6CisKIDIwMjEtMDItMDcg
IExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihy
MjcyMzc5KSBbV1BFXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxh
dGlvbnMvY3NzLXN0eWxpbmcvbWF0aHZhcmlhbnQgdGVzdHMgYXJlIEltYWdlIEZhaWxpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCmluZGV4IDlhMjVjMTY1
ODhlZWNhZDY3OGZiOTExZWM4NjIyZjQyNDI1OTJiNWEuLjQ4ZWMwODUxYTQ1N2Q5YmE0NzQ3M2Zl
YzI4ZDdiNDkzMTJiNzg4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJs
ZU1vZHVsZVNjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmNwcApAQCAtODgsMTYgKzg4LDQgQEAgdm9pZCBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6
ZXhlY3V0ZShTY3JpcHRFbGVtZW50JiBzY3JpcHRFbGVtZW50KQogICAgIHNjcmlwdEVsZW1lbnQu
ZXhlY3V0ZU1vZHVsZVNjcmlwdCgqdGhpcyk7CiB9CiAKLXZvaWQgTG9hZGFibGVNb2R1bGVTY3Jp
cHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwmIHJvb3RVUkwpCi17Ci0gICAg
aWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAgZnJhbWUtPnNjcmlw
dCgpLmxvYWRNb2R1bGVTY3JpcHQoKnRoaXMsIHJvb3RVUkwuc3RyaW5nKCksIG1fcGFyYW1ldGVy
cy5jb3B5UmVmKCkpOwotfQotCi12b2lkIExvYWRhYmxlTW9kdWxlU2NyaXB0Ojpsb2FkKERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSkKLXsKLSAg
ICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+c2Ny
aXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgc291cmNlQ29kZSk7Ci19Ci0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgKaW5kZXggYmI3OTk1NGQ3Yjk5YjBl
ZDA2YmZlNTVlZjg1NGVjY2UyMWYzNTg3Ny4uZDI1MzU5NjNmNjQ4YjAyYThhMDFmZDYzYmIxZTM4
MTM4NmNlZTQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgK
QEAgLTUwLDE1ICs1MCwxNCBAQCBjbGFzcyBMb2FkYWJsZU1vZHVsZVNjcmlwdCBmaW5hbCA6IHB1
YmxpYyBMb2FkYWJsZVNjcmlwdCB7CiAKICAgICB2b2lkIHNldEVycm9yKEVycm9yJiYpOwogCi0g
ICAgdm9pZCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiByb290VVJMKTsKLSAgICB2b2lkIGxv
YWQoRG9jdW1lbnQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7Ci0KICAgICB2b2lkIG5vdGlm
eUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmluZ0ltcGwmKTsKICAgICB2b2lkIG5vdGlmeUxvYWRG
YWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yJiYpOwogICAgIHZvaWQgbm90aWZ5TG9hZFdhc0Nh
bmNlbGVkKCk7CiAKICAgICBVbmlxdWVkU3RyaW5nSW1wbCogbW9kdWxlS2V5KCkgY29uc3QgeyBy
ZXR1cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0KIAorICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyYg
cGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQorCiBwcml2YXRlOgog
ICAgIExvYWRhYmxlTW9kdWxlU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmlu
ZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1v
ZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFt
ZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
bGVtZW50LmNwcAppbmRleCAwNTc1OGI2MDBjNzUyMmI0N2YzNjRiYTZhMThkMzVmMTczMTEwN2Y5
Li41ZTk5ZjBmNTc3N2IzYjIxNThkZDBmYTRiYzM4Mjc3NmNkYjM0ODEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiTG9hZGFi
bGVDbGFzc2ljU2NyaXB0LmgiCiAjaW5jbHVkZSAiTG9hZGFibGVNb2R1bGVTY3JpcHQuaCIKICNp
bmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzLmgiCiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oIgogI2luY2x1ZGUgIlNWR1NjcmlwdEVsZW1lbnQuaCIKQEAgLTM1MSw4
ICszNTIsMTEgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxlU2NyaXB0KGNvbnN0
IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbikKICAgICAgICAgICAgIHNjcmlwdENo
YXJzZXQoKSwKICAgICAgICAgICAgIG1fZWxlbWVudC5sb2NhbE5hbWUoKSwKICAgICAgICAgICAg
IG1fZWxlbWVudC5pc0luVXNlckFnZW50U2hhZG93VHJlZSgpKTsKLSAgICAgICAgc2NyaXB0LT5s
b2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBtb2R1bGVTY3JpcHRSb290VVJMKTsKICAgICAgICAg
bV9sb2FkYWJsZVNjcmlwdCA9IFdURk1vdmUoc2NyaXB0KTsKKyAgICAgICAgaWYgKGF1dG8qIGZy
YW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkgeworICAgICAgICAgICAgYXV0byYg
c2NyaXB0ID0gZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVTY3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0
LmdldCgpKTsKKyAgICAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KHNj
cmlwdCwgbW9kdWxlU2NyaXB0Um9vdFVSTC5zdHJpbmcoKSwgbWFrZVJlZihzY3JpcHQucGFyYW1l
dGVycygpKSk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC0z
NjcsOCArMzcxLDkgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxlU2NyaXB0KGNv
bnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbikKICAgICBpZiAoIWNvbnRlbnRT
ZWN1cml0eVBvbGljeS5hbGxvd0lubGluZVNjcmlwdChtX2VsZW1lbnQuZG9jdW1lbnQoKS51cmwo
KS5zdHJpbmcoKSwgbV9zdGFydExpbmVOdW1iZXIsIHNvdXJjZUNvZGUuc291cmNlKCkudG9TdHJp
bmdXaXRob3V0Q29weWluZygpLCBoYXNLbm93bk5vbmNlKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgc2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBzb3VyY2VDb2RlKTsK
ICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAgIGlmIChhdXRvKiBm
cmFtZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmZyYW1lKCkpCisgICAgICAgIGZyYW1lLT5zY3Jp
cHQoKS5sb2FkTW9kdWxlU2NyaXB0KGRvd25jYXN0PExvYWRhYmxlTW9kdWxlU2NyaXB0PigqbV9s
b2FkYWJsZVNjcmlwdC5nZXQoKSksIHNvdXJjZUNvZGUpOwogICAgIHJldHVybiB0cnVlOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggNjJmOTE3YTM2NzgxOWRlYzNjZDQxMGQ5
NzY2OTVjZWU2MmY2ZDRiOS4uN2MyMjQ5YTNhMmFmOTUxODIzYWU3OTk1ZWMxMzcxYWRmYmIxNGFh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtNzAsNiArNzAsOCBAQCBpbmxpbmUg
V29ya2VyOjpXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdW50
aW1lRmxhZ3MgcnVudGltZQogICAgICwgbV9pZGVudGlmaWVyKCJ3b3JrZXI6IiArIEluc3BlY3Rv
cjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCkpCiAgICAgLCBtX2NvbnRl
eHRQcm94eShXb3JrZXJHbG9iYWxTY29wZVByb3h5OjpjcmVhdGUoKnRoaXMpKQogICAgICwgbV9y
dW50aW1lRmxhZ3MocnVudGltZUZsYWdzKQorICAgICwgbV90eXBlKG9wdGlvbnMudHlwZSkKKyAg
ICAsIG1fY3JlZGVudGlhbHMob3B0aW9ucy5jcmVkZW50aWFscykKIHsKICAgICBzdGF0aWMgYm9v
bCBhZGRlZExpc3RlbmVyOwogICAgIGlmICghYWRkZWRMaXN0ZW5lcikgewpAQCAtMTEzLDEwICsx
MTUsMTMgQEAgRXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IFdvcmtlcjo6Y3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEpTQzo6UnUKIAogICAgIEZldGNoT3B0aW9ucyBmZXRj
aE9wdGlvbnM7CiAgICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNh
bWVPcmlnaW47CisgICAgaWYgKHdvcmtlci0+bV90eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSkK
KyAgICAgICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gd29ya2VyLT5tX2NyZWRlbnRpYWxz
OwogICAgIGZldGNoT3B0aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1bHQ7
CiAgICAgZmV0Y2hPcHRpb25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6Rm9s
bG93OwogICAgIGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiA9IEZldGNoT3B0aW9uczo6RGVzdGlu
YXRpb246OldvcmtlcjsKLSAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9u
b3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBj
b250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGws
IHdvcmtlcik7CisgICAgd29ya2VyLT5tX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5
KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0Y2hPcHRpb25zKSwgY29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCB3b3Jr
ZXIuZ2V0KCkpOworCiAgICAgcmV0dXJuIHdvcmtlcjsKIH0KIApAQCAtMjE1LDcgKzIyMCw3IEBA
IHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJy
ZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiAgICAgaWYgKGF1dG8gcG9s
aWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRlci0+cmVmZXJyZXJQb2xpY3ko
KSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQogICAgICAgICByZWZlcnJlclBv
bGljeSA9ICpwb2xpY3k7Ci0gICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29w
ZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2Ny
aXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBv
bGljeSwgbV9ydW50aW1lRmxhZ3MpOworICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29ya2VyR2xv
YmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2Vu
dChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlw
dCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVm
ZXJyZXJQb2xpY3ksIG1fdHlwZSwgbV9jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2Ny
aXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5oCmluZGV4IDUzZjVlNmZmZjI3YzlmYTNlNWMwZTAxZjBmNmM0
MmM2Y2I2ZjlkMGUuLjM4YTYyM2E5OGRiYTM1ZmY4MDEzY2Q2ZmM4Yzg1YzgxMDIwNTAyMTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaApAQCAtMjksOSArMjksMTEgQEAKICNpbmNsdWRlICJBY3Rp
dmVET01PYmplY3QuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIkZldGNoUmVxdWVz
dENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJQb3N0
TWVzc2FnZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIK
KyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGlt
ZUZsYWdzLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KQEAgLTU1LDYgKzU3LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGlj
IEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdvcmtlcik7CiBwdWJsaWM6CiAgICAgc3RydWN0IE9w
dGlvbnMgeworICAgICAgICBXb3JrZXJUeXBlIHR5cGU7CisgICAgICAgIEZldGNoUmVxdWVzdENy
ZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwogICAgICAgICBTdHJpbmcgbmFtZTsKICAgICB9OwogICAg
IHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IE9wdGlv
bnMmKTsKQEAgLTc5LDYgKzgzLDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3Ry
YWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAgICB2b2lk
IHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmKT4mJik7CiAjZW5kaWYKIAorICAgIFdvcmtlclR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdvcmtlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IE9wdGlvbnMmKTsKIApA
QCAtMTEyLDYgKzExOCw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdv
cmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBXb3JrCiAjaWYgRU5BQkxFKFdF
Ql9SVEMpCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fdHJhbnNmb3JtZXJzOwogI2VuZGlmCisgICAg
V29ya2VyVHlwZSBtX3R5cGUgeyBXb3JrZXJUeXBlOjpDbGFzc2ljIH07CisgICAgRmV0Y2hSZXF1
ZXN0Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFscyB7IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpT
YW1lT3JpZ2luIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlci5pZGwKaW5kZXggNDVkNmEwODY3ODU0ZWU0MDRkZTdlN2QwMTI0OGNlYmY0NGRjYTdl
ZC4uNzAyMTc5NmRmNTA0YWRmOGU2Yjk1ODlhY2U5ZjE0NDgyMWYyOTVmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmlkbApAQCAtMzgsNiArMzgsOCBAQAogfTsKIAogZGljdGlvbmFyeSBXb3Jr
ZXJPcHRpb25zIHsKKyAgICBXb3JrZXJUeXBlIHR5cGUgPSAiY2xhc3NpYyI7CisgICAgRmV0Y2hS
ZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMgPSAic2FtZS1vcmlnaW4iOyAvLyBjcmVkZW50
aWFscyBpcyBvbmx5IHVzZWQgaWYgdHlwZSBpcyAibW9kdWxlIgogICAgIERPTVN0cmluZyBuYW1l
ID0gIiI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGVQcm94eS5oCmluZGV4IDQwMDAzYzNlMDEwOTk5NjBmNjQ3ODYxZTcwMTY4N2QwZTM3MWQ3MmQu
LjdiOTFkNzUzZDFjOWQ3MjlhZTUwODY1NGMyZTg1Zjc2NzkxZTAwOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC00OCw3ICs0OCw3
IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlUHJveHkgewogcHVibGljOgogICAgIHN0YXRpYyBX
b3JrZXJHbG9iYWxTY29wZVByb3h5JiBjcmVhdGUoV29ya2VyJik7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxh
Z3MpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBV
UkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJl
clBvbGljeSwgV29ya2VyVHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBj
cmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVy
bWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNz
YWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lk
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCAxOWQ0YmU2NDk5MmYzMGQzY2Nl
NzY1NDdhM2QyMjE4YTk4Yzg0MmMzLi43ODgzNTg3YTdhZjYyMDllM2VjYzhlN2I0MWJhZDQ3YWRm
NjIyNDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmNwcApAQCAtNzMsNyArNzMsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1l
c3NhZ2luZ1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVu
dCgpKSk7CiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFs
U2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
IHJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdv
cmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgV29y
a2VyVHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywg
SlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5l
ZWQgdG8gYmUgcmV2aXNpdGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkK
ICAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKQEAgLTg5LDcgKzg5LDcgQEAg
dm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBV
UkwmIHNjcmlwdFVSTCwgY29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92
aWRlciA9IGRvY3VtZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0ZXJz
IHBhcmFtcyA9IHsgc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25s
aW5lLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ks
IGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCkgfTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFt
cyA9IHsgc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtl
clR5cGUsIGNyZWRlbnRpYWxzLCBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpIH07CiAgICAgYXV0
byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNv
ZGUsICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgZG9jdW1lbnQudG9wT3JpZ2luKCks
IHByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVh
ZENyZWF0ZWQodGhyZWFkLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaAppbmRleCBjNWI1NzViOWU2MTViM2YzZjU5NmJmYzNkZjY4M2M4Nzdj
YzYyYmFiLi4yZTIzMTY5ZjA3OTNmMGRjZjgwOGE5YmNmYjU4ZTZjOTA4YzZjYzkxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01MCw3ICs1
MCw3IEBAIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5IGZpbmFsIDogcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPFdvcmtlck1lc3NhZ2luZ1ByCiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVu
dGF0aW9ucyBvZiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVz
ZSBmdW5jdGlvbnMgaW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSBmaW5h
bDsKKyAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkws
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtl
clR5cGUgd29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIEpT
Qzo6UnVudGltZUZsYWdzKSBmaW5hbDsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2JhbFNj
b3BlKCkgZmluYWw7CiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2NvcGUoTWVz
c2FnZVdpdGhNZXNzYWdlUG9ydHMmJikgZmluYWw7CiAgICAgdm9pZCBwb3N0VGFza1RvV29ya2Vy
R2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpIGZp
bmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRT
Y3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0U2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggY2Q0ZWMyNDY4MjUyNWFhYmM2NDJkODc3YTBk
YTAxMWViZGUxMTQzMS4uNzNkM2U5NmQ4MGI1ZTJlYzAyNWU2ZWYwNjJkYzk5YTg4NTRkMWY1ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRD
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xl
dFNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zNSw2ICszNSw5IEBACiAjaW5jbHVkZSAiSlNFeGVj
U3RhdGUuaCIKICNpbmNsdWRlICJKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5jbHVk
ZSAiSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRlICJMb2FkYWJsZU1vZHVs
ZVNjcmlwdC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCIKKyNpbmNsdWRl
ICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgi
CiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckNvbnNv
bGVDbGllbnQuaCIKQEAgLTQzLDcgKzQ2LDExIEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
RXhjZXB0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXhjZXB0aW9uSGVscGVycy5o
PgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0dDQWN0aXZpdHlDYWxsYmFjay5oPgorI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNlLmg+CiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNMb2NrLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNOYXRpdmVTdGRG
dW5jdGlvbi5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hQYXJhbWV0
ZXJzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRjaGVyLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC0yMjgsNyArMjM1LDEyNCBAQCB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZAogICAgIH0K
IH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5hbWUg
SlNHbG9iYWxTY29wZSwgdHlwZW5hbWUgR2xvYmFsU2NvcGU+CitzdGF0aWMgSWRlbnRpZmllciBq
c1ZhbHVlVG9Nb2R1bGVLZXkoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VmFsdWUgdmFsdWUpCit7CisgICAgaWYgKHZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVy
biBJZGVudGlmaWVyOjpmcm9tVWlkKGpzQ2FzdDxTeW1ib2wqPih2YWx1ZSktPnByaXZhdGVOYW1l
KCkpOworICAgIEFTU0VSVCh2YWx1ZS5pc1N0cmluZygpKTsKKyAgICByZXR1cm4gYXNTdHJpbmco
dmFsdWUpLT50b0lkZW50aWZpZXIobGV4aWNhbEdsb2JhbE9iamVjdCk7Cit9CisKK01lc3NhZ2VR
dWV1ZVdhaXRSZXN1bHQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVs
ZVN5bmNocm9ub3VzbHkoTG9hZGFibGVNb2R1bGVTY3JpcHQmIG1vZHVsZVNjcmlwdCwgY29uc3Qg
U2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3Ji
aWRkZW4oKSkKKyAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQ7CisKKyAgICBp
bml0U2NyaXB0SWZOZWVkZWQoKTsKKworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2Jh
bFNjb3BlV3JhcHBlci5nZXQoKTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAg
ICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisKKyAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVj
U3RhdGU6OmxvYWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgp
LCBKU0M6OkpTU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCB7ICZtb2R1bGVTY3JpcHQgfSkpOwor
CisgICAgUmVmUHRyPExvYWRhYmxlTW9kdWxlU2NyaXB0PiBtb2R1bGVTY3JpcHRSZWYoJm1vZHVs
ZVNjcmlwdCk7CisKKyAgICBhdXRvJiBmdWxmaWxsSGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0
aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbbW9kdWxlU2NyaXB0
UmVmXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkg
LT4gSlNDOjpFbmNvZGVkSlNWYWx1ZSB7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmpl
Y3QtPnZtKCk7CisgICAgICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisgICAgICAgICAgICBJZGVudGlmaWVyIG1vZHVsZUtleSA9IGpzVmFsdWVUb01vZHVsZUtl
eShnbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+YXJndW1lbnQoMCkpOworICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAgICAgIG1vZHVsZVNjcmlwdFJl
Zi0+bm90aWZ5TG9hZENvbXBsZXRlZCgqbW9kdWxlS2V5LmltcGwoKSk7CisgICAgICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgfSk7CisK
KyAgICBhdXRvJiByZWplY3RIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNyZWF0ZSh2
bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFttb2R1bGVTY3JpcHRSZWZdKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSB7CisgICAgICAgICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAgICAgICBKU1ZhbHVlIGVycm9y
VmFsdWUgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgICAgICAgICAgaWYgKGVycm9yVmFs
dWUuaXNPYmplY3QoKSkgeworICAgICAgICAgICAgYXV0byogb2JqZWN0ID0gSlNDOjphc09iamVj
dChlcnJvclZhbHVlKTsKKyAgICAgICAgICAgIGlmIChKU1ZhbHVlIGZhaWx1cmVLaW5kVmFsdWUg
PSBvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEmPigqdm0u
Y2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFpbHVyZUtpbmRQcml2YXRlTmFtZSgpKSkgewor
ICAgICAgICAgICAgLy8gVGhpcyBpcyBob3N0IHByb3BhZ2F0ZWQgZXJyb3IgaW4gdGhlIG1vZHVs
ZSBsb2FkZXIgcGlwZWxpbmUuCisgICAgICAgICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PE1vZHVs
ZUZldGNoRmFpbHVyZUtpbmQ+KGZhaWx1cmVLaW5kVmFsdWUuYXNJbnQzMigpKSkgeworICAgICAg
ICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAgICAgICAg
ICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJv
ciB7CisgICAgICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hl
ZFNjcmlwdCwKKyAgICAgICAgICAgICAgICAgICAgV1RGOjpudWxsb3B0CisgICAgICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIE1vZHVsZUZl
dGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkOgorICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVm
LT5ub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5u
b3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAg
ICAgIExvYWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hlZFNjcmlwdCwKKyAgICAgICAgICAg
ICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkNvbnNvbGVNZXNzYWdlIHsKKyAgICAgICAgICAgICAg
ICAgICAgTWVzc2FnZVNvdXJjZTo6SlMsCisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZl
bDo6RXJyb3IsCisgICAgICAgICAgICAgICAgICAgIHJldHJpZXZlRXJyb3JNZXNzYWdlKCpnbG9i
YWxPYmplY3QsIHZtLCBlcnJvclZhbHVlLCBzY29wZSksCisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOworICAgIH0pOworCisgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxP
YmplY3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRsZXIpOworCisgICAgLy8gRHJpdmUg
UnVuTG9vcCB1bnRpbCB3ZSBnZXQgZWl0aGVyIG9mICJXb3JrZXIgaXMgdGVybWluYXRlZCIsICJM
b2FkaW5nIGlzIGRvbmUiLCBvciAiTG9hZGluZyBpcyBmYWlsZWQiLgorICAgIFdvcmtlclJ1bkxv
b3AmIHJ1bkxvb3AgPSBtX2dsb2JhbFNjb3BlLT53b3JrZXJPcldvcmtsZXRUaHJlYWQoKS0+cnVu
TG9vcCgpOworICAgIFN0cmluZyBtb2RlID0gbWFrZVN0cmluZygibG9hZE1vZHVsZVN5bmNocm9u
b3VzbHkiLCBydW5Mb29wLmNyZWF0ZVVuaXF1ZUlkKCkpOworCisgICAgTWVzc2FnZVF1ZXVlV2Fp
dFJlc3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2ZWQ7CisgICAgd2hpbGUg
KCghbW9kdWxlU2NyaXB0UmVmLT5pc0xvYWRlZCgpIHx8ICFtb2R1bGVTY3JpcHRSZWYtPndhc0Nh
bmNlbGVkKCkpICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKQorICAgICAgICBy
ZXN1bHQgPSBydW5Mb29wLnJ1bkluTW9kZShtX2dsb2JhbFNjb3BlLCBtb2RlKTsKKworICAgIC8v
IEZJWE1FOiBDdXJyZW50bHkgd2UgYXJlIG5vdCBvZmZlcmluZyBjYW5jZWxsaW5nLgorICAgIC8v
IGlmICghbG9hZGVyLT5kb25lKCkgJiYgcmVzdWx0ID09IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQp
CisgICAgLy8gICAgIGxvYWRlci0+Y2FuY2VsKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQor
Cit2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1v
ZHVsZShMb2FkYWJsZU1vZHVsZVNjcmlwdCYgbW9kdWxlU2NyaXB0LCBjb25zdCBTY3JpcHRTb3Vy
Y2VDb2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSkKK3sK
KyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9i
YWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7Cisg
ICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRp
b24+IHJldHVybmVkRXhjZXB0aW9uOworICAgIEpTRXhlY1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVN
b2R1bGUoZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCBtb2R1bGVTY3JpcHQu
bW9kdWxlS2V5KCkpLCBqc1VuZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgaWYg
KChyZXR1cm5lZEV4Y2VwdGlvbiAmJiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0s
IHJldHVybmVkRXhjZXB0aW9uKSkgfHwgaXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAg
ICAgIGZvcmJpZEV4ZWN1dGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYg
KHJldHVybmVkRXhjZXB0aW9uKSB7CisgICAgICAgIGlmIChtX2dsb2JhbFNjb3BlLT5jYW5JbmNs
dWRlRXJyb3JEZXRhaWxzKHNvdXJjZUNvZGUuY2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJs
KCkuc3RyaW5nKCkpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhh
dCB0aGlzIGNhbiBydW4gYXJiaXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2Yg
dGhlIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgIC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcg
dG8gaGFuZGxlIHRoYXQgcHJvcGVybHksIGlmIGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2Vw
dGlvbj8KKyAgICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAg
ICAgICAgICAgKnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52
YWx1ZSgpLnRvV1RGU3RyaW5nKCZnbG9iYWxPYmplY3QpOworICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgLy8gT3ZlcndyaXRlIHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBl
cnJvci4KKyAgICAgICAgICAgIFN0cmluZyBnZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNjcmlwdCBl
cnJvci4iX3MgfTsKKyAgICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisg
ICAgICAgICAgICAgICAgKnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNFcnJvck1l
c3NhZ2U7CisgICAgICAgICAgICByZXR1cm5lZEV4Y2VwdGlvbiA9IEpTQzo6RXhjZXB0aW9uOjpj
cmVhdGUodm0sIGNyZWF0ZUVycm9yKCZnbG9iYWxPYmplY3QsIGdlbmVyaWNFcnJvck1lc3NhZ2Up
KTsKKyAgICAgICAgfQorICAgIH0KK30KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEpTR2xvYmFs
U2NvcGVQcm90b3R5cGUsIHR5cGVuYW1lIEpTR2xvYmFsU2NvcGUsIHR5cGVuYW1lIEdsb2JhbFNj
b3BlPgogdm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjppbml0U2NyaXB0V2l0
aFN1YmNsYXNzKCkKIHsKICAgICBBU1NFUlQoIW1fZ2xvYmFsU2NvcGVXcmFwcGVyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyLmgKaW5kZXggYzQ5MzAxYWVkM2RkMDg5ZGE3OTczMjc2MGNhZjJmN2I2NGRiMTFiNi4u
ZmYxYTg5YTIzZGY1ZjFiMDkwYjY4OGI5NTAwMDJkNDUyZmNlZTE3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVy
LmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1J1bkxvb3BU
aW1lci5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4K
KyNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL05ha2VkUHRyLmg+
CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDQsNiArNDUsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVj
dDsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFz
cyBMb2FkYWJsZU1vZHVsZVNjcmlwdDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiBjbGFzcyBX
b3JrZXJDb25zb2xlQ2xpZW50OwogY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU7CkBA
IC05NCw2ICs5Niw5IEBAIGNsYXNzIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIgewog
ICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIFN0cmluZyogcmV0dXJu
ZWRFeGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAgICAgdm9pZCBldmFsdWF0ZShjb25zdCBT
Y3JpcHRTb3VyY2VDb2RlJiwgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+JiByZXR1cm5lZEV4Y2Vw
dGlvbiwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKIAorICAg
IHZvaWQgbGlua0FuZEV2YWx1YXRlTW9kdWxlKExvYWRhYmxlTW9kdWxlU2NyaXB0JiwgY29uc3Qg
U2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1l
c3NhZ2UgPSBudWxscHRyKTsKKyAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IGxvYWRNb2R1bGVT
eW5jaHJvbm91c2x5KExvYWRhYmxlTW9kdWxlU2NyaXB0JiwgY29uc3QgU2NyaXB0U291cmNlQ29k
ZSYpOworCiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUqIGdsb2Jh
bFNjb3BlKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxTY29wZTsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggNzI3OTBhMDMzMjI2MTllNmVlN2U2MTZhOGJk
ZTE4YmQ1NTJhNTc4My4uODc5MDExOWMxNzYyMjRlMjkxMzI3Njg3NDhkYTFlYTA1NTM1NTFhYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtMjgsNiArMjgsNyBA
QAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogCiAjaW5jbHVkZSAiSURCQ29ubmVjdGlvblBy
b3h5LmgiCisjaW5jbHVkZSAiTG9hZGFibGVNb2R1bGVTY3JpcHQuaCIKICNpbmNsdWRlICJTY3Jp
cHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJT
b2NrZXRQcm92aWRlci5oIgpAQCAtNTUsNiArNTYsOCBAQCBXb3JrZXJQYXJhbWV0ZXJzIFdvcmtl
clBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgICAgIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgdGltZU9yaWdpbiwKICAgICAg
ICAgcmVmZXJyZXJQb2xpY3ksCisgICAgICAgIHdvcmtlclR5cGUsCisgICAgICAgIGNyZWRlbnRp
YWxzLAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKQogICAgIH07CiB9CkBA
IC0xMjMsOSArMTI2LDMyIEBAIGJvb2wgV29ya2VyVGhyZWFkOjpzaG91bGRXYWl0Rm9yV2ViSW5z
cGVjdG9yT25TdGFydHVwKCkgY29uc3QKIAogdm9pZCBXb3JrZXJUaHJlYWQ6OmV2YWx1YXRlU2Ny
aXB0SWZOZWNlc3NhcnkoU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKQogewotICAgIGdsb2JhbFNj
b3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEt
PnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNl
cHRpb25NZXNzYWdlKTsKLQotICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAgIC8v
IFdlIGFyZSBjdXJyZW50bHkgaG9sZGluZyBvbmx5IHRoZSBpbml0aWFsIHNjcmlwdCBjb2RlLiBJ
ZiB0aGUgV29ya2VyVHlwZSBpcyBNb2R1bGUsIHdlIHNob3VsZCBmZXRjaCB0aGUgZW50aXJlIGdy
YXBoIGJlZm9yZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2YgdGhpcy4KKyAgICAvLyBXZSBpbnZva2Ug
bW9kdWxlIGxvYWRlciBhcyBpZiB3ZSBhcmUgZXhlY3V0aW5nIGlubGluZSBtb2R1bGUgc2NyaXB0
IHRhZyBpbiBEb2N1bWVudC4KKworICAgIGlmIChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMud29ya2Vy
VHlwZSA9PSBXb3JrZXJUeXBlOjpDbGFzc2ljKSB7CisgICAgICAgIGdsb2JhbFNjb3BlKCktPnNj
cmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNv
ZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25NZXNz
YWdlKTsKKyAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgLy8gRklYTUUgY3Jvc3NPcmlnaW4gbW9kZSBzaG91bGQgYmUgY29udmVydGVkLgor
ICAgICAgICAvLyBGSVhNRSBmaXggaW5pdGlhdG9yIG5hbWUuCisgICAgICAgIC8vIEZJWE1FIHBh
c3MgVVJMIHRvIG1vZHVsZSBsb2FkZXIuCisgICAgICAgIGRhdGFMb2dMbigiV09SS0VSIE1PRFVM
RSIpOworICAgICAgICBTY3JpcHRTb3VyY2VDb2RlIHNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+
c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKTsKKyAgICAg
ICAgYXV0byBtb2R1bGVTY3JpcHQgPSBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6Y3JlYXRlKGVtcHR5
U3RyaW5nKCksIGVtcHR5U3RyaW5nKCksIG1fc3RhcnR1cERhdGEtPnBhcmFtcy5yZWZlcnJlclBv
bGljeSwgU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXI6OmRlZmF1bHRDcm9zc09yaWdp
bk1vZGVGb3JNb2R1bGUsIGVtcHR5U3RyaW5nKCksIGVtcHR5QXRvbSgpLCBmYWxzZSk7CisgICAg
ICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgcmVzdWx0ID0gZ2xvYmFsU2NvcGUoKS0+c2NyaXB0
KCktPmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KG1vZHVsZVNjcmlwdC5nZXQoKSwgc291cmNlQ29k
ZSk7CisgICAgICAgIGRhdGFMb2dMbigiV09SS0VSIE1PRFVMRSBGRVRDSEVEIik7CisgICAgICAg
IGlmIChyZXN1bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICAgICAgaWYg
KCFtb2R1bGVTY3JpcHQtPmVycm9yKCkgJiYgIW1vZHVsZVNjcmlwdC0+d2FzQ2FuY2VsZWQoKSkg
eworICAgICAgICAgICAgICAgIC8vIEV2YWx1YXRlLgorICAgICAgICAgICAgICAgIGdsb2JhbFNj
b3BlKCktPnNjcmlwdCgpLT5saW5rQW5kRXZhbHVhdGVNb2R1bGUobW9kdWxlU2NyaXB0LmdldCgp
LCBzb3VyY2VDb2RlLCAmZXhjZXB0aW9uTWVzc2FnZSk7CisgICAgICAgICAgICAgICAgZGF0YUxv
Z0xuKCJXT1JLRVIgTU9EVUxFIEVWQUxVQVRFRCIpOworICAgICAgICAgICAgICAgIGZpbmlzaGVk
RXZhbHVhdGluZ1NjcmlwdCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAvLyBGSVhNRSBUaHJvdyBhbiBlcnJvci4KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KIAogICAgIC8vIEZyZWUgdGhlIHN0YXJ0dXAgZGF0YSB0byBjYXVzZSBpdHMgbWVtYmVyIHZh
cmlhYmxlIGRlcmVmJ3MgaGFwcGVuIG9uIHRoZSB3b3JrZXIncyB0aHJlYWQgKHNpbmNlCiAgICAg
Ly8gYWxsIHJlZi9kZXJlZnMgb2YgdGhlc2Ugb2JqZWN0cyBhcmUgaGFwcGVuaW5nIG9uIHRoZSB0
aHJlYWQgYXQgdGhpcyBwb2ludCkuIE5vdGUgdGhhdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmgKaW5kZXggODg5MDc5MDhlN2E5YjgwOWU4ZjJhNGU0NzNkNzUyZDExZDI5MzdjMC4u
OTUxMmVmZGIxOGYzMmE1MGVjYjdmYjU2OTU5ZDYxZTg4NzJmYTFkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0yNiw3ICsyNiwxMCBAQAogI3ByYWdtYSBvbmNlCiAK
ICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKKyNpbmNs
dWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xl
dFRocmVhZC5oIgorI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKKyNpbmNsdWRlICJXb3JrZXJU
eXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVk
ZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KQEAgLTYzLDYgKzY2LDggQEAgc3RydWN0
IFdvcmtlclBhcmFtZXRlcnMgewogICAgIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5OwogICAgIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbjsKICAgICBSZWZl
cnJlclBvbGljeSByZWZlcnJlclBvbGljeTsKKyAgICBXb3JrZXJUeXBlIHdvcmtlclR5cGU7Cisg
ICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgU2V0dGluZ3M6OlZh
bHVlcyBzZXR0aW5nc1ZhbHVlczsKIAogICAgIFdvcmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5
KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29u
dGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IGM4YTdhOTk3MmY5Y2M4
YzE2YTc5Njc1MTE1NTJmNTQ5M2E2ODZmOTguLjMzY2EwZWMyM2I1OGE1NTExODc2ODQ2YmEwNzE4
MzUzMmI1YzQ3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9j
b250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBAIC03Myw4ICs3Myw5
IEBAIGNsYXNzIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5IDogcHVibGljIFdvcmtlck9i
amVjdFByb3h5IHsKIC8vIEZJWE1FOiBVc2UgYSB2YWxpZCBXb3JrZXJPYmplY3RQcm94eQogLy8g
RklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZsYWdzCiAKKy8vIEZJWE1FOiBVc2UgYSB2YWxpZCBX
b3JrZXJUeXBlIGFuZCBDcmVkZW50YWlscyBmb3IgbW9kdWxlIHNlcnZpY2Ugd29ya2Vycy4KIFNl
cnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtl
ckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIGNvbnN0IFNldHRpbmdzOjpW
YWx1ZXMmIHNldHRpbmdzVmFsdWVzLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFdv
cmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2VyUHJveHksIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5KiBpZGJDb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRl
cikKLSAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAi
c2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlk
ZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9h
ZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZh
bHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNj
cmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVh
ZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVn
aXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25u
ZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxs
RW5hYmxlZCgpKQorICAgIDogV29ya2VyVGhyZWFkKHsgZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3Ry
aW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6
Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2ll
cygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBv
bGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6Om5vdygpLCB7IH0sIFdvcmtlclR5cGU6OkNsYXNz
aWMsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpTYW1lT3JpZ2luLCBzZXR0aW5nc1ZhbHVlcyB9
LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdv
cmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWws
IGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgp
LCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6
Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAgICwgbV9kYXRhKGRhdGEuaXNvbGF0ZWRDb3B5KCkpCiAg
ICAgLCBtX3dvcmtlck9iamVjdFByb3h5KER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5Ojpz
aGFyZWQoKSkKICAgICAsIG1faGVhcnRCZWF0VGltZW91dChTV0NvbnRleHRNYW5hZ2VyOjpzaW5n
bGV0b24oKS5jb25uZWN0aW9uKCktPnNob3VsZFVzZVNob3J0VGltZW91dCgpID8gaGVhcnRCZWF0
VGltZW91dEZvclRlc3QgOiBoZWFydEJlYXRUaW1lb3V0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419694</attachid>
            <date>2021-02-09 03:04:39 -0800</date>
            <delta_ts>2021-02-09 20:26:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210209030438.patch</filename>
            <type>text/plain</type>
            <size>68550</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZlNjA0YWRhNjJiNWRm
MmIzMzA0MTk0ZTc2ZGNkNzNjMzdjN2E3NC4uMDNhOTdjYzllOGM2ZTAyOTEyMmNjMDVjNmNlNmMw
MmZhN2VjOWFjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgzIEBACisyMDIxLTAyLTA5ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBX
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGJpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0Nh
Y2hlZFNjcmlwdEZldGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0
Y2hlcjo6cmVxdWVzdE1vZHVsZVNjcmlwdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZWRTY3JpcHRGZXRjaGVyOjpyZXF1ZXN0U2NyaXB0V2l0aENhY2hlIGNvbnN0KToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmg6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyaXB0TW9kdWxl
TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2Fk
ZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVM
b2FkZXJGZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1v
ZHVsZUxvYWRlckltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6
bW9kdWxlTG9hZGVyUmVzb2x2ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJD
cmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9i
YWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNj
b3BlQmFzZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxlTG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OnJlc29sdmVNb2R1bGVTcGVjaWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNvbHZlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
TW9kdWxlTG9hZGVyOjptb2R1bGVVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxl
TG9hZGVyOjpyZXNwb25zZVVSTEZyb21SZXF1ZXN0VVJMKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdE1vZHVsZUxvYWRlcjo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9k
dWxlTG9hZGVyOjppbXBvcnRNb2R1bGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1v
ZHVsZUxvYWRlci5oOgorICAgICAgICAqIGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZCk6IERlbGV0ZWQuCisg
ICAgICAgICogZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0Lmg6CisgICAgICAgICogZG9tL1Njcmlw
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6cmVxdWVzdE1v
ZHVsZVNjcmlwdCk6CisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRj
aGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRj
aGVyOjpyZXF1ZXN0TW9kdWxlU2NyaXB0IGNvbnN0KToKKyAgICAgICAgKiBkb20vU2NyaXB0RWxl
bWVudENhY2hlZFNjcmlwdEZldGNoZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Oldvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVk
KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
LmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQ
cm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU6
Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9y
V29ya2xldEdsb2JhbFNjb3BlLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRH
bG9iYWxTY29wZTo6bW9kdWxlTG9hZGVyKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6anNWYWx1ZVRvTW9k
dWxlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXI6OmV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OmRyaXZlUnVuTG9vcCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkTW9k
dWxlU3luY2hyb25vdXNseSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyUnVuTG9vcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJSdW5Mb29wOjpwb3N0VGFz
a0FuZFRlcm1pbmF0ZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6ZXZhbHVhdGVTY3JpcHRJZk5lY2Vzc2FyeSk6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoKKyAgICAgICAgKiB3b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQpOgorCiAyMDIxLTAyLTA3
ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04o
cjI3MjM3OSkgW1dQRV0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVs
YXRpb25zL2Nzcy1zdHlsaW5nL21hdGh2YXJpYW50IHRlc3RzIGFyZSBJbWFnZSBGYWlsaW5nCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyLmNwcAppbmRleCAzNTJkY2M0YWNmNzUxNzZkOThhZDM0MTBiZTE1MTYwODAxMDg4NTI0
Li45YmNjYjdjMmMyNTIwNWZiMGIwYzJlNmZiZDU3MTEwYmU1NjJhODI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5j
cHAKQEAgLTYxLDExICs2MSwxMSBAQCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6On5DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIoKQogICAgIH0KIH0KIAotYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwmIHNvdXJjZVVSTCkKK2Jv
b2wgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIGNvbnN0IFVSTCYgc291cmNlVVJMKQogewogICAgIEFTU0VSVCghbV9jYWNoZWRT
Y3JpcHQpOwogICAgIFN0cmluZyBpbnRlZ3JpdHkgPSBtX3BhcmFtZXRlcnMgPyBtX3BhcmFtZXRl
cnMtPmludGVncml0eSgpIDogU3RyaW5nIHsgfTsKLSAgICBtX2NhY2hlZFNjcmlwdCA9IG1fc2Ny
aXB0RmV0Y2hlci0+cmVxdWVzdE1vZHVsZVNjcmlwdChkb2N1bWVudCwgc291cmNlVVJMLCBXVEZN
b3ZlKGludGVncml0eSkpOworICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9zY3JpcHRGZXRjaGVyLT5y
ZXF1ZXN0TW9kdWxlU2NyaXB0KGNvbnRleHQsIHNvdXJjZVVSTCwgV1RGTW92ZShpbnRlZ3JpdHkp
KTsKICAgICBpZiAoIW1fY2FjaGVkU2NyaXB0KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
bV9zb3VyY2VVUkwgPSBzb3VyY2VVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCmluZGV4IDQzYWJkODc1YjI0M2ZhZjVm
Y2Q0ZDk4ZWMzYzVkMjRlNzkwYjU3MmUuLjhlMjM1ZmViODZjYmExNDllODQ2NjdmODFhZWY2MmJh
MTJhMmU1YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0zOCw5ICszOCw5IEBAIGNsYXNzIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudDsKIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIENhY2hlZFNj
cmlwdEZldGNoZXI7CiBjbGFzcyBEZWZlcnJlZFByb21pc2U7Ci1jbGFzcyBEb2N1bWVudDsKIGNs
YXNzIEpTRE9NR2xvYmFsT2JqZWN0OwogY2xhc3MgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzOworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiwg
cHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6CkBAIC00OCw3ICs0OCw3IEBA
IGNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVk
PENhY2hlZE1vZHVsZVNjcmlwdExvYWRlCiAKICAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIoKTsKIAotICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIGNvbnN0IFVSTCYgc291cmNl
VVJMKTsKKyAgICBib29sIGxvYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFVSTCYg
c291cmNlVVJMKTsKIAogICAgIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIoKSB7
IHJldHVybiBtX3NjcmlwdEZldGNoZXIuZ2V0KCk7IH0KICAgICBDYWNoZWRTY3JpcHQqIGNhY2hl
ZFNjcmlwdCgpIHsgcmV0dXJuIG1fY2FjaGVkU2NyaXB0LmdldCgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwCmluZGV4IGE0MzM3
NTg2NWJiZjFlYzU5NzNiZjE3MmM5MWEzODUzMjM0ZTM3NGQuLmE1YWFiZGI2ZWJmZTdiMGJkNWFh
ZjI1M2Q4ZTlhOTBmMjY1MDhiODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAi
Q3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsMzIgKzQxLDM5IEBAIFJlZjxDYWNoZWRT
Y3JpcHRGZXRjaGVyPiBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBj
aGFyc2V0KQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlZFNjcmlwdEZldGNoZXIoY2hh
cnNldCkpOwogfQogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IENhY2hlZFNj
cmlwdEZldGNoZXI6OnJlcXVlc3RNb2R1bGVTY3JpcHQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25z
dCBVUkwmIHNvdXJjZVVSTCwgU3RyaW5nJiYgaW50ZWdyaXR5KSBjb25zdAorQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBDYWNoZWRTY3JpcHRGZXRjaGVyOjpyZXF1ZXN0TW9kdWxl
U2NyaXB0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFVSTCYgc291cmNl
VVJMLCBTdHJpbmcmJiBpbnRlZ3JpdHkpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHJlcXVlc3RTY3Jp
cHRXaXRoQ2FjaGUoZG9jdW1lbnQsIHNvdXJjZVVSTCwgU3RyaW5nIHsgfSwgV1RGTW92ZShpbnRl
Z3JpdHkpLCB7IH0pOworICAgIHJldHVybiByZXF1ZXN0U2NyaXB0V2l0aENhY2hlKGNvbnRleHQs
IHNvdXJjZVVSTCwgU3RyaW5nIHsgfSwgV1RGTW92ZShpbnRlZ3JpdHkpLCB7IH0pOwogfQogCi1D
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IENhY2hlZFNjcmlwdEZldGNoZXI6OnJl
cXVlc3RTY3JpcHRXaXRoQ2FjaGUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwmIHNvdXJj
ZVVSTCwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIFN0cmluZyYmIGludGVncml0eSwg
T3B0aW9uYWw8UmVzb3VyY2VMb2FkUHJpb3JpdHk+IHJlc291cmNlTG9hZFByaW9yaXR5KSBjb25z
dAorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBDYWNoZWRTY3JpcHRGZXRjaGVy
OjpyZXF1ZXN0U2NyaXB0V2l0aENhY2hlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IGNvbnN0IFVSTCYgc291cmNlVVJMLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgU3Ry
aW5nJiYgaW50ZWdyaXR5LCBPcHRpb25hbDxSZXNvdXJjZUxvYWRQcmlvcml0eT4gcmVzb3VyY2VM
b2FkUHJpb3JpdHkpIGNvbnN0CiB7Ci0gICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLmlzU2Ny
aXB0RW5hYmxlZCgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAvLyBXaXRob3V0IHNj
cmlwdGluZywgdGhlcmUgaXMgbm8gd2F5IHRvIHN0YXJ0IFdvcmtlcnMuCisgICAgaWYgKGlzPERv
Y3VtZW50Pihjb250ZXh0KSkgeworICAgICAgICBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0PERv
Y3VtZW50Pihjb250ZXh0KTsKKyAgICAgICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLmlzU2Ny
aXB0RW5hYmxlZCgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBBU1NFUlQo
ZG9jdW1lbnQuY29udGVudFNlY3VyaXR5UG9saWN5KCkpOwotICAgIGJvb2wgaGFzS25vd25Ob25j
ZSA9IGRvY3VtZW50LmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd1NjcmlwdFdpdGhOb25j
ZShtX25vbmNlLCBtX2lzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKLSAgICBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMgb3B0aW9ucyA9IENhY2hlZFJlc291cmNlTG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVz
b3VyY2VPcHRpb25zKCk7Ci0gICAgb3B0aW9ucy5jb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0
aW9uID0gaGFzS25vd25Ob25jZSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OlNr
aXBQb2xpY3lDaGVjayA6IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OkRvUG9saWN5
Q2hlY2s7Ci0gICAgb3B0aW9ucy5zYW1lT3JpZ2luRGF0YVVSTEZsYWcgPSBTYW1lT3JpZ2luRGF0
YVVSTEZsYWc6OlNldDsKLSAgICBvcHRpb25zLmludGVncml0eSA9IFdURk1vdmUoaW50ZWdyaXR5
KTsKLSAgICBvcHRpb25zLnJlZmVycmVyUG9saWN5ID0gbV9yZWZlcnJlclBvbGljeTsKKyAgICAg
ICAgQVNTRVJUKGRvY3VtZW50LmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKTsKKyAgICAgICAgYm9v
bCBoYXNLbm93bk5vbmNlID0gZG9jdW1lbnQuY29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93
U2NyaXB0V2l0aE5vbmNlKG1fbm9uY2UsIG1faXNJblVzZXJBZ2VudFNoYWRvd1RyZWUpOworICAg
ICAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMgb3B0aW9ucyA9IENhY2hlZFJlc291cmNlTG9hZGVy
OjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCk7CisgICAgICAgIG9wdGlvbnMuY29udGVu
dFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiA9IGhhc0tub3duTm9uY2UgPyBDb250ZW50U2VjdXJp
dHlQb2xpY3lJbXBvc2l0aW9uOjpTa2lwUG9saWN5Q2hlY2sgOiBDb250ZW50U2VjdXJpdHlQb2xp
Y3lJbXBvc2l0aW9uOjpEb1BvbGljeUNoZWNrOworICAgICAgICBvcHRpb25zLnNhbWVPcmlnaW5E
YXRhVVJMRmxhZyA9IFNhbWVPcmlnaW5EYXRhVVJMRmxhZzo6U2V0OworICAgICAgICBvcHRpb25z
LmludGVncml0eSA9IFdURk1vdmUoaW50ZWdyaXR5KTsKKyAgICAgICAgb3B0aW9ucy5yZWZlcnJl
clBvbGljeSA9IG1fcmVmZXJyZXJQb2xpY3k7CiAKLSAgICBhdXRvIHJlcXVlc3QgPSBjcmVhdGVQ
b3RlbnRpYWxBY2Nlc3NDb250cm9sUmVxdWVzdChzb3VyY2VVUkwsIFdURk1vdmUob3B0aW9ucyks
IGRvY3VtZW50LCBjcm9zc09yaWdpbk1vZGUpOwotICAgIHJlcXVlc3QudXBncmFkZUluc2VjdXJl
UmVxdWVzdElmTmVlZGVkKGRvY3VtZW50KTsKLSAgICByZXF1ZXN0LnNldENoYXJzZXQobV9jaGFy
c2V0KTsKLSAgICByZXF1ZXN0LnNldFByaW9yaXR5KFdURk1vdmUocmVzb3VyY2VMb2FkUHJpb3Jp
dHkpKTsKLSAgICBpZiAoIW1faW5pdGlhdG9yTmFtZS5pc051bGwoKSkKLSAgICAgICAgcmVxdWVz
dC5zZXRJbml0aWF0b3IobV9pbml0aWF0b3JOYW1lKTsKKyAgICAgICAgYXV0byByZXF1ZXN0ID0g
Y3JlYXRlUG90ZW50aWFsQWNjZXNzQ29udHJvbFJlcXVlc3Qoc291cmNlVVJMLCBXVEZNb3ZlKG9w
dGlvbnMpLCBkb2N1bWVudCwgY3Jvc3NPcmlnaW5Nb2RlKTsKKyAgICAgICAgcmVxdWVzdC51cGdy
YWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQoZG9jdW1lbnQpOworICAgICAgICByZXF1ZXN0LnNl
dENoYXJzZXQobV9jaGFyc2V0KTsKKyAgICAgICAgcmVxdWVzdC5zZXRQcmlvcml0eShXVEZNb3Zl
KHJlc291cmNlTG9hZFByaW9yaXR5KSk7CisgICAgICAgIGlmICghbV9pbml0aWF0b3JOYW1lLmlz
TnVsbCgpKQorICAgICAgICAgICAgcmVxdWVzdC5zZXRJbml0aWF0b3IobV9pbml0aWF0b3JOYW1l
KTsKIAotICAgIHJldHVybiBkb2N1bWVudC5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLnJlcXVlc3RT
Y3JpcHQoV1RGTW92ZShyZXF1ZXN0KSkudmFsdWVfb3IobnVsbHB0cik7CisgICAgICAgIHJldHVy
biBkb2N1bWVudC5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLnJlcXVlc3RTY3JpcHQoV1RGTW92ZShy
ZXF1ZXN0KSkudmFsdWVfb3IobnVsbHB0cik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGF0YUxv
Z0xuKCJXT1JLRVIiKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQogfQogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmgKaW5k
ZXggMjk5Mjg0ZGNmYjBjZjE4MTdkM2YyNjFjNWRiMTYwOTUxMWQ5YmMyOC4uNjE2N2JmZTVjZjQy
NGYxMDZmNWQ3ZWIyOTEwZWMwMTRlNTdmMjI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuaApAQCAtMzUsMTEgKzM1LDExIEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhY2hlZFNjcmlwdDsKLWNsYXNzIERvY3VtZW50Owor
Y2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgQ2FjaGVkU2NyaXB0RmV0Y2hl
ciA6IHB1YmxpYyBKU0M6OlNjcmlwdEZldGNoZXIgewogcHVibGljOgotICAgIHZpcnR1YWwgQ2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiByZXF1ZXN0TW9kdWxlU2NyaXB0KERvY3Vt
ZW50JiwgY29uc3QgVVJMJiBzb3VyY2VVUkwsIFN0cmluZyYmIGludGVncml0eSkgY29uc3Q7Cisg
ICAgdmlydHVhbCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IHJlcXVlc3RNb2R1
bGVTY3JpcHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFVSTCYgc291cmNlVVJMLCBT
dHJpbmcmJiBpbnRlZ3JpdHkpIGNvbnN0OwogCiAgICAgc3RhdGljIFJlZjxDYWNoZWRTY3JpcHRG
ZXRjaGVyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBjaGFyc2V0KTsKIApAQCAtNTgsNyArNTgsNyBA
QCBjbGFzcyBDYWNoZWRTY3JpcHRGZXRjaGVyIDogcHVibGljIEpTQzo6U2NyaXB0RmV0Y2hlciB7
CiAgICAgewogICAgIH0KIAotICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4g
cmVxdWVzdFNjcmlwdFdpdGhDYWNoZShEb2N1bWVudCYsIGNvbnN0IFVSTCYgc291cmNlVVJMLCBj
b25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBPcHRpb25h
bDxSZXNvdXJjZUxvYWRQcmlvcml0eT4pIGNvbnN0OworICAgIENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFNjcmlwdD4gcmVxdWVzdFNjcmlwdFdpdGhDYWNoZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgY29uc3QgVVJMJiBzb3VyY2VVUkwsIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5Nb2Rl
LCBTdHJpbmcmJiBpbnRlZ3JpdHksIE9wdGlvbmFsPFJlc291cmNlTG9hZFByaW9yaXR5PikgY29u
c3Q7CiAKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fbm9uY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNThiN2RmNzYwYzAwYTMx
ZmYwOGVkMjJkZWUyMmE4Yzc0NDNhZThkZC4uMTAyMjk1NDg0ZjY0YzE0ZDhmNGJhNzg3YTJhZWU2
ZDZiMzBiYTBkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01H
bG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmNwcApAQCAtNDIyLDYgKzQyMiw3OSBAQCBKU0M6OkpTUHJvbWlzZSogSlNET01H
bG9iYWxPYmplY3Q6Omluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6SlNHbG9iYWxPYmplY3QqIGds
bwogfQogI2VuZGlmCiAKK3N0YXRpYyBTY3JpcHRNb2R1bGVMb2FkZXIqIHNjcmlwdE1vZHVsZUxv
YWRlcihKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0RPTVdp
bmRvd0Jhc2U+KHZtKSkgeworICAgICAgICBpZiAoYXV0byBkb2N1bWVudCA9IGpzQ2FzdDxjb25z
dCBKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkuZG9jdW1lbnQoKSkK
KyAgICAgICAgICAgIHJldHVybiAmZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpOworICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNS
ZW1vdGVET01XaW5kb3dCYXNlPih2bSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlm
IChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlPih2bSkpCisg
ICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlKj4oZ2xv
YmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1vZHVsZUxvYWRlcigpOworICAgIGlmIChnbG9iYWxPYmpl
Y3QtPmluaGVyaXRzPEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZT4odm0pKQorICAgICAgICByZXR1
cm4gJmpzQ2FzdDxjb25zdCBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UqPihnbG9iYWxPYmplY3Qp
LT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0Up
CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJTZXJpYWxpemF0aW9uR2xvYmFs
T2JqZWN0Pih2bSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCisgICAgZGF0YUxv
ZygiVW5leHBlY3RlZCBnbG9iYWwgb2JqZWN0OiAiLCBKU1ZhbHVlKGdsb2JhbE9iamVjdCksICJc
biIpOworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKK0pTQzo6SWRlbnRpZmllciBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVy
UmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVM
b2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1
ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7CisgICAg
SlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlwdE1vZHVs
ZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxvYWRlci0+cmVzb2x2ZShnbG9i
YWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgaW1wb3J0ZXJNb2R1bGVLZXksIHNj
cmlwdEZldGNoZXIpOworICAgIHJldHVybiB7IH07Cit9CisKK0pTQzo6SlNJbnRlcm5hbFByb21p
c2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlND
OjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1
ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgSlNET01HbG9iYWxP
YmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlz
T2JqZWN0KSkKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBsb2FkZXItPmZldGNo
KGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIHBhcmFtZXRlcnMsIHNjcmlw
dEZldGNoZXIpKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpK
U0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlz
ZVN0cnVjdHVyZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7CisgICAgcHJvbWlzZS0+cmVqZWN0
KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisK
K0pTQzo6SlNWYWx1ZSBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlND
OjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1
bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNv
cmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIEpTRE9NR2xvYmFsT2JqZWN0
KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVj
dCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmV2YWx1YXRlKGdsb2JhbE9iamVjdCwgbW9kdWxl
TG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0
dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNE
T01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlND
OjpKU1N0cmluZyogbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIGNvbnN0IEpT
Qzo6U291cmNlT3JpZ2luJiBzb3VyY2VPcmlnaW4pCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2Jq
ZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAg
ICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9k
dWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUs
IGxvYWRlci0+aW1wb3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVO
YW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VPcmlnaW4pKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9t
aXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7
CisgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7CisgICAg
cmV0dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNPYmplY3QqIEpTRE9NR2xvYmFsT2JqZWN0Ojpt
b2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpK
U1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCogbW9kdWxlUmVjb3JkLCBKU0M6
OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09i
amVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAg
ICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAg
ICAgICByZXR1cm4gbG9hZGVyLT5jcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhnbG9iYWxPYmpl
Y3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlwdEZldGNoZXIp
OworICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9iYWxPYmplY3QtPnZtKCksIGds
b2JhbE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVyZSgpKTsKK30KKwogSlNET01H
bG9iYWxPYmplY3QmIGNhbGxlckdsb2JhbE9iamVjdChKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBjYWxsRnJhbWUpCiB7CiAgICAgY2xhc3MgR2V0Q2FsbGVy
R2xvYmFsT2JqZWN0RnVuY3RvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01HbG9iYWxPYmplY3QuaAppbmRleCBiODQwNzJkZGQ3NDZiM2Q2YzUxMDYwZDkwNTAxYjVjZWEx
YjQ5OWIxLi5mNDlhNGNkMjU3MTk3MTE4OTE3YTdkN2E0YjZjMGUxMWZjNzZiYTc5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKQEAgLTEwNSw2
ICsxMDUsMTIgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNET01HbG9iYWxPYmplY3QgOiBwdWJs
aWMgSlNDOjpKU0dsb2JhbE9iamVjdCB7CiAgICAgc3RhdGljIEpTQzo6SlNQcm9taXNlKiBpbnN0
YW50aWF0ZVN0cmVhbWluZyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTT2JqZWN0Kik7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBKU0M6OklkZW50aWZpZXIgbW9kdWxl
TG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlcios
IEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBK
U0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgbW9kdWxlTG9hZGVyRXZhbHVh
dGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFs
dWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAgICBzdGF0aWMgSlNDOjpKU0ludGVy
bmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0cmluZyosIEpTQzo6SlNWYWx1ZSwgY29u
c3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKKyAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogbW9kdWxl
TG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBK
U0M6OkpTVmFsdWUpOworCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAgbV9zdHJ1Y3R1cmVzOwogICAg
IEpTRE9NQ29uc3RydWN0b3JNYXAgbV9jb25zdHJ1Y3RvcnM7CiAgICAgRE9NR3VhcmRlZE9iamVj
dFNldCBtX2d1YXJkZWRPYmplY3RzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5jcHAKaW5kZXggNTYzZWZhMDU3MWI1ZDQ2MmQ5ZTY0NTA4OWYwYmQ4Zjc3
ZDE5YTc2OC4uMzEyYTAxMTU4ZThjMjgwODNjMDdlNDJkYjg3MjQ1ZmU0ZTVjNTdhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC0zMzks
NTQgKzMzOSw0IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJlRnJhbWVDbGVhcmVkV2F0Y2hw
b2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiAgICAgfQogfQogCi1KU0M6OklkZW50
aWZpZXIgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBK
U0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5LCBK
U0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNP
YmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAg
IGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRv
Y3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkucmVzb2x2
ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgaW1wb3J0ZXJNb2R1bGVL
ZXksIHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiB7IH07Ci19Ci0KLUpTQzo6SlNJbnRlcm5h
bFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIs
IEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBKU0M6OkpT
VmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIEpTRE9NV2lu
ZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2Jh
bE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0
LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3Bl
LCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuZmV0Y2goZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2Fk
ZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hlcikpOwotICAgIEpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwotICAgIHNjb3Bl
LnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5l
ZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpKU1ZhbHVlIEpTRE9NV2luZG93
QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1
bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRj
aGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpT
RE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4g
ZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0
dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5ldmFsdWF0ZShnbG9iYWxPYmplY3QsIG1vZHVs
ZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlwdEZldGNoZXIpOwotICAgIHJl
dHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpT
RE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6
OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVycywgY29uc3QgSlND
OjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKLXsKLSAgICBWTSYgdm0gPSBnbG9iYWxPYmpl
Y3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAg
IEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFz
ZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0
aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgUkVMRUFTRV9BTkRfUkVU
VVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuaW1wb3J0TW9kdWxlKGdsb2JhbE9i
amVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VPcmlnaW4p
KTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFs
UHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVy
ZSgpKTsKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9i
amVjdCwganNVbmRlZmluZWQoKSk7Ci0gICAgcmV0dXJuIHByb21pc2U7Ci19Ci0KLUpTQzo6SlNP
YmplY3QqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3Bl
cnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNNb2R1bGVS
ZWNvcmQqIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0gICAg
SlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNl
Kj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRo
aXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1lbnQt
Pm1vZHVsZUxvYWRlcigpLmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKGdsb2JhbE9iamVjdCwg
bW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7Ci0g
ICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFs
T2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkpOwotfQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFz
ZS5oCmluZGV4IDNlZjk4MGRkMjdmNmIyMTM5ODcwMDhiYTQ3NmM4Y2E2OWYyZjBiNjQuLjUxNDJi
MWM3ZGMyNWMyMmZlOTc4OTVlNzVhZTIyZWY0ZDFlNTg5ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC05OSwxMiArOTksNiBAQCBjbGFzcyBX
RUJDT1JFX0VYUE9SVCBKU0RPTVdpbmRvd0Jhc2UgOiBwdWJsaWMgSlNET01HbG9iYWxPYmplY3Qg
ewogcHJpdmF0ZToKICAgICB1c2luZyBSZXNwb25zZUNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2
b2lkKGNvbnN0IGNoYXIqLCBzaXplX3QpPjsKIAotICAgIHN0YXRpYyBKU0M6OklkZW50aWZpZXIg
bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxv
YWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0
YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1Zh
bHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgbW9kdWxlTG9hZGVy
RXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6
OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMgSlNDOjpK
U0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0cmluZyosIEpTQzo6SlNWYWx1
ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKLSAgICBzdGF0aWMgSlNDOjpKU09iamVjdCog
bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNv
cmQqLCBKU0M6OkpTVmFsdWUpOwotCiAgICAgUmVmUHRyPERPTVdpbmRvdz4gbV93cmFwcGVkOwog
ICAgIFJlZlB0cjxFdmVudD4gbV9jdXJyZW50RXZlbnQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCmluZGV4IDQy
YjI2YzlmNGVhMjE2MjA3ZGU0Yzg2ODIwYjhhODFiNjAzNWI3ZWIuLjJkNzkzZmZmMjE4NTNhOGEx
YTc4ODA2NjcyNTBmNTdlNzUyZmUzZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKQEAgLTU5LDExICs1OSwxMSBA
QCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZTo6
c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZQogICAgICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLAog
ICAgICZxdWV1ZU1pY3JvdGFza1RvRXZlbnRMb29wLAogICAgICZzaG91bGRJbnRlcnJ1cHRTY3Jp
cHRCZWZvcmVUaW1lb3V0LAotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlclJlc29sdmUKLSAgICBudWxscHRyLCAvLyBt
b2R1bGVMb2FkZXJGZXRjaAotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckNyZWF0ZUltcG9y
dE1ldGFQcm9wZXJ0aWVzCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyRXZhbHVhdGUKKyAg
ICAmbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlLAorICAgICZtb2R1bGVMb2FkZXJSZXNvbHZlLAor
ICAgICZtb2R1bGVMb2FkZXJGZXRjaCwKKyAgICAmbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0
YVByb3BlcnRpZXMsCisgICAgJm1vZHVsZUxvYWRlckV2YWx1YXRlLAogICAgICZwcm9taXNlUmVq
ZWN0aW9uVHJhY2tlciwKICAgICAmcmVwb3J0VW5jYXVnaHRFeGNlcHRpb25BdEV2ZW50TG9vcCwK
ICAgICAmY3VycmVudFNjcmlwdEV4ZWN1dGlvbk93bmVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggMzVm
YTZlMzI3N2ZiMGQ0YmUwZTBlMWVkYzQzNzIyZWRhZGZjOGFmMi4uOWZhZWM5NTljMzlkMTc0ODE4
MWM5ODY1MDAzZDVhODZmMTdmNWUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCkBAIC00OSwxMSArNDksMTEg
QEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNl
OjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmwKICAgICAmamF2YVNjcmlwdFJ1bnRpbWVGbGFncywK
ICAgICBudWxscHRyLCAvLyBxdWV1ZU1pY3JvdGFza1RvRXZlbnRMb29wCiAgICAgJnNob3VsZElu
dGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVy
SW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyUmVzb2x2ZQotICAgIG51
bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVy
Q3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJF
dmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUsCisgICAgJm1vZHVsZUxvYWRl
clJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNoLAorICAgICZtb2R1bGVMb2FkZXJDcmVh
dGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9kdWxlTG9hZGVyRXZhbHVhdGUsCiAgICAg
JnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZyZXBvcnRVbmNhdWdodEV4Y2VwdGlvbkF0
RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhlY3V0aW9uT3duZXIsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcAppbmRleCBhYTVi
ODBiNTg2Yjc5ZTBlNTc1MDFjZDUxMDc4ZGYyNWE2MjVlNWQ5Li5jZjUxZjQyZTNiMTE0NGVjZjc3
NDE5YTMxODNiY2I1OGU1MzYyZmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlICJDYWNoZWRTY3JpcHQuaCIKICNp
bmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCkBAIC01Miw4ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotU2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIoRG9jdW1lbnQm
IGRvY3VtZW50KQotICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK1NjcmlwdE1vZHVsZUxvYWRl
cjo6U2NyaXB0TW9kdWxlTG9hZGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCisg
ICAgOiBtX2NvbnRleHQoY29udGV4dCkKIHsKIH0KIApAQCAtNjgsNyArNjcsNyBAQCBzdGF0aWMg
Ym9vbCBpc1Jvb3RNb2R1bGUoSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5KQogICAgIHJl
dHVybiBpbXBvcnRlck1vZHVsZUtleS5pc1N5bWJvbCgpIHx8IGltcG9ydGVyTW9kdWxlS2V5Lmlz
VW5kZWZpbmVkKCk7CiB9CiAKLXN0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2ZU1v
ZHVsZVNwZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgc3BlY2lmaWVy
LCBjb25zdCBVUkwmIGJhc2VVUkwpCitzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29s
dmVNb2R1bGVTcGVjaWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3Qg
U3RyaW5nJiBzcGVjaWZpZXIsIGNvbnN0IFVSTCYgYmFzZVVSTCkKIHsKICAgICAvLyBodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjcmVzb2x2ZS1h
LW1vZHVsZS1zcGVjaWZpZXIKIApAQCAtNzksNyArNzgsMTIgQEAgc3RhdGljIEV4cGVjdGVkPFVS
TCwgU3RyaW5nPiByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKERvY3VtZW50JiBkb2N1bWVudCwgY29u
c3QgU3QKICAgICBpZiAoIXNwZWNpZmllci5zdGFydHNXaXRoKCcvJykgJiYgIXNwZWNpZmllci5z
dGFydHNXaXRoKCIuLyIpICYmICFzcGVjaWZpZXIuc3RhcnRzV2l0aCgiLi4vIikpCiAgICAgICAg
IHJldHVybiBtYWtlVW5leHBlY3RlZChtYWtlU3RyaW5nKCJNb2R1bGUgc3BlY2lmaWVyLCAnIl9z
LCBzcGVjaWZpZXIsICInIGRvZXMgbm90IHN0YXJ0IHdpdGggXCIvXCIsIFwiLi9cIiwgb3IgXCIu
Li9cIi4gUmVmZXJlbmNlZCBmcm9tICJfcywgYmFzZVVSTC5zdHJpbmcoKSkpOwogCi0gICAgYXV0
byByZXN1bHQgPSBkb2N1bWVudC5jb21wbGV0ZVVSTChzcGVjaWZpZXIsIGJhc2VVUkwpOworICAg
IFVSTCByZXN1bHQ7CisgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0KSkKKyAgICAgICAgcmVz
dWx0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLmNvbXBsZXRlVVJMKHNwZWNpZmllciwg
YmFzZVVSTCk7CisgICAgZWxzZQorICAgICAgICByZXN1bHQgPSBVUkwoYmFzZVVSTCwgc3BlY2lm
aWVyKTsKKwogICAgIGlmICghcmVzdWx0LmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIG1ha2VV
bmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBuYW1lLCAnIl9zLCByZXN1bHQuc3RyaW5nKCks
ICInIGRvZXMgbm90IHJlc29sdmUgdG8gYSB2YWxpZCBVUkwuIl9zKSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKQEAgLTEwNyw3ICsxMTEsNyBAQCBKU0M6OklkZW50aWZpZXIgU2NyaXB0TW9kdWxlTG9h
ZGVyOjpyZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LAogICAgIFVS
TCBiYXNlVVJMID0gcmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTCgqanNHbG9iYWxPYmplY3QsIGlt
cG9ydGVyTW9kdWxlS2V5KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwog
Ci0gICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNw
ZWNpZmllciwgYmFzZVVSTCk7CisgICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lm
aWVyKG1fY29udGV4dCwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKICAgICBpZiAoIXJlc3VsdCkgewog
ICAgICAgICBKU0M6OnRocm93VHlwZUVycm9yKGpzR2xvYmFsT2JqZWN0LCBzY29wZSwgcmVzdWx0
LmVycm9yKCkpOwogICAgICAgICByZXR1cm4geyB9OwpAQCAtMTYzLDcgKzE2Nyw3IEBAIEpTQzo6
SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2Jh
bE9iamVjdCoganNHbG9iYWxPCiAKICAgICBhdXRvIGxvYWRlciA9IENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19jYXN0PENhY2hl
ZFNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlw
dEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7
CiAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29weVJlZigpKTsKLSAgICBpZiAoIWxvYWRlci0+
bG9hZChtX2RvY3VtZW50LCBjb21wbGV0ZWRVUkwpKSB7CisgICAgaWYgKCFsb2FkZXItPmxvYWQo
bV9jb250ZXh0LCBjb21wbGV0ZWRVUkwpKSB7CiAgICAgICAgIGxvYWRlci0+Y2xlYXJDbGllbnQo
KTsKICAgICAgICAgbV9sb2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOwogICAgICAgICBy
ZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihkZWZlcnJlZC5nZXQoKSwgTW9kdWxlRmV0Y2hG
YWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVk
LiJfcyk7CkBAIC0xNzYsNyArMTgwLDcgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0
TW9kdWxlTG9hZGVyOjpmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE8KIFVSTCBT
Y3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVsZVVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiBqc0dsb2Jh
bE9iamVjdCwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleVZhbHVlKQogewogICAgIGlmIChtb2R1bGVL
ZXlWYWx1ZS5pc1N5bWJvbCgpKQotICAgICAgICByZXR1cm4gbV9kb2N1bWVudC51cmwoKTsKKyAg
ICAgICAgcmV0dXJuIG1fY29udGV4dC51cmwoKTsKIAogICAgIEFTU0VSVChtb2R1bGVLZXlWYWx1
ZS5pc1N0cmluZygpKTsKICAgICByZXR1cm4gVVJMKFVSTCgpLCBhc1N0cmluZyhtb2R1bGVLZXlW
YWx1ZSktPnZhbHVlKCZqc0dsb2JhbE9iamVjdCkpOwpAQCAtMTg3LDggKzE5MSwxMSBAQCBVUkwg
U2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNwb25zZVVSTEZyb21SZXF1ZXN0VVJMKEpTQzo6SlNHbG9i
YWxPYmplY3QmIGpzR2xvYmFsTwogICAgIEpTQzo6Vk0mIHZtID0ganNHbG9iYWxPYmplY3Qudm0o
KTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAo
aXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkKLSAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQu
YmFzZVVSTCgpOworICAgIGlmIChpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKSB7CisgICAg
ICAgIGlmIChpczxEb2N1bWVudD4obV9jb250ZXh0KSkKKyAgICAgICAgICAgIHJldHVybiBkb3du
Y2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7CisgICAgICAgIHJldHVybiBtX2Nv
bnRleHQudXJsKCk7CisgICAgfQogCiAgICAgQVNTRVJUKCFpc1Jvb3RNb2R1bGUobW9kdWxlS2V5
VmFsdWUpKTsKICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CkBAIC0yMTks
OCArMjI2LDE0IEBAIEpTQzo6SlNWYWx1ZSBTY3JpcHRNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LCBKCiAgICAgaWYgKCFzb3VyY2VVUkwu
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gSlNDOjp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9i
amVjdCwgc2NvcGUsICJNb2R1bGUga2V5IGlzIGFuIGludmFsaWQgVVJMLiJfcyk7CiAKLSAgICBp
ZiAoYXV0byogZnJhbWUgPSBtX2RvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIHJldHVybiBmcmFt
ZS0+c2NyaXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAg
ICBpZiAoaXM8RG9jdW1lbnQ+KG1fY29udGV4dCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZyYW1l
ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuZnJhbWUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBmcmFtZS0+c2NyaXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVj
b3JkKTsKKyAgICB9IGVsc2UgeworICAgICAgICBBU1NFUlQoaXM8V29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGU+KG1fY29udGV4dCkpOworICAgICAgICBpZiAoYXV0byogc2NyaXB0ID0gZG93bmNh
c3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KG1fY29udGV4dCkuc2NyaXB0KCkpCisgICAg
ICAgICAgICByZXR1cm4gc2NyaXB0LT5ldmFsdWF0ZU1vZHVsZSgqbW9kdWxlUmVjb3JkKTsKKyAg
ICB9CiAgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKIH0KIApAQCAtMjQ4LDIzICsyNjEs
MzYgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9hZGVyOjppbXBvcnRN
b2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganMKICAgICBVUkwgYmFzZVVSTDsKICAgICBSZWZQ
dHI8SlNDOjpTY3JpcHRGZXRjaGVyPiBzY3JpcHRGZXRjaGVyOwogICAgIGlmIChzb3VyY2VPcmln
aW4uaXNOdWxsKCkpIHsKLSAgICAgICAgYmFzZVVSTCA9IG1fZG9jdW1lbnQuYmFzZVVSTCgpOwot
ICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKG1fZG9j
dW1lbnQuY2hhcnNldCgpKTsKKyAgICAgICAgU3RyaW5nIGNoYXJzZXQ7CisgICAgICAgIGlmIChp
czxEb2N1bWVudD4obV9jb250ZXh0KSkgeworICAgICAgICAgICAgYmFzZVVSTCA9IGRvd25jYXN0
PERvY3VtZW50PihtX2NvbnRleHQpLmJhc2VVUkwoKTsKKyAgICAgICAgICAgIGNoYXJzZXQgPSBk
b3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5jaGFyc2V0KCk7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICBiYXNlVVJMID0gbV9jb250ZXh0LnVybCgpOworICAgICAgICAgICAgY2hh
cnNldCA9ICJ1dGYtOCJfczsKKyAgICAgICAgfQorICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2Fj
aGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKFdURk1vdmUoY2hhcnNldCkpOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIGJhc2VVUkwgPSBVUkwoVVJMKCksIHNvdXJjZU9yaWdpbi5zdHJpbmcoKSk7CiAg
ICAgICAgIGlmICghYmFzZVVSTC5pc1ZhbGlkKCkpCiAgICAgICAgICAgICByZXR1cm4gcmVqZWN0
UHJvbWlzZShnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgIkltcG9ydGVyIG1vZHVsZSBrZXkgaXMg
bm90IGEgU3ltYm9sIG9yIGEgU3RyaW5nLiJfcyk7CiAKKyAgICAgICAgU3RyaW5nIGNoYXJzZXQ7
CisgICAgICAgIGlmIChpczxEb2N1bWVudD4obV9jb250ZXh0KSkKKyAgICAgICAgICAgIGNoYXJz
ZXQgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5jaGFyc2V0KCk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIGNoYXJzZXQgPSAidXRmLTgiX3M7CisKICAgICAgICAgaWYgKHNvdXJj
ZU9yaWdpbi5mZXRjaGVyKCkpCiAgICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gc291cmNlT3Jp
Z2luLmZldGNoZXIoKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9
IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisgICAg
ICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKFdURk1v
dmUoY2hhcnNldCkpOwogICAgIH0KICAgICBBU1NFUlQoYmFzZVVSTC5pc1ZhbGlkKCkpOwogICAg
IEFTU0VSVChzY3JpcHRGZXRjaGVyKTsKIAogICAgIGF1dG8gc3BlY2lmaWVyID0gbW9kdWxlTmFt
ZS0+dmFsdWUoanNHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVs
ZVNwZWNpZmllcihtX2RvY3VtZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVz
dWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2NvbnRleHQsIHNwZWNpZmllciwgYmFzZVVS
TCk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiByZWplY3RQcm9taXNlKGdsb2Jh
bE9iamVjdCwgVHlwZUVycm9yLCByZXN1bHQuZXJyb3IoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmgKaW5kZXggZGUyOWQyZjRiZjA5NmI2
MGMzNjk5ODAzMTZjMTQ4NmIyODJhYmYwOS4uMzBlNzRhNDFlNWQ4NjRmZmRkZTdmNWFhODgwYWVi
OGNlZWFiNDRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
TW9kdWxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9k
dWxlTG9hZGVyLmgKQEAgLTQ1LDE2ICs0NSwxNiBAQCBjbGFzcyBTb3VyY2VPcmlnaW47CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9i
amVjdDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIFNjcmlwdE1vZHVs
ZUxvYWRlciBmaW5hbCA6IHByaXZhdGUgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRNb2R1bGVMb2FkZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIo
RG9jdW1lbnQmKTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYpOwogICAgIH5TY3JpcHRNb2R1bGVMb2FkZXIoKTsKIAotICAgIERvY3VtZW50
JiBkb2N1bWVudCgpIHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKyAgICBTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0KCkgeyByZXR1cm4gbV9jb250ZXh0OyB9CiAKICAgICBKU0M6OklkZW50
aWZpZXIgcmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlcios
IEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXks
IEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKICAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUg
c2NyaXB0RmV0Y2hlcik7CkBAIC02Nyw3ICs2Nyw3IEBAIGNsYXNzIFNjcmlwdE1vZHVsZUxvYWRl
ciBmaW5hbCA6IHByaXZhdGUgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKICAgICBV
UkwgbW9kdWxlVVJMKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUpOwogICAgIFVS
TCByZXNwb25zZVVSTEZyb21SZXF1ZXN0VVJMKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpT
VmFsdWUpOwogCi0gICAgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7CisgICAgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgbV9jb250ZXh0OwogICAgIEhhc2hNYXA8U3RyaW5nLCBVUkw+IG1fcmVxdWVzdFVS
TFRvUmVzcG9uc2VVUkxNYXA7CiAgICAgSGFzaFNldDxSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyPj4gbV9sb2FkZXJzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2Fk
YWJsZU1vZHVsZVNjcmlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVT
Y3JpcHQuY3BwCmluZGV4IDlhMjVjMTY1ODhlZWNhZDY3OGZiOTExZWM4NjIyZjQyNDI1OTJiNWEu
LjQ4ZWMwODUxYTQ1N2Q5YmE0NzQ3M2ZlYzI4ZDdiNDkzMTJiNzg4YjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcApAQCAtODgsMTYgKzg4LDQgQEAgdm9p
ZCBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6ZXhlY3V0ZShTY3JpcHRFbGVtZW50JiBzY3JpcHRFbGVt
ZW50KQogICAgIHNjcmlwdEVsZW1lbnQuZXhlY3V0ZU1vZHVsZVNjcmlwdCgqdGhpcyk7CiB9CiAK
LXZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25z
dCBVUkwmIHJvb3RVUkwpCi17Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUo
KSkKLSAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoKnRoaXMsIHJvb3RV
Ukwuc3RyaW5nKCksIG1fcGFyYW1ldGVycy5jb3B5UmVmKCkpOwotfQotCi12b2lkIExvYWRhYmxl
TW9kdWxlU2NyaXB0Ojpsb2FkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2NyaXB0U291cmNl
Q29kZSYgc291cmNlQ29kZSkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFt
ZSgpKQotICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgc291
cmNlQ29kZSk7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJs
ZU1vZHVsZVNjcmlwdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0
LmgKaW5kZXggYmI3OTk1NGQ3Yjk5YjBlZDA2YmZlNTVlZjg1NGVjY2UyMWYzNTg3Ny4uZDI1MzU5
NjNmNjQ4YjAyYThhMDFmZDYzYmIxZTM4MTM4NmNlZTQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgKQEAgLTUwLDE1ICs1MCwxNCBAQCBjbGFzcyBMb2FkYWJs
ZU1vZHVsZVNjcmlwdCBmaW5hbCA6IHB1YmxpYyBMb2FkYWJsZVNjcmlwdCB7CiAKICAgICB2b2lk
IHNldEVycm9yKEVycm9yJiYpOwogCi0gICAgdm9pZCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJM
JiByb290VVJMKTsKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBTY3JpcHRTb3VyY2VD
b2RlJik7Ci0KICAgICB2b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmluZ0ltcGwm
KTsKICAgICB2b2lkIG5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yJiYpOwog
ICAgIHZvaWQgbm90aWZ5TG9hZFdhc0NhbmNlbGVkKCk7CiAKICAgICBVbmlxdWVkU3RyaW5nSW1w
bCogbW9kdWxlS2V5KCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0KIAorICAg
IE1vZHVsZUZldGNoUGFyYW1ldGVycyYgcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVy
cy5nZXQoKTsgfQorCiBwcml2YXRlOgogICAgIExvYWRhYmxlTW9kdWxlU2NyaXB0KGNvbnN0IFN0
cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29u
c3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3Qg
QXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCAwNTc1OGI2MDBjNzUyMmI0
N2YzNjRiYTZhMThkMzVmMTczMTEwN2Y5Li41ZTk5ZjBmNTc3N2IzYjIxNThkZDBmYTRiYzM4Mjc3
NmNkYjM0ODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiTG9hZGFibGVDbGFzc2ljU2NyaXB0LmgiCiAjaW5jbHVkZSAiTG9h
ZGFibGVNb2R1bGVTY3JpcHQuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCisjaW5j
bHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5o
IgogI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgogI2luY2x1ZGUgIlNWR1Nj
cmlwdEVsZW1lbnQuaCIKQEAgLTM1MSw4ICszNTIsMTEgQEAgYm9vbCBTY3JpcHRFbGVtZW50Ojpy
ZXF1ZXN0TW9kdWxlU2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlv
bikKICAgICAgICAgICAgIHNjcmlwdENoYXJzZXQoKSwKICAgICAgICAgICAgIG1fZWxlbWVudC5s
b2NhbE5hbWUoKSwKICAgICAgICAgICAgIG1fZWxlbWVudC5pc0luVXNlckFnZW50U2hhZG93VHJl
ZSgpKTsKLSAgICAgICAgc2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBtb2R1bGVT
Y3JpcHRSb290VVJMKTsKICAgICAgICAgbV9sb2FkYWJsZVNjcmlwdCA9IFdURk1vdmUoc2NyaXB0
KTsKKyAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUo
KSkgeworICAgICAgICAgICAgYXV0byYgc2NyaXB0ID0gZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVT
Y3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKTsKKyAgICAgICAgICAgIGZyYW1lLT5zY3Jp
cHQoKS5sb2FkTW9kdWxlU2NyaXB0KHNjcmlwdCwgbW9kdWxlU2NyaXB0Um9vdFVSTC5zdHJpbmco
KSwgbWFrZVJlZihzY3JpcHQucGFyYW1ldGVycygpKSk7CisgICAgICAgIH0KICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQogCkBAIC0zNjcsOCArMzcxLDkgQEAgYm9vbCBTY3JpcHRFbGVtZW50
OjpyZXF1ZXN0TW9kdWxlU2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3Np
dGlvbikKICAgICBpZiAoIWNvbnRlbnRTZWN1cml0eVBvbGljeS5hbGxvd0lubGluZVNjcmlwdCht
X2VsZW1lbnQuZG9jdW1lbnQoKS51cmwoKS5zdHJpbmcoKSwgbV9zdGFydExpbmVOdW1iZXIsIHNv
dXJjZUNvZGUuc291cmNlKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLCBoYXNLbm93bk5vbmNl
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc2NyaXB0LT5sb2FkKG1fZWxlbWVudC5k
b2N1bWVudCgpLCBzb3VyY2VDb2RlKTsKICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShz
Y3JpcHQpOworICAgIGlmIChhdXRvKiBmcmFtZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmZyYW1l
KCkpCisgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KGRvd25jYXN0PExv
YWRhYmxlTW9kdWxlU2NyaXB0PigqbV9sb2FkYWJsZVNjcmlwdC5nZXQoKSksIHNvdXJjZUNvZGUp
OwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmNwcAppbmRleCAxMDQzYjczNzJmYjFk
YTViYWJhNzMwNWZkNWNjMjk4NmUzMDkxMjgyLi40ZTI2YTYwZjlhYTdlNjQ5NTllNjdiMTEyYTkz
NjM1NDQyNjdiOWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVu
dENhY2hlZFNjcmlwdEZldGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
bGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKQEAgLTMzLDEzICszMywxMyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNvbnN0IEFTQ0lJTGl0ZXJhbCBTY3JpcHRFbGVtZW50Q2FjaGVkU2Ny
aXB0RmV0Y2hlcjo6ZGVmYXVsdENyb3NzT3JpZ2luTW9kZUZvck1vZHVsZSB7ICJhbm9ueW1vdXMi
X3MgfTsKIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBTY3JpcHRFbGVtZW50
Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdE1vZHVsZVNjcmlwdChEb2N1bWVudCYgZG9jdW1l
bnQsIGNvbnN0IFVSTCYgc291cmNlVVJMLCBTdHJpbmcmJiBpbnRlZ3JpdHkpIGNvbnN0CitDYWNo
ZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRG
ZXRjaGVyOjpyZXF1ZXN0TW9kdWxlU2NyaXB0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIGNvbnN0IFVSTCYgc291cmNlVVJMLCBTdHJpbmcmJiBpbnRlZ3JpdHkpIGNvbnN0CiB7CiAg
ICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvdXJscy1hbmQtZmV0
Y2hpbmcuaHRtbCNjb3JzLXNldHRpbmdzLWF0dHJpYnV0ZXMKICAgICAvLyBJZiB0aGUgZmV0Y2hl
ciBpcyBub3QgbW9kdWxlIHNjcmlwdCwgY3JlZGVudGlhbCBtb2RlIGlzIGFsd2F5cyAic2FtZS1v
cmlnaW4iICgiYW5vbnltb3VzIikuCiAgICAgLy8gVGhpcyBjb2RlIGlzIGZvciBkeW5hbWljIG1v
ZHVsZSBpbXBvcnQgKGBpbXBvcnRgIG9wZXJhdG9yKS4KIAotICAgIHJldHVybiByZXF1ZXN0U2Ny
aXB0V2l0aENhY2hlKGRvY3VtZW50LCBzb3VyY2VVUkwsIGlzQ2xhc3NpY1NjcmlwdCgpID8gZGVm
YXVsdENyb3NzT3JpZ2luTW9kZUZvck1vZHVsZSA6IG1fY3Jvc3NPcmlnaW5Nb2RlLCBXVEZNb3Zl
KGludGVncml0eSksIHsgfSk7CisgICAgcmV0dXJuIHJlcXVlc3RTY3JpcHRXaXRoQ2FjaGUoY29u
dGV4dCwgc291cmNlVVJMLCBpc0NsYXNzaWNTY3JpcHQoKSA/IGRlZmF1bHRDcm9zc09yaWdpbk1v
ZGVGb3JNb2R1bGUgOiBtX2Nyb3NzT3JpZ2luTW9kZSwgV1RGTW92ZShpbnRlZ3JpdHkpLCB7IH0p
OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudENh
Y2hlZFNjcmlwdEZldGNoZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50Q2Fj
aGVkU2NyaXB0RmV0Y2hlci5oCmluZGV4IDIxNWYxZDlmZjEwMjFkODk3ZTEyY2ExNTU4YzAxNzUz
NTE4NWVjYjQuLjI2NjRkOTcwZDBkNGI2NjYxYTg0ODY1ZGUzM2E3OTUyZmE5NWY3M2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0
Y2hlci5oCkBAIC0zMyw3ICszMyw3IEBAIGNsYXNzIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRG
ZXRjaGVyIDogcHVibGljIENhY2hlZFNjcmlwdEZldGNoZXIgewogcHVibGljOgogICAgIHN0YXRp
YyBjb25zdCBBU0NJSUxpdGVyYWwgZGVmYXVsdENyb3NzT3JpZ2luTW9kZUZvck1vZHVsZTsKIAot
ICAgIHZpcnR1YWwgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiByZXF1ZXN0TW9k
dWxlU2NyaXB0KERvY3VtZW50JiwgY29uc3QgVVJMJiBzb3VyY2VVUkwsIFN0cmluZyYmIGludGVn
cml0eSkgY29uc3Q7CisgICAgdmlydHVhbCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3Jp
cHQ+IHJlcXVlc3RNb2R1bGVTY3JpcHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFVS
TCYgc291cmNlVVJMLCBTdHJpbmcmJiBpbnRlZ3JpdHkpIGNvbnN0OwogCiAgICAgdmlydHVhbCBi
b29sIGlzQ2xhc3NpY1NjcmlwdCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNNb2R1
bGVTY3JpcHQoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggNjJm
OTE3YTM2NzgxOWRlYzNjZDQxMGQ5NzY2OTVjZWU2MmY2ZDRiOS4uN2MyMjQ5YTNhMmFmOTUxODIz
YWU3OTk1ZWMxMzcxYWRmYmIxNGFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAt
NzAsNiArNzAsOCBAQCBpbmxpbmUgV29ya2VyOjpXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZQogICAgICwgbV9pZGVudGlmaWVy
KCJ3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlm
aWVyKCkpCiAgICAgLCBtX2NvbnRleHRQcm94eShXb3JrZXJHbG9iYWxTY29wZVByb3h5OjpjcmVh
dGUoKnRoaXMpKQogICAgICwgbV9ydW50aW1lRmxhZ3MocnVudGltZUZsYWdzKQorICAgICwgbV90
eXBlKG9wdGlvbnMudHlwZSkKKyAgICAsIG1fY3JlZGVudGlhbHMob3B0aW9ucy5jcmVkZW50aWFs
cykKIHsKICAgICBzdGF0aWMgYm9vbCBhZGRlZExpc3RlbmVyOwogICAgIGlmICghYWRkZWRMaXN0
ZW5lcikgewpAQCAtMTEzLDEwICsxMTUsMTMgQEAgRXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IFdv
cmtlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEpTQzo6UnUKIAog
ICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7CiAgICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBG
ZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW47CisgICAgaWYgKHdvcmtlci0+bV90eXBlID09
IFdvcmtlclR5cGU6Ok1vZHVsZSkKKyAgICAgICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0g
d29ya2VyLT5tX2NyZWRlbnRpYWxzOwogICAgIGZldGNoT3B0aW9ucy5jYWNoZSA9IEZldGNoT3B0
aW9uczo6Q2FjaGU6OkRlZmF1bHQ7CiAgICAgZmV0Y2hPcHRpb25zLnJlZGlyZWN0ID0gRmV0Y2hP
cHRpb25zOjpSZWRpcmVjdDo6Rm9sbG93OwogICAgIGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiA9
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcjsKLSAgICB3b3JrZXItPm1fc2NyaXB0
TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RG
TW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2Vy
dmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlcik7CisgICAgd29ya2VyLT5tX3NjcmlwdExvYWRl
ci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUo
ZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VX
b3JrZXJzTW9kZTo6QWxsLCB3b3JrZXIuZ2V0KCkpOworCiAgICAgcmV0dXJuIHdvcmtlcjsKIH0K
IApAQCAtMjE1LDcgKzIyMCw3IEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAgICAg
UmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJp
bmc7CiAgICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExv
YWRlci0+cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIp
KQogICAgICAgICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7Ci0gICAgbV9jb250ZXh0UHJveHku
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29u
dGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3Njcmlw
dExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
bV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3Jl
YXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9ydW50aW1lRmxhZ3MpOworICAgIG1fY29udGV4
dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25h
bWUsIGNvbnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwg
bV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dv
cmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fdHlwZSwgbV9jcmVkZW50aWFscywg
bV9ydW50aW1lRmxhZ3MpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1w
b3J0ZWQoKmNvbnRleHQsIG1fc2NyaXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9h
ZGVyLT5zY3JpcHQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCmluZGV4IDUzZjVlNmZm
ZjI3YzlmYTNlNWMwZTAxZjBmNmM0MmM2Y2I2ZjlkMGUuLjM4YTYyM2E5OGRiYTM1ZmY4MDEzY2Q2
ZmM4Yzg1YzgxMDIwNTAyMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaApAQCAtMjksOSArMjks
MTEgQEAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgor
I2luY2x1ZGUgIkZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBv
cnQuaCIKICNpbmNsdWRlICJQb3N0TWVzc2FnZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXJT
Y3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1Rp
bWUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KQEAgLTU1LDYgKzU3LDggQEAgY2xhc3Mg
V29ya2VyIGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2Jq
ZWN0LCBwcml2YXRlIFdvcmsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdvcmtlcik7CiBw
dWJsaWM6CiAgICAgc3RydWN0IE9wdGlvbnMgeworICAgICAgICBXb3JrZXJUeXBlIHR5cGU7Cisg
ICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwogICAgICAgICBTdHJp
bmcgbmFtZTsKICAgICB9OwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgU3Ry
aW5nJiB1cmwsIGNvbnN0IE9wdGlvbnMmKTsKQEAgLTc5LDYgKzgzLDggQEAgY2xhc3MgV29ya2Vy
IGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBw
cml2YXRlIFdvcmsKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlv
bjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJik7CiAjZW5kaWYKIAorICAgIFdvcmtl
clR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorCiBwcml2YXRlOgogICAgIGV4
cGxpY2l0IFdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3Ms
IGNvbnN0IE9wdGlvbnMmKTsKIApAQCAtMTEyLDYgKzExOCw4IEBAIGNsYXNzIFdvcmtlciBmaW5h
bCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0
ZSBXb3JrCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fdHJhbnNm
b3JtZXJzOwogI2VuZGlmCisgICAgV29ya2VyVHlwZSBtX3R5cGUgeyBXb3JrZXJUeXBlOjpDbGFz
c2ljIH07CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFscyB7IEZldGNo
UmVxdWVzdENyZWRlbnRpYWxzOjpTYW1lT3JpZ2luIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKaW5kZXggNDVkNmEwODY3ODU0ZWU0MDRk
ZTdlN2QwMTI0OGNlYmY0NGRjYTdlZC4uNzAyMTc5NmRmNTA0YWRmOGU2Yjk1ODlhY2U5ZjE0NDgy
MWYyOTVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbApAQCAtMzgsNiArMzgsOCBAQAog
fTsKIAogZGljdGlvbmFyeSBXb3JrZXJPcHRpb25zIHsKKyAgICBXb3JrZXJUeXBlIHR5cGUgPSAi
Y2xhc3NpYyI7CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMgPSAic2Ft
ZS1vcmlnaW4iOyAvLyBjcmVkZW50aWFscyBpcyBvbmx5IHVzZWQgaWYgdHlwZSBpcyAibW9kdWxl
IgogICAgIERPTVN0cmluZyBuYW1lID0gIiI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggNDZkNDlkOTRjNTIzOGU0Njg4ZDM5NWQ4N2MyMDYz
ZWI1NzIwZDFiZi4uMzg0MWE3ODFkODVkMTYwZDQwMzZjZjAwYjdkMGUzOWUwMGVhMWFkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMTYzLDggKzE2
Myw2IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFdv
cmtlckdsb2JhbFNjb3BlPiwgcHVibGljIEJhc2U2CiAgICAgbXV0YWJsZSBSZWZQdHI8V29ya2Vy
TG9jYXRpb24+IG1fbG9jYXRpb247CiAgICAgbXV0YWJsZSBSZWZQdHI8V29ya2VyTmF2aWdhdG9y
PiBtX25hdmlnYXRvcjsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyPiBtX3NjcmlwdDsKLQogICAgIGJvb2wgbV9pc09ubGluZTsKICAgICBib29s
IG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCmluZGV4IDQwMDAz
YzNlMDEwOTk5NjBmNjQ3ODYxZTcwMTY4N2QwZTM3MWQ3MmQuLjdiOTFkNzUzZDFjOWQ3MjlhZTUw
ODY1NGMyZTg1Zjc2NzkxZTAwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIFdvcmtlckdsb2Jh
bFNjb3BlUHJveHkgewogcHVibGljOgogICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZVByb3h5
JiBjcmVhdGUoV29ya2VyJik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxT
Y29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3
b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50
aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2Nv
cGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29w
ZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RU
YXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmKT4mJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmNwcAppbmRleCAxOWQ0YmU2NDk5MmYzMGQzY2NlNzY1NDdhM2QyMjE4YTk4Yzg0MmMz
Li43ODgzNTg3YTdhZjYyMDllM2VjYzhlN2I0MWJhZDQ3YWRmNjIyNDBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtNzMsNyArNzMs
NyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAg
ICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAm
JiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCku
dGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAKLXZvaWQgV29y
a2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3Jp
cHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wg
aXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBKU0M6
OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpz
dGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3JrZXJUeXBlLCBG
ZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MgcnVu
dGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2aXNpdGVkIHdo
ZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQobV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0KTsKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQ
cm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3Qg
U3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9IGRvY3VtZW50LnNvY2tl
dFByb3ZpZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsgc2NyaXB0VVJM
LCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGRvY3VtZW50LnNldHRpbmdzVmFs
dWVzKCkgfTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsgc2NyaXB0VVJMLCBuYW1l
LCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUsIGNyZWRlbnRpYWxzLCBk
b2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpIH07CiAgICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRX
b3JrZXJUaHJlYWQ6OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgKnRo
aXMsIHN0YXJ0TW9kZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHByb3h5LCBzb2NrZXRQcm92aWRl
ciwgcnVudGltZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0ZWQodGhyZWFkLmdldCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRl
eCBjNWI1NzViOWU2MTViM2YzZjU5NmJmYzNkZjY4M2M4NzdjYzYyYmFiLi4yZTIzMTY5ZjA3OTNm
MGRjZjgwOGE5YmNmYjU4ZTZjOTA4YzZjYzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01MCw3ICs1MCw3IEBAIGNsYXNzIFdvcmtlck1l
c3NhZ2luZ1Byb3h5IGZpbmFsIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFdvcmtlck1l
c3NhZ2luZ1ByCiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3JrZXJHbG9i
YWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5jdGlvbnMgaW4gdGhlIHdv
cmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVm
ZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1Rp
bWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUgd29ya2VyVHlwZSwgRmV0
Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzKSBmaW5h
bDsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2JhbFNjb3BlKCkgZmluYWw7CiAgICAgdm9p
ZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMm
JikgZmluYWw7CiAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248
dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCAy
Mzg0YTVhOGM3ZDJhMzAyZWVlNWNiNDA1ZTEwNWUwMjVjOTg0M2NjLi5hZjQ5NjhiNGJlYWVmM2Q1
YWY0ZjczNzRjNThlMDEwYTMzZThmYTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtMjYsNiArMjYsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
LmgiCiAKKyNpbmNsdWRlICJTY3JpcHRNb2R1bGVMb2FkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJF
dmVudExvb3AuaCIKICNpbmNsdWRlICJXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIgpAQCAtMzksNiArNDAsNyBA
QCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUp
OwogCiBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBSZWY8SlNDOjpWTT4mJiB2bSwgV29ya2VyT3JXb3Jr
bGV0VGhyZWFkKiB0aHJlYWQpCiAgICAgOiBtX3NjcmlwdChtYWtlVW5pcXVlPFdvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXI+KHR5cGUsIFdURk1vdmUodm0pLCB0aGlzKSkKKyAgICAsIG1f
bW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhpcykpCiAgICAg
LCBtX3RocmVhZCh0aHJlYWQpCiAgICAgLCBtX2luc3BlY3RvckNvbnRyb2xsZXIobWFrZVVuaXF1
ZTxXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyPigqdGhpcykpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgKaW5kZXggNmMyNDRh
MGM0MjdlZTFjOGM2NWZkY2M3NjU5NTJmODc3ZmQ5YjE2Yi4uNTQ0ZjA0N2FlYzI3ODMyNzQ0ZDBh
OGE3MGFmN2U5MzljMzMwOTkyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAtMzIsNiArMzIsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBFdmVudExvb3BUYXNrR3JvdXA7CitjbGFzcyBTY3JpcHRNb2R1
bGVMb2FkZXI7CiBjbGFzcyBXb3JrZXJFdmVudExvb3A7CiBjbGFzcyBXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyOwogY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjsKQEAgLTU0
LDYgKzU1LDggQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KIAogICAgIHVuc2lnbmVkIGxvbmcg
Y3JlYXRlVW5pcXVlSWRlbnRpZmllcigpIHsgcmV0dXJuIG1fdW5pcXVlSWRlbnRpZmllcisrOyB9
CiAKKyAgICBTY3JpcHRNb2R1bGVMb2FkZXImIG1vZHVsZUxvYWRlcigpIHsgcmV0dXJuICptX21v
ZHVsZUxvYWRlcjsgfQorCiAgICAgLy8gU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KICAgICBFdmVu
dExvb3BUYXNrR3JvdXAmIGV2ZW50TG9vcCgpIGZpbmFsOwogICAgIGJvb2wgaXNDb250ZXh0VGhy
ZWFkKCkgY29uc3QgZmluYWw7CkBAIC04OCw2ICs5MSw3IEBAIGNsYXNzIFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHB1YmxpYyBSZWZD
b3VuCiAgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcj4gbV9zY3Jp
cHQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNjcmlwdE1vZHVsZUxvYWRlcj4gbV9tb2R1bGVMb2Fk
ZXI7CiAgICAgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiBtX3RocmVhZDsKICAgICBSZWZQdHI8V29y
a2VyRXZlbnRMb29wPiBtX2V2ZW50TG9vcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRMb29w
VGFza0dyb3VwPiBtX2RlZmF1bHRUYXNrR3JvdXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCBj
ZDRlYzI0NjgyNTI1YWFiYzY0MmQ4NzdhMGRhMDExZWJkZTExNDMxLi4xMjJjMmYyMzI4NGEyZWNi
Njg5YzViZDI2ODMzZjFlYWRiOTM2MTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM1LDYg
KzM1LDkgQEAKICNpbmNsdWRlICJKU0V4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkpTUGFpbnRXb3Jr
bGV0R2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5o
IgorI2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0
Y2hGYWlsdXJlS2luZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgogI2lu
Y2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRh
LmgiCiAjaW5jbHVkZSAiV29ya2VyQ29uc29sZUNsaWVudC5oIgpAQCAtNDMsNyArNDYsMTIgQEAK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9FeGNlcHRpb24uaD4KICNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9FeGNlcHRpb25IZWxwZXJzLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvR0NB
Y3Rpdml0eUNhbGxiYWNrLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNJbnRlcm5hbFBy
b21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0xvY2suaD4KKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KU01vZHVsZVJlY29yZC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTTmF0aXZlU3RkRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1Njcmlw
dEZldGNoUGFyYW1ldGVycy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU2NyaXB0RmV0
Y2hlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZ0lubGluZXMuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtMjI4LDcgKzIzNiwxNTYgQEAgdm9pZCBXb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3Vy
Y2VDb2QKICAgICB9CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEpTR2xvYmFsU2NvcGVQcm90b3R5
cGUsIHR5cGVuYW1lIEpTR2xvYmFsU2NvcGUsIHR5cGVuYW1lIEdsb2JhbFNjb3BlPgorc3RhdGlj
IElkZW50aWZpZXIganNWYWx1ZVRvTW9kdWxlS2V5KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGlmICh2YWx1ZS5pc1N5bWJvbCgpKQor
ICAgICAgICByZXR1cm4gSWRlbnRpZmllcjo6ZnJvbVVpZChqc0Nhc3Q8U3ltYm9sKj4odmFsdWUp
LT5wcml2YXRlTmFtZSgpKTsKKyAgICBBU1NFUlQodmFsdWUuaXNTdHJpbmcoKSk7CisgICAgcmV0
dXJuIGFzU3RyaW5nKHZhbHVlKS0+dG9JZGVudGlmaWVyKGxleGljYWxHbG9iYWxPYmplY3QpOwor
fQorCitKU0M6OkpTVmFsdWUgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVh
dGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYgbW9kdWxlUmVjb3JkKQoreworICAgIGF1dG8m
IGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsKKyAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisgICAg
cmV0dXJuIG1vZHVsZVJlY29yZC5ldmFsdWF0ZSgmZ2xvYmFsT2JqZWN0KTsKK30KKworc3RhdGlj
IHZvaWQgZHJpdmVSdW5Mb29wKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVy
aXRzPEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlPih2bSkpIHsKKyAgICAgICAganNDYXN0PGNvbnN0
IEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLnBvc3RU
YXNrKFtdKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKXt9KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU1dvcmtsZXRHbG9iYWxTY29wZUJh
c2U+KHZtKSkgeworICAgICAgICBqc0Nhc3Q8Y29uc3QgSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNl
Kj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLnBvc3RUYXNrKFtdKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmKXt9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KK30KKworTWVzc2FnZVF1ZXVlV2Fp
dFJlc3VsdCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkTW9kdWxlU3luY2hy
b25vdXNseShMb2FkYWJsZU1vZHVsZVNjcmlwdCYgbW9kdWxlU2NyaXB0LCBjb25zdCBTY3JpcHRT
b3VyY2VDb2RlJiBzb3VyY2VDb2RlKQoreworICAgIGlmIChpc0V4ZWN1dGlvbkZvcmJpZGRlbigp
KQorICAgICAgICByZXR1cm4gTWVzc2FnZVF1ZXVlVGVybWluYXRlZDsKKworICAgIGluaXRTY3Jp
cHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVX
cmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOworICAgIEpTTG9j
a0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIFJlZlB0cjxMb2FkYWJsZU1vZHVsZVNjcmlwdD4g
bW9kdWxlU2NyaXB0UmVmOworICAgIHsKKyAgICAgICAgYXV0byYgcHJvbWlzZSA9IEpTRXhlY1N0
YXRlOjpsb2FkTW9kdWxlKGdsb2JhbE9iamVjdCwgc291cmNlQ29kZS5qc1NvdXJjZUNvZGUoKSwg
SlNDOjpKU1NjcmlwdEZldGNoZXI6OmNyZWF0ZSh2bSwgeyAmbW9kdWxlU2NyaXB0IH0pKTsKKwor
ICAgICAgICBtb2R1bGVTY3JpcHRSZWYgPSAmbW9kdWxlU2NyaXB0OworCisgICAgICAgIGF1dG8m
IGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNyZWF0ZSh2bSwgJmdsb2Jh
bE9iamVjdCwgMSwgU3RyaW5nKCksIFttb2R1bGVTY3JpcHRSZWZdKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSAtPiBKU0M6OkVuY29kZWRKU1ZhbHVl
IHsKKyAgICAgICAgICAgIGRyaXZlUnVuTG9vcChnbG9iYWxPYmplY3QpOworICAgICAgICAgICAg
V1RGUmVwb3J0QmFja3RyYWNlKCk7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qt
PnZtKCk7CisgICAgICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CisgICAgICAgICAgICBJZGVudGlmaWVyIG1vZHVsZUtleSA9IGpzVmFsdWVUb01vZHVsZUtleShn
bG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+YXJndW1lbnQoMCkpOworICAgICAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAgICAgIG1vZHVsZVNjcmlwdFJlZi0+
bm90aWZ5TG9hZENvbXBsZXRlZCgqbW9kdWxlS2V5LmltcGwoKSk7CisgICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsKKworICAgICAg
ICBhdXRvJiByZWplY3RIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNyZWF0ZSh2bSwg
Jmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFttb2R1bGVTY3JpcHRSZWZdKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSB7CisgICAgICAgICAgICBk
cml2ZVJ1bkxvb3AoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIFdURlJlcG9ydEJhY2t0cmFj
ZSgpOworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAg
ICAgSlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKKyAgICAgICAg
ICAgIGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvKiBv
YmplY3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAgICAgICAgICAgIGlmIChK
U1ZhbHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGljX2Nh
c3Q8SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFpbHVy
ZUtpbmRQcml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGhv
c3QgcHJvcGFnYXRlZCBlcnJvciBpbiB0aGUgbW9kdWxlIGxvYWRlciBwaXBlbGluZS4KKyAgICAg
ICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaEZhaWx1cmVLaW5k
PihmYWlsdXJlS2luZFZhbHVlLmFzSW50MzIoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAgICAgICAgICAgICAgICAg
ICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpF
cnJvciB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9y
VHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdURjo6bnVs
bG9wdAorICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5k
OjpXYXNDYW5jZWxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZVNjcmlwdFJlZi0+
bm90aWZ5TG9hZFdhc0NhbmNlbGVkKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOwor
ICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2Ny
aXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6
Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVz
c2FnZSB7CisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VTb3VyY2U6OkpTLAorICAgICAgICAg
ICAgICAgICAgICBNZXNzYWdlTGV2ZWw6OkVycm9yLAorICAgICAgICAgICAgICAgICAgICByZXRy
aWV2ZUVycm9yTWVzc2FnZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgc2NvcGUpLAor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgZGF0
YUxvZ0xuKCJTVEFUVVMgIiwgc3RhdGljX2Nhc3Q8aW50Pihwcm9taXNlLnN0YXR1cyh2bSkpKTsK
KyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxPYmplY3QsICZmdWxmaWxsSGFuZGxlciwgJnJl
amVjdEhhbmRsZXIpOworICAgIH0KKyAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJm
b3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworCisgICAgLy8gRHJpdmUgUnVuTG9vcCB1bnRpbCB3
ZSBnZXQgZWl0aGVyIG9mICJXb3JrZXIgaXMgdGVybWluYXRlZCIsICJMb2FkaW5nIGlzIGRvbmUi
LCBvciAiTG9hZGluZyBpcyBmYWlsZWQiLgorICAgIFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSBt
X2dsb2JhbFNjb3BlLT53b3JrZXJPcldvcmtsZXRUaHJlYWQoKS0+cnVuTG9vcCgpOworICAgIFN0
cmluZyBtb2RlID0gbWFrZVN0cmluZygibG9hZE1vZHVsZVN5bmNocm9ub3VzbHkiLCBydW5Mb29w
LmNyZWF0ZVVuaXF1ZUlkKCkpOworCisgICAgZGF0YUxvZ0xuKCJSVU5MT09QICIsIHN0YXRpY19j
YXN0PGludD4obW9kdWxlU2NyaXB0UmVmLT5pc0xvYWRlZCgpKSwgIiAiLCBzdGF0aWNfY2FzdDxp
bnQ+KG1vZHVsZVNjcmlwdFJlZi0+d2FzQ2FuY2VsZWQoKSkpOworICAgIE1lc3NhZ2VRdWV1ZVdh
aXRSZXN1bHQgcmVzdWx0ID0gTWVzc2FnZVF1ZXVlTWVzc2FnZVJlY2VpdmVkOworICAgIHdoaWxl
ICgoIW1vZHVsZVNjcmlwdFJlZi0+aXNMb2FkZWQoKSAmJiAhbW9kdWxlU2NyaXB0UmVmLT53YXND
YW5jZWxlZCgpKSAmJiByZXN1bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAg
ICByZXN1bHQgPSBydW5Mb29wLnJ1bkluTW9kZShtX2dsb2JhbFNjb3BlLCBtb2RlKTsKKyAgICB9
CisKKyAgICAvLyBGSVhNRTogQ3VycmVudGx5IHdlIGFyZSBub3Qgb2ZmZXJpbmcgY2FuY2VsbGlu
Zy4KKyAgICAvLyBpZiAoIWxvYWRlci0+ZG9uZSgpICYmIHJlc3VsdCA9PSBNZXNzYWdlUXVldWVU
ZXJtaW5hdGVkKQorICAgIC8vICAgICBsb2FkZXItPmNhbmNlbCgpOworCisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKwordm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsaW5rQW5k
RXZhbHVhdGVNb2R1bGUoTG9hZGFibGVNb2R1bGVTY3JpcHQmIG1vZHVsZVNjcmlwdCwgY29uc3Qg
U2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1l
c3NhZ2UpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFsT2JqZWN0
ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVj
dC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIE5ha2VkUHRyPEpT
Qzo6RXhjZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsKKyAgICBKU0V4ZWNTdGF0ZTo6bGlua0Fu
ZEV2YWx1YXRlTW9kdWxlKGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgbW9k
dWxlU2NyaXB0Lm1vZHVsZUtleSgpKSwganNVbmRlZmluZWQoKSwgcmV0dXJuZWRFeGNlcHRpb24p
OworICAgIGlmICgocmV0dXJuZWRFeGNlcHRpb24gJiYgaXNUZXJtaW5hdGVkRXhlY3V0aW9uRXhj
ZXB0aW9uKHZtLCByZXR1cm5lZEV4Y2VwdGlvbikpIHx8IGlzVGVybWluYXRpbmdFeGVjdXRpb24o
KSkgeworICAgICAgICBmb3JiaWRFeGVjdXRpb24oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbikgeworICAgICAgICBpZiAobV9nbG9iYWxTY29w
ZS0+Y2FuSW5jbHVkZUVycm9yRGV0YWlscyhzb3VyY2VDb2RlLmNhY2hlZFNjcmlwdCgpLCBzb3Vy
Y2VDb2RlLnVybCgpLnN0cmluZygpKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEl0J3Mgbm90
IGdyZWF0IHRoYXQgdGhpcyBjYW4gcnVuIGFyYml0cmFyeSBjb2RlIHRvIHN0cmluZy1pZnkgdGhl
IHZhbHVlIG9mIHRoZSBleGNlcHRpb24uCisgICAgICAgICAgICAvLyBEbyB3ZSBuZWVkIHRvIGRv
IGFueXRoaW5nIHRvIGhhbmRsZSB0aGF0IHByb3Blcmx5LCBpZiBpdCwgc2F5LCByYWlzZXMgYW5v
dGhlciBleGNlcHRpb24/CisgICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb25NZXNzYWdl
KQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSByZXR1cm5lZEV4
Y2VwdGlvbi0+dmFsdWUoKS50b1dURlN0cmluZygmZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIC8vIE92ZXJ3cml0ZSB0aGUgZGV0YWlsZWQgZXJyb3Igd2l0aCBh
IGdlbmVyaWMgZXJyb3IuCisgICAgICAgICAgICBTdHJpbmcgZ2VuZXJpY0Vycm9yTWVzc2FnZSB7
ICJTY3JpcHQgZXJyb3IuIl9zIH07CisgICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb25N
ZXNzYWdlKQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBnZW5l
cmljRXJyb3JNZXNzYWdlOworICAgICAgICAgICAgcmV0dXJuZWRFeGNlcHRpb24gPSBKU0M6OkV4
Y2VwdGlvbjo6Y3JlYXRlKHZtLCBjcmVhdGVFcnJvcigmZ2xvYmFsT2JqZWN0LCBnZW5lcmljRXJy
b3JNZXNzYWdlKSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBKU0dsb2JhbFNjb3BlUHJvdG90eXBlLCB0eXBlbmFtZSBKU0dsb2JhbFNjb3BlLCB0eXBlbmFt
ZSBHbG9iYWxTY29wZT4KIHZvaWQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6aW5p
dFNjcmlwdFdpdGhTdWJjbGFzcygpCiB7CiAgICAgQVNTRVJUKCFtX2dsb2JhbFNjb3BlV3JhcHBl
cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNj
cmlwdENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGM0OTMwMWFlZDNkZDA4OWRhNzk3MzI3NjBjYWYyZjdi
NjRkYjExYjYuLmZhNWFkNWQwYzI3MGJjMTY1MzA1MmYxMjAxOGM5N2FkYzU5NjBjMzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlci5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SlNSdW5Mb29wVGltZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrLmg+CisjaW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgogI2luY2x1ZGUgPHd0Zi9O
YWtlZFB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQ0LDYgKzQ1LDcgQEAgY2xhc3MgSlNH
bG9iYWxPYmplY3Q7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEpTRE9NR2xvYmFsT2Jq
ZWN0OworY2xhc3MgTG9hZGFibGVNb2R1bGVTY3JpcHQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2Rl
OwogY2xhc3MgV29ya2VyQ29uc29sZUNsaWVudDsKIGNsYXNzIFdvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlOwpAQCAtOTQsNiArOTYsMTEgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29u
dHJvbGxlciB7CiAgICAgdm9pZCBldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgU3Ry
aW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKICAgICB2b2lkIGV2YWx1
YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4mIHJl
dHVybmVkRXhjZXB0aW9uLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxw
dHIpOwogCisgICAgSlNDOjpKU1ZhbHVlIGV2YWx1YXRlTW9kdWxlKEpTQzo6SlNNb2R1bGVSZWNv
cmQmKTsKKworICAgIHZvaWQgbGlua0FuZEV2YWx1YXRlTW9kdWxlKExvYWRhYmxlTW9kdWxlU2Ny
aXB0JiwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU3RyaW5nKiByZXR1cm5l
ZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKKyAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0
IGxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KExvYWRhYmxlTW9kdWxlU2NyaXB0JiwgY29uc3QgU2Ny
aXB0U291cmNlQ29kZSYpOworCiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUqIGdsb2JhbFNjb3BlKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxTY29wZTsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCBjOTU2ZGY5NTZiMGI0
MTNiNmYzMWU2OGIxMjcwMTFlMmMwNzJlNjRlLi5kNWRkMTRhMDE0NmExZjZiYmNmNTc2YWM2MDc4
NjVhMjlkNGI2NWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1
bkxvb3AuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAK
QEAgLTI1MSw2ICsyNTEsNyBAQCB2b2lkIFdvcmtlclJ1bkxvb3A6OnBvc3RUYXNrKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OlRhc2smJiB0YXNrKQogCiB2b2lkIFdvcmtlclJ1bkxvb3A6OnBvc3RU
YXNrQW5kVGVybWluYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2smJiB0YXNrKQogewor
ICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOwogICAgIG1fbWVzc2FnZVF1ZXVlLmFwcGVuZEFuZEtp
bGwobWFrZVVuaXF1ZTxUYXNrPihXVEZNb3ZlKHRhc2spLCBkZWZhdWx0TW9kZSgpKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMyMjYx
OWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1NzgzLi4xOGZjYjIyOTI2ODBiNWMyYzc4NTdkZDgxOWVl
ZGY4YWU5Y2I5MWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBA
IC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKICNpbmNsdWRlICJJ
REJDb25uZWN0aW9uUHJveHkuaCIKKyNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIgog
I2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5o
IgogI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCkBAIC01NSw2ICs1Niw4IEBAIFdvcmtlclBh
cmFtZXRlcnMgV29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICAgICAg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LAogICAgICAgICB0aW1l
T3JpZ2luLAogICAgICAgICByZWZlcnJlclBvbGljeSwKKyAgICAgICAgd29ya2VyVHlwZSwKKyAg
ICAgICAgY3JlZGVudGlhbHMsCiAgICAgICAgIHNldHRpbmdzVmFsdWVzLmlzb2xhdGVkQ29weSgp
CiAgICAgfTsKIH0KQEAgLTEyMyw5ICsxMjYsMzIgQEAgYm9vbCBXb3JrZXJUaHJlYWQ6OnNob3Vs
ZFdhaXRGb3JXZWJJbnNwZWN0b3JPblN0YXJ0dXAoKSBjb25zdAogCiB2b2lkIFdvcmtlclRocmVh
ZDo6ZXZhbHVhdGVTY3JpcHRJZk5lY2Vzc2FyeShTdHJpbmcmIGV4Y2VwdGlvbk1lc3NhZ2UpCiB7
Ci0gICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUo
bV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3Jp
cHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOwotCi0gICAgZmluaXNoZWRFdmFsdWF0aW5nU2Ny
aXB0KCk7CisgICAgLy8gV2UgYXJlIGN1cnJlbnRseSBob2xkaW5nIG9ubHkgdGhlIGluaXRpYWwg
c2NyaXB0IGNvZGUuIElmIHRoZSBXb3JrZXJUeXBlIGlzIE1vZHVsZSwgd2Ugc2hvdWxkIGZldGNo
IHRoZSBlbnRpcmUgZ3JhcGggYmVmb3JlIGV4ZWN1dGluZyB0aGUgcmVzdCBvZiB0aGlzLgorICAg
IC8vIFdlIGludm9rZSBtb2R1bGUgbG9hZGVyIGFzIGlmIHdlIGFyZSBleGVjdXRpbmcgaW5saW5l
IG1vZHVsZSBzY3JpcHQgdGFnIGluIERvY3VtZW50LgorCisgICAgaWYgKG1fc3RhcnR1cERhdGEt
PnBhcmFtcy53b3JrZXJUeXBlID09IFdvcmtlclR5cGU6OkNsYXNzaWMpIHsKKyAgICAgICAgZ2xv
YmFsU2NvcGUoKS0+c2NyaXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVw
RGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwg
JmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsK
KyAgICB9IGVsc2UgeworICAgICAgICAvLyBGSVhNRSBjcm9zc09yaWdpbiBtb2RlIHNob3VsZCBi
ZSBjb252ZXJ0ZWQuCisgICAgICAgIC8vIEZJWE1FIGZpeCBpbml0aWF0b3IgbmFtZS4KKyAgICAg
ICAgLy8gRklYTUUgcGFzcyBVUkwgdG8gbW9kdWxlIGxvYWRlci4KKyAgICAgICAgZGF0YUxvZ0xu
KCJXT1JLRVIgTU9EVUxFIik7CisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZSht
X3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlw
dFVSTCksIHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSk7CisgICAg
ICAgIGF1dG8gbW9kdWxlU2NyaXB0ID0gTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmNyZWF0ZShlbXB0
eVN0cmluZygpLCBlbXB0eVN0cmluZygpLCBtX3N0YXJ0dXBEYXRhLT5wYXJhbXMucmVmZXJyZXJQ
b2xpY3ksIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyOjpkZWZhdWx0Q3Jvc3NPcmln
aW5Nb2RlRm9yTW9kdWxlLCBlbXB0eVN0cmluZygpLCBlbXB0eUF0b20oKSwgZmFsc2UpOworICAg
ICAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IGdsb2JhbFNjb3BlKCktPnNjcmlw
dCgpLT5sb2FkTW9kdWxlU3luY2hyb25vdXNseShtb2R1bGVTY3JpcHQuZ2V0KCksIHNvdXJjZUNv
ZGUpOworICAgICAgICBkYXRhTG9nTG4oIldPUktFUiBNT0RVTEUgRkVUQ0hFRCIpOworICAgICAg
ICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpIHsKKyAgICAgICAgICAgIGlm
ICghbW9kdWxlU2NyaXB0LT5lcnJvcigpICYmICFtb2R1bGVTY3JpcHQtPndhc0NhbmNlbGVkKCkp
IHsKKyAgICAgICAgICAgICAgICAvLyBFdmFsdWF0ZS4KKyAgICAgICAgICAgICAgICBnbG9iYWxT
Y29wZSgpLT5zY3JpcHQoKS0+bGlua0FuZEV2YWx1YXRlTW9kdWxlKG1vZHVsZVNjcmlwdC5nZXQo
KSwgc291cmNlQ29kZSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICAgICAgICAgIGRhdGFM
b2dMbigiV09SS0VSIE1PRFVMRSBFVkFMVUFURUQiKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hl
ZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgLy8gRklYTUUgVGhyb3cgYW4gZXJyb3IuCisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICB9CiAKICAgICAvLyBGcmVlIHRoZSBzdGFydHVwIGRhdGEgdG8gY2F1c2UgaXRzIG1lbWJlciB2
YXJpYWJsZSBkZXJlZidzIGhhcHBlbiBvbiB0aGUgd29ya2VyJ3MgdGhyZWFkIChzaW5jZQogICAg
IC8vIGFsbCByZWYvZGVyZWZzIG9mIHRoZXNlIG9iamVjdHMgYXJlIGhhcHBlbmluZyBvbiB0aGUg
dGhyZWFkIGF0IHRoaXMgcG9pbnQpLiBOb3RlIHRoYXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clRocmVhZC5oCmluZGV4IDg4OTA3OTA4ZTdhOWI4MDllOGYyYTRlNDczZDc1MmQxMWQyOTM3YzAu
Ljk1MTJlZmRiMThmMzJhNTBlY2I3ZmI1Njk1OWQ2MWU4ODcyZmExZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtMjYsNyArMjYsMTAgQEAKICNwcmFnbWEgb25jZQog
CiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmgiCisjaW5j
bHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmts
ZXRUaHJlYWQuaCIKKyNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCisjaW5jbHVkZSAiV29ya2Vy
VHlwZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFncy5oPgogI2luY2x1
ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CkBAIC02Myw2ICs2Niw4IEBAIHN0cnVj
dCBXb3JrZXJQYXJhbWV0ZXJzIHsKICAgICBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeTsKICAgICBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW47CiAgICAgUmVm
ZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3k7CisgICAgV29ya2VyVHlwZSB3b3JrZXJUeXBlOwor
ICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwogICAgIFNldHRpbmdzOjpW
YWx1ZXMgc2V0dGluZ3NWYWx1ZXM7CiAKICAgICBXb3JrZXJQYXJhbWV0ZXJzIGlzb2xhdGVkQ29w
eSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCBjOGE3YTk5NzJmOWNj
OGMxNmE3OTY3NTExNTUyZjU0OTNhNjg2Zjk4Li4zM2NhMGVjMjNiNThhNTUxMTg3Njg0NmJhMDcx
ODM1MzJiNWM0N2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
Y29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNzMsOCArNzMs
OSBAQCBjbGFzcyBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSA6IHB1YmxpYyBXb3JrZXJP
YmplY3RQcm94eSB7CiAvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2VyT2JqZWN0UHJveHkKIC8v
IEZJWE1FOiBVc2UgdmFsaWQgcnVudGltZSBmbGFncwogCisvLyBGSVhNRTogVXNlIGEgdmFsaWQg
V29ya2VyVHlwZSBhbmQgQ3JlZGVudGFpbHMgZm9yIG1vZHVsZSBzZXJ2aWNlIHdvcmtlcnMuCiBT
ZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3Jr
ZXJDb250ZXh0RGF0YSYgZGF0YSwgU3RyaW5nJiYgdXNlckFnZW50LCBjb25zdCBTZXR0aW5nczo6
VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcywgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBX
b3JrZXJEZWJ1Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rp
b25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlk
ZXIpCi0gICAgOiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwg
InNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJ
ZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxv
YWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBm
YWxzZSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0YS5z
Y3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJl
YWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLnJl
Z2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRiQ29u
bmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFs
bEVuYWJsZWQoKSkKKyAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0
cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6
OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdp
ZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBXb3JrZXJUeXBlOjpDbGFz
c2ljLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFsczo6U2FtZU9yaWdpbiwgc2V0dGluZ3NWYWx1ZXMg
fSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VX
b3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFs
LCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQo
KSwgaWRiQ29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6
OmNyZWF0ZUFsbEVuYWJsZWQoKSkKICAgICAsIG1fZGF0YShkYXRhLmlzb2xhdGVkQ29weSgpKQog
ICAgICwgbV93b3JrZXJPYmplY3RQcm94eShEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6
c2hhcmVkKCkpCiAgICAgLCBtX2hlYXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0TWFuYWdlcjo6c2lu
Z2xldG9uKCkuY29ubmVjdGlvbigpLT5zaG91bGRVc2VTaG9ydFRpbWVvdXQoKSA/IGhlYXJ0QmVh
dFRpbWVvdXRGb3JUZXN0IDogaGVhcnRCZWF0VGltZW91dCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419807</attachid>
            <date>2021-02-09 20:26:57 -0800</date>
            <delta_ts>2021-02-10 00:51:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210209202656.patch</filename>
            <type>text/plain</type>
            <size>100123</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZlNjA0YWRhNjJiNWRm
MmIzMzA0MTk0ZTc2ZGNkNzNjMzdjN2E3NC4uMWRkZDE3MjJkOWJjODIyYjAwNzAzZjkwYmU3YWQ1
ZTJlYWZkNTBhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkzIEBACisyMDIxLTAyLTA5ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBX
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjps
b2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5
RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNo
ZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2NyaXB0TW9kdWxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRjaCk6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1w
b3J0TWV0YVByb3BlcnRpZXMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2Jq
ZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNo
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9h
ZGVyRXZhbHVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNl
Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyk6
IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oLgorICAgICAgICAoV2ViQ29y
ZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpjbGVhckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpN
b2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgICogYmluZGlu
Z3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaC4KKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRN
b2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9h
ZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVs
ZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJM
RnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpl
dmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1v
ZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlz
aGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
LgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
Ojp+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmguCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQpOiBEZWxldGVkLgorICAgICAgICAq
IGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3Jp
cHQpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlcjo6V29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2Jh
bFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2Fk
ZXIpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1v
ZHVsZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29s
YXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0
ZVNjcmlwdElmTmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRo
cmVhZCk6CisKIDIwMjEtMDItMDcgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihyMjcyMzc5KSBbV1BFXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcvbWF0aHZhcmlhbnQgdGVzdHMg
YXJlIEltYWdlIEZhaWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggYTVlMTVjODUwN2Y2OWU4MTQ4ZWU3
N2IzODRkZTEzODFkYTc3OTYwMC4uYmRhNGNjODlhZDJjOWI5ZDBjYTIyZjIxNmU3NDNiNjAzYmZh
Mjc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTYzOCw2ICs2MzgsNyBAQCBiaW5kaW5ncy9qcy9TdHJ1
Y3R1cmVkQ2xvbmUuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlSklUT3BlcmF0aW9ucy5jcHAKIGJp
bmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlVHlw
ZWRBcnJheUNvbnRyb2xsZXIuY3BwCitiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuY3BwCiBiaW5kaW5ncy9qcy9XaW5kb3dQcm94eS5jcHAKIGJpbmRpbmdzL2pzL1dyaXRhYmxl
U3RyZWFtLmNwcAogYnJpZGdlL0lkZW50aWZpZXJSZXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzA3YzJhODExZmQ2M2Ji
YWUxZmJmMmU5YzJlZWExOWExODVkZDZkYy4uMjRjMzk2NWM1YjQxZTIyODA4YmE5NWUzMGYxMDcz
ZWY0MGU0NDNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNTA2MiwxNSArNTA2MiwxNyBAQAogCQlFMzA1OTI2NDFFMjdBM0FE
MDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTkyNjIxRTI3QTM4QzAwRDU3Qzk4IC8qIElubGlu
ZUNsYXNzaWNTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlFMzA1OTI2ODFFMjdBM0QxMDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTky
NjYxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzA3REVEMDFEODFFNEM3MDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJRTMwN0RFRDExRDgxRTRDQjAwMTQxQ0FGIC8qIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUUzMDdERUQ1MUQ4MUU0RjIwMDE0MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNjcmlw
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RF
RDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMxNTBFQTcxREE3MjE5MzAw
MTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJz
LmggKi87IH07CiAJCUUzMjAxQzFBMUY4RTgyMTMwMDc2QTAzMiAvKiBNb2R1bGVGZXRjaFBhcmFt
ZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
OEQwNjA5MUY4RTgxMTkwMDY0OUNGMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzIzQ0ZGQTFFNUFG
NkFGMDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyM0NGRjkxRTVBRjZBNTAwRjBCNEEwIC8qIEpT
RE9NQ29udmVydFByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgg
Ki87IH07CisJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
NTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU2NUI3QjFE
QzJENkM5MDAyMTdEQkQgLyogSlNFdmVudEN1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZl
bnRDdXN0b20uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODAyQjUxREM4
NDM1ODAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU4MkMyODI1MjdGNjY5MDBEMUI3OTAg
LyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzNTgyQzI2MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3Bl
cmF0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUUzNUI5MDdGMjNGNjBBNTAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1QjkwN0MyM0Y2
MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM2NDMyMUMyNUQzN0E2NzAwRjkwRTJB
IC8qIE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExv
YWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzNzdGRTREMURBREUxNjUwMENERDAyNSAvKiBOb2RlQ29uc3RhbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QwNDk5MzFEQURDMDQ1MDA3MThG
M0MgLyogTm9kZUNvbnN0YW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAvKiBKU0RPTVByb21pc2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzN0M4NjRG
MUVCNjNFMkQwMDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzk2MjhCRjIzOTU3MjhGMDA2NThFQ0QgLyog
RGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNEIC8qIERldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTYxNzcsNyArMTYxNzksNiBAQAogCQlFMzA1OTI2NjFF
MjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDYWNoZWRTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUzMDdERUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMw
N0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8q
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFRDIxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9k
dWxlU2NyaXB0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvYWRh
YmxlTW9kdWxlU2NyaXB0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RF
RDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBET01KSVRIZWxw
ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEhlbHBlcnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MTkwLDEyICsxNjE5MSwxNiBAQAogCQlF
MzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyogVHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTMyOTI3NjYyMjU0M0ZERTAwMzA4QTlBIC8qIERPTVJlY3RSZWFkT25seS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01SZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzM0ODI1RTFEQzkzQUEwMDA5Qzk1NDQgLyogRE9NSklUQWJzdHJh
Y3RIZWFwUmVwb3NpdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBET01K
SVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKKwkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNj
cmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM0MzJERTMy
NUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMg
LyogSlNFdmVudEN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2
ZW50Q3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNTE4OEIzMjVEMzg3
Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzNTgwMkI1MURDODQzNTgwMEE5NzczQyAvKiBET01KSVRJRExU
eXBlRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVElETFR5
cGVGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODJDMjQyNTI3RjY2
ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRP
cGVyYXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVKSVRP
cGVyYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdDMjNGNjA2
NzcwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMzVCOTA3RTIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9k
ZWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbGl6ZWRE
ZXZpY2VNb2RlbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM2NDMyMUEyNUQz
N0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVByb21pc2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUzIC8qIFNjcmlwdE1vZHVs
ZUxvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRN
b2R1bGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5NTFC
QUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjY5ODcsNyArMjY5OTIsNiBAQAogCQkJCTJERkE0ODhFMURCNTQxQzIwMDM2
MkI5OSAvKiBCdWZmZXJTb3VyY2UuaCAqLywKIAkJCQlFMzA3REVDNjFEODFFNDQ4MDAxNDFDQUYg
LyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLywKIAkJCQlFMzA3REVDNzFEODFFNDQ4
MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCi0JCQkJRTMwN0RFQzgx
RDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovLAog
CQkJCUUzMDU5MjY1MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCAq
LywKIAkJCQlFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5o
ICovLAogCQkJCUJDRDUzMzYzMEVENjg0ODkwMDg4NzQ2OCAvKiBDYWNoZWRTY3JpcHRTb3VyY2VQ
cm92aWRlci5oICovLApAQCAtMjcwNjEsNiArMjcwNjUsOCBAQAogCQkJCTRCREVBMzJEMjE4MDM0
MDUwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwICovLAogCQkJCTRCREVB
MzJCMjE4MDMzRUIwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuaCAqLywKIAkJ
CQk3MDlBMDFGRDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oICov
LAorCQkJCUUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCAq
LywKKwkJCQlFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50LmggKi8sCiAJCQkJNDFCNDU5RUQxRjU1RUJDNzAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFt
LmNwcCAqLywKIAkJCQk0MUI0NTlEQTFGNENBREI5MDAwMEY2RkQgLyogUmVhZGFibGVTdHJlYW0u
aCAqLywKIAkJCQk0MThDMzk1RTFDOEYwQUFCMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlci5jcHAgKi8sCkBAIC0yNzA5Miw2ICsyNzA5OCw4IEBACiAJCQkJMEYwOTlE
MDcxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oICovLAog
CQkJCTQ2MzUyMUFDMjA4MTA5MEUwMEMyODkyMiAvKiBXaW5kb3dQcm94eS5jcHAgKi8sCiAJCQkJ
NDYzNTIxQUEyMDgxMDkwQjAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5LmggKi8sCisJCQkJRTM0MzJE
RTMyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8sCisJ
CQkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
ICovLAogCQkJCTQxNDE4QTAzMjU2NDNFMTIwMDM2MzQxNyAvKiBXcml0YWJsZVN0cmVhbS5jcHAg
Ki8sCiAJCQkJNDE0MThBMDQyNTY0M0UxMzAwMzYzNDE3IC8qIFdyaXRhYmxlU3RyZWFtLmggKi8s
CiAJCQkpOwpAQCAtMzEzNTcsNyArMzEzNjUsNiBAQAogCQkJCUJDQjE2QzFDMDk3OUMzQkQwMDQ2
Nzc0MSAvKiBDYWNoZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE5RkJENUYxNUQyRjQ2
NDAwOTY0MEE2IC8qIENhY2hlZEltYWdlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzA3
REVEMDFEODFFNEM3MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlFMzA3REVEMTFEODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAxODQ2OTBCMDg2MDJBMDA0
QTgyNUYgLyogQ2FjaGVkUGFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDBFREE3NzUxNDNFMzAz
QzAwMjhFMzgzIC8qIENhY2hlZFJhd1Jlc291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUI1
MzM0OTE3MTdERUUzMDBGMjA1RjkgLyogQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzM4MjcsNiArMzM4MzQsOCBAQAogCQkJCUM2RDc0QUQ1MDlBQTI4MkUwMDBC
MEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25MaXN0TGV2ZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTcw
OUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzY0MzIxQzI1RDM3QTY3MDBGOTBFMkEgLyog
TW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzUxODhCNDI1RDM4N0NG
MDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGNTVCM0RDNjEyNTFGMTJEMDAzRUYyNjkgLyogTW9udGhJbnB1dFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUzOTYyOEMxMjM5NTc0MzEwMDY1OEVDRCAvKiBNb3Rpb25NYW5hZ2VyQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0NjBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VF
dmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTQ3Niw2ICszNTQ4NSw3IEBACiAJCQkJMThGODMx
QjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRTQzNDY0RDBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyTG9jYXRpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTJFNDM0NjUwMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJNZXNzYWdpbmdQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM0MzJERTQyNUQzNzdFMzAwNThFNjEyIC8qIFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNzFBMEIwRUVF
Qzc3QTAwRjYxMjEzIC8qIFdvcmtlck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVD
QjA1MjUxRkI1MUYzQTAwMDg5Qjk3IC8qIFdvcmtlck5ldHdvcmtBZ2VudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMkU0MzQ2NTEwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlck9iamVjdFByb3h5Lmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0Nh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9D
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDM1MmRjYzRhY2Y3NTE3NmQ5OGFkMzQx
MGJlMTUxNjA4MDEwODg1MjQuLmM2YmM0NDdkMzE5MDQwMjRiM2NiZDdjY2E2YzBjMjljZmI0ODBh
NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyLmNwcApAQCAtNDAsMTMgKzQwLDEzIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOjpjcmVhdGUoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERl
ZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hl
ciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorUmVmPENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwg
Q2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFy
YW1ldGVycz4mJiBwYXJhbWV0ZXJzKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1v
dmUocGFyYW1ldGVycykpKTsKIH0KIAotQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQs
IERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0
Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQotICAgIDog
bV9jbGllbnQoJmNsaWVudCkKK0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFBy
b21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0
cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICA6IE1vZHVsZVNjcmlw
dExvYWRlcihjbGllbnQpCiAgICAgLCBtX3Byb21pc2UoJnByb21pc2UpCiAgICAgLCBtX3Njcmlw
dEZldGNoZXIoc2NyaXB0RmV0Y2hlcikKICAgICAsIG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFt
ZXRlcnMpKQpAQCAtNjEsMTQgKzYxLDE0IEBAIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6fkNh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlcigpCiAgICAgfQogfQogCi1ib29sIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNlVVJM
KQorYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50
LCBVUkwmJiBzb3VyY2VVUkwpCiB7CiAgICAgQVNTRVJUKCFtX2NhY2hlZFNjcmlwdCk7CiAgICAg
U3RyaW5nIGludGVncml0eSA9IG1fcGFyYW1ldGVycyA/IG1fcGFyYW1ldGVycy0+aW50ZWdyaXR5
KCkgOiBTdHJpbmcgeyB9OwogICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9zY3JpcHRGZXRjaGVyLT5y
ZXF1ZXN0TW9kdWxlU2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkwsIFdURk1vdmUoaW50ZWdyaXR5
KSk7CiAgICAgaWYgKCFtX2NhY2hlZFNjcmlwdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IG1fc291cmNlVVJMID0gc291cmNlVVJMOworICAgIG1fc291cmNlVVJMID0gV1RGTW92ZShzb3Vy
Y2VVUkwpOwogCiAgICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgYWxyZWFkeSBjYWNoZWQsIHRoaXMg
aW1tZWRpYXRlbHkgY2FsbHMgbm90aWZ5RmluaXNoZWQuCiAgICAgbV9jYWNoZWRTY3JpcHQtPmFk
ZENsaWVudCgqdGhpcyk7CkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IE5l
CiAKICAgICBSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlz
KTsKICAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgq
dGhpcywgV1RGTW92ZShtX3Byb21pc2UpKTsKKyAgICAgICAgbV9jbGllbnQtPm5vdGlmeUZpbmlz
aGVkKCp0aGlzLCBXVEZNb3ZlKG1fc291cmNlVVJMKSwgbV9wcm9taXNlLnJlbGVhc2VOb25OdWxs
KCkpOwogCiAgICAgLy8gUmVtb3ZlIHRoZSBjbGllbnQgYWZ0ZXIgY2FsbGluZyBub3RpZnlGaW5p
c2hlZCB0byBrZWVwIHRoZSBkYXRhIGJ1ZmZlciBpbgogICAgIC8vIENhY2hlZFJlc291cmNlIGFs
aXZlIHdoaWxlIG5vdGlmeUZpbmlzaGVkIHByb2Nlc3NlcyB0aGUgcmVzb3VyY2UuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5o
CmluZGV4IDQzYWJkODc1YjI0M2ZhZjVmY2Q0ZDk4ZWMzYzVkMjRlNzkwYjU3MmUuLjA0NDg3NjE4
OTlkZWVlN2E4NjU4MjhjMDAxZWRhMWJmNzgzNTMzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCiAj
aW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzQsNyArMzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKK2NsYXNzIE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudDsKIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIENhY2hlZFNjcmlw
dEZldGNoZXI7CiBjbGFzcyBEZWZlcnJlZFByb21pc2U7CkBAIC00MiwzMSArNDMsMjMgQEAgY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKIGNsYXNzIE1vZHVsZUZldGNo
UGFyYW1ldGVyczsKIAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVi
bGljIFJlZkNvdW50ZWQ8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiwgcHJpdmF0ZSBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CitjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBw
dWJsaWMgTW9kdWxlU2NyaXB0TG9hZGVyLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRl
KENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hl
ZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBz
dGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQ
dHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcigpOwogCi0gICAgYm9vbCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiBz
b3VyY2VVUkwpOworICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIFVSTCYmIHNvdXJjZVVSTCk7CiAK
ICAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyKCkgeyByZXR1cm4gbV9zY3Jp
cHRGZXRjaGVyLmdldCgpOyB9CiAgICAgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQoKSB7IHJl
dHVybiBtX2NhY2hlZFNjcmlwdC5nZXQoKTsgfQogICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyog
cGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQotICAgIGNvbnN0IFVS
TCYgc291cmNlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VVUkw7IH0KLQotICAgIHZvaWQg
Y2xlYXJDbGllbnQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICAgICAg
bV9jbGllbnQgPSBudWxscHRyOwotICAgIH0KIAogcHJpdmF0ZToKLSAgICBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9t
aXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+
JiYpOworICAgIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVs
ZUZldGNoUGFyYW1ldGVycz4mJik7CiAKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJl
c291cmNlJiwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikgZmluYWw7CiAKLSAgICBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9OwogICAgIFJlZlB0
cjxEZWZlcnJlZFByb21pc2U+IG1fcHJvbWlzZTsKICAgICBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hl
cj4gbV9zY3JpcHRGZXRjaGVyOwogICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+IG1f
cGFyYW1ldGVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDg2ODhhZDkwZGFlM2VjZTk0OWVhMDliMWVmZWU1ZGEyNmY5NGM3ODYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKKysrIC9kZXYvbnVsbApA
QCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlLCBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcjsKLWNsYXNzIERlZmVycmVkUHJvbWlzZTsKLQotY2xhc3MgQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7Ci0KLSAgICB2aXJ0dWFsIHZv
aWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4pID0gMDsKLX07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKaW5kZXggYTQzMzc1ODY1YmJmMWVjNTk3M2Jm
MTcyYzkxYTM4NTMyMzRlMzc0ZC4uZGYzYzZiNmViYjg0YWY3MmVkMjk1NWY5OTExZDA3YTg3YWIz
NTMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
RmV0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
RmV0Y2hlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vz
c0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CisjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00Nyw2ICs0OCw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNj
cmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdE1vZHVsZVNjcmlwdChEb2N1CiAKIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdFNjcmlwdFdpdGhDYWNoZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNl
VVJMLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBP
cHRpb25hbDxSZXNvdXJjZUxvYWRQcmlvcml0eT4gcmVzb3VyY2VMb2FkUHJpb3JpdHkpIGNvbnN0
CiB7CisgICAgLy8gV2l0aG91dCBzY3JpcHRpbmcsIHRoZXJlIGlzIG5vIHdheSB0byBzdGFydCBX
b3JrZXJzLgogICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS5pc1NjcmlwdEVuYWJsZWQoKSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1OGI3ZGY3NjBjMDBhMzFmZjA4ZWQyMmRl
ZTIyYThjNzQ0M2FlOGRkLi4xMDIyOTU0ODRmNjRjMTRkOGY0YmE3ODdhMmFlZTZkNmIzMGJhMGRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwCkBAIC00MjIsNiArNDIyLDc5IEBAIEpTQzo6SlNQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVj
dDo6aW5zdGFudGlhdGVTdHJlYW1pbmcoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvCiB9CiAjZW5k
aWYKIAorc3RhdGljIFNjcmlwdE1vZHVsZUxvYWRlciogc2NyaXB0TW9kdWxlTG9hZGVyKEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0
LT52bSgpOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTRE9NV2luZG93QmFzZT4o
dm0pKSB7CisgICAgICAgIGlmIChhdXRvIGRvY3VtZW50ID0ganNDYXN0PGNvbnN0IEpTRE9NV2lu
ZG93QmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQoKS5kb2N1bWVudCgpKQorICAgICAgICAg
ICAgcmV0dXJuICZkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCk7CisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIH0KKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU1JlbW90ZURPTVdp
bmRvd0Jhc2U+KHZtKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKGdsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNXb3JrZXJHbG9iYWxTY29wZUJhc2U+KHZtKSkKKyAgICAgICAgcmV0
dXJuICZqc0Nhc3Q8Y29uc3QgSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UqPihnbG9iYWxPYmplY3Qp
LT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJp
dHM8SlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0
PGNvbnN0IEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQo
KS5tb2R1bGVMb2FkZXIoKTsKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBpZiAo
Z2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KHZt
KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKKyAgICBkYXRhTG9nKCJVbmV4cGVj
dGVkIGdsb2JhbCBvYmplY3Q6ICIsIEpTVmFsdWUoZ2xvYmFsT2JqZWN0KSwgIlxuIik7CisgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
SlNDOjpJZGVudGlmaWVyIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9k
dWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVy
TW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUdsb2Jh
bE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRo
aXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5yZXNvbHZlKGdsb2JhbE9iamVjdCwg
bW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hl
cik7CisgICAgcmV0dXJuIHsgfTsKK30KKworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01H
bG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUg
bW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZl
dGNoZXIpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhp
c09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsK
KyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQor
ICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+ZmV0Y2goZ2xvYmFsT2Jq
ZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hlcikp
OworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQ
cm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJl
KCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2Jq
ZWN0LCBqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU1Zh
bHVlIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwg
SlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpK
U1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmpl
Y3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAg
aWYgKGF1dG8qIGxvYWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAg
ICAgcmV0dXJuIGxvYWRlci0+ZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1v
ZHVsZUtleSwgbW9kdWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKKyAgICByZXR1cm4gSlNDOjpq
c1VuZGVmaW5lZCgpOworfQorCitKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5n
KiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VP
cmlnaW4mIHNvdXJjZU9yaWdpbikKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIo
dGhpc09iamVjdCkpCisgICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbG9hZGVyLT5p
bXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFt
ZXRlcnMsIHNvdXJjZU9yaWdpbikpOworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21p
c2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50
ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9t
aXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJv
bWlzZTsKK30KKworSlNDOjpKU09iamVjdCogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRl
ckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9k
dWxlS2V5LCBKU0M6OkpTTW9kdWxlUmVjb3JkKiBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBz
Y3JpcHRGZXRjaGVyKQoreworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlND
Ojpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRv
KiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVy
biBsb2FkZXItPmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxl
TG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0
dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0
LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkpOworfQorCiBKU0RPTUdsb2JhbE9iamVj
dCYgY2FsbGVyR2xvYmFsT2JqZWN0KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBDYWxsRnJhbWUmIGNhbGxGcmFtZSkKIHsKICAgICBjbGFzcyBHZXRDYWxsZXJHbG9iYWxPYmpl
Y3RGdW5jdG9yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
R2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdC5oCmluZGV4IGI4NDA3MmRkZDc0NmIzZDZjNTEwNjBkOTA1MDFiNWNlYTFiNDk5YjEuLmY0
OWE0Y2QyNTcxOTcxMTg5MTdhN2Q3YTRiNmMwZTExZmM3NmJhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaApAQCAtMTA1LDYgKzEwNSwxMiBA
QCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0M6OkpT
R2xvYmFsT2JqZWN0IHsKICAgICBzdGF0aWMgSlNDOjpKU1Byb21pc2UqIGluc3RhbnRpYXRlU3Ry
ZWFtaW5nKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNPYmplY3Qq
KTsKICNlbmRpZgogCisgICAgc3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNv
bHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1Zh
bHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNJbnRl
cm5hbFByb21pc2UqIG1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6
OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1
ZSk7CisgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpK
U1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNN
b2R1bGVMb2FkZXIqLCBKU0M6OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNv
dXJjZU9yaWdpbiYpOworICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVh
dGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVs
ZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1
ZSk7CisKICAgICBKU0RPTVN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiAgICAgSlNET01Db25z
dHJ1Y3Rvck1hcCBtX2NvbnN0cnVjdG9yczsKICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3Vh
cmRlZE9iamVjdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dC
YXNlLmNwcAppbmRleCA1NjNlZmEwNTcxYjVkNDYyZDllNjQ1MDg5ZjBiZDhmNzdkMTlhNzY4Li4z
MTJhMDExNThlOGMyODA4M2MwN2U0MmRiODcyNDVmZTRlNWM1N2FhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKQEAgLTMzOSw1NCArMzM5LDQg
QEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0Zvcldp
bmRvdyhET01XaW5kb3cqIHdpbmRvdykKICAgICB9CiB9CiAKLUpTQzo6SWRlbnRpZmllciBKU0RP
TVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXksIEpTQzo6SlNWYWx1
ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpT
Qzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0
cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkK
LSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5yZXNvbHZlKGdsb2JhbE9i
amVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0
RmV0Y2hlcik7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSog
SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1Zh
bHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3Jp
cHRGZXRjaGVyKQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0
aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsK
LSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQo
KS5kb2N1bWVudCgpKQotICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50
LT5tb2R1bGVMb2FkZXIoKS5mZXRjaChnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxl
S2V5LCBwYXJhbWV0ZXJzLCBzY3JpcHRGZXRjaGVyKSk7Ci0gICAgSlNDOjpKU0ludGVybmFsUHJv
bWlzZSogcHJvbWlzZSA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7Ci0gICAgc2NvcGUucmVsZWFzZSgp
OwotICAgIHByb21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOwotICAg
IHJldHVybiBwcm9taXNlOwotfQotCi1KU0M6OkpTVmFsdWUgSlNET01XaW5kb3dCYXNlOjptb2R1
bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6
SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlND
OjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0g
ICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dC
YXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9
IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1l
bnQtPm1vZHVsZUxvYWRlcigpLmV2YWx1YXRlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBt
b2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIEpTQzo6
anNVbmRlZmluZWQoKTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dC
YXNlOjptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNTdHJpbmcq
IG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBjb25zdCBKU0M6OlNvdXJjZU9y
aWdpbiYgc291cmNlT3JpZ2luKQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
LSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5k
b3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFs
T2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3Qt
PndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUs
IGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1
bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFtZXRlcnMsIHNvdXJjZU9yaWdpbikpOwotICAgIEpT
Qzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpj
cmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwotICAg
IHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1Vu
ZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpKU09iamVjdCogSlNE
T01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6
OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVs
ZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCogbW9k
dWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RPTVdpbmRv
d0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxP
YmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+
d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9kdWxlTG9h
ZGVyKCkuY3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2Fk
ZXIsIG1vZHVsZUtleSwgbW9kdWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKLSAgICByZXR1cm4g
Y29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPm51
bGxQcm90b3R5cGVPYmplY3RTdHJ1Y3R1cmUoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFz
ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKaW5kZXgg
M2VmOTgwZGQyN2Y2YjIxMzk4NzAwOGJhNDc2YzhjYTY5ZjJmMGI2NC4uNTE0MmIxYzdkYzI1YzIy
ZmU5Nzg5NWU3NWFlMjJlZjRkMWU1ODlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmgKQEAgLTk5LDEyICs5OSw2IEBAIGNsYXNzIFdFQkNPUkVfRVhQ
T1JUIEpTRE9NV2luZG93QmFzZSA6IHB1YmxpYyBKU0RPTUdsb2JhbE9iamVjdCB7CiBwcml2YXRl
OgogICAgIHVzaW5nIFJlc3BvbnNlQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3Qg
Y2hhciosIHNpemVfdCk+OwogCi0gICAgc3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2Fk
ZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlND
OjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6
SlNJbnRlcm5hbFByb21pc2UqIG1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQ
cm9taXNlKiBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBK
U0M6OlNvdXJjZU9yaWdpbiYpOwotICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2Fk
ZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpK
U01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6
SlNWYWx1ZSk7Ci0KICAgICBSZWZQdHI8RE9NV2luZG93PiBtX3dyYXBwZWQ7CiAgICAgUmVmUHRy
PEV2ZW50PiBtX2N1cnJlbnRFdmVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggNDJiMjZjOWY0ZWEy
MTYyMDdkZTRjODY4MjBiOGE4MWI2MDM1YjdlYi4uMmQ3OTNmZmYyMTg1M2E4YTFhNzg4MDY2NzI1
MGY1N2U3NTJmZTNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcApAQCAtNTksMTEgKzU5LDExIEBAIGNvbnN0IEds
b2JhbE9iamVjdE1ldGhvZFRhYmxlIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9i
amVjdE1ldGhvZFRhYmxlCiAgICAgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsCiAgICAgJnF1ZXVl
TWljcm90YXNrVG9FdmVudExvb3AsCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRp
bWVvdXQsCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVs
bHB0ciwgLy8gbW9kdWxlTG9hZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRl
ckZldGNoCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3Bl
cnRpZXMKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVM
b2FkZXJJbXBvcnRNb2R1bGUsCisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVs
ZUxvYWRlckZldGNoLAorICAgICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGll
cywKKyAgICAmbW9kdWxlTG9hZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFj
a2VyLAogICAgICZyZXBvcnRVbmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJy
ZW50U2NyaXB0RXhlY3V0aW9uT3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCAzNWZhNmUzMjc3ZmIw
ZDRiZTBlMGUxZWRjNDM3MjJlZGFkZmM4YWYyLi45ZmFlYzk1OWMzOWQxNzQ4MTgxYzk4NjUwMDNk
NWE4NmYxN2Y1ZTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAKQEAgLTQ5LDExICs0OSwxMSBAQCBjb25zdCBH
bG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFs
T2JqZWN0TWV0aG9kVGFibAogICAgICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLAogICAgIG51bGxw
dHIsIC8vIHF1ZXVlTWljcm90YXNrVG9FdmVudExvb3AKICAgICAmc2hvdWxkSW50ZXJydXB0U2Ny
aXB0QmVmb3JlVGltZW91dCwKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1
bGUKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJSZXNvbHZlCi0gICAgbnVsbHB0ciwgLy8g
bW9kdWxlTG9hZGVyRmV0Y2gKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJDcmVhdGVJbXBv
cnRNZXRhUHJvcGVydGllcwotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckV2YWx1YXRlCisg
ICAgJm1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSwKKyAgICAmbW9kdWxlTG9hZGVyUmVzb2x2ZSwK
KyAgICAmbW9kdWxlTG9hZGVyRmV0Y2gsCisgICAgJm1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1l
dGFQcm9wZXJ0aWVzLAorICAgICZtb2R1bGVMb2FkZXJFdmFsdWF0ZSwKICAgICAmcHJvbWlzZVJl
amVjdGlvblRyYWNrZXIsCiAgICAgJnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uQXRFdmVudExvb3As
CiAgICAgJmN1cnJlbnRTY3JpcHRFeGVjdXRpb25Pd25lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTE5ZDk3ZGJjNDFm
NzU0MjZlYWYyY2RkZDFiNWI5NzFlODAyNzhjZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
OworCitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxNb2R1bGVT
Y3JpcHRMb2FkZXI+IHsKK3B1YmxpYzoKKyAgICB2b2lkIGNsZWFyQ2xpZW50KCkKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChtX2NsaWVudCk7CisgICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKKyAg
ICB9CisKK3Byb3RlY3RlZDoKKyAgICBNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50JiBjbGllbnQpCisgICAgICAgIDogbV9jbGllbnQoJmNsaWVudCkKKyAgICB7Cisg
ICAgfQorCisgICAgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KiBtX2NsaWVudDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk5NWY0OGVlM2QxZTAy
YzFkOGM5YzlkYTJiZDU4MjM2ZjNiYTA3ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCkBAIC0wLDAgKzEsNDAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVy
OworY2xhc3MgRGVmZXJyZWRQcm9taXNlOworCitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfk1vZHVsZVNjcmlwdExvYWRlckNsaWVudCgpID0g
ZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChNb2R1bGVTY3JpcHRM
b2FkZXImLCBVUkwmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4pID0gMDsKK307CisKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCmluZGV4
IGFhNWI4MGI1ODZiNzllMGU1NzUwMWNkNTEwNzhkZjI1YTYyNWU1ZDkuLjQzOTUzMDM4ZDA1M2Ew
MjNlZmY4OWNjZjZiYmJiOGEwOWI1OTdmYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcApAQCAtMjksNyArMjksNiBAQAogI2luY2x1
ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5o
IgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5o
IgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKQEAgLTUyLDggKzUxLDkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1TY3JpcHRNb2R1bGVMb2FkZXI6OlNjcmlwdE1vZHVsZUxvYWRlcihEb2N1
bWVudCYgZG9jdW1lbnQpCi0gICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQorU2NyaXB0TW9kdWxl
TG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgT3duZXJUeXBlIG93bmVyVHlwZSkKKyAgICA6IG1fY29udGV4dChjb250ZXh0KQorICAgICwg
bV9vd25lclR5cGUob3duZXJUeXBlKQogewogfQogCkBAIC02OCw3ICs2OCw3IEBAIHN0YXRpYyBi
b29sIGlzUm9vdE1vZHVsZShKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXkpCiAgICAgcmV0
dXJuIGltcG9ydGVyTW9kdWxlS2V5LmlzU3ltYm9sKCkgfHwgaW1wb3J0ZXJNb2R1bGVLZXkuaXNV
bmRlZmluZWQoKTsKIH0KIAotc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9k
dWxlU3BlY2lmaWVyKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBzcGVjaWZpZXIs
IGNvbnN0IFVSTCYgYmFzZVVSTCkKK3N0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2
ZU1vZHVsZVNwZWNpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTY3JpcHRN
b2R1bGVMb2FkZXI6Ok93bmVyVHlwZSBvd25lclR5cGUsIGNvbnN0IFN0cmluZyYgc3BlY2lmaWVy
LCBjb25zdCBVUkwmIGJhc2VVUkwpCiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI3Jlc29sdmUtYS1tb2R1bGUtc3BlY2lmaWVy
CiAKQEAgLTc5LDcgKzc5LDEyIEBAIHN0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2
ZU1vZHVsZVNwZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0CiAgICAgaWYgKCFz
cGVjaWZpZXIuc3RhcnRzV2l0aCgnLycpICYmICFzcGVjaWZpZXIuc3RhcnRzV2l0aCgiLi8iKSAm
JiAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoIi4uLyIpKQogICAgICAgICByZXR1cm4gbWFrZVVuZXhw
ZWN0ZWQobWFrZVN0cmluZygiTW9kdWxlIHNwZWNpZmllciwgJyJfcywgc3BlY2lmaWVyLCAiJyBk
b2VzIG5vdCBzdGFydCB3aXRoIFwiL1wiLCBcIi4vXCIsIG9yIFwiLi4vXCIuIFJlZmVyZW5jZWQg
ZnJvbSAiX3MsIGJhc2VVUkwuc3RyaW5nKCkpKTsKIAotICAgIGF1dG8gcmVzdWx0ID0gZG9jdW1l
bnQuY29tcGxldGVVUkwoc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBVUkwgcmVzdWx0OworICAg
IGlmIChvd25lclR5cGUgPT0gU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGU6OkRvY3VtZW50
KQorICAgICAgICByZXN1bHQgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkuY29tcGxldGVV
Ukwoc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IFVSTChi
YXNlVVJMLCBzcGVjaWZpZXIpOworCiAgICAgaWYgKCFyZXN1bHQuaXNWYWxpZCgpKQogICAgICAg
ICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQobWFrZVN0cmluZygiTW9kdWxlIG5hbWUsICciX3MsIHJl
c3VsdC5zdHJpbmcoKSwgIicgZG9lcyBub3QgcmVzb2x2ZSB0byBhIHZhbGlkIFVSTC4iX3MpKTsK
ICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTA3LDcgKzExMiw3IEBAIEpTQzo6SWRlbnRpZmllciBT
Y3JpcHRNb2R1bGVMb2FkZXI6OnJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxP
YmplY3QsCiAgICAgVVJMIGJhc2VVUkwgPSByZXNwb25zZVVSTEZyb21SZXF1ZXN0VVJMKCpqc0ds
b2JhbE9iamVjdCwgaW1wb3J0ZXJNb2R1bGVLZXkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIHsgfSk7CiAKLSAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIo
bV9kb2N1bWVudCwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBhdXRvIHJlc3VsdCA9IHJlc29s
dmVNb2R1bGVTcGVjaWZpZXIobV9jb250ZXh0LCBtX293bmVyVHlwZSwgc3BlY2lmaWVyLCBiYXNl
VVJMKTsKICAgICBpZiAoIXJlc3VsdCkgewogICAgICAgICBKU0M6OnRocm93VHlwZUVycm9yKGpz
R2xvYmFsT2JqZWN0LCBzY29wZSwgcmVzdWx0LmVycm9yKCkpOwogICAgICAgICByZXR1cm4geyB9
OwpAQCAtMTYxLDEzICsxNjYsMTkgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9k
dWxlTG9hZGVyOjpmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE8KICAgICBpZiAo
YXV0byogc2NyaXB0RmV0Y2hQYXJhbWV0ZXJzID0gSlNDOjpqc0R5bmFtaWNDYXN0PEpTQzo6SlNT
Y3JpcHRGZXRjaFBhcmFtZXRlcnMqPih2bSwgcGFyYW1ldGVycykpCiAgICAgICAgIHRvcExldmVs
RmV0Y2hQYXJhbWV0ZXJzID0gc3RhdGljX2Nhc3Q8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzKj4oJnNj
cmlwdEZldGNoUGFyYW1ldGVycy0+cGFyYW1ldGVycygpKTsKIAotICAgIGF1dG8gbG9hZGVyID0g
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdldCgpLCAq
c3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6SlNTY3Jp
cHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9wTGV2ZWxG
ZXRjaFBhcmFtZXRlcnMpKTsKLSAgICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOwot
ICAgIGlmICghbG9hZGVyLT5sb2FkKG1fZG9jdW1lbnQsIGNvbXBsZXRlZFVSTCkpIHsKLSAgICAg
ICAgbG9hZGVyLT5jbGVhckNsaWVudCgpOwotICAgICAgICBtX2xvYWRlcnMucmVtb3ZlKFdURk1v
dmUobG9hZGVyKSk7Ci0gICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKGRlZmVy
cmVkLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5n
IGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKLSAgICAgICAgcmV0dXJuIGpzUHJvbWlzZTsK
KyAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBh
dXRvIGxvYWRlciA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZl
cnJlZC5nZXQoKSwgKnN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2Fz
dDxKU0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZN
b3ZlKHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7CisgICAgICAgIG1fbG9hZGVycy5hZGQobG9h
ZGVyLmNvcHlSZWYoKSk7CisgICAgICAgIGlmICghbG9hZGVyLT5sb2FkKGRvd25jYXN0PERvY3Vt
ZW50PihtX2NvbnRleHQpLCBXVEZNb3ZlKGNvbXBsZXRlZFVSTCkpKSB7CisgICAgICAgICAgICBs
b2FkZXItPmNsZWFyQ2xpZW50KCk7CisgICAgICAgICAgICBtX2xvYWRlcnMucmVtb3ZlKFdURk1v
dmUobG9hZGVyKSk7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihk
ZWZlcnJlZC5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9y
dGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm4ganNQ
cm9taXNlOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXV0byBsb2FkZXIgPSBX
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpz
dGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1Njcmlw
dEZldGNoZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZl
dGNoUGFyYW1ldGVycykpOworICAgICAgICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkp
OworICAgICAgICBsb2FkZXItPmxvYWQobV9jb250ZXh0LCBXVEZNb3ZlKGNvbXBsZXRlZFVSTCkp
OwogICAgIH0KIAogICAgIHJldHVybiBqc1Byb21pc2U7CkBAIC0xNzYsNyArMTg3LDcgQEAgSlND
OjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaChKU0M6OkpTR2xv
YmFsT2JqZWN0KiBqc0dsb2JhbE8KIFVSTCBTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVsZVVSTChK
U0M6OkpTR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtl
eVZhbHVlKQogewogICAgIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N5bWJvbCgpKQotICAgICAgICBy
ZXR1cm4gbV9kb2N1bWVudC51cmwoKTsKKyAgICAgICAgcmV0dXJuIG1fY29udGV4dC51cmwoKTsK
IAogICAgIEFTU0VSVChtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKTsKICAgICByZXR1cm4gVVJM
KFVSTCgpLCBhc1N0cmluZyhtb2R1bGVLZXlWYWx1ZSktPnZhbHVlKCZqc0dsb2JhbE9iamVjdCkp
OwpAQCAtMTg3LDggKzE5OCwxMSBAQCBVUkwgU2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNwb25zZVVS
TEZyb21SZXF1ZXN0VVJMKEpTQzo6SlNHbG9iYWxPYmplY3QmIGpzR2xvYmFsTwogICAgIEpTQzo6
Vk0mIHZtID0ganNHbG9iYWxPYmplY3Qudm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAoaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkK
LSAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQuYmFzZVVSTCgpOworICAgIGlmIChpc1Jvb3RNb2R1
bGUobW9kdWxlS2V5VmFsdWUpKSB7CisgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5
cGU6OkRvY3VtZW50KQorICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvY3VtZW50PihtX2Nv
bnRleHQpLmJhc2VVUkwoKTsKKyAgICAgICAgcmV0dXJuIG1fY29udGV4dC51cmwoKTsKKyAgICB9
CiAKICAgICBBU1NFUlQoIWlzUm9vdE1vZHVsZShtb2R1bGVLZXlWYWx1ZSkpOwogICAgIEFTU0VS
VChtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKTsKQEAgLTIxOSw4ICsyMzMsMTQgQEAgSlNDOjpK
U1ZhbHVlIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCog
anNHbG9iYWxPYmplY3QsIEoKICAgICBpZiAoIXNvdXJjZVVSTC5pc1ZhbGlkKCkpCiAgICAgICAg
IHJldHVybiBKU0M6OnRocm93VHlwZUVycm9yKGpzR2xvYmFsT2JqZWN0LCBzY29wZSwgIk1vZHVs
ZSBrZXkgaXMgYW4gaW52YWxpZCBVUkwuIl9zKTsKIAotICAgIGlmIChhdXRvKiBmcmFtZSA9IG1f
ZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS5ldmFsdWF0
ZU1vZHVsZShzb3VyY2VVUkwsICptb2R1bGVSZWNvcmQpOworICAgIGlmIChtX293bmVyVHlwZSA9
PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvd25j
YXN0PERvY3VtZW50PihtX2NvbnRleHQpLmZyYW1lKCkpCisgICAgICAgICAgICByZXR1cm4gZnJh
bWUtPnNjcmlwdCgpLmV2YWx1YXRlTW9kdWxlKHNvdXJjZVVSTCwgKm1vZHVsZVJlY29yZCk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgQVNTRVJUKGlzPFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
PihtX2NvbnRleHQpKTsKKyAgICAgICAgaWYgKGF1dG8qIHNjcmlwdCA9IGRvd25jYXN0PFdvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlPihtX2NvbnRleHQpLnNjcmlwdCgpKQorICAgICAgICAgICAg
cmV0dXJuIHNjcmlwdC0+ZXZhbHVhdGVNb2R1bGUoKm1vZHVsZVJlY29yZCk7CisgICAgfQogICAg
IHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7CiB9CiAKQEAgLTI0OCwyMyArMjY4LDM2IEBAIEpT
Qzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqIGpzCiAgICAgVVJMIGJhc2VVUkw7CiAgICAgUmVmUHRyPEpTQzo6
U2NyaXB0RmV0Y2hlcj4gc2NyaXB0RmV0Y2hlcjsKICAgICBpZiAoc291cmNlT3JpZ2luLmlzTnVs
bCgpKSB7Ci0gICAgICAgIGJhc2VVUkwgPSBtX2RvY3VtZW50LmJhc2VVUkwoKTsKLSAgICAgICAg
c2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2RvY3VtZW50LmNo
YXJzZXQoKSk7CisgICAgICAgIFN0cmluZyBjaGFyc2V0OworICAgICAgICBpZiAobV9vd25lclR5
cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICAgICAgYmFzZVVSTCA9IGRvd25j
YXN0PERvY3VtZW50PihtX2NvbnRleHQpLmJhc2VVUkwoKTsKKyAgICAgICAgICAgIGNoYXJzZXQg
PSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5jaGFyc2V0KCk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBiYXNlVVJMID0gbV9jb250ZXh0LnVybCgpOworICAgICAgICAgICAg
Y2hhcnNldCA9ICJ1dGYtOCJfczsKKyAgICAgICAgfQorICAgICAgICBzY3JpcHRGZXRjaGVyID0g
Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKFdURk1vdmUoY2hhcnNldCkpOwogICAgIH0gZWxz
ZSB7CiAgICAgICAgIGJhc2VVUkwgPSBVUkwoVVJMKCksIHNvdXJjZU9yaWdpbi5zdHJpbmcoKSk7
CiAgICAgICAgIGlmICghYmFzZVVSTC5pc1ZhbGlkKCkpCiAgICAgICAgICAgICByZXR1cm4gcmVq
ZWN0UHJvbWlzZShnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgIkltcG9ydGVyIG1vZHVsZSBrZXkg
aXMgbm90IGEgU3ltYm9sIG9yIGEgU3RyaW5nLiJfcyk7CiAKKyAgICAgICAgU3RyaW5nIGNoYXJz
ZXQ7CisgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KQorICAg
ICAgICAgICAgY2hhcnNldCA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmNoYXJzZXQo
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY2hhcnNldCA9ICJ1dGYtOCJfczsKKwogICAg
ICAgICBpZiAoc291cmNlT3JpZ2luLmZldGNoZXIoKSkKICAgICAgICAgICAgIHNjcmlwdEZldGNo
ZXIgPSBzb3VyY2VPcmlnaW4uZmV0Y2hlcigpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBz
Y3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKG1fZG9jdW1lbnQuY2hh
cnNldCgpKTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVy
OjpjcmVhdGUoV1RGTW92ZShjaGFyc2V0KSk7CiAgICAgfQogICAgIEFTU0VSVChiYXNlVVJMLmlz
VmFsaWQoKSk7CiAgICAgQVNTRVJUKHNjcmlwdEZldGNoZXIpOwogCiAgICAgYXV0byBzcGVjaWZp
ZXIgPSBtb2R1bGVOYW1lLT52YWx1ZShqc0dsb2JhbE9iamVjdCk7Ci0gICAgYXV0byByZXN1bHQg
PSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7
CisgICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9v
d25lclR5cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAg
IHJldHVybiByZWplY3RQcm9taXNlKGdsb2JhbE9iamVjdCwgVHlwZUVycm9yLCByZXN1bHQuZXJy
b3IoKSk7CiAKQEAgLTI4OCw2MiArMzIxLDkyIEBAIEpTQzo6SlNPYmplY3QqIFNjcmlwdE1vZHVs
ZUxvYWRlcjo6Y3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjCiAg
ICAgcmV0dXJuIG1ldGFQcm9wZXJ0aWVzOwogfQogCi12b2lkIFNjcmlwdE1vZHVsZUxvYWRlcjo6
bm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiBsb2FkZXIsIFJlZlB0cjxE
ZWZlcnJlZFByb21pc2U+IHByb21pc2UpCit2b2lkIFNjcmlwdE1vZHVsZUxvYWRlcjo6bm90aWZ5
RmluaXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiBtb2R1bGVTY3JpcHRMb2FkZXIsIFVSTCYmIHNv
dXJjZVVSTCwgUmVmPERlZmVycmVkUHJvbWlzZT4gcHJvbWlzZSkKIHsKICAgICAvLyBodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1z
aW5nbGUtbW9kdWxlLXNjcmlwdAogCi0gICAgVVJMIHNvdXJjZVVSTCA9IGxvYWRlci5zb3VyY2VV
UkwoKTsKLSAgICBpZiAoIW1fbG9hZGVycy5yZW1vdmUoJmxvYWRlcikpCisgICAgaWYgKCFtX2xv
YWRlcnMucmVtb3ZlKCZtb2R1bGVTY3JpcHRMb2FkZXIpKQogICAgICAgICByZXR1cm47Ci0gICAg
bG9hZGVyLmNsZWFyQ2xpZW50KCk7CisgICAgbW9kdWxlU2NyaXB0TG9hZGVyLmNsZWFyQ2xpZW50
KCk7CiAKLSAgICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9hZGVyLmNhY2hlZFNjcmlwdCgpOwor
ICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGF1
dG8mIGxvYWRlciA9IHN0YXRpY19jYXN0PENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciY+KG1vZHVs
ZVNjcmlwdExvYWRlcik7CisgICAgICAgIGF1dG8mIGNhY2hlZFNjcmlwdCA9ICpsb2FkZXIuY2Fj
aGVkU2NyaXB0KCk7CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0LnJlc291cmNlRXJyb3IoKS5pc0Fj
Y2Vzc0NvbnRyb2woKSkgewotICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCAiQ3Jv
c3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hh
cmluZyBwb2xpY3kuIl9zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKGNh
Y2hlZFNjcmlwdC5yZXNvdXJjZUVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkpIHsKKyAgICAgICAg
ICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQg
ZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iX3MpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0LmVycm9y
T2NjdXJyZWQoKSkgewotICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcigqcHJv
bWlzZSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1v
ZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAg
IGlmIChjYWNoZWRTY3JpcHQuZXJyb3JPY2N1cnJlZCgpKSB7CisgICAgICAgICAgICByZWplY3RU
b1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC53
YXNDYW5jZWxlZCgpKSB7Ci0gICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKCpw
cm9taXNlLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBh
IG1vZHVsZSBzY3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
KyAgICAgICAgaWYgKGNhY2hlZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICBy
ZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZh
aWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgaXMgY2Fu
Y2VsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKCFN
SU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZShjYWNoZWRTY3Jp
cHQucmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgewotICAgICAgICAvLyBodHRwczovL2h0bWwuc3Bl
Yy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9k
dWxlLXNjcmlwdAotICAgICAgICAvLyBUaGUgcmVzdWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5
cGUgZnJvbSByZXNwb25zZSdzIGhlYWRlciBsaXN0IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBu
b3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZS4KLSAgICAgICAgLy8gRm9yIGhpc3RvcmljYWwgcmVh
c29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlw
ZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdpbGwgZmFpbCB0byBsb2Fk
IGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgotICAgICAgICBwcm9taXNl
LT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2NyaXB0LnJlc3BvbnNl
KCkubWltZVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6
OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1p
bWVUeXBlKCkpKSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3Jn
L211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAor
ICAgICAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20g
cmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2
YVNjcmlwdCBNSU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25z
LCBmZXRjaGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNo
ZWNraW5nLiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYg
dGhleSBhcmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNl
LT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2NyaXB0LnJlc3BvbnNl
KCkubWltZVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGF1dG8qIHBh
cmFtZXRlcnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7CisgICAgICAgICAgICBpZiAoIW1hdGNo
SW50ZWdyaXR5TWV0YWRhdGEoY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkp
IHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5n
KCJDYW5ub3QgbG9hZCBzY3JpcHQgIiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNo
ZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkpOworICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIFVSTCByZXNwb25zZVVS
TCA9IGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnVybCgpOworICAgICAgICAvLyBJZiB3ZSBkbyBu
b3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJh
Z21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRo
ZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KKyAgICAgICAgLy8g
RklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRpcmVjdGlvbnMuCisg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAK
KyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5
MAorICAgICAgICBpZiAoIWNhY2hlZFNjcmlwdC5oYXNSZWRpcmVjdGlvbnMoKSAmJiBjYWNoZWRT
Y3JpcHQucmVzcG9uc2UoKS5zb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNl
cnZpY2VXb3JrZXIpIHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVu
dGlmaWVyKCkpCisgICAgICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlm
aWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7CisgICAgICAgIH0KKworICAgICAg
ICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIFdU
Rk1vdmUocmVzcG9uc2VVUkwpKTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFj
ayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAg
cmV0dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAg
ICAgICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgJmNhY2hl
ZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNj
cmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOworICAgICAgICB9KTsKKyAgICB9IGVs
c2UgeworICAgICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxXb3JrZXJNb2R1bGVTY3Jp
cHRMb2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiB3b3JrZXJTY3Jp
cHRMb2FkZXIgPSBsb2FkZXIuc2NyaXB0TG9hZGVyKCk7CisKKyAgICAgICAgaWYgKHdvcmtlclNj
cmlwdExvYWRlci5mYWlsZWQoKSkgeworICAgICAgICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRl
ci5lcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+
cmVqZWN0KFR5cGVFcnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jv
c3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9h
ZGVyLmVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSkgeworICAgICAgICAgICAgICAgIHJlamVjdFRv
UHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtp
bmQ6Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4i
X3MpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KIAotICAgIGlmIChh
dXRvKiBwYXJhbWV0ZXJzID0gbG9hZGVyLnBhcmFtZXRlcnMoKSkgewotICAgICAgICBpZiAoIW1h
dGNoSW50ZWdyaXR5TWV0YWRhdGEoY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHko
KSkpIHsKLSAgICAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1ha2VTdHJpbmco
IkNhbm5vdCBsb2FkIHNjcmlwdCAiLCBpbnRlZ3JpdHlNaXNtYXRjaERlc2NyaXB0aW9uKGNhY2hl
ZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkpKSk7CisgICAgICAgICAgICByZWplY3RU
b1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgIH0KIAotICAgIFVSTCByZXNwb25z
ZVVSTCA9IGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnVybCgpOwotICAgIC8vIElmIHdlIGRvIG5v
dCBoYXZlIHJlZGlyZWN0aW9uLCB3ZSBtdXN0IHJlc2VydmUgdGhlIHNvdXJjZSBVUkwncyBmcmFn
bWVudCBleHBsaWNpdGx5IGhlcmUgc2luY2UgUmVzb3VyY2VSZXNwb25zZTo6dXJsKCkgaXMgdGhl
IG9uZSB3aGVuIHdlIGZpcnN0IGNhY2hlIGl0IHRvIE1lbW9yeUNhY2hlLgotICAgIC8vIEZJWE1F
OiBXZSBzaG91bGQgdHJhY2sgZnJhZ21lbnRzIHRocm91Z2ggcmVkaXJlY3Rpb25zLgotICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAKLSAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNDkwCi0gICAgaWYgKCFj
YWNoZWRTY3JpcHQuaGFzUmVkaXJlY3Rpb25zKCkgJiYgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCku
c291cmNlKCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7Ci0g
ICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCi0gICAgICAgICAg
ICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIoc291cmNlVVJMLmZyYWdtZW50SWRl
bnRpZmllcigpKTsKLSAgICB9CisgICAgICAgIC8vIEZJWE1FOiBNSU1FVHlwZSBjaGVja2luZy4K
IAotICAgIG1fcmVxdWVzdFVSTFRvUmVzcG9uc2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmco
KSwgV1RGTW92ZShyZXNwb25zZVVSTCkpOwotICAgIHByb21pc2UtPnJlc29sdmVXaXRoQ2FsbGJh
Y2soWyZdIChKU0RPTUdsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QpIHsKLSAgICAgICAgcmV0
dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKLSAgICAg
ICAgICAgIEpTQzo6U291cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyAmY2FjaGVkU2NyaXB0
LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0
Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7Ci0gICAgfSk7CisgICAgICAgIFVSTCByZXNwb25z
ZVVSTCA9IHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZVVSTCgpOworCisgICAgICAgIG1fcmVx
dWVzdFVSTFRvUmVzcG9uc2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwgcmVzcG9uc2VV
UkwpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9i
YWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7CisgICAgICAgICAgICByZXR1cm4gSlNDOjpKU1Nv
dXJjZUNvZGU6OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52bSgpLAorICAgICAgICAgICAgICAgIEpT
Qzo6U291cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyB3b3JrZXJTY3JpcHRMb2FkZXIuc2Ny
aXB0KCksIFdURk1vdmUocmVzcG9uc2VVUkwpLCB7IH0sIEpTQzo6U291cmNlUHJvdmlkZXJTb3Vy
Y2VUeXBlOjpNb2R1bGUsIGxvYWRlci5zY3JpcHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9
KTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5oCmluZGV4IGRlMjlkMmY0YmYwOTZiNjBjMzY5OTgw
MzE2YzE0ODZiMjgyYWJmMDkuLjU2NThiYzIxZTFhMzBkMDJiMjcwOWFhOTliMjZjN2NhOWE1ZWI1
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRl
ci5oCkBAIC0yNSw4ICsyNSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIk1vZHVs
ZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIgotI2luY2x1ZGUgIkNhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlck1vZHVsZVNjcmlwdExv
YWRlci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDUsMTYg
KzQ3LDE3IEBAIGNsYXNzIFNvdXJjZU9yaWdpbjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKIAotY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0
ZSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworY2xhc3MgU2NyaXB0TW9kdWxlTG9h
ZGVyIGZpbmFsIDogcHJpdmF0ZSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNjcmlwdE1vZHVsZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRlcihEb2N1bWVudCYp
OworICAgIGVudW0gY2xhc3MgT3duZXJUeXBlIDogdWludDhfdCB7IERvY3VtZW50LCBXb3JrZXJP
cldvcmtsZXQgfTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIE93bmVyVHlwZSk7CiAgICAgflNjcmlwdE1vZHVsZUxvYWRlcigpOwogCi0g
ICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudDsgfQorICAgIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQ7IH0KIAogICAg
IEpTQzo6SWRlbnRpZmllciByZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9k
dWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRl
ck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwogICAgIEpTQzo6SlNJbnRl
cm5hbFByb21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpT
Qzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKQEAgLTYzLDEzICs2NiwxNSBAQCBjbGFzcyBTY3Jp
cHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNs
aWVudCB7CiAgICAgSlNDOjpKU09iamVjdCogY3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpT
Qzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwogCiBwcml2YXRlOgotICAgIHZvaWQg
bm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVk
UHJvbWlzZT4pIGZpbmFsOworICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoTW9kdWxlU2NyaXB0TG9h
ZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSBmaW5hbDsKKwogICAgIFVSTCBtb2R1
bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAgICAgVVJMIHJlc3Bv
bnNlVVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7
CiAKLSAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBtX2NvbnRleHQ7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFVSTD4gbV9yZXF1ZXN0VVJMVG9SZXNw
b25zZVVSTE1hcDsKLSAgICBIYXNoU2V0PFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+PiBt
X2xvYWRlcnM7CisgICAgSGFzaFNldDxSZWY8TW9kdWxlU2NyaXB0TG9hZGVyPj4gbV9sb2FkZXJz
OworICAgIE93bmVyVHlwZSBtX293bmVyVHlwZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNj
cmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2ZmU3ZTc3ZThmOTllZTM5MDMyNGQyNzM0MGM1
NDRkYjJiZDRlOWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyLmgiCisKKyNpbmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSAiRE9N
V3JhcHBlcldvcmxkLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTUJpbmRp
bmcuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk1vZHVs
ZUZldGNoUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyT3B0aW9ucy5oIgor
I2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRNb2R1bGVMb2Fk
ZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCisjaW5jbHVkZSAiV29ya2VyU2Ny
aXB0TG9hZGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdvcmtlck1vZHVsZVNj
cmlwdExvYWRlcj4gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2Ny
aXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4m
JiBwYXJhbWV0ZXJzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdvcmtlck1vZHVsZVNj
cmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFyYW1l
dGVycykpKTsKK30KKworV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpXb3JrZXJNb2R1bGVTY3Jp
cHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlz
ZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1v
ZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorICAgIDogTW9kdWxlU2NyaXB0TG9h
ZGVyKGNsaWVudCkKKyAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkKKyAgICAsIG1fc2NyaXB0RmV0
Y2hlcihzY3JpcHRGZXRjaGVyKQorICAgICwgbV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVy
cykpCisgICAgLCBtX3NjcmlwdExvYWRlcihXb3JrZXJTY3JpcHRMb2FkZXI6OmNyZWF0ZSgpKQor
eworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6On5Xb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIoKQoreworICAgIG1fc2NyaXB0TG9hZGVyLT5jYW5jZWwoKTsKK30KKworYm9vbCBXb3JrZXJN
b2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
VVJMJiYgc291cmNlVVJMKQoreworICAgIG1fc291cmNlVVJMID0gV1RGTW92ZShzb3VyY2VVUkwp
OworCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgeyBtX3NvdXJjZVVSTCB9OworCisgICAg
RmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKKyAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNo
T3B0aW9uczo6TW9kZTo6Q29yczsKKyAgICBmZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9wdGlv
bnM6OkNhY2hlOjpEZWZhdWx0OworICAgIGZldGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0
aW9uczo6UmVkaXJlY3Q6OkZvbGxvdzsKKyAgICAvLyBGSVhNRTogUHJvcGFnYXRlIGNyZWRlbnRp
YWxzLgorICAgIC8vIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHNjcmlwdEZldGNoSm9iLmNy
ZWRlbnRpYWxzOworICAgIGF1dG8gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBj
b250ZXh0LnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgpID8gQ29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1
cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ2hpbGRTcmNEaXJlY3RpdmU7CisKKyAgICBt
X3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVz
dCksIFdURk1vdmUoZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhpcyk7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKK3ZvaWQgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZCgpCit7Cisg
ICAgQVNTRVJUKG1fcHJvbWlzZSk7CisKKyAgICBhdXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKTsKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5p
c2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJjZVVSTCksIG1fcHJvbWlzZS5yZWxlYXNlTm9uTnVs
bCgpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGQ5NzdiZjFjMDQyZDcwNTU5NzJk
ZWJjYjQ0MWY5ODFmOGIyMTFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgKQEAgLTAsMCArMSw2OSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgi
CisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSA8d3RmL1Jl
Zi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBE
ZWZlcnJlZFByb21pc2U7CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNzIE1vZHVsZUZl
dGNoUGFyYW1ldGVyczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBNb2R1
bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXI7CisKK2NsYXNz
IFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBNb2R1bGVTY3JpcHRMb2Fk
ZXIsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVsZVNjcmlwdExvYWRl
ckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8
TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKworICAgIHZpcnR1YWwgfldvcmtlck1vZHVsZVNj
cmlwdExvYWRlcigpOworCisgICAgYm9vbCBsb2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBV
UkwmJiBzb3VyY2VVUkwpOworCisgICAgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hl
cigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hlci5nZXQoKTsgfQorICAgIE1vZHVsZUZldGNoUGFy
YW1ldGVycyogcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQorICAg
IFdvcmtlclNjcmlwdExvYWRlciYgc2NyaXB0TG9hZGVyKCkgeyByZXR1cm4gbV9zY3JpcHRMb2Fk
ZXIuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0
Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOworCisgICAgdm9pZCBkaWRS
ZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZp
bmFsIHsgfQorICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoKSBmaW5hbDsKKworICAgIFJlZlB0cjxE
ZWZlcnJlZFByb21pc2U+IG1fcHJvbWlzZTsKKyAgICBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hlcj4g
bV9zY3JpcHRGZXRjaGVyOworICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+IG1fcGFy
YW1ldGVyczsKKyAgICBSZWY8V29ya2VyU2NyaXB0TG9hZGVyPiBtX3NjcmlwdExvYWRlcjsKKyAg
ICBVUkwgbV9zb3VyY2VVUkw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAppbmRleCBkY2QzYWExYzdjNTcyZTY4Mzk1Y2MwNWRhOGM4M2ZmMjBiMjZi
MDM4Li5hZDExNDk0ZWRlNDRkNDA4OTA1NzUzMjdiOTU2MDgyYTNmNTk1Nzk1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKQEAgLTYxNSw3ICs2MTUsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJh
bWUqIGZyYW1lLCBjb25zdCBTZXR0aW5ncyYgc2V0dGluZ3MsIGNvbnN0IFVSTCYgdXJsLCBEb2N1
bQogICAgICwgbV9kb2N1bWVudENyZWF0aW9uVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKICNl
bmRpZgogICAgICwgbV9zY3JpcHRSdW5uZXIobWFrZVVuaXF1ZTxTY3JpcHRSdW5uZXI+KCp0aGlz
KSkKLSAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9hZGVyPigq
dGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRl
cj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpEb2N1bWVudCkpCiAjaWYg
RU5BQkxFKFhTTFQpCiAgICAgLCBtX2FwcGx5UGVuZGluZ1hTTFRyYW5zZm9ybXNUaW1lcigqdGhp
cywgJkRvY3VtZW50OjphcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zVGltZXJGaXJlZCkKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKaW5kZXggOWEy
NWMxNjU4OGVlY2FkNjc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uNDhlYzA4NTFhNDU3ZDliYTQ3
NDczZmVjMjhkN2I0OTMxMmI3ODhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xv
YWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVN
b2R1bGVTY3JpcHQuY3BwCkBAIC04OCwxNiArODgsNCBAQCB2b2lkIExvYWRhYmxlTW9kdWxlU2Ny
aXB0OjpleGVjdXRlKFNjcmlwdEVsZW1lbnQmIHNjcmlwdEVsZW1lbnQpCiAgICAgc2NyaXB0RWxl
bWVudC5leGVjdXRlTW9kdWxlU2NyaXB0KCp0aGlzKTsKIH0KIAotdm9pZCBMb2FkYWJsZU1vZHVs
ZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgcm9vdFVSTCkKLXsK
LSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+
c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgcm9vdFVSTC5zdHJpbmcoKSwgbV9wYXJh
bWV0ZXJzLmNvcHlSZWYoKSk7Ci19Ci0KLXZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQo
RG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQot
ewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIGZyYW1l
LT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0aGlzLCBzb3VyY2VDb2RlKTsKLX0KLQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAppbmRleCBiYjc5OTU0ZDdi
OTliMGVkMDZiZmU1NWVmODU0ZWNjZTIxZjM1ODc3Li5kMjUzNTk2M2Y2NDhiMDJhOGEwMWZkNjNi
YjFlMzgxMzg2Y2VlNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVN
b2R1bGVTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3Jp
cHQuaApAQCAtNTAsMTUgKzUwLDE0IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxlU2NyaXB0IGZpbmFs
IDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsKIAogICAgIHZvaWQgc2V0RXJyb3IoRXJyb3ImJik7
CiAKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHJvb3RVUkwpOwotICAgIHZv
aWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKLQogICAgIHZvaWQg
bm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYpOwogICAgIHZvaWQgbm90aWZ5
TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3ImJik7CiAgICAgdm9pZCBub3RpZnlMb2Fk
V2FzQ2FuY2VsZWQoKTsKIAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtb2R1bGVLZXkoKSBjb25z
dCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQoKTsgfQogCisgICAgTW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9CisKIHByaXZh
dGU6CiAgICAgTG9hZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3Qg
U3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBTdHJpbmcmIGNyb3NzT3Jp
Z2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0
b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEVsZW1lbnQuY3BwCmluZGV4IDA1NzU4YjYwMGM3NTIyYjQ3ZjM2NGJhNmExOGQzNWYxNzMx
MTA3ZjkuLjVlOTlmMGY1Nzc3YjNiMjE1OGRkMGZhNGJjMzgyNzc2Y2RiMzQ4MTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJM
b2FkYWJsZUNsYXNzaWNTY3JpcHQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5o
IgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBh
cmFtZXRlcnMuaCIKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSAiUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHU2NyaXB0RWxlbWVudC5oIgpAQCAt
MzUxLDggKzM1MiwxMSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3JpcHQo
Y29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgICAgICAgICAgc2Ny
aXB0Q2hhcnNldCgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmxvY2FsTmFtZSgpLAogICAgICAg
ICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwotICAgICAgICBzY3Jp
cHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIG1vZHVsZVNjcmlwdFJvb3RVUkwpOwogICAg
ICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAgICAgICBpZiAoYXV0
byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7CisgICAgICAgICAgICBh
dXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4oKm1fbG9hZGFibGVT
Y3JpcHQuZ2V0KCkpOworICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3Jp
cHQoc2NyaXB0LCBtb2R1bGVTY3JpcHRSb290VVJMLnN0cmluZygpLCBtYWtlUmVmKHNjcmlwdC5w
YXJhbWV0ZXJzKCkpKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
QEAgLTM2Nyw4ICszNzEsOSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3Jp
cHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgIGlmICghY29u
dGVudFNlY3VyaXR5UG9saWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVudC5kb2N1bWVudCgp
LnVybCgpLnN0cmluZygpLCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29kZS5zb3VyY2UoKS50
b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIGhhc0tub3duTm9uY2UpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIHNvdXJjZUNv
ZGUpOwogICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7CisgICAgaWYgKGF1
dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAgICAgICAgZnJhbWUt
PnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVTY3JpcHQ+
KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKSwgc291cmNlQ29kZSk7CiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA2MmY5MTdhMzY3ODE5ZGVjM2Nk
NDEwZDk3NjY5NWNlZTYyZjZkNGI5Li43YzIyNDlhM2EyYWY5NTE4MjNhZTc5OTVlYzEzNzFhZGZi
YjE0YWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC03MCw2ICs3MCw4IEBAIGlu
bGluZSBXb3JrZXI6OldvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6
OlJ1bnRpbWVGbGFncyBydW50aW1lCiAgICAgLCBtX2lkZW50aWZpZXIoIndvcmtlcjoiICsgSW5z
cGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSkKICAgICAsIG1f
Y29udGV4dFByb3h5KFdvcmtlckdsb2JhbFNjb3BlUHJveHk6OmNyZWF0ZSgqdGhpcykpCiAgICAg
LCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxhZ3MpCisgICAgLCBtX3R5cGUob3B0aW9ucy50eXBl
KQorICAgICwgbV9jcmVkZW50aWFscyhvcHRpb25zLmNyZWRlbnRpYWxzKQogewogICAgIHN0YXRp
YyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7CkBAIC0xMTMs
MTAgKzExNSwxMyBAQCBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gV29ya2VyOjpjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdQogCiAgICAgRmV0Y2hPcHRpb25z
IGZldGNoT3B0aW9uczsKICAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9k
ZTo6U2FtZU9yaWdpbjsKKyAgICBpZiAod29ya2VyLT5tX3R5cGUgPT0gV29ya2VyVHlwZTo6TW9k
dWxlKQorICAgICAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSB3b3JrZXItPm1fY3JlZGVu
dGlhbHM7CiAgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVm
YXVsdDsKICAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0
OjpGb2xsb3c7CiAgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpE
ZXN0aW5hdGlvbjo6V29ya2VyOwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3lu
Y2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9u
cyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6
OkFsbCwgd29ya2VyKTsKKyAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9u
b3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBj
b250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGws
IHdvcmtlci5nZXQoKSk7CisKICAgICByZXR1cm4gd29ya2VyOwogfQogCkBAIC0yMTUsNyArMjIw
LDcgQEAgdm9pZCBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBSZWZlcnJlclBvbGljeSBy
ZWZlcnJlclBvbGljeSA9IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKICAgICBpZiAoYXV0
byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJlclBv
bGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCiAgICAgICAgIHJlZmVy
cmVyUG9saWN5ID0gKnBvbGljeTsKLSAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2Jh
bFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQo
bV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQo
KSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVy
cmVyUG9saWN5LCBtX3J1bnRpbWVGbGFncyk7CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3Jr
ZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4dC0+dXNl
ckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+
c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRpb25UaW1l
LCByZWZlcnJlclBvbGljeSwgbV90eXBlLCBtX2NyZWRlbnRpYWxzLCBtX3J1bnRpbWVGbGFncyk7
CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZCgqY29udGV4dCwg
bV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggNTNmNWU2ZmZmMjdjOWZhM2U1YzBlMDFm
MGY2YzQyYzZjYjZmOWQwZS4uMzhhNjIzYTk4ZGJhMzVmZjgwMTNjZDZmYzhjODVjODEwMjA1MDIx
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC0yOSw5ICsyOSwxMSBAQAogI2luY2x1ZGUg
IkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiRmV0Y2hS
ZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUg
IlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVu
dC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9S
dW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUg
PHd0Zi9PcHRpb25hbC5oPgpAQCAtNTUsNiArNTcsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwgOiBw
dWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29y
awogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV29ya2VyKTsKIHB1YmxpYzoKICAgICBzdHJ1
Y3QgT3B0aW9ucyB7CisgICAgICAgIFdvcmtlclR5cGUgdHlwZTsKKyAgICAgICAgRmV0Y2hSZXF1
ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgICAgIFN0cmluZyBuYW1lOwogICAgIH07
CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3Qg
T3B0aW9ucyYpOwpAQCAtNzksNiArODMsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMg
QWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29yawogICAg
IHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYpPiYmKTsKICNlbmRpZgogCisgICAgV29ya2VyVHlwZSB0eXBlKCkgY29u
c3QgeyByZXR1cm4gbV90eXBlOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV29ya2VyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgT3B0aW9ucyYp
OwogCkBAIC0xMTIsNiArMTE4LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3Ry
YWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICNpZiBFTkFC
TEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1lcnM7CiAjZW5kaWYK
KyAgICBXb3JrZXJUeXBlIG1fdHlwZSB7IFdvcmtlclR5cGU6OkNsYXNzaWMgfTsKKyAgICBGZXRj
aFJlcXVlc3RDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzIHsgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlh
bHM6OlNhbWVPcmlnaW4gfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmlkbAppbmRleCA0NWQ2YTA4Njc4NTRlZTQwNGRlN2U3ZDAxMjQ4Y2ViZjQ0
ZGNhN2VkLi43MDIxNzk2ZGY1MDRhZGY4ZTZiOTU4OWFjZTlmMTQ0ODIxZjI5NWYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0zOCw2ICszOCw4IEBACiB9OwogCiBkaWN0aW9uYXJ5
IFdvcmtlck9wdGlvbnMgeworICAgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFzc2ljIjsKKyAgICBG
ZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscyA9ICJzYW1lLW9yaWdpbiI7IC8vIGNy
ZWRlbnRpYWxzIGlzIG9ubHkgdXNlZCBpZiB0eXBlIGlzICJtb2R1bGUiCiAgICAgRE9NU3RyaW5n
IG5hbWUgPSAiIjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuaAppbmRleCA0NmQ0OWQ5NGM1MjM4ZTQ2ODhkMzk1ZDg3YzIwNjNlYjU3MjBkMWJmLi4zODQx
YTc4MWQ4NWQxNjBkNDAzNmNmMDBiN2QwZTM5ZTAwZWExYWRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC0xNjMsOCArMTYzLDYgQEAgY2xhc3MgV29y
a2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+
LCBwdWJsaWMgQmFzZTYKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJMb2NhdGlvbj4gbV9sb2Nh
dGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJOYXZpZ2F0b3I+IG1fbmF2aWdhdG9yOwog
Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+IG1f
c2NyaXB0OwotCiAgICAgYm9vbCBtX2lzT25saW5lOwogICAgIGJvb2wgbV9zaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNDAwMDNjM2UwMTA5OTk2MGY2NDc4
NjFlNzAxNjg3ZDBlMzcxZDcyZC4uN2I5MWQ3NTNkMWM5ZDcyOWFlNTA4NjU0YzJlODVmNzY3OTFl
MDA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVBy
b3h5LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXIm
KTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYg
c2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBi
b29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9s
aWN5LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNo
UmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2Jh
bFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4
IDE5ZDRiZTY0OTkyZjMwZDNjY2U3NjU0N2EzZDIyMThhOThjODQyYzMuLjc4ODM1ODdhN2FmNjIw
OWUzZWNjOGU3YjQxYmFkNDdhZGY2MjI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC03Myw3ICs3Myw3IEBAIFdvcmtlck1lc3Nh
Z2luZ1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2Vy
R2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtl
ckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQo
KSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94
eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1
bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFs
U2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
IHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRl
bnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiB7CiAg
ICAgLy8gRklYTUU6IFRoaXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5l
c3RlZCB3b3JrZXIgb25lIGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
OwpAQCAtODksNyArODksNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0
UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAot
ICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZp
ZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3Jp
Z2luLCByZWZlcnJlclBvbGljeSwgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSB9OworICAgIFdv
cmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVz
ZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2luLCBy
ZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdz
VmFsdWVzKCkgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3Jl
YXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBk
b2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3Mp
OwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGM1YjU3NWI5ZTYxNWIz
ZjNmNTk2YmZjM2RmNjgzYzg3N2NjNjJiYWIuLjJlMjMxNjlmMDc5M2YwZGNmODA4YTliY2ZiNThl
NmM5MDhjNmNjOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgZmlu
YWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V29ya2VyTWVzc2FnaW5nUHIKIHByaXZh
dGU6CiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAg
ICAgLy8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJl
YWQuKQotICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09u
bGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlND
OjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShj
b25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBS
ZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50
aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOwogICAgIHZvaWQgdGVy
bWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9X
b3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSBmaW5hbDsKICAgICB2
b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmKT4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IDIzODRhNWE4YzdkMmEzMDJl
ZWU1Y2I0MDVlMTA1ZTAyNWM5ODQzY2MuLmY0ZjRiMjc0NjZmOWEzMGIyOGI4YjIxZjZmMmJlZjhi
ZGU5Mzg1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIKIAorI2luY2x1ZGUg
IlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1ZGUgIldvcmtlckV2ZW50TG9vcC5oIgogI2lu
Y2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXb3JrZXJPcldv
cmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCkBAIC0zOSw2ICs0MCw3IEBAIFdURl9NQUtFX0lTT19B
TExPQ0FURURfSU1QTChXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSk7CiAKIFdvcmtlck9yV29y
a2xldEdsb2JhbFNjb3BlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRU
eXBlIHR5cGUsIFJlZjxKU0M6OlZNPiYmIHZtLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQqIHRocmVh
ZCkKICAgICA6IG1fc2NyaXB0KG1ha2VVbmlxdWU8V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlcj4odHlwZSwgV1RGTW92ZSh2bSksIHRoaXMpKQorICAgICwgbV9tb2R1bGVMb2FkZXIobWFr
ZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93
bmVyVHlwZTo6V29ya2VyT3JXb3JrbGV0KSkKICAgICAsIG1fdGhyZWFkKHRocmVhZCkKICAgICAs
IG1faW5zcGVjdG9yQ29udHJvbGxlcihtYWtlVW5pcXVlPFdvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXI+KCp0aGlzKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
T3JXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCA2YzI0NGEwYzQyN2VlMWM4YzY1ZmRjYzc2NTk1MmY4
NzdmZDliMTZiLi41NDRmMDQ3YWVjMjc4MzI3NDRkMGE4YTcwYWY3ZTkzOWMzMzA5OTJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZS5oCkBAIC0zMiw2ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEV2ZW50
TG9vcFRhc2tHcm91cDsKK2NsYXNzIFNjcmlwdE1vZHVsZUxvYWRlcjsKIGNsYXNzIFdvcmtlckV2
ZW50TG9vcDsKIGNsYXNzIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBXb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyOwpAQCAtNTQsNiArNTUsOCBAQCBjbGFzcyBXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LCBwdWJs
aWMgUmVmQ291bgogCiAgICAgdW5zaWduZWQgbG9uZyBjcmVhdGVVbmlxdWVJZGVudGlmaWVyKCkg
eyByZXR1cm4gbV91bmlxdWVJZGVudGlmaWVyKys7IH0KIAorICAgIFNjcmlwdE1vZHVsZUxvYWRl
ciYgbW9kdWxlTG9hZGVyKCkgeyByZXR1cm4gKm1fbW9kdWxlTG9hZGVyOyB9CisKICAgICAvLyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LgogICAgIEV2ZW50TG9vcFRhc2tHcm91cCYgZXZlbnRMb29w
KCkgZmluYWw7CiAgICAgYm9vbCBpc0NvbnRleHRUaHJlYWQoKSBjb25zdCBmaW5hbDsKQEAgLTg4
LDYgKzkxLDcgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KICAgICB2b2lkIGRlcmVmRXZlbnRU
YXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
U2NyaXB0TW9kdWxlTG9hZGVyPiBtX21vZHVsZUxvYWRlcjsKICAgICBXb3JrZXJPcldvcmtsZXRU
aHJlYWQqIG1fdGhyZWFkOwogICAgIFJlZlB0cjxXb3JrZXJFdmVudExvb3A+IG1fZXZlbnRMb29w
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudExvb3BUYXNrR3JvdXA+IG1fZGVmYXVsdFRhc2tH
cm91cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGNkNGVjMjQ2ODI1MjVhYWJjNjQyZDg3N2Ew
ZGEwMTFlYmRlMTE0MzEuLmMxMjZkNWM5MTE3MzdjMDhlYmEwNWYwZDBkMmYzYmZjNTUyM2M4ZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzUsNiArMzUsOSBAQAogI2luY2x1ZGUgIkpTRXhl
Y1N0YXRlLmgiCiAjaW5jbHVkZSAiSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1
ZGUgIkpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgiCisjaW5jbHVkZSAiTG9hZGFibGVNb2R1
bGVTY3JpcHQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmgiCisjaW5jbHVk
ZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5o
IgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJDb25z
b2xlQ2xpZW50LmgiCkBAIC00Myw3ICs0NiwxMiBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0V4Y2VwdGlvbi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0V4Y2VwdGlvbkhlbHBlcnMu
aD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaD4KKyNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0pTTG9jay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTW9kdWxlUmVj
b3JkLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNOYXRpdmVTdGRGdW5jdGlvbi5oPgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hQYXJhbWV0ZXJzLmg+CisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRjaGVyLmg+CiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yMjgs
NyArMjM2LDEzNSBAQCB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1
YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZAogICAgIH0KIH0KIAotdGVtcGxh
dGU8dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5hbWUgSlNHbG9iYWxTY29w
ZSwgdHlwZW5hbWUgR2xvYmFsU2NvcGU+CitzdGF0aWMgSWRlbnRpZmllciBqc1ZhbHVlVG9Nb2R1
bGVLZXkoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUp
Cit7CisgICAgaWYgKHZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVybiBJZGVudGlmaWVy
Ojpmcm9tVWlkKGpzQ2FzdDxTeW1ib2wqPih2YWx1ZSktPnByaXZhdGVOYW1lKCkpOworICAgIEFT
U0VSVCh2YWx1ZS5pc1N0cmluZygpKTsKKyAgICByZXR1cm4gYXNTdHJpbmcodmFsdWUpLT50b0lk
ZW50aWZpZXIobGV4aWNhbEdsb2JhbE9iamVjdCk7Cit9CisKK0pTQzo6SlNWYWx1ZSBXb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZU1vZHVsZShKU0M6OkpTTW9kdWxlUmVj
b3JkJiBtb2R1bGVSZWNvcmQpCit7CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFs
U2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOworICAg
IEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICByZXR1cm4gbW9kdWxlUmVjb3JkLmV2YWx1
YXRlKCZnbG9iYWxPYmplY3QpOworfQorCitNZXNzYWdlUXVldWVXYWl0UmVzdWx0IFdvcmtlck9y
V29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KExvYWRhYmxl
TW9kdWxlU2NyaXB0JiBtb2R1bGVTY3JpcHQsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJj
ZUNvZGUpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAgIHJldHVy
biBNZXNzYWdlUXVldWVUZXJtaW5hdGVkOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisK
KyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7Cisg
ICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2
bSB9OworCisgICAgUmVmUHRyPExvYWRhYmxlTW9kdWxlU2NyaXB0PiBtb2R1bGVTY3JpcHRSZWY7
CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3RhdGU6OmxvYWRNb2R1bGUo
Z2xvYmFsT2JqZWN0LCBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgpLCBKU0M6OkpTU2NyaXB0RmV0
Y2hlcjo6Y3JlYXRlKHZtLCB7ICZtb2R1bGVTY3JpcHQgfSkpOworCisgICAgICAgIG1vZHVsZVNj
cmlwdFJlZiA9ICZtb2R1bGVTY3JpcHQ7CisKKyAgICAgICAgYXV0byYgZnVsZmlsbEhhbmRsZXIg
PSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBTdHJp
bmcoKSwgW21vZHVsZVNjcmlwdFJlZl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUpIC0+IEpTQzo6RW5jb2RlZEpTVmFsdWUgeworICAgICAgICAgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgYXV0byBzY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgICAgICAgICAgSWRlbnRpZmllciBtb2R1bGVLZXkg
PSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDAp
KTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAg
ICAgICBtb2R1bGVTY3JpcHRSZWYtPm5vdGlmeUxvYWRDb21wbGV0ZWQoKm1vZHVsZUtleS5pbXBs
KCkpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
KyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFuZGxlciA9ICpKU05hdGl2ZVN0
ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbbW9kdWxl
U2NyaXB0UmVmXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxG
cmFtZSkgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAg
ICAgICAgSlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKKyAgICAg
ICAgICAgIGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRv
KiBvYmplY3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAgICAgICAgICAgIGlm
IChKU1ZhbHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGlj
X2Nhc3Q8SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFp
bHVyZUtpbmRQcml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlz
IGhvc3QgcHJvcGFnYXRlZCBlcnJvciBpbiB0aGUgbW9kdWxlIGxvYWRlciBwaXBlbGluZS4KKyAg
ICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kPihmYWlsdXJlS2luZFZhbHVlLmFzSW50MzIoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAg
Y2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAgICAgICAgICAgICAg
ICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0
OjpFcnJvciB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVy
cm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdURjo6
bnVsbG9wdAorICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kOjpXYXNDYW5jZWxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZVNjcmlwdFJl
Zi0+bm90aWZ5TG9hZFdhc0NhbmNlbGVkKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0p
OworICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxl
U2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlw
ZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpDb25zb2xl
TWVzc2FnZSB7CisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VTb3VyY2U6OkpTLAorICAgICAg
ICAgICAgICAgICAgICBNZXNzYWdlTGV2ZWw6OkVycm9yLAorICAgICAgICAgICAgICAgICAgICBy
ZXRyaWV2ZUVycm9yTWVzc2FnZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgc2NvcGUp
LAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAg
cHJvbWlzZS50aGVuKCZnbG9iYWxPYmplY3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRs
ZXIpOworICAgIH0KKyAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90
YXNrQ2hlY2twb2ludCgpOworCisgICAgLy8gRHJpdmUgUnVuTG9vcCB1bnRpbCB3ZSBnZXQgZWl0
aGVyIG9mICJXb3JrZXIgaXMgdGVybWluYXRlZCIsICJMb2FkaW5nIGlzIGRvbmUiLCBvciAiTG9h
ZGluZyBpcyBmYWlsZWQiLgorICAgIFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSBtX2dsb2JhbFNj
b3BlLT53b3JrZXJPcldvcmtsZXRUaHJlYWQoKS0+cnVuTG9vcCgpOworCisgICAgTWVzc2FnZVF1
ZXVlV2FpdFJlc3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2ZWQ7CisgICAg
d2hpbGUgKCghbW9kdWxlU2NyaXB0UmVmLT5pc0xvYWRlZCgpICYmICFtb2R1bGVTY3JpcHRSZWYt
Pndhc0NhbmNlbGVkKCkpICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKQorICAg
ICAgICByZXN1bHQgPSBydW5Mb29wLnJ1bkluTW9kZShtX2dsb2JhbFNjb3BlLCBXb3JrZXJSdW5M
b29wOjpkZWZhdWx0TW9kZSgpKTsKKworICAgIC8vIEZJWE1FOiBDdXJyZW50bHkgd2UgYXJlIG5v
dCBvZmZlcmluZyBjYW5jZWxsaW5nLgorICAgIC8vIGlmICghbG9hZGVyLT5kb25lKCkgJiYgcmVz
dWx0ID09IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpCisgICAgLy8gICAgIGxvYWRlci0+Y2FuY2Vs
KCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFdvcmtlck9yV29ya2xldFNjcmlw
dENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShMb2FkYWJsZU1vZHVsZVNjcmlwdCYg
bW9kdWxlU2NyaXB0LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcq
IHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRk
ZW4oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAg
ICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9
OworCisgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhjZXB0aW9uOworICAg
IEpTRXhlY1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoZ2xvYmFsT2JqZWN0LCBJZGVudGlm
aWVyOjpmcm9tVWlkKHZtLCBtb2R1bGVTY3JpcHQubW9kdWxlS2V5KCkpLCBqc1VuZGVmaW5lZCgp
LCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgaWYgKChyZXR1cm5lZEV4Y2VwdGlvbiAmJiBpc1Rl
cm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0aW9uKSkgfHwgaXNU
ZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgIGZvcmJpZEV4ZWN1dGlvbigpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJldHVybmVkRXhjZXB0aW9uKSB7CisgICAg
ICAgIGlmIChtX2dsb2JhbFNjb3BlLT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxzKHNvdXJjZUNvZGUu
Y2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJsKCkuc3RyaW5nKCkpKSB7CisgICAgICAgICAg
ICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4gYXJiaXRyYXJ5IGNv
ZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4KKyAgICAgICAgICAg
IC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQgcHJvcGVybHksIGlm
IGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAgICAgIGlmIChyZXR1
cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVybmVkRXhjZXB0aW9u
TWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3RyaW5nKCZnbG9iYWxP
YmplY3QpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gT3ZlcndyaXRlIHRoZSBk
ZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAgICAgICAgICAgIFN0cmluZyBn
ZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNjcmlwdCBlcnJvci4iX3MgfTsKKyAgICAgICAgICAgIGlm
IChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVybmVkRXhj
ZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNFcnJvck1lc3NhZ2U7CisgICAgICAgICAgICByZXR1cm5l
ZEV4Y2VwdGlvbiA9IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGNyZWF0ZUVycm9yKCZnbG9i
YWxPYmplY3QsIGdlbmVyaWNFcnJvck1lc3NhZ2UpKTsKKyAgICAgICAgfQorICAgIH0KK30KKwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIEpTR2xvYmFsU2NvcGVQcm90b3R5cGUsIHR5cGVuYW1lIEpT
R2xvYmFsU2NvcGUsIHR5cGVuYW1lIEdsb2JhbFNjb3BlPgogdm9pZCBXb3JrZXJPcldvcmtsZXRT
Y3JpcHRDb250cm9sbGVyOjppbml0U2NyaXB0V2l0aFN1YmNsYXNzKCkKIHsKICAgICBBU1NFUlQo
IW1fZ2xvYmFsU2NvcGVXcmFwcGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggYzQ5MzAxYWVkM2Rk
MDg5ZGE3OTczMjc2MGNhZjJmN2I2NGRiMTFiNi4uZmE1YWQ1ZDBjMjcwYmMxNjUzMDUyZjEyMDE4
Yzk3YWRjNTk2MGMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9KU1J1bkxvb3BUaW1lci5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KKyNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVl
Lmg+CiAjaW5jbHVkZSA8d3RmL05ha2VkUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDQs
NiArNDUsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBMb2FkYWJsZU1vZHVsZVNjcmlwdDsKIGNs
YXNzIFNjcmlwdFNvdXJjZUNvZGU7CiBjbGFzcyBXb3JrZXJDb25zb2xlQ2xpZW50OwogY2xhc3Mg
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU7CkBAIC05NCw2ICs5NiwxMSBAQCBjbGFzcyBXb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyIHsKICAgICB2b2lkIGV2YWx1YXRlKGNvbnN0IFNj
cmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxw
dHIpOwogICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIE5ha2VkUHRy
PEpTQzo6RXhjZXB0aW9uPiYgcmV0dXJuZWRFeGNlcHRpb24sIFN0cmluZyogcmV0dXJuZWRFeGNl
cHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAKKyAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGVNb2R1
bGUoSlNDOjpKU01vZHVsZVJlY29yZCYpOworCisgICAgdm9pZCBsaW5rQW5kRXZhbHVhdGVNb2R1
bGUoTG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VD
b2RlLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOworICAgIE1l
c3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3VzbHkoTG9hZGFibGVNb2R1
bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7CisKIHByb3RlY3RlZDoKICAgICBX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSogZ2xvYmFsU2NvcGUoKSBjb25zdCB7IHJldHVybiBt
X2dsb2JhbFNjb3BlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApp
bmRleCA3Mjc5MGEwMzMyMjYxOWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1NzgzLi4yMDA0OTU3ODBm
MTYwNDhkOTY4ODYyYzk4ZjgzOTgwNGEyZmI4ZDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiV29ya2VyVGhyZWFk
LmgiCiAKICNpbmNsdWRlICJJREJDb25uZWN0aW9uUHJveHkuaCIKKyNpbmNsdWRlICJMb2FkYWJs
ZU1vZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRl
ICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCkBAIC01NSw2
ICs1Niw4IEBAIFdvcmtlclBhcmFtZXRlcnMgV29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5
KCkgY29uc3QKICAgICAgICAgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LAogICAgICAgICB0aW1lT3JpZ2luLAogICAgICAgICByZWZlcnJlclBvbGljeSwKKyAgICAg
ICAgd29ya2VyVHlwZSwKKyAgICAgICAgY3JlZGVudGlhbHMsCiAgICAgICAgIHNldHRpbmdzVmFs
dWVzLmlzb2xhdGVkQ29weSgpCiAgICAgfTsKIH0KQEAgLTEyMyw5ICsxMjYsMjkgQEAgYm9vbCBX
b3JrZXJUaHJlYWQ6OnNob3VsZFdhaXRGb3JXZWJJbnNwZWN0b3JPblN0YXJ0dXAoKSBjb25zdAog
CiB2b2lkIFdvcmtlclRocmVhZDo6ZXZhbHVhdGVTY3JpcHRJZk5lY2Vzc2FyeShTdHJpbmcmIGV4
Y2VwdGlvbk1lc3NhZ2UpCiB7Ci0gICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmV2YWx1YXRl
KFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1
cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOwotCi0gICAgZmlu
aXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgLy8gV2UgYXJlIGN1cnJlbnRseSBob2xkaW5n
IG9ubHkgdGhlIGluaXRpYWwgc2NyaXB0IGNvZGUuIElmIHRoZSBXb3JrZXJUeXBlIGlzIE1vZHVs
ZSwgd2Ugc2hvdWxkIGZldGNoIHRoZSBlbnRpcmUgZ3JhcGggYmVmb3JlIGV4ZWN1dGluZyB0aGUg
cmVzdCBvZiB0aGlzLgorICAgIC8vIFdlIGludm9rZSBtb2R1bGUgbG9hZGVyIGFzIGlmIHdlIGFy
ZSBleGVjdXRpbmcgaW5saW5lIG1vZHVsZSBzY3JpcHQgdGFnIGluIERvY3VtZW50LgorCisgICAg
aWYgKG1fc3RhcnR1cERhdGEtPnBhcmFtcy53b3JrZXJUeXBlID09IFdvcmtlclR5cGU6OkNsYXNz
aWMpIHsKKyAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmV2YWx1YXRlKFNjcmlwdFNv
dXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBh
cmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICBmaW5pc2hlZEV2
YWx1YXRpbmdTY3JpcHQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBGSVhNRSBjcm9zc09y
aWdpbiBtb2RlIHNob3VsZCBiZSBjb252ZXJ0ZWQuCisgICAgICAgIC8vIEZJWE1FIGZpeCBpbml0
aWF0b3IgbmFtZS4KKyAgICAgICAgLy8gRklYTUUgcGFzcyBVUkwgdG8gbW9kdWxlIGxvYWRlci4K
KyAgICAgICAgU2NyaXB0U291cmNlQ29kZSBzb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJj
ZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSwgeyB9LCBKU0M6OlNv
dXJjZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlKTsKKyAgICAgICAgYXV0byBtb2R1bGVTY3Jp
cHQgPSBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6Y3JlYXRlKGVtcHR5U3RyaW5nKCksIGVtcHR5U3Ry
aW5nKCksIG1fc3RhcnR1cERhdGEtPnBhcmFtcy5yZWZlcnJlclBvbGljeSwgU2NyaXB0RWxlbWVu
dENhY2hlZFNjcmlwdEZldGNoZXI6OmRlZmF1bHRDcm9zc09yaWdpbk1vZGVGb3JNb2R1bGUsIGVt
cHR5U3RyaW5nKCksIGVtcHR5QXRvbSgpLCBmYWxzZSk7CisgICAgICAgIE1lc3NhZ2VRdWV1ZVdh
aXRSZXN1bHQgcmVzdWx0ID0gZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmxvYWRNb2R1bGVTeW5j
aHJvbm91c2x5KG1vZHVsZVNjcmlwdC5nZXQoKSwgc291cmNlQ29kZSk7CisgICAgICAgIGlmIChy
ZXN1bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICAgICAgaWYgKCFtb2R1
bGVTY3JpcHQtPmVycm9yKCkgJiYgIW1vZHVsZVNjcmlwdC0+d2FzQ2FuY2VsZWQoKSkgeworICAg
ICAgICAgICAgICAgIC8vIEV2YWx1YXRlLgorICAgICAgICAgICAgICAgIGdsb2JhbFNjb3BlKCkt
PnNjcmlwdCgpLT5saW5rQW5kRXZhbHVhdGVNb2R1bGUobW9kdWxlU2NyaXB0LmdldCgpLCBzb3Vy
Y2VDb2RlLCAmZXhjZXB0aW9uTWVzc2FnZSk7CisgICAgICAgICAgICAgICAgZmluaXNoZWRFdmFs
dWF0aW5nU2NyaXB0KCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8v
IEZJWE1FIFRocm93IGFuIGVycm9yLgorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQog
CiAgICAgLy8gRnJlZSB0aGUgc3RhcnR1cCBkYXRhIHRvIGNhdXNlIGl0cyBtZW1iZXIgdmFyaWFi
bGUgZGVyZWYncyBoYXBwZW4gb24gdGhlIHdvcmtlcidzIHRocmVhZCAoc2luY2UKICAgICAvLyBh
bGwgcmVmL2RlcmVmcyBvZiB0aGVzZSBvYmplY3RzIGFyZSBoYXBwZW5pbmcgb24gdGhlIHRocmVh
ZCBhdCB0aGlzIHBvaW50KS4gTm90ZSB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaAppbmRleCA4ODkwNzkwOGU3YTliODA5ZThmMmE0ZTQ3M2Q3NTJkMTFkMjkzN2MwLi45NTEy
ZWZkYjE4ZjMyYTUwZWNiN2ZiNTY5NTlkNjFlODg3MmZhMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmgKQEAgLTI2LDcgKzI2LDEwIEBACiAjcHJhZ21hIG9uY2UKIAogI2lu
Y2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgorI2luY2x1ZGUg
IkZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0VGhy
ZWFkLmgiCisjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDxt
ZW1vcnk+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNjMsNiArNjYsOCBAQCBzdHJ1Y3QgV29y
a2VyUGFyYW1ldGVycyB7CiAgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3k7CiAgICAgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luOwogICAgIFJlZmVycmVy
UG9saWN5IHJlZmVycmVyUG9saWN5OworICAgIFdvcmtlclR5cGUgd29ya2VyVHlwZTsKKyAgICBG
ZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFsczsKICAgICBTZXR0aW5nczo6VmFsdWVz
IHNldHRpbmdzVmFsdWVzOwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRlZENvcHkoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKaW5kZXggYzhhN2E5OTcyZjljYzhjMTZh
Nzk2NzUxMTU1MmY1NDkzYTY4NmY5OC4uMzNjYTBlYzIzYjU4YTU1MTE4NzY4NDZiYTA3MTgzNTMy
YjVjNDdkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKQEAgLTczLDggKzczLDkgQEAg
Y2xhc3MgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkgOiBwdWJsaWMgV29ya2VyT2JqZWN0
UHJveHkgewogLy8gRklYTUU6IFVzZSBhIHZhbGlkIFdvcmtlck9iamVjdFByb3h5CiAvLyBGSVhN
RTogVXNlIHZhbGlkIHJ1bnRpbWUgZmxhZ3MKIAorLy8gRklYTUU6IFVzZSBhIHZhbGlkIFdvcmtl
clR5cGUgYW5kIENyZWRlbnRhaWxzIGZvciBtb2R1bGUgc2VydmljZSB3b3JrZXJzLgogU2Vydmlj
ZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29u
dGV4dERhdGEmIGRhdGEsIFN0cmluZyYmIHVzZXJBZ2VudCwgY29uc3QgU2V0dGluZ3M6OlZhbHVl
cyYgc2V0dGluZ3NWYWx1ZXMsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgV29ya2Vy
RGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94eSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJv
eHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQot
ICAgIDogV29ya2VyVGhyZWFkKHsgZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2
aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRp
ZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJT
dHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2Us
IE1vbm90b25pY1RpbWU6Om5vdygpLCB7IH0sIHNldHRpbmdzVmFsdWVzIH0sIGRhdGEuc2NyaXB0
LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJv
eHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3Ry
YXRpb24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rp
b25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFi
bGVkKCkpCisgICAgOiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmco
KSwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVh
dGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCkt
PmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5
LCBmYWxzZSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgV29ya2VyVHlwZTo6Q2xhc3NpYywg
RmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4sIHNldHRpbmdzVmFsdWVzIH0sIGRh
dGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2Vy
VGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0
YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlk
YkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVh
dGVBbGxFbmFibGVkKCkpCiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAs
IG1fd29ya2VyT2JqZWN0UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJl
ZCgpKQogICAgICwgbV9oZWFydEJlYXRUaW1lb3V0KFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRv
bigpLmNvbm5lY3Rpb24oKS0+c2hvdWxkVXNlU2hvcnRUaW1lb3V0KCkgPyBoZWFydEJlYXRUaW1l
b3V0Rm9yVGVzdCA6IGhlYXJ0QmVhdFRpbWVvdXQpCg==
</data>
<flag name="commit-queue"
          id="438170"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419819</attachid>
            <date>2021-02-10 00:29:20 -0800</date>
            <delta_ts>2021-02-10 00:42:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210210002919.patch</filename>
            <type>text/plain</type>
            <size>105463</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZlNjA0YWRhNjJiNWRm
MmIzMzA0MTk0ZTc2ZGNkNzNjMzdjN2E3NC4uNTIzMDkyNDc5YzE4NDY5ODk4YzI0Nzc4MDc1MWZm
YzU3YzQwOGQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkzIEBACisyMDIxLTAyLTEwICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBX
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjps
b2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5
RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNo
ZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2NyaXB0TW9kdWxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRjaCk6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1w
b3J0TWV0YVByb3BlcnRpZXMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2Jq
ZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNo
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9h
ZGVyRXZhbHVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNl
Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyk6
IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oLgorICAgICAgICAoV2ViQ29y
ZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpjbGVhckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpN
b2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgICogYmluZGlu
Z3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaC4KKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRN
b2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9h
ZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVs
ZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJM
RnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpl
dmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1v
ZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlz
aGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
LgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
Ojp+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmguCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQpOiBEZWxldGVkLgorICAgICAgICAq
IGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3Jp
cHQpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlcjo6V29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2Jh
bFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2Fk
ZXIpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1v
ZHVsZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29s
YXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0
ZVNjcmlwdElmTmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRo
cmVhZCk6CisKIDIwMjEtMDItMDcgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihyMjcyMzc5KSBbV1BFXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcvbWF0aHZhcmlhbnQgdGVzdHMg
YXJlIEltYWdlIEZhaWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggYTVlMTVjODUwN2Y2OWU4MTQ4ZWU3
N2IzODRkZTEzODFkYTc3OTYwMC4uYmRhNGNjODlhZDJjOWI5ZDBjYTIyZjIxNmU3NDNiNjAzYmZh
Mjc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTYzOCw2ICs2MzgsNyBAQCBiaW5kaW5ncy9qcy9TdHJ1
Y3R1cmVkQ2xvbmUuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlSklUT3BlcmF0aW9ucy5jcHAKIGJp
bmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlVHlw
ZWRBcnJheUNvbnRyb2xsZXIuY3BwCitiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuY3BwCiBiaW5kaW5ncy9qcy9XaW5kb3dQcm94eS5jcHAKIGJpbmRpbmdzL2pzL1dyaXRhYmxl
U3RyZWFtLmNwcAogYnJpZGdlL0lkZW50aWZpZXJSZXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzA3YzJhODExZmQ2M2Ji
YWUxZmJmMmU5YzJlZWExOWExODVkZDZkYy4uMjRjMzk2NWM1YjQxZTIyODA4YmE5NWUzMGYxMDcz
ZWY0MGU0NDNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNTA2MiwxNSArNTA2MiwxNyBAQAogCQlFMzA1OTI2NDFFMjdBM0FE
MDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTkyNjIxRTI3QTM4QzAwRDU3Qzk4IC8qIElubGlu
ZUNsYXNzaWNTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlFMzA1OTI2ODFFMjdBM0QxMDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTky
NjYxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzA3REVEMDFEODFFNEM3MDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJRTMwN0RFRDExRDgxRTRDQjAwMTQxQ0FGIC8qIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUUzMDdERUQ1MUQ4MUU0RjIwMDE0MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNjcmlw
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RF
RDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMxNTBFQTcxREE3MjE5MzAw
MTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJz
LmggKi87IH07CiAJCUUzMjAxQzFBMUY4RTgyMTMwMDc2QTAzMiAvKiBNb2R1bGVGZXRjaFBhcmFt
ZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
OEQwNjA5MUY4RTgxMTkwMDY0OUNGMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzIzQ0ZGQTFFNUFG
NkFGMDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyM0NGRjkxRTVBRjZBNTAwRjBCNEEwIC8qIEpT
RE9NQ29udmVydFByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgg
Ki87IH07CisJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
NTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU2NUI3QjFE
QzJENkM5MDAyMTdEQkQgLyogSlNFdmVudEN1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZl
bnRDdXN0b20uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODAyQjUxREM4
NDM1ODAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU4MkMyODI1MjdGNjY5MDBEMUI3OTAg
LyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzNTgyQzI2MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3Bl
cmF0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUUzNUI5MDdGMjNGNjBBNTAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1QjkwN0MyM0Y2
MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM2NDMyMUMyNUQzN0E2NzAwRjkwRTJB
IC8qIE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExv
YWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzNzdGRTREMURBREUxNjUwMENERDAyNSAvKiBOb2RlQ29uc3RhbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QwNDk5MzFEQURDMDQ1MDA3MThG
M0MgLyogTm9kZUNvbnN0YW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAvKiBKU0RPTVByb21pc2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzN0M4NjRG
MUVCNjNFMkQwMDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzk2MjhCRjIzOTU3MjhGMDA2NThFQ0QgLyog
RGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNEIC8qIERldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTYxNzcsNyArMTYxNzksNiBAQAogCQlFMzA1OTI2NjFF
MjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDYWNoZWRTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUzMDdERUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMw
N0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8q
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFRDIxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9k
dWxlU2NyaXB0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvYWRh
YmxlTW9kdWxlU2NyaXB0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RF
RDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBET01KSVRIZWxw
ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEhlbHBlcnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MTkwLDEyICsxNjE5MSwxNiBAQAogCQlF
MzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyogVHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTMyOTI3NjYyMjU0M0ZERTAwMzA4QTlBIC8qIERPTVJlY3RSZWFkT25seS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01SZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzM0ODI1RTFEQzkzQUEwMDA5Qzk1NDQgLyogRE9NSklUQWJzdHJh
Y3RIZWFwUmVwb3NpdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBET01K
SVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKKwkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNj
cmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM0MzJERTMy
NUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMg
LyogSlNFdmVudEN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2
ZW50Q3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNTE4OEIzMjVEMzg3
Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzNTgwMkI1MURDODQzNTgwMEE5NzczQyAvKiBET01KSVRJRExU
eXBlRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVElETFR5
cGVGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODJDMjQyNTI3RjY2
ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRP
cGVyYXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVKSVRP
cGVyYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdDMjNGNjA2
NzcwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMzVCOTA3RTIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9k
ZWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbGl6ZWRE
ZXZpY2VNb2RlbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM2NDMyMUEyNUQz
N0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVByb21pc2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUzIC8qIFNjcmlwdE1vZHVs
ZUxvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRN
b2R1bGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5NTFC
QUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjY5ODcsNyArMjY5OTIsNiBAQAogCQkJCTJERkE0ODhFMURCNTQxQzIwMDM2
MkI5OSAvKiBCdWZmZXJTb3VyY2UuaCAqLywKIAkJCQlFMzA3REVDNjFEODFFNDQ4MDAxNDFDQUYg
LyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLywKIAkJCQlFMzA3REVDNzFEODFFNDQ4
MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCi0JCQkJRTMwN0RFQzgx
RDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovLAog
CQkJCUUzMDU5MjY1MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCAq
LywKIAkJCQlFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5o
ICovLAogCQkJCUJDRDUzMzYzMEVENjg0ODkwMDg4NzQ2OCAvKiBDYWNoZWRTY3JpcHRTb3VyY2VQ
cm92aWRlci5oICovLApAQCAtMjcwNjEsNiArMjcwNjUsOCBAQAogCQkJCTRCREVBMzJEMjE4MDM0
MDUwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwICovLAogCQkJCTRCREVB
MzJCMjE4MDMzRUIwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuaCAqLywKIAkJ
CQk3MDlBMDFGRDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oICov
LAorCQkJCUUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCAq
LywKKwkJCQlFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50LmggKi8sCiAJCQkJNDFCNDU5RUQxRjU1RUJDNzAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFt
LmNwcCAqLywKIAkJCQk0MUI0NTlEQTFGNENBREI5MDAwMEY2RkQgLyogUmVhZGFibGVTdHJlYW0u
aCAqLywKIAkJCQk0MThDMzk1RTFDOEYwQUFCMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlci5jcHAgKi8sCkBAIC0yNzA5Miw2ICsyNzA5OCw4IEBACiAJCQkJMEYwOTlE
MDcxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oICovLAog
CQkJCTQ2MzUyMUFDMjA4MTA5MEUwMEMyODkyMiAvKiBXaW5kb3dQcm94eS5jcHAgKi8sCiAJCQkJ
NDYzNTIxQUEyMDgxMDkwQjAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5LmggKi8sCisJCQkJRTM0MzJE
RTMyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8sCisJ
CQkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
ICovLAogCQkJCTQxNDE4QTAzMjU2NDNFMTIwMDM2MzQxNyAvKiBXcml0YWJsZVN0cmVhbS5jcHAg
Ki8sCiAJCQkJNDE0MThBMDQyNTY0M0UxMzAwMzYzNDE3IC8qIFdyaXRhYmxlU3RyZWFtLmggKi8s
CiAJCQkpOwpAQCAtMzEzNTcsNyArMzEzNjUsNiBAQAogCQkJCUJDQjE2QzFDMDk3OUMzQkQwMDQ2
Nzc0MSAvKiBDYWNoZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE5RkJENUYxNUQyRjQ2
NDAwOTY0MEE2IC8qIENhY2hlZEltYWdlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzA3
REVEMDFEODFFNEM3MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlFMzA3REVEMTFEODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAxODQ2OTBCMDg2MDJBMDA0
QTgyNUYgLyogQ2FjaGVkUGFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDBFREE3NzUxNDNFMzAz
QzAwMjhFMzgzIC8qIENhY2hlZFJhd1Jlc291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUI1
MzM0OTE3MTdERUUzMDBGMjA1RjkgLyogQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzM4MjcsNiArMzM4MzQsOCBAQAogCQkJCUM2RDc0QUQ1MDlBQTI4MkUwMDBC
MEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25MaXN0TGV2ZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTcw
OUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzY0MzIxQzI1RDM3QTY3MDBGOTBFMkEgLyog
TW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzUxODhCNDI1RDM4N0NG
MDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGNTVCM0RDNjEyNTFGMTJEMDAzRUYyNjkgLyogTW9udGhJbnB1dFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUzOTYyOEMxMjM5NTc0MzEwMDY1OEVDRCAvKiBNb3Rpb25NYW5hZ2VyQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0NjBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VF
dmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTQ3Niw2ICszNTQ4NSw3IEBACiAJCQkJMThGODMx
QjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRTQzNDY0RDBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyTG9jYXRpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTJFNDM0NjUwMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJNZXNzYWdpbmdQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM0MzJERTQyNUQzNzdFMzAwNThFNjEyIC8qIFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNzFBMEIwRUVF
Qzc3QTAwRjYxMjEzIC8qIFdvcmtlck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVD
QjA1MjUxRkI1MUYzQTAwMDg5Qjk3IC8qIFdvcmtlck5ldHdvcmtBZ2VudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMkU0MzQ2NTEwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlck9iamVjdFByb3h5Lmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0Nh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9D
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDM1MmRjYzRhY2Y3NTE3NmQ5OGFkMzQx
MGJlMTUxNjA4MDEwODg1MjQuLmM2YmM0NDdkMzE5MDQwMjRiM2NiZDdjY2E2YzBjMjljZmI0ODBh
NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyLmNwcApAQCAtNDAsMTMgKzQwLDEzIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOjpjcmVhdGUoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERl
ZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hl
ciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorUmVmPENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwg
Q2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFy
YW1ldGVycz4mJiBwYXJhbWV0ZXJzKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1v
dmUocGFyYW1ldGVycykpKTsKIH0KIAotQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQs
IERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0
Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQotICAgIDog
bV9jbGllbnQoJmNsaWVudCkKK0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFBy
b21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0
cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICA6IE1vZHVsZVNjcmlw
dExvYWRlcihjbGllbnQpCiAgICAgLCBtX3Byb21pc2UoJnByb21pc2UpCiAgICAgLCBtX3Njcmlw
dEZldGNoZXIoc2NyaXB0RmV0Y2hlcikKICAgICAsIG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFt
ZXRlcnMpKQpAQCAtNjEsMTQgKzYxLDE0IEBAIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6fkNh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlcigpCiAgICAgfQogfQogCi1ib29sIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNlVVJM
KQorYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50
LCBVUkwmJiBzb3VyY2VVUkwpCiB7CiAgICAgQVNTRVJUKCFtX2NhY2hlZFNjcmlwdCk7CiAgICAg
U3RyaW5nIGludGVncml0eSA9IG1fcGFyYW1ldGVycyA/IG1fcGFyYW1ldGVycy0+aW50ZWdyaXR5
KCkgOiBTdHJpbmcgeyB9OwogICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9zY3JpcHRGZXRjaGVyLT5y
ZXF1ZXN0TW9kdWxlU2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkwsIFdURk1vdmUoaW50ZWdyaXR5
KSk7CiAgICAgaWYgKCFtX2NhY2hlZFNjcmlwdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IG1fc291cmNlVVJMID0gc291cmNlVVJMOworICAgIG1fc291cmNlVVJMID0gV1RGTW92ZShzb3Vy
Y2VVUkwpOwogCiAgICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgYWxyZWFkeSBjYWNoZWQsIHRoaXMg
aW1tZWRpYXRlbHkgY2FsbHMgbm90aWZ5RmluaXNoZWQuCiAgICAgbV9jYWNoZWRTY3JpcHQtPmFk
ZENsaWVudCgqdGhpcyk7CkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IE5l
CiAKICAgICBSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlz
KTsKICAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgq
dGhpcywgV1RGTW92ZShtX3Byb21pc2UpKTsKKyAgICAgICAgbV9jbGllbnQtPm5vdGlmeUZpbmlz
aGVkKCp0aGlzLCBXVEZNb3ZlKG1fc291cmNlVVJMKSwgbV9wcm9taXNlLnJlbGVhc2VOb25OdWxs
KCkpOwogCiAgICAgLy8gUmVtb3ZlIHRoZSBjbGllbnQgYWZ0ZXIgY2FsbGluZyBub3RpZnlGaW5p
c2hlZCB0byBrZWVwIHRoZSBkYXRhIGJ1ZmZlciBpbgogICAgIC8vIENhY2hlZFJlc291cmNlIGFs
aXZlIHdoaWxlIG5vdGlmeUZpbmlzaGVkIHByb2Nlc3NlcyB0aGUgcmVzb3VyY2UuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5o
CmluZGV4IDQzYWJkODc1YjI0M2ZhZjVmY2Q0ZDk4ZWMzYzVkMjRlNzkwYjU3MmUuLjA0NDg3NjE4
OTlkZWVlN2E4NjU4MjhjMDAxZWRhMWJmNzgzNTMzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCiAj
aW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzQsNyArMzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKK2NsYXNzIE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudDsKIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIENhY2hlZFNjcmlw
dEZldGNoZXI7CiBjbGFzcyBEZWZlcnJlZFByb21pc2U7CkBAIC00MiwzMSArNDMsMjMgQEAgY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKIGNsYXNzIE1vZHVsZUZldGNo
UGFyYW1ldGVyczsKIAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVi
bGljIFJlZkNvdW50ZWQ8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiwgcHJpdmF0ZSBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CitjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBw
dWJsaWMgTW9kdWxlU2NyaXB0TG9hZGVyLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRl
KENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hl
ZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBz
dGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQ
dHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcigpOwogCi0gICAgYm9vbCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiBz
b3VyY2VVUkwpOworICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIFVSTCYmIHNvdXJjZVVSTCk7CiAK
ICAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyKCkgeyByZXR1cm4gbV9zY3Jp
cHRGZXRjaGVyLmdldCgpOyB9CiAgICAgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQoKSB7IHJl
dHVybiBtX2NhY2hlZFNjcmlwdC5nZXQoKTsgfQogICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyog
cGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQotICAgIGNvbnN0IFVS
TCYgc291cmNlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VVUkw7IH0KLQotICAgIHZvaWQg
Y2xlYXJDbGllbnQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICAgICAg
bV9jbGllbnQgPSBudWxscHRyOwotICAgIH0KIAogcHJpdmF0ZToKLSAgICBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9t
aXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+
JiYpOworICAgIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVs
ZUZldGNoUGFyYW1ldGVycz4mJik7CiAKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJl
c291cmNlJiwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikgZmluYWw7CiAKLSAgICBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9OwogICAgIFJlZlB0
cjxEZWZlcnJlZFByb21pc2U+IG1fcHJvbWlzZTsKICAgICBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hl
cj4gbV9zY3JpcHRGZXRjaGVyOwogICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+IG1f
cGFyYW1ldGVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDg2ODhhZDkwZGFlM2VjZTk0OWVhMDliMWVmZWU1ZGEyNmY5NGM3ODYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKKysrIC9kZXYvbnVsbApA
QCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlLCBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcjsKLWNsYXNzIERlZmVycmVkUHJvbWlzZTsKLQotY2xhc3MgQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7Ci0KLSAgICB2aXJ0dWFsIHZv
aWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4pID0gMDsKLX07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKaW5kZXggYTQzMzc1ODY1YmJmMWVjNTk3M2Jm
MTcyYzkxYTM4NTMyMzRlMzc0ZC4uZGYzYzZiNmViYjg0YWY3MmVkMjk1NWY5OTExZDA3YTg3YWIz
NTMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
RmV0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
RmV0Y2hlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vz
c0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CisjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00Nyw2ICs0OCw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNj
cmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdE1vZHVsZVNjcmlwdChEb2N1CiAKIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdFNjcmlwdFdpdGhDYWNoZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNl
VVJMLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBP
cHRpb25hbDxSZXNvdXJjZUxvYWRQcmlvcml0eT4gcmVzb3VyY2VMb2FkUHJpb3JpdHkpIGNvbnN0
CiB7CisgICAgLy8gV2l0aG91dCBzY3JpcHRpbmcsIHRoZXJlIGlzIG5vIHdheSB0byBzdGFydCBX
b3JrZXJzLgogICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS5pc1NjcmlwdEVuYWJsZWQoKSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1OGI3ZGY3NjBjMDBhMzFmZjA4ZWQyMmRl
ZTIyYThjNzQ0M2FlOGRkLi45ZDY5N2Q0NTliNTYzNDVjYzgzOTYyMDI2Njc2ZTAwYTk4YmY0OWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiSlNXb3JrbGV0R2xvYmFsU2NvcGUuaCIK
ICNpbmNsdWRlICJSZWplY3RlZFByb21pc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN0cnVjdHVyZWRDbG9uZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIK
ICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtNDIyLDYgKzQyMyw3OSBAQCBKU0M6
OkpTUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Omluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsbwogfQogI2VuZGlmCiAKK3N0YXRpYyBTY3JpcHRNb2R1bGVMb2Fk
ZXIqIHNjcmlwdE1vZHVsZUxvYWRlcihKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQor
eworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0
LT5pbmhlcml0czxKU0RPTVdpbmRvd0Jhc2U+KHZtKSkgeworICAgICAgICBpZiAoYXV0byBkb2N1
bWVudCA9IGpzQ2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpLT53cmFw
cGVkKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiAmZG9jdW1lbnQtPm1vZHVsZUxv
YWRlcigpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaWYgKGdsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNSZW1vdGVET01XaW5kb3dCYXNlPih2bSkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2VyR2xvYmFs
U2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2VyR2xv
YmFsU2NvcGVCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1vZHVsZUxvYWRlcigpOwor
ICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZT4o
dm0pKQorICAgICAgICByZXR1cm4gJmpzQ2FzdDxjb25zdCBKU1dvcmtsZXRHbG9iYWxTY29wZUJh
c2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJT
ZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0Pih2bSkpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
I2VuZGlmCisgICAgZGF0YUxvZygiVW5leHBlY3RlZCBnbG9iYWwgb2JqZWN0OiAiLCBKU1ZhbHVl
KGdsb2JhbE9iamVjdCksICJcbiIpOworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTQzo6SWRlbnRpZmllciBKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6Ompz
Q2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxv
YWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxv
YWRlci0+cmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgaW1w
b3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiB7IH07Cit9CisKK0pT
Qzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFt
ZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlw
dE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNj
b3BlLCBsb2FkZXItPmZldGNoKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXks
IHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7Cisg
ICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7CisgICAgcmV0
dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
TW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6
SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAg
IEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1
bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmV2YWx1YXRlKGds
b2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0
RmV0Y2hlcik7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKworSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1N0cmluZyogbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJiBzb3VyY2VPcmlnaW4pCit7CisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6
anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byog
bG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+aW1wb3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9k
dWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VPcmlnaW4pKTsKKyAgICBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAg
ICBzY29wZS5yZWxlYXNlKCk7CisgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNV
bmRlZmluZWQoKSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNPYmplY3QqIEpT
RE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhK
U0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1v
ZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCog
bW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUds
b2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVy
KHRoaXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5jcmVhdGVJbXBvcnRNZXRhUHJv
cGVydGllcyhnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNv
cmQsIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVy
ZSgpKTsKK30KKwogSlNET01HbG9iYWxPYmplY3QmIGNhbGxlckdsb2JhbE9iamVjdChKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBjYWxsRnJhbWUpCiB7CiAg
ICAgY2xhc3MgR2V0Q2FsbGVyR2xvYmFsT2JqZWN0RnVuY3RvciB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAppbmRleCBiODQwNzJkZGQ3NDZiM2Q2
YzUxMDYwZDkwNTAxYjVjZWExYjQ5OWIxLi5mNDlhNGNkMjU3MTk3MTE4OTE3YTdkN2E0YjZjMGUx
MWZjNzZiYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmgKQEAgLTEwNSw2ICsxMDUsMTIgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNET01H
bG9iYWxPYmplY3QgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbE9iamVjdCB7CiAgICAgc3RhdGljIEpT
Qzo6SlNQcm9taXNlKiBpbnN0YW50aWF0ZVN0cmVhbWluZyhKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTT2JqZWN0Kik7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBKU0M6
OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFs
dWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1
ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUg
bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVM
b2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAgICBz
dGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0cmluZyos
IEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKKyAgICBzdGF0aWMgSlND
OjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOworCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAg
bV9zdHJ1Y3R1cmVzOwogICAgIEpTRE9NQ29uc3RydWN0b3JNYXAgbV9jb25zdHJ1Y3RvcnM7CiAg
ICAgRE9NR3VhcmRlZE9iamVjdFNldCBtX2d1YXJkZWRPYmplY3RzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggNTYzZWZhMDU3MWI1ZDQ2
MmQ5ZTY0NTA4OWYwYmQ4Zjc3ZDE5YTc2OC4uMzEyYTAxMTU4ZThjMjgwODNjMDdlNDJkYjg3MjQ1
ZmU0ZTVjNTdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCkBAIC0zMzksNTQgKzMzOSw0IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJl
RnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiAgICAg
fQogfQogCi1KU0M6OklkZW50aWZpZXIgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNv
bHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGlt
cG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RP
TVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihn
bG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09i
amVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCkucmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFt
ZSwgaW1wb3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiB7IH07Ci19
Ci0KLUpTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVy
RmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBw
YXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9N
V2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9j
dW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuZmV0Y2goZ2xvYmFs
T2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hl
cikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0
dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFs
T2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpK
U1ZhbHVlIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIs
IEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6
SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVj
dCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYg
KFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1l
bnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5ldmFsdWF0ZShn
bG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlw
dEZldGNoZXIpOwotICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxl
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciog
bW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFy
YW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKLXsKLSAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anND
YXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1
bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAg
ICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuaW1w
b3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0
ZXJzLCBzb3VyY2VPcmlnaW4pKTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNl
ID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVy
bmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcHJvbWlz
ZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7Ci0gICAgcmV0dXJuIHByb21p
c2U7Ci19Ci0KLUpTQzo6SlNPYmplY3QqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3Jl
YXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVL
ZXksIEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nh
c3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3Vt
ZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAg
ICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0
aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwg
c2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9i
amVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkp
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5oCmluZGV4IDNlZjk4MGRkMjdmNmIyMTM5ODcwMDhiYTQ3NmM4
Y2E2OWYyZjBiNjQuLjUxNDJiMWM3ZGMyNWMyMmZlOTc4OTVlNzVhZTIyZWY0ZDFlNTg5ZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC05OSwx
MiArOTksNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTVdpbmRvd0Jhc2UgOiBwdWJsaWMg
SlNET01HbG9iYWxPYmplY3QgewogcHJpdmF0ZToKICAgICB1c2luZyBSZXNwb25zZUNhbGxiYWNr
ID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IGNoYXIqLCBzaXplX3QpPjsKIAotICAgIHN0YXRp
YyBKU0M6OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2Fk
ZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpT
VmFsdWUgbW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNN
b2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsK
LSAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9k
dWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0
cmluZyosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKLSAgICBzdGF0
aWMgSlNDOjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUs
IEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwotCiAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV93cmFwcGVkOwogICAgIFJlZlB0cjxFdmVudD4gbV9jdXJyZW50RXZlbnQ7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwCmluZGV4IDQyYjI2YzlmNGVhMjE2MjA3ZGU0Yzg2ODIwYjhhODFiNjAzNWI3ZWIu
LjJkNzkzZmZmMjE4NTNhOGExYTc4ODA2NjcyNTBmNTdlNzUyZmUzZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAK
QEAgLTU5LDExICs1OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtl
ckdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZQogICAgICZqYXZhU2Ny
aXB0UnVudGltZUZsYWdzLAogICAgICZxdWV1ZU1pY3JvdGFza1RvRXZlbnRMb29wLAogICAgICZz
aG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckltcG9ydE1vZHVsZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlclJlc29sdmUK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJGZXRjaAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxl
TG9hZGVyRXZhbHVhdGUKKyAgICAmbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlLAorICAgICZtb2R1
bGVMb2FkZXJSZXNvbHZlLAorICAgICZtb2R1bGVMb2FkZXJGZXRjaCwKKyAgICAmbW9kdWxlTG9h
ZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMsCisgICAgJm1vZHVsZUxvYWRlckV2YWx1YXRl
LAogICAgICZwcm9taXNlUmVqZWN0aW9uVHJhY2tlciwKICAgICAmcmVwb3J0VW5jYXVnaHRFeGNl
cHRpb25BdEV2ZW50TG9vcCwKICAgICAmY3VycmVudFNjcmlwdEV4ZWN1dGlvbk93bmVyLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3Bl
QmFzZS5jcHAKaW5kZXggMzVmYTZlMzI3N2ZiMGQ0YmUwZTBlMWVkYzQzNzIyZWRhZGZjOGFmMi4u
OWZhZWM5NTljMzlkMTc0ODE4MWM5ODY1MDAzZDVhODZmMTdmNWUzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3Bw
CkBAIC00OSwxMSArNDksMTEgQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNXb3Jr
bGV0R2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmwKICAgICAmamF2YVNj
cmlwdFJ1bnRpbWVGbGFncywKICAgICBudWxscHRyLCAvLyBxdWV1ZU1pY3JvdGFza1RvRXZlbnRM
b29wCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9h
ZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBudWxscHRy
LCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUs
CisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNoLAorICAg
ICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9kdWxlTG9h
ZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZyZXBvcnRV
bmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhlY3V0aW9u
T3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE4ZWFiMTIzYWVlZWIwMmU4YTI2Mzc4YjMyZTE5NTdkMzMzOTVjYWYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8TW9kdWxlU2NyaXB0TG9hZGVyPiB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+TW9kdWxlU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBjbGVh
ckNsaWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQobV9jbGllbnQpOworICAgICAgICBtX2Ns
aWVudCA9IG51bGxwdHI7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAgTW9kdWxlU2NyaXB0TG9h
ZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50KQorICAgICAgICA6IG1fY2xpZW50
KCZjbGllbnQpCisgICAgeworICAgIH0KKworICAgIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCog
bV9jbGllbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY5OTVmNDhlZTNkMWUwMmMxZDhjOWM5ZGEyYmQ1ODIzNmYzYmEwN2QKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJ
bmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IE1vZHVsZVNjcmlwdExvYWRlcjsKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKKworY2xhc3MgTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Rmlu
aXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSA9
IDA7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRNb2R1bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9k
dWxlTG9hZGVyLmNwcAppbmRleCBhYTViODBiNTg2Yjc5ZTBlNTc1MDFjZDUxMDc4ZGYyNWE2MjVl
NWQ5Li44MGU5YjEwYzRlMDJkNjJmMDhjNmNmMGI3MzRkMjY5MjJmNDY1NTRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKQEAgLTI5
LDcgKzI5LDYgQEAKICNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCIKICNpbmNs
dWRlICJDYWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCi0j
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCkBAIC01Miw4ICs1
MSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU2NyaXB0TW9kdWxlTG9hZGVyOjpTY3Jp
cHRNb2R1bGVMb2FkZXIoRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogbV9kb2N1bWVudChkb2N1
bWVudCkKK1NjcmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIE93bmVyVHlwZSBvd25lclR5cGUpCisgICAgOiBtX2NvbnRl
eHQoY29udGV4dCkKKyAgICAsIG1fb3duZXJUeXBlKG93bmVyVHlwZSkKIHsKIH0KIApAQCAtNjgs
NyArNjgsNyBAQCBzdGF0aWMgYm9vbCBpc1Jvb3RNb2R1bGUoSlNDOjpKU1ZhbHVlIGltcG9ydGVy
TW9kdWxlS2V5KQogICAgIHJldHVybiBpbXBvcnRlck1vZHVsZUtleS5pc1N5bWJvbCgpIHx8IGlt
cG9ydGVyTW9kdWxlS2V5LmlzVW5kZWZpbmVkKCk7CiB9CiAKLXN0YXRpYyBFeHBlY3RlZDxVUkws
IFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IFN0cmluZyYgc3BlY2lmaWVyLCBjb25zdCBVUkwmIGJhc2VVUkwpCitzdGF0aWMgRXhwZWN0ZWQ8
VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGUgb3duZXJUeXBlLCBjb25z
dCBTdHJpbmcmIHNwZWNpZmllciwgY29uc3QgVVJMJiBiYXNlVVJMKQogewogICAgIC8vIGh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNyZXNvbHZl
LWEtbW9kdWxlLXNwZWNpZmllcgogCkBAIC03OSw3ICs3OSwxMiBAQCBzdGF0aWMgRXhwZWN0ZWQ8
VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBTdAogICAgIGlmICghc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSAmJiAhc3BlY2lmaWVy
LnN0YXJ0c1dpdGgoIi4vIikgJiYgIXNwZWNpZmllci5zdGFydHNXaXRoKCIuLi8iKSkKICAgICAg
ICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBzcGVjaWZpZXIsICci
X3MsIHNwZWNpZmllciwgIicgZG9lcyBub3Qgc3RhcnQgd2l0aCBcIi9cIiwgXCIuL1wiLCBvciBc
Ii4uL1wiLiBSZWZlcmVuY2VkIGZyb20gIl9zLCBiYXNlVVJMLnN0cmluZygpKSk7CiAKLSAgICBh
dXRvIHJlc3VsdCA9IGRvY3VtZW50LmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7Cisg
ICAgVVJMIHJlc3VsdDsKKyAgICBpZiAob3duZXJUeXBlID09IFNjcmlwdE1vZHVsZUxvYWRlcjo6
T3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgcmVzdWx0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+
KGNvbnRleHQpLmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgZWxzZQorICAg
ICAgICByZXN1bHQgPSBVUkwoYmFzZVVSTCwgc3BlY2lmaWVyKTsKKwogICAgIGlmICghcmVzdWx0
LmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1v
ZHVsZSBuYW1lLCAnIl9zLCByZXN1bHQuc3RyaW5nKCksICInIGRvZXMgbm90IHJlc29sdmUgdG8g
YSB2YWxpZCBVUkwuIl9zKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEwNyw3ICsxMTIsNyBA
QCBKU0M6OklkZW50aWZpZXIgU2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNvbHZlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LAogICAgIFVSTCBiYXNlVVJMID0gcmVzcG9uc2VVUkxG
cm9tUmVxdWVzdFVSTCgqanNHbG9iYWxPYmplY3QsIGltcG9ydGVyTW9kdWxlS2V5KTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgYXV0byByZXN1bHQgPSByZXNv
bHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAg
YXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9vd25lclR5
cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpIHsKICAgICAgICAgSlND
Ojp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2NvcGUsIHJlc3VsdC5lcnJvcigpKTsK
ICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTE2MSwxMyArMTY2LDE5IEBAIEpTQzo6SlNJbnRlcm5h
bFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCog
anNHbG9iYWxPCiAgICAgaWYgKGF1dG8qIHNjcmlwdEZldGNoUGFyYW1ldGVycyA9IEpTQzo6anNE
eW5hbWljQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hQYXJhbWV0ZXJzKj4odm0sIHBhcmFtZXRlcnMp
KQogICAgICAgICB0b3BMZXZlbEZldGNoUGFyYW1ldGVycyA9IHN0YXRpY19jYXN0PE1vZHVsZUZl
dGNoUGFyYW1ldGVycyo+KCZzY3JpcHRGZXRjaFBhcmFtZXRlcnMtPnBhcmFtZXRlcnMoKSk7CiAK
LSAgICBhdXRvIGxvYWRlciA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlz
LCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXIqPihKU0M6
OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkp
LCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7Ci0gICAgbV9sb2FkZXJzLmFkZChs
b2FkZXIuY29weVJlZigpKTsKLSAgICBpZiAoIWxvYWRlci0+bG9hZChtX2RvY3VtZW50LCBjb21w
bGV0ZWRVUkwpKSB7Ci0gICAgICAgIGxvYWRlci0+Y2xlYXJDbGllbnQoKTsKLSAgICAgICAgbV9s
b2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOwotICAgICAgICByZWplY3RUb1Byb3BhZ2F0
ZU5ldHdvcmtFcnJvcihkZWZlcnJlZC5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2Fz
RXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Ci0gICAgICAg
IHJldHVybiBqc1Byb21pc2U7CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9j
dW1lbnQpIHsKKyAgICAgICAgYXV0byBsb2FkZXIgPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6
OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRG
ZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNoZXIqPihzY3JpcHRGZXRjaGVy
KS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFyYW1ldGVycykpOworICAgICAg
ICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOworICAgICAgICBpZiAoIWxvYWRlci0+
bG9hZChkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KSwgV1RGTW92ZShjb21wbGV0ZWRVUkwp
KSkgeworICAgICAgICAgICAgbG9hZGVyLT5jbGVhckNsaWVudCgpOworICAgICAgICAgICAgbV9s
b2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOworICAgICAgICAgICAgcmVqZWN0VG9Qcm9w
YWdhdGVOZXR3b3JrRXJyb3IoZGVmZXJyZWQuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6
Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOworICAg
ICAgICAgICAgcmV0dXJuIGpzUHJvbWlzZTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAg
ICAgIGF1dG8gbG9hZGVyID0gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMs
IGRlZmVycmVkLmdldCgpLCAqc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlcio+KEpTQzo6
anNDYXN0PEpTQzo6SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSks
IFdURk1vdmUodG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKKyAgICAgICAgbV9sb2FkZXJzLmFk
ZChsb2FkZXIuY29weVJlZigpKTsKKyAgICAgICAgbG9hZGVyLT5sb2FkKG1fY29udGV4dCwgV1RG
TW92ZShjb21wbGV0ZWRVUkwpKTsKICAgICB9CiAKICAgICByZXR1cm4ganNQcm9taXNlOwpAQCAt
MTc2LDcgKzE4Nyw3IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRl
cjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPCiBVUkwgU2NyaXB0TW9kdWxl
TG9hZGVyOjptb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QsIEpT
Qzo6SlNWYWx1ZSBtb2R1bGVLZXlWYWx1ZSkKIHsKICAgICBpZiAobW9kdWxlS2V5VmFsdWUuaXNT
eW1ib2woKSkKLSAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQudXJsKCk7CisgICAgICAgIHJldHVy
biBtX2NvbnRleHQudXJsKCk7CiAKICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmco
KSk7CiAgICAgcmV0dXJuIFVSTChVUkwoKSwgYXNTdHJpbmcobW9kdWxlS2V5VmFsdWUpLT52YWx1
ZSgmanNHbG9iYWxPYmplY3QpKTsKQEAgLTE4Nyw4ICsxOTgsMTEgQEAgVVJMIFNjcmlwdE1vZHVs
ZUxvYWRlcjo6cmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiBq
c0dsb2JhbE8KICAgICBKU0M6OlZNJiB2bSA9IGpzR2xvYmFsT2JqZWN0LnZtKCk7CiAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKGlzUm9vdE1vZHVs
ZShtb2R1bGVLZXlWYWx1ZSkpCi0gICAgICAgIHJldHVybiBtX2RvY3VtZW50LmJhc2VVUkwoKTsK
KyAgICBpZiAoaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkgeworICAgICAgICBpZiAobV9v
d25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgICAgIHJldHVybiBkb3du
Y2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7CisgICAgICAgIHJldHVybiBtX2Nv
bnRleHQudXJsKCk7CisgICAgfQogCiAgICAgQVNTRVJUKCFpc1Jvb3RNb2R1bGUobW9kdWxlS2V5
VmFsdWUpKTsKICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CkBAIC0yMTks
OCArMjMzLDE0IEBAIEpTQzo6SlNWYWx1ZSBTY3JpcHRNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LCBKCiAgICAgaWYgKCFzb3VyY2VVUkwu
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gSlNDOjp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9i
amVjdCwgc2NvcGUsICJNb2R1bGUga2V5IGlzIGFuIGludmFsaWQgVVJMLiJfcyk7CiAKLSAgICBp
ZiAoYXV0byogZnJhbWUgPSBtX2RvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIHJldHVybiBmcmFt
ZS0+c2NyaXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAg
ICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBpZiAo
YXV0byogZnJhbWUgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5mcmFtZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS5ldmFsdWF0ZU1vZHVsZShzb3VyY2VVUkws
ICptb2R1bGVSZWNvcmQpOworICAgIH0gZWxzZSB7CisgICAgICAgIEFTU0VSVChpczxXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KSk7CisgICAgICAgIGlmIChhdXRvKiBzY3Jp
cHQgPSBkb3duY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KS5zY3Jp
cHQoKSkKKyAgICAgICAgICAgIHJldHVybiBzY3JpcHQtPmV2YWx1YXRlTW9kdWxlKCptb2R1bGVS
ZWNvcmQpOworICAgIH0KICAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwogfQogCkBAIC0y
NDgsMjMgKzI2OCwzNiBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2Fk
ZXI6OmltcG9ydE1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqcwogICAgIFVSTCBiYXNlVVJM
OwogICAgIFJlZlB0cjxKU0M6OlNjcmlwdEZldGNoZXI+IHNjcmlwdEZldGNoZXI7CiAgICAgaWYg
KHNvdXJjZU9yaWdpbi5pc051bGwoKSkgewotICAgICAgICBiYXNlVVJMID0gbV9kb2N1bWVudC5i
YXNlVVJMKCk7Ci0gICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpj
cmVhdGUobV9kb2N1bWVudC5jaGFyc2V0KCkpOworICAgICAgICBTdHJpbmcgY2hhcnNldDsKKyAg
ICAgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAg
ICAgIGJhc2VVUkwgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7Cisg
ICAgICAgICAgICBjaGFyc2V0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuY2hhcnNl
dCgpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYmFzZVVSTCA9IG1fY29udGV4dC51
cmwoKTsKKyAgICAgICAgICAgIGNoYXJzZXQgPSAidXRmLTgiX3M7CisgICAgICAgIH0KKyAgICAg
ICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShXVEZNb3ZlKGNo
YXJzZXQpKTsKICAgICB9IGVsc2UgewogICAgICAgICBiYXNlVVJMID0gVVJMKFVSTCgpLCBzb3Vy
Y2VPcmlnaW4uc3RyaW5nKCkpOwogICAgICAgICBpZiAoIWJhc2VVUkwuaXNWYWxpZCgpKQogICAg
ICAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2UoZ2xvYmFsT2JqZWN0LCBUeXBlRXJyb3IsICJJ
bXBvcnRlciBtb2R1bGUga2V5IGlzIG5vdCBhIFN5bWJvbCBvciBhIFN0cmluZy4iX3MpOwogCisg
ICAgICAgIFN0cmluZyBjaGFyc2V0OworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJU
eXBlOjpEb2N1bWVudCkKKyAgICAgICAgICAgIGNoYXJzZXQgPSBkb3duY2FzdDxEb2N1bWVudD4o
bV9jb250ZXh0KS5jaGFyc2V0KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNoYXJzZXQg
PSAidXRmLTgiX3M7CisKICAgICAgICAgaWYgKHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpCiAgICAg
ICAgICAgICBzY3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZldGNoZXIoKTsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNy
ZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisgICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0g
Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKFdURk1vdmUoY2hhcnNldCkpOwogICAgIH0KICAg
ICBBU1NFUlQoYmFzZVVSTC5pc1ZhbGlkKCkpOwogICAgIEFTU0VSVChzY3JpcHRGZXRjaGVyKTsK
IAogICAgIGF1dG8gc3BlY2lmaWVyID0gbW9kdWxlTmFtZS0+dmFsdWUoanNHbG9iYWxPYmplY3Qp
OwotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2RvY3VtZW50LCBz
cGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNp
ZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIsIGJhc2VVUkwpOwogICAgIGlm
ICghcmVzdWx0KQogICAgICAgICByZXR1cm4gcmVqZWN0UHJvbWlzZShnbG9iYWxPYmplY3QsIFR5
cGVFcnJvciwgcmVzdWx0LmVycm9yKCkpOwogCkBAIC0yODgsNjIgKzMyMSw5OCBAQCBKU0M6OkpT
T2JqZWN0KiBTY3JpcHRNb2R1bGVMb2FkZXI6OmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpT
Qzo6SlNHbG9iYWxPYmplYwogICAgIHJldHVybiBtZXRhUHJvcGVydGllczsKIH0KIAotdm9pZCBT
Y3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ciYgbG9hZGVyLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBwcm9taXNlKQordm9pZCBTY3JpcHRN
b2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKE1vZHVsZVNjcmlwdExvYWRlciYgbW9kdWxlU2Ny
aXB0TG9hZGVyLCBVUkwmJiBzb3VyY2VVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+IHByb21pc2Up
CiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBw
YXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKIAotICAgIFVSTCBzb3VyY2VV
UkwgPSBsb2FkZXIuc291cmNlVVJMKCk7Ci0gICAgaWYgKCFtX2xvYWRlcnMucmVtb3ZlKCZsb2Fk
ZXIpKQorICAgIGlmICghbV9sb2FkZXJzLnJlbW92ZSgmbW9kdWxlU2NyaXB0TG9hZGVyKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIGxvYWRlci5jbGVhckNsaWVudCgpOworICAgIG1vZHVsZVNjcmlw
dExvYWRlci5jbGVhckNsaWVudCgpOwogCi0gICAgYXV0byYgY2FjaGVkU2NyaXB0ID0gKmxvYWRl
ci5jYWNoZWRTY3JpcHQoKTsKKyAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1
bWVudCkgeworICAgICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiBjYWNoZWRT
Y3JpcHQgPSAqbG9hZGVyLmNhY2hlZFNjcmlwdCgpOwogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC5y
ZXNvdXJjZUVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkpIHsKLSAgICAgICAgcHJvbWlzZS0+cmVq
ZWN0KFR5cGVFcnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNjZXNzQ29u
dHJvbCgpKSB7CisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCAiQ3Jvc3Mt
b3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmlu
ZyBwb2xpY3kuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYg
KGNhY2hlZFNjcmlwdC5lcnJvck9jY3VycmVkKCkpIHsKLSAgICAgICAgcmVqZWN0VG9Qcm9wYWdh
dGVOZXR3b3JrRXJyb3IoKnByb21pc2UsIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9y
ZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgewor
ICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwg
TW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBz
Y3JpcHQgZmFpbGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAg
IGlmIChjYWNoZWRTY3JpcHQud2FzQ2FuY2VsZWQoKSkgewotICAgICAgICByZWplY3RUb1Byb3Bh
Z2F0ZU5ldHdvcmtFcnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2Fu
Y2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQud2FzQ2FuY2VsZWQo
KSkgeworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5n
ZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBt
b2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KIAotICAgIGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0
TUlNRVR5cGUoY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSkpIHsKLSAgICAgICAg
Ly8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1s
I2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKLSAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBl
eHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3Jp
bmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCi0gICAgICAgIC8v
IEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIGZldGNoaW5nIGEgY2xhc3NpYyBzY3JpcHQgZG9lcyBu
b3QgaW5jbHVkZSBNSU1FIHR5cGUgY2hlY2tpbmcuIEluIGNvbnRyYXN0LCBtb2R1bGUgc2NyaXB0
cyB3aWxsIGZhaWwgdG8gbG9hZCBpZiB0aGV5IGFyZSBub3Qgb2YgYSBjb3JyZWN0IE1JTUUgdHlw
ZS4KLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNh
Y2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFT
Y3JpcHQgTUlNRSB0eXBlLiIpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYg
KCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZShjYWNoZWRT
Y3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgeworICAgICAgICAgICAgLy8gaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2lu
Z2xlLW1vZHVsZS1zY3JpcHQKKyAgICAgICAgICAgIC8vIFRoZSByZXN1bHQgb2YgZXh0cmFjdGlu
ZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVhZGVyIGxpc3QgKGlnbm9yaW5nIHBhcmFt
ZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLgorICAgICAgICAgICAgLy8gRm9y
IGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBp
bmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdp
bGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgor
ICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNh
Y2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFT
Y3JpcHQgTUlNRSB0eXBlLiIpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0g
ICAgaWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7Ci0gICAgICAg
IGlmICghbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmlu
dGVncml0eSgpKSkgewotICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFr
ZVN0cmluZygiQ2Fubm90IGxvYWQgc2NyaXB0ICIsIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRp
b24oY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpKTsKKyAgICAgICAgaWYg
KGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7CisgICAgICAgICAgICBp
ZiAoIW1hdGNoSW50ZWdyaXR5TWV0YWRhdGEoY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRl
Z3JpdHkoKSkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBt
YWtlU3RyaW5nKCJDYW5ub3QgbG9hZCBzY3JpcHQgIiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlw
dGlvbihjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkpOworICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIFVSTCBy
ZXNwb25zZVVSTCA9IGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnVybCgpOworICAgICAgICAvLyBJ
ZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2Ug
VVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVy
bCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KKyAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRpcmVj
dGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMDQ5MAorICAgICAgICBpZiAoIWNhY2hlZFNjcmlwdC5oYXNSZWRpcmVjdGlvbnMoKSAm
JiBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5zb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpT
b3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJh
Z21lbnRJZGVudGlmaWVyKCkpCisgICAgICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21l
bnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7CisgICAgICAgIH0K
KworICAgICAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3Ry
aW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdp
dGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAg
ICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qu
dm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2Rl
IHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwg
bG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOworICAgICAgICB9KTsK
KyAgICB9IGVsc2UgeworICAgICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxXb3JrZXJN
b2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiB3
b3JrZXJTY3JpcHRMb2FkZXIgPSBsb2FkZXIuc2NyaXB0TG9hZGVyKCk7CisKKyAgICAgICAgaWYg
KHdvcmtlclNjcmlwdExvYWRlci5mYWlsZWQoKSkgeworICAgICAgICAgICAgaWYgKHdvcmtlclNj
cmlwdExvYWRlci5lcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5p
ZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod29ya2Vy
U2NyaXB0TG9hZGVyLmVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSkgeworICAgICAgICAgICAgICAg
IHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNo
RmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBj
YW5jZWxlZC4iX3MpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwg
TW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBz
Y3JpcHQgZmFpbGVkLiJfcyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICB9
CiAKLSAgICBVUkwgcmVzcG9uc2VVUkwgPSBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS51cmwoKTsK
LSAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRo
ZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVz
cG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlD
YWNoZS4KLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNrIGZyYWdtZW50cyB0aHJvdWdoIHJl
ZGlyZWN0aW9ucy4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU4NDIwCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMDQ5MAotICAgIGlmICghY2FjaGVkU2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpICYmIGNhY2hl
ZFNjcmlwdC5yZXNwb25zZSgpLnNvdXJjZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6
U2VydmljZVdvcmtlcikgewotICAgICAgICBpZiAoc291cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRp
ZmllcigpKQotICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNv
dXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVU
eXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKHdvcmtlclNjcmlwdExv
YWRlci5yZXNwb25zZU1JTUVUeXBlKCkpKSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUt
bW9kdWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEg
TUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVy
cykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlz
dG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1
ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBm
YWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAg
ICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgd29ya2Vy
U2NyaXB0TG9hZGVyLnJlc3BvbnNlTUlNRVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNj
cmlwdCBNSU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAg
ICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIFdU
Rk1vdmUocmVzcG9uc2VVUkwpKTsKLSAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsm
XSAoSlNET01HbG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBK
U0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0LnZtKCksCi0gICAgICAgICAg
ICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgJmNhY2hlZFNjcmlwdCwgSlND
OjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlwdEZldGNoZXIo
KSB9LmpzU291cmNlQ29kZSgpIH0pOwotICAgIH0pOworICAgICAgICBVUkwgcmVzcG9uc2VVUkwg
PSB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VVUkwoKTsKKworICAgICAgICBtX3JlcXVlc3RV
UkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIHJlc3BvbnNlVVJMKTsK
KyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2Jq
ZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VD
b2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNv
dXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgd29ya2VyU2NyaXB0TG9hZGVyLnNjcmlwdCgp
LCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlw
ZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7Cisg
ICAgICAgIH0pOworICAgIH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRNb2R1bGVMb2FkZXIuaAppbmRleCBkZTI5ZDJmNGJmMDk2YjYwYzM2OTk4MDMxNmMx
NDg2YjI4MmFiZjA5Li5kZjM0ZDU1MWExMWNkOThmNGUyMzZhMmFhMWY0ODI3OWQ5NjRjNjg1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaApA
QCAtMjUsOCArMjUsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlci5oIgotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIk1vZHVsZVNj
cmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgpAQCAtNDUsMTYgKzQ1LDE3IEBAIGNsYXNzIFNvdXJjZU9yaWdpbjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAotY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZp
bmFsIDogcHJpdmF0ZSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworY2xhc3MgU2Ny
aXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdE1vZHVsZUxvYWRlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRl
cihEb2N1bWVudCYpOworICAgIGVudW0gY2xhc3MgT3duZXJUeXBlIDogdWludDhfdCB7IERvY3Vt
ZW50LCBXb3JrZXJPcldvcmtsZXQgfTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE93bmVyVHlwZSk7CiAgICAgflNjcmlwdE1vZHVsZUxv
YWRlcigpOwogCi0gICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudDsg
fQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRl
eHQ7IH0KIAogICAgIEpTQzo6SWRlbnRpZmllciByZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNW
YWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwogICAg
IEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6
OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKQEAgLTYzLDEzICs2NCwxNSBA
QCBjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCB7CiAgICAgSlNDOjpKU09iamVjdCogY3JlYXRlSW1wb3J0TWV0YVBy
b3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6
OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwogCiBwcml2YXRl
OgotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVm
UHRyPERlZmVycmVkUHJvbWlzZT4pIGZpbmFsOworICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoTW9k
dWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSBmaW5hbDsKKwog
ICAgIFVSTCBtb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAg
ICAgVVJMIHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpT
Qzo6SlNWYWx1ZSk7CiAKLSAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFVSTD4gbV9yZXF1
ZXN0VVJMVG9SZXNwb25zZVVSTE1hcDsKLSAgICBIYXNoU2V0PFJlZjxDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXI+PiBtX2xvYWRlcnM7CisgICAgSGFzaFNldDxSZWY8TW9kdWxlU2NyaXB0TG9hZGVy
Pj4gbV9sb2FkZXJzOworICAgIE93bmVyVHlwZSBtX293bmVyVHlwZTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2ZmU3ZTc3ZThmOTllZTM5
MDMyNGQyNzM0MGM1NDRkYjJiZDRlOWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC0wLDAgKzEsODkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmgiCisKKyNpbmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCisj
aW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRl
ICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2lu
Y2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZGVy
T3B0aW9ucy5oIgorI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJTY3Jp
cHRNb2R1bGVMb2FkZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCisjaW5jbHVk
ZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlcj4gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUo
TW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlz
ZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNo
UGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdU
Rk1vdmUocGFyYW1ldGVycykpKTsKK30KKworV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERl
ZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hl
ciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorICAgIDogTW9k
dWxlU2NyaXB0TG9hZGVyKGNsaWVudCkKKyAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkKKyAgICAs
IG1fc2NyaXB0RmV0Y2hlcihzY3JpcHRGZXRjaGVyKQorICAgICwgbV9wYXJhbWV0ZXJzKFdURk1v
dmUocGFyYW1ldGVycykpCisgICAgLCBtX3NjcmlwdExvYWRlcihXb3JrZXJTY3JpcHRMb2FkZXI6
OmNyZWF0ZSgpKQoreworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6On5Xb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIoKQoreworICAgIG1fc2NyaXB0TG9hZGVyLT5jYW5jZWwoKTsKK30KKwor
Ym9vbCBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgVVJMJiYgc291cmNlVVJMKQoreworICAgIG1fc291cmNlVVJMID0gV1RGTW92
ZShzb3VyY2VVUkwpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgeyBtX3NvdXJjZVVS
TCB9OworCisgICAgRmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKKyAgICBmZXRjaE9wdGlvbnMu
bW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6Q29yczsKKyAgICBmZXRjaE9wdGlvbnMuY2FjaGUg
PSBGZXRjaE9wdGlvbnM6OkNhY2hlOjpEZWZhdWx0OworICAgIGZldGNoT3B0aW9ucy5yZWRpcmVj
dCA9IEZldGNoT3B0aW9uczo6UmVkaXJlY3Q6OkZvbGxvdzsKKyAgICAvLyBGSVhNRTogUHJvcGFn
YXRlIGNyZWRlbnRpYWxzLgorICAgIC8vIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHNjcmlw
dEZldGNoSm9iLmNyZWRlbnRpYWxzOworICAgIGF1dG8gY29udGVudFNlY3VyaXR5UG9saWN5RW5m
b3JjZW1lbnQgPSBjb250ZXh0LnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6
IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ2hpbGRTcmNEaXJlY3Rp
dmU7CisKKyAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdU
Rk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9s
aWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhpcyk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKK3ZvaWQgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5p
c2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisKKyAgICBhdXRvIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKTsKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50
LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJjZVVSTCksIG1fcHJvbWlzZS5y
ZWxlYXNlTm9uTnVsbCgpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGQ5NzdiZjFj
MDQyZDcwNTU5NzJkZWJjYjQ0MWY5ODFmOGIyMTFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgKQEAgLTAsMCAr
MSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTW9kdWxlU2Ny
aXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5j
bHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2Ns
YXNzIE1vZHVsZUZldGNoUGFyYW1ldGVyczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBXb3JrZXJTY3JpcHRMb2Fk
ZXI7CisKK2NsYXNzIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBNb2R1
bGVTY3JpcHRMb2FkZXIsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNo
ZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKworICAgIHZpcnR1YWwgfldv
cmtlck1vZHVsZVNjcmlwdExvYWRlcigpOworCisgICAgYm9vbCBsb2FkKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBVUkwmJiBzb3VyY2VVUkwpOworCisgICAgQ2FjaGVkU2NyaXB0RmV0Y2hlciYg
c2NyaXB0RmV0Y2hlcigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hlci5nZXQoKTsgfQorICAgIE1v
ZHVsZUZldGNoUGFyYW1ldGVycyogcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5n
ZXQoKTsgfQorICAgIFdvcmtlclNjcmlwdExvYWRlciYgc2NyaXB0TG9hZGVyKCkgeyByZXR1cm4g
bV9zY3JpcHRMb2FkZXIuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBXb3JrZXJNb2R1bGVTY3Jp
cHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2Fj
aGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOworCisg
ICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYpIGZpbmFsIHsgfQorICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoKSBmaW5hbDsKKwor
ICAgIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IG1fcHJvbWlzZTsKKyAgICBSZWY8Q2FjaGVkU2Ny
aXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVyOworICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFt
ZXRlcnM+IG1fcGFyYW1ldGVyczsKKyAgICBSZWY8V29ya2VyU2NyaXB0TG9hZGVyPiBtX3Njcmlw
dExvYWRlcjsKKyAgICBVUkwgbV9zb3VyY2VVUkw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBkY2QzYWExYzdjNTcyZTY4Mzk1Y2MwNWRh
OGM4M2ZmMjBiMjZiMDM4Li5hZDExNDk0ZWRlNDRkNDA4OTA1NzUzMjdiOTU2MDgyYTNmNTk1Nzk1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYxNSw3ICs2MTUsNyBAQCBEb2N1bWVudDo6
RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBTZXR0aW5ncyYgc2V0dGluZ3MsIGNvbnN0IFVS
TCYgdXJsLCBEb2N1bQogICAgICwgbV9kb2N1bWVudENyZWF0aW9uVGltZShNb25vdG9uaWNUaW1l
Ojpub3coKSkKICNlbmRpZgogICAgICwgbV9zY3JpcHRSdW5uZXIobWFrZVVuaXF1ZTxTY3JpcHRS
dW5uZXI+KCp0aGlzKSkKLSAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9k
dWxlTG9hZGVyPigqdGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlw
dE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpEb2N1
bWVudCkpCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgLCBtX2FwcGx5UGVuZGluZ1hTTFRyYW5zZm9y
bXNUaW1lcigqdGhpcywgJkRvY3VtZW50OjphcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zVGltZXJG
aXJlZCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9k
dWxlU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5j
cHAKaW5kZXggOWEyNWMxNjU4OGVlY2FkNjc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uNDhlYzA4
NTFhNDU3ZDliYTQ3NDczZmVjMjhkN2I0OTMxMmI3ODhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCkBAIC04OCwxNiArODgsNCBAQCB2b2lkIExvYWRh
YmxlTW9kdWxlU2NyaXB0OjpleGVjdXRlKFNjcmlwdEVsZW1lbnQmIHNjcmlwdEVsZW1lbnQpCiAg
ICAgc2NyaXB0RWxlbWVudC5leGVjdXRlTW9kdWxlU2NyaXB0KCp0aGlzKTsKIH0KIAotdm9pZCBM
b2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYg
cm9vdFVSTCkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAg
ICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgcm9vdFVSTC5zdHJp
bmcoKSwgbV9wYXJhbWV0ZXJzLmNvcHlSZWYoKSk7Ci19Ci0KLXZvaWQgTG9hZGFibGVNb2R1bGVT
Y3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBz
b3VyY2VDb2RlKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0g
ICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0aGlzLCBzb3VyY2VDb2Rl
KTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAppbmRl
eCBiYjc5OTU0ZDdiOTliMGVkMDZiZmU1NWVmODU0ZWNjZTIxZjM1ODc3Li5kMjUzNTk2M2Y2NDhi
MDJhOGEwMWZkNjNiYjFlMzgxMzg2Y2VlNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFi
bGVNb2R1bGVTY3JpcHQuaApAQCAtNTAsMTUgKzUwLDE0IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxl
U2NyaXB0IGZpbmFsIDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsKIAogICAgIHZvaWQgc2V0RXJy
b3IoRXJyb3ImJik7CiAKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHJvb3RV
UkwpOwotICAgIHZvaWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsK
LQogICAgIHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYpOwogICAg
IHZvaWQgbm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3ImJik7CiAgICAgdm9p
ZCBub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKIAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtb2R1
bGVLZXkoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQoKTsgfQogCisgICAgTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgp
OyB9CisKIHByaXZhdGU6CiAgICAgTG9hZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBu
b25jZSwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBTdHJp
bmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3Ry
aW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDA1NzU4YjYwMGM3NTIyYjQ3ZjM2NGJh
NmExOGQzNWYxNzMxMTA3ZjkuLjVlOTlmMGY1Nzc3YjNiMjE1OGRkMGZhNGJjMzgyNzc2Y2RiMzQ4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAK
ICNpbmNsdWRlICJMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJN
b2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5j
bHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHU2NyaXB0RWxl
bWVudC5oIgpAQCAtMzUxLDggKzM1MiwxMSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RN
b2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAg
ICAgICAgICAgc2NyaXB0Q2hhcnNldCgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmxvY2FsTmFt
ZSgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwot
ICAgICAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIG1vZHVsZVNjcmlwdFJv
b3RVUkwpOwogICAgICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAg
ICAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7Cisg
ICAgICAgICAgICBhdXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4o
Km1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpOworICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxv
YWRNb2R1bGVTY3JpcHQoc2NyaXB0LCBtb2R1bGVTY3JpcHRSb290VVJMLnN0cmluZygpLCBtYWtl
UmVmKHNjcmlwdC5wYXJhbWV0ZXJzKCkpKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKQEAgLTM2Nyw4ICszNzEsOSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVl
c3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQog
ICAgIGlmICghY29udGVudFNlY3VyaXR5UG9saWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVu
dC5kb2N1bWVudCgpLnVybCgpLnN0cmluZygpLCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29k
ZS5zb3VyY2UoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIGhhc0tub3duTm9uY2UpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50
KCksIHNvdXJjZUNvZGUpOwogICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7
CisgICAgaWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAg
ICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoZG93bmNhc3Q8TG9hZGFibGVN
b2R1bGVTY3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKSwgc291cmNlQ29kZSk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA2MmY5MTdh
MzY3ODE5ZGVjM2NkNDEwZDk3NjY5NWNlZTYyZjZkNGI5Li43YzIyNDlhM2EyYWY5NTE4MjNhZTc5
OTVlYzEzNzFhZGZiYjE0YWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC03MCw2
ICs3MCw4IEBAIGlubGluZSBXb3JrZXI6OldvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lCiAgICAgLCBtX2lkZW50aWZpZXIoIndv
cmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIo
KSkKICAgICAsIG1fY29udGV4dFByb3h5KFdvcmtlckdsb2JhbFNjb3BlUHJveHk6OmNyZWF0ZSgq
dGhpcykpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxhZ3MpCisgICAgLCBtX3R5cGUo
b3B0aW9ucy50eXBlKQorICAgICwgbV9jcmVkZW50aWFscyhvcHRpb25zLmNyZWRlbnRpYWxzKQog
ewogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVy
KSB7CkBAIC0xMTMsMTAgKzExNSwxMyBAQCBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gV29ya2Vy
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdQogCiAgICAg
RmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKICAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNo
T3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsKKyAgICBpZiAod29ya2VyLT5tX3R5cGUgPT0gV29y
a2VyVHlwZTo6TW9kdWxlKQorICAgICAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSB3b3Jr
ZXItPm1fY3JlZGVudGlhbHM7CiAgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25z
OjpDYWNoZTo6RGVmYXVsdDsKICAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlv
bnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyOwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2Fk
ZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3Zl
KGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNl
V29ya2Vyc01vZGU6OkFsbCwgd29ya2VyKTsKKyAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5s
b2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRj
aE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtl
cnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSk7CisKICAgICByZXR1cm4gd29ya2VyOwogfQogCkBA
IC0yMTUsNyArMjIwLDcgQEAgdm9pZCBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBSZWZl
cnJlclBvbGljeSByZWZlcnJlclBvbGljeSA9IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsK
ICAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVy
LT5yZWZlcnJlclBvbGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCiAg
ICAgICAgIHJlZmVycmVyUG9saWN5ID0gKnBvbGljeTsKLSAgICBtX2NvbnRleHRQcm94eS5zdGFy
dFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250ZXh0
LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9h
ZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3No
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlv
blRpbWUsIHJlZmVycmVyUG9saWN5LCBtX3J1bnRpbWVGbGFncyk7CisgICAgbV9jb250ZXh0UHJv
eHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwg
Y29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3Nj
cmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2Vy
Q3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV90eXBlLCBtX2NyZWRlbnRpYWxzLCBtX3J1
bnRpbWVGbGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRl
ZCgqY29udGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXIt
PnNjcmlwdCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggNTNmNWU2ZmZmMjdj
OWZhM2U1YzBlMDFmMGY2YzQyYzZjYjZmOWQwZS4uMzhhNjIzYTk4ZGJhMzVmZjgwMTNjZDZmYzhj
ODVjODEwMjA1MDIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC0yOSw5ICsyOSwxMSBA
QAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5j
bHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5o
IgogI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlw
dExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgpAQCAtNTUsNiArNTcsOCBAQCBjbGFzcyBXb3Jr
ZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3Qs
IHByaXZhdGUgV29yawogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV29ya2VyKTsKIHB1Ymxp
YzoKICAgICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAgICAgIFdvcmtlclR5cGUgdHlwZTsKKyAgICAg
ICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgICAgIFN0cmluZyBu
YW1lOwogICAgIH07CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgT3B0aW9ucyYpOwpAQCAtNzksNiArODMsOCBAQCBjbGFzcyBXb3JrZXIgZmlu
YWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZh
dGUgV29yawogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZv
aWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKICNlbmRpZgogCisgICAgV29ya2VyVHlw
ZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGlj
aXQgV29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29u
c3QgT3B0aW9ucyYpOwogCkBAIC0xMTIsNiArMTE4LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDog
cHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdv
cmsKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1l
cnM7CiAjZW5kaWYKKyAgICBXb3JrZXJUeXBlIG1fdHlwZSB7IFdvcmtlclR5cGU6OkNsYXNzaWMg
fTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzIHsgRmV0Y2hSZXF1
ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4gfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCA0NWQ2YTA4Njc4NTRlZTQwNGRlN2U3
ZDAxMjQ4Y2ViZjQ0ZGNhN2VkLi43MDIxNzk2ZGY1MDRhZGY4ZTZiOTU4OWFjZTlmMTQ0ODIxZjI5
NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0zOCw2ICszOCw4IEBACiB9Owog
CiBkaWN0aW9uYXJ5IFdvcmtlck9wdGlvbnMgeworICAgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFz
c2ljIjsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscyA9ICJzYW1lLW9y
aWdpbiI7IC8vIGNyZWRlbnRpYWxzIGlzIG9ubHkgdXNlZCBpZiB0eXBlIGlzICJtb2R1bGUiCiAg
ICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaAppbmRleCA0NmQ0OWQ5NGM1MjM4ZTQ2ODhkMzk1ZDg3YzIwNjNlYjU3
MjBkMWJmLi4zODQxYTc4MWQ4NWQxNjBkNDAzNmNmMDBiN2QwZTM5ZTAwZWExYWRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC0xNjMsOCArMTYzLDYg
QEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2Vy
R2xvYmFsU2NvcGU+LCBwdWJsaWMgQmFzZTYKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJMb2Nh
dGlvbj4gbV9sb2NhdGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJOYXZpZ2F0b3I+IG1f
bmF2aWdhdG9yOwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck9yV29ya2xldFNjcmlwdENv
bnRyb2xsZXI+IG1fc2NyaXB0OwotCiAgICAgYm9vbCBtX2lzT25saW5lOwogICAgIGJvb2wgbV9z
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNDAwMDNjM2Uw
MTA5OTk2MGY2NDc4NjFlNzAxNjg3ZDBlMzcxZDcyZC4uN2I5MWQ3NTNkMWM5ZDcyOWFlNTA4NjU0
YzJlODVmNzY3OTFlMDA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZVByb3h5LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2Nv
cGVQcm94eSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNy
ZWF0ZShXb3JrZXImKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3Bl
KGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBT
dHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtl
clR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVG
bGFncykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1l
c3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tU
b1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYp
PiYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuY3BwCmluZGV4IDE5ZDRiZTY0OTkyZjMwZDNjY2U3NjU0N2EzZDIyMThhOThjODQyYzMuLjc4
ODM1ODdhN2FmNjIwOWUzZWNjOGU3YjQxYmFkNDdhZGY2MjI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC03Myw3ICs3Myw3IEBA
IFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8
fCAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRv
d25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJl
YWQoKS50aHJlYWQoKSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09u
bGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVu
dGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJl
ZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNo
UmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1l
RmxhZ3MpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3
ZSBzdXBwb3J0IG5lc3RlZCB3b3JrZXIgb25lIGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpOwpAQCAtODksNyArODksNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5
OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAog
CiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJv
dmlkZXIoKTsKIAotICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5h
bWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMo
KSB9OworICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlk
ZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0
aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3Vt
ZW50LnNldHRpbmdzVmFsdWVzKCkgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtl
clRocmVhZDo6Y3JlYXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywg
c3RhcnRNb2RlLCBkb2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBy
dW50aW1lRmxhZ3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGM1
YjU3NWI5ZTYxNWIzZjNmNTk2YmZjM2RmNjgzYzg3N2NjNjJiYWIuLjJlMjMxNjlmMDc5M2YwZGNm
ODA4YTliY2ZiNThlNmM5MDhjNmNjOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgV29ya2VyTWVzc2Fn
aW5nUHJveHkgZmluYWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V29ya2VyTWVzc2Fn
aW5nUHIKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNj
b3BlUHJveHkuCiAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2Vy
IG9iamVjdCB0aHJlYWQuKQotICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBV
UkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJl
clBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VD
b2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJl
cXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOwog
ICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBv
c3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSBm
aW5hbDsKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lk
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IDIzODRh
NWE4YzdkMmEzMDJlZWU1Y2I0MDVlMTA1ZTAyNWM5ODQzY2MuLmY0ZjRiMjc0NjZmOWEzMGIyOGI4
YjIxZjZmMmJlZjhiZGU5Mzg1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIK
IAorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1ZGUgIldvcmtlckV2ZW50
TG9vcC5oIgogI2luY2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCkBAIC0zOSw2ICs0MCw3IEBAIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSk7CiAK
IFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShX
b3JrZXJUaHJlYWRUeXBlIHR5cGUsIFJlZjxKU0M6OlZNPiYmIHZtLCBXb3JrZXJPcldvcmtsZXRU
aHJlYWQqIHRocmVhZCkKICAgICA6IG1fc2NyaXB0KG1ha2VVbmlxdWU8V29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlcj4odHlwZSwgV1RGTW92ZSh2bSksIHRoaXMpKQorICAgICwgbV9tb2R1
bGVMb2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRNb2R1
bGVMb2FkZXI6Ok93bmVyVHlwZTo6V29ya2VyT3JXb3JrbGV0KSkKICAgICAsIG1fdGhyZWFkKHRo
cmVhZCkKICAgICAsIG1faW5zcGVjdG9yQ29udHJvbGxlcihtYWtlVW5pcXVlPFdvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXI+KCp0aGlzKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCA2YzI0NGEwYzQyN2VlMWM4YzY1
ZmRjYzc2NTk1MmY4NzdmZDliMTZiLi41NDRmMDQ3YWVjMjc4MzI3NDRkMGE4YTcwYWY3ZTkzOWMz
MzA5OTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRHbG9iYWxTY29wZS5oCkBAIC0zMiw2ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEV2ZW50TG9vcFRhc2tHcm91cDsKK2NsYXNzIFNjcmlwdE1vZHVsZUxvYWRlcjsKIGNs
YXNzIFdvcmtlckV2ZW50TG9vcDsKIGNsYXNzIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI7CiBj
bGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOwpAQCAtNTQsNiArNTUsOCBAQCBj
bGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBwdWJsaWMgUmVmQ291bgogCiAgICAgdW5zaWduZWQgbG9uZyBjcmVhdGVVbmlxdWVJ
ZGVudGlmaWVyKCkgeyByZXR1cm4gbV91bmlxdWVJZGVudGlmaWVyKys7IH0KIAorICAgIFNjcmlw
dE1vZHVsZUxvYWRlciYgbW9kdWxlTG9hZGVyKCkgeyByZXR1cm4gKm1fbW9kdWxlTG9hZGVyOyB9
CisKICAgICAvLyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LgogICAgIEV2ZW50TG9vcFRhc2tHcm91
cCYgZXZlbnRMb29wKCkgZmluYWw7CiAgICAgYm9vbCBpc0NvbnRleHRUaHJlYWQoKSBjb25zdCBm
aW5hbDsKQEAgLTg4LDYgKzkxLDcgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUg
OiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KICAgICB2b2lk
IGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8U2NyaXB0TW9kdWxlTG9hZGVyPiBtX21vZHVsZUxvYWRlcjsKICAgICBXb3Jr
ZXJPcldvcmtsZXRUaHJlYWQqIG1fdGhyZWFkOwogICAgIFJlZlB0cjxXb3JrZXJFdmVudExvb3A+
IG1fZXZlbnRMb29wOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudExvb3BUYXNrR3JvdXA+IG1f
ZGVmYXVsdFRhc2tHcm91cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGNkNGVjMjQ2ODI1MjVh
YWJjNjQyZDg3N2EwZGEwMTFlYmRlMTE0MzEuLmMxMjZkNWM5MTE3MzdjMDhlYmEwNWYwZDBkMmYz
YmZjNTUyM2M4ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JX
b3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzUsNiArMzUsOSBAQAogI2lu
Y2x1ZGUgIkpTRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiSlNQYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5oIgogI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgiCisjaW5jbHVkZSAi
TG9hZGFibGVNb2R1bGVTY3JpcHQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaEZhaWx1cmVLaW5k
LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiU2NyaXB0
U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKICNpbmNsdWRl
ICJXb3JrZXJDb25zb2xlQ2xpZW50LmgiCkBAIC00Myw3ICs0NiwxMiBAQAogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0V4Y2VwdGlvbi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0V4Y2Vw
dGlvbkhlbHBlcnMuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HQ0FjdGl2aXR5Q2FsbGJh
Y2suaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTG9jay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTTW9kdWxlUmVjb3JkLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNOYXRpdmVTdGRG
dW5jdGlvbi5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hQYXJhbWV0
ZXJzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRjaGVyLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC0yMjgsNyArMjM2LDEzNSBAQCB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZAogICAgIH0K
IH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5hbWUg
SlNHbG9iYWxTY29wZSwgdHlwZW5hbWUgR2xvYmFsU2NvcGU+CitzdGF0aWMgSWRlbnRpZmllciBq
c1ZhbHVlVG9Nb2R1bGVLZXkoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VmFsdWUgdmFsdWUpCit7CisgICAgaWYgKHZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVy
biBJZGVudGlmaWVyOjpmcm9tVWlkKGpzQ2FzdDxTeW1ib2wqPih2YWx1ZSktPnByaXZhdGVOYW1l
KCkpOworICAgIEFTU0VSVCh2YWx1ZS5pc1N0cmluZygpKTsKKyAgICByZXR1cm4gYXNTdHJpbmco
dmFsdWUpLT50b0lkZW50aWZpZXIobGV4aWNhbEdsb2JhbE9iamVjdCk7Cit9CisKK0pTQzo6SlNW
YWx1ZSBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZU1vZHVsZShKU0M6
OkpTTW9kdWxlUmVjb3JkJiBtb2R1bGVSZWNvcmQpCit7CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0
ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVj
dC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICByZXR1cm4gbW9kdWxl
UmVjb3JkLmV2YWx1YXRlKCZnbG9iYWxPYmplY3QpOworfQorCitNZXNzYWdlUXVldWVXYWl0UmVz
dWx0IFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91
c2x5KExvYWRhYmxlTW9kdWxlU2NyaXB0JiBtb2R1bGVTY3JpcHQsIGNvbnN0IFNjcmlwdFNvdXJj
ZUNvZGUmIHNvdXJjZUNvZGUpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisg
ICAgICAgIHJldHVybiBNZXNzYWdlUXVldWVUZXJtaW5hdGVkOworCisgICAgaW5pdFNjcmlwdElm
TmVlZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBw
ZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9s
ZGVyIGxvY2sgeyB2bSB9OworCisgICAgUmVmUHRyPExvYWRhYmxlTW9kdWxlU2NyaXB0PiBtb2R1
bGVTY3JpcHRSZWY7CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3RhdGU6
OmxvYWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgpLCBKU0M6
OkpTU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCB7ICZtb2R1bGVTY3JpcHQgfSkpOworCisgICAg
ICAgIG1vZHVsZVNjcmlwdFJlZiA9ICZtb2R1bGVTY3JpcHQ7CisKKyAgICAgICAgYXV0byYgZnVs
ZmlsbEhhbmRsZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2Jq
ZWN0LCAxLCBTdHJpbmcoKSwgW21vZHVsZVNjcmlwdFJlZl0oSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIC0+IEpTQzo6RW5jb2RlZEpTVmFsdWUgewor
ICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgICAgICAgICAgSWRlbnRpZmll
ciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUt
PmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsg
fSk7CisgICAgICAgICAgICBtb2R1bGVTY3JpcHRSZWYtPm5vdGlmeUxvYWRDb21wbGV0ZWQoKm1v
ZHVsZUtleS5pbXBsKCkpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFuZGxlciA9
ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmlu
ZygpLCBbbW9kdWxlU2NyaXB0UmVmXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOworICAgICAgICAgICAgSlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1bWVu
dCgwKTsKKyAgICAgICAgICAgIGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAgICAg
ICAgICAgICBhdXRvKiBvYmplY3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAg
ICAgICAgICAgIGlmIChKU1ZhbHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdldERpcmVj
dCh2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRp
bk5hbWVzKCkuZmFpbHVyZUtpbmRQcml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgICAgICAg
ICAvLyBUaGlzIGlzIGhvc3QgcHJvcGFnYXRlZCBlcnJvciBpbiB0aGUgbW9kdWxlIGxvYWRlciBw
aXBlbGluZS4KKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kPihmYWlsdXJlS2luZFZhbHVlLmFzSW50MzIoKSkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAg
ICAgICAgICAgICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExv
YWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGFi
bGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdURjo6bnVsbG9wdAorICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIG1v
ZHVsZVNjcmlwdFJlZi0+bm90aWZ5TG9hZFdhc0NhbmNlbGVkKCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FU
Q0hfU0NPUEUodm0pOworICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFp
bGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgTG9hZGFibGVTY3Jp
cHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgIExvYWRhYmxlU2Ny
aXB0OjpDb25zb2xlTWVzc2FnZSB7CisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VTb3VyY2U6
OkpTLAorICAgICAgICAgICAgICAgICAgICBNZXNzYWdlTGV2ZWw6OkVycm9yLAorICAgICAgICAg
ICAgICAgICAgICByZXRyaWV2ZUVycm9yTWVzc2FnZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JW
YWx1ZSwgc2NvcGUpLAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7
CisKKyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxPYmplY3QsICZmdWxmaWxsSGFuZGxlciwg
JnJlamVjdEhhbmRsZXIpOworICAgIH0KKyAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5w
ZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworCisgICAgLy8gRHJpdmUgUnVuTG9vcCB1bnRp
bCB3ZSBnZXQgZWl0aGVyIG9mICJXb3JrZXIgaXMgdGVybWluYXRlZCIsICJMb2FkaW5nIGlzIGRv
bmUiLCBvciAiTG9hZGluZyBpcyBmYWlsZWQiLgorICAgIFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3Ag
PSBtX2dsb2JhbFNjb3BlLT53b3JrZXJPcldvcmtsZXRUaHJlYWQoKS0+cnVuTG9vcCgpOworCisg
ICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVj
ZWl2ZWQ7CisgICAgd2hpbGUgKCghbW9kdWxlU2NyaXB0UmVmLT5pc0xvYWRlZCgpICYmICFtb2R1
bGVTY3JpcHRSZWYtPndhc0NhbmNlbGVkKCkpICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJt
aW5hdGVkKQorICAgICAgICByZXN1bHQgPSBydW5Mb29wLnJ1bkluTW9kZShtX2dsb2JhbFNjb3Bl
LCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKworICAgIC8vIEZJWE1FOiBDdXJyZW50
bHkgd2UgYXJlIG5vdCBvZmZlcmluZyBjYW5jZWxsaW5nLgorICAgIC8vIGlmICghbG9hZGVyLT5k
b25lKCkgJiYgcmVzdWx0ID09IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpCisgICAgLy8gICAgIGxv
YWRlci0+Y2FuY2VsKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFdvcmtlck9y
V29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShMb2FkYWJsZU1v
ZHVsZVNjcmlwdCYgbW9kdWxlU2NyaXB0LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VD
b2RlLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSkKK3sKKyAgICBpZiAoaXNFeGVj
dXRpb25Gb3JiaWRkZW4oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdFNjcmlwdElmTmVl
ZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIu
Z2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVy
IGxvY2sgeyB2bSB9OworCisgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhj
ZXB0aW9uOworICAgIEpTRXhlY1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoZ2xvYmFsT2Jq
ZWN0LCBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCBtb2R1bGVTY3JpcHQubW9kdWxlS2V5KCkpLCBq
c1VuZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgaWYgKChyZXR1cm5lZEV4Y2Vw
dGlvbiAmJiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0
aW9uKSkgfHwgaXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgIGZvcmJpZEV4ZWN1
dGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJldHVybmVkRXhjZXB0
aW9uKSB7CisgICAgICAgIGlmIChtX2dsb2JhbFNjb3BlLT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxz
KHNvdXJjZUNvZGUuY2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJsKCkuc3RyaW5nKCkpKSB7
CisgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4g
YXJiaXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4K
KyAgICAgICAgICAgIC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQg
cHJvcGVybHksIGlmIGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAg
ICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVy
bmVkRXhjZXB0aW9uTWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3Ry
aW5nKCZnbG9iYWxPYmplY3QpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gT3Zl
cndyaXRlIHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAgICAgICAg
ICAgIFN0cmluZyBnZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNjcmlwdCBlcnJvci4iX3MgfTsKKyAg
ICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAg
KnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNFcnJvck1lc3NhZ2U7CisgICAgICAg
ICAgICByZXR1cm5lZEV4Y2VwdGlvbiA9IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGNyZWF0
ZUVycm9yKCZnbG9iYWxPYmplY3QsIGdlbmVyaWNFcnJvck1lc3NhZ2UpKTsKKyAgICAgICAgfQor
ICAgIH0KK30KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEpTR2xvYmFsU2NvcGVQcm90b3R5cGUs
IHR5cGVuYW1lIEpTR2xvYmFsU2NvcGUsIHR5cGVuYW1lIEdsb2JhbFNjb3BlPgogdm9pZCBXb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjppbml0U2NyaXB0V2l0aFN1YmNsYXNzKCkKIHsK
ICAgICBBU1NFUlQoIW1fZ2xvYmFsU2NvcGVXcmFwcGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKaW5kZXgg
YzQ5MzAxYWVkM2RkMDg5ZGE3OTczMjc2MGNhZjJmN2I2NGRiMTFiNi4uZmE1YWQ1ZDBjMjcwYmMx
NjUzMDUyZjEyMDE4Yzk3YWRjNTk2MGMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKQEAgLTMxLDYgKzMx
LDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1J1bkxvb3BUaW1lci5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KKyNpbmNsdWRlIDx3dGYv
TWVzc2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL05ha2VkUHRyLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewpAQCAtNDQsNiArNDUsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBMb2FkYWJsZU1vZHVs
ZVNjcmlwdDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiBjbGFzcyBXb3JrZXJDb25zb2xlQ2xp
ZW50OwogY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU7CkBAIC05NCw2ICs5NiwxMSBA
QCBjbGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyIHsKICAgICB2b2lkIGV2YWx1
YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVz
c2FnZSA9IG51bGxwdHIpOwogICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29k
ZSYsIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiYgcmV0dXJuZWRFeGNlcHRpb24sIFN0cmluZyog
cmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAKKyAgICBKU0M6OkpTVmFsdWUg
ZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYpOworCisgICAgdm9pZCBsaW5rQW5k
RXZhbHVhdGVNb2R1bGUoTG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VD
b2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxw
dHIpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3VzbHko
TG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7CisKIHByb3Rl
Y3RlZDoKICAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSogZ2xvYmFsU2NvcGUoKSBjb25z
dCB7IHJldHVybiBtX2dsb2JhbFNjb3BlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMyMjYxOWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1Nzgz
Li4zZTk2OGI1NmJhNjFjNjJjNGJjYjQxMTVlZGFmYjA1NDc4NjRjZGIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0yOCwxMCArMjgsMTIgQEAKICNpbmNsdWRl
ICJXb3JrZXJUaHJlYWQuaCIKIAogI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Qcm94eS5oIgorI2lu
Y2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29k
ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU29ja2V0UHJvdmlk
ZXIuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTUsNiArNTcsOCBAQCBXb3JrZXJQYXJhbWV0ZXJzIFdv
cmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgICAgIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgdGltZU9yaWdpbiwKICAg
ICAgICAgcmVmZXJyZXJQb2xpY3ksCisgICAgICAgIHdvcmtlclR5cGUsCisgICAgICAgIGNyZWRl
bnRpYWxzLAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKQogICAgIH07CiB9
CkBAIC0xMjMsOSArMTI3LDMzIEBAIGJvb2wgV29ya2VyVGhyZWFkOjpzaG91bGRXYWl0Rm9yV2Vi
SW5zcGVjdG9yT25TdGFydHVwKCkgY29uc3QKIAogdm9pZCBXb3JrZXJUaHJlYWQ6OmV2YWx1YXRl
U2NyaXB0SWZOZWNlc3NhcnkoU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKQogewotICAgIGdsb2Jh
bFNjb3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERh
dGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZl
eGNlcHRpb25NZXNzYWdlKTsKLQotICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAg
IC8vIFdlIGFyZSBjdXJyZW50bHkgaG9sZGluZyBvbmx5IHRoZSBpbml0aWFsIHNjcmlwdCBjb2Rl
LiBJZiB0aGUgV29ya2VyVHlwZSBpcyBNb2R1bGUsIHdlIHNob3VsZCBmZXRjaCB0aGUgZW50aXJl
IGdyYXBoIGJlZm9yZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2YgdGhpcy4KKyAgICAvLyBXZSBpbnZv
a2UgbW9kdWxlIGxvYWRlciBhcyBpZiB3ZSBhcmUgZXhlY3V0aW5nIGlubGluZSBtb2R1bGUgc2Ny
aXB0IHRhZyBpbiBEb2N1bWVudC4KKworICAgIGlmIChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMud29y
a2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpDbGFzc2ljKSB7CisgICAgICAgIGdsb2JhbFNjb3BlKCkt
PnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJj
ZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25N
ZXNzYWdlKTsKKyAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgLy8gRklYTUUgY3Jvc3NPcmlnaW4gbW9kZSBzaG91bGQgYmUgY29udmVydGVk
LgorICAgICAgICAvLyBGSVhNRSBmaXggaW5pdGlhdG9yIG5hbWUuCisgICAgICAgIC8vIEZJWE1F
IHBhc3MgVVJMIHRvIG1vZHVsZSBsb2FkZXIuCisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgc291
cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFy
YW1zLnNjcmlwdFVSTCksIHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVs
ZSk7CisgICAgICAgIGF1dG8gbW9kdWxlU2NyaXB0ID0gTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmNy
ZWF0ZShlbXB0eVN0cmluZygpLCBlbXB0eVN0cmluZygpLCBtX3N0YXJ0dXBEYXRhLT5wYXJhbXMu
cmVmZXJyZXJQb2xpY3ksIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyOjpkZWZhdWx0
Q3Jvc3NPcmlnaW5Nb2RlRm9yTW9kdWxlLCBlbXB0eVN0cmluZygpLCBlbXB0eUF0b20oKSwgZmFs
c2UpOworICAgICAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IGdsb2JhbFNjb3Bl
KCktPnNjcmlwdCgpLT5sb2FkTW9kdWxlU3luY2hyb25vdXNseShtb2R1bGVTY3JpcHQuZ2V0KCks
IHNvdXJjZUNvZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0
ZWQpIHsKKyAgICAgICAgICAgIGlmIChPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6RXJyb3I+IGVy
cm9yID0gbW9kdWxlU2NyaXB0LT5lcnJvcigpKSB7CisgICAgICAgICAgICAgICAgaWYgKE9wdGlv
bmFsPExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZT4gbWVzc2FnZSA9IGVycm9yLT5jb25z
b2xlTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IG1lc3Nh
Z2UtPm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBl
eGNlcHRpb25NZXNzYWdlID0gIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfczsK
KyAgICAgICAgICAgICAgICBnbG9iYWxTY29wZSgpLT5yZXBvcnRFeGNlcHRpb24oZXhjZXB0aW9u
TWVzc2FnZSwgeyB9LCB7IH0sIHsgfSwgeyB9LCB7IH0pOworICAgICAgICAgICAgfSBlbHNlIGlm
ICghbW9kdWxlU2NyaXB0LT53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gRXZh
bHVhdGUuCisgICAgICAgICAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmxpbmtBbmRF
dmFsdWF0ZU1vZHVsZShtb2R1bGVTY3JpcHQuZ2V0KCksIHNvdXJjZUNvZGUsICZleGNlcHRpb25N
ZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIAogICAgIC8vIEZyZWUgdGhlIHN0YXJ0dXAg
ZGF0YSB0byBjYXVzZSBpdHMgbWVtYmVyIHZhcmlhYmxlIGRlcmVmJ3MgaGFwcGVuIG9uIHRoZSB3
b3JrZXIncyB0aHJlYWQgKHNpbmNlCiAgICAgLy8gYWxsIHJlZi9kZXJlZnMgb2YgdGhlc2Ugb2Jq
ZWN0cyBhcmUgaGFwcGVuaW5nIG9uIHRoZSB0aHJlYWQgYXQgdGhpcyBwb2ludCkuIE5vdGUgdGhh
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggODg5MDc5MDhlN2E5Yjgw
OWU4ZjJhNGU0NzNkNzUyZDExZDI5MzdjMC4uOTUxMmVmZGIxOGYzMmE1MGVjYjdmYjU2OTU5ZDYx
ZTg4NzJmYTFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0yNiw3
ICsyNiwxMCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5o
IgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFRocmVhZC5oIgorI2luY2x1ZGUgIldvcmtlclJ1
bkxvb3AuaCIKKyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9VUkwu
aD4KQEAgLTYzLDYgKzY2LDggQEAgc3RydWN0IFdvcmtlclBhcmFtZXRlcnMgewogICAgIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogICAgIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbjsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeTsKKyAg
ICBXb3JrZXJUeXBlIHdvcmtlclR5cGU7CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3Jl
ZGVudGlhbHM7CiAgICAgU2V0dGluZ3M6OlZhbHVlcyBzZXR0aW5nc1ZhbHVlczsKIAogICAgIFdv
cmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJl
YWQuY3BwCmluZGV4IGM4YTdhOTk3MmY5Y2M4YzE2YTc5Njc1MTE1NTJmNTQ5M2E2ODZmOTguLjMz
Y2EwZWMyM2I1OGE1NTExODc2ODQ2YmEwNzE4MzUzMmI1YzQ3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJUaHJlYWQuY3BwCkBAIC03Myw4ICs3Myw5IEBAIGNsYXNzIER1bW15U2VydmljZVdvcmtlclRo
cmVhZFByb3h5IDogcHVibGljIFdvcmtlck9iamVjdFByb3h5IHsKIC8vIEZJWE1FOiBVc2UgYSB2
YWxpZCBXb3JrZXJPYmplY3RQcm94eQogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZsYWdz
CiAKKy8vIEZJWE1FOiBVc2UgYSB2YWxpZCBXb3JrZXJUeXBlIGFuZCBDcmVkZW50YWlscyBmb3Ig
bW9kdWxlIHNlcnZpY2Ugd29ya2Vycy4KIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3Jr
ZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1
c2VyQWdlbnQsIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzLCBXb3JrZXJM
b2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2VyUHJv
eHksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHksIFNv
Y2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEu
c2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJ
ZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQp
LCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0
YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9
LCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJv
eHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1
cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBK
U0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQorICAgIDogV29ya2VyVGhyZWFk
KHsgZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNw
ZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVz
ZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGlu
ZSgpLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6Om5v
dygpLCB7IH0sIFdvcmtlclR5cGU6OkNsYXNzaWMsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpT
YW1lT3JpZ2luLCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRl
YnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29y
a2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmln
aW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFBy
b3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAgICwgbV9k
YXRhKGRhdGEuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KER1bW15
U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAsIG1faGVhcnRCZWF0VGlt
ZW91dChTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCktPnNob3VsZFVz
ZVNob3J0VGltZW91dCgpID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3QgOiBoZWFydEJlYXRUaW1l
b3V0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMjNkZTc2YzJjYWVjY2I3NzIz
MGU0ODRmN2ZhZTg4MGM2YTU2NzRlNy4uMWNkMDc4MDFmNTYwOGU3M2JmZGYwOTY1N2VjZjI4YTFi
YmM3YzkyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMjEtMDItMTAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAg
ICBKUyBNb2R1bGVzIGluIFdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2NDg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhy
b3ctd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0
aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5
cGUtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAyLTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTm9uLXNwZWNpYWwgVVJMcyBzaG91bGQgaGF2
ZSBhbiBvcGFxdWUgb3JpZ2luCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9u
LW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4
YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0MmZhZDIyNGUzYTE4YTZmYjVkODQ4
MzI1ZWE2Nzc2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9y
ZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi1IYXJu
ZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorUEFTUyBUZXN0IGV2YWx1YXRp
b24gb3JkZXIgb2YgbW9kdWxlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3Jp
cHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0
aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThm
YmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0MmZhZDIyNGUzYTE4YTZmYjVk
ODQ4MzI1ZWE2Nzc2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9u
LW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi1I
YXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorUEFTUyBUZXN0IGV2YWx1
YXRpb24gb3JkZXIgb2YgbW9kdWxlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMt
dHlwZS1leHBlY3RlZC50eHQKaW5kZXggZGEwZTRlYjY3NThkMTRhMzdhMzk4ZDBiNmZjNzFhZDM4
NzZiZDI2Yi4uMWZjMGM2NmZkZjcyNGMyYWEzYjkxMDY5ODBiZmJlN2U5ODhmOTc3MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1
bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dApAQCAtMiwxMSAr
Miw2IEBACiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIHRoZSBkZWZhdWx0IHdv
cmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCB0aGUgImNsYXNz
aWMiIHdvcmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCB0aGUg
Im1vZHVsZSIgd29ya2VyIHR5cGUuCi1GQUlMIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRo
IGFuIGVtcHR5IHdvcmtlciB0eXBlLiBhc3NlcnRfdGhyb3dzX2pzOiBXb3JrZXIgY29uc3RydWN0
aW9uIHdpdGggYW4gZW1wdHkgdHlwZSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uIGZ1bmN0aW9u
ICIoKSA9PiB7Ci0gICAgICAgIG5ldyBXb3JrZXIoJ3Jlc291cmNlcy9wb3N0LW1lc3NhZ2Utb24t
bG9hZC13b3JrZXIuanMnLCB7IHR5cGU6ICcnIH0pOwotICAgICAgfSIgZGlkIG5vdCB0aHJvdwot
RkFJTCBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtub3duIHdvcmtlciB0eXBl
LiBhc3NlcnRfdGhyb3dzX2pzOiBXb3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gdW5rbm93biB0
eXBlIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24gZnVuY3Rpb24gIigpID0+IHsKLSAgICAgICAg
bmV3IFdvcmtlcigncmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS1vbi1sb2FkLXdvcmtlci5qcycsCi0g
ICAgICAgICAgICAgICAgICAgeyB0eXBlOiAndW5rbm93bicgfSk7Ci0gICAgICB9IiBkaWQgbm90
IHRocm93CitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIGVtcHR5IHdvcmtl
ciB0eXBlLgorUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtub3duIHdv
cmtlciB0eXBlLgogCg==
</data>
<flag name="commit-queue"
          id="438168"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419821</attachid>
            <date>2021-02-10 00:39:08 -0800</date>
            <delta_ts>2021-02-10 13:40:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210210003907.patch</filename>
            <type>text/plain</type>
            <size>114064</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZlNjA0YWRhNjJiNWRm
MmIzMzA0MTk0ZTc2ZGNkNzNjMzdjN2E3NC4uNTIzMDkyNDc5YzE4NDY5ODk4YzI0Nzc4MDc1MWZm
YzU3YzQwOGQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkzIEBACisyMDIxLTAyLTEwICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBX
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjps
b2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5
RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNo
ZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2NyaXB0TW9kdWxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRjaCk6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1w
b3J0TWV0YVByb3BlcnRpZXMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2Jq
ZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNo
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9h
ZGVyRXZhbHVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNl
Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyk6
IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oLgorICAgICAgICAoV2ViQ29y
ZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpjbGVhckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpN
b2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgICogYmluZGlu
Z3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaC4KKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRN
b2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9h
ZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVs
ZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJM
RnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpl
dmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1v
ZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlz
aGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
LgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
Ojp+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmguCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQpOiBEZWxldGVkLgorICAgICAgICAq
IGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3Jp
cHQpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlcjo6V29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2Jh
bFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2Fk
ZXIpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1v
ZHVsZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29s
YXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0
ZVNjcmlwdElmTmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRo
cmVhZCk6CisKIDIwMjEtMDItMDcgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihyMjcyMzc5KSBbV1BFXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcvbWF0aHZhcmlhbnQgdGVzdHMg
YXJlIEltYWdlIEZhaWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggYTVlMTVjODUwN2Y2OWU4MTQ4ZWU3
N2IzODRkZTEzODFkYTc3OTYwMC4uYmRhNGNjODlhZDJjOWI5ZDBjYTIyZjIxNmU3NDNiNjAzYmZh
Mjc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTYzOCw2ICs2MzgsNyBAQCBiaW5kaW5ncy9qcy9TdHJ1
Y3R1cmVkQ2xvbmUuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlSklUT3BlcmF0aW9ucy5jcHAKIGJp
bmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlVHlw
ZWRBcnJheUNvbnRyb2xsZXIuY3BwCitiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuY3BwCiBiaW5kaW5ncy9qcy9XaW5kb3dQcm94eS5jcHAKIGJpbmRpbmdzL2pzL1dyaXRhYmxl
U3RyZWFtLmNwcAogYnJpZGdlL0lkZW50aWZpZXJSZXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzA3YzJhODExZmQ2M2Ji
YWUxZmJmMmU5YzJlZWExOWExODVkZDZkYy4uMjRjMzk2NWM1YjQxZTIyODA4YmE5NWUzMGYxMDcz
ZWY0MGU0NDNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNTA2MiwxNSArNTA2MiwxNyBAQAogCQlFMzA1OTI2NDFFMjdBM0FE
MDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTkyNjIxRTI3QTM4QzAwRDU3Qzk4IC8qIElubGlu
ZUNsYXNzaWNTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlFMzA1OTI2ODFFMjdBM0QxMDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTky
NjYxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzA3REVEMDFEODFFNEM3MDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJRTMwN0RFRDExRDgxRTRDQjAwMTQxQ0FGIC8qIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUUzMDdERUQ1MUQ4MUU0RjIwMDE0MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNjcmlw
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RF
RDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMxNTBFQTcxREE3MjE5MzAw
MTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJz
LmggKi87IH07CiAJCUUzMjAxQzFBMUY4RTgyMTMwMDc2QTAzMiAvKiBNb2R1bGVGZXRjaFBhcmFt
ZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
OEQwNjA5MUY4RTgxMTkwMDY0OUNGMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzIzQ0ZGQTFFNUFG
NkFGMDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyM0NGRjkxRTVBRjZBNTAwRjBCNEEwIC8qIEpT
RE9NQ29udmVydFByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgg
Ki87IH07CisJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
NTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU2NUI3QjFE
QzJENkM5MDAyMTdEQkQgLyogSlNFdmVudEN1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZl
bnRDdXN0b20uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODAyQjUxREM4
NDM1ODAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU4MkMyODI1MjdGNjY5MDBEMUI3OTAg
LyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzNTgyQzI2MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3Bl
cmF0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUUzNUI5MDdGMjNGNjBBNTAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1QjkwN0MyM0Y2
MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM2NDMyMUMyNUQzN0E2NzAwRjkwRTJB
IC8qIE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExv
YWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzNzdGRTREMURBREUxNjUwMENERDAyNSAvKiBOb2RlQ29uc3RhbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QwNDk5MzFEQURDMDQ1MDA3MThG
M0MgLyogTm9kZUNvbnN0YW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAvKiBKU0RPTVByb21pc2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzN0M4NjRG
MUVCNjNFMkQwMDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzk2MjhCRjIzOTU3MjhGMDA2NThFQ0QgLyog
RGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNEIC8qIERldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTYxNzcsNyArMTYxNzksNiBAQAogCQlFMzA1OTI2NjFF
MjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDYWNoZWRTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUzMDdERUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMw
N0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8q
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFRDIxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9k
dWxlU2NyaXB0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvYWRh
YmxlTW9kdWxlU2NyaXB0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RF
RDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBET01KSVRIZWxw
ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEhlbHBlcnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MTkwLDEyICsxNjE5MSwxNiBAQAogCQlF
MzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyogVHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTMyOTI3NjYyMjU0M0ZERTAwMzA4QTlBIC8qIERPTVJlY3RSZWFkT25seS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01SZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzM0ODI1RTFEQzkzQUEwMDA5Qzk1NDQgLyogRE9NSklUQWJzdHJh
Y3RIZWFwUmVwb3NpdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBET01K
SVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKKwkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNj
cmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM0MzJERTMy
NUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMg
LyogSlNFdmVudEN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2
ZW50Q3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNTE4OEIzMjVEMzg3
Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzNTgwMkI1MURDODQzNTgwMEE5NzczQyAvKiBET01KSVRJRExU
eXBlRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVElETFR5
cGVGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODJDMjQyNTI3RjY2
ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRP
cGVyYXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVKSVRP
cGVyYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdDMjNGNjA2
NzcwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMzVCOTA3RTIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9k
ZWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbGl6ZWRE
ZXZpY2VNb2RlbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM2NDMyMUEyNUQz
N0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVByb21pc2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUzIC8qIFNjcmlwdE1vZHVs
ZUxvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRN
b2R1bGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5NTFC
QUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjY5ODcsNyArMjY5OTIsNiBAQAogCQkJCTJERkE0ODhFMURCNTQxQzIwMDM2
MkI5OSAvKiBCdWZmZXJTb3VyY2UuaCAqLywKIAkJCQlFMzA3REVDNjFEODFFNDQ4MDAxNDFDQUYg
LyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLywKIAkJCQlFMzA3REVDNzFEODFFNDQ4
MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCi0JCQkJRTMwN0RFQzgx
RDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovLAog
CQkJCUUzMDU5MjY1MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCAq
LywKIAkJCQlFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5o
ICovLAogCQkJCUJDRDUzMzYzMEVENjg0ODkwMDg4NzQ2OCAvKiBDYWNoZWRTY3JpcHRTb3VyY2VQ
cm92aWRlci5oICovLApAQCAtMjcwNjEsNiArMjcwNjUsOCBAQAogCQkJCTRCREVBMzJEMjE4MDM0
MDUwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwICovLAogCQkJCTRCREVB
MzJCMjE4MDMzRUIwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuaCAqLywKIAkJ
CQk3MDlBMDFGRDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oICov
LAorCQkJCUUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCAq
LywKKwkJCQlFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50LmggKi8sCiAJCQkJNDFCNDU5RUQxRjU1RUJDNzAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFt
LmNwcCAqLywKIAkJCQk0MUI0NTlEQTFGNENBREI5MDAwMEY2RkQgLyogUmVhZGFibGVTdHJlYW0u
aCAqLywKIAkJCQk0MThDMzk1RTFDOEYwQUFCMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlci5jcHAgKi8sCkBAIC0yNzA5Miw2ICsyNzA5OCw4IEBACiAJCQkJMEYwOTlE
MDcxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oICovLAog
CQkJCTQ2MzUyMUFDMjA4MTA5MEUwMEMyODkyMiAvKiBXaW5kb3dQcm94eS5jcHAgKi8sCiAJCQkJ
NDYzNTIxQUEyMDgxMDkwQjAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5LmggKi8sCisJCQkJRTM0MzJE
RTMyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8sCisJ
CQkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
ICovLAogCQkJCTQxNDE4QTAzMjU2NDNFMTIwMDM2MzQxNyAvKiBXcml0YWJsZVN0cmVhbS5jcHAg
Ki8sCiAJCQkJNDE0MThBMDQyNTY0M0UxMzAwMzYzNDE3IC8qIFdyaXRhYmxlU3RyZWFtLmggKi8s
CiAJCQkpOwpAQCAtMzEzNTcsNyArMzEzNjUsNiBAQAogCQkJCUJDQjE2QzFDMDk3OUMzQkQwMDQ2
Nzc0MSAvKiBDYWNoZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE5RkJENUYxNUQyRjQ2
NDAwOTY0MEE2IC8qIENhY2hlZEltYWdlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzA3
REVEMDFEODFFNEM3MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlFMzA3REVEMTFEODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAxODQ2OTBCMDg2MDJBMDA0
QTgyNUYgLyogQ2FjaGVkUGFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDBFREE3NzUxNDNFMzAz
QzAwMjhFMzgzIC8qIENhY2hlZFJhd1Jlc291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUI1
MzM0OTE3MTdERUUzMDBGMjA1RjkgLyogQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzM4MjcsNiArMzM4MzQsOCBAQAogCQkJCUM2RDc0QUQ1MDlBQTI4MkUwMDBC
MEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25MaXN0TGV2ZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTcw
OUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzY0MzIxQzI1RDM3QTY3MDBGOTBFMkEgLyog
TW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzUxODhCNDI1RDM4N0NG
MDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGNTVCM0RDNjEyNTFGMTJEMDAzRUYyNjkgLyogTW9udGhJbnB1dFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUzOTYyOEMxMjM5NTc0MzEwMDY1OEVDRCAvKiBNb3Rpb25NYW5hZ2VyQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0NjBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VF
dmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTQ3Niw2ICszNTQ4NSw3IEBACiAJCQkJMThGODMx
QjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRTQzNDY0RDBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyTG9jYXRpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTJFNDM0NjUwMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJNZXNzYWdpbmdQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM0MzJERTQyNUQzNzdFMzAwNThFNjEyIC8qIFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNzFBMEIwRUVF
Qzc3QTAwRjYxMjEzIC8qIFdvcmtlck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVD
QjA1MjUxRkI1MUYzQTAwMDg5Qjk3IC8qIFdvcmtlck5ldHdvcmtBZ2VudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMkU0MzQ2NTEwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlck9iamVjdFByb3h5Lmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0Nh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9D
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDM1MmRjYzRhY2Y3NTE3NmQ5OGFkMzQx
MGJlMTUxNjA4MDEwODg1MjQuLmM2YmM0NDdkMzE5MDQwMjRiM2NiZDdjY2E2YzBjMjljZmI0ODBh
NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyLmNwcApAQCAtNDAsMTMgKzQwLDEzIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOjpjcmVhdGUoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERl
ZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hl
ciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorUmVmPENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwg
Q2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFy
YW1ldGVycz4mJiBwYXJhbWV0ZXJzKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1v
dmUocGFyYW1ldGVycykpKTsKIH0KIAotQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQs
IERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0
Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQotICAgIDog
bV9jbGllbnQoJmNsaWVudCkKK0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFBy
b21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0
cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICA6IE1vZHVsZVNjcmlw
dExvYWRlcihjbGllbnQpCiAgICAgLCBtX3Byb21pc2UoJnByb21pc2UpCiAgICAgLCBtX3Njcmlw
dEZldGNoZXIoc2NyaXB0RmV0Y2hlcikKICAgICAsIG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFt
ZXRlcnMpKQpAQCAtNjEsMTQgKzYxLDE0IEBAIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6fkNh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlcigpCiAgICAgfQogfQogCi1ib29sIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNlVVJM
KQorYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50
LCBVUkwmJiBzb3VyY2VVUkwpCiB7CiAgICAgQVNTRVJUKCFtX2NhY2hlZFNjcmlwdCk7CiAgICAg
U3RyaW5nIGludGVncml0eSA9IG1fcGFyYW1ldGVycyA/IG1fcGFyYW1ldGVycy0+aW50ZWdyaXR5
KCkgOiBTdHJpbmcgeyB9OwogICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9zY3JpcHRGZXRjaGVyLT5y
ZXF1ZXN0TW9kdWxlU2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkwsIFdURk1vdmUoaW50ZWdyaXR5
KSk7CiAgICAgaWYgKCFtX2NhY2hlZFNjcmlwdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IG1fc291cmNlVVJMID0gc291cmNlVVJMOworICAgIG1fc291cmNlVVJMID0gV1RGTW92ZShzb3Vy
Y2VVUkwpOwogCiAgICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgYWxyZWFkeSBjYWNoZWQsIHRoaXMg
aW1tZWRpYXRlbHkgY2FsbHMgbm90aWZ5RmluaXNoZWQuCiAgICAgbV9jYWNoZWRTY3JpcHQtPmFk
ZENsaWVudCgqdGhpcyk7CkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IE5l
CiAKICAgICBSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlz
KTsKICAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgq
dGhpcywgV1RGTW92ZShtX3Byb21pc2UpKTsKKyAgICAgICAgbV9jbGllbnQtPm5vdGlmeUZpbmlz
aGVkKCp0aGlzLCBXVEZNb3ZlKG1fc291cmNlVVJMKSwgbV9wcm9taXNlLnJlbGVhc2VOb25OdWxs
KCkpOwogCiAgICAgLy8gUmVtb3ZlIHRoZSBjbGllbnQgYWZ0ZXIgY2FsbGluZyBub3RpZnlGaW5p
c2hlZCB0byBrZWVwIHRoZSBkYXRhIGJ1ZmZlciBpbgogICAgIC8vIENhY2hlZFJlc291cmNlIGFs
aXZlIHdoaWxlIG5vdGlmeUZpbmlzaGVkIHByb2Nlc3NlcyB0aGUgcmVzb3VyY2UuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5o
CmluZGV4IDQzYWJkODc1YjI0M2ZhZjVmY2Q0ZDk4ZWMzYzVkMjRlNzkwYjU3MmUuLjA0NDg3NjE4
OTlkZWVlN2E4NjU4MjhjMDAxZWRhMWJmNzgzNTMzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCiAj
aW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzQsNyArMzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKK2NsYXNzIE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudDsKIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIENhY2hlZFNjcmlw
dEZldGNoZXI7CiBjbGFzcyBEZWZlcnJlZFByb21pc2U7CkBAIC00MiwzMSArNDMsMjMgQEAgY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKIGNsYXNzIE1vZHVsZUZldGNo
UGFyYW1ldGVyczsKIAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVi
bGljIFJlZkNvdW50ZWQ8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiwgcHJpdmF0ZSBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CitjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBw
dWJsaWMgTW9kdWxlU2NyaXB0TG9hZGVyLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRl
KENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hl
ZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBz
dGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQ
dHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcigpOwogCi0gICAgYm9vbCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiBz
b3VyY2VVUkwpOworICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIFVSTCYmIHNvdXJjZVVSTCk7CiAK
ICAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyKCkgeyByZXR1cm4gbV9zY3Jp
cHRGZXRjaGVyLmdldCgpOyB9CiAgICAgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQoKSB7IHJl
dHVybiBtX2NhY2hlZFNjcmlwdC5nZXQoKTsgfQogICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyog
cGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQotICAgIGNvbnN0IFVS
TCYgc291cmNlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VVUkw7IH0KLQotICAgIHZvaWQg
Y2xlYXJDbGllbnQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICAgICAg
bV9jbGllbnQgPSBudWxscHRyOwotICAgIH0KIAogcHJpdmF0ZToKLSAgICBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9t
aXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+
JiYpOworICAgIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVs
ZUZldGNoUGFyYW1ldGVycz4mJik7CiAKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJl
c291cmNlJiwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikgZmluYWw7CiAKLSAgICBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9OwogICAgIFJlZlB0
cjxEZWZlcnJlZFByb21pc2U+IG1fcHJvbWlzZTsKICAgICBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hl
cj4gbV9zY3JpcHRGZXRjaGVyOwogICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+IG1f
cGFyYW1ldGVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDg2ODhhZDkwZGFlM2VjZTk0OWVhMDliMWVmZWU1ZGEyNmY5NGM3ODYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKKysrIC9kZXYvbnVsbApA
QCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlLCBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcjsKLWNsYXNzIERlZmVycmVkUHJvbWlzZTsKLQotY2xhc3MgQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7Ci0KLSAgICB2aXJ0dWFsIHZv
aWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4pID0gMDsKLX07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKaW5kZXggYTQzMzc1ODY1YmJmMWVjNTk3M2Jm
MTcyYzkxYTM4NTMyMzRlMzc0ZC4uZGYzYzZiNmViYjg0YWY3MmVkMjk1NWY5OTExZDA3YTg3YWIz
NTMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
RmV0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
RmV0Y2hlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vz
c0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CisjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00Nyw2ICs0OCw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNj
cmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdE1vZHVsZVNjcmlwdChEb2N1CiAKIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdFNjcmlwdFdpdGhDYWNoZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNl
VVJMLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBP
cHRpb25hbDxSZXNvdXJjZUxvYWRQcmlvcml0eT4gcmVzb3VyY2VMb2FkUHJpb3JpdHkpIGNvbnN0
CiB7CisgICAgLy8gV2l0aG91dCBzY3JpcHRpbmcsIHRoZXJlIGlzIG5vIHdheSB0byBzdGFydCBX
b3JrZXJzLgogICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS5pc1NjcmlwdEVuYWJsZWQoKSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1OGI3ZGY3NjBjMDBhMzFmZjA4ZWQyMmRl
ZTIyYThjNzQ0M2FlOGRkLi45ZDY5N2Q0NTliNTYzNDVjYzgzOTYyMDI2Njc2ZTAwYTk4YmY0OWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiSlNXb3JrbGV0R2xvYmFsU2NvcGUuaCIK
ICNpbmNsdWRlICJSZWplY3RlZFByb21pc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN0cnVjdHVyZWRDbG9uZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIK
ICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtNDIyLDYgKzQyMyw3OSBAQCBKU0M6
OkpTUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Omluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsbwogfQogI2VuZGlmCiAKK3N0YXRpYyBTY3JpcHRNb2R1bGVMb2Fk
ZXIqIHNjcmlwdE1vZHVsZUxvYWRlcihKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQor
eworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0
LT5pbmhlcml0czxKU0RPTVdpbmRvd0Jhc2U+KHZtKSkgeworICAgICAgICBpZiAoYXV0byBkb2N1
bWVudCA9IGpzQ2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpLT53cmFw
cGVkKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiAmZG9jdW1lbnQtPm1vZHVsZUxv
YWRlcigpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaWYgKGdsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNSZW1vdGVET01XaW5kb3dCYXNlPih2bSkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2VyR2xvYmFs
U2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2VyR2xv
YmFsU2NvcGVCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1vZHVsZUxvYWRlcigpOwor
ICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZT4o
dm0pKQorICAgICAgICByZXR1cm4gJmpzQ2FzdDxjb25zdCBKU1dvcmtsZXRHbG9iYWxTY29wZUJh
c2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJT
ZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0Pih2bSkpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
I2VuZGlmCisgICAgZGF0YUxvZygiVW5leHBlY3RlZCBnbG9iYWwgb2JqZWN0OiAiLCBKU1ZhbHVl
KGdsb2JhbE9iamVjdCksICJcbiIpOworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTQzo6SWRlbnRpZmllciBKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6Ompz
Q2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxv
YWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxv
YWRlci0+cmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgaW1w
b3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiB7IH07Cit9CisKK0pT
Qzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFt
ZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlw
dE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNj
b3BlLCBsb2FkZXItPmZldGNoKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXks
IHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7Cisg
ICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7CisgICAgcmV0
dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
TW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6
SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAg
IEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1
bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmV2YWx1YXRlKGds
b2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0
RmV0Y2hlcik7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKworSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1N0cmluZyogbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJiBzb3VyY2VPcmlnaW4pCit7CisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6
anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byog
bG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+aW1wb3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9k
dWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VPcmlnaW4pKTsKKyAgICBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAg
ICBzY29wZS5yZWxlYXNlKCk7CisgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNV
bmRlZmluZWQoKSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNPYmplY3QqIEpT
RE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhK
U0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1v
ZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCog
bW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUds
b2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVy
KHRoaXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5jcmVhdGVJbXBvcnRNZXRhUHJv
cGVydGllcyhnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNv
cmQsIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVy
ZSgpKTsKK30KKwogSlNET01HbG9iYWxPYmplY3QmIGNhbGxlckdsb2JhbE9iamVjdChKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBjYWxsRnJhbWUpCiB7CiAg
ICAgY2xhc3MgR2V0Q2FsbGVyR2xvYmFsT2JqZWN0RnVuY3RvciB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAppbmRleCBiODQwNzJkZGQ3NDZiM2Q2
YzUxMDYwZDkwNTAxYjVjZWExYjQ5OWIxLi5mNDlhNGNkMjU3MTk3MTE4OTE3YTdkN2E0YjZjMGUx
MWZjNzZiYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmgKQEAgLTEwNSw2ICsxMDUsMTIgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNET01H
bG9iYWxPYmplY3QgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbE9iamVjdCB7CiAgICAgc3RhdGljIEpT
Qzo6SlNQcm9taXNlKiBpbnN0YW50aWF0ZVN0cmVhbWluZyhKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTT2JqZWN0Kik7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBKU0M6
OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFs
dWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1
ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUg
bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVM
b2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAgICBz
dGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0cmluZyos
IEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKKyAgICBzdGF0aWMgSlND
OjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOworCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAg
bV9zdHJ1Y3R1cmVzOwogICAgIEpTRE9NQ29uc3RydWN0b3JNYXAgbV9jb25zdHJ1Y3RvcnM7CiAg
ICAgRE9NR3VhcmRlZE9iamVjdFNldCBtX2d1YXJkZWRPYmplY3RzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggNTYzZWZhMDU3MWI1ZDQ2
MmQ5ZTY0NTA4OWYwYmQ4Zjc3ZDE5YTc2OC4uMzEyYTAxMTU4ZThjMjgwODNjMDdlNDJkYjg3MjQ1
ZmU0ZTVjNTdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCkBAIC0zMzksNTQgKzMzOSw0IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJl
RnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiAgICAg
fQogfQogCi1KU0M6OklkZW50aWZpZXIgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNv
bHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGlt
cG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RP
TVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihn
bG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09i
amVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCkucmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFt
ZSwgaW1wb3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiB7IH07Ci19
Ci0KLUpTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVy
RmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBw
YXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9N
V2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9j
dW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuZmV0Y2goZ2xvYmFs
T2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hl
cikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0
dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFs
T2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpK
U1ZhbHVlIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIs
IEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6
SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVj
dCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYg
KFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1l
bnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5ldmFsdWF0ZShn
bG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlw
dEZldGNoZXIpOwotICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxl
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciog
bW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFy
YW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKLXsKLSAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anND
YXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1
bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAg
ICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuaW1w
b3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0
ZXJzLCBzb3VyY2VPcmlnaW4pKTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNl
ID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVy
bmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcHJvbWlz
ZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7Ci0gICAgcmV0dXJuIHByb21p
c2U7Ci19Ci0KLUpTQzo6SlNPYmplY3QqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3Jl
YXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVL
ZXksIEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nh
c3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3Vt
ZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAg
ICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0
aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwg
c2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9i
amVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkp
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5oCmluZGV4IDNlZjk4MGRkMjdmNmIyMTM5ODcwMDhiYTQ3NmM4
Y2E2OWYyZjBiNjQuLjUxNDJiMWM3ZGMyNWMyMmZlOTc4OTVlNzVhZTIyZWY0ZDFlNTg5ZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC05OSwx
MiArOTksNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTVdpbmRvd0Jhc2UgOiBwdWJsaWMg
SlNET01HbG9iYWxPYmplY3QgewogcHJpdmF0ZToKICAgICB1c2luZyBSZXNwb25zZUNhbGxiYWNr
ID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IGNoYXIqLCBzaXplX3QpPjsKIAotICAgIHN0YXRp
YyBKU0M6OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2Fk
ZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpT
VmFsdWUgbW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNN
b2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsK
LSAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9k
dWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0
cmluZyosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKLSAgICBzdGF0
aWMgSlNDOjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUs
IEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwotCiAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV93cmFwcGVkOwogICAgIFJlZlB0cjxFdmVudD4gbV9jdXJyZW50RXZlbnQ7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwCmluZGV4IDQyYjI2YzlmNGVhMjE2MjA3ZGU0Yzg2ODIwYjhhODFiNjAzNWI3ZWIu
LjJkNzkzZmZmMjE4NTNhOGExYTc4ODA2NjcyNTBmNTdlNzUyZmUzZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAK
QEAgLTU5LDExICs1OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtl
ckdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZQogICAgICZqYXZhU2Ny
aXB0UnVudGltZUZsYWdzLAogICAgICZxdWV1ZU1pY3JvdGFza1RvRXZlbnRMb29wLAogICAgICZz
aG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckltcG9ydE1vZHVsZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlclJlc29sdmUK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJGZXRjaAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxl
TG9hZGVyRXZhbHVhdGUKKyAgICAmbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlLAorICAgICZtb2R1
bGVMb2FkZXJSZXNvbHZlLAorICAgICZtb2R1bGVMb2FkZXJGZXRjaCwKKyAgICAmbW9kdWxlTG9h
ZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMsCisgICAgJm1vZHVsZUxvYWRlckV2YWx1YXRl
LAogICAgICZwcm9taXNlUmVqZWN0aW9uVHJhY2tlciwKICAgICAmcmVwb3J0VW5jYXVnaHRFeGNl
cHRpb25BdEV2ZW50TG9vcCwKICAgICAmY3VycmVudFNjcmlwdEV4ZWN1dGlvbk93bmVyLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3Bl
QmFzZS5jcHAKaW5kZXggMzVmYTZlMzI3N2ZiMGQ0YmUwZTBlMWVkYzQzNzIyZWRhZGZjOGFmMi4u
OWZhZWM5NTljMzlkMTc0ODE4MWM5ODY1MDAzZDVhODZmMTdmNWUzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3Bw
CkBAIC00OSwxMSArNDksMTEgQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNXb3Jr
bGV0R2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmwKICAgICAmamF2YVNj
cmlwdFJ1bnRpbWVGbGFncywKICAgICBudWxscHRyLCAvLyBxdWV1ZU1pY3JvdGFza1RvRXZlbnRM
b29wCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9h
ZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBudWxscHRy
LCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUs
CisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNoLAorICAg
ICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9kdWxlTG9h
ZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZyZXBvcnRV
bmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhlY3V0aW9u
T3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE4ZWFiMTIzYWVlZWIwMmU4YTI2Mzc4YjMyZTE5NTdkMzMzOTVjYWYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8TW9kdWxlU2NyaXB0TG9hZGVyPiB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+TW9kdWxlU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBjbGVh
ckNsaWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQobV9jbGllbnQpOworICAgICAgICBtX2Ns
aWVudCA9IG51bGxwdHI7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAgTW9kdWxlU2NyaXB0TG9h
ZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50KQorICAgICAgICA6IG1fY2xpZW50
KCZjbGllbnQpCisgICAgeworICAgIH0KKworICAgIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCog
bV9jbGllbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY5OTVmNDhlZTNkMWUwMmMxZDhjOWM5ZGEyYmQ1ODIzNmYzYmEwN2QKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJ
bmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IE1vZHVsZVNjcmlwdExvYWRlcjsKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKKworY2xhc3MgTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Rmlu
aXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSA9
IDA7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRNb2R1bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9k
dWxlTG9hZGVyLmNwcAppbmRleCBhYTViODBiNTg2Yjc5ZTBlNTc1MDFjZDUxMDc4ZGYyNWE2MjVl
NWQ5Li44MGU5YjEwYzRlMDJkNjJmMDhjNmNmMGI3MzRkMjY5MjJmNDY1NTRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKQEAgLTI5
LDcgKzI5LDYgQEAKICNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCIKICNpbmNs
dWRlICJDYWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCi0j
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCkBAIC01Miw4ICs1
MSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU2NyaXB0TW9kdWxlTG9hZGVyOjpTY3Jp
cHRNb2R1bGVMb2FkZXIoRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogbV9kb2N1bWVudChkb2N1
bWVudCkKK1NjcmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIE93bmVyVHlwZSBvd25lclR5cGUpCisgICAgOiBtX2NvbnRl
eHQoY29udGV4dCkKKyAgICAsIG1fb3duZXJUeXBlKG93bmVyVHlwZSkKIHsKIH0KIApAQCAtNjgs
NyArNjgsNyBAQCBzdGF0aWMgYm9vbCBpc1Jvb3RNb2R1bGUoSlNDOjpKU1ZhbHVlIGltcG9ydGVy
TW9kdWxlS2V5KQogICAgIHJldHVybiBpbXBvcnRlck1vZHVsZUtleS5pc1N5bWJvbCgpIHx8IGlt
cG9ydGVyTW9kdWxlS2V5LmlzVW5kZWZpbmVkKCk7CiB9CiAKLXN0YXRpYyBFeHBlY3RlZDxVUkws
IFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IFN0cmluZyYgc3BlY2lmaWVyLCBjb25zdCBVUkwmIGJhc2VVUkwpCitzdGF0aWMgRXhwZWN0ZWQ8
VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGUgb3duZXJUeXBlLCBjb25z
dCBTdHJpbmcmIHNwZWNpZmllciwgY29uc3QgVVJMJiBiYXNlVVJMKQogewogICAgIC8vIGh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNyZXNvbHZl
LWEtbW9kdWxlLXNwZWNpZmllcgogCkBAIC03OSw3ICs3OSwxMiBAQCBzdGF0aWMgRXhwZWN0ZWQ8
VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBTdAogICAgIGlmICghc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSAmJiAhc3BlY2lmaWVy
LnN0YXJ0c1dpdGgoIi4vIikgJiYgIXNwZWNpZmllci5zdGFydHNXaXRoKCIuLi8iKSkKICAgICAg
ICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBzcGVjaWZpZXIsICci
X3MsIHNwZWNpZmllciwgIicgZG9lcyBub3Qgc3RhcnQgd2l0aCBcIi9cIiwgXCIuL1wiLCBvciBc
Ii4uL1wiLiBSZWZlcmVuY2VkIGZyb20gIl9zLCBiYXNlVVJMLnN0cmluZygpKSk7CiAKLSAgICBh
dXRvIHJlc3VsdCA9IGRvY3VtZW50LmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7Cisg
ICAgVVJMIHJlc3VsdDsKKyAgICBpZiAob3duZXJUeXBlID09IFNjcmlwdE1vZHVsZUxvYWRlcjo6
T3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgcmVzdWx0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+
KGNvbnRleHQpLmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgZWxzZQorICAg
ICAgICByZXN1bHQgPSBVUkwoYmFzZVVSTCwgc3BlY2lmaWVyKTsKKwogICAgIGlmICghcmVzdWx0
LmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1v
ZHVsZSBuYW1lLCAnIl9zLCByZXN1bHQuc3RyaW5nKCksICInIGRvZXMgbm90IHJlc29sdmUgdG8g
YSB2YWxpZCBVUkwuIl9zKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEwNyw3ICsxMTIsNyBA
QCBKU0M6OklkZW50aWZpZXIgU2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNvbHZlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LAogICAgIFVSTCBiYXNlVVJMID0gcmVzcG9uc2VVUkxG
cm9tUmVxdWVzdFVSTCgqanNHbG9iYWxPYmplY3QsIGltcG9ydGVyTW9kdWxlS2V5KTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgYXV0byByZXN1bHQgPSByZXNv
bHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAg
YXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9vd25lclR5
cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpIHsKICAgICAgICAgSlND
Ojp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2NvcGUsIHJlc3VsdC5lcnJvcigpKTsK
ICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTE2MSwxMyArMTY2LDE5IEBAIEpTQzo6SlNJbnRlcm5h
bFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCog
anNHbG9iYWxPCiAgICAgaWYgKGF1dG8qIHNjcmlwdEZldGNoUGFyYW1ldGVycyA9IEpTQzo6anNE
eW5hbWljQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hQYXJhbWV0ZXJzKj4odm0sIHBhcmFtZXRlcnMp
KQogICAgICAgICB0b3BMZXZlbEZldGNoUGFyYW1ldGVycyA9IHN0YXRpY19jYXN0PE1vZHVsZUZl
dGNoUGFyYW1ldGVycyo+KCZzY3JpcHRGZXRjaFBhcmFtZXRlcnMtPnBhcmFtZXRlcnMoKSk7CiAK
LSAgICBhdXRvIGxvYWRlciA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlz
LCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXIqPihKU0M6
OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkp
LCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7Ci0gICAgbV9sb2FkZXJzLmFkZChs
b2FkZXIuY29weVJlZigpKTsKLSAgICBpZiAoIWxvYWRlci0+bG9hZChtX2RvY3VtZW50LCBjb21w
bGV0ZWRVUkwpKSB7Ci0gICAgICAgIGxvYWRlci0+Y2xlYXJDbGllbnQoKTsKLSAgICAgICAgbV9s
b2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOwotICAgICAgICByZWplY3RUb1Byb3BhZ2F0
ZU5ldHdvcmtFcnJvcihkZWZlcnJlZC5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2Fz
RXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Ci0gICAgICAg
IHJldHVybiBqc1Byb21pc2U7CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9j
dW1lbnQpIHsKKyAgICAgICAgYXV0byBsb2FkZXIgPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6
OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRG
ZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNoZXIqPihzY3JpcHRGZXRjaGVy
KS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFyYW1ldGVycykpOworICAgICAg
ICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOworICAgICAgICBpZiAoIWxvYWRlci0+
bG9hZChkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KSwgV1RGTW92ZShjb21wbGV0ZWRVUkwp
KSkgeworICAgICAgICAgICAgbG9hZGVyLT5jbGVhckNsaWVudCgpOworICAgICAgICAgICAgbV9s
b2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOworICAgICAgICAgICAgcmVqZWN0VG9Qcm9w
YWdhdGVOZXR3b3JrRXJyb3IoZGVmZXJyZWQuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6
Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOworICAg
ICAgICAgICAgcmV0dXJuIGpzUHJvbWlzZTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAg
ICAgIGF1dG8gbG9hZGVyID0gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMs
IGRlZmVycmVkLmdldCgpLCAqc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlcio+KEpTQzo6
anNDYXN0PEpTQzo6SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSks
IFdURk1vdmUodG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKKyAgICAgICAgbV9sb2FkZXJzLmFk
ZChsb2FkZXIuY29weVJlZigpKTsKKyAgICAgICAgbG9hZGVyLT5sb2FkKG1fY29udGV4dCwgV1RG
TW92ZShjb21wbGV0ZWRVUkwpKTsKICAgICB9CiAKICAgICByZXR1cm4ganNQcm9taXNlOwpAQCAt
MTc2LDcgKzE4Nyw3IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRl
cjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPCiBVUkwgU2NyaXB0TW9kdWxl
TG9hZGVyOjptb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QsIEpT
Qzo6SlNWYWx1ZSBtb2R1bGVLZXlWYWx1ZSkKIHsKICAgICBpZiAobW9kdWxlS2V5VmFsdWUuaXNT
eW1ib2woKSkKLSAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQudXJsKCk7CisgICAgICAgIHJldHVy
biBtX2NvbnRleHQudXJsKCk7CiAKICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmco
KSk7CiAgICAgcmV0dXJuIFVSTChVUkwoKSwgYXNTdHJpbmcobW9kdWxlS2V5VmFsdWUpLT52YWx1
ZSgmanNHbG9iYWxPYmplY3QpKTsKQEAgLTE4Nyw4ICsxOTgsMTEgQEAgVVJMIFNjcmlwdE1vZHVs
ZUxvYWRlcjo6cmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiBq
c0dsb2JhbE8KICAgICBKU0M6OlZNJiB2bSA9IGpzR2xvYmFsT2JqZWN0LnZtKCk7CiAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKGlzUm9vdE1vZHVs
ZShtb2R1bGVLZXlWYWx1ZSkpCi0gICAgICAgIHJldHVybiBtX2RvY3VtZW50LmJhc2VVUkwoKTsK
KyAgICBpZiAoaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkgeworICAgICAgICBpZiAobV9v
d25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgICAgIHJldHVybiBkb3du
Y2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7CisgICAgICAgIHJldHVybiBtX2Nv
bnRleHQudXJsKCk7CisgICAgfQogCiAgICAgQVNTRVJUKCFpc1Jvb3RNb2R1bGUobW9kdWxlS2V5
VmFsdWUpKTsKICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CkBAIC0yMTks
OCArMjMzLDE0IEBAIEpTQzo6SlNWYWx1ZSBTY3JpcHRNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LCBKCiAgICAgaWYgKCFzb3VyY2VVUkwu
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gSlNDOjp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9i
amVjdCwgc2NvcGUsICJNb2R1bGUga2V5IGlzIGFuIGludmFsaWQgVVJMLiJfcyk7CiAKLSAgICBp
ZiAoYXV0byogZnJhbWUgPSBtX2RvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIHJldHVybiBmcmFt
ZS0+c2NyaXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAg
ICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBpZiAo
YXV0byogZnJhbWUgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5mcmFtZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS5ldmFsdWF0ZU1vZHVsZShzb3VyY2VVUkws
ICptb2R1bGVSZWNvcmQpOworICAgIH0gZWxzZSB7CisgICAgICAgIEFTU0VSVChpczxXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KSk7CisgICAgICAgIGlmIChhdXRvKiBzY3Jp
cHQgPSBkb3duY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KS5zY3Jp
cHQoKSkKKyAgICAgICAgICAgIHJldHVybiBzY3JpcHQtPmV2YWx1YXRlTW9kdWxlKCptb2R1bGVS
ZWNvcmQpOworICAgIH0KICAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwogfQogCkBAIC0y
NDgsMjMgKzI2OCwzNiBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2Fk
ZXI6OmltcG9ydE1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqcwogICAgIFVSTCBiYXNlVVJM
OwogICAgIFJlZlB0cjxKU0M6OlNjcmlwdEZldGNoZXI+IHNjcmlwdEZldGNoZXI7CiAgICAgaWYg
KHNvdXJjZU9yaWdpbi5pc051bGwoKSkgewotICAgICAgICBiYXNlVVJMID0gbV9kb2N1bWVudC5i
YXNlVVJMKCk7Ci0gICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpj
cmVhdGUobV9kb2N1bWVudC5jaGFyc2V0KCkpOworICAgICAgICBTdHJpbmcgY2hhcnNldDsKKyAg
ICAgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAg
ICAgIGJhc2VVUkwgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7Cisg
ICAgICAgICAgICBjaGFyc2V0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuY2hhcnNl
dCgpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYmFzZVVSTCA9IG1fY29udGV4dC51
cmwoKTsKKyAgICAgICAgICAgIGNoYXJzZXQgPSAidXRmLTgiX3M7CisgICAgICAgIH0KKyAgICAg
ICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShXVEZNb3ZlKGNo
YXJzZXQpKTsKICAgICB9IGVsc2UgewogICAgICAgICBiYXNlVVJMID0gVVJMKFVSTCgpLCBzb3Vy
Y2VPcmlnaW4uc3RyaW5nKCkpOwogICAgICAgICBpZiAoIWJhc2VVUkwuaXNWYWxpZCgpKQogICAg
ICAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2UoZ2xvYmFsT2JqZWN0LCBUeXBlRXJyb3IsICJJ
bXBvcnRlciBtb2R1bGUga2V5IGlzIG5vdCBhIFN5bWJvbCBvciBhIFN0cmluZy4iX3MpOwogCisg
ICAgICAgIFN0cmluZyBjaGFyc2V0OworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJU
eXBlOjpEb2N1bWVudCkKKyAgICAgICAgICAgIGNoYXJzZXQgPSBkb3duY2FzdDxEb2N1bWVudD4o
bV9jb250ZXh0KS5jaGFyc2V0KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNoYXJzZXQg
PSAidXRmLTgiX3M7CisKICAgICAgICAgaWYgKHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpCiAgICAg
ICAgICAgICBzY3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZldGNoZXIoKTsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNy
ZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisgICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0g
Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKFdURk1vdmUoY2hhcnNldCkpOwogICAgIH0KICAg
ICBBU1NFUlQoYmFzZVVSTC5pc1ZhbGlkKCkpOwogICAgIEFTU0VSVChzY3JpcHRGZXRjaGVyKTsK
IAogICAgIGF1dG8gc3BlY2lmaWVyID0gbW9kdWxlTmFtZS0+dmFsdWUoanNHbG9iYWxPYmplY3Qp
OwotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2RvY3VtZW50LCBz
cGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNp
ZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIsIGJhc2VVUkwpOwogICAgIGlm
ICghcmVzdWx0KQogICAgICAgICByZXR1cm4gcmVqZWN0UHJvbWlzZShnbG9iYWxPYmplY3QsIFR5
cGVFcnJvciwgcmVzdWx0LmVycm9yKCkpOwogCkBAIC0yODgsNjIgKzMyMSw5OCBAQCBKU0M6OkpT
T2JqZWN0KiBTY3JpcHRNb2R1bGVMb2FkZXI6OmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpT
Qzo6SlNHbG9iYWxPYmplYwogICAgIHJldHVybiBtZXRhUHJvcGVydGllczsKIH0KIAotdm9pZCBT
Y3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ciYgbG9hZGVyLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBwcm9taXNlKQordm9pZCBTY3JpcHRN
b2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKE1vZHVsZVNjcmlwdExvYWRlciYgbW9kdWxlU2Ny
aXB0TG9hZGVyLCBVUkwmJiBzb3VyY2VVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+IHByb21pc2Up
CiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBw
YXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKIAotICAgIFVSTCBzb3VyY2VV
UkwgPSBsb2FkZXIuc291cmNlVVJMKCk7Ci0gICAgaWYgKCFtX2xvYWRlcnMucmVtb3ZlKCZsb2Fk
ZXIpKQorICAgIGlmICghbV9sb2FkZXJzLnJlbW92ZSgmbW9kdWxlU2NyaXB0TG9hZGVyKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIGxvYWRlci5jbGVhckNsaWVudCgpOworICAgIG1vZHVsZVNjcmlw
dExvYWRlci5jbGVhckNsaWVudCgpOwogCi0gICAgYXV0byYgY2FjaGVkU2NyaXB0ID0gKmxvYWRl
ci5jYWNoZWRTY3JpcHQoKTsKKyAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1
bWVudCkgeworICAgICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiBjYWNoZWRT
Y3JpcHQgPSAqbG9hZGVyLmNhY2hlZFNjcmlwdCgpOwogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC5y
ZXNvdXJjZUVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkpIHsKLSAgICAgICAgcHJvbWlzZS0+cmVq
ZWN0KFR5cGVFcnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNjZXNzQ29u
dHJvbCgpKSB7CisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCAiQ3Jvc3Mt
b3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmlu
ZyBwb2xpY3kuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYg
KGNhY2hlZFNjcmlwdC5lcnJvck9jY3VycmVkKCkpIHsKLSAgICAgICAgcmVqZWN0VG9Qcm9wYWdh
dGVOZXR3b3JrRXJyb3IoKnByb21pc2UsIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9y
ZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgewor
ICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwg
TW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBz
Y3JpcHQgZmFpbGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAg
IGlmIChjYWNoZWRTY3JpcHQud2FzQ2FuY2VsZWQoKSkgewotICAgICAgICByZWplY3RUb1Byb3Bh
Z2F0ZU5ldHdvcmtFcnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2Fu
Y2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQud2FzQ2FuY2VsZWQo
KSkgeworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5n
ZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBt
b2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KIAotICAgIGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0
TUlNRVR5cGUoY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSkpIHsKLSAgICAgICAg
Ly8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1s
I2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKLSAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBl
eHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3Jp
bmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCi0gICAgICAgIC8v
IEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIGZldGNoaW5nIGEgY2xhc3NpYyBzY3JpcHQgZG9lcyBu
b3QgaW5jbHVkZSBNSU1FIHR5cGUgY2hlY2tpbmcuIEluIGNvbnRyYXN0LCBtb2R1bGUgc2NyaXB0
cyB3aWxsIGZhaWwgdG8gbG9hZCBpZiB0aGV5IGFyZSBub3Qgb2YgYSBjb3JyZWN0IE1JTUUgdHlw
ZS4KLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNh
Y2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFT
Y3JpcHQgTUlNRSB0eXBlLiIpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYg
KCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZShjYWNoZWRT
Y3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgeworICAgICAgICAgICAgLy8gaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2lu
Z2xlLW1vZHVsZS1zY3JpcHQKKyAgICAgICAgICAgIC8vIFRoZSByZXN1bHQgb2YgZXh0cmFjdGlu
ZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVhZGVyIGxpc3QgKGlnbm9yaW5nIHBhcmFt
ZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLgorICAgICAgICAgICAgLy8gRm9y
IGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBp
bmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdp
bGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgor
ICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNh
Y2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFT
Y3JpcHQgTUlNRSB0eXBlLiIpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0g
ICAgaWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7Ci0gICAgICAg
IGlmICghbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmlu
dGVncml0eSgpKSkgewotICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFr
ZVN0cmluZygiQ2Fubm90IGxvYWQgc2NyaXB0ICIsIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRp
b24oY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpKTsKKyAgICAgICAgaWYg
KGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7CisgICAgICAgICAgICBp
ZiAoIW1hdGNoSW50ZWdyaXR5TWV0YWRhdGEoY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRl
Z3JpdHkoKSkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBt
YWtlU3RyaW5nKCJDYW5ub3QgbG9hZCBzY3JpcHQgIiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlw
dGlvbihjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkpOworICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIFVSTCBy
ZXNwb25zZVVSTCA9IGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnVybCgpOworICAgICAgICAvLyBJ
ZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2Ug
VVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVy
bCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KKyAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRpcmVj
dGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMDQ5MAorICAgICAgICBpZiAoIWNhY2hlZFNjcmlwdC5oYXNSZWRpcmVjdGlvbnMoKSAm
JiBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5zb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpT
b3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJh
Z21lbnRJZGVudGlmaWVyKCkpCisgICAgICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21l
bnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7CisgICAgICAgIH0K
KworICAgICAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3Ry
aW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdp
dGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAg
ICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qu
dm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2Rl
IHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwg
bG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOworICAgICAgICB9KTsK
KyAgICB9IGVsc2UgeworICAgICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxXb3JrZXJN
b2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiB3
b3JrZXJTY3JpcHRMb2FkZXIgPSBsb2FkZXIuc2NyaXB0TG9hZGVyKCk7CisKKyAgICAgICAgaWYg
KHdvcmtlclNjcmlwdExvYWRlci5mYWlsZWQoKSkgeworICAgICAgICAgICAgaWYgKHdvcmtlclNj
cmlwdExvYWRlci5lcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5p
ZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod29ya2Vy
U2NyaXB0TG9hZGVyLmVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSkgeworICAgICAgICAgICAgICAg
IHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNo
RmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBj
YW5jZWxlZC4iX3MpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwg
TW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBz
Y3JpcHQgZmFpbGVkLiJfcyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICB9
CiAKLSAgICBVUkwgcmVzcG9uc2VVUkwgPSBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS51cmwoKTsK
LSAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRo
ZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVz
cG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlD
YWNoZS4KLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNrIGZyYWdtZW50cyB0aHJvdWdoIHJl
ZGlyZWN0aW9ucy4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU4NDIwCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMDQ5MAotICAgIGlmICghY2FjaGVkU2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpICYmIGNhY2hl
ZFNjcmlwdC5yZXNwb25zZSgpLnNvdXJjZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6
U2VydmljZVdvcmtlcikgewotICAgICAgICBpZiAoc291cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRp
ZmllcigpKQotICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNv
dXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVU
eXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKHdvcmtlclNjcmlwdExv
YWRlci5yZXNwb25zZU1JTUVUeXBlKCkpKSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUt
bW9kdWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEg
TUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVy
cykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlz
dG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1
ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBm
YWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAg
ICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgd29ya2Vy
U2NyaXB0TG9hZGVyLnJlc3BvbnNlTUlNRVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNj
cmlwdCBNSU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAg
ICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIFdU
Rk1vdmUocmVzcG9uc2VVUkwpKTsKLSAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsm
XSAoSlNET01HbG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBK
U0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0LnZtKCksCi0gICAgICAgICAg
ICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgJmNhY2hlZFNjcmlwdCwgSlND
OjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlwdEZldGNoZXIo
KSB9LmpzU291cmNlQ29kZSgpIH0pOwotICAgIH0pOworICAgICAgICBVUkwgcmVzcG9uc2VVUkwg
PSB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VVUkwoKTsKKworICAgICAgICBtX3JlcXVlc3RV
UkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIHJlc3BvbnNlVVJMKTsK
KyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2Jq
ZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VD
b2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNv
dXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgd29ya2VyU2NyaXB0TG9hZGVyLnNjcmlwdCgp
LCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlw
ZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7Cisg
ICAgICAgIH0pOworICAgIH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRNb2R1bGVMb2FkZXIuaAppbmRleCBkZTI5ZDJmNGJmMDk2YjYwYzM2OTk4MDMxNmMx
NDg2YjI4MmFiZjA5Li5kZjM0ZDU1MWExMWNkOThmNGUyMzZhMmFhMWY0ODI3OWQ5NjRjNjg1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaApA
QCAtMjUsOCArMjUsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlci5oIgotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIk1vZHVsZVNj
cmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgpAQCAtNDUsMTYgKzQ1LDE3IEBAIGNsYXNzIFNvdXJjZU9yaWdpbjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAotY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZp
bmFsIDogcHJpdmF0ZSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworY2xhc3MgU2Ny
aXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdE1vZHVsZUxvYWRlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRl
cihEb2N1bWVudCYpOworICAgIGVudW0gY2xhc3MgT3duZXJUeXBlIDogdWludDhfdCB7IERvY3Vt
ZW50LCBXb3JrZXJPcldvcmtsZXQgfTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE93bmVyVHlwZSk7CiAgICAgflNjcmlwdE1vZHVsZUxv
YWRlcigpOwogCi0gICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudDsg
fQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRl
eHQ7IH0KIAogICAgIEpTQzo6SWRlbnRpZmllciByZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNW
YWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwogICAg
IEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6
OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKQEAgLTYzLDEzICs2NCwxNSBA
QCBjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCB7CiAgICAgSlNDOjpKU09iamVjdCogY3JlYXRlSW1wb3J0TWV0YVBy
b3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6
OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwogCiBwcml2YXRl
OgotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVm
UHRyPERlZmVycmVkUHJvbWlzZT4pIGZpbmFsOworICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoTW9k
dWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSBmaW5hbDsKKwog
ICAgIFVSTCBtb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAg
ICAgVVJMIHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpT
Qzo6SlNWYWx1ZSk7CiAKLSAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFVSTD4gbV9yZXF1
ZXN0VVJMVG9SZXNwb25zZVVSTE1hcDsKLSAgICBIYXNoU2V0PFJlZjxDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXI+PiBtX2xvYWRlcnM7CisgICAgSGFzaFNldDxSZWY8TW9kdWxlU2NyaXB0TG9hZGVy
Pj4gbV9sb2FkZXJzOworICAgIE93bmVyVHlwZSBtX293bmVyVHlwZTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2ZmU3ZTc3ZThmOTllZTM5
MDMyNGQyNzM0MGM1NDRkYjJiZDRlOWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC0wLDAgKzEsODkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmgiCisKKyNpbmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCisj
aW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRl
ICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2lu
Y2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZGVy
T3B0aW9ucy5oIgorI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJTY3Jp
cHRNb2R1bGVMb2FkZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCisjaW5jbHVk
ZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlcj4gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUo
TW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlz
ZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNo
UGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdU
Rk1vdmUocGFyYW1ldGVycykpKTsKK30KKworV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERl
ZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hl
ciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorICAgIDogTW9k
dWxlU2NyaXB0TG9hZGVyKGNsaWVudCkKKyAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkKKyAgICAs
IG1fc2NyaXB0RmV0Y2hlcihzY3JpcHRGZXRjaGVyKQorICAgICwgbV9wYXJhbWV0ZXJzKFdURk1v
dmUocGFyYW1ldGVycykpCisgICAgLCBtX3NjcmlwdExvYWRlcihXb3JrZXJTY3JpcHRMb2FkZXI6
OmNyZWF0ZSgpKQoreworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6On5Xb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIoKQoreworICAgIG1fc2NyaXB0TG9hZGVyLT5jYW5jZWwoKTsKK30KKwor
Ym9vbCBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgVVJMJiYgc291cmNlVVJMKQoreworICAgIG1fc291cmNlVVJMID0gV1RGTW92
ZShzb3VyY2VVUkwpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgeyBtX3NvdXJjZVVS
TCB9OworCisgICAgRmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKKyAgICBmZXRjaE9wdGlvbnMu
bW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6Q29yczsKKyAgICBmZXRjaE9wdGlvbnMuY2FjaGUg
PSBGZXRjaE9wdGlvbnM6OkNhY2hlOjpEZWZhdWx0OworICAgIGZldGNoT3B0aW9ucy5yZWRpcmVj
dCA9IEZldGNoT3B0aW9uczo6UmVkaXJlY3Q6OkZvbGxvdzsKKyAgICAvLyBGSVhNRTogUHJvcGFn
YXRlIGNyZWRlbnRpYWxzLgorICAgIC8vIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHNjcmlw
dEZldGNoSm9iLmNyZWRlbnRpYWxzOworICAgIGF1dG8gY29udGVudFNlY3VyaXR5UG9saWN5RW5m
b3JjZW1lbnQgPSBjb250ZXh0LnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6
IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ2hpbGRTcmNEaXJlY3Rp
dmU7CisKKyAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdU
Rk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9s
aWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhpcyk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKK3ZvaWQgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5p
c2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisKKyAgICBhdXRvIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKTsKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50
LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJjZVVSTCksIG1fcHJvbWlzZS5y
ZWxlYXNlTm9uTnVsbCgpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGQ5NzdiZjFj
MDQyZDcwNTU5NzJkZWJjYjQ0MWY5ODFmOGIyMTFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgKQEAgLTAsMCAr
MSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTW9kdWxlU2Ny
aXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5j
bHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2Ns
YXNzIE1vZHVsZUZldGNoUGFyYW1ldGVyczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBXb3JrZXJTY3JpcHRMb2Fk
ZXI7CisKK2NsYXNzIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBNb2R1
bGVTY3JpcHRMb2FkZXIsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNo
ZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKworICAgIHZpcnR1YWwgfldv
cmtlck1vZHVsZVNjcmlwdExvYWRlcigpOworCisgICAgYm9vbCBsb2FkKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBVUkwmJiBzb3VyY2VVUkwpOworCisgICAgQ2FjaGVkU2NyaXB0RmV0Y2hlciYg
c2NyaXB0RmV0Y2hlcigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hlci5nZXQoKTsgfQorICAgIE1v
ZHVsZUZldGNoUGFyYW1ldGVycyogcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5n
ZXQoKTsgfQorICAgIFdvcmtlclNjcmlwdExvYWRlciYgc2NyaXB0TG9hZGVyKCkgeyByZXR1cm4g
bV9zY3JpcHRMb2FkZXIuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBXb3JrZXJNb2R1bGVTY3Jp
cHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2Fj
aGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOworCisg
ICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYpIGZpbmFsIHsgfQorICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoKSBmaW5hbDsKKwor
ICAgIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IG1fcHJvbWlzZTsKKyAgICBSZWY8Q2FjaGVkU2Ny
aXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVyOworICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFt
ZXRlcnM+IG1fcGFyYW1ldGVyczsKKyAgICBSZWY8V29ya2VyU2NyaXB0TG9hZGVyPiBtX3Njcmlw
dExvYWRlcjsKKyAgICBVUkwgbV9zb3VyY2VVUkw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBkY2QzYWExYzdjNTcyZTY4Mzk1Y2MwNWRh
OGM4M2ZmMjBiMjZiMDM4Li5hZDExNDk0ZWRlNDRkNDA4OTA1NzUzMjdiOTU2MDgyYTNmNTk1Nzk1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYxNSw3ICs2MTUsNyBAQCBEb2N1bWVudDo6
RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBTZXR0aW5ncyYgc2V0dGluZ3MsIGNvbnN0IFVS
TCYgdXJsLCBEb2N1bQogICAgICwgbV9kb2N1bWVudENyZWF0aW9uVGltZShNb25vdG9uaWNUaW1l
Ojpub3coKSkKICNlbmRpZgogICAgICwgbV9zY3JpcHRSdW5uZXIobWFrZVVuaXF1ZTxTY3JpcHRS
dW5uZXI+KCp0aGlzKSkKLSAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9k
dWxlTG9hZGVyPigqdGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlw
dE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpEb2N1
bWVudCkpCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgLCBtX2FwcGx5UGVuZGluZ1hTTFRyYW5zZm9y
bXNUaW1lcigqdGhpcywgJkRvY3VtZW50OjphcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zVGltZXJG
aXJlZCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9k
dWxlU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5j
cHAKaW5kZXggOWEyNWMxNjU4OGVlY2FkNjc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uNDhlYzA4
NTFhNDU3ZDliYTQ3NDczZmVjMjhkN2I0OTMxMmI3ODhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCkBAIC04OCwxNiArODgsNCBAQCB2b2lkIExvYWRh
YmxlTW9kdWxlU2NyaXB0OjpleGVjdXRlKFNjcmlwdEVsZW1lbnQmIHNjcmlwdEVsZW1lbnQpCiAg
ICAgc2NyaXB0RWxlbWVudC5leGVjdXRlTW9kdWxlU2NyaXB0KCp0aGlzKTsKIH0KIAotdm9pZCBM
b2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYg
cm9vdFVSTCkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAg
ICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgcm9vdFVSTC5zdHJp
bmcoKSwgbV9wYXJhbWV0ZXJzLmNvcHlSZWYoKSk7Ci19Ci0KLXZvaWQgTG9hZGFibGVNb2R1bGVT
Y3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBz
b3VyY2VDb2RlKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0g
ICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0aGlzLCBzb3VyY2VDb2Rl
KTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAppbmRl
eCBiYjc5OTU0ZDdiOTliMGVkMDZiZmU1NWVmODU0ZWNjZTIxZjM1ODc3Li5kMjUzNTk2M2Y2NDhi
MDJhOGEwMWZkNjNiYjFlMzgxMzg2Y2VlNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFi
bGVNb2R1bGVTY3JpcHQuaApAQCAtNTAsMTUgKzUwLDE0IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxl
U2NyaXB0IGZpbmFsIDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsKIAogICAgIHZvaWQgc2V0RXJy
b3IoRXJyb3ImJik7CiAKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHJvb3RV
UkwpOwotICAgIHZvaWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsK
LQogICAgIHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYpOwogICAg
IHZvaWQgbm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3ImJik7CiAgICAgdm9p
ZCBub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKIAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtb2R1
bGVLZXkoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQoKTsgfQogCisgICAgTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgp
OyB9CisKIHByaXZhdGU6CiAgICAgTG9hZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBu
b25jZSwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBTdHJp
bmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3Ry
aW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDA1NzU4YjYwMGM3NTIyYjQ3ZjM2NGJh
NmExOGQzNWYxNzMxMTA3ZjkuLjVlOTlmMGY1Nzc3YjNiMjE1OGRkMGZhNGJjMzgyNzc2Y2RiMzQ4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAK
ICNpbmNsdWRlICJMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJN
b2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5j
bHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHU2NyaXB0RWxl
bWVudC5oIgpAQCAtMzUxLDggKzM1MiwxMSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RN
b2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAg
ICAgICAgICAgc2NyaXB0Q2hhcnNldCgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmxvY2FsTmFt
ZSgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwot
ICAgICAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIG1vZHVsZVNjcmlwdFJv
b3RVUkwpOwogICAgICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAg
ICAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7Cisg
ICAgICAgICAgICBhdXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4o
Km1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpOworICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxv
YWRNb2R1bGVTY3JpcHQoc2NyaXB0LCBtb2R1bGVTY3JpcHRSb290VVJMLnN0cmluZygpLCBtYWtl
UmVmKHNjcmlwdC5wYXJhbWV0ZXJzKCkpKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKQEAgLTM2Nyw4ICszNzEsOSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVl
c3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQog
ICAgIGlmICghY29udGVudFNlY3VyaXR5UG9saWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVu
dC5kb2N1bWVudCgpLnVybCgpLnN0cmluZygpLCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29k
ZS5zb3VyY2UoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIGhhc0tub3duTm9uY2UpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50
KCksIHNvdXJjZUNvZGUpOwogICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7
CisgICAgaWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAg
ICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoZG93bmNhc3Q8TG9hZGFibGVN
b2R1bGVTY3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKSwgc291cmNlQ29kZSk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA2MmY5MTdh
MzY3ODE5ZGVjM2NkNDEwZDk3NjY5NWNlZTYyZjZkNGI5Li43YzIyNDlhM2EyYWY5NTE4MjNhZTc5
OTVlYzEzNzFhZGZiYjE0YWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC03MCw2
ICs3MCw4IEBAIGlubGluZSBXb3JrZXI6OldvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lCiAgICAgLCBtX2lkZW50aWZpZXIoIndv
cmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIo
KSkKICAgICAsIG1fY29udGV4dFByb3h5KFdvcmtlckdsb2JhbFNjb3BlUHJveHk6OmNyZWF0ZSgq
dGhpcykpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxhZ3MpCisgICAgLCBtX3R5cGUo
b3B0aW9ucy50eXBlKQorICAgICwgbV9jcmVkZW50aWFscyhvcHRpb25zLmNyZWRlbnRpYWxzKQog
ewogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVy
KSB7CkBAIC0xMTMsMTAgKzExNSwxMyBAQCBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gV29ya2Vy
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdQogCiAgICAg
RmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKICAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNo
T3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsKKyAgICBpZiAod29ya2VyLT5tX3R5cGUgPT0gV29y
a2VyVHlwZTo6TW9kdWxlKQorICAgICAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSB3b3Jr
ZXItPm1fY3JlZGVudGlhbHM7CiAgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25z
OjpDYWNoZTo6RGVmYXVsdDsKICAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlv
bnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyOwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2Fk
ZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3Zl
KGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNl
V29ya2Vyc01vZGU6OkFsbCwgd29ya2VyKTsKKyAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5s
b2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRj
aE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtl
cnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSk7CisKICAgICByZXR1cm4gd29ya2VyOwogfQogCkBA
IC0yMTUsNyArMjIwLDcgQEAgdm9pZCBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBSZWZl
cnJlclBvbGljeSByZWZlcnJlclBvbGljeSA9IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsK
ICAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVy
LT5yZWZlcnJlclBvbGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCiAg
ICAgICAgIHJlZmVycmVyUG9saWN5ID0gKnBvbGljeTsKLSAgICBtX2NvbnRleHRQcm94eS5zdGFy
dFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250ZXh0
LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9h
ZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3No
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlv
blRpbWUsIHJlZmVycmVyUG9saWN5LCBtX3J1bnRpbWVGbGFncyk7CisgICAgbV9jb250ZXh0UHJv
eHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwg
Y29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3Nj
cmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2Vy
Q3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV90eXBlLCBtX2NyZWRlbnRpYWxzLCBtX3J1
bnRpbWVGbGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRl
ZCgqY29udGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXIt
PnNjcmlwdCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggNTNmNWU2ZmZmMjdj
OWZhM2U1YzBlMDFmMGY2YzQyYzZjYjZmOWQwZS4uMzhhNjIzYTk4ZGJhMzVmZjgwMTNjZDZmYzhj
ODVjODEwMjA1MDIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC0yOSw5ICsyOSwxMSBA
QAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5j
bHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5o
IgogI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlw
dExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgpAQCAtNTUsNiArNTcsOCBAQCBjbGFzcyBXb3Jr
ZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3Qs
IHByaXZhdGUgV29yawogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV29ya2VyKTsKIHB1Ymxp
YzoKICAgICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAgICAgIFdvcmtlclR5cGUgdHlwZTsKKyAgICAg
ICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgICAgIFN0cmluZyBu
YW1lOwogICAgIH07CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgT3B0aW9ucyYpOwpAQCAtNzksNiArODMsOCBAQCBjbGFzcyBXb3JrZXIgZmlu
YWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZh
dGUgV29yawogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZv
aWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKICNlbmRpZgogCisgICAgV29ya2VyVHlw
ZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGlj
aXQgV29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29u
c3QgT3B0aW9ucyYpOwogCkBAIC0xMTIsNiArMTE4LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDog
cHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdv
cmsKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1l
cnM7CiAjZW5kaWYKKyAgICBXb3JrZXJUeXBlIG1fdHlwZSB7IFdvcmtlclR5cGU6OkNsYXNzaWMg
fTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzIHsgRmV0Y2hSZXF1
ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4gfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCA0NWQ2YTA4Njc4NTRlZTQwNGRlN2U3
ZDAxMjQ4Y2ViZjQ0ZGNhN2VkLi43MDIxNzk2ZGY1MDRhZGY4ZTZiOTU4OWFjZTlmMTQ0ODIxZjI5
NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0zOCw2ICszOCw4IEBACiB9Owog
CiBkaWN0aW9uYXJ5IFdvcmtlck9wdGlvbnMgeworICAgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFz
c2ljIjsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscyA9ICJzYW1lLW9y
aWdpbiI7IC8vIGNyZWRlbnRpYWxzIGlzIG9ubHkgdXNlZCBpZiB0eXBlIGlzICJtb2R1bGUiCiAg
ICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaAppbmRleCA0NmQ0OWQ5NGM1MjM4ZTQ2ODhkMzk1ZDg3YzIwNjNlYjU3
MjBkMWJmLi4zODQxYTc4MWQ4NWQxNjBkNDAzNmNmMDBiN2QwZTM5ZTAwZWExYWRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC0xNjMsOCArMTYzLDYg
QEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2Vy
R2xvYmFsU2NvcGU+LCBwdWJsaWMgQmFzZTYKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJMb2Nh
dGlvbj4gbV9sb2NhdGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJOYXZpZ2F0b3I+IG1f
bmF2aWdhdG9yOwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck9yV29ya2xldFNjcmlwdENv
bnRyb2xsZXI+IG1fc2NyaXB0OwotCiAgICAgYm9vbCBtX2lzT25saW5lOwogICAgIGJvb2wgbV9z
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNDAwMDNjM2Uw
MTA5OTk2MGY2NDc4NjFlNzAxNjg3ZDBlMzcxZDcyZC4uN2I5MWQ3NTNkMWM5ZDcyOWFlNTA4NjU0
YzJlODVmNzY3OTFlMDA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZVByb3h5LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2Nv
cGVQcm94eSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNy
ZWF0ZShXb3JrZXImKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3Bl
KGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBT
dHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtl
clR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVG
bGFncykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1l
c3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tU
b1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYp
PiYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuY3BwCmluZGV4IDE5ZDRiZTY0OTkyZjMwZDNjY2U3NjU0N2EzZDIyMThhOThjODQyYzMuLjc4
ODM1ODdhN2FmNjIwOWUzZWNjOGU3YjQxYmFkNDdhZGY2MjI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC03Myw3ICs3Myw3IEBA
IFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8
fCAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRv
d25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJl
YWQoKS50aHJlYWQoKSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09u
bGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVu
dGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJl
ZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNo
UmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1l
RmxhZ3MpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3
ZSBzdXBwb3J0IG5lc3RlZCB3b3JrZXIgb25lIGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpOwpAQCAtODksNyArODksNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5
OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAog
CiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJv
dmlkZXIoKTsKIAotICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5h
bWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMo
KSB9OworICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlk
ZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0
aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3Vt
ZW50LnNldHRpbmdzVmFsdWVzKCkgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtl
clRocmVhZDo6Y3JlYXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywg
c3RhcnRNb2RlLCBkb2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBy
dW50aW1lRmxhZ3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGM1
YjU3NWI5ZTYxNWIzZjNmNTk2YmZjM2RmNjgzYzg3N2NjNjJiYWIuLjJlMjMxNjlmMDc5M2YwZGNm
ODA4YTliY2ZiNThlNmM5MDhjNmNjOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgV29ya2VyTWVzc2Fn
aW5nUHJveHkgZmluYWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V29ya2VyTWVzc2Fn
aW5nUHIKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNj
b3BlUHJveHkuCiAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2Vy
IG9iamVjdCB0aHJlYWQuKQotICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBV
UkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJl
clBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VD
b2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJl
cXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOwog
ICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBv
c3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSBm
aW5hbDsKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lk
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IDIzODRh
NWE4YzdkMmEzMDJlZWU1Y2I0MDVlMTA1ZTAyNWM5ODQzY2MuLmY0ZjRiMjc0NjZmOWEzMGIyOGI4
YjIxZjZmMmJlZjhiZGU5Mzg1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIK
IAorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1ZGUgIldvcmtlckV2ZW50
TG9vcC5oIgogI2luY2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCkBAIC0zOSw2ICs0MCw3IEBAIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSk7CiAK
IFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShX
b3JrZXJUaHJlYWRUeXBlIHR5cGUsIFJlZjxKU0M6OlZNPiYmIHZtLCBXb3JrZXJPcldvcmtsZXRU
aHJlYWQqIHRocmVhZCkKICAgICA6IG1fc2NyaXB0KG1ha2VVbmlxdWU8V29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlcj4odHlwZSwgV1RGTW92ZSh2bSksIHRoaXMpKQorICAgICwgbV9tb2R1
bGVMb2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRNb2R1
bGVMb2FkZXI6Ok93bmVyVHlwZTo6V29ya2VyT3JXb3JrbGV0KSkKICAgICAsIG1fdGhyZWFkKHRo
cmVhZCkKICAgICAsIG1faW5zcGVjdG9yQ29udHJvbGxlcihtYWtlVW5pcXVlPFdvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXI+KCp0aGlzKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCA2YzI0NGEwYzQyN2VlMWM4YzY1
ZmRjYzc2NTk1MmY4NzdmZDliMTZiLi41NDRmMDQ3YWVjMjc4MzI3NDRkMGE4YTcwYWY3ZTkzOWMz
MzA5OTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRHbG9iYWxTY29wZS5oCkBAIC0zMiw2ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEV2ZW50TG9vcFRhc2tHcm91cDsKK2NsYXNzIFNjcmlwdE1vZHVsZUxvYWRlcjsKIGNs
YXNzIFdvcmtlckV2ZW50TG9vcDsKIGNsYXNzIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI7CiBj
bGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOwpAQCAtNTQsNiArNTUsOCBAQCBj
bGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBwdWJsaWMgUmVmQ291bgogCiAgICAgdW5zaWduZWQgbG9uZyBjcmVhdGVVbmlxdWVJ
ZGVudGlmaWVyKCkgeyByZXR1cm4gbV91bmlxdWVJZGVudGlmaWVyKys7IH0KIAorICAgIFNjcmlw
dE1vZHVsZUxvYWRlciYgbW9kdWxlTG9hZGVyKCkgeyByZXR1cm4gKm1fbW9kdWxlTG9hZGVyOyB9
CisKICAgICAvLyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LgogICAgIEV2ZW50TG9vcFRhc2tHcm91
cCYgZXZlbnRMb29wKCkgZmluYWw7CiAgICAgYm9vbCBpc0NvbnRleHRUaHJlYWQoKSBjb25zdCBm
aW5hbDsKQEAgLTg4LDYgKzkxLDcgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUg
OiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KICAgICB2b2lk
IGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8U2NyaXB0TW9kdWxlTG9hZGVyPiBtX21vZHVsZUxvYWRlcjsKICAgICBXb3Jr
ZXJPcldvcmtsZXRUaHJlYWQqIG1fdGhyZWFkOwogICAgIFJlZlB0cjxXb3JrZXJFdmVudExvb3A+
IG1fZXZlbnRMb29wOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudExvb3BUYXNrR3JvdXA+IG1f
ZGVmYXVsdFRhc2tHcm91cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGNkNGVjMjQ2ODI1MjVh
YWJjNjQyZDg3N2EwZGEwMTFlYmRlMTE0MzEuLmMxMjZkNWM5MTE3MzdjMDhlYmEwNWYwZDBkMmYz
YmZjNTUyM2M4ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JX
b3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzUsNiArMzUsOSBAQAogI2lu
Y2x1ZGUgIkpTRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiSlNQYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5oIgogI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgiCisjaW5jbHVkZSAi
TG9hZGFibGVNb2R1bGVTY3JpcHQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaEZhaWx1cmVLaW5k
LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiU2NyaXB0
U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKICNpbmNsdWRl
ICJXb3JrZXJDb25zb2xlQ2xpZW50LmgiCkBAIC00Myw3ICs0NiwxMiBAQAogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0V4Y2VwdGlvbi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0V4Y2Vw
dGlvbkhlbHBlcnMuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HQ0FjdGl2aXR5Q2FsbGJh
Y2suaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTG9jay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTTW9kdWxlUmVjb3JkLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNOYXRpdmVTdGRG
dW5jdGlvbi5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hQYXJhbWV0
ZXJzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRjaGVyLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC0yMjgsNyArMjM2LDEzNSBAQCB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZAogICAgIH0K
IH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5hbWUg
SlNHbG9iYWxTY29wZSwgdHlwZW5hbWUgR2xvYmFsU2NvcGU+CitzdGF0aWMgSWRlbnRpZmllciBq
c1ZhbHVlVG9Nb2R1bGVLZXkoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VmFsdWUgdmFsdWUpCit7CisgICAgaWYgKHZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVy
biBJZGVudGlmaWVyOjpmcm9tVWlkKGpzQ2FzdDxTeW1ib2wqPih2YWx1ZSktPnByaXZhdGVOYW1l
KCkpOworICAgIEFTU0VSVCh2YWx1ZS5pc1N0cmluZygpKTsKKyAgICByZXR1cm4gYXNTdHJpbmco
dmFsdWUpLT50b0lkZW50aWZpZXIobGV4aWNhbEdsb2JhbE9iamVjdCk7Cit9CisKK0pTQzo6SlNW
YWx1ZSBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZU1vZHVsZShKU0M6
OkpTTW9kdWxlUmVjb3JkJiBtb2R1bGVSZWNvcmQpCit7CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0
ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVj
dC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICByZXR1cm4gbW9kdWxl
UmVjb3JkLmV2YWx1YXRlKCZnbG9iYWxPYmplY3QpOworfQorCitNZXNzYWdlUXVldWVXYWl0UmVz
dWx0IFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91
c2x5KExvYWRhYmxlTW9kdWxlU2NyaXB0JiBtb2R1bGVTY3JpcHQsIGNvbnN0IFNjcmlwdFNvdXJj
ZUNvZGUmIHNvdXJjZUNvZGUpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisg
ICAgICAgIHJldHVybiBNZXNzYWdlUXVldWVUZXJtaW5hdGVkOworCisgICAgaW5pdFNjcmlwdElm
TmVlZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBw
ZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9s
ZGVyIGxvY2sgeyB2bSB9OworCisgICAgUmVmUHRyPExvYWRhYmxlTW9kdWxlU2NyaXB0PiBtb2R1
bGVTY3JpcHRSZWY7CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3RhdGU6
OmxvYWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgpLCBKU0M6
OkpTU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCB7ICZtb2R1bGVTY3JpcHQgfSkpOworCisgICAg
ICAgIG1vZHVsZVNjcmlwdFJlZiA9ICZtb2R1bGVTY3JpcHQ7CisKKyAgICAgICAgYXV0byYgZnVs
ZmlsbEhhbmRsZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2Jq
ZWN0LCAxLCBTdHJpbmcoKSwgW21vZHVsZVNjcmlwdFJlZl0oSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIC0+IEpTQzo6RW5jb2RlZEpTVmFsdWUgewor
ICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgICAgICAgICAgSWRlbnRpZmll
ciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUt
PmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsg
fSk7CisgICAgICAgICAgICBtb2R1bGVTY3JpcHRSZWYtPm5vdGlmeUxvYWRDb21wbGV0ZWQoKm1v
ZHVsZUtleS5pbXBsKCkpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFuZGxlciA9
ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmlu
ZygpLCBbbW9kdWxlU2NyaXB0UmVmXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOworICAgICAgICAgICAgSlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1bWVu
dCgwKTsKKyAgICAgICAgICAgIGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAgICAg
ICAgICAgICBhdXRvKiBvYmplY3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAg
ICAgICAgICAgIGlmIChKU1ZhbHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdldERpcmVj
dCh2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRp
bk5hbWVzKCkuZmFpbHVyZUtpbmRQcml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgICAgICAg
ICAvLyBUaGlzIGlzIGhvc3QgcHJvcGFnYXRlZCBlcnJvciBpbiB0aGUgbW9kdWxlIGxvYWRlciBw
aXBlbGluZS4KKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kPihmYWlsdXJlS2luZFZhbHVlLmFzSW50MzIoKSkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAg
ICAgICAgICAgICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExv
YWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGFi
bGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdURjo6bnVsbG9wdAorICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIG1v
ZHVsZVNjcmlwdFJlZi0+bm90aWZ5TG9hZFdhc0NhbmNlbGVkKCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FU
Q0hfU0NPUEUodm0pOworICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFp
bGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgTG9hZGFibGVTY3Jp
cHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgIExvYWRhYmxlU2Ny
aXB0OjpDb25zb2xlTWVzc2FnZSB7CisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VTb3VyY2U6
OkpTLAorICAgICAgICAgICAgICAgICAgICBNZXNzYWdlTGV2ZWw6OkVycm9yLAorICAgICAgICAg
ICAgICAgICAgICByZXRyaWV2ZUVycm9yTWVzc2FnZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JW
YWx1ZSwgc2NvcGUpLAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7
CisKKyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxPYmplY3QsICZmdWxmaWxsSGFuZGxlciwg
JnJlamVjdEhhbmRsZXIpOworICAgIH0KKyAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5w
ZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworCisgICAgLy8gRHJpdmUgUnVuTG9vcCB1bnRp
bCB3ZSBnZXQgZWl0aGVyIG9mICJXb3JrZXIgaXMgdGVybWluYXRlZCIsICJMb2FkaW5nIGlzIGRv
bmUiLCBvciAiTG9hZGluZyBpcyBmYWlsZWQiLgorICAgIFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3Ag
PSBtX2dsb2JhbFNjb3BlLT53b3JrZXJPcldvcmtsZXRUaHJlYWQoKS0+cnVuTG9vcCgpOworCisg
ICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVj
ZWl2ZWQ7CisgICAgd2hpbGUgKCghbW9kdWxlU2NyaXB0UmVmLT5pc0xvYWRlZCgpICYmICFtb2R1
bGVTY3JpcHRSZWYtPndhc0NhbmNlbGVkKCkpICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJt
aW5hdGVkKQorICAgICAgICByZXN1bHQgPSBydW5Mb29wLnJ1bkluTW9kZShtX2dsb2JhbFNjb3Bl
LCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKworICAgIC8vIEZJWE1FOiBDdXJyZW50
bHkgd2UgYXJlIG5vdCBvZmZlcmluZyBjYW5jZWxsaW5nLgorICAgIC8vIGlmICghbG9hZGVyLT5k
b25lKCkgJiYgcmVzdWx0ID09IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpCisgICAgLy8gICAgIGxv
YWRlci0+Y2FuY2VsKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFdvcmtlck9y
V29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShMb2FkYWJsZU1v
ZHVsZVNjcmlwdCYgbW9kdWxlU2NyaXB0LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VD
b2RlLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSkKK3sKKyAgICBpZiAoaXNFeGVj
dXRpb25Gb3JiaWRkZW4oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdFNjcmlwdElmTmVl
ZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIu
Z2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVy
IGxvY2sgeyB2bSB9OworCisgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhj
ZXB0aW9uOworICAgIEpTRXhlY1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoZ2xvYmFsT2Jq
ZWN0LCBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCBtb2R1bGVTY3JpcHQubW9kdWxlS2V5KCkpLCBq
c1VuZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgaWYgKChyZXR1cm5lZEV4Y2Vw
dGlvbiAmJiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0
aW9uKSkgfHwgaXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgIGZvcmJpZEV4ZWN1
dGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJldHVybmVkRXhjZXB0
aW9uKSB7CisgICAgICAgIGlmIChtX2dsb2JhbFNjb3BlLT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxz
KHNvdXJjZUNvZGUuY2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJsKCkuc3RyaW5nKCkpKSB7
CisgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4g
YXJiaXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4K
KyAgICAgICAgICAgIC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQg
cHJvcGVybHksIGlmIGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAg
ICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVy
bmVkRXhjZXB0aW9uTWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3Ry
aW5nKCZnbG9iYWxPYmplY3QpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gT3Zl
cndyaXRlIHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAgICAgICAg
ICAgIFN0cmluZyBnZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNjcmlwdCBlcnJvci4iX3MgfTsKKyAg
ICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAg
KnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNFcnJvck1lc3NhZ2U7CisgICAgICAg
ICAgICByZXR1cm5lZEV4Y2VwdGlvbiA9IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGNyZWF0
ZUVycm9yKCZnbG9iYWxPYmplY3QsIGdlbmVyaWNFcnJvck1lc3NhZ2UpKTsKKyAgICAgICAgfQor
ICAgIH0KK30KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEpTR2xvYmFsU2NvcGVQcm90b3R5cGUs
IHR5cGVuYW1lIEpTR2xvYmFsU2NvcGUsIHR5cGVuYW1lIEdsb2JhbFNjb3BlPgogdm9pZCBXb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjppbml0U2NyaXB0V2l0aFN1YmNsYXNzKCkKIHsK
ICAgICBBU1NFUlQoIW1fZ2xvYmFsU2NvcGVXcmFwcGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKaW5kZXgg
YzQ5MzAxYWVkM2RkMDg5ZGE3OTczMjc2MGNhZjJmN2I2NGRiMTFiNi4uZmE1YWQ1ZDBjMjcwYmMx
NjUzMDUyZjEyMDE4Yzk3YWRjNTk2MGMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKQEAgLTMxLDYgKzMx
LDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1J1bkxvb3BUaW1lci5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KKyNpbmNsdWRlIDx3dGYv
TWVzc2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL05ha2VkUHRyLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewpAQCAtNDQsNiArNDUsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBMb2FkYWJsZU1vZHVs
ZVNjcmlwdDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiBjbGFzcyBXb3JrZXJDb25zb2xlQ2xp
ZW50OwogY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU7CkBAIC05NCw2ICs5NiwxMSBA
QCBjbGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyIHsKICAgICB2b2lkIGV2YWx1
YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVz
c2FnZSA9IG51bGxwdHIpOwogICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29k
ZSYsIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiYgcmV0dXJuZWRFeGNlcHRpb24sIFN0cmluZyog
cmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAKKyAgICBKU0M6OkpTVmFsdWUg
ZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYpOworCisgICAgdm9pZCBsaW5rQW5k
RXZhbHVhdGVNb2R1bGUoTG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VD
b2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxw
dHIpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3VzbHko
TG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7CisKIHByb3Rl
Y3RlZDoKICAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSogZ2xvYmFsU2NvcGUoKSBjb25z
dCB7IHJldHVybiBtX2dsb2JhbFNjb3BlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMyMjYxOWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1Nzgz
Li4zZTk2OGI1NmJhNjFjNjJjNGJjYjQxMTVlZGFmYjA1NDc4NjRjZGIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0yOCwxMCArMjgsMTIgQEAKICNpbmNsdWRl
ICJXb3JrZXJUaHJlYWQuaCIKIAogI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Qcm94eS5oIgorI2lu
Y2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29k
ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU29ja2V0UHJvdmlk
ZXIuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTUsNiArNTcsOCBAQCBXb3JrZXJQYXJhbWV0ZXJzIFdv
cmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgICAgIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgdGltZU9yaWdpbiwKICAg
ICAgICAgcmVmZXJyZXJQb2xpY3ksCisgICAgICAgIHdvcmtlclR5cGUsCisgICAgICAgIGNyZWRl
bnRpYWxzLAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKQogICAgIH07CiB9
CkBAIC0xMjMsOSArMTI3LDMzIEBAIGJvb2wgV29ya2VyVGhyZWFkOjpzaG91bGRXYWl0Rm9yV2Vi
SW5zcGVjdG9yT25TdGFydHVwKCkgY29uc3QKIAogdm9pZCBXb3JrZXJUaHJlYWQ6OmV2YWx1YXRl
U2NyaXB0SWZOZWNlc3NhcnkoU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKQogewotICAgIGdsb2Jh
bFNjb3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERh
dGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZl
eGNlcHRpb25NZXNzYWdlKTsKLQotICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAg
IC8vIFdlIGFyZSBjdXJyZW50bHkgaG9sZGluZyBvbmx5IHRoZSBpbml0aWFsIHNjcmlwdCBjb2Rl
LiBJZiB0aGUgV29ya2VyVHlwZSBpcyBNb2R1bGUsIHdlIHNob3VsZCBmZXRjaCB0aGUgZW50aXJl
IGdyYXBoIGJlZm9yZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2YgdGhpcy4KKyAgICAvLyBXZSBpbnZv
a2UgbW9kdWxlIGxvYWRlciBhcyBpZiB3ZSBhcmUgZXhlY3V0aW5nIGlubGluZSBtb2R1bGUgc2Ny
aXB0IHRhZyBpbiBEb2N1bWVudC4KKworICAgIGlmIChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMud29y
a2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpDbGFzc2ljKSB7CisgICAgICAgIGdsb2JhbFNjb3BlKCkt
PnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJj
ZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25N
ZXNzYWdlKTsKKyAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgLy8gRklYTUUgY3Jvc3NPcmlnaW4gbW9kZSBzaG91bGQgYmUgY29udmVydGVk
LgorICAgICAgICAvLyBGSVhNRSBmaXggaW5pdGlhdG9yIG5hbWUuCisgICAgICAgIC8vIEZJWE1F
IHBhc3MgVVJMIHRvIG1vZHVsZSBsb2FkZXIuCisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgc291
cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFy
YW1zLnNjcmlwdFVSTCksIHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVs
ZSk7CisgICAgICAgIGF1dG8gbW9kdWxlU2NyaXB0ID0gTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmNy
ZWF0ZShlbXB0eVN0cmluZygpLCBlbXB0eVN0cmluZygpLCBtX3N0YXJ0dXBEYXRhLT5wYXJhbXMu
cmVmZXJyZXJQb2xpY3ksIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyOjpkZWZhdWx0
Q3Jvc3NPcmlnaW5Nb2RlRm9yTW9kdWxlLCBlbXB0eVN0cmluZygpLCBlbXB0eUF0b20oKSwgZmFs
c2UpOworICAgICAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IGdsb2JhbFNjb3Bl
KCktPnNjcmlwdCgpLT5sb2FkTW9kdWxlU3luY2hyb25vdXNseShtb2R1bGVTY3JpcHQuZ2V0KCks
IHNvdXJjZUNvZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0
ZWQpIHsKKyAgICAgICAgICAgIGlmIChPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6RXJyb3I+IGVy
cm9yID0gbW9kdWxlU2NyaXB0LT5lcnJvcigpKSB7CisgICAgICAgICAgICAgICAgaWYgKE9wdGlv
bmFsPExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZT4gbWVzc2FnZSA9IGVycm9yLT5jb25z
b2xlTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IG1lc3Nh
Z2UtPm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBl
eGNlcHRpb25NZXNzYWdlID0gIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfczsK
KyAgICAgICAgICAgICAgICBnbG9iYWxTY29wZSgpLT5yZXBvcnRFeGNlcHRpb24oZXhjZXB0aW9u
TWVzc2FnZSwgeyB9LCB7IH0sIHsgfSwgeyB9LCB7IH0pOworICAgICAgICAgICAgfSBlbHNlIGlm
ICghbW9kdWxlU2NyaXB0LT53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gRXZh
bHVhdGUuCisgICAgICAgICAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmxpbmtBbmRF
dmFsdWF0ZU1vZHVsZShtb2R1bGVTY3JpcHQuZ2V0KCksIHNvdXJjZUNvZGUsICZleGNlcHRpb25N
ZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIAogICAgIC8vIEZyZWUgdGhlIHN0YXJ0dXAg
ZGF0YSB0byBjYXVzZSBpdHMgbWVtYmVyIHZhcmlhYmxlIGRlcmVmJ3MgaGFwcGVuIG9uIHRoZSB3
b3JrZXIncyB0aHJlYWQgKHNpbmNlCiAgICAgLy8gYWxsIHJlZi9kZXJlZnMgb2YgdGhlc2Ugb2Jq
ZWN0cyBhcmUgaGFwcGVuaW5nIG9uIHRoZSB0aHJlYWQgYXQgdGhpcyBwb2ludCkuIE5vdGUgdGhh
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggODg5MDc5MDhlN2E5Yjgw
OWU4ZjJhNGU0NzNkNzUyZDExZDI5MzdjMC4uOTUxMmVmZGIxOGYzMmE1MGVjYjdmYjU2OTU5ZDYx
ZTg4NzJmYTFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0yNiw3
ICsyNiwxMCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5o
IgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFRocmVhZC5oIgorI2luY2x1ZGUgIldvcmtlclJ1
bkxvb3AuaCIKKyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9VUkwu
aD4KQEAgLTYzLDYgKzY2LDggQEAgc3RydWN0IFdvcmtlclBhcmFtZXRlcnMgewogICAgIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogICAgIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbjsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeTsKKyAg
ICBXb3JrZXJUeXBlIHdvcmtlclR5cGU7CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3Jl
ZGVudGlhbHM7CiAgICAgU2V0dGluZ3M6OlZhbHVlcyBzZXR0aW5nc1ZhbHVlczsKIAogICAgIFdv
cmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJl
YWQuY3BwCmluZGV4IGM4YTdhOTk3MmY5Y2M4YzE2YTc5Njc1MTE1NTJmNTQ5M2E2ODZmOTguLjMz
Y2EwZWMyM2I1OGE1NTExODc2ODQ2YmEwNzE4MzUzMmI1YzQ3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJUaHJlYWQuY3BwCkBAIC03Myw4ICs3Myw5IEBAIGNsYXNzIER1bW15U2VydmljZVdvcmtlclRo
cmVhZFByb3h5IDogcHVibGljIFdvcmtlck9iamVjdFByb3h5IHsKIC8vIEZJWE1FOiBVc2UgYSB2
YWxpZCBXb3JrZXJPYmplY3RQcm94eQogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZsYWdz
CiAKKy8vIEZJWE1FOiBVc2UgYSB2YWxpZCBXb3JrZXJUeXBlIGFuZCBDcmVkZW50YWlscyBmb3Ig
bW9kdWxlIHNlcnZpY2Ugd29ya2Vycy4KIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3Jr
ZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1
c2VyQWdlbnQsIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzLCBXb3JrZXJM
b2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2VyUHJv
eHksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHksIFNv
Y2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEu
c2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJ
ZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQp
LCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0
YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9
LCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJv
eHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1
cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBK
U0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQorICAgIDogV29ya2VyVGhyZWFk
KHsgZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNw
ZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVz
ZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGlu
ZSgpLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6Om5v
dygpLCB7IH0sIFdvcmtlclR5cGU6OkNsYXNzaWMsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpT
YW1lT3JpZ2luLCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRl
YnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29y
a2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmln
aW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFBy
b3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAgICwgbV9k
YXRhKGRhdGEuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KER1bW15
U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAsIG1faGVhcnRCZWF0VGlt
ZW91dChTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCktPnNob3VsZFVz
ZVNob3J0VGltZW91dCgpID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3QgOiBoZWFydEJlYXRUaW1l
b3V0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMjNkZTc2YzJjYWVjY2I3NzIz
MGU0ODRmN2ZhZTg4MGM2YTU2NzRlNy4uMGE0MjM4NzM3YzliZTFjYjQ0ZjNkYzExMDUwZDRhODU3
NGMwYjAyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMjEtMDItMTAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAg
ICBKUyBNb2R1bGVzIGluIFdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2NDg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRlbnRhdGl2
ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3Mv
Y2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFz
ZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUv
ZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtl
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRl
ci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAyLTA2ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTm9u
LXNwZWNpYWwgVVJMcyBzaG91bGQgaGF2ZSBhbiBvcGFxdWUgb3JpZ2luCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRl
bnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDQ5MjY5YjNiNTBiOTE3NWNiNjJlY2EzMTJlNTg2YjNiMTY2MmEyNTku
LjJjYWU1ZjdlMzVhMzJmZWNlYjI2OGYyOTAwMDBlNGU1NTU2YzY4NjAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVu
dGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCi1GQUlMIE5vbi1vYmplY3Q6IG51bGwgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6
IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9udWxsLmpzb24nLiIKLUZBSUwgTm9uLW9i
amVjdDogdHJ1ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL3RydWUuanNvbicu
IgotRkFJTCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxl
ICcuL2ZhbHNlLmpzb24nLiIKLUZBSUwgTm9uLW9iamVjdDogc3RyaW5nIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3Qg
aW1wb3J0IHRoZSBtb2R1bGUgJy4vc3RyaW5nLmpzb24nLiIKLUZBSUwgTm9uLW9iamVjdDogYXJy
YXkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
RXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9hcnJheS5qc29uJy4iCitGQUlM
IE5vbi1vYmplY3Q6IG51bGwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFs
aWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiB0cnVlIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
J2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIK
K0ZBSUwgTm9uLW9iamVjdDogZmFsc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90
IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBzdHJpbmcg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1F
IHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBhcnJheSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29u
JyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRl
ci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29y
a2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1
ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLmUzZTk3N2IzZDRjNWE0ZjQ1ZTZkMDhj
ZDMyODQ2MjNkNTdmNzE2NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVy
cm9yLW1vZHVsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVs
ZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJy
b3ItbW9kdWxlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDYgQEAKIAogSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAKK0ZBSUwgUHJvbWlzZSByZXNvbHZlZCBkdXJpbmcg
I3JlcG9ydC10aGUtZXJyb3IgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4
cGVjdGVkIGFycmF5IFsiaGFuZGxlciAxIiwgImhhbmRsZXIgMiIsICJoYW5kbGVyIDEgcHJvbWlz
ZSIsICJoYW5kbGVyIDIgcHJvbWlzZSJdIGxlbmd0aCA0LCBnb3QgW10gbGVuZ3RoIDAKK05PVFJV
TiBQcm9taXNlIHJlc29sdmVkIGR1cmluZyBldmVudCBoYW5kbGVycyBvdGhlciB0aGFuIGVycm9y
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9k
eW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBo
YS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dAppbmRleCA4NjZlYmIyMjdhZDI2YWFj
ZTFhNTc4YmFlYTZhODFkYzBlNmU3N2YwLi5iOTRkZWE2ZTNhMWQwZGQ3NDdmNjZiOTlkOWRiODU0
ODdkZGJhMmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9t
b2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMt
aW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCi1GQUlMIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gd29ya2VyIHRvcC1sZXZlbCBzY3Jp
cHQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
RXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9pbXBvcnQuanM/cGlwZT1oZWFk
ZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPXJlbGF0aXZlLXdvcmtlciB0
b3AtbGV2ZWwgc2NyaXB0Jy4iCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZyb20gd29ya2VyIHRv
cC1sZXZlbCBzY3JpcHQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnaHR0cDovLzEy
Ny4wLjAuMTo4ODAwL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvZ2FtbWEvaW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vz
cy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1hYnNvbHV0ZS13b3JrZXIgdG9wLWxldmVs
IHNjcmlwdCcuIgorRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwg
c2NyaXB0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYS9pbXBvcnQuanMiIGJ1dCBnb3Qg
ImJldGEvaW1wb3J0LmpzIgorUEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3At
bGV2ZWwgc2NyaXB0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3Jk
ZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5
NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQyZmFkMjI0ZTNhMThhNmZiNWQ4NDgzMjVl
YTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXIt
MS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3Mg
RXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitQQVNTIFRlc3QgZXZhbHVhdGlvbiBv
cmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEt
d29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0
YzFkY2IzYTVmLi5iODYxZjcwMWY5NDhmYjEzMjc2OTMyMmMzODM2NmYyZDEzOGYwNGUyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlv
bi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51
bGwKLQorRkFJTCBUZXN0IGV2YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcyBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJzdGVwLTEtMSIsICJzdGVw
LTEtMiIsICJnbG9iYWwtZXJyb3IiLCAiZXJyb3IiLCAibWljcm90YXNrIl0gbGVuZ3RoIDUsIGdv
dCBbInN0ZXAtMS0xIiwgInN0ZXAtMS0yIiwgIm1pY3JvdGFzayJdIGxlbmd0aCAzCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9u
LW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYu
LmMxZDM4YmRlNTBjNTllNWQ1OTQxNzNkOTZmOWNkMTllYjEwN2M5YjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTIt
aW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2Ug
PSBudWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMgYXNzZXJ0X2Fy
cmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsic3RlcC0yLjItMSIs
ICJzdGVwLTIuMi0yIiwgImdsb2JhbC1lcnJvciIsICJlcnJvciIsICJtaWNyb3Rhc2stMi4yIl0g
bGVuZ3RoIDUsIGdvdCBbInN0ZXAtMi4yLTEiLCAic3RlcC0yLjItMiIsICJtaWNyb3Rhc2stMi4y
Il0gbGVuZ3RoIDMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRl
ci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1
OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi4yZjEyYTIzNDJmYWQyMjRlM2ExOGE2ZmI1ZDg0ODMyNWVh
Njc3NmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0z
LWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK1BBU1MgVGVzdCBldmFsdWF0aW9uIG9y
ZGVyIG9mIG1vZHVsZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQt
bWV0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVj
dGVkLnR4dAppbmRleCBkNTgwNjIwNDFjM2U2OTUxNWI4MTVlMDJkN2MzODY4NGQ3N2M3NmI3Li5l
NzgyNTdhMzIyOGQwZjMyMDMwM2ZkNjMyNmFmNmE3NTE0NTNmYzNjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDUgQEAKLUNPTlNP
TEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRl
IG1vZHVsZXMuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6
IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCi0KLUZBSUwgVGVzdCBp
bXBvcnQubWV0YS51cmwgb24gdGhlIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0LiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBpbXBvcnQu
bWV0YSBpcyBvbmx5IHZhbGlkIGluc2lkZSBtb2R1bGVzLiIKLUZBSUwgVGVzdCBpbXBvcnQubWV0
YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQuIGFzc2VydF90cnVlOiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgdG9wLWxl
dmVsIG1vZHVsZSBzY3JpcHQuCitQQVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBv
cnRlZCBtb2R1bGUgc2NyaXB0LgogRkFJTCBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1w
b3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJhZ21lbnQuIGFzc2VydF90cnVlOiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlv
bnMtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1l
eHBlY3RlZC50eHQKaW5kZXggZGEwZTRlYjY3NThkMTRhMzdhMzk4ZDBiNmZjNzFhZDM4NzZiZDI2
Yi4uMWZjMGM2NmZkZjcyNGMyYWEzYjkxMDY5ODBiZmJlN2U5ODhmOTc3MyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dApAQCAtMiwxMSArMiw2IEBA
CiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIHRoZSBkZWZhdWx0IHdvcmtlciB0
eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCB0aGUgImNsYXNzaWMiIHdv
cmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCB0aGUgIm1vZHVs
ZSIgd29ya2VyIHR5cGUuCi1GQUlMIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIGVt
cHR5IHdvcmtlciB0eXBlLiBhc3NlcnRfdGhyb3dzX2pzOiBXb3JrZXIgY29uc3RydWN0aW9uIHdp
dGggYW4gZW1wdHkgdHlwZSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uIGZ1bmN0aW9uICIoKSA9
PiB7Ci0gICAgICAgIG5ldyBXb3JrZXIoJ3Jlc291cmNlcy9wb3N0LW1lc3NhZ2Utb24tbG9hZC13
b3JrZXIuanMnLCB7IHR5cGU6ICcnIH0pOwotICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBU
ZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtub3duIHdvcmtlciB0eXBlLiBhc3Nl
cnRfdGhyb3dzX2pzOiBXb3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gdW5rbm93biB0eXBlIHNo
b3VsZCB0aHJvdyBhbiBleGNlcHRpb24gZnVuY3Rpb24gIigpID0+IHsKLSAgICAgICAgbmV3IFdv
cmtlcigncmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS1vbi1sb2FkLXdvcmtlci5qcycsCi0gICAgICAg
ICAgICAgICAgICAgeyB0eXBlOiAndW5rbm93bicgfSk7Ci0gICAgICB9IiBkaWQgbm90IHRocm93
CitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIGVtcHR5IHdvcmtlciB0eXBl
LgorUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtub3duIHdvcmtlciB0
eXBlLgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419895</attachid>
            <date>2021-02-10 13:40:32 -0800</date>
            <delta_ts>2021-02-10 16:46:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210210134031.patch</filename>
            <type>text/plain</type>
            <size>114133</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA1MTUzZGY5Mjc2YTBl
YzEzMzI1OTg1ZDNjMGE5NGQwOTE3M2I4ZC4uNDcwNGQ3MDQ2MjU1MjI2ZTgxNzA2OTNlNjk3NWMz
MmQ5NDhhMzRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkzIEBACisyMDIxLTAyLTEwICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBX
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjps
b2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5
RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNo
ZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2NyaXB0TW9kdWxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRjaCk6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1w
b3J0TWV0YVByb3BlcnRpZXMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2Jq
ZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNo
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9h
ZGVyRXZhbHVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNl
Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyk6
IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oLgorICAgICAgICAoV2ViQ29y
ZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpjbGVhckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpN
b2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgICogYmluZGlu
Z3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaC4KKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRN
b2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9h
ZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVs
ZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJM
RnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpl
dmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1v
ZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlz
aGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
LgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
Ojp+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmguCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQpOiBEZWxldGVkLgorICAgICAgICAq
IGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3Jp
cHQpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlcjo6V29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2Jh
bFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2Fk
ZXIpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1v
ZHVsZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29s
YXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0
ZVNjcmlwdElmTmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRo
cmVhZCk6CisKIDIwMjEtMDItMTAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+
CiAKICAgICAgICAgRG8gbm90IGRpZmZlcmVudGlhdGUgYmV0d2VlbiBSZWxlYXNlIGFuZCBQcm9k
dWN0aW9uIHZpYSBFTkFCTEVfREVWRUxPUEVSX01PREUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggOGMwM2I5
MzI2NDk4NWYwYmIxZWU5ZjZkMjAyM2UzNDgzMDkyZjQ2Mi4uNjIzYTY3OGFhNWNiNDMyYWUwZDM5
NDY3YTRiZWZkMzQ1Njg4YTIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTYzOSw2ICs2MzksNyBAQCBi
aW5kaW5ncy9qcy9TdHJ1Y3R1cmVkQ2xvbmUuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlSklUT3Bl
cmF0aW9ucy5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwCiBiaW5kaW5n
cy9qcy9XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwCitiaW5kaW5ncy9qcy9Xb3JrZXJN
b2R1bGVTY3JpcHRMb2FkZXIuY3BwCiBiaW5kaW5ncy9qcy9XaW5kb3dQcm94eS5jcHAKIGJpbmRp
bmdzL2pzL1dyaXRhYmxlU3RyZWFtLmNwcAogYnJpZGdlL0lkZW50aWZpZXJSZXAuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MmUzYmEyZDhiYmFhMTc2MjQ0ZGE2MjNjNjkyOTZlNWZlYmYwNzMwYi4uMDE4ZmUyY2VhNjk2NTIx
YTE0NGMzZjU4ZmE2ZmM0ZTMzYmMwOTZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTA3MSwxNSArNTA3MSwxNyBAQAogCQlF
MzA1OTI2NDFFMjdBM0FEMDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTkyNjIxRTI3QTM4QzAw
RDU3Qzk4IC8qIElubGluZUNsYXNzaWNTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzA1OTI2ODFFMjdBM0QxMDBENTdDOTggLyogQ2Fj
aGVkU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTMwNTkyNjYxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzA3
REVEMDFEODFFNEM3MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVDNzFEODFFNDQ4
MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRTMwN0RFRDExRDgxRTRDQjAwMTQxQ0FG
IC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8qIENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDdERUQ1MUQ4MUU0RjIwMDE0MUNBRiAvKiBMb2Fk
YWJsZU1vZHVsZVNjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTMwN0RFRDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMx
NTBFQTcxREE3MjE5MzAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAv
KiBET01KSVRIZWxwZXJzLmggKi87IH07CiAJCUUzMjAxQzFBMUY4RTgyMTMwMDc2QTAzMiAvKiBN
b2R1bGVGZXRjaFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzOEQwNjA5MUY4RTgxMTkwMDY0OUNGMiAvKiBNb2R1bGVGZXRjaFBhcmFt
ZXRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFMzIzQ0ZGQTFFNUFGNkFGMDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyM0NGRjkxRTVBRjZB
NTAwRjBCNEEwIC8qIEpTRE9NQ29udmVydFByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIgLyog
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyLmggKi87IH07CisJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1
bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFMzU2NUI3QjFEQzJENkM5MDAyMTdEQkQgLyogSlNFdmVudEN1c3RvbS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM0RUU0OUYxREMyRDU3NTAw
RUFBOUQzIC8qIEpTRXZlbnRDdXN0b20uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3M0MgLyogRE9NSklUSURM
VHlwZUZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTM1ODAyQjUxREM4NDM1ODAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU4MkMyODI1
MjdGNjY5MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNTgyQzI2MjUyN0Y2NjgwMEQxQjc5MCAv
KiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUUzNUI5MDdGMjNGNjBBNTAwMDAwMTFGRiAvKiBMb2NhbGl6ZWRE
ZXZpY2VNb2RlbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTM1QjkwN0MyM0Y2MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM2NDMyMUMy
NUQzN0E2NzAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8q
IE1vZHVsZVNjcmlwdExvYWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUzNzdGRTREMURBREUxNjUwMENERDAyNSAvKiBOb2RlQ29uc3RhbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QwNDk5
MzFEQURDMDQ1MDA3MThGM0MgLyogTm9kZUNvbnN0YW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAv
KiBKU0RPTVByb21pc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzN0M4NjRGMUVCNjNFMkQwMDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzk2MjhCRjIzOTU3
MjhGMDA2NThFQ0QgLyogRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4QkQyMzk1NzI4RTAw
NjU4RUNEIC8qIERldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTYyMDIsNyArMTYyMDQsNiBA
QAogCQlFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRTY3JpcHRGZXRjaGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMDdERUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTMwN0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTMwN0RFQzgxRDgx
RTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFRDIxRDgxRTRFRDAwMTQxQ0FG
IC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTMwN0RFRDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMTUwRUE1MURBNzIxOEQwMDE5NDAx
MiAvKiBET01KSVRIZWxwZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TUpJVEhlbHBlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MjE1LDEyICsx
NjIxNiwxNiBAQAogCQlFMzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyogVHlwZWRPTUNTU1VuaXRW
YWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMyOTI3NjYyMjU0M0ZERTAwMzA4QTlBIC8qIERP
TVJlY3RSZWFkT25seS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01SZWN0UmVhZE9ubHkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzM0ODI1RTFEQzkzQUEwMDA5Qzk1NDQg
LyogRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8q
IFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRTM0MzJERTMyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzRFRTQ5RjFE
QzJENTc1MDBFQUE5RDMgLyogSlNFdmVudEN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0V2ZW50Q3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNTgwMkI1MURDODQzNTgwMEE5Nzcz
QyAvKiBET01KSVRJRExUeXBlRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTUpJVElETFR5cGVGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTM1ODJDMjQyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25zLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkw
IC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzNUI5MDdDMjNGNjA2NzcwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzVCOTA3RTIzRjYwNjc3MDAwMDExRkYgLyogTG9j
YWxpemVkRGV2aWNlTW9kZWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBMb2NhbGl6ZWREZXZpY2VNb2RlbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9N
UHJvbWlzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVByb21pc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUz
IC8qIFNjcmlwdE1vZHVsZUxvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTY3JpcHRNb2R1bGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMzg4Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjcwMjEsNyArMjcwMjYsNiBAQAogCQkJCTJERkE0
ODhFMURCNTQxQzIwMDM2MkI5OSAvKiBCdWZmZXJTb3VyY2UuaCAqLywKIAkJCQlFMzA3REVDNjFE
ODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLywKIAkJCQlF
MzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8s
Ci0JCQkJRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ckNsaWVudC5oICovLAogCQkJCUUzMDU5MjY1MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3Jp
cHRGZXRjaGVyLmNwcCAqLywKIAkJCQlFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVk
U2NyaXB0RmV0Y2hlci5oICovLAogCQkJCUJDRDUzMzYzMEVENjg0ODkwMDg4NzQ2OCAvKiBDYWNo
ZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oICovLApAQCAtMjcwOTUsNiArMjcwOTksOCBAQAogCQkJ
CTRCREVBMzJEMjE4MDM0MDUwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3Bw
ICovLAogCQkJCTRCREVBMzJCMjE4MDMzRUIwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29w
ZUJhc2UuaCAqLywKIAkJCQk3MDlBMDFGRDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hG
YWlsdXJlS2luZC5oICovLAorCQkJCUUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVT
Y3JpcHRMb2FkZXIuaCAqLywKKwkJCQlFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxl
U2NyaXB0TG9hZGVyQ2xpZW50LmggKi8sCiAJCQkJNDFCNDU5RUQxRjU1RUJDNzAwMDBGNkZEIC8q
IFJlYWRhYmxlU3RyZWFtLmNwcCAqLywKIAkJCQk0MUI0NTlEQTFGNENBREI5MDAwMEY2RkQgLyog
UmVhZGFibGVTdHJlYW0uaCAqLywKIAkJCQk0MThDMzk1RTFDOEYwQUFCMDA1MUM4QTMgLyogUmVh
ZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgKi8sCkBAIC0yNzEyNiw2ICsyNzEzMiw4
IEBACiAJCQkJMEYwOTlEMDcxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5Q29u
dHJvbGxlci5oICovLAogCQkJCTQ2MzUyMUFDMjA4MTA5MEUwMEMyODkyMiAvKiBXaW5kb3dQcm94
eS5jcHAgKi8sCiAJCQkJNDYzNTIxQUEyMDgxMDkwQjAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5Lmgg
Ki8sCisJCQkJRTM0MzJERTMyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExv
YWRlci5jcHAgKi8sCisJCQkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVs
ZVNjcmlwdExvYWRlci5oICovLAogCQkJCTQxNDE4QTAzMjU2NDNFMTIwMDM2MzQxNyAvKiBXcml0
YWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDE0MThBMDQyNTY0M0UxMzAwMzYzNDE3IC8qIFdyaXRh
YmxlU3RyZWFtLmggKi8sCiAJCQkpOwpAQCAtMzEzOTksNyArMzE0MDcsNiBAQAogCQkJCUJDQjE2
QzFDMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE5RkJENUYxNUQyRjQ2NDAwOTY0MEE2IC8qIENhY2hlZEltYWdlQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMzA3REVEMDFEODFFNEM3MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMzA3REVEMTFEODFFNENCMDAxNDFDQUYgLyog
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAx
ODQ2OTBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RDBFREE3NzUxNDNFMzAzQzAwMjhFMzgzIC8qIENhY2hlZFJhd1Jlc291cmNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMUI1MzM0OTE3MTdERUUzMDBGMjA1RjkgLyogQ2FjaGVkUmF3UmVzb3VyY2VD
bGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzM4NzQsNiArMzM4ODEsOCBAQAogCQkJCUM2RDc0
QUQ1MDlBQTI4MkUwMDBCMEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25MaXN0TGV2ZWwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTcwOUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1
cmVLaW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyog
TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzY0MzIxQzI1RDM3
QTY3MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlF
MzUxODhCNDI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlGNTVCM0RDNjEyNTFGMTJEMDAzRUYyNjkgLyogTW9udGhJbnB1dFR5
cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzOTYyOEMxMjM5NTc0MzEwMDY1OEVDRCAvKiBNb3Rp
b25NYW5hZ2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0NjBBNDRFRkM3MDBG
OTkyRTAgLyogTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTUyNiw2ICszNTUzNSw3
IEBACiAJCQkJMThGODMxQjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0RDBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyTG9j
YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUwMEY1NDZBODIwMEIwRjFCQSAvKiBX
b3JrZXJNZXNzYWdpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM0MzJERTQyNUQzNzdF
MzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTEyNzFBMEIwRUVFQzc3QTAwRjYxMjEzIC8qIFdvcmtlck5hdmlnYXRvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTVDQjA1MjUxRkI1MUYzQTAwMDg5Qjk3IC8qIFdvcmtlck5ldHdvcmtBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTEwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtl
ck9iamVjdFByb3h5LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDM1MmRjYzRh
Y2Y3NTE3NmQ5OGFkMzQxMGJlMTUxNjA4MDEwODg1MjQuLmM2YmM0NDdkMzE5MDQwMjRiM2NiZDdj
Y2E2YzBjMjljZmI0ODBhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApAQCAtNDAsMTMgKzQwLDEzIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hl
ciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0
ZXJzKQorUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjpjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJv
bWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRy
PE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQogewogICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlw
dEZldGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykpKTsKIH0KIAotQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0
Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzKQotICAgIDogbV9jbGllbnQoJmNsaWVudCkKK0NhY2hlZE1vZHVsZVNjcmlwdExvYWRl
cjo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xp
ZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlw
dEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAg
ICA6IE1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQpCiAgICAgLCBtX3Byb21pc2UoJnByb21pc2Up
CiAgICAgLCBtX3NjcmlwdEZldGNoZXIoc2NyaXB0RmV0Y2hlcikKICAgICAsIG1fcGFyYW1ldGVy
cyhXVEZNb3ZlKHBhcmFtZXRlcnMpKQpAQCAtNjEsMTQgKzYxLDE0IEBAIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcjo6fkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcigpCiAgICAgfQogfQogCi1ib29s
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IFVSTCYgc291cmNlVVJMKQorYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoRG9j
dW1lbnQmIGRvY3VtZW50LCBVUkwmJiBzb3VyY2VVUkwpCiB7CiAgICAgQVNTRVJUKCFtX2NhY2hl
ZFNjcmlwdCk7CiAgICAgU3RyaW5nIGludGVncml0eSA9IG1fcGFyYW1ldGVycyA/IG1fcGFyYW1l
dGVycy0+aW50ZWdyaXR5KCkgOiBTdHJpbmcgeyB9OwogICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9z
Y3JpcHRGZXRjaGVyLT5yZXF1ZXN0TW9kdWxlU2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkwsIFdU
Rk1vdmUoaW50ZWdyaXR5KSk7CiAgICAgaWYgKCFtX2NhY2hlZFNjcmlwdCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIG1fc291cmNlVVJMID0gc291cmNlVVJMOworICAgIG1fc291cmNlVVJM
ID0gV1RGTW92ZShzb3VyY2VVUkwpOwogCiAgICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgYWxyZWFk
eSBjYWNoZWQsIHRoaXMgaW1tZWRpYXRlbHkgY2FsbHMgbm90aWZ5RmluaXNoZWQuCiAgICAgbV9j
YWNoZWRTY3JpcHQtPmFkZENsaWVudCgqdGhpcyk7CkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVz
b3VyY2UsIGNvbnN0IE5lCiAKICAgICBSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBwcm90
ZWN0ZWRUaGlzKCp0aGlzKTsKICAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5u
b3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3Byb21pc2UpKTsKKyAgICAgICAgbV9jbGll
bnQtPm5vdGlmeUZpbmlzaGVkKCp0aGlzLCBXVEZNb3ZlKG1fc291cmNlVVJMKSwgbV9wcm9taXNl
LnJlbGVhc2VOb25OdWxsKCkpOwogCiAgICAgLy8gUmVtb3ZlIHRoZSBjbGllbnQgYWZ0ZXIgY2Fs
bGluZyBub3RpZnlGaW5pc2hlZCB0byBrZWVwIHRoZSBkYXRhIGJ1ZmZlciBpbgogICAgIC8vIENh
Y2hlZFJlc291cmNlIGFsaXZlIHdoaWxlIG5vdGlmeUZpbmlzaGVkIHByb2Nlc3NlcyB0aGUgcmVz
b3VyY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlci5oCmluZGV4IDQzYWJkODc1YjI0M2ZhZjVmY2Q0ZDk4ZWMzYzVkMjRlNzkw
YjU3MmUuLjA0NDg3NjE4OTlkZWVlN2E4NjU4MjhjMDAxZWRhMWJmNzgzNTMzNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudC5o
IgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiTW9kdWxlU2Ny
aXB0TG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzQsNyArMzUsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsK
K2NsYXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNs
YXNzIENhY2hlZFNjcmlwdEZldGNoZXI7CiBjbGFzcyBEZWZlcnJlZFByb21pc2U7CkBAIC00Miwz
MSArNDMsMjMgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKIGNs
YXNzIE1vZHVsZUZldGNoUGFyYW1ldGVyczsKIAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiwg
cHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CitjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXIgZmluYWwgOiBwdWJsaWMgTW9kdWxlU2NyaXB0TG9hZGVyLCBwcml2YXRlIENhY2hlZFJl
c291cmNlQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlcj4gY3JlYXRlKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVk
UHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzPiYmKTsKKyAgICBzdGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRl
KE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlw
dEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZpcnR1
YWwgfkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcigpOwogCi0gICAgYm9vbCBsb2FkKERvY3VtZW50
JiwgY29uc3QgVVJMJiBzb3VyY2VVUkwpOworICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIFVSTCYm
IHNvdXJjZVVSTCk7CiAKICAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyKCkg
eyByZXR1cm4gbV9zY3JpcHRGZXRjaGVyLmdldCgpOyB9CiAgICAgQ2FjaGVkU2NyaXB0KiBjYWNo
ZWRTY3JpcHQoKSB7IHJldHVybiBtX2NhY2hlZFNjcmlwdC5nZXQoKTsgfQogICAgIE1vZHVsZUZl
dGNoUGFyYW1ldGVycyogcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsg
fQotICAgIGNvbnN0IFVSTCYgc291cmNlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VVUkw7
IH0KLQotICAgIHZvaWQgY2xlYXJDbGllbnQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fY2xp
ZW50KTsKLSAgICAgICAgbV9jbGllbnQgPSBudWxscHRyOwotICAgIH0KIAogcHJpdmF0ZToKLSAg
ICBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVG
ZXRjaFBhcmFtZXRlcnM+JiYpOworICAgIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVy
JiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CiAKICAgICB2b2lkIG5vdGlmeUZp
bmlzaGVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikgZmluYWw7
CiAKLSAgICBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQqIG1fY2xpZW50IHsgbnVsbHB0
ciB9OwogICAgIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IG1fcHJvbWlzZTsKICAgICBSZWY8Q2Fj
aGVkU2NyaXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVyOwogICAgIFJlZlB0cjxNb2R1bGVGZXRj
aFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2ODhhZDkwZGFlM2VjZTk0OWVhMDliMWVmZWU1ZGEyNmY5
NGM3ODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgK
KysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2
IEFwcGxlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjsKLWNsYXNzIERlZmVycmVkUHJvbWlz
ZTsKLQotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKLXB1YmxpYzoKLSAg
ICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7Ci0K
LSAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
JiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4pID0gMDsKLX07Ci0KLX0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKaW5kZXggYTQzMzc1
ODY1YmJmMWVjNTk3M2JmMTcyYzkxYTM4NTMyMzRlMzc0ZC4uZGYzYzZiNmViYjg0YWY3MmVkMjk1
NWY5OTExZDA3YTg3YWIzNTMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJD
cm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Nyw2ICs0OCw3IEBAIENhY2hlZFJlc291cmNl
SGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdE1vZHVsZVNj
cmlwdChEb2N1CiAKIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkU2Ny
aXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNoZShEb2N1bWVudCYgZG9jdW1lbnQsIGNv
bnN0IFVSTCYgc291cmNlVVJMLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgU3RyaW5n
JiYgaW50ZWdyaXR5LCBPcHRpb25hbDxSZXNvdXJjZUxvYWRQcmlvcml0eT4gcmVzb3VyY2VMb2Fk
UHJpb3JpdHkpIGNvbnN0CiB7CisgICAgLy8gV2l0aG91dCBzY3JpcHRpbmcsIHRoZXJlIGlzIG5v
IHdheSB0byBzdGFydCBXb3JrZXJzLgogICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS5pc1Nj
cmlwdEVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1OGI3ZGY3NjBj
MDBhMzFmZjA4ZWQyMmRlZTIyYThjNzQ0M2FlOGRkLi45ZDY5N2Q0NTliNTYzNDVjYzgzOTYyMDI2
Njc2ZTAwYTk4YmY0OWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUdsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01HbG9iYWxPYmplY3QuY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiSlNXb3JrbGV0
R2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJSZWplY3RlZFByb21pc2VUcmFja2VyLmgiCiAjaW5j
bHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxv
YWRlci5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZWRDbG9uZS5oIgogI2luY2x1ZGUgIldlYkNvcmVK
U0NsaWVudERhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtNDIyLDYg
KzQyMyw3OSBAQCBKU0M6OkpTUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Omluc3RhbnRpYXRl
U3RyZWFtaW5nKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsbwogfQogI2VuZGlmCiAKK3N0YXRpYyBT
Y3JpcHRNb2R1bGVMb2FkZXIqIHNjcmlwdE1vZHVsZUxvYWRlcihKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQoreworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBp
ZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0RPTVdpbmRvd0Jhc2U+KHZtKSkgeworICAgICAg
ICBpZiAoYXV0byBkb2N1bWVudCA9IGpzQ2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihnbG9i
YWxPYmplY3QpLT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiAmZG9j
dW1lbnQtPm1vZHVsZUxvYWRlcigpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9Cisg
ICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNSZW1vdGVET01XaW5kb3dCYXNlPih2bSkp
CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRz
PEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNv
bnN0IEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1v
ZHVsZUxvYWRlcigpOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2xldEds
b2JhbFNjb3BlQmFzZT4odm0pKQorICAgICAgICByZXR1cm4gJmpzQ2FzdDxjb25zdCBKU1dvcmts
ZXRHbG9iYWxTY29wZUJhc2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVy
KCk7CisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisgICAgaWYgKGdsb2JhbE9iamVjdC0+
aW5oZXJpdHM8SlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0Pih2bSkpCisgICAgICAgIHJl
dHVybiBudWxscHRyOworI2VuZGlmCisgICAgZGF0YUxvZygiVW5leHBlY3RlZCBnbG9iYWwgb2Jq
ZWN0OiAiLCBKU1ZhbHVlKGdsb2JhbE9iamVjdCksICJcbiIpOworICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTQzo6SWRlbnRpZmll
ciBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlND
OjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlND
OjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNP
YmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7Cisg
ICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAg
ICAgICAgcmV0dXJuIGxvYWRlci0+cmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwg
bW9kdWxlTmFtZSwgaW1wb3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVy
biB7IH07Cit9CisKK0pTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojpt
b2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6
SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlND
OjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6
OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8q
IGxvYWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHNjb3BlLCBsb2FkZXItPmZldGNoKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9h
ZGVyLCBtb2R1bGVLZXksIHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpKTsKKyAgICBKU0M6OkpT
SW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRl
KHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAgICBzY29w
ZS5yZWxlYXNlKCk7CisgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmlu
ZWQoKSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTUdsb2Jh
bE9iamVjdDo6bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBt
b2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRG
ZXRjaGVyKQoreworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nh
c3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2Fk
ZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2Fk
ZXItPmV2YWx1YXRlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVs
ZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsK
K30KKworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxv
YWRlckltcG9ydE1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6
SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1N0cmluZyogbW9kdWxlTmFtZSwg
SlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJiBzb3VyY2VP
cmlnaW4pCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhp
c09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsK
KyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQor
ICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+aW1wb3J0TW9kdWxlKGds
b2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VP
cmlnaW4pKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0lu
dGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0
cnVjdHVyZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7CisgICAgcHJvbWlzZS0+cmVqZWN0KGds
b2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisKK0pT
Qzo6SlNPYmplY3QqIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRN
ZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNN
b2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpK
U01vZHVsZVJlY29yZCogbW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikK
K3sKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2Ny
aXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5jcmVh
dGVJbXBvcnRNZXRhUHJvcGVydGllcyhnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxl
S2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiBjb25zdHJ1Y3RF
bXB0eU9iamVjdChnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlw
ZU9iamVjdFN0cnVjdHVyZSgpKTsKK30KKwogSlNET01HbG9iYWxPYmplY3QmIGNhbGxlckdsb2Jh
bE9iamVjdChKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBj
YWxsRnJhbWUpCiB7CiAgICAgY2xhc3MgR2V0Q2FsbGVyR2xvYmFsT2JqZWN0RnVuY3RvciB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAppbmRleCBi
ODQwNzJkZGQ3NDZiM2Q2YzUxMDYwZDkwNTAxYjVjZWExYjQ5OWIxLi5mNDlhNGNkMjU3MTk3MTE4
OTE3YTdkN2E0YjZjMGUxMWZjNzZiYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKQEAgLTEwNSw2ICsxMDUsMTIgQEAgY2xhc3MgV0VCQ09S
RV9FWFBPUlQgSlNET01HbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbE9iamVjdCB7
CiAgICAgc3RhdGljIEpTQzo6SlNQcm9taXNlKiBpbnN0YW50aWF0ZVN0cmVhbWluZyhKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTT2JqZWN0Kik7CiAjZW5kaWYKIAor
ICAgIHN0YXRpYyBKU0M6OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1Zh
bHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBt
b2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRl
ciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRp
YyBKU0M6OkpTVmFsdWUgbW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpK
U1ZhbHVlKTsKKyAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVy
SW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwg
SlNDOjpKU1N0cmluZyosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsK
KyAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVBy
b3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6
OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOworCiAgICAgSlNE
T01TdHJ1Y3R1cmVNYXAgbV9zdHJ1Y3R1cmVzOwogICAgIEpTRE9NQ29uc3RydWN0b3JNYXAgbV9j
b25zdHJ1Y3RvcnM7CiAgICAgRE9NR3VhcmRlZE9iamVjdFNldCBtX2d1YXJkZWRPYmplY3RzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXgg
NTYzZWZhMDU3MWI1ZDQ2MmQ5ZTY0NTA4OWYwYmQ4Zjc3ZDE5YTc2OC4uMzEyYTAxMTU4ZThjMjgw
ODNjMDdlNDJkYjg3MjQ1ZmU0ZTVjNTdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC0zMzksNTQgKzMzOSw0IEBAIHZvaWQgSlNET01X
aW5kb3dCYXNlOjpmaXJlRnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93
KiB3aW5kb3cpCiAgICAgfQogfQogCi1KU0M6OklkZW50aWZpZXIgSlNET01XaW5kb3dCYXNlOjpt
b2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlND
OjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwg
SlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hl
cikKLXsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RP
TVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRv
Y3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVy
biBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkucmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxv
YWRlciwgbW9kdWxlTmFtZSwgaW1wb3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOwotICAg
IHJldHVybiB7IH07Ci19Ci0KLUpTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFz
ZTo6bW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXks
IEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsK
LSAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpT
Qzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0
cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkK
LSAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVy
KCkuZmV0Y2goZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVy
cywgc2NyaXB0RmV0Y2hlcikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2Ug
PSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJu
YWxQcm9taXNlU3RydWN0dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNl
LT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlz
ZTsKLX0KLQotSlNDOjpKU1ZhbHVlIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVh
dGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVy
KiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1
bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93
QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9i
amVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53
cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2Fk
ZXIoKS5ldmFsdWF0ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1
bGVSZWNvcmQsIHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7
Ci19Ci0KLUpTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9h
ZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpK
U01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBK
U0M6OkpTVmFsdWUgcGFyYW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9y
aWdpbikKLXsKLSAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09i
amVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAg
aWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9j
dW1lbnQoKSkKLSAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCkuaW1wb3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1
bGVOYW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VPcmlnaW4pKTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQ
cm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKLSAgICBzY29wZS5yZWxlYXNl
KCk7Ci0gICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7Ci0g
ICAgcmV0dXJuIHByb21pc2U7Ci19Ci0KLUpTQzo6SlNPYmplY3QqIEpTRE9NV2luZG93QmFzZTo6
bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6
SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgSlND
OjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2Jq
ZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBp
ZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1
bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmNyZWF0ZUlt
cG9ydE1ldGFQcm9wZXJ0aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXks
IG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5
T2JqZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2Jq
ZWN0U3RydWN0dXJlKCkpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCmluZGV4IDNlZjk4MGRkMjdmNmIy
MTM5ODcwMDhiYTQ3NmM4Y2E2OWYyZjBiNjQuLjUxNDJiMWM3ZGMyNWMyMmZlOTc4OTVlNzVhZTIy
ZWY0ZDFlNTg5ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
QmFzZS5oCkBAIC05OSwxMiArOTksNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTVdpbmRv
d0Jhc2UgOiBwdWJsaWMgSlNET01HbG9iYWxPYmplY3QgewogcHJpdmF0ZToKICAgICB1c2luZyBS
ZXNwb25zZUNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IGNoYXIqLCBzaXplX3Qp
PjsKIAotICAgIHN0YXRpYyBKU0M6OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlND
OjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9t
aXNlKiBtb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVs
ZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAg
IHN0YXRpYyBKU0M6OkpTVmFsdWUgbW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9i
amVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwg
SlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxl
TG9hZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiwgSlNDOjpKU1N0cmluZyosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmln
aW4mKTsKLSAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0
TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIq
LCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwotCiAg
ICAgUmVmUHRyPERPTVdpbmRvdz4gbV93cmFwcGVkOwogICAgIFJlZlB0cjxFdmVudD4gbV9jdXJy
ZW50RXZlbnQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCmluZGV4IDQyYjI2YzlmNGVhMjE2MjA3ZGU0Yzg2ODIw
YjhhODFiNjAzNWI3ZWIuLjJkNzkzZmZmMjE4NTNhOGExYTc4ODA2NjcyNTBmNTdlNzUyZmUzZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2Nv
cGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2Jh
bFNjb3BlQmFzZS5jcHAKQEAgLTU5LDExICs1OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRo
b2RUYWJsZSBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJs
ZQogICAgICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLAogICAgICZxdWV1ZU1pY3JvdGFza1RvRXZl
bnRMb29wLAogICAgICZzaG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LAotICAgIG51
bGxwdHIsIC8vIG1vZHVsZUxvYWRlckltcG9ydE1vZHVsZQotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlclJlc29sdmUKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJGZXRjaAotICAgIG51
bGxwdHIsIC8vIG1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzCi0gICAgbnVs
bHB0ciwgLy8gbW9kdWxlTG9hZGVyRXZhbHVhdGUKKyAgICAmbW9kdWxlTG9hZGVySW1wb3J0TW9k
dWxlLAorICAgICZtb2R1bGVMb2FkZXJSZXNvbHZlLAorICAgICZtb2R1bGVMb2FkZXJGZXRjaCwK
KyAgICAmbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMsCisgICAgJm1vZHVs
ZUxvYWRlckV2YWx1YXRlLAogICAgICZwcm9taXNlUmVqZWN0aW9uVHJhY2tlciwKICAgICAmcmVw
b3J0VW5jYXVnaHRFeGNlcHRpb25BdEV2ZW50TG9vcCwKICAgICAmY3VycmVudFNjcmlwdEV4ZWN1
dGlvbk93bmVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
bGV0R2xvYmFsU2NvcGVCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29y
a2xldEdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggMzVmYTZlMzI3N2ZiMGQ0YmUwZTBlMWVkYzQz
NzIyZWRhZGZjOGFmMi4uOWZhZWM5NTljMzlkMTc0ODE4MWM5ODY1MDAzZDVhODZmMTdmNWUzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2Nv
cGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9i
YWxTY29wZUJhc2UuY3BwCkBAIC00OSwxMSArNDksMTEgQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0
aG9kVGFibGUgSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRh
YmwKICAgICAmamF2YVNjcmlwdFJ1bnRpbWVGbGFncywKICAgICBudWxscHRyLCAvLyBxdWV1ZU1p
Y3JvdGFza1RvRXZlbnRMb29wCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVv
dXQsCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZl
dGNoCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRp
ZXMKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2Fk
ZXJJbXBvcnRNb2R1bGUsCisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxv
YWRlckZldGNoLAorICAgICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywK
KyAgICAmbW9kdWxlTG9hZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2Vy
LAogICAgICZyZXBvcnRVbmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50
U2NyaXB0RXhlY3V0aW9uT3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01v
ZHVsZVNjcmlwdExvYWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4ZWFiMTIzYWVlZWIwMmU4YTI2Mzc4YjMy
ZTE5NTdkMzMzOTVjYWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXIuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKKworY2xhc3MgTW9k
dWxlU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8TW9kdWxlU2NyaXB0TG9hZGVyPiB7
CitwdWJsaWM6CisgICAgdmlydHVhbCB+TW9kdWxlU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0Owor
CisgICAgdm9pZCBjbGVhckNsaWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQobV9jbGllbnQp
OworICAgICAgICBtX2NsaWVudCA9IG51bGxwdHI7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAg
TW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50KQorICAg
ICAgICA6IG1fY2xpZW50KCZjbGllbnQpCisgICAgeworICAgIH0KKworICAgIE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudCogbV9jbGllbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNs
aWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmY5OTVmNDhlZTNkMWUwMmMxZDhjOWM5ZGEyYmQ1ODIzNmYzYmEw
N2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIE1vZHVsZVNjcmlwdExvYWRlcjsKK2NsYXNzIERlZmVycmVkUHJvbWlz
ZTsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0
dWFsIH5Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFs
IHZvaWQgbm90aWZ5RmluaXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZl
cnJlZFByb21pc2U+KSA9IDA7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcAppbmRleCBhYTViODBiNTg2Yjc5ZTBlNTc1MDFj
ZDUxMDc4ZGYyNWE2MjVlNWQ5Li5jMmU1YmU1ZWFmZjM4YjQzMDk1ZTAyMDI0ZGNhNmRjMjBiNzlj
YTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxv
YWRlci5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXIuaCIKICNpbmNsdWRlICJDYWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDYWNoZWRTY3Jp
cHRGZXRjaGVyLmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVk
LmgiCkBAIC00MSw2ICs0MCw3IEBACiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2lu
Y2x1ZGUgIlN1YnJlc291cmNlSW50ZWdyaXR5LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50
RGF0YS5oIgorI2luY2x1ZGUgIldvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U0ludGVybmFsUHJvbWlzZS5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTW9kdWxlUmVj
b3JkLmg+CkBAIC01Miw4ICs1Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU2NyaXB0
TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIoRG9jdW1lbnQmIGRvY3VtZW50KQotICAg
IDogbV9kb2N1bWVudChkb2N1bWVudCkKK1NjcmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxl
TG9hZGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE93bmVyVHlwZSBvd25lclR5
cGUpCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1fb3duZXJUeXBlKG93bmVyVHlw
ZSkKIHsKIH0KIApAQCAtNjgsNyArNjksNyBAQCBzdGF0aWMgYm9vbCBpc1Jvb3RNb2R1bGUoSlND
OjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5KQogICAgIHJldHVybiBpbXBvcnRlck1vZHVsZUtl
eS5pc1N5bWJvbCgpIHx8IGltcG9ydGVyTW9kdWxlS2V5LmlzVW5kZWZpbmVkKCk7CiB9CiAKLXN0
YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihEb2N1bWVu
dCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgc3BlY2lmaWVyLCBjb25zdCBVUkwmIGJhc2VVUkwp
CitzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5
cGUgb3duZXJUeXBlLCBjb25zdCBTdHJpbmcmIHNwZWNpZmllciwgY29uc3QgVVJMJiBiYXNlVVJM
KQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFw
cGFwaXMuaHRtbCNyZXNvbHZlLWEtbW9kdWxlLXNwZWNpZmllcgogCkBAIC03OSw3ICs4MCwxMiBA
QCBzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoRG9j
dW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdAogICAgIGlmICghc3BlY2lmaWVyLnN0YXJ0c1dpdGgo
Jy8nKSAmJiAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoIi4vIikgJiYgIXNwZWNpZmllci5zdGFydHNX
aXRoKCIuLi8iKSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1v
ZHVsZSBzcGVjaWZpZXIsICciX3MsIHNwZWNpZmllciwgIicgZG9lcyBub3Qgc3RhcnQgd2l0aCBc
Ii9cIiwgXCIuL1wiLCBvciBcIi4uL1wiLiBSZWZlcmVuY2VkIGZyb20gIl9zLCBiYXNlVVJMLnN0
cmluZygpKSk7CiAKLSAgICBhdXRvIHJlc3VsdCA9IGRvY3VtZW50LmNvbXBsZXRlVVJMKHNwZWNp
ZmllciwgYmFzZVVSTCk7CisgICAgVVJMIHJlc3VsdDsKKyAgICBpZiAob3duZXJUeXBlID09IFNj
cmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgcmVzdWx0ID0g
ZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVS
TCk7CisgICAgZWxzZQorICAgICAgICByZXN1bHQgPSBVUkwoYmFzZVVSTCwgc3BlY2lmaWVyKTsK
KwogICAgIGlmICghcmVzdWx0LmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVj
dGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBuYW1lLCAnIl9zLCByZXN1bHQuc3RyaW5nKCksICInIGRv
ZXMgbm90IHJlc29sdmUgdG8gYSB2YWxpZCBVUkwuIl9zKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
QEAgLTEwNyw3ICsxMTMsNyBAQCBKU0M6OklkZW50aWZpZXIgU2NyaXB0TW9kdWxlTG9hZGVyOjpy
ZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LAogICAgIFVSTCBiYXNl
VVJMID0gcmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTCgqanNHbG9iYWxPYmplY3QsIGltcG9ydGVy
TW9kdWxlS2V5KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAg
YXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmll
ciwgYmFzZVVSTCk7CisgICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1f
Y29udGV4dCwgbV9vd25lclR5cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1
bHQpIHsKICAgICAgICAgSlNDOjp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2NvcGUs
IHJlc3VsdC5lcnJvcigpKTsKICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTE2MSwxMyArMTY3LDE5
IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2goSlND
OjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPCiAgICAgaWYgKGF1dG8qIHNjcmlwdEZldGNoUGFy
YW1ldGVycyA9IEpTQzo6anNEeW5hbWljQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hQYXJhbWV0ZXJz
Kj4odm0sIHBhcmFtZXRlcnMpKQogICAgICAgICB0b3BMZXZlbEZldGNoUGFyYW1ldGVycyA9IHN0
YXRpY19jYXN0PE1vZHVsZUZldGNoUGFyYW1ldGVycyo+KCZzY3JpcHRGZXRjaFBhcmFtZXRlcnMt
PnBhcmFtZXRlcnMoKSk7CiAKLSAgICBhdXRvIGxvYWRlciA9IENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19jYXN0PENhY2hlZFNj
cmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZl
dGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7Ci0g
ICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29weVJlZigpKTsKLSAgICBpZiAoIWxvYWRlci0+bG9h
ZChtX2RvY3VtZW50LCBjb21wbGV0ZWRVUkwpKSB7Ci0gICAgICAgIGxvYWRlci0+Y2xlYXJDbGll
bnQoKTsKLSAgICAgICAgbV9sb2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOwotICAgICAg
ICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihkZWZlcnJlZC5nZXQoKSwgTW9kdWxlRmV0
Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFp
bGVkLiJfcyk7Ci0gICAgICAgIHJldHVybiBqc1Byb21pc2U7CisgICAgaWYgKG1fb3duZXJUeXBl
ID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgYXV0byBsb2FkZXIgPSBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNf
Y2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNo
ZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFy
YW1ldGVycykpOworICAgICAgICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOworICAg
ICAgICBpZiAoIWxvYWRlci0+bG9hZChkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KSwgV1RG
TW92ZShjb21wbGV0ZWRVUkwpKSkgeworICAgICAgICAgICAgbG9hZGVyLT5jbGVhckNsaWVudCgp
OworICAgICAgICAgICAgbV9sb2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOworICAgICAg
ICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoZGVmZXJyZWQuZ2V0KCksIE1vZHVs
ZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0
IGZhaWxlZC4iX3MpOworICAgICAgICAgICAgcmV0dXJuIGpzUHJvbWlzZTsKKyAgICAgICAgfQor
ICAgIH0gZWxzZSB7CisgICAgICAgIGF1dG8gbG9hZGVyID0gV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdldCgpLCAqc3RhdGljX2Nhc3Q8Q2FjaGVkU2Ny
aXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0
Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKKyAg
ICAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29weVJlZigpKTsKKyAgICAgICAgbG9hZGVyLT5s
b2FkKG1fY29udGV4dCwgV1RGTW92ZShjb21wbGV0ZWRVUkwpKTsKICAgICB9CiAKICAgICByZXR1
cm4ganNQcm9taXNlOwpAQCAtMTc2LDcgKzE4OCw3IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2Uq
IFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxP
CiBVUkwgU2NyaXB0TW9kdWxlTG9hZGVyOjptb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYg
anNHbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXlWYWx1ZSkKIHsKICAgICBpZiAo
bW9kdWxlS2V5VmFsdWUuaXNTeW1ib2woKSkKLSAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQudXJs
KCk7CisgICAgICAgIHJldHVybiBtX2NvbnRleHQudXJsKCk7CiAKICAgICBBU1NFUlQobW9kdWxl
S2V5VmFsdWUuaXNTdHJpbmcoKSk7CiAgICAgcmV0dXJuIFVSTChVUkwoKSwgYXNTdHJpbmcobW9k
dWxlS2V5VmFsdWUpLT52YWx1ZSgmanNHbG9iYWxPYmplY3QpKTsKQEAgLTE4Nyw4ICsxOTksMTEg
QEAgVVJMIFNjcmlwdE1vZHVsZUxvYWRlcjo6cmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTChKU0M6
OkpTR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE8KICAgICBKU0M6OlZNJiB2bSA9IGpzR2xvYmFsT2Jq
ZWN0LnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0g
ICAgaWYgKGlzUm9vdE1vZHVsZShtb2R1bGVLZXlWYWx1ZSkpCi0gICAgICAgIHJldHVybiBtX2Rv
Y3VtZW50LmJhc2VVUkwoKTsKKyAgICBpZiAoaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkg
eworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7Cisg
ICAgICAgIHJldHVybiBtX2NvbnRleHQudXJsKCk7CisgICAgfQogCiAgICAgQVNTRVJUKCFpc1Jv
b3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKTsKICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNT
dHJpbmcoKSk7CkBAIC0yMTksOCArMjM0LDE0IEBAIEpTQzo6SlNWYWx1ZSBTY3JpcHRNb2R1bGVM
b2FkZXI6OmV2YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LCBKCiAg
ICAgaWYgKCFzb3VyY2VVUkwuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gSlNDOjp0aHJvd1R5
cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2NvcGUsICJNb2R1bGUga2V5IGlzIGFuIGludmFsaWQg
VVJMLiJfcyk7CiAKLSAgICBpZiAoYXV0byogZnJhbWUgPSBtX2RvY3VtZW50LmZyYW1lKCkpCi0g
ICAgICAgIHJldHVybiBmcmFtZS0+c2NyaXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAq
bW9kdWxlUmVjb3JkKTsKKyAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVu
dCkgeworICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250
ZXh0KS5mcmFtZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS5ldmFsdWF0
ZU1vZHVsZShzb3VyY2VVUkwsICptb2R1bGVSZWNvcmQpOworICAgIH0gZWxzZSB7CisgICAgICAg
IEFTU0VSVChpczxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KSk7CisgICAg
ICAgIGlmIChhdXRvKiBzY3JpcHQgPSBkb3duY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZT4obV9jb250ZXh0KS5zY3JpcHQoKSkKKyAgICAgICAgICAgIHJldHVybiBzY3JpcHQtPmV2YWx1
YXRlTW9kdWxlKCptb2R1bGVSZWNvcmQpOworICAgIH0KICAgICByZXR1cm4gSlNDOjpqc1VuZGVm
aW5lZCgpOwogfQogCkBAIC0yNDgsMjMgKzI2OSwzNiBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBq
cwogICAgIFVSTCBiYXNlVVJMOwogICAgIFJlZlB0cjxKU0M6OlNjcmlwdEZldGNoZXI+IHNjcmlw
dEZldGNoZXI7CiAgICAgaWYgKHNvdXJjZU9yaWdpbi5pc051bGwoKSkgewotICAgICAgICBiYXNl
VVJMID0gbV9kb2N1bWVudC5iYXNlVVJMKCk7Ci0gICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNo
ZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUobV9kb2N1bWVudC5jaGFyc2V0KCkpOworICAgICAgICBT
dHJpbmcgY2hhcnNldDsKKyAgICAgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9j
dW1lbnQpIHsKKyAgICAgICAgICAgIGJhc2VVUkwgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250
ZXh0KS5iYXNlVVJMKCk7CisgICAgICAgICAgICBjaGFyc2V0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+
KG1fY29udGV4dCkuY2hhcnNldCgpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYmFz
ZVVSTCA9IG1fY29udGV4dC51cmwoKTsKKyAgICAgICAgICAgIGNoYXJzZXQgPSAidXRmLTgiX3M7
CisgICAgICAgIH0KKyAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6
OmNyZWF0ZShXVEZNb3ZlKGNoYXJzZXQpKTsKICAgICB9IGVsc2UgewogICAgICAgICBiYXNlVVJM
ID0gVVJMKFVSTCgpLCBzb3VyY2VPcmlnaW4uc3RyaW5nKCkpOwogICAgICAgICBpZiAoIWJhc2VV
UkwuaXNWYWxpZCgpKQogICAgICAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2UoZ2xvYmFsT2Jq
ZWN0LCBUeXBlRXJyb3IsICJJbXBvcnRlciBtb2R1bGUga2V5IGlzIG5vdCBhIFN5bWJvbCBvciBh
IFN0cmluZy4iX3MpOwogCisgICAgICAgIFN0cmluZyBjaGFyc2V0OworICAgICAgICBpZiAobV9v
d25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgICAgIGNoYXJzZXQgPSBk
b3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5jaGFyc2V0KCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGNoYXJzZXQgPSAidXRmLTgiX3M7CisKICAgICAgICAgaWYgKHNvdXJjZU9yaWdp
bi5mZXRjaGVyKCkpCiAgICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZl
dGNoZXIoKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hl
ZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisgICAgICAgICAg
ICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKFdURk1vdmUoY2hh
cnNldCkpOwogICAgIH0KICAgICBBU1NFUlQoYmFzZVVSTC5pc1ZhbGlkKCkpOwogICAgIEFTU0VS
VChzY3JpcHRGZXRjaGVyKTsKIAogICAgIGF1dG8gc3BlY2lmaWVyID0gbW9kdWxlTmFtZS0+dmFs
dWUoanNHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNp
ZmllcihtX2RvY3VtZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0g
cmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIs
IGJhc2VVUkwpOwogICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gcmVqZWN0UHJvbWlz
ZShnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgcmVzdWx0LmVycm9yKCkpOwogCkBAIC0yODgsNjIg
KzMyMiw5OCBAQCBKU0M6OkpTT2JqZWN0KiBTY3JpcHRNb2R1bGVMb2FkZXI6OmNyZWF0ZUltcG9y
dE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplYwogICAgIHJldHVybiBtZXRhUHJvcGVy
dGllczsKIH0KIAotdm9pZCBTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlciYgbG9hZGVyLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBwcm9t
aXNlKQordm9pZCBTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKE1vZHVsZVNjcmlw
dExvYWRlciYgbW9kdWxlU2NyaXB0TG9hZGVyLCBVUkwmJiBzb3VyY2VVUkwsIFJlZjxEZWZlcnJl
ZFByb21pc2U+IHByb21pc2UpCiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9y
Zy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQK
IAotICAgIFVSTCBzb3VyY2VVUkwgPSBsb2FkZXIuc291cmNlVVJMKCk7Ci0gICAgaWYgKCFtX2xv
YWRlcnMucmVtb3ZlKCZsb2FkZXIpKQorICAgIGlmICghbV9sb2FkZXJzLnJlbW92ZSgmbW9kdWxl
U2NyaXB0TG9hZGVyKSkKICAgICAgICAgcmV0dXJuOwotICAgIGxvYWRlci5jbGVhckNsaWVudCgp
OworICAgIG1vZHVsZVNjcmlwdExvYWRlci5jbGVhckNsaWVudCgpOwogCi0gICAgYXV0byYgY2Fj
aGVkU2NyaXB0ID0gKmxvYWRlci5jYWNoZWRTY3JpcHQoKTsKKyAgICBpZiAobV9vd25lclR5cGUg
PT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0aWNf
Y2FzdDxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIpOworICAg
ICAgICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9hZGVyLmNhY2hlZFNjcmlwdCgpOwogCi0gICAg
aWYgKGNhY2hlZFNjcmlwdC5yZXNvdXJjZUVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkpIHsKLSAg
ICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9h
ZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQucmVzb3VyY2VF
cnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3Qo
VHlwZUVycm9yLCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1Pcmln
aW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC5lcnJvck9jY3VycmVkKCkpIHsKLSAgICAg
ICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoKnByb21pc2UsIE1vZHVsZUZldGNoRmFp
bHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4i
X3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2NyaXB0LmVy
cm9yT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJy
b3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIklt
cG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KIAotICAgIGlmIChjYWNoZWRTY3JpcHQud2FzQ2FuY2VsZWQoKSkgewotICAg
ICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hG
YWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNh
bmNlbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNoZWRT
Y3JpcHQud2FzQ2FuY2VsZWQoKSkgeworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3
b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2Vs
ZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNT
dXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUoY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5
cGUoKSkpIHsKLSAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBh
Z2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKLSAgICAgICAg
Ly8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBo
ZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1F
IHR5cGUuCi0gICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIGZldGNoaW5nIGEgY2xh
c3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5cGUgY2hlY2tpbmcuIEluIGNvbnRy
YXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9hZCBpZiB0aGV5IGFyZSBub3Qgb2Yg
YSBjb3JyZWN0IE1JTUUgdHlwZS4KLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwg
bWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlz
IG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KKyAgICAgICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3Jp
cHRNSU1FVHlwZShjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgeworICAgICAg
ICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBp
cy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKKyAgICAgICAgICAgIC8vIFRoZSBy
ZXN1bHQgb2YgZXh0cmFjdGluZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVhZGVyIGxp
c3QgKGlnbm9yaW5nIHBhcmFtZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLgor
ICAgICAgICAgICAgLy8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2lj
IHNjcmlwdCBkb2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3Qs
IG1vZHVsZSBzY3JpcHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNv
cnJlY3QgTUlNRSB0eXBlLgorICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwg
bWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlz
IG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQogCi0gICAgaWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1l
dGVycygpKSB7Ci0gICAgICAgIGlmICghbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShjYWNoZWRTY3Jp
cHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkgewotICAgICAgICAgICAgcHJvbWlzZS0+cmVq
ZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiQ2Fubm90IGxvYWQgc2NyaXB0ICIsIGludGVncml0
eU1pc21hdGNoRGVzY3JpcHRpb24oY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHko
KSkpKTsKKyAgICAgICAgaWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1ldGVycygp
KSB7CisgICAgICAgICAgICBpZiAoIW1hdGNoSW50ZWdyaXR5TWV0YWRhdGEoY2FjaGVkU2NyaXB0
LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5y
ZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJDYW5ub3QgbG9hZCBzY3JpcHQgIiwgaW50ZWdy
aXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0
eSgpKSkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorCisgICAgICAgIFVSTCByZXNwb25zZVVSTCA9IGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnVy
bCgpOworICAgICAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCBy
ZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJl
c291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0
byBNZW1vcnlDYWNoZS4KKyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVu
dHMgdGhyb3VnaCByZWRpcmVjdGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAorICAgICAgICBpZiAoIWNhY2hlZFNjcmlwdC5o
YXNSZWRpcmVjdGlvbnMoKSAmJiBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5zb3VyY2UoKSAhPSBS
ZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAgICAgICAgICAgIGlm
IChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAgICAgICAgICAgcmVz
cG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZp
ZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFw
LmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsKKyAgICAgICAg
cHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0ds
b2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVh
dGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUg
eyBTY3JpcHRTb3VyY2VDb2RlIHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNv
dXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgp
IH0pOworICAgICAgICB9KTsKKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvJiBsb2FkZXIgPSBz
dGF0aWNfY2FzdDxXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIp
OworICAgICAgICBhdXRvJiB3b3JrZXJTY3JpcHRMb2FkZXIgPSBsb2FkZXIuc2NyaXB0TG9hZGVy
KCk7CisKKyAgICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5mYWlsZWQoKSkgeworICAgICAg
ICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5lcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7
CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgIkNyb3NzLW9yaWdp
biBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9s
aWN5LiJfcyk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSkg
eworICAgICAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2Uu
Z2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEg
bW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3MpOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJy
b3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIklt
cG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KLSAgICB9CiAKLSAgICBVUkwgcmVzcG9uc2VVUkwgPSBjYWNoZWRTY3JpcHQu
cmVzcG9uc2UoKS51cmwoKTsKLSAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwg
d2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJl
IHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBj
YWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNrIGZy
YWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAotICAgIGlmICghY2FjaGVkU2NyaXB0Lmhhc1JlZGly
ZWN0aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnNvdXJjZSgpICE9IFJlc291cmNl
UmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgewotICAgICAgICBpZiAoc291cmNlVVJM
Lmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQotICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJh
Z21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7Ci0gICAgfQor
ICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVU
eXBlKHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZU1JTUVUeXBlKCkpKSB7CisgICAgICAgICAg
ICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0
bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhlIHJlc3Vs
dCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAo
aWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCisgICAg
ICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNzaWMgc2Ny
aXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFzdCwgbW9k
dWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEgY29ycmVj
dCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtl
U3RyaW5nKCInIiwgd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlTUlNRVR5cGUoKSwgIicgaXMg
bm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CiAKLSAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3Vy
Y2VVUkwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsKLSAgICBwcm9taXNlLT5yZXNv
bHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7
Ci0gICAgICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0
LnZtKCksCi0gICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsg
JmNhY2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9h
ZGVyLnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOwotICAgIH0pOworICAgICAg
ICBVUkwgcmVzcG9uc2VVUkwgPSB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VVUkwoKTsKKwor
ICAgICAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5n
KCksIHJlc3BvbnNlVVJMKTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhb
Jl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0
dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAg
ICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgd29ya2VyU2Ny
aXB0TG9hZGVyLnNjcmlwdCgpLCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSwgeyB9LCBKU0M6OlNvdXJj
ZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNT
b3VyY2VDb2RlKCkgfSk7CisgICAgICAgIH0pOworICAgIH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaAppbmRleCBkZTI5ZDJmNGJm
MDk2YjYwYzM2OTk4MDMxNmMxNDg2YjI4MmFiZjA5Li5kZjM0ZDU1MWExMWNkOThmNGUyMzZhMmFh
MWY0ODI3OWQ5NjRjNjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRNb2R1bGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRNb2R1bGVMb2FkZXIuaApAQCAtMjUsOCArMjUsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lu
Y2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIgotI2luY2x1ZGUgIkNhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlci5oIgor
I2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTQ0pTVmFsdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDUsMTYgKzQ1LDE3IEBAIGNsYXNzIFNvdXJjZU9yaWdp
bjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9N
R2xvYmFsT2JqZWN0OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAotY2xhc3MgU2Ny
aXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQgeworY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdE1vZHVs
ZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0
IFNjcmlwdE1vZHVsZUxvYWRlcihEb2N1bWVudCYpOworICAgIGVudW0gY2xhc3MgT3duZXJUeXBl
IDogdWludDhfdCB7IERvY3VtZW50LCBXb3JrZXJPcldvcmtsZXQgfTsKKyAgICBleHBsaWNpdCBT
Y3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE93bmVyVHlwZSk7CiAg
ICAgflNjcmlwdE1vZHVsZUxvYWRlcigpOwogCi0gICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgeyBy
ZXR1cm4gbV9kb2N1bWVudDsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQo
KSB7IHJldHVybiBtX2NvbnRleHQ7IH0KIAogICAgIEpTQzo6SWRlbnRpZmllciByZXNvbHZlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1v
ZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNj
cmlwdEZldGNoZXIpOwogICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIGZldGNoKEpTQzo6SlNH
bG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtl
eSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsK
QEAgLTYzLDEzICs2NCwxNSBAQCBjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2
YXRlIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CiAgICAgSlNDOjpKU09iamVjdCog
Y3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNN
b2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpT
VmFsdWUpOwogCiBwcml2YXRlOgotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4pIGZpbmFsOworICAgIHZvaWQg
bm90aWZ5RmluaXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFBy
b21pc2U+KSBmaW5hbDsKKwogICAgIFVSTCBtb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYs
IEpTQzo6SlNWYWx1ZSk7CiAgICAgVVJMIHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpK
U0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAKLSAgICBEb2N1bWVudCYgbV9kb2N1bWVu
dDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgSGFzaE1hcDxT
dHJpbmcsIFVSTD4gbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcDsKLSAgICBIYXNoU2V0PFJl
ZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+PiBtX2xvYWRlcnM7CisgICAgSGFzaFNldDxSZWY8
TW9kdWxlU2NyaXB0TG9hZGVyPj4gbV9sb2FkZXJzOworICAgIE93bmVyVHlwZSBtX293bmVyVHlw
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg2ZmU3ZTc3ZThmOTllZTM5MDMyNGQyNzM0MGM1NDRkYjJiZDRlOWYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIu
Y3BwCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisKKyNpbmNsdWRlICJDYWNoZWRT
Y3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCisjaW5jbHVkZSAi
RnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgorI2luY2x1
ZGUgIlJlc291cmNlTG9hZGVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIu
aCIKKyNpbmNsdWRlICJTY3JpcHRNb2R1bGVMb2FkZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRTb3Vy
Y2VDb2RlLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4gV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyOjpjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVy
cmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwg
UmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQoreworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2Us
IHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykpKTsKK30KKworV29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0
Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzKQorICAgIDogTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCkKKyAgICAsIG1fcHJvbWlz
ZSgmcHJvbWlzZSkKKyAgICAsIG1fc2NyaXB0RmV0Y2hlcihzY3JpcHRGZXRjaGVyKQorICAgICwg
bV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCisgICAgLCBtX3NjcmlwdExvYWRlcihX
b3JrZXJTY3JpcHRMb2FkZXI6OmNyZWF0ZSgpKQoreworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRM
b2FkZXI6On5Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoKQoreworICAgIG1fc2NyaXB0TG9hZGVy
LT5jYW5jZWwoKTsKK30KKworYm9vbCBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgVVJMJiYgc291cmNlVVJMKQoreworICAgIG1f
c291cmNlVVJMID0gV1RGTW92ZShzb3VyY2VVUkwpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QgeyBtX3NvdXJjZVVSTCB9OworCisgICAgRmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsK
KyAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6Q29yczsKKyAgICBm
ZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9wdGlvbnM6OkNhY2hlOjpEZWZhdWx0OworICAgIGZl
dGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6UmVkaXJlY3Q6OkZvbGxvdzsKKyAg
ICAvLyBGSVhNRTogUHJvcGFnYXRlIGNyZWRlbnRpYWxzLgorICAgIC8vIGZldGNoT3B0aW9ucy5j
cmVkZW50aWFscyA9IHNjcmlwdEZldGNoSm9iLmNyZWRlbnRpYWxzOworICAgIGF1dG8gY29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBjb250ZXh0LnNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQ6OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZv
cmNlQ2hpbGRTcmNEaXJlY3RpdmU7CisKKyAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJv
bm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0Y2hPcHRpb25zKSwg
Y29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxs
LCAqdGhpcyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgV29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyOjpub3RpZnlGaW5pc2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisKKyAg
ICBhdXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsKKyAgICBpZiAobV9jbGllbnQp
CisgICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJj
ZVVSTCksIG1fcHJvbWlzZS5yZWxlYXNlTm9uTnVsbCgpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mNGQ5NzdiZjFjMDQyZDcwNTU5NzJkZWJjYjQ0MWY5ODFmOGIyMTFkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyLmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9h
ZGVyQ2xpZW50LmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBKU0RP
TUdsb2JhbE9iamVjdDsKK2NsYXNzIE1vZHVsZUZldGNoUGFyYW1ldGVyczsKK2NsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFz
cyBXb3JrZXJTY3JpcHRMb2FkZXI7CisKK2NsYXNzIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciBm
aW5hbCA6IHB1YmxpYyBNb2R1bGVTY3JpcHRMb2FkZXIsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9h
ZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdvcmtlck1vZHVsZVNjcmlwdExv
YWRlcj4gY3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYs
IENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsK
KworICAgIHZpcnR1YWwgfldvcmtlck1vZHVsZVNjcmlwdExvYWRlcigpOworCisgICAgYm9vbCBs
b2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBVUkwmJiBzb3VyY2VVUkwpOworCisgICAgQ2Fj
aGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlcigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hl
ci5nZXQoKTsgfQorICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyogcGFyYW1ldGVycygpIHsgcmV0
dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQorICAgIFdvcmtlclNjcmlwdExvYWRlciYgc2NyaXB0
TG9hZGVyKCkgeyByZXR1cm4gbV9zY3JpcHRMb2FkZXIuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAg
ICBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVm
ZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBh
cmFtZXRlcnM+JiYpOworCisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9u
ZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsIHsgfQorICAgIHZvaWQgbm90aWZ5Rmlu
aXNoZWQoKSBmaW5hbDsKKworICAgIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IG1fcHJvbWlzZTsK
KyAgICBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVyOworICAgIFJlZlB0
cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVyczsKKyAgICBSZWY8V29ya2VyU2Ny
aXB0TG9hZGVyPiBtX3NjcmlwdExvYWRlcjsKKyAgICBVUkwgbV9zb3VyY2VVUkw7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5YjIxMzhi
NzdjMTgwZDcyMDk1MTgwMGUxNGUzNDdhMTQzZTk3MTcxLi41NGNmZjA0YTk2ZGJjODA5ZDYzNmFh
ZWM4ZWNiMjA1ZTQ2NzdmMDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYxNSw3ICs2
MTUsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBTZXR0aW5ncyYg
c2V0dGluZ3MsIGNvbnN0IFVSTCYgdXJsLCBEb2N1bQogICAgICwgbV9kb2N1bWVudENyZWF0aW9u
VGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKICNlbmRpZgogICAgICwgbV9zY3JpcHRSdW5uZXIo
bWFrZVVuaXF1ZTxTY3JpcHRSdW5uZXI+KCp0aGlzKSkKLSAgICAsIG1fbW9kdWxlTG9hZGVyKG1h
a2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRl
cihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRl
cjo6T3duZXJUeXBlOjpEb2N1bWVudCkpCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgLCBtX2FwcGx5
UGVuZGluZ1hTTFRyYW5zZm9ybXNUaW1lcigqdGhpcywgJkRvY3VtZW50OjphcHBseVBlbmRpbmdY
U0xUcmFuc2Zvcm1zVGltZXJGaXJlZCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2Fk
YWJsZU1vZHVsZVNjcmlwdC5jcHAKaW5kZXggOWEyNWMxNjU4OGVlY2FkNjc4ZmI5MTFlYzg2MjJm
NDI0MjU5MmI1YS4uNDhlYzA4NTFhNDU3ZDliYTQ3NDczZmVjMjhkN2I0OTMxMmI3ODhiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCkBAIC04OCwxNiAr
ODgsNCBAQCB2b2lkIExvYWRhYmxlTW9kdWxlU2NyaXB0OjpleGVjdXRlKFNjcmlwdEVsZW1lbnQm
IHNjcmlwdEVsZW1lbnQpCiAgICAgc2NyaXB0RWxlbWVudC5leGVjdXRlTW9kdWxlU2NyaXB0KCp0
aGlzKTsKIH0KIAotdm9pZCBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9j
dW1lbnQsIGNvbnN0IFVSTCYgcm9vdFVSTCkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1
bWVudC5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgq
dGhpcywgcm9vdFVSTC5zdHJpbmcoKSwgbV9wYXJhbWV0ZXJzLmNvcHlSZWYoKSk7Ci19Ci0KLXZv
aWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBT
Y3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRv
Y3VtZW50LmZyYW1lKCkpCi0gICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0
KCp0aGlzLCBzb3VyY2VDb2RlKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVN
b2R1bGVTY3JpcHQuaAppbmRleCBiYjc5OTU0ZDdiOTliMGVkMDZiZmU1NWVmODU0ZWNjZTIxZjM1
ODc3Li5kMjUzNTk2M2Y2NDhiMDJhOGEwMWZkNjNiYjFlMzgxMzg2Y2VlNDM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaApAQCAtNTAsMTUgKzUwLDE0IEBAIGNs
YXNzIExvYWRhYmxlTW9kdWxlU2NyaXB0IGZpbmFsIDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsK
IAogICAgIHZvaWQgc2V0RXJyb3IoRXJyb3ImJik7CiAKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQm
LCBjb25zdCBVUkwmIHJvb3RVUkwpOwotICAgIHZvaWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFNj
cmlwdFNvdXJjZUNvZGUmKTsKLQogICAgIHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVk
U3RyaW5nSW1wbCYpOwogICAgIHZvaWQgbm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6
RXJyb3ImJik7CiAgICAgdm9pZCBub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKIAogICAgIFVuaXF1
ZWRTdHJpbmdJbXBsKiBtb2R1bGVLZXkoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQo
KTsgfQogCisgICAgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4g
bV9wYXJhbWV0ZXJzLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgTG9hZGFibGVNb2R1bGVTY3Jp
cHQoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVy
UG9saWN5LCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFy
c2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRT
aGFkb3dUcmVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDA1NzU4
YjYwMGM3NTIyYjQ3ZjM2NGJhNmExOGQzNWYxNzMxMTA3ZjkuLjVlOTlmMGY1Nzc3YjNiMjE1OGRk
MGZhNGJjMzgyNzc2Y2RiMzQ4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAK
QEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCIKICNp
bmNsdWRlICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0
cnkuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJQZW5k
aW5nU2NyaXB0LmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCiAjaW5j
bHVkZSAiU1ZHU2NyaXB0RWxlbWVudC5oIgpAQCAtMzUxLDggKzM1MiwxMSBAQCBib29sIFNjcmlw
dEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRT
dGFydFBvc2l0aW9uKQogICAgICAgICAgICAgc2NyaXB0Q2hhcnNldCgpLAogICAgICAgICAgICAg
bV9lbGVtZW50LmxvY2FsTmFtZSgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdl
bnRTaGFkb3dUcmVlKCkpOwotICAgICAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50
KCksIG1vZHVsZVNjcmlwdFJvb3RVUkwpOwogICAgICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RG
TW92ZShzY3JpcHQpOworICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1l
bnQoKS5mcmFtZSgpKSB7CisgICAgICAgICAgICBhdXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2Fk
YWJsZU1vZHVsZVNjcmlwdD4oKm1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpOworICAgICAgICAgICAg
ZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoc2NyaXB0LCBtb2R1bGVTY3JpcHRSb290
VVJMLnN0cmluZygpLCBtYWtlUmVmKHNjcmlwdC5wYXJhbWV0ZXJzKCkpKTsKKyAgICAgICAgfQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTM2Nyw4ICszNzEsOSBAQCBib29sIFNj
cmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3Jp
cHRTdGFydFBvc2l0aW9uKQogICAgIGlmICghY29udGVudFNlY3VyaXR5UG9saWN5LmFsbG93SW5s
aW5lU2NyaXB0KG1fZWxlbWVudC5kb2N1bWVudCgpLnVybCgpLnN0cmluZygpLCBtX3N0YXJ0TGlu
ZU51bWJlciwgc291cmNlQ29kZS5zb3VyY2UoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIGhh
c0tub3duTm9uY2UpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzY3JpcHQtPmxvYWQo
bV9lbGVtZW50LmRvY3VtZW50KCksIHNvdXJjZUNvZGUpOwogICAgIG1fbG9hZGFibGVTY3JpcHQg
PSBXVEZNb3ZlKHNjcmlwdCk7CisgICAgaWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3Vt
ZW50KCkuZnJhbWUoKSkKKyAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQo
ZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVTY3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKSwg
c291cmNlQ29kZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmNwcAppbmRleCA2MmY5MTdhMzY3ODE5ZGVjM2NkNDEwZDk3NjY5NWNlZTYyZjZkNGI5Li43YzIy
NDlhM2EyYWY5NTE4MjNhZTc5OTVlYzEzNzFhZGZiYjE0YWFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuY3BwCkBAIC03MCw2ICs3MCw4IEBAIGlubGluZSBXb3JrZXI6OldvcmtlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lCiAgICAg
LCBtX2lkZW50aWZpZXIoIndvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6
OmNyZWF0ZUlkZW50aWZpZXIoKSkKICAgICAsIG1fY29udGV4dFByb3h5KFdvcmtlckdsb2JhbFNj
b3BlUHJveHk6OmNyZWF0ZSgqdGhpcykpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxh
Z3MpCisgICAgLCBtX3R5cGUob3B0aW9ucy50eXBlKQorICAgICwgbV9jcmVkZW50aWFscyhvcHRp
b25zLmNyZWRlbnRpYWxzKQogewogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAg
aWYgKCFhZGRlZExpc3RlbmVyKSB7CkBAIC0xMTMsMTAgKzExNSwxMyBAQCBFeGNlcHRpb25PcjxS
ZWY8V29ya2VyPj4gV29ya2VyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgSlNDOjpSdQogCiAgICAgRmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKICAgICBmZXRjaE9w
dGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsKKyAgICBpZiAod29y
a2VyLT5tX3R5cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlKQorICAgICAgICBmZXRjaE9wdGlvbnMu
Y3JlZGVudGlhbHMgPSB3b3JrZXItPm1fY3JlZGVudGlhbHM7CiAgICAgZmV0Y2hPcHRpb25zLmNh
Y2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKICAgICBmZXRjaE9wdGlvbnMucmVk
aXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAgICAgZmV0Y2hPcHRpb25z
LmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyOwotICAgIHdv
cmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3Zl
KHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVu
Zm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgd29ya2VyKTsKKyAgICB3b3JrZXIt
Pm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1
ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNl
bWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSk7CisKICAgICByZXR1
cm4gd29ya2VyOwogfQogCkBAIC0yMTUsNyArMjIwLDcgQEAgdm9pZCBXb3JrZXI6Om5vdGlmeUZp
bmlzaGVkKCkKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSA9IFJlZmVycmVyUG9s
aWN5OjpFbXB0eVN0cmluZzsKICAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9s
aWN5KG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJj
ZTo6SFRUUEhlYWRlcikpCiAgICAgICAgIHJlZmVycmVyUG9saWN5ID0gKnBvbGljeTsKLSAgICBt
X2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwo
KSwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNP
bmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBtX3J1bnRpbWVGbGFncyk7
CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRl
ci0+dXJsKCksIG1fbmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwo
KSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV90eXBlLCBt
X2NyZWRlbnRpYWxzLCBtX3J1bnRpbWVGbGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpzY3JpcHRJbXBvcnRlZCgqY29udGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIo
KSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgK
aW5kZXggNTNmNWU2ZmZmMjdjOWZhM2U1YzBlMDFmMGY2YzQyYzZjYjZmOWQwZS4uMzhhNjIzYTk4
ZGJhMzVmZjgwMTNjZDZmYzhjODVjODEwMjA1MDIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5o
CkBAIC0yOSw5ICsyOSwxMSBAQAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1
ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkV2
ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNs
dWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2lu
Y2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx3
dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgpAQCAtNTUsNiAr
NTcsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1Ymxp
YyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29yawogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoV29ya2VyKTsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAgICAgIFdvcmtl
clR5cGUgdHlwZTsKKyAgICAgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7
CiAgICAgICAgIFN0cmluZyBuYW1lOwogICAgIH07CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJl
ZjxXb3JrZXI+PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZs
YWdzLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgT3B0aW9ucyYpOwpAQCAtNzksNiArODMsOCBA
QCBjbGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QsIHByaXZhdGUgV29yawogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2Jh
bFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKICNlbmRp
ZgogCisgICAgV29ya2VyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKIHBy
aXZhdGU6CiAgICAgZXhwbGljaXQgV29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6
OlJ1bnRpbWVGbGFncywgY29uc3QgT3B0aW9ucyYpOwogCkBAIC0xMTIsNiArMTE4LDggQEAgY2xh
c3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0LCBwcml2YXRlIFdvcmsKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0
cmluZz4gbV90cmFuc2Zvcm1lcnM7CiAjZW5kaWYKKyAgICBXb3JrZXJUeXBlIG1fdHlwZSB7IFdv
cmtlclR5cGU6OkNsYXNzaWMgfTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBtX2NyZWRl
bnRpYWxzIHsgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4gfTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCA0NWQ2
YTA4Njc4NTRlZTQwNGRlN2U3ZDAxMjQ4Y2ViZjQ0ZGNhN2VkLi43MDIxNzk2ZGY1MDRhZGY4ZTZi
OTU4OWFjZTlmMTQ0ODIxZjI5NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0z
OCw2ICszOCw4IEBACiB9OwogCiBkaWN0aW9uYXJ5IFdvcmtlck9wdGlvbnMgeworICAgIFdvcmtl
clR5cGUgdHlwZSA9ICJjbGFzc2ljIjsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVk
ZW50aWFscyA9ICJzYW1lLW9yaWdpbiI7IC8vIGNyZWRlbnRpYWxzIGlzIG9ubHkgdXNlZCBpZiB0
eXBlIGlzICJtb2R1bGUiCiAgICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA0NmQ0OWQ5NGM1MjM4ZTQ2
ODhkMzk1ZDg3YzIwNjNlYjU3MjBkMWJmLi4zODQxYTc4MWQ4NWQxNjBkNDAzNmNmMDBiN2QwZTM5
ZTAwZWExYWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5o
CkBAIC0xNjMsOCArMTYzLDYgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3Vw
cGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+LCBwdWJsaWMgQmFzZTYKICAgICBtdXRhYmxl
IFJlZlB0cjxXb3JrZXJMb2NhdGlvbj4gbV9sb2NhdGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxX
b3JrZXJOYXZpZ2F0b3I+IG1fbmF2aWdhdG9yOwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtl
ck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+IG1fc2NyaXB0OwotCiAgICAgYm9vbCBtX2lzT25s
aW5lOwogICAgIGJvb2wgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3k7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmgKaW5kZXggNDAwMDNjM2UwMTA5OTk2MGY2NDc4NjFlNzAxNjg3ZDBlMzcxZDcyZC4uZWQ2NzNh
YzhmN2MwZWU1NGMwNjBlY2I1OTIxNjM5MGVkNzBmZTJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xh
c3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdvcmtlckds
b2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdGFy
dFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYs
IGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3Mp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdl
V2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RUYXNrVG9Xb3Jr
ZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJikg
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNw
cAppbmRleCAxOWQ0YmU2NDk5MmYzMGQzY2NlNzY1NDdhM2QyMjE4YTk4Yzg0MmMzLi43ODgzNTg3
YTdhZjYyMDllM2VjYzhlN2I0MWJhZDQ3YWRmNjIyNDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtNzMsNyArNzMsNyBAQCBXb3Jr
ZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAgfHwgKGlz
PFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBkb3duY2Fz
dDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkudGhyZWFkKCku
dGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAKLXZvaWQgV29ya2VyTWVzc2Fn
aW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVG
bGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJl
clBvbGljeSByZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJlcXVl
c3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdz
KQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2aXNpdGVkIHdoZW4gd2Ugc3Vw
cG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0KTsKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3Rh
cnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3QKIAogICAg
IFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9IGRvY3VtZW50LnNvY2tldFByb3ZpZGVy
KCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsgc2NyaXB0VVJMLCBuYW1lLCBp
ZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
dGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCkgfTsK
KyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsgc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlm
aWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdGltZU9y
aWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUsIGNyZWRlbnRpYWxzLCBkb2N1bWVudC5z
ZXR0aW5nc1ZhbHVlcygpIH07CiAgICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQ6OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0
TW9kZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGlt
ZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0ZWQodGhyZWFkLmdldCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCBjNWI1NzVi
OWU2MTViM2YzZjU5NmJmYzNkZjY4M2M4NzdjYzYyYmFiLi5kOWU4MWUxNTdhMGY0ODUyZTQ5YjU5
ZDI1NjZhOGE4MGY1ZjgxOGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5oCkBAIC01MCw3ICs1MCw3IEBAIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1By
b3h5IGZpbmFsIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFdvcmtlck1lc3NhZ2luZ1By
CiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3JrZXJHbG9iYWxTY29wZVBy
b3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5jdGlvbnMgaW4gdGhlIHdvcmtlciBvYmpl
Y3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJv
b2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xp
Y3ksIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFs
U2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxz
LCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9i
YWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3Bl
KE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFsOwogICAgIHZvaWQgcG9zdFRhc2tUb1dv
cmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYm
KSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggMjM4NGE1YThjN2QyYTMwMmVlZTVjYjQwNWUxMDVlMDI1
Yzk4NDNjYy4uZjRmNGIyNzQ2NmY5YTMwYjI4YjhiMjFmNmYyYmVmOGJkZTkzODUxNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9h
ZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyRXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiV29ya2VySW5z
cGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXIuaCIKQEAgLTM5LDYgKzQwLDcgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlKTsKIAogV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU6
Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUgdHlwZSwgUmVmPEpT
Qzo6Vk0+JiYgdm0sIFdvcmtlck9yV29ya2xldFRocmVhZCogdGhyZWFkKQogICAgIDogbV9zY3Jp
cHQobWFrZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPih0eXBlLCBXVEZN
b3ZlKHZtKSwgdGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1v
ZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpXb3JrZXJP
cldvcmtsZXQpKQogICAgICwgbV90aHJlYWQodGhyZWFkKQogICAgICwgbV9pbnNwZWN0b3JDb250
cm9sbGVyKG1ha2VVbmlxdWU8V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcj4oKnRoaXMpKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZS5oCmluZGV4IDZjMjQ0YTBjNDI3ZWUxYzhjNjVmZGNjNzY1OTUyZjg3N2ZkOWIxNmIuLjU0NGYw
NDdhZWMyNzgzMjc0NGQwYThhNzBhZjdlOTM5YzMzMDk5MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTMyLDYgKzMy
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZlbnRMb29wVGFza0dyb3VwOwor
Y2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyOwogY2xhc3MgV29ya2VyRXZlbnRMb29wOwogY2xhc3Mg
V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIFdvcmtlck9yV29ya2xldFNjcmlwdENv
bnRyb2xsZXI7CkBAIC01NCw2ICs1NSw4IEBAIGNsYXNzIFdvcmtlck9yV29ya2xldEdsb2JhbFNj
b3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHB1YmxpYyBSZWZDb3VuCiAKICAg
ICB1bnNpZ25lZCBsb25nIGNyZWF0ZVVuaXF1ZUlkZW50aWZpZXIoKSB7IHJldHVybiBtX3VuaXF1
ZUlkZW50aWZpZXIrKzsgfQogCisgICAgU2NyaXB0TW9kdWxlTG9hZGVyJiBtb2R1bGVMb2FkZXIo
KSB7IHJldHVybiAqbV9tb2R1bGVMb2FkZXI7IH0KKwogICAgIC8vIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuCiAgICAgRXZlbnRMb29wVGFza0dyb3VwJiBldmVudExvb3AoKSBmaW5hbDsKICAgICBi
b29sIGlzQ29udGV4dFRocmVhZCgpIGNvbnN0IGZpbmFsOwpAQCAtODgsNiArOTEsNyBAQCBjbGFz
cyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBwdWJsaWMgUmVmQ291bgogICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsg
ZGVyZWYoKTsgfQogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck9yV29ya2xldFNjcmlwdENv
bnRyb2xsZXI+IG1fc2NyaXB0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTY3JpcHRNb2R1bGVMb2Fk
ZXI+IG1fbW9kdWxlTG9hZGVyOwogICAgIFdvcmtlck9yV29ya2xldFRocmVhZCogbV90aHJlYWQ7
CiAgICAgUmVmUHRyPFdvcmtlckV2ZW50TG9vcD4gbV9ldmVudExvb3A7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPEV2ZW50TG9vcFRhc2tHcm91cD4gbV9kZWZhdWx0VGFza0dyb3VwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlci5jcHAKaW5kZXggY2Q0ZWMyNDY4MjUyNWFhYmM2NDJkODc3YTBkYTAxMWViZGUxMTQzMS4u
ZDNlMzdmMjQ5MDQ1ODA0ZWNjNmUyNzM4NDJhZDQzZTU3OWQ4ZmUwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXIuY3BwCkBAIC0zNSw2ICszNSw5IEBACiAjaW5jbHVkZSAiSlNFeGVjU3RhdGUuaCIKICNpbmNs
dWRlICJKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNTZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIgorI2lu
Y2x1ZGUgIk1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBh
cmFtZXRlcnMuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZUpTQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckNvbnNvbGVDbGllbnQuaCIKQEAg
LTQzLDcgKzQ2LDEyIEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXhjZXB0aW9uLmg+CiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXhjZXB0aW9uSGVscGVycy5oPgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0dDQWN0aXZpdHlDYWxsYmFjay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0pTSW50ZXJuYWxQcm9taXNlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNMb2Nr
Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNNb2R1bGVSZWNvcmQuaD4KKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU05hdGl2ZVN0ZEZ1bmN0aW9uLmg+CisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNTY3JpcHRGZXRjaFBhcmFtZXRlcnMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9KU1NjcmlwdEZldGNoZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmdJ
bmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIyOCw2ICsyMzYsMTM0IEBAIHZv
aWQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29uc3QgU2NyaXB0
U291cmNlQ29kZSYgc291cmNlQ29kCiAgICAgfQogfQogCitzdGF0aWMgSWRlbnRpZmllciBqc1Zh
bHVlVG9Nb2R1bGVLZXkoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFs
dWUgdmFsdWUpCit7CisgICAgaWYgKHZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVybiBJ
ZGVudGlmaWVyOjpmcm9tVWlkKGpzQ2FzdDxTeW1ib2wqPih2YWx1ZSktPnByaXZhdGVOYW1lKCkp
OworICAgIEFTU0VSVCh2YWx1ZS5pc1N0cmluZygpKTsKKyAgICByZXR1cm4gYXNTdHJpbmcodmFs
dWUpLT50b0lkZW50aWZpZXIobGV4aWNhbEdsb2JhbE9iamVjdCk7Cit9CisKK0pTQzo6SlNWYWx1
ZSBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZU1vZHVsZShKU0M6OkpT
TW9kdWxlUmVjb3JkJiBtb2R1bGVSZWNvcmQpCit7CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0g
Km1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC52
bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICByZXR1cm4gbW9kdWxlUmVj
b3JkLmV2YWx1YXRlKCZnbG9iYWxPYmplY3QpOworfQorCitNZXNzYWdlUXVldWVXYWl0UmVzdWx0
IFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5
KExvYWRhYmxlTW9kdWxlU2NyaXB0JiBtb2R1bGVTY3JpcHQsIGNvbnN0IFNjcmlwdFNvdXJjZUNv
ZGUmIHNvdXJjZUNvZGUpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAg
ICAgIHJldHVybiBNZXNzYWdlUXVldWVUZXJtaW5hdGVkOworCisgICAgaW5pdFNjcmlwdElmTmVl
ZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIu
Z2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVy
IGxvY2sgeyB2bSB9OworCisgICAgUmVmUHRyPExvYWRhYmxlTW9kdWxlU2NyaXB0PiBtb2R1bGVT
Y3JpcHRSZWY7CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3RhdGU6Omxv
YWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgpLCBKU0M6OkpT
U2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCB7ICZtb2R1bGVTY3JpcHQgfSkpOworCisgICAgICAg
IG1vZHVsZVNjcmlwdFJlZiA9ICZtb2R1bGVTY3JpcHQ7CisKKyAgICAgICAgYXV0byYgZnVsZmls
bEhhbmRsZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0
LCAxLCBTdHJpbmcoKSwgW21vZHVsZVNjcmlwdFJlZl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIC0+IEpTQzo6RW5jb2RlZEpTVmFsdWUgeworICAg
ICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgICAgICAgICAgSWRlbnRpZmllciBt
b2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPmFy
Z3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7
CisgICAgICAgICAgICBtb2R1bGVTY3JpcHRSZWYtPm5vdGlmeUxvYWRDb21wbGV0ZWQoKm1vZHVs
ZUtleS5pbXBsKCkpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFuZGxlciA9ICpK
U05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygp
LCBbbW9kdWxlU2NyaXB0UmVmXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJh
bWUqIGNhbGxGcmFtZSkgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgp
OworICAgICAgICAgICAgSlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgw
KTsKKyAgICAgICAgICAgIGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAgICAgICAg
ICAgICBhdXRvKiBvYmplY3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAgICAg
ICAgICAgIGlmIChKU1ZhbHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdldERpcmVjdCh2
bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRpbk5h
bWVzKCkuZmFpbHVyZUtpbmRQcml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgICAgICAgICAv
LyBUaGlzIGlzIGhvc3QgcHJvcGFnYXRlZCBlcnJvciBpbiB0aGUgbW9kdWxlIGxvYWRlciBwaXBl
bGluZS4KKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxNb2R1bGVGZXRj
aEZhaWx1cmVLaW5kPihmYWlsdXJlS2luZFZhbHVlLmFzSW50MzIoKSkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAgICAg
ICAgICAgICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRh
YmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGFibGVT
Y3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFdURjo6bnVsbG9wdAorICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRj
aEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVs
ZVNjcmlwdFJlZi0+bm90aWZ5TG9hZFdhc0NhbmNlbGVkKCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hf
U0NPUEUodm0pOworICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVk
KExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6
OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0
OjpDb25zb2xlTWVzc2FnZSB7CisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VTb3VyY2U6OkpT
LAorICAgICAgICAgICAgICAgICAgICBNZXNzYWdlTGV2ZWw6OkVycm9yLAorICAgICAgICAgICAg
ICAgICAgICByZXRyaWV2ZUVycm9yTWVzc2FnZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1
ZSwgc2NvcGUpLAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisK
KyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxPYmplY3QsICZmdWxmaWxsSGFuZGxlciwgJnJl
amVjdEhhbmRsZXIpOworICAgIH0KKyAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJm
b3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworCisgICAgLy8gRHJpdmUgUnVuTG9vcCB1bnRpbCB3
ZSBnZXQgZWl0aGVyIG9mICJXb3JrZXIgaXMgdGVybWluYXRlZCIsICJMb2FkaW5nIGlzIGRvbmUi
LCBvciAiTG9hZGluZyBpcyBmYWlsZWQiLgorICAgIFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSBt
X2dsb2JhbFNjb3BlLT53b3JrZXJPcldvcmtsZXRUaHJlYWQoKS0+cnVuTG9vcCgpOworCisgICAg
TWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2
ZWQ7CisgICAgd2hpbGUgKCghbW9kdWxlU2NyaXB0UmVmLT5pc0xvYWRlZCgpICYmICFtb2R1bGVT
Y3JpcHRSZWYtPndhc0NhbmNlbGVkKCkpICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5h
dGVkKQorICAgICAgICByZXN1bHQgPSBydW5Mb29wLnJ1bkluTW9kZShtX2dsb2JhbFNjb3BlLCBX
b3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKworICAgIC8vIEZJWE1FOiBDdXJyZW50bHkg
d2UgYXJlIG5vdCBvZmZlcmluZyBjYW5jZWxsaW5nLgorICAgIC8vIGlmICghbG9hZGVyLT5kb25l
KCkgJiYgcmVzdWx0ID09IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpCisgICAgLy8gICAgIGxvYWRl
ci0+Y2FuY2VsKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFdvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShMb2FkYWJsZU1vZHVs
ZVNjcmlwdCYgbW9kdWxlU2NyaXB0LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2Rl
LCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRp
b25Gb3JiaWRkZW4oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVk
KCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0
KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxv
Y2sgeyB2bSB9OworCisgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhjZXB0
aW9uOworICAgIEpTRXhlY1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoZ2xvYmFsT2JqZWN0
LCBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCBtb2R1bGVTY3JpcHQubW9kdWxlS2V5KCkpLCBqc1Vu
ZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgaWYgKChyZXR1cm5lZEV4Y2VwdGlv
biAmJiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0aW9u
KSkgfHwgaXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgIGZvcmJpZEV4ZWN1dGlv
bigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJldHVybmVkRXhjZXB0aW9u
KSB7CisgICAgICAgIGlmIChtX2dsb2JhbFNjb3BlLT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxzKHNv
dXJjZUNvZGUuY2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJsKCkuc3RyaW5nKCkpKSB7Cisg
ICAgICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4gYXJi
aXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4KKyAg
ICAgICAgICAgIC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQgcHJv
cGVybHksIGlmIGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAgICAg
IGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVybmVk
RXhjZXB0aW9uTWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3RyaW5n
KCZnbG9iYWxPYmplY3QpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gT3Zlcndy
aXRlIHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAgICAgICAgICAg
IFN0cmluZyBnZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNjcmlwdCBlcnJvci4iX3MgfTsKKyAgICAg
ICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJl
dHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNFcnJvck1lc3NhZ2U7CisgICAgICAgICAg
ICByZXR1cm5lZEV4Y2VwdGlvbiA9IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGNyZWF0ZUVy
cm9yKCZnbG9iYWxPYmplY3QsIGdlbmVyaWNFcnJvck1lc3NhZ2UpKTsKKyAgICAgICAgfQorICAg
IH0KK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5h
bWUgSlNHbG9iYWxTY29wZSwgdHlwZW5hbWUgR2xvYmFsU2NvcGU+CiB2b2lkIFdvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXI6OmluaXRTY3JpcHRXaXRoU3ViY2xhc3MoKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXIuaAppbmRleCBjNDkzMDFhZWQzZGQwODlkYTc5NzMyNzYwY2FmMmY3YjY0ZGIxMWI2Li5j
MzZkMTlmMDk4ZjU5OWU1NWVhMDM4NjRiMmRlODgzZWY1NDZkYzViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIu
aApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTUnVuTG9vcFRp
bWVyLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTG9jay5oPgor
I2luY2x1ZGUgPHd0Zi9NZXNzYWdlUXVldWUuaD4KICNpbmNsdWRlIDx3dGYvTmFrZWRQdHIuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NCw2ICs0NSw3IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0
OwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNz
IExvYWRhYmxlTW9kdWxlU2NyaXB0OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIGNsYXNzIFdv
cmtlckNvbnNvbGVDbGllbnQ7CiBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTsKQEAg
LTk0LDYgKzk2LDExIEBAIGNsYXNzIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIgewog
ICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIFN0cmluZyogcmV0dXJu
ZWRFeGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAgICAgdm9pZCBldmFsdWF0ZShjb25zdCBT
Y3JpcHRTb3VyY2VDb2RlJiwgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+JiByZXR1cm5lZEV4Y2Vw
dGlvbiwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKIAorICAg
IEpTQzo6SlNWYWx1ZSBldmFsdWF0ZU1vZHVsZShKU0M6OkpTTW9kdWxlUmVjb3JkJik7CisKKyAg
ICB2b2lkIGxpbmtBbmRFdmFsdWF0ZU1vZHVsZShMb2FkYWJsZU1vZHVsZVNjcmlwdCYsIGNvbnN0
IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51
bGxwdHIpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3Vz
bHkoTG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7CisKIHBy
b3RlY3RlZDoKICAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSogZ2xvYmFsU2NvcGUoKSBj
b25zdCB7IHJldHVybiBtX2dsb2JhbFNjb3BlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMyMjYxOWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1
NzgzLi4zZTk2OGI1NmJhNjFjNjJjNGJjYjQxMTVlZGFmYjA1NDc4NjRjZGIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0yOCwxMCArMjgsMTIgQEAKICNpbmNs
dWRlICJXb3JrZXJUaHJlYWQuaCIKIAogI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Qcm94eS5oIgor
I2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNl
Q29kZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU29ja2V0UHJv
dmlkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTUsNiArNTcsOCBAQCBXb3JrZXJQYXJhbWV0ZXJz
IFdvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgICAgIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgdGltZU9yaWdpbiwK
ICAgICAgICAgcmVmZXJyZXJQb2xpY3ksCisgICAgICAgIHdvcmtlclR5cGUsCisgICAgICAgIGNy
ZWRlbnRpYWxzLAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKQogICAgIH07
CiB9CkBAIC0xMjMsOSArMTI3LDMzIEBAIGJvb2wgV29ya2VyVGhyZWFkOjpzaG91bGRXYWl0Rm9y
V2ViSW5zcGVjdG9yT25TdGFydHVwKCkgY29uc3QKIAogdm9pZCBXb3JrZXJUaHJlYWQ6OmV2YWx1
YXRlU2NyaXB0SWZOZWNlc3NhcnkoU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKQogewotICAgIGds
b2JhbFNjb3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1
cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSks
ICZleGNlcHRpb25NZXNzYWdlKTsKLQotICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOwor
ICAgIC8vIFdlIGFyZSBjdXJyZW50bHkgaG9sZGluZyBvbmx5IHRoZSBpbml0aWFsIHNjcmlwdCBj
b2RlLiBJZiB0aGUgV29ya2VyVHlwZSBpcyBNb2R1bGUsIHdlIHNob3VsZCBmZXRjaCB0aGUgZW50
aXJlIGdyYXBoIGJlZm9yZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2YgdGhpcy4KKyAgICAvLyBXZSBp
bnZva2UgbW9kdWxlIGxvYWRlciBhcyBpZiB3ZSBhcmUgZXhlY3V0aW5nIGlubGluZSBtb2R1bGUg
c2NyaXB0IHRhZyBpbiBEb2N1bWVudC4KKworICAgIGlmIChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMu
d29ya2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpDbGFzc2ljKSB7CisgICAgICAgIGdsb2JhbFNjb3Bl
KCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNv
dXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRp
b25NZXNzYWdlKTsKKyAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgLy8gRklYTUUgY3Jvc3NPcmlnaW4gbW9kZSBzaG91bGQgYmUgY29udmVy
dGVkLgorICAgICAgICAvLyBGSVhNRSBmaXggaW5pdGlhdG9yIG5hbWUuCisgICAgICAgIC8vIEZJ
WE1FIHBhc3MgVVJMIHRvIG1vZHVsZSBsb2FkZXIuCisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUg
c291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+
cGFyYW1zLnNjcmlwdFVSTCksIHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1v
ZHVsZSk7CisgICAgICAgIGF1dG8gbW9kdWxlU2NyaXB0ID0gTG9hZGFibGVNb2R1bGVTY3JpcHQ6
OmNyZWF0ZShlbXB0eVN0cmluZygpLCBlbXB0eVN0cmluZygpLCBtX3N0YXJ0dXBEYXRhLT5wYXJh
bXMucmVmZXJyZXJQb2xpY3ksIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyOjpkZWZh
dWx0Q3Jvc3NPcmlnaW5Nb2RlRm9yTW9kdWxlLCBlbXB0eVN0cmluZygpLCBlbXB0eUF0b20oKSwg
ZmFsc2UpOworICAgICAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IGdsb2JhbFNj
b3BlKCktPnNjcmlwdCgpLT5sb2FkTW9kdWxlU3luY2hyb25vdXNseShtb2R1bGVTY3JpcHQuZ2V0
KCksIHNvdXJjZUNvZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1p
bmF0ZWQpIHsKKyAgICAgICAgICAgIGlmIChPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6RXJyb3I+
IGVycm9yID0gbW9kdWxlU2NyaXB0LT5lcnJvcigpKSB7CisgICAgICAgICAgICAgICAgaWYgKE9w
dGlvbmFsPExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZT4gbWVzc2FnZSA9IGVycm9yLT5j
b25zb2xlTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IG1l
c3NhZ2UtPm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAg
ICBleGNlcHRpb25NZXNzYWdlID0gIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJf
czsKKyAgICAgICAgICAgICAgICBnbG9iYWxTY29wZSgpLT5yZXBvcnRFeGNlcHRpb24oZXhjZXB0
aW9uTWVzc2FnZSwgeyB9LCB7IH0sIHsgfSwgeyB9LCB7IH0pOworICAgICAgICAgICAgfSBlbHNl
IGlmICghbW9kdWxlU2NyaXB0LT53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICAgICAgLy8g
RXZhbHVhdGUuCisgICAgICAgICAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmxpbmtB
bmRFdmFsdWF0ZU1vZHVsZShtb2R1bGVTY3JpcHQuZ2V0KCksIHNvdXJjZUNvZGUsICZleGNlcHRp
b25NZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIAogICAgIC8vIEZyZWUgdGhlIHN0YXJ0
dXAgZGF0YSB0byBjYXVzZSBpdHMgbWVtYmVyIHZhcmlhYmxlIGRlcmVmJ3MgaGFwcGVuIG9uIHRo
ZSB3b3JrZXIncyB0aHJlYWQgKHNpbmNlCiAgICAgLy8gYWxsIHJlZi9kZXJlZnMgb2YgdGhlc2Ug
b2JqZWN0cyBhcmUgaGFwcGVuaW5nIG9uIHRoZSB0aHJlYWQgYXQgdGhpcyBwb2ludCkuIE5vdGUg
dGhhdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggODg5MDc5MDhlN2E5
YjgwOWU4ZjJhNGU0NzNkNzUyZDExZDI5MzdjMC4uOTUxMmVmZGIxOGYzMmE1MGVjYjdmYjU2OTU5
ZDYxZTg4NzJmYTFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0y
Niw3ICsyNiwxMCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFs
cy5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFRocmVhZC5oIgorI2luY2x1ZGUgIldvcmtl
clJ1bkxvb3AuaCIKKyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9V
UkwuaD4KQEAgLTYzLDYgKzY2LDggQEAgc3RydWN0IFdvcmtlclBhcmFtZXRlcnMgewogICAgIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogICAgIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbjsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeTsK
KyAgICBXb3JrZXJUeXBlIHdvcmtlclR5cGU7CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMg
Y3JlZGVudGlhbHM7CiAgICAgU2V0dGluZ3M6OlZhbHVlcyBzZXR0aW5nc1ZhbHVlczsKIAogICAg
IFdvcmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWQuY3BwCmluZGV4IGM4YTdhOTk3MmY5Y2M4YzE2YTc5Njc1MTE1NTJmNTQ5M2E2ODZmOTgu
LjMzY2EwZWMyM2I1OGE1NTExODc2ODQ2YmEwNzE4MzUzMmI1YzQ3ZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuY3BwCkBAIC03Myw4ICs3Myw5IEBAIGNsYXNzIER1bW15U2VydmljZVdvcmtl
clRocmVhZFByb3h5IDogcHVibGljIFdvcmtlck9iamVjdFByb3h5IHsKIC8vIEZJWE1FOiBVc2Ug
YSB2YWxpZCBXb3JrZXJPYmplY3RQcm94eQogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZs
YWdzCiAKKy8vIEZJWE1FOiBVc2UgYSB2YWxpZCBXb3JrZXJUeXBlIGFuZCBDcmVkZW50YWlscyBm
b3IgbW9kdWxlIHNlcnZpY2Ugd29ya2Vycy4KIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VX
b3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcm
JiB1c2VyQWdlbnQsIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzLCBXb3Jr
ZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2Vy
UHJveHksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHks
IFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlclRocmVhZCh7IGRh
dGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9y
OjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdl
bnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwg
ZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwg
eyB9LCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2Vy
UHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhy
ZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5z
ZWN1cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVy
LCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQorICAgIDogV29ya2VyVGhy
ZWFkKHsgZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJ
bnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3Zl
KHVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09u
TGluZSgpLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6
Om5vdygpLCB7IH0sIFdvcmtlclR5cGU6OkNsYXNzaWMsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxz
OjpTYW1lT3JpZ2luLCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHks
IGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwg
V29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BP
cmlnaW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tl
dFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAgICwg
bV9kYXRhKGRhdGEuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KER1
bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAsIG1faGVhcnRCZWF0
VGltZW91dChTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCktPnNob3Vs
ZFVzZVNob3J0VGltZW91dCgpID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3QgOiBoZWFydEJlYXRU
aW1lb3V0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZDMwZTU2MjkyMmU1YTRk
NmYzMTYyNjVlMWVhMjU2OGU5OWU3ZTgxYy4uNWIwNTc4Y2JiYjAwNDU5OTA2ZjhmNmU1ZDBmYTM0
MzM0MjU5ZTg1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMjEtMDItMTAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAg
ICAgICBKUyBNb2R1bGVzIGluIFdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2NDg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRlbnRh
dGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFz
a3MvY2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEv
YmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdv
cmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1v
cmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMv
ZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAyLTEw
ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBtb2RpZmllciBrZXlzIGluIHRlc3RfZHJpdmVyLnNlbmRfa2V5cygpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9u
b24tb2JqZWN0LnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDQ5MjY5YjNiNTBiOTE3NWNiNjJlY2EzMTJlNTg2
YjNiMTY2MmEyNTkuLjJjYWU1ZjdlMzVhMzJmZWNlYjI2OGYyOTAwMDBlNGU1NTU2YzY4NjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25v
bi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZl
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCi1GQUlMIE5vbi1vYmpl
Y3Q6IG51bGwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9udWxsLmpzb24nLiIK
LUZBSUwgTm9uLW9iamVjdDogdHJ1ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcu
L3RydWUuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9y
dCB0aGUgbW9kdWxlICcuL2ZhbHNlLmpzb24nLiIKLUZBSUwgTm9uLW9iamVjdDogc3RyaW5nIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9y
OiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vc3RyaW5nLmpzb24nLiIKLUZBSUwgTm9u
LW9iamVjdDogYXJyYXkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9hcnJheS5q
c29uJy4iCitGQUlMIE5vbi1vYmplY3Q6IG51bGwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiB0
cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQg
TUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVjdDogZmFsc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24v
anNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2Jq
ZWN0OiBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2
YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBhcnJheSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBs
aWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hl
Y2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9p
bnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLmUzZTk3N2IzZDRj
NWE0ZjQ1ZTZkMDhjZDMyODQ2MjNkNTdmNzE2NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9i
YWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2Jh
bHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDYgQEAKIAogSGFy
bmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAKK0ZBSUwgUHJvbWlzZSByZXNv
bHZlZCBkdXJpbmcgI3JlcG9ydC10aGUtZXJyb3IgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3Ro
cyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsiaGFuZGxlciAxIiwgImhhbmRsZXIgMiIsICJoYW5k
bGVyIDEgcHJvbWlzZSIsICJoYW5kbGVyIDIgcHJvbWlzZSJdIGxlbmd0aCA0LCBnb3QgW10gbGVu
Z3RoIDAKK05PVFJVTiBQcm9taXNlIHJlc29sdmVkIGR1cmluZyBldmVudCBoYW5kbGVycyBvdGhl
ciB0aGFuIGVycm9yCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWlj
LWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dAppbmRleCA4NjZl
YmIyMjdhZDI2YWFjZTFhNTc4YmFlYTZhODFkYzBlNmU3N2YwLi5iOTRkZWE2ZTNhMWQwZGQ3NDdm
NjZiOTlkOWRiODU0ODdkZGJhMmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3Jp
cHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1
Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gd29ya2VyIHRv
cC1sZXZlbCBzY3JpcHQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9pbXBvcnQu
anM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPXJlbGF0
aXZlLXdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0Jy4iCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZy
b20gd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVs
ZSAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvZ2FtbWEvaW1wb3J0LmpzP3BpcGU9
aGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1hYnNvbHV0ZS13b3Jr
ZXIgdG9wLWxldmVsIHNjcmlwdCcuIgorRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHdvcmtl
ciB0b3AtbGV2ZWwgc2NyaXB0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYS9pbXBvcnQu
anMiIGJ1dCBnb3QgImJldGEvaW1wb3J0LmpzIgorUEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9t
IHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2
YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3
NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQyZmFkMjI0ZTNhMThh
NmZiNWQ4NDgzMjVlYTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1
YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBA
CiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitQQVNTIFRlc3Qg
ZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0
aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1
OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi5iODYxZjcwMWY5NDhmYjEzMjc2OTMyMmMzODM2NmYyZDEz
OGYwNGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwg
bWVzc2FnZSA9IG51bGwKLQorRkFJTCBUZXN0IGV2YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcyBh
c3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJzdGVw
LTEtMSIsICJzdGVwLTEtMiIsICJnbG9iYWwtZXJyb3IiLCAiZXJyb3IiLCAibWljcm90YXNrIl0g
bGVuZ3RoIDUsIGdvdCBbInN0ZXAtMS0xIiwgInN0ZXAtMS0yIiwgIm1pY3JvdGFzayJdIGxlbmd0
aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9y
dC13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIy
ZTRjMWRjYjNhNWYuLmMxZDM4YmRlNTBjNTllNWQ1OTQxNzNkOTZmOWNkMTllYjEwN2M5YjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0
aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29y
a2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9V
VCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVs
ZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsi
c3RlcC0yLjItMSIsICJzdGVwLTIuMi0yIiwgImdsb2JhbC1lcnJvciIsICJlcnJvciIsICJtaWNy
b3Rhc2stMi4yIl0gbGVuZ3RoIDUsIGdvdCBbInN0ZXAtMi4yLTEiLCAic3RlcC0yLjItMiIsICJt
aWNyb3Rhc2stMi4yIl0gbGVuZ3RoIDMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZh
bHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3
NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi4yZjEyYTIzNDJmYWQyMjRlM2ExOGE2
ZmI1ZDg0ODMyNWVhNjc3NmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVh
dGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAK
IAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK1BBU1MgVGVzdCBl
dmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9y
dC1tZXRhLWV4cGVjdGVkLnR4dAppbmRleCBkNTgwNjIwNDFjM2U2OTUxNWI4MTVlMDJkN2MzODY4
NGQ3N2M3NmI3Li5lNzgyNTdhMzIyOGQwZjMyMDMwM2ZkNjMyNmFmNmE3NTE0NTNmYzNjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsx
LDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkg
dmFsaWQgaW5zaWRlIG1vZHVsZXMuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0g
U3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCi0K
LUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0
LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVy
cm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5IHZhbGlkIGluc2lkZSBtb2R1bGVzLiIKLUZBSUwgVGVz
dCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQuIGFzc2VydF90
cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBUZXN0IGltcG9ydC5tZXRhLnVybCBv
biB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQuCitQQVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJs
IG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0LgogRkFJTCBUZXN0IGltcG9ydC5tZXRhLnVy
bCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJhZ21lbnQuIGFzc2VydF90
cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9w
dGlvbnMtdHlwZS1leHBlY3RlZC50eHQKaW5kZXggZGEwZTRlYjY3NThkMTRhMzdhMzk4ZDBiNmZj
NzFhZDM4NzZiZDI2Yi4uMWZjMGM2NmZkZjcyNGMyYWEzYjkxMDY5ODBiZmJlN2U5ODhmOTc3MyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dApAQCAt
MiwxMSArMiw2IEBACiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIHRoZSBkZWZh
dWx0IHdvcmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCB0aGUg
ImNsYXNzaWMiIHdvcmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0
aCB0aGUgIm1vZHVsZSIgd29ya2VyIHR5cGUuCi1GQUlMIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlv
biB3aXRoIGFuIGVtcHR5IHdvcmtlciB0eXBlLiBhc3NlcnRfdGhyb3dzX2pzOiBXb3JrZXIgY29u
c3RydWN0aW9uIHdpdGggYW4gZW1wdHkgdHlwZSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uIGZ1
bmN0aW9uICIoKSA9PiB7Ci0gICAgICAgIG5ldyBXb3JrZXIoJ3Jlc291cmNlcy9wb3N0LW1lc3Nh
Z2Utb24tbG9hZC13b3JrZXIuanMnLCB7IHR5cGU6ICcnIH0pOwotICAgICAgfSIgZGlkIG5vdCB0
aHJvdwotRkFJTCBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtub3duIHdvcmtl
ciB0eXBlLiBhc3NlcnRfdGhyb3dzX2pzOiBXb3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gdW5r
bm93biB0eXBlIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24gZnVuY3Rpb24gIigpID0+IHsKLSAg
ICAgICAgbmV3IFdvcmtlcigncmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS1vbi1sb2FkLXdvcmtlci5q
cycsCi0gICAgICAgICAgICAgICAgICAgeyB0eXBlOiAndW5rbm93bicgfSk7Ci0gICAgICB9IiBk
aWQgbm90IHRocm93CitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIGVtcHR5
IHdvcmtlciB0eXBlLgorUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtu
b3duIHdvcmtlciB0eXBlLgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419922</attachid>
            <date>2021-02-10 16:46:59 -0800</date>
            <delta_ts>2021-02-10 18:11:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210210164658.patch</filename>
            <type>text/plain</type>
            <size>143952</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA1MTUzZGY5Mjc2YTBl
YzEzMzI1OTg1ZDNjMGE5NGQwOTE3M2I4ZC4uMzg2NWQxODI3NmYyY2Y5Yzk2N2U5ZDcwMzRmMWIy
ZGM4ZTdhNjhhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMyBAQAorMjAyMS0wMi0xMCAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4g
V29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0Nh
Y2hlZFNjcmlwdEZldGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0
Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNoZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyaXB0TW9kdWxl
TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2Fk
ZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVM
b2FkZXJGZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1v
ZHVsZUxvYWRlckltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6
bW9kdWxlTG9hZGVyUmVzb2x2ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJD
cmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9i
YWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNj
b3BlQmFzZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmg6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oLgorICAgICAg
ICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpjbGVhckNsaWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpNb2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAg
ICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQu
aC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
TW9kdWxlTG9hZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2Fk
ZXI6Om1vZHVsZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJl
c3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxl
TG9hZGVyOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6
OmltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om5v
dGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXIuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyOjp+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmguCisgICAgICAgICogZG9t
L0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQpOiBEZWxldGVkLgor
ICAgICAgICAqIGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oOgorICAgICAgICAqIGRvbS9TY3Jp
cHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RN
b2R1bGVTY3JpcHQpOgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgICogbG9h
ZGVyL1RocmVhZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2Fk
ZXI6OmNyZWF0ZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyOjpXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJHbG9iYWxTY29wZTo6V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyR2xvYmFsU2NvcGU6OmltcG9ydFNjcmlwdHMpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHku
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2FkZXIpOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVs
ZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
clNjcmlwdExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6
OmxvYWRBc3luY2hyb25vdXNseSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0ZVNjcmlwdElmTmVjZXNzYXJ5KToKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVHlwZS5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2VydmljZVdvcmtlckpvYjo6ZmV0Y2hTY3JpcHRXaXRoQ29udGV4dCk6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmg6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2Vy
VGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2Vy
Lmg6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6cHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklm
TmVlZGVkKToKKwogMjAyMS0wMi0xMCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KIAogICAgICAgICBEbyBub3QgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIFJlbGVhc2UgYW5kIFBy
b2R1Y3Rpb24gdmlhIEVOQUJMRV9ERVZFTE9QRVJfTU9ERQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXgg
NGYzOGZiMDY4NGJjNTllZTZmN2M5ODk4MjllYzg4MmNlODA1ODZjOC4uMGZjODNjNzkxNjMyMzI5
YzM5ZjNlODkzZTgyNTM3YzVhZGM2YTM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zMCw2ICsz
MCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKIAogICAgIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hCb2R5Q29uc3VtZXIuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
U291cmNlLmgKKyAgICBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgKICAg
ICBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaElk
ZW50aWZpZXIuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApp
bmRleCA4YzAzYjkzMjY0OTg1ZjBiYjFlZTlmNmQyMDIzZTM0ODMwOTJmNDYyLi42MjNhNjc4YWE1
Y2I0MzJhZTBkMzk0NjdhNGJlZmQzNDU2ODhhMjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtNjM5LDYg
KzYzOSw3IEBAIGJpbmRpbmdzL2pzL1N0cnVjdHVyZWRDbG9uZS5jcHAKIGJpbmRpbmdzL2pzL1dl
YkNvcmVKSVRPcGVyYXRpb25zLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5j
cHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5jcHAKK2JpbmRpbmdz
L2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKIGJpbmRpbmdzL2pzL1dpbmRvd1Byb3h5
LmNwcAogYmluZGluZ3MvanMvV3JpdGFibGVTdHJlYW0uY3BwCiBicmlkZ2UvSWRlbnRpZmllclJl
cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAyZTNiYTJkOGJiYWExNzYyNDRkYTYyM2M2OTI5NmU1ZmViZjA3MzBiLi4wMThm
ZTJjZWE2OTY1MjFhMTQ0YzNmNThmYTZmYzRlMzNiYzA5NmZhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MDcxLDE1ICs1MDcx
LDE3IEBACiAJCUUzMDU5MjY0MUUyN0EzQUQwMEQ1N0M5OCAvKiBJbmxpbmVDbGFzc2ljU2NyaXB0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA1OTI2
MjFFMjdBMzhDMDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDU5MjY4MUUyN0EzRDEwMEQ1
N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2Ny
aXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUUzMDdERUQwMUQ4MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDdE
RUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlFMzA3REVEMTFEODFF
NENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVDODFEODFFNDQ4MDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMwN0RFRDUxRDgxRTRGMjAwMTQx
Q0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYgLyogTG9hZGFibGVN
b2R1bGVTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlFMzE1MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMxNTBFQTUxREE3MjE4
RDAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCAqLzsgfTsKIAkJRTMyMDFDMUExRjhFODIxMzAw
NzZBMDMyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4RDA2MDkxRjhFODExOTAwNjQ5Q0YyIC8qIE1vZHVs
ZUZldGNoUGFyYW1ldGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUUzMjNDRkZBMUU1QUY2QUYwMEYwQjRBMCAvKiBKU0RPTUNvbnZlcnRQcm9t
aXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzIz
Q0ZGOTFFNUFGNkE1MDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzNDMyREU0MjVEMzc3RTMw
MDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNDMyREUwMjVEMzc3RTIwMDU4RTYxMiAvKiBX
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgfTsKKwkJRTM1MTg4QjQyNUQzODdDRjAwQTc3
QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUzNTY1QjdCMURDMkQ2QzkwMDIxN0RCRCAvKiBKU0V2ZW50Q3VzdG9t
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzRFRTQ5
RjFEQzJENTc1MDBFQUE5RDMgLyogSlNFdmVudEN1c3RvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTgwMkI2MURDODQzNUQwMEE5NzczQyAv
KiBET01KSVRJRExUeXBlRmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzU4MDJCNTFEQzg0MzU4MDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZp
bHRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzNTgyQzI4MjUyN0Y2NjkwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODJDMjYyNTI3RjY2
ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM1QjkwN0YyM0Y2MEE1MDAwMDAxMUZGIC8q
IExvY2FsaXplZERldmljZU1vZGVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzVCOTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNl
TW9kZWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlFMzY0MzIxQzI1RDM3QTY3MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzY0MzIxQTI1RDM3QTY2
MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM3N0ZFNEQxREFERTE2NTAwQ0REMDI1IC8qIE5v
ZGVDb25zdGFudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzRDA0OTkzMURBREMwNDUwMDcxOEYzQyAvKiBOb2RlQ29uc3RhbnRzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM3Qzg2NTAxRUI2M0Uz
RjAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlz
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUz
OTYyOEJGMjM5NTcyOEYwMDY1OEVDRCAvKiBEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhC
RDIzOTU3MjhFMDA2NThFQ0QgLyogRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjIwMiw3
ICsxNjIwNCw2IEBACiAJCUUzMDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRG
ZXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFNjcmlwdEZl
dGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFQzYxRDgxRTQ0ODAw
MTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlF
MzA3REVDODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVEMjFEODFF
NEVEMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYgLyogTG9hZGFibGVN
b2R1bGVTY3JpcHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9hZGFibGVN
b2R1bGVTY3JpcHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMxNTBFQTUxREE3
MjE4RDAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NSklUSGVscGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTYyMTUsMTIgKzE2MjE2LDE2IEBACiAJCUUzMjkyNzYzMjI1NDNGNTkwMDMwOEE5QSAvKiBUeXBl
ZE9NQ1NTVW5pdFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFR5cGVkT01DU1NVbml0VmFs
dWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzI5Mjc2NjIyNTQzRkRFMDAz
MDhBOUEgLyogRE9NUmVjdFJlYWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVJlY3RS
ZWFkT25seS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMzQ4MjVFMURDOTNB
QTAwMDlDOTU0NCAvKiBET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgcGF0
aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5o
OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlFMzQzMkRFMDI1RDM3N0Uy
MDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzNEVFNDlGMURDMkQ1NzUwMEVBQTlEMyAvKiBKU0V2ZW50Q3VzdG9tLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZlbnRDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRl
ckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVTY3JpcHRM
b2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODAyQjUxREM4
NDM1ODAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRE9NSklUSURMVHlwZUZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMzU4MkMyNDI1MjdGNjY4MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlv
bnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZUpJVE9w
ZXJhdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MkMyNjI1MjdG
NjY4MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViQ29yZUpJVE9wZXJhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTM1QjkwN0MyM0Y2MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1v
ZGVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsaXplZERldmljZU1v
ZGVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdFMjNGNjA2NzcwMDAw
MTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IExvY2FsaXplZERldmljZU1vZGVsLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9h
ZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNjcmlwdExvYWRl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzdDODY0RjFFQjYzRTJEMDA4N0M2
Q0EgLyogSlNET01Qcm9taXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
RE9NUHJvbWlzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5NDFCQUQx
NDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVM
b2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0TW9kdWxlTG9h
ZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzAyMSw3ICsyNzAyNiw2IEBA
CiAJCQkJMkRGQTQ4OEUxREI1NDFDMjAwMzYyQjk5IC8qIEJ1ZmZlclNvdXJjZS5oICovLAogCQkJ
CUUzMDdERUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
ICovLAogCQkJCUUzMDdERUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXIuaCAqLywKLQkJCQlFMzA3REVDODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyQ2xpZW50LmggKi8sCiAJCQkJRTMwNTkyNjUxRTI3QTNDNjAwRDU3Qzk4IC8q
IENhY2hlZFNjcmlwdEZldGNoZXIuY3BwICovLAogCQkJCUUzMDU5MjY2MUUyN0EzQzYwMEQ1N0M5
OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi8sCiAJCQkJQkNENTMzNjMwRUQ2ODQ4OTAwODg3
NDY4IC8qIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggKi8sCkBAIC0yNzA5NSw2ICsyNzA5
OSw4IEBACiAJCQkJNEJERUEzMkQyMTgwMzQwNTAwNTJERkNEIC8qIEpTV29ya2xldEdsb2JhbFNj
b3BlQmFzZS5jcHAgKi8sCiAJCQkJNEJERUEzMkIyMTgwMzNFQjAwNTJERkNEIC8qIEpTV29ya2xl
dEdsb2JhbFNjb3BlQmFzZS5oICovLAogCQkJCTcwOUEwMUZEMUUzRDBCQ0MwMDZCMEQ0QyAvKiBN
b2R1bGVGZXRjaEZhaWx1cmVLaW5kLmggKi8sCisJCQkJRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJB
IC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICovLAorCQkJCUUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FG
MyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLywKIAkJCQk0MUI0NTlFRDFGNTVFQkM3
MDAwMEY2RkQgLyogUmVhZGFibGVTdHJlYW0uY3BwICovLAogCQkJCTQxQjQ1OURBMUY0Q0FEQjkw
MDAwRjZGRCAvKiBSZWFkYWJsZVN0cmVhbS5oICovLAogCQkJCTQxOEMzOTVFMUM4RjBBQUIwMDUx
QzhBMyAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcCAqLywKQEAgLTI3MTI2
LDYgKzI3MTMyLDggQEAKIAkJCQkwRjA5OUQwNzE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5
cGVkQXJyYXlDb250cm9sbGVyLmggKi8sCiAJCQkJNDYzNTIxQUMyMDgxMDkwRTAwQzI4OTIyIC8q
IFdpbmRvd1Byb3h5LmNwcCAqLywKIAkJCQk0NjM1MjFBQTIwODEwOTBCMDBDMjg5MjIgLyogV2lu
ZG93UHJveHkuaCAqLywKKwkJCQlFMzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmNwcCAqLywKKwkJCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyog
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCiAJCQkJNDE0MThBMDMyNTY0M0UxMjAwMzYz
NDE3IC8qIFdyaXRhYmxlU3RyZWFtLmNwcCAqLywKIAkJCQk0MTQxOEEwNDI1NjQzRTEzMDAzNjM0
MTcgLyogV3JpdGFibGVTdHJlYW0uaCAqLywKIAkJCSk7CkBAIC0zMTM5OSw3ICszMTQwNyw2IEBA
CiAJCQkJQkNCMTZDMUMwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZEltYWdlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzMTlGQkQ1RjE1RDJGNDY0MDA5NjQwQTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUzMDdERUQwMUQ4MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUUzMDdERUQxMUQ4MUU0Q0Iw
MDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxMDE4NDY5MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlEMEVEQTc3NTE0M0UzMDNDMDAyOEUzODMgLyogQ2FjaGVkUmF3UmVzb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxQjUzMzQ5MTcxN0RFRTMwMEYyMDVGOSAvKiBDYWNoZWRS
YXdSZXNvdXJjZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzg3NCw2ICszMzg4MSw4IEBA
CiAJCQkJQzZENzRBRDUwOUFBMjgyRTAwMEIwQTUyIC8qIE1vZGlmeVNlbGVjdGlvbkxpc3RMZXZl
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzA5QTAxRkUxRTNEMEJERDAwNkIwRDRDIC8qIE1vZHVs
ZUZldGNoRmFpbHVyZUtpbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzMjAxQzFBMUY4RTgyMTMw
MDc2QTAzMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUUz
NjQzMjFDMjVEMzdBNjcwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREM2MTI1MUYxMkQwMDNFRjI2OSAvKiBN
b250aElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM5NjI4QzEyMzk1NzQzMTAwNjU4
RUNEIC8qIE1vdGlvbk1hbmFnZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjQ2
MEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NTI2
LDYgKzM1NTM1LDcgQEAKIAkJCQkxOEY4MzFCODBGRDQ4Qzc4MDBEOEM1NkIgLyogV29ya2VyTG9h
ZGVyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjREMEY1NDZBODIwMEIwRjFCQSAv
KiBXb3JrZXJMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTAwRjU0NkE4MjAw
QjBGMUJBIC8qIFdvcmtlck1lc3NhZ2luZ1Byb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzQz
MkRFNDI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMTI3MUEwQjBFRUVDNzdBMDBGNjEyMTMgLyogV29ya2VyTmF2aWdhdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUNCMDUyNTFGQjUxRjNBMDAwODlCOTcgLyogV29ya2Vy
TmV0d29ya0FnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1MTBGNTQ2QTgyMDBCMEYx
QkEgLyogV29ya2VyT2JqZWN0UHJveHkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKaW5k
ZXggMzUyZGNjNGFjZjc1MTc2ZDk4YWQzNDEwYmUxNTE2MDgwMTA4ODUyNC4uYzZiYzQ0N2QzMTkw
NDAyNGIzY2JkN2NjYTZjMGMyOWNmYjQ4MGE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC00MCwxMyAr
NDAsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWY8Q2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyPiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRT
Y3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJz
PiYmIHBhcmFtZXRlcnMpCitSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBDYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwg
RGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRj
aGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCiB7CiAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJv
bWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJzKSkpOwogfQogCi1DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNo
ZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzPiYmIHBhcmFtZXRlcnMpCi0gICAgOiBtX2NsaWVudCgmY2xpZW50KQorQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0
Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzKQorICAgIDogTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCkKICAgICAsIG1fcHJvbWlz
ZSgmcHJvbWlzZSkKICAgICAsIG1fc2NyaXB0RmV0Y2hlcihzY3JpcHRGZXRjaGVyKQogICAgICwg
bV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCkBAIC02MSwxNCArNjEsMTQgQEAgQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyOjp+Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKCkKICAgICB9
CiB9CiAKLWJvb2wgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKERvY3VtZW50JiBkb2N1
bWVudCwgY29uc3QgVVJMJiBzb3VyY2VVUkwpCitib29sIENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
cjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIFVSTCYmIHNvdXJjZVVSTCkKIHsKICAgICBBU1NF
UlQoIW1fY2FjaGVkU2NyaXB0KTsKICAgICBTdHJpbmcgaW50ZWdyaXR5ID0gbV9wYXJhbWV0ZXJz
ID8gbV9wYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSA6IFN0cmluZyB7IH07CiAgICAgbV9jYWNoZWRT
Y3JpcHQgPSBtX3NjcmlwdEZldGNoZXItPnJlcXVlc3RNb2R1bGVTY3JpcHQoZG9jdW1lbnQsIHNv
dXJjZVVSTCwgV1RGTW92ZShpbnRlZ3JpdHkpKTsKICAgICBpZiAoIW1fY2FjaGVkU2NyaXB0KQog
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgbV9zb3VyY2VVUkwgPSBzb3VyY2VVUkw7CisgICAg
bV9zb3VyY2VVUkwgPSBXVEZNb3ZlKHNvdXJjZVVSTCk7CiAKICAgICAvLyBJZiB0aGUgY29udGVu
dCBpcyBhbHJlYWR5IGNhY2hlZCwgdGhpcyBpbW1lZGlhdGVseSBjYWxscyBub3RpZnlGaW5pc2hl
ZC4KICAgICBtX2NhY2hlZFNjcmlwdC0+YWRkQ2xpZW50KCp0aGlzKTsKQEAgLTgzLDcgKzgzLDcg
QEAgdm9pZCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJl
c291cmNlJiByZXNvdXJjZSwgY29uc3QgTmUKIAogICAgIFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAg
bV9jbGllbnQtPm5vdGlmeUZpbmlzaGVkKCp0aGlzLCBXVEZNb3ZlKG1fcHJvbWlzZSkpOworICAg
ICAgICBtX2NsaWVudC0+bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9zb3VyY2VVUkwp
LCBtX3Byb21pc2UucmVsZWFzZU5vbk51bGwoKSk7CiAKICAgICAvLyBSZW1vdmUgdGhlIGNsaWVu
dCBhZnRlciBjYWxsaW5nIG5vdGlmeUZpbmlzaGVkIHRvIGtlZXAgdGhlIGRhdGEgYnVmZmVyIGlu
CiAgICAgLy8gQ2FjaGVkUmVzb3VyY2UgYWxpdmUgd2hpbGUgbm90aWZ5RmluaXNoZWQgcHJvY2Vz
c2VzIHRoZSByZXNvdXJjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmgKaW5kZXggNDNhYmQ4NzViMjQzZmFmNWZjZDRkOThl
YzNjNWQyNGU3OTBiNTcyZS4uMDQ0ODc2MTg5OWRlZWU3YTg2NTgyOGMwMDFlZGExYmY3ODM1MzM2
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRl
ICJNb2R1bGVTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zNCw3ICszNSw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50OworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OwogY2xhc3MgQ2FjaGVk
U2NyaXB0OwogY2xhc3MgQ2FjaGVkU2NyaXB0RmV0Y2hlcjsKIGNsYXNzIERlZmVycmVkUHJvbWlz
ZTsKQEAgLTQyLDMxICs0MywyMyBAQCBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFs
T2JqZWN0OwogY2xhc3MgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzOwogCi1jbGFzcyBDYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXI+LCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKK2NsYXNzIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBNb2R1bGVTY3JpcHRMb2FkZXIsIHByaXZh
dGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyPiBjcmVhdGUoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVG
ZXRjaFBhcmFtZXRlcnM+JiYpOworICAgIHN0YXRpYyBSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyPiBjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwg
Q2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOwog
CiAgICAgdmlydHVhbCB+Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKCk7CiAKLSAgICBib29sIGxv
YWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHNvdXJjZVVSTCk7CisgICAgYm9vbCBsb2FkKERvY3Vt
ZW50JiwgVVJMJiYgc291cmNlVVJMKTsKIAogICAgIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlw
dEZldGNoZXIoKSB7IHJldHVybiBtX3NjcmlwdEZldGNoZXIuZ2V0KCk7IH0KICAgICBDYWNoZWRT
Y3JpcHQqIGNhY2hlZFNjcmlwdCgpIHsgcmV0dXJuIG1fY2FjaGVkU2NyaXB0LmdldCgpOyB9CiAg
ICAgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0
ZXJzLmdldCgpOyB9Ci0gICAgY29uc3QgVVJMJiBzb3VyY2VVUkwoKSBjb25zdCB7IHJldHVybiBt
X3NvdXJjZVVSTDsgfQotCi0gICAgdm9pZCBjbGVhckNsaWVudCgpCi0gICAgewotICAgICAgICBB
U1NFUlQobV9jbGllbnQpOwotICAgICAgICBtX2NsaWVudCA9IG51bGxwdHI7Ci0gICAgfQogCiBw
cml2YXRlOgotICAgIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVm
UHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisgICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNj
cmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZv
aWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJp
Y3MmKSBmaW5hbDsKIAotICAgIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCogbV9jbGll
bnQgeyBudWxscHRyIH07CiAgICAgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4gbV9wcm9taXNlOwog
ICAgIFJlZjxDYWNoZWRTY3JpcHRGZXRjaGVyPiBtX3NjcmlwdEZldGNoZXI7CiAgICAgUmVmUHRy
PE1vZHVsZUZldGNoUGFyYW1ldGVycz4gbV9wYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY4OGFkOTBkYWUzZWNlOTQ5ZWEwOWIx
ZWZlZTVkYTI2Zjk0Yzc4Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTYgQXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOwotY2xhc3MgRGVm
ZXJyZWRQcm9taXNlOwotCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewot
cHVibGljOgotICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCgpID0g
ZGVmYXVsdDsKLQotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXImLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPikgPSAwOwotfTsKLQotfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcApp
bmRleCBhNDMzNzU4NjViYmYxZWM1OTczYmYxNzJjOTFhMzg1MzIzNGUzNzRkLi5kZjNjNmI2ZWJi
ODRhZjcyZWQyOTU1Zjk5MTFkMDdhODdhYjM1MzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcApAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDYgKzQ4LDcgQEAgQ2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBDYWNoZWRTY3JpcHRGZXRjaGVyOjpyZXF1
ZXN0TW9kdWxlU2NyaXB0KERvY3UKIAogQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0
PiBDYWNoZWRTY3JpcHRGZXRjaGVyOjpyZXF1ZXN0U2NyaXB0V2l0aENhY2hlKERvY3VtZW50JiBk
b2N1bWVudCwgY29uc3QgVVJMJiBzb3VyY2VVUkwsIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5N
b2RlLCBTdHJpbmcmJiBpbnRlZ3JpdHksIE9wdGlvbmFsPFJlc291cmNlTG9hZFByaW9yaXR5PiBy
ZXNvdXJjZUxvYWRQcmlvcml0eSkgY29uc3QKIHsKKyAgICAvLyBXaXRob3V0IHNjcmlwdGluZywg
dGhlcmUgaXMgbm8gd2F5IHRvIHN0YXJ0IFdvcmtlcnMuCiAgICAgaWYgKCFkb2N1bWVudC5zZXR0
aW5ncygpLmlzU2NyaXB0RW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4
IDU4YjdkZjc2MGMwMGEzMWZmMDhlZDIyZGVlMjJhOGM3NDQzYWU4ZGQuLjlkNjk3ZDQ1OWI1NjM0
NWNjODM5NjIwMjY2NzZlMDBhOThiZjQ5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRl
ICJKU1dvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlJlamVjdGVkUHJvbWlzZVRyYWNr
ZXIuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiU2Ny
aXB0TW9kdWxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlZENsb25lLmgiCiAjaW5jbHVk
ZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgi
CkBAIC00MjIsNiArNDIzLDc5IEBAIEpTQzo6SlNQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6
aW5zdGFudGlhdGVTdHJlYW1pbmcoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvCiB9CiAjZW5kaWYK
IAorc3RhdGljIFNjcmlwdE1vZHVsZUxvYWRlciogc2NyaXB0TW9kdWxlTG9hZGVyKEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTRE9NV2luZG93QmFzZT4odm0p
KSB7CisgICAgICAgIGlmIChhdXRvIGRvY3VtZW50ID0ganNDYXN0PGNvbnN0IEpTRE9NV2luZG93
QmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQoKS5kb2N1bWVudCgpKQorICAgICAgICAgICAg
cmV0dXJuICZkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCk7CisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIH0KKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU1JlbW90ZURPTVdpbmRv
d0Jhc2U+KHZtKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKGdsb2JhbE9iamVj
dC0+aW5oZXJpdHM8SlNXb3JrZXJHbG9iYWxTY29wZUJhc2U+KHZtKSkKKyAgICAgICAgcmV0dXJu
ICZqc0Nhc3Q8Y29uc3QgSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UqPihnbG9iYWxPYmplY3QpLT53
cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8
SlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNv
bnN0IEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQoKS5t
b2R1bGVMb2FkZXIoKTsKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBpZiAoZ2xv
YmFsT2JqZWN0LT5pbmhlcml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KHZtKSkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKKyAgICBkYXRhTG9nKCJVbmV4cGVjdGVk
IGdsb2JhbCBvYmplY3Q6ICIsIEpTVmFsdWUoZ2xvYmFsT2JqZWN0KSwgIlxuIik7CisgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlND
OjpJZGVudGlmaWVyIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxl
TG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9k
dWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUdsb2JhbE9i
amVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFs
T2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNP
YmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9k
dWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7
CisgICAgcmV0dXJuIHsgfTsKK30KKworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01HbG9i
YWxPYmplY3Q6Om1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9k
dWxlS2V5LCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNo
ZXIpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09i
amVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAg
ICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAg
ICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+ZmV0Y2goZ2xvYmFsT2JqZWN0
LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hlcikpOwor
ICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9t
aXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkp
OworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0
LCBqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU1ZhbHVl
IEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlND
OjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpKU1Zh
bHVlIHNjcmlwdEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3Qg
PSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYg
KGF1dG8qIGxvYWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAg
cmV0dXJuIGxvYWRlci0+ZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVs
ZUtleSwgbW9kdWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKKyAgICByZXR1cm4gSlNDOjpqc1Vu
ZGVmaW5lZCgpOworfQorCitKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVj
dDo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBt
b2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmln
aW4mIHNvdXJjZU9yaWdpbikKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Cisg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTRE9NR2xvYmFs
T2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhp
c09iamVjdCkpCisgICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbG9hZGVyLT5pbXBv
cnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFtZXRl
cnMsIHNvdXJjZU9yaWdpbikpOworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2Ug
PSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJu
YWxQcm9taXNlU3RydWN0dXJlKCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9taXNl
LT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJvbWlz
ZTsKK30KKworSlNDOjpKU09iamVjdCogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNy
ZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxl
S2V5LCBKU0M6OkpTTW9kdWxlUmVjb3JkKiBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3Jp
cHRGZXRjaGVyKQoreworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpq
c0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBs
b2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBs
b2FkZXItPmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9h
ZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJu
IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5u
dWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkpOworfQorCiBKU0RPTUdsb2JhbE9iamVjdCYg
Y2FsbGVyR2xvYmFsT2JqZWN0KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBD
YWxsRnJhbWUmIGNhbGxGcmFtZSkKIHsKICAgICBjbGFzcyBHZXRDYWxsZXJHbG9iYWxPYmplY3RG
dW5jdG9yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5oCmluZGV4IGI4NDA3MmRkZDc0NmIzZDZjNTEwNjBkOTA1MDFiNWNlYTFiNDk5YjEuLmY0OWE0
Y2QyNTcxOTcxMTg5MTdhN2Q3YTRiNmMwZTExZmM3NmJhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaApAQCAtMTA1LDYgKzEwNSwxMiBAQCBj
bGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0M6OkpTR2xv
YmFsT2JqZWN0IHsKICAgICBzdGF0aWMgSlNDOjpKU1Byb21pc2UqIGluc3RhbnRpYXRlU3RyZWFt
aW5nKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNPYmplY3QqKTsK
ICNlbmRpZgogCisgICAgc3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZl
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVl
LCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5h
bFByb21pc2UqIG1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpT
TW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7
CisgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1Zh
bHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBt
b2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1
bGVMb2FkZXIqLCBKU0M6OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJj
ZU9yaWdpbiYpOworICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJ
bXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxv
YWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7
CisKICAgICBKU0RPTVN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiAgICAgSlNET01Db25zdHJ1
Y3Rvck1hcCBtX2NvbnN0cnVjdG9yczsKICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3VhcmRl
ZE9iamVjdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0Jhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNl
LmNwcAppbmRleCA1NjNlZmEwNTcxYjVkNDYyZDllNjQ1MDg5ZjBiZDhmNzdkMTlhNzY4Li4zMTJh
MDExNThlOGMyODA4M2MwN2U0MmRiODcyNDVmZTRlNWM1N2FhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKQEAgLTMzOSw1NCArMzM5LDQgQEAg
dm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRv
dyhET01XaW5kb3cqIHdpbmRvdykKICAgICB9CiB9CiAKLUpTQzo6SWRlbnRpZmllciBKU0RPTVdp
bmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBt
b2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBz
Y3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6
anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxE
b2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAg
ICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5yZXNvbHZlKGdsb2JhbE9iamVj
dCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0
Y2hlcik7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNE
T01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVl
IG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRG
ZXRjaGVyKQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlz
T2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAg
ICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5k
b2N1bWVudCgpKQotICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5t
b2R1bGVMb2FkZXIoKS5mZXRjaChnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5
LCBwYXJhbWV0ZXJzLCBzY3JpcHRGZXRjaGVyKSk7Ci0gICAgSlNDOjpKU0ludGVybmFsUHJvbWlz
ZSogcHJvbWlzZSA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7Ci0gICAgc2NvcGUucmVsZWFzZSgpOwot
ICAgIHByb21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOwotICAgIHJl
dHVybiBwcm9taXNlOwotfQotCi1KU0M6OkpTVmFsdWUgSlNET01XaW5kb3dCYXNlOjptb2R1bGVM
b2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNN
b2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpK
U1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0gICAg
SlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNl
Kj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRo
aXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1lbnQt
Pm1vZHVsZUxvYWRlcigpLmV2YWx1YXRlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1
bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIEpTQzo6anNV
bmRlZmluZWQoKTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dCYXNl
Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNTdHJpbmcqIG1v
ZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdp
biYgc291cmNlT3JpZ2luKQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dC
YXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2Jq
ZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndy
YXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRv
Y3VtZW50LT5tb2R1bGVMb2FkZXIoKS5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVM
b2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFtZXRlcnMsIHNvdXJjZU9yaWdpbikpOwotICAgIEpTQzo6
SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVh
dGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwotICAgIHNj
b3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVm
aW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpKU09iamVjdCogSlNET01X
aW5kb3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxv
YWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCogbW9kdWxl
UmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RPTVdpbmRvd0Jh
c2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmpl
Y3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3Jh
cHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9kdWxlTG9hZGVy
KCkuY3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIs
IG1vZHVsZUtleSwgbW9kdWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKLSAgICByZXR1cm4gY29u
c3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPm51bGxQ
cm90b3R5cGVPYmplY3RTdHJ1Y3R1cmUoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKaW5kZXggM2Vm
OTgwZGQyN2Y2YjIxMzk4NzAwOGJhNDc2YzhjYTY5ZjJmMGI2NC4uNTE0MmIxYzdkYzI1YzIyZmU5
Nzg5NWU3NWFlMjJlZjRkMWU1ODlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dCYXNlLmgKQEAgLTk5LDEyICs5OSw2IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JU
IEpTRE9NV2luZG93QmFzZSA6IHB1YmxpYyBKU0RPTUdsb2JhbE9iamVjdCB7CiBwcml2YXRlOgog
ICAgIHVzaW5nIFJlc3BvbnNlQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgY2hh
ciosIHNpemVfdCk+OwogCi0gICAgc3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJS
ZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpK
U1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIG1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNW
YWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlND
OjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9t
aXNlKiBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6
SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6
OlNvdXJjZU9yaWdpbiYpOwotICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJD
cmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01v
ZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNW
YWx1ZSk7Ci0KICAgICBSZWZQdHI8RE9NV2luZG93PiBtX3dyYXBwZWQ7CiAgICAgUmVmUHRyPEV2
ZW50PiBtX2N1cnJlbnRFdmVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggNDJiMjZjOWY0ZWEyMTYy
MDdkZTRjODY4MjBiOGE4MWI2MDM1YjdlYi4uMmQ3OTNmZmYyMTg1M2E4YTFhNzg4MDY2NzI1MGY1
N2U3NTJmZTNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
ZXJHbG9iYWxTY29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcApAQCAtNTksMTEgKzU5LDExIEBAIGNvbnN0IEdsb2Jh
bE9iamVjdE1ldGhvZFRhYmxlIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVj
dE1ldGhvZFRhYmxlCiAgICAgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsCiAgICAgJnF1ZXVlTWlj
cm90YXNrVG9FdmVudExvb3AsCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVv
dXQsCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZl
dGNoCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRp
ZXMKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2Fk
ZXJJbXBvcnRNb2R1bGUsCisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxv
YWRlckZldGNoLAorICAgICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywK
KyAgICAmbW9kdWxlTG9hZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2Vy
LAogICAgICZyZXBvcnRVbmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50
U2NyaXB0RXhlY3V0aW9uT3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCAzNWZhNmUzMjc3ZmIwZDRi
ZTBlMGUxZWRjNDM3MjJlZGFkZmM4YWYyLi45ZmFlYzk1OWMzOWQxNzQ4MTgxYzk4NjUwMDNkNWE4
NmYxN2Y1ZTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmts
ZXRHbG9iYWxTY29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAKQEAgLTQ5LDExICs0OSwxMSBAQCBjb25zdCBHbG9i
YWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibAogICAgICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLAogICAgIG51bGxwdHIs
IC8vIHF1ZXVlTWljcm90YXNrVG9FdmVudExvb3AKICAgICAmc2hvdWxkSW50ZXJydXB0U2NyaXB0
QmVmb3JlVGltZW91dCwKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJSZXNvbHZlCi0gICAgbnVsbHB0ciwgLy8gbW9k
dWxlTG9hZGVyRmV0Y2gKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRN
ZXRhUHJvcGVydGllcwotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckV2YWx1YXRlCisgICAg
Jm1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSwKKyAgICAmbW9kdWxlTG9hZGVyUmVzb2x2ZSwKKyAg
ICAmbW9kdWxlTG9hZGVyRmV0Y2gsCisgICAgJm1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQ
cm9wZXJ0aWVzLAorICAgICZtb2R1bGVMb2FkZXJFdmFsdWF0ZSwKICAgICAmcHJvbWlzZVJlamVj
dGlvblRyYWNrZXIsCiAgICAgJnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uQXRFdmVudExvb3AsCiAg
ICAgJmN1cnJlbnRTY3JpcHRFeGVjdXRpb25Pd25lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMThlYWIxMjNhZWVlYjAy
ZThhMjYzNzhiMzJlMTk1N2QzMzM5NWNhZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNTMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Owor
CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxNb2R1bGVTY3Jp
cHRMb2FkZXI+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2FkZXIoKSA9
IGRlZmF1bHQ7CisKKyAgICB2b2lkIGNsZWFyQ2xpZW50KCkKKyAgICB7CisgICAgICAgIEFTU0VS
VChtX2NsaWVudCk7CisgICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKKyAgICB9CisKK3Byb3Rl
Y3RlZDoKKyAgICBNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBj
bGllbnQpCisgICAgICAgIDogbV9jbGllbnQoJmNsaWVudCkKKyAgICB7CisgICAgfQorCisgICAg
TW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KiBtX2NsaWVudDsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNj
cmlwdExvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2Ny
aXB0TG9hZGVyQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk5NWY0OGVlM2QxZTAyYzFkOGM5YzlkYTJi
ZDU4MjM2ZjNiYTA3ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyOworY2xhc3MgRGVm
ZXJyZWRQcm9taXNlOworCitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworcHVibGlj
OgorICAgIHZpcnR1YWwgfk1vZHVsZVNjcmlwdExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKKwor
ICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChNb2R1bGVTY3JpcHRMb2FkZXImLCBVUkwm
JiwgUmVmPERlZmVycmVkUHJvbWlzZT4pID0gMDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCmluZGV4IGFhNWI4MGI1ODZi
NzllMGU1NzUwMWNkNTEwNzhkZjI1YTYyNWU1ZDkuLmMyZTViZTVlYWZmMzhiNDMwOTVlMDIwMjRk
Y2E2ZGMyMGI3OWNhM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdE1vZHVsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0TW9kdWxlTG9hZGVyLmNwcApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkNhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgogI2luY2x1ZGUg
IkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkZyYW1lLmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKQEAgLTQxLDYgKzQwLDcgQEAKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VD
b2RlLmgiCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VJbnRlZ3JpdHkuaCIKICNpbmNsdWRlICJXZWJD
b3JlSlNDbGllbnREYXRhLmgiCisjaW5jbHVkZSAiV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgi
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29tcGxldGlvbi5oPgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SlNNb2R1bGVSZWNvcmQuaD4KQEAgLTUyLDggKzUyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1TY3JpcHRNb2R1bGVMb2FkZXI6OlNjcmlwdE1vZHVsZUxvYWRlcihEb2N1bWVudCYgZG9j
dW1lbnQpCi0gICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQorU2NyaXB0TW9kdWxlTG9hZGVyOjpT
Y3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgT3duZXJU
eXBlIG93bmVyVHlwZSkKKyAgICA6IG1fY29udGV4dChjb250ZXh0KQorICAgICwgbV9vd25lclR5
cGUob3duZXJUeXBlKQogewogfQogCkBAIC02OCw3ICs2OSw3IEBAIHN0YXRpYyBib29sIGlzUm9v
dE1vZHVsZShKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXkpCiAgICAgcmV0dXJuIGltcG9y
dGVyTW9kdWxlS2V5LmlzU3ltYm9sKCkgfHwgaW1wb3J0ZXJNb2R1bGVLZXkuaXNVbmRlZmluZWQo
KTsKIH0KIAotc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxlU3BlY2lm
aWVyKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBzcGVjaWZpZXIsIGNvbnN0IFVS
TCYgYmFzZVVSTCkKK3N0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNw
ZWNpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTY3JpcHRNb2R1bGVMb2Fk
ZXI6Ok93bmVyVHlwZSBvd25lclR5cGUsIGNvbnN0IFN0cmluZyYgc3BlY2lmaWVyLCBjb25zdCBV
UkwmIGJhc2VVUkwpCiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI3Jlc29sdmUtYS1tb2R1bGUtc3BlY2lmaWVyCiAKQEAgLTc5
LDcgKzgwLDEyIEBAIHN0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNw
ZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0CiAgICAgaWYgKCFzcGVjaWZpZXIu
c3RhcnRzV2l0aCgnLycpICYmICFzcGVjaWZpZXIuc3RhcnRzV2l0aCgiLi8iKSAmJiAhc3BlY2lm
aWVyLnN0YXJ0c1dpdGgoIi4uLyIpKQogICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQobWFr
ZVN0cmluZygiTW9kdWxlIHNwZWNpZmllciwgJyJfcywgc3BlY2lmaWVyLCAiJyBkb2VzIG5vdCBz
dGFydCB3aXRoIFwiL1wiLCBcIi4vXCIsIG9yIFwiLi4vXCIuIFJlZmVyZW5jZWQgZnJvbSAiX3Ms
IGJhc2VVUkwuc3RyaW5nKCkpKTsKIAotICAgIGF1dG8gcmVzdWx0ID0gZG9jdW1lbnQuY29tcGxl
dGVVUkwoc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBVUkwgcmVzdWx0OworICAgIGlmIChvd25l
clR5cGUgPT0gU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGU6OkRvY3VtZW50KQorICAgICAg
ICByZXN1bHQgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkuY29tcGxldGVVUkwoc3BlY2lm
aWVyLCBiYXNlVVJMKTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IFVSTChiYXNlVVJMLCBz
cGVjaWZpZXIpOworCiAgICAgaWYgKCFyZXN1bHQuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4g
bWFrZVVuZXhwZWN0ZWQobWFrZVN0cmluZygiTW9kdWxlIG5hbWUsICciX3MsIHJlc3VsdC5zdHJp
bmcoKSwgIicgZG9lcyBub3QgcmVzb2x2ZSB0byBhIHZhbGlkIFVSTC4iX3MpKTsKICAgICByZXR1
cm4gcmVzdWx0OwpAQCAtMTA3LDcgKzExMyw3IEBAIEpTQzo6SWRlbnRpZmllciBTY3JpcHRNb2R1
bGVMb2FkZXI6OnJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPYmplY3QsCiAg
ICAgVVJMIGJhc2VVUkwgPSByZXNwb25zZVVSTEZyb21SZXF1ZXN0VVJMKCpqc0dsb2JhbE9iamVj
dCwgaW1wb3J0ZXJNb2R1bGVLZXkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsg
fSk7CiAKLSAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIobV9kb2N1bWVu
dCwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVT
cGVjaWZpZXIobV9jb250ZXh0LCBtX293bmVyVHlwZSwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKICAg
ICBpZiAoIXJlc3VsdCkgewogICAgICAgICBKU0M6OnRocm93VHlwZUVycm9yKGpzR2xvYmFsT2Jq
ZWN0LCBzY29wZSwgcmVzdWx0LmVycm9yKCkpOwogICAgICAgICByZXR1cm4geyB9OwpAQCAtMTYx
LDEzICsxNjcsMTkgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9hZGVy
OjpmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE8KICAgICBpZiAoYXV0byogc2Ny
aXB0RmV0Y2hQYXJhbWV0ZXJzID0gSlNDOjpqc0R5bmFtaWNDYXN0PEpTQzo6SlNTY3JpcHRGZXRj
aFBhcmFtZXRlcnMqPih2bSwgcGFyYW1ldGVycykpCiAgICAgICAgIHRvcExldmVsRmV0Y2hQYXJh
bWV0ZXJzID0gc3RhdGljX2Nhc3Q8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzKj4oJnNjcmlwdEZldGNo
UGFyYW1ldGVycy0+cGFyYW1ldGVycygpKTsKIAotICAgIGF1dG8gbG9hZGVyID0gQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdldCgpLCAqc3RhdGljX2Nh
c3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6SlNTY3JpcHRGZXRjaGVy
Kj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9wTGV2ZWxGZXRjaFBhcmFt
ZXRlcnMpKTsKLSAgICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOwotICAgIGlmICgh
bG9hZGVyLT5sb2FkKG1fZG9jdW1lbnQsIGNvbXBsZXRlZFVSTCkpIHsKLSAgICAgICAgbG9hZGVy
LT5jbGVhckNsaWVudCgpOwotICAgICAgICBtX2xvYWRlcnMucmVtb3ZlKFdURk1vdmUobG9hZGVy
KSk7Ci0gICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKGRlZmVycmVkLmdldCgp
LCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxl
IHNjcmlwdCBmYWlsZWQuIl9zKTsKLSAgICAgICAgcmV0dXJuIGpzUHJvbWlzZTsKKyAgICBpZiAo
bV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBhdXRvIGxvYWRl
ciA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQo
KSwgKnN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpT
U2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExl
dmVsRmV0Y2hQYXJhbWV0ZXJzKSk7CisgICAgICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlS
ZWYoKSk7CisgICAgICAgIGlmICghbG9hZGVyLT5sb2FkKGRvd25jYXN0PERvY3VtZW50PihtX2Nv
bnRleHQpLCBXVEZNb3ZlKGNvbXBsZXRlZFVSTCkpKSB7CisgICAgICAgICAgICBsb2FkZXItPmNs
ZWFyQ2xpZW50KCk7CisgICAgICAgICAgICBtX2xvYWRlcnMucmVtb3ZlKFdURk1vdmUobG9hZGVy
KSk7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihkZWZlcnJlZC5n
ZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1v
ZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm4ganNQcm9taXNlOwor
ICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXV0byBsb2FkZXIgPSBXb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNfY2Fz
dDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNoZXIq
PihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFyYW1l
dGVycykpOworICAgICAgICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOworICAgICAg
ICBsb2FkZXItPmxvYWQobV9jb250ZXh0LCBXVEZNb3ZlKGNvbXBsZXRlZFVSTCkpOwogICAgIH0K
IAogICAgIHJldHVybiBqc1Byb21pc2U7CkBAIC0xNzYsNyArMTg4LDcgQEAgSlNDOjpKU0ludGVy
bmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0
KiBqc0dsb2JhbE8KIFVSTCBTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVsZVVSTChKU0M6OkpTR2xv
YmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleVZhbHVlKQog
ewogICAgIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N5bWJvbCgpKQotICAgICAgICByZXR1cm4gbV9k
b2N1bWVudC51cmwoKTsKKyAgICAgICAgcmV0dXJuIG1fY29udGV4dC51cmwoKTsKIAogICAgIEFT
U0VSVChtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKTsKICAgICByZXR1cm4gVVJMKFVSTCgpLCBh
c1N0cmluZyhtb2R1bGVLZXlWYWx1ZSktPnZhbHVlKCZqc0dsb2JhbE9iamVjdCkpOwpAQCAtMTg3
LDggKzE5OSwxMSBAQCBVUkwgU2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNwb25zZVVSTEZyb21SZXF1
ZXN0VVJMKEpTQzo6SlNHbG9iYWxPYmplY3QmIGpzR2xvYmFsTwogICAgIEpTQzo6Vk0mIHZtID0g
anNHbG9iYWxPYmplY3Qudm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7CiAKLSAgICBpZiAoaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkKLSAgICAgICAg
cmV0dXJuIG1fZG9jdW1lbnQuYmFzZVVSTCgpOworICAgIGlmIChpc1Jvb3RNb2R1bGUobW9kdWxl
S2V5VmFsdWUpKSB7CisgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3Vt
ZW50KQorICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmJh
c2VVUkwoKTsKKyAgICAgICAgcmV0dXJuIG1fY29udGV4dC51cmwoKTsKKyAgICB9CiAKICAgICBB
U1NFUlQoIWlzUm9vdE1vZHVsZShtb2R1bGVLZXlWYWx1ZSkpOwogICAgIEFTU0VSVChtb2R1bGVL
ZXlWYWx1ZS5pc1N0cmluZygpKTsKQEAgLTIxOSw4ICsyMzQsMTQgQEAgSlNDOjpKU1ZhbHVlIFNj
cmlwdE1vZHVsZUxvYWRlcjo6ZXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxP
YmplY3QsIEoKICAgICBpZiAoIXNvdXJjZVVSTC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBK
U0M6OnRocm93VHlwZUVycm9yKGpzR2xvYmFsT2JqZWN0LCBzY29wZSwgIk1vZHVsZSBrZXkgaXMg
YW4gaW52YWxpZCBVUkwuIl9zKTsKIAotICAgIGlmIChhdXRvKiBmcmFtZSA9IG1fZG9jdW1lbnQu
ZnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS5ldmFsdWF0ZU1vZHVsZShz
b3VyY2VVUkwsICptb2R1bGVSZWNvcmQpOworICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5
cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvd25jYXN0PERvY3Vt
ZW50PihtX2NvbnRleHQpLmZyYW1lKCkpCisgICAgICAgICAgICByZXR1cm4gZnJhbWUtPnNjcmlw
dCgpLmV2YWx1YXRlTW9kdWxlKHNvdXJjZVVSTCwgKm1vZHVsZVJlY29yZCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgQVNTRVJUKGlzPFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPihtX2NvbnRl
eHQpKTsKKyAgICAgICAgaWYgKGF1dG8qIHNjcmlwdCA9IGRvd25jYXN0PFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlPihtX2NvbnRleHQpLnNjcmlwdCgpKQorICAgICAgICAgICAgcmV0dXJuIHNj
cmlwdC0+ZXZhbHVhdGVNb2R1bGUoKm1vZHVsZVJlY29yZCk7CisgICAgfQogICAgIHJldHVybiBK
U0M6OmpzVW5kZWZpbmVkKCk7CiB9CiAKQEAgLTI0OCwyMyArMjY5LDM2IEBAIEpTQzo6SlNJbnRl
cm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGpzCiAgICAgVVJMIGJhc2VVUkw7CiAgICAgUmVmUHRyPEpTQzo6U2NyaXB0RmV0
Y2hlcj4gc2NyaXB0RmV0Y2hlcjsKICAgICBpZiAoc291cmNlT3JpZ2luLmlzTnVsbCgpKSB7Ci0g
ICAgICAgIGJhc2VVUkwgPSBtX2RvY3VtZW50LmJhc2VVUkwoKTsKLSAgICAgICAgc2NyaXB0RmV0
Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7
CisgICAgICAgIFN0cmluZyBjaGFyc2V0OworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3du
ZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICAgICAgYmFzZVVSTCA9IGRvd25jYXN0PERvY3Vt
ZW50PihtX2NvbnRleHQpLmJhc2VVUkwoKTsKKyAgICAgICAgICAgIGNoYXJzZXQgPSBkb3duY2Fz
dDxEb2N1bWVudD4obV9jb250ZXh0KS5jaGFyc2V0KCk7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBiYXNlVVJMID0gbV9jb250ZXh0LnVybCgpOworICAgICAgICAgICAgY2hhcnNldCA9
ICJ1dGYtOCJfczsKKyAgICAgICAgfQorICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2Ny
aXB0RmV0Y2hlcjo6Y3JlYXRlKFdURk1vdmUoY2hhcnNldCkpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIGJhc2VVUkwgPSBVUkwoVVJMKCksIHNvdXJjZU9yaWdpbi5zdHJpbmcoKSk7CiAgICAgICAg
IGlmICghYmFzZVVSTC5pc1ZhbGlkKCkpCiAgICAgICAgICAgICByZXR1cm4gcmVqZWN0UHJvbWlz
ZShnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgIkltcG9ydGVyIG1vZHVsZSBrZXkgaXMgbm90IGEg
U3ltYm9sIG9yIGEgU3RyaW5nLiJfcyk7CiAKKyAgICAgICAgU3RyaW5nIGNoYXJzZXQ7CisgICAg
ICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KQorICAgICAgICAgICAg
Y2hhcnNldCA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmNoYXJzZXQoKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgY2hhcnNldCA9ICJ1dGYtOCJfczsKKwogICAgICAgICBpZiAo
c291cmNlT3JpZ2luLmZldGNoZXIoKSkKICAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBzb3Vy
Y2VPcmlnaW4uZmV0Y2hlcigpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBzY3JpcHRGZXRj
aGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKG1fZG9jdW1lbnQuY2hhcnNldCgpKTsK
KyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUo
V1RGTW92ZShjaGFyc2V0KSk7CiAgICAgfQogICAgIEFTU0VSVChiYXNlVVJMLmlzVmFsaWQoKSk7
CiAgICAgQVNTRVJUKHNjcmlwdEZldGNoZXIpOwogCiAgICAgYXV0byBzcGVjaWZpZXIgPSBtb2R1
bGVOYW1lLT52YWx1ZShqc0dsb2JhbE9iamVjdCk7Ci0gICAgYXV0byByZXN1bHQgPSByZXNvbHZl
TW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgYXV0
byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9vd25lclR5cGUs
IHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBy
ZWplY3RQcm9taXNlKGdsb2JhbE9iamVjdCwgVHlwZUVycm9yLCByZXN1bHQuZXJyb3IoKSk7CiAK
QEAgLTI4OCw2MiArMzIyLDk4IEBAIEpTQzo6SlNPYmplY3QqIFNjcmlwdE1vZHVsZUxvYWRlcjo6
Y3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjCiAgICAgcmV0dXJu
IG1ldGFQcm9wZXJ0aWVzOwogfQogCi12b2lkIFNjcmlwdE1vZHVsZUxvYWRlcjo6bm90aWZ5Rmlu
aXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiBsb2FkZXIsIFJlZlB0cjxEZWZlcnJlZFBy
b21pc2U+IHByb21pc2UpCit2b2lkIFNjcmlwdE1vZHVsZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQo
TW9kdWxlU2NyaXB0TG9hZGVyJiBtb2R1bGVTY3JpcHRMb2FkZXIsIFVSTCYmIHNvdXJjZVVSTCwg
UmVmPERlZmVycmVkUHJvbWlzZT4gcHJvbWlzZSkKIHsKICAgICAvLyBodHRwczovL2h0bWwuc3Bl
Yy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9k
dWxlLXNjcmlwdAogCi0gICAgVVJMIHNvdXJjZVVSTCA9IGxvYWRlci5zb3VyY2VVUkwoKTsKLSAg
ICBpZiAoIW1fbG9hZGVycy5yZW1vdmUoJmxvYWRlcikpCisgICAgaWYgKCFtX2xvYWRlcnMucmVt
b3ZlKCZtb2R1bGVTY3JpcHRMb2FkZXIpKQogICAgICAgICByZXR1cm47Ci0gICAgbG9hZGVyLmNs
ZWFyQ2xpZW50KCk7CisgICAgbW9kdWxlU2NyaXB0TG9hZGVyLmNsZWFyQ2xpZW50KCk7CiAKLSAg
ICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9hZGVyLmNhY2hlZFNjcmlwdCgpOworICAgIGlmICht
X293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGF1dG8mIGxvYWRl
ciA9IHN0YXRpY19jYXN0PENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciY+KG1vZHVsZVNjcmlwdExv
YWRlcik7CisgICAgICAgIGF1dG8mIGNhY2hlZFNjcmlwdCA9ICpsb2FkZXIuY2FjaGVkU2NyaXB0
KCk7CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0LnJlc291cmNlRXJyb3IoKS5pc0FjY2Vzc0NvbnRy
b2woKSkgewotICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCAiQ3Jvc3Mtb3JpZ2lu
IHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xp
Y3kuIl9zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKGNhY2hlZFNjcmlw
dC5yZXNvdXJjZUVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkpIHsKKyAgICAgICAgICAgIHByb21p
c2UtPnJlamVjdChUeXBlRXJyb3IsICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5
IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iX3MpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0LmVycm9yT2NjdXJyZWQo
KSkgewotICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcigqcHJvbWlzZSwgTW9k
dWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3Jp
cHQgZmFpbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNo
ZWRTY3JpcHQuZXJyb3JPY2N1cnJlZCgpKSB7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0
ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNF
cnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC53YXNDYW5jZWxl
ZCgpKSB7Ci0gICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKCpwcm9taXNlLCBN
b2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBz
Y3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAg
aWYgKGNhY2hlZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICByZWplY3RUb1By
b3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5k
OjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgaXMgY2FuY2VsZWQuIl9z
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKCFNSU1FVHlwZVJl
Z2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZShjYWNoZWRTY3JpcHQucmVzcG9u
c2UoKS5taW1lVHlwZSgpKSkgewotICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cu
b3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlw
dAotICAgICAgICAvLyBUaGUgcmVzdWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5cGUgZnJvbSBy
ZXNwb25zZSdzIGhlYWRlciBsaXN0IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBub3QgYSBKYXZh
U2NyaXB0IE1JTUUgdHlwZS4KLSAgICAgICAgLy8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywgZmV0
Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVja2lu
Zy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRoZXkg
YXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgotICAgICAgICBwcm9taXNlLT5yZWplY3Qo
VHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5
cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9y
dGVkSmF2YVNjcmlwdE1JTUVUeXBlKGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCkp
KSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFn
ZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAorICAgICAgICAg
ICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2Un
cyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBN
SU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRjaGlu
ZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJ
biBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBhcmUg
bm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3Qo
VHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5
cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoYXV0byogcGFyYW1ldGVycyA9IGxv
YWRlci5wYXJhbWV0ZXJzKCkpIHsKLSAgICAgICAgaWYgKCFtYXRjaEludGVncml0eU1ldGFkYXRh
KGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkpKSB7Ci0gICAgICAgICAgICBw
cm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJDYW5ub3QgbG9hZCBzY3JpcHQg
IiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMt
PmludGVncml0eSgpKSkpOworICAgICAgICBpZiAoYXV0byogcGFyYW1ldGVycyA9IGxvYWRlci5w
YXJhbWV0ZXJzKCkpIHsKKyAgICAgICAgICAgIGlmICghbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShj
YWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkgeworICAgICAgICAgICAgICAg
IHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIkNhbm5vdCBsb2FkIHNjcmlw
dCAiLCBpbnRlZ3JpdHlNaXNtYXRjaERlc2NyaXB0aW9uKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVy
cy0+aW50ZWdyaXR5KCkpKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
fQorICAgICAgICB9CisKKyAgICAgICAgVVJMIHJlc3BvbnNlVVJMID0gY2FjaGVkU2NyaXB0LnJl
c3BvbnNlKCkudXJsKCk7CisgICAgICAgIC8vIElmIHdlIGRvIG5vdCBoYXZlIHJlZGlyZWN0aW9u
LCB3ZSBtdXN0IHJlc2VydmUgdGhlIHNvdXJjZSBVUkwncyBmcmFnbWVudCBleHBsaWNpdGx5IGhl
cmUgc2luY2UgUmVzb3VyY2VSZXNwb25zZTo6dXJsKCkgaXMgdGhlIG9uZSB3aGVuIHdlIGZpcnN0
IGNhY2hlIGl0IHRvIE1lbW9yeUNhY2hlLgorICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRy
YWNrIGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KKyAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODQyMAorICAgICAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNDkwCisgICAgICAgIGlmICghY2Fj
aGVkU2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnNv
dXJjZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgeworICAg
ICAgICAgICAgaWYgKHNvdXJjZVVSTC5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkKKyAgICAgICAg
ICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIoc291cmNlVVJMLmZyYWdt
ZW50SWRlbnRpZmllcigpKTsKKyAgICAgICAgfQorCisgICAgICAgIG1fcmVxdWVzdFVSTFRvUmVz
cG9uc2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwgV1RGTW92ZShyZXNwb25zZVVSTCkp
OworICAgICAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxP
YmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7CisgICAgICAgICAgICByZXR1cm4gSlNDOjpKU1NvdXJj
ZUNvZGU6OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52bSgpLAorICAgICAgICAgICAgICAgIEpTQzo6
U291cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyAmY2FjaGVkU2NyaXB0LCBKU0M6OlNvdXJj
ZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNT
b3VyY2VDb2RlKCkgfSk7CisgICAgICAgIH0pOworICAgIH0gZWxzZSB7CisgICAgICAgIGF1dG8m
IGxvYWRlciA9IHN0YXRpY19jYXN0PFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciY+KG1vZHVsZVNj
cmlwdExvYWRlcik7CisgICAgICAgIGF1dG8mIHdvcmtlclNjcmlwdExvYWRlciA9IGxvYWRlci5z
Y3JpcHRMb2FkZXIoKTsKKworICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmZhaWxlZCgp
KSB7CisgICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVycm9yKCkuaXNBY2Nlc3ND
b250cm9sKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCAi
Q3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2Ug
U2hhcmluZyBwb2xpY3kuIl9zKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGlmICh3b3JrZXJTY3JpcHRMb2FkZXIuZXJyb3IoKS5pc0NhbmNl
bGxhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJy
b3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJ
bXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0
ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNF
cnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQotICAgIH0KIAotICAgIFVSTCByZXNwb25zZVVSTCA9IGNh
Y2hlZFNjcmlwdC5yZXNwb25zZSgpLnVybCgpOwotICAgIC8vIElmIHdlIGRvIG5vdCBoYXZlIHJl
ZGlyZWN0aW9uLCB3ZSBtdXN0IHJlc2VydmUgdGhlIHNvdXJjZSBVUkwncyBmcmFnbWVudCBleHBs
aWNpdGx5IGhlcmUgc2luY2UgUmVzb3VyY2VSZXNwb25zZTo6dXJsKCkgaXMgdGhlIG9uZSB3aGVu
IHdlIGZpcnN0IGNhY2hlIGl0IHRvIE1lbW9yeUNhY2hlLgotICAgIC8vIEZJWE1FOiBXZSBzaG91
bGQgdHJhY2sgZnJhZ21lbnRzIHRocm91Z2ggcmVkaXJlY3Rpb25zLgotICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAKLSAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNDkwCi0gICAgaWYgKCFjYWNoZWRTY3Jp
cHQuaGFzUmVkaXJlY3Rpb25zKCkgJiYgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkuc291cmNlKCkg
IT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7Ci0gICAgICAgIGlm
IChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCi0gICAgICAgICAgICByZXNwb25z
ZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIoc291cmNlVVJMLmZyYWdtZW50SWRlbnRpZmllcigp
KTsKLSAgICB9CisgICAgICAgIGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZh
U2NyaXB0TUlNRVR5cGUod29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlTUlNRVR5cGUoKSkpIHsK
KyAgICAgICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dl
YmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0CisgICAgICAgICAgICAv
LyBUaGUgcmVzdWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5cGUgZnJvbSByZXNwb25zZSdzIGhl
YWRlciBsaXN0IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0IE1JTUUg
dHlwZS4KKyAgICAgICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIGZldGNoaW5nIGEg
Y2xhc3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5cGUgY2hlY2tpbmcuIEluIGNv
bnRyYXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9hZCBpZiB0aGV5IGFyZSBub3Qg
b2YgYSBjb3JyZWN0IE1JTUUgdHlwZS4KKyAgICAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBl
RXJyb3IsIG1ha2VTdHJpbmcoIiciLCB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VNSU1FVHlw
ZSgpLCAiJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iKSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIG1fcmVxdWVzdFVSTFRvUmVzcG9uc2VVUkxN
YXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwgV1RGTW92ZShyZXNwb25zZVVSTCkpOwotICAgIHBy
b21pc2UtPnJlc29sdmVXaXRoQ2FsbGJhY2soWyZdIChKU0RPTUdsb2JhbE9iamVjdCYganNHbG9i
YWxPYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNH
bG9iYWxPYmplY3Qudm0oKSwKLSAgICAgICAgICAgIEpTQzo6U291cmNlQ29kZSB7IFNjcmlwdFNv
dXJjZUNvZGUgeyAmY2FjaGVkU2NyaXB0LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZTo6
TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7Ci0gICAg
fSk7CisgICAgICAgIFVSTCByZXNwb25zZVVSTCA9IHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25z
ZVVSTCgpOworCisgICAgICAgIG1fcmVxdWVzdFVSTFRvUmVzcG9uc2VVUkxNYXAuYWRkKHNvdXJj
ZVVSTC5zdHJpbmcoKSwgcmVzcG9uc2VVUkwpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlV2l0
aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7CisgICAg
ICAgICAgICByZXR1cm4gSlNDOjpKU1NvdXJjZUNvZGU6OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52
bSgpLAorICAgICAgICAgICAgICAgIEpTQzo6U291cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUg
eyB3b3JrZXJTY3JpcHRMb2FkZXIuc2NyaXB0KCksIFdURk1vdmUocmVzcG9uc2VVUkwpLCB7IH0s
IEpTQzo6U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUsIGxvYWRlci5zY3JpcHRGZXRj
aGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9KTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5oCmluZGV4
IGRlMjlkMmY0YmYwOTZiNjBjMzY5OTgwMzE2YzE0ODZiMjgyYWJmMDkuLmRmMzRkNTUxYTExY2Q5
OGY0ZTIzNmEyYWExZjQ4Mjc5ZDk2NGM2ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5oCkBAIC0yNSw4ICsyNSw4IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaW5jbHVkZSAiQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmgiCi0jaW5jbHVkZSAi
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0
TG9hZGVyLmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvSlNDSlNWYWx1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC00NSwxNiArNDUsMTcgQEAgY2xhc3Mg
U291cmNlT3JpZ2luOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIERvY3VtZW50Owog
Y2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
Ci1jbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCB7CitjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2
YXRlIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U2NyaXB0TW9kdWxlTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0g
ICAgZXhwbGljaXQgU2NyaXB0TW9kdWxlTG9hZGVyKERvY3VtZW50Jik7CisgICAgZW51bSBjbGFz
cyBPd25lclR5cGUgOiB1aW50OF90IHsgRG9jdW1lbnQsIFdvcmtlck9yV29ya2xldCB9OworICAg
IGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgT3du
ZXJUeXBlKTsKICAgICB+U2NyaXB0TW9kdWxlTG9hZGVyKCk7CiAKLSAgICBEb2N1bWVudCYgZG9j
dW1lbnQoKSB7IHJldHVybiBtX2RvY3VtZW50OyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCgpIHsgcmV0dXJuIG1fY29udGV4dDsgfQogCiAgICAgSlNDOjpJZGVudGlmaWVy
IHJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6
OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5LCBKU0M6
OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcik7CiAgICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogZmV0
Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFs
dWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpOwpAQCAtNjMsMTMgKzY0LDE1IEBAIGNsYXNzIFNjcmlwdE1vZHVsZUxvYWRlciBm
aW5hbCA6IHByaXZhdGUgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKICAgICBKU0M6
OkpTT2JqZWN0KiBjcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29y
ZCosIEpTQzo6SlNWYWx1ZSk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBub3RpZnlGaW5pc2hlZChD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPikgZmluYWw7
CisgICAgdm9pZCBub3RpZnlGaW5pc2hlZChNb2R1bGVTY3JpcHRMb2FkZXImLCBVUkwmJiwgUmVm
PERlZmVycmVkUHJvbWlzZT4pIGZpbmFsOworCiAgICAgVVJMIG1vZHVsZVVSTChKU0M6OkpTR2xv
YmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlKTsKICAgICBVUkwgcmVzcG9uc2VVUkxGcm9tUmVxdWVz
dFVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlKTsKIAotICAgIERvY3VtZW50
JiBtX2RvY3VtZW50OworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1fY29udGV4dDsKICAg
ICBIYXNoTWFwPFN0cmluZywgVVJMPiBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwOwotICAg
IEhhc2hTZXQ8UmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4+IG1fbG9hZGVyczsKKyAgICBI
YXNoU2V0PFJlZjxNb2R1bGVTY3JpcHRMb2FkZXI+PiBtX2xvYWRlcnM7CisgICAgT3duZXJUeXBl
IG1fb3duZXJUeXBlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTAwMTkxYzFhYWFmZmZiZjFhNTQxZDUyOTM0MjMxNWZkOGIwODdkZQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNj
cmlwdExvYWRlci5jcHAKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCIKKworI2luY2x1
ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIK
KyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUg
IkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJz
LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCisjaW5jbHVkZSAiU2NyaXB0
Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgorI2luY2x1ZGUg
IlNjcmlwdFNvdXJjZUNvZGUuaCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyPiBXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNs
aWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3Jp
cHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVu
dCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJzKSkpOworfQorCitX
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNo
ZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzPiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50KQorICAg
ICwgbV9wcm9taXNlKCZwcm9taXNlKQorICAgICwgbV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNo
ZXIpCisgICAgLCBtX3BhcmFtZXRlcnMoV1RGTW92ZShwYXJhbWV0ZXJzKSkKKyAgICAsIG1fc2Ny
aXB0TG9hZGVyKFdvcmtlclNjcmlwdExvYWRlcjo6Y3JlYXRlKCkpCit7Cit9CisKK1dvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6fldvcmtlck1vZHVsZVNjcmlwdExvYWRlcigpCit7CisgICAgbV9z
Y3JpcHRMb2FkZXItPmNhbmNlbCgpOworfQorCitib29sIFdvcmtlck1vZHVsZVNjcmlwdExvYWRl
cjo6bG9hZChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBVUkwmJiBzb3VyY2VVUkwp
Cit7CisgICAgbV9zb3VyY2VVUkwgPSBXVEZNb3ZlKHNvdXJjZVVSTCk7CisKKyAgICBSZXNvdXJj
ZVJlcXVlc3QgcmVxdWVzdCB7IG1fc291cmNlVVJMIH07CisKKyAgICBGZXRjaE9wdGlvbnMgZmV0
Y2hPcHRpb25zOworICAgIGZldGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpD
b3JzOworICAgIGZldGNoT3B0aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1
bHQ7CisgICAgZmV0Y2hPcHRpb25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6
Rm9sbG93OworICAgIC8vIEZJWE1FOiBQcm9wYWdhdGUgY3JlZGVudGlhbHMuCisgICAgLy8gZmV0
Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gc2NyaXB0RmV0Y2hKb2IuY3JlZGVudGlhbHM7CisgICAg
YXV0byBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IGNvbnRleHQuc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KCkgPyBDb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlIDogQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQ6OkVuZm9yY2VDaGlsZFNyY0RpcmVjdGl2ZTsKKworICAgIFN0cmluZyB0YXNrTW9kZSA9
ICJsb2FkTW9kdWxlc0luV29ya2VyT3JXb3JrbGV0TW9kZSJfczsKKyAgICBtX3NjcmlwdExvYWRl
ci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUo
ZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VX
b3JrZXJzTW9kZTo6QWxsLCAqdGhpcywgV1RGTW92ZSh0YXNrTW9kZSkpOworICAgIHJldHVybiB0
cnVlOworfQorCit2b2lkIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQo
KQoreworICAgIEFTU0VSVChtX3Byb21pc2UpOworCisgICAgYXV0byBwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZigqdGhpcyk7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+bm90
aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9zb3VyY2VVUkwpLCBtX3Byb21pc2UucmVsZWFz
ZU5vbk51bGwoKSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjRkOTc3YmYxYzA0MmQ3
MDU1OTcyZGViY2I0NDFmOTgxZjhiMjExZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNjkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExv
YWRlci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUg
PHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVVJMLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgRGVmZXJyZWRQcm9taXNlOworY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBN
b2R1bGVGZXRjaFBhcmFtZXRlcnM7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xh
c3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyOwor
CitjbGFzcyBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgTW9kdWxlU2Ny
aXB0TG9hZGVyLCBwcml2YXRlIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFJlZjxXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwg
UmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2aXJ0dWFsIH5Xb3JrZXJN
b2R1bGVTY3JpcHRMb2FkZXIoKTsKKworICAgIGJvb2wgbG9hZChTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgVVJMJiYgc291cmNlVVJMKTsKKworICAgIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlw
dEZldGNoZXIoKSB7IHJldHVybiBtX3NjcmlwdEZldGNoZXIuZ2V0KCk7IH0KKyAgICBNb2R1bGVG
ZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMoKSB7IHJldHVybiBtX3BhcmFtZXRlcnMuZ2V0KCk7
IH0KKyAgICBXb3JrZXJTY3JpcHRMb2FkZXImIHNjcmlwdExvYWRlcigpIHsgcmV0dXJuIG1fc2Ny
aXB0TG9hZGVyLmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNj
cmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKworICAgIHZv
aWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSBmaW5hbCB7IH0KKyAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKCkgZmluYWw7CisKKyAgICBS
ZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBtX3Byb21pc2U7CisgICAgUmVmPENhY2hlZFNjcmlwdEZl
dGNoZXI+IG1fc2NyaXB0RmV0Y2hlcjsKKyAgICBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJz
PiBtX3BhcmFtZXRlcnM7CisgICAgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gbV9zY3JpcHRMb2Fk
ZXI7CisgICAgVVJMIG1fc291cmNlVVJMOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOWIyMTM4Yjc3YzE4MGQ3MjA5NTE4MDBlMTRlMzQ3
YTE0M2U5NzE3MS4uNTRjZmYwNGE5NmRiYzgwOWQ2MzZhYWVjOGVjYjIwNWU0Njc3ZjA0OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02MTUsNyArNjE1LDcgQEAgRG9jdW1lbnQ6OkRvY3Vt
ZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgU2V0dGluZ3MmIHNldHRpbmdzLCBjb25zdCBVUkwmIHVy
bCwgRG9jdW0KICAgICAsIG1fZG9jdW1lbnRDcmVhdGlvblRpbWUoTW9ub3RvbmljVGltZTo6bm93
KCkpCiAjZW5kaWYKICAgICAsIG1fc2NyaXB0UnVubmVyKG1ha2VVbmlxdWU8U2NyaXB0UnVubmVy
PigqdGhpcykpCi0gICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxv
YWRlcj4oKnRoaXMpKQorICAgICwgbV9tb2R1bGVMb2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1
bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93bmVyVHlwZTo6RG9jdW1lbnQp
KQogI2lmIEVOQUJMRShYU0xUKQogICAgICwgbV9hcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zVGlt
ZXIoKnRoaXMsICZEb2N1bWVudDo6YXBwbHlQZW5kaW5nWFNMVHJhbnNmb3Jtc1RpbWVyRmlyZWQp
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNj
cmlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCmlu
ZGV4IDlhMjVjMTY1ODhlZWNhZDY3OGZiOTExZWM4NjIyZjQyNDI1OTJiNWEuLjQ4ZWMwODUxYTQ1
N2Q5YmE0NzQ3M2ZlYzI4ZDdiNDkzMTJiNzg4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xv
YWRhYmxlTW9kdWxlU2NyaXB0LmNwcApAQCAtODgsMTYgKzg4LDQgQEAgdm9pZCBMb2FkYWJsZU1v
ZHVsZVNjcmlwdDo6ZXhlY3V0ZShTY3JpcHRFbGVtZW50JiBzY3JpcHRFbGVtZW50KQogICAgIHNj
cmlwdEVsZW1lbnQuZXhlY3V0ZU1vZHVsZVNjcmlwdCgqdGhpcyk7CiB9CiAKLXZvaWQgTG9hZGFi
bGVNb2R1bGVTY3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwmIHJvb3RV
UkwpCi17Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAg
ZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoKnRoaXMsIHJvb3RVUkwuc3RyaW5nKCks
IG1fcGFyYW1ldGVycy5jb3B5UmVmKCkpOwotfQotCi12b2lkIExvYWRhYmxlTW9kdWxlU2NyaXB0
Ojpsb2FkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNl
Q29kZSkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAg
ICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgc291cmNlQ29kZSk7Ci19
Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlw
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgKaW5kZXggYmI3
OTk1NGQ3Yjk5YjBlZDA2YmZlNTVlZjg1NGVjY2UyMWYzNTg3Ny4uZDI1MzU5NjNmNjQ4YjAyYThh
MDFmZDYzYmIxZTM4MTM4NmNlZTQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xv
YWRhYmxlTW9kdWxlU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9k
dWxlU2NyaXB0LmgKQEAgLTUwLDE1ICs1MCwxNCBAQCBjbGFzcyBMb2FkYWJsZU1vZHVsZVNjcmlw
dCBmaW5hbCA6IHB1YmxpYyBMb2FkYWJsZVNjcmlwdCB7CiAKICAgICB2b2lkIHNldEVycm9yKEVy
cm9yJiYpOwogCi0gICAgdm9pZCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiByb290VVJMKTsK
LSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7Ci0KICAg
ICB2b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmluZ0ltcGwmKTsKICAgICB2b2lk
IG5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yJiYpOwogICAgIHZvaWQgbm90
aWZ5TG9hZFdhc0NhbmNlbGVkKCk7CiAKICAgICBVbmlxdWVkU3RyaW5nSW1wbCogbW9kdWxlS2V5
KCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0KIAorICAgIE1vZHVsZUZldGNo
UGFyYW1ldGVycyYgcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQor
CiBwcml2YXRlOgogICAgIExvYWRhYmxlTW9kdWxlU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2Us
IGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgU3RyaW5nJiBj
cm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYg
aW5pdGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCAwNTc1OGI2MDBjNzUyMmI0N2YzNjRiYTZhMThk
MzVmMTczMTEwN2Y5Li41ZTk5ZjBmNTc3N2IzYjIxNThkZDBmYTRiYzM4Mjc3NmNkYjM0ODEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5j
bHVkZSAiTG9hZGFibGVDbGFzc2ljU2NyaXB0LmgiCiAjaW5jbHVkZSAiTG9hZGFibGVNb2R1bGVT
Y3JpcHQuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCisjaW5jbHVkZSAiTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUg
IlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgogI2luY2x1ZGUgIlNWR1NjcmlwdEVsZW1lbnQu
aCIKQEAgLTM1MSw4ICszNTIsMTEgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxl
U2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbikKICAgICAgICAg
ICAgIHNjcmlwdENoYXJzZXQoKSwKICAgICAgICAgICAgIG1fZWxlbWVudC5sb2NhbE5hbWUoKSwK
ICAgICAgICAgICAgIG1fZWxlbWVudC5pc0luVXNlckFnZW50U2hhZG93VHJlZSgpKTsKLSAgICAg
ICAgc2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBtb2R1bGVTY3JpcHRSb290VVJM
KTsKICAgICAgICAgbV9sb2FkYWJsZVNjcmlwdCA9IFdURk1vdmUoc2NyaXB0KTsKKyAgICAgICAg
aWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkgeworICAgICAg
ICAgICAgYXV0byYgc2NyaXB0ID0gZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVTY3JpcHQ+KCptX2xv
YWRhYmxlU2NyaXB0LmdldCgpKTsKKyAgICAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9k
dWxlU2NyaXB0KHNjcmlwdCwgbW9kdWxlU2NyaXB0Um9vdFVSTC5zdHJpbmcoKSwgbWFrZVJlZihz
Y3JpcHQucGFyYW1ldGVycygpKSk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogCkBAIC0zNjcsOCArMzcxLDkgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9k
dWxlU2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbikKICAgICBp
ZiAoIWNvbnRlbnRTZWN1cml0eVBvbGljeS5hbGxvd0lubGluZVNjcmlwdChtX2VsZW1lbnQuZG9j
dW1lbnQoKS51cmwoKS5zdHJpbmcoKSwgbV9zdGFydExpbmVOdW1iZXIsIHNvdXJjZUNvZGUuc291
cmNlKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLCBoYXNLbm93bk5vbmNlKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgc2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBz
b3VyY2VDb2RlKTsKICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAg
IGlmIChhdXRvKiBmcmFtZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmZyYW1lKCkpCisgICAgICAg
IGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KGRvd25jYXN0PExvYWRhYmxlTW9kdWxl
U2NyaXB0PigqbV9sb2FkYWJsZVNjcmlwdC5nZXQoKSksIHNvdXJjZUNvZGUpOwogICAgIHJldHVy
biB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAK
aW5kZXggMjcxN2M4NjFjNzRiMGYyYWViY2RlNDA4NzAwZTJhOWEwMzczNzU5NS4uMWI2NTMyYzNi
MGVhYTgwZDliZDQ2YzZkNDMyMTM2OTYyMWMwMTliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9UaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMTAxLDEwICsxMDEsMTAgQEAgVGhyZWFkYWJsZUxv
YWRlck9wdGlvbnMgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0
CiB9CiAKIAotUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
JiBjbGllbnQsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zJiBvcHRpb25zLCBTdHJpbmcmJiByZWZlcnJlcikKK1JlZlB0cjxUaHJlYWRhYmxl
TG9hZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgU3RyaW5n
JiYgcmVmZXJyZXIsIFN0cmluZyYmIHRhc2tNb2RlKQogewogICAgIGlmIChpczxXb3JrZXJHbG9i
YWxTY29wZT4oY29udGV4dCkgfHwgKGlzPFdvcmtsZXRHbG9iYWxTY29wZT4oY29udGV4dCkgJiYg
ZG93bmNhc3Q8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KS53b3JrZXJPcldvcmtsZXRUaHJl
YWQoKSkpCi0gICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc3Rh
dGljX2Nhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUmPihjb250ZXh0KSwgY2xpZW50LCBX
b3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpLCBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRpb25zLCBX
VEZNb3ZlKHJlZmVycmVyKSk7CisgICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVy
OjpjcmVhdGUoc3RhdGljX2Nhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUmPihjb250ZXh0
KSwgY2xpZW50LCBXVEZNb3ZlKHRhc2tNb2RlKSwgV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9ucywg
V1RGTW92ZShyZWZlcnJlcikpOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbnVsbHB0cjsK
ICAgICBpZiAoaXM8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGMyYjI0NWMzZWJiOGJjOTMwZWY0ZDE3MmJh
MTUwOWExNzlmMWQ3YTYuLjFhYzcwNGI0YzNiNTBiMGZmZGEwMzQyOGMzY2U3ZGExNDk4ODI2MzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAtNzQsNyArNzQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRo
cmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJl
c291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVzb3VyY2VSZXF1
ZXN0JiYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0
aW9ucyYpOwotICAgICAgICBzdGF0aWMgUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIFJlc291cmNl
UmVxdWVzdCYmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIFN0cmluZyYmIHJlZmVy
cmVyID0gU3RyaW5nKCkpOworICAgICAgICBzdGF0aWMgUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYs
IFJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIFN0cmlu
ZyYmIHJlZmVycmVyID0gU3RyaW5nKCksIFN0cmluZyYmIHRhc2tNb2RlID0geyB9KTsKIAogICAg
ICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUlzRG9uZSgpID0gMDsKICAgICAgICAgdmlydHVhbCB2
b2lkIGNhbmNlbCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA2MmY5MTdh
MzY3ODE5ZGVjM2NkNDEwZDk3NjY5NWNlZTYyZjZkNGI5Li5kZGJkZjVlMWFhOWNlNTc5N2JiZDNh
NDQ4MWU1YjRjZTNiOTU4MWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC03MCw2
ICs3MCw4IEBAIGlubGluZSBXb3JrZXI6OldvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lCiAgICAgLCBtX2lkZW50aWZpZXIoIndv
cmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIo
KSkKICAgICAsIG1fY29udGV4dFByb3h5KFdvcmtlckdsb2JhbFNjb3BlUHJveHk6OmNyZWF0ZSgq
dGhpcykpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxhZ3MpCisgICAgLCBtX3R5cGUo
b3B0aW9ucy50eXBlKQorICAgICwgbV9jcmVkZW50aWFscyhvcHRpb25zLmNyZWRlbnRpYWxzKQog
ewogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVy
KSB7CkBAIC0xMTMsMTAgKzExNSwxMyBAQCBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gV29ya2Vy
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdQogCiAgICAg
RmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKICAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNo
T3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsKKyAgICBpZiAod29ya2VyLT5tX3R5cGUgPT0gV29y
a2VyVHlwZTo6TW9kdWxlKQorICAgICAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSB3b3Jr
ZXItPm1fY3JlZGVudGlhbHM7CiAgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25z
OjpDYWNoZTo6RGVmYXVsdDsKICAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlv
bnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyOwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2Fk
ZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3Zl
KGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNl
V29ya2Vyc01vZGU6OkFsbCwgd29ya2VyKTsKKyAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5s
b2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRj
aE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtl
cnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSwgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7
CisKICAgICByZXR1cm4gd29ya2VyOwogfQogCkBAIC0yMTUsNyArMjIwLDcgQEAgdm9pZCBXb3Jr
ZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSA9
IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKICAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJz
ZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpLCBSZWZlcnJl
clBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCiAgICAgICAgIHJlZmVycmVyUG9saWN5ID0gKnBv
bGljeTsKLSAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0
TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXIt
PnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBtX3J1
bnRpbWVGbGFncyk7CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZSht
X3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0
TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGlj
eSwgbV90eXBlLCBtX2NyZWRlbnRpYWxzLCBtX3J1bnRpbWVGbGFncyk7CiAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZCgqY29udGV4dCwgbV9zY3JpcHRMb2FkZXIt
PmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmgKaW5kZXggNTNmNWU2ZmZmMjdjOWZhM2U1YzBlMDFmMGY2YzQyYzZjYjZmOWQw
ZS4uMzhhNjIzYTk4ZGJhMzVmZjgwMTNjZDZmYzhjODVjODEwMjA1MDIxMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlci5oCkBAIC0yOSw5ICsyOSwxMSBAQAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVj
dC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgog
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlh
bHMuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0
aW9ucy5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUg
IldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4K
ICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5o
PgpAQCAtNTUsNiArNTcsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RX
b3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29yawogICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoV29ya2VyKTsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgT3B0aW9ucyB7Cisg
ICAgICAgIFdvcmtlclR5cGUgdHlwZTsKKyAgICAgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMg
Y3JlZGVudGlhbHM7CiAgICAgICAgIFN0cmluZyBuYW1lOwogICAgIH07CiAgICAgc3RhdGljIEV4
Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpT
Qzo6UnVudGltZUZsYWdzLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgT3B0aW9ucyYpOwpAQCAt
NzksNiArODMsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIs
IHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29yawogICAgIHZvaWQgcG9zdFRhc2tU
b1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYp
PiYmKTsKICNlbmRpZgogCisgICAgV29ya2VyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgT3B0aW9ucyYpOwogCkBAIC0xMTIsNiAr
MTE4LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICNpZiBFTkFCTEUoV0VCX1JUQykKICAg
ICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1lcnM7CiAjZW5kaWYKKyAgICBXb3JrZXJUeXBl
IG1fdHlwZSB7IFdvcmtlclR5cGU6OkNsYXNzaWMgfTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50
aWFscyBtX2NyZWRlbnRpYWxzIHsgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4g
fTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlk
bAppbmRleCA0NWQ2YTA4Njc4NTRlZTQwNGRlN2U3ZDAxMjQ4Y2ViZjQ0ZGNhN2VkLi43MDIxNzk2
ZGY1MDRhZGY4ZTZiOTU4OWFjZTlmMTQ0ODIxZjI5NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaWRsCkBAIC0zOCw2ICszOCw4IEBACiB9OwogCiBkaWN0aW9uYXJ5IFdvcmtlck9wdGlvbnMg
eworICAgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFzc2ljIjsKKyAgICBGZXRjaFJlcXVlc3RDcmVk
ZW50aWFscyBjcmVkZW50aWFscyA9ICJzYW1lLW9yaWdpbiI7IC8vIGNyZWRlbnRpYWxzIGlzIG9u
bHkgdXNlZCBpZiB0eXBlIGlzICJtb2R1bGUiCiAgICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXgg
ZGJhYjM0OGU4MGM5ZGU1MGJkMjE1Nzc3YTE0YTM5YTBmNzBlNDljNy4uMzdkMmZjZjkyZGEzZTNh
OTkzNWRjOTlhNzE1ZjUxYjY2Mjc3YjFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTc0LDYgKzc0LDcgQEAgV29ya2VyR2xvYmFsU2NvcGU6
Oldvcmtlckdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUgdHlwZSwgY29uc3QgV29ya2VyUGFy
YW1ldGUKICAgICAsIG1fcGVyZm9ybWFuY2UoUGVyZm9ybWFuY2U6OmNyZWF0ZSh0aGlzLCBwYXJh
bXMudGltZU9yaWdpbikpCiAgICAgLCBtX3JlZmVycmVyUG9saWN5KHBhcmFtcy5yZWZlcnJlclBv
bGljeSkKICAgICAsIG1fc2V0dGluZ3NWYWx1ZXMocGFyYW1zLnNldHRpbmdzVmFsdWVzKQorICAg
ICwgbV93b3JrZXJUeXBlKHBhcmFtcy53b3JrZXJUeXBlKQogewogI2lmICFFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKICAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvblByb3h5KTsKQEAgLTI3NCw2
ICsyNzUsMTEgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNj
cmlwdHMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMpCiB7CiAgICAgQVNTRVJUKGNvbnRlbnRT
ZWN1cml0eVBvbGljeSgpKTsKIAorICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
bXVsdGlwYWdlL3dvcmtlcnMuaHRtbCNpbXBvcnRpbmctc2NyaXB0cy1hbmQtbGlicmFyaWVzCisg
ICAgLy8gMS4gSWYgd29ya2VyIGdsb2JhbCBzY29wZSdzIHR5cGUgaXMgIm1vZHVsZSIsIHRocm93
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgICBpZiAobV93b3JrZXJUeXBlID09IFdvcmtlclR5
cGU6Ok1vZHVsZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgImltcG9y
dFNjcmlwdHMgY2Fubm90IGJlIHVzZWQgaWYgd29lcmtlciB0eXBlIGlzIFwibW9kdWxlXCIiX3Mg
fTsKKwogICAgIFZlY3RvcjxVUkw+IGNvbXBsZXRlZFVSTHM7CiAgICAgY29tcGxldGVkVVJMcy5y
ZXNlcnZlSW5pdGlhbENhcGFjaXR5KHVybHMuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIGVudHJ5
IDogdXJscykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmlu
ZGV4IDQ2ZDQ5ZDk0YzUyMzhlNDY4OGQzOTVkODdjMjA2M2ViNTcyMGQxYmYuLjBmMWRhYmZmMDVi
NTg5YTM3MWZkZjQyZTNiM2FjMTI4NjU4NzgzNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTE2Myw4ICsxNjMsNiBAQCBjbGFzcyBXb3JrZXJHbG9i
YWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1Ymxp
YyBCYXNlNgogICAgIG11dGFibGUgUmVmUHRyPFdvcmtlckxvY2F0aW9uPiBtX2xvY2F0aW9uOwog
ICAgIG11dGFibGUgUmVmUHRyPFdvcmtlck5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7CiAKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcj4gbV9zY3JpcHQ7
Ci0KICAgICBib29sIG1faXNPbmxpbmU7CiAgICAgYm9vbCBtX3Nob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeTsKIApAQCAtMTg3LDYgKzE4NSw3IEBAIGNsYXNzIFdvcmtl
ckdsb2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFdvcmtlckdsb2JhbFNjb3BlPiwg
cHVibGljIEJhc2U2CiAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1ZhbHVlUG9vbD4gbV9jc3NWYWx1
ZVBvb2w7CiAgICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBvbGljeTsKICAgICBTZXR0aW5n
czo6VmFsdWVzIG1fc2V0dGluZ3NWYWx1ZXM7CisgICAgV29ya2VyVHlwZSBtX3dvcmtlclR5cGU7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCmluZGV4IDQwMDAzYzNlMDEwOTk5NjBmNjQ3ODYx
ZTcwMTY4N2QwZTM3MWQ3MmQuLmVkNjczYWM4ZjdjMGVlNTRjMDYwZWNiNTkyMTYzOTBlZDcwZmUy
Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94
eS5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlUHJveHkgewogcHVi
bGljOgogICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZVByb3h5JiBjcmVhdGUoV29ya2VyJik7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNj
cmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9v
bCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGlj
eSwgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VD
b2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVu
dGlhbHMsIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0
ZVdvcmtlckdsb2JhbFNjb3BlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRv
V29ya2VyR2xvYmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJikgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0Jik+JiYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggMTlkNGJlNjQ5OTJmMzBkM2NjZTc2NTQ3
YTNkMjIxOGE5OGM4NDJjMy4uNzg4MzU4N2E3YWY2MjA5ZTNlY2M4ZTdiNDFiYWQ0N2FkZjYyMjQw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5j
cHAKQEAgLTczLDcgKzczLDcgQEAgV29ya2VyTWVzc2FnaW5nUHJveHk6On5Xb3JrZXJNZXNzYWdp
bmdQcm94eSgpCiAgICAgICAgIHx8IChpczxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkgJiYgZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpLnRocmVhZCgpLnRocmVhZCgpID09ICZUaHJlYWQ6OmN1cnJlbnQoKSkp
OwogfQogCi12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3Bl
KGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZl
cnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQordm9pZCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09u
bGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5
cGUgd29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIEpTQzo6
UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKIHsKICAgICAvLyBGSVhNRTogVGhpcyBuZWVkIHRv
IGJlIHJldmlzaXRlZCB3aGVuIHdlIHN1cHBvcnQgbmVzdGVkIHdvcmtlciBvbmUgZGF5CiAgICAg
QVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CkBAIC04OSw3ICs4OSw3IEBAIHZvaWQg
V29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIGNvbnN0IFN0CiAKICAgICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIg
PSBkb2N1bWVudC5zb2NrZXRQcm92aWRlcigpOwogCi0gICAgV29ya2VyUGFyYW1ldGVycyBwYXJh
bXMgPSB7IHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwg
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBkb2N1
bWVudC5zZXR0aW5nc1ZhbHVlcygpIH07CisgICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMgPSB7
IHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCB3b3JrZXJUeXBl
LCBjcmVkZW50aWFscywgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSB9OwogICAgIGF1dG8gdGhy
ZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUocGFyYW1zLCBzb3VyY2VDb2RlLCAq
dGhpcywgKnRoaXMsICp0aGlzLCBzdGFydE1vZGUsIGRvY3VtZW50LnRvcE9yaWdpbigpLCBwcm94
eSwgc29ja2V0UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7CiAKICAgICB3b3JrZXJUaHJlYWRDcmVh
dGVkKHRocmVhZC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmgKaW5kZXggYzViNTc1YjllNjE1YjNmM2Y1OTZiZmMzZGY2ODNjODc3Y2M2MmJh
Yi4uZDllODFlMTU3YTBmNDg1MmU0OWI1OWQyNTY2YThhODBmNWY4MThhZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNTAsNyArNTAsNyBA
QCBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxXb3JrZXJNZXNzYWdpbmdQcgogcHJpdmF0ZToKICAgICAvLyBJbXBsZW1lbnRhdGlv
bnMgb2YgV29ya2VyR2xvYmFsU2NvcGVQcm94eS4KICAgICAvLyAoT25seSB1c2UgdGhlc2UgZnVu
Y3Rpb25zIGluIHRoZSB3b3JrZXIgb2JqZWN0IHRocmVhZC4pCi0gICAgdm9pZCBzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7Cisg
ICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBj
b25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBl
LCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOwogICAg
IHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBvc3RN
ZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSBmaW5h
bDsKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IDIzODRhNWE4
YzdkMmEzMDJlZWU1Y2I0MDVlMTA1ZTAyNWM5ODQzY2MuLmY0ZjRiMjc0NjZmOWEzMGIyOGI4YjIx
ZjZmMmJlZjhiZGU5Mzg1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIKIAor
I2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1ZGUgIldvcmtlckV2ZW50TG9v
cC5oIgogI2luY2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJX
b3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCkBAIC0zOSw2ICs0MCw3IEBAIFdURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSk7CiAKIFdv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3Jr
ZXJUaHJlYWRUeXBlIHR5cGUsIFJlZjxKU0M6OlZNPiYmIHZtLCBXb3JrZXJPcldvcmtsZXRUaHJl
YWQqIHRocmVhZCkKICAgICA6IG1fc2NyaXB0KG1ha2VVbmlxdWU8V29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlcj4odHlwZSwgV1RGTW92ZSh2bSksIHRoaXMpKQorICAgICwgbV9tb2R1bGVM
b2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRNb2R1bGVM
b2FkZXI6Ok93bmVyVHlwZTo6V29ya2VyT3JXb3JrbGV0KSkKICAgICAsIG1fdGhyZWFkKHRocmVh
ZCkKICAgICAsIG1faW5zcGVjdG9yQ29udHJvbGxlcihtYWtlVW5pcXVlPFdvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXI+KCp0aGlzKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCA2YzI0NGEwYzQyN2VlMWM4YzY1ZmRj
Yzc2NTk1MmY4NzdmZDliMTZiLi41NDRmMDQ3YWVjMjc4MzI3NDRkMGE4YTcwYWY3ZTkzOWMzMzA5
OTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRH
bG9iYWxTY29wZS5oCkBAIC0zMiw2ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEV2ZW50TG9vcFRhc2tHcm91cDsKK2NsYXNzIFNjcmlwdE1vZHVsZUxvYWRlcjsKIGNsYXNz
IFdvcmtlckV2ZW50TG9vcDsKIGNsYXNzIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFz
cyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOwpAQCAtNTQsNiArNTUsOCBAQCBjbGFz
cyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBwdWJsaWMgUmVmQ291bgogCiAgICAgdW5zaWduZWQgbG9uZyBjcmVhdGVVbmlxdWVJZGVu
dGlmaWVyKCkgeyByZXR1cm4gbV91bmlxdWVJZGVudGlmaWVyKys7IH0KIAorICAgIFNjcmlwdE1v
ZHVsZUxvYWRlciYgbW9kdWxlTG9hZGVyKCkgeyByZXR1cm4gKm1fbW9kdWxlTG9hZGVyOyB9CisK
ICAgICAvLyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LgogICAgIEV2ZW50TG9vcFRhc2tHcm91cCYg
ZXZlbnRMb29wKCkgZmluYWw7CiAgICAgYm9vbCBpc0NvbnRleHRUaHJlYWQoKSBjb25zdCBmaW5h
bDsKQEAgLTg4LDYgKzkxLDcgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgOiBw
dWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KICAgICB2b2lkIGRl
cmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8U2NyaXB0TW9kdWxlTG9hZGVyPiBtX21vZHVsZUxvYWRlcjsKICAgICBXb3JrZXJP
cldvcmtsZXRUaHJlYWQqIG1fdGhyZWFkOwogICAgIFJlZlB0cjxXb3JrZXJFdmVudExvb3A+IG1f
ZXZlbnRMb29wOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudExvb3BUYXNrR3JvdXA+IG1fZGVm
YXVsdFRhc2tHcm91cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGNkNGVjMjQ2ODI1MjVhYWJj
NjQyZDg3N2EwZGEwMTFlYmRlMTE0MzEuLmY3MTUyODExYmM0MWE1MDc5MGNhNWM1MWNhZGMyOWEz
ODNmM2UwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0U2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzUsNiArMzUsOSBAQAogI2luY2x1
ZGUgIkpTRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZS5o
IgogI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgiCisjaW5jbHVkZSAiTG9h
ZGFibGVNb2R1bGVTY3JpcHQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmgi
CisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291
cmNlQ29kZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKICNpbmNsdWRlICJX
b3JrZXJDb25zb2xlQ2xpZW50LmgiCkBAIC00Myw3ICs0NiwxMiBAQAogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0V4Y2VwdGlvbi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0V4Y2VwdGlv
bkhlbHBlcnMuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HQ0FjdGl2aXR5Q2FsbGJhY2su
aD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTTG9jay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
TW9kdWxlUmVjb3JkLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNOYXRpdmVTdGRGdW5j
dGlvbi5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hQYXJhbWV0ZXJz
Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRjaGVyLmg+CiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0yMjgsNiArMjM2LDE0NSBAQCB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZAogICAgIH0KIH0K
IAorc3RhdGljIElkZW50aWZpZXIganNWYWx1ZVRvTW9kdWxlS2V5KEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGlmICh2YWx1ZS5pc1N5
bWJvbCgpKQorICAgICAgICByZXR1cm4gSWRlbnRpZmllcjo6ZnJvbVVpZChqc0Nhc3Q8U3ltYm9s
Kj4odmFsdWUpLT5wcml2YXRlTmFtZSgpKTsKKyAgICBBU1NFUlQodmFsdWUuaXNTdHJpbmcoKSk7
CisgICAgcmV0dXJuIGFzU3RyaW5nKHZhbHVlKS0+dG9JZGVudGlmaWVyKGxleGljYWxHbG9iYWxP
YmplY3QpOworfQorCitKU0M6OkpTVmFsdWUgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cjo6ZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYgbW9kdWxlUmVjb3JkKQorewor
ICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsKKyAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZt
IH07CisgICAgcmV0dXJuIG1vZHVsZVJlY29yZC5ldmFsdWF0ZSgmZ2xvYmFsT2JqZWN0KTsKK30K
KworTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVy
Ojpsb2FkTW9kdWxlU3luY2hyb25vdXNseShMb2FkYWJsZU1vZHVsZVNjcmlwdCYgbW9kdWxlU2Ny
aXB0LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQoreworICAgIGlmIChpc0V4
ZWN1dGlvbkZvcmJpZGRlbigpKQorICAgICAgICByZXR1cm4gTWVzc2FnZVF1ZXVlVGVybWluYXRl
ZDsKKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFsT2JqZWN0
ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVj
dC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIFJlZlB0cjxMb2Fk
YWJsZU1vZHVsZVNjcmlwdD4gbW9kdWxlU2NyaXB0UmVmOworICAgIHsKKyAgICAgICAgYXV0byYg
cHJvbWlzZSA9IEpTRXhlY1N0YXRlOjpsb2FkTW9kdWxlKGdsb2JhbE9iamVjdCwgc291cmNlQ29k
ZS5qc1NvdXJjZUNvZGUoKSwgSlNDOjpKU1NjcmlwdEZldGNoZXI6OmNyZWF0ZSh2bSwgeyAmbW9k
dWxlU2NyaXB0IH0pKTsKKworICAgICAgICBtb2R1bGVTY3JpcHRSZWYgPSAmbW9kdWxlU2NyaXB0
OworCisgICAgICAgIGF1dG8mIGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246
OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFttb2R1bGVTY3JpcHRSZWZd
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSAtPiBK
U0M6OkVuY29kZWRKU1ZhbHVlIHsKKyAgICAgICAgICAgIC8vIGRhdGFMb2dMbigiRlVMRklMTEVE
Iik7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAgICAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgICAgICAgICBJZGVu
dGlmaWVyIG1vZHVsZUtleSA9IGpzVmFsdWVUb01vZHVsZUtleShnbG9iYWxPYmplY3QsIGNhbGxG
cmFtZS0+YXJndW1lbnQoMCkpOworICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgeyB9KTsKKyAgICAgICAgICAgIG1vZHVsZVNjcmlwdFJlZi0+bm90aWZ5TG9hZENvbXBsZXRl
ZCgqbW9kdWxlS2V5LmltcGwoKSk7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsKKworICAgICAgICBhdXRvJiByZWplY3RIYW5k
bGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwg
U3RyaW5nKCksIFttb2R1bGVTY3JpcHRSZWZdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKSB7CisgICAgICAgICAgICAvLyBkYXRhTG9nTG4oIlJFSkVD
VEVEIik7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAg
ICAgICBKU1ZhbHVlIGVycm9yVmFsdWUgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgICAg
ICAgICAgaWYgKGVycm9yVmFsdWUuaXNPYmplY3QoKSkgeworICAgICAgICAgICAgICAgIGF1dG8q
IG9iamVjdCA9IEpTQzo6YXNPYmplY3QoZXJyb3JWYWx1ZSk7CisgICAgICAgICAgICAgICAgaWYg
KEpTVmFsdWUgZmFpbHVyZUtpbmRWYWx1ZSA9IG9iamVjdC0+Z2V0RGlyZWN0KHZtLCBzdGF0aWNf
Y2FzdDxKU1ZNQ2xpZW50RGF0YSY+KCp2bS5jbGllbnREYXRhKS5idWlsdGluTmFtZXMoKS5mYWls
dXJlS2luZFByaXZhdGVOYW1lKCkpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMg
aG9zdCBwcm9wYWdhdGVkIGVycm9yIGluIHRoZSBtb2R1bGUgbG9hZGVyIHBpcGVsaW5lLgorICAg
ICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PE1vZHVsZUZldGNoRmFpbHVyZUtp
bmQ+KGZhaWx1cmVLaW5kVmFsdWUuYXNJbnQzMigpKSkgeworICAgICAgICAgICAgICAgICAgICBj
YXNlIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQ6CisgICAgICAgICAgICAgICAg
ICAgICAgICBtb2R1bGVTY3JpcHRSZWYtPm5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6
OkVycm9yIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2FkYWJsZVNjcmlwdDo6RXJy
b3JUeXBlOjpDYWNoZWRTY3JpcHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1RGOjpu
dWxsb3B0CisgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNlIE1vZHVsZUZldGNoRmFpbHVyZUtp
bmQ6Oldhc0NhbmNlbGVkOgorICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVm
LT5ub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7
CisgICAgICAgICAgICBtb2R1bGVTY3JpcHRSZWYtPm5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVT
Y3JpcHQ6OkVycm9yIHsKKyAgICAgICAgICAgICAgICBMb2FkYWJsZVNjcmlwdDo6RXJyb3JUeXBl
OjpDYWNoZWRTY3JpcHQsCisgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkNvbnNvbGVN
ZXNzYWdlIHsKKyAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVNvdXJjZTo6SlMsCisgICAgICAg
ICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbDo6RXJyb3IsCisgICAgICAgICAgICAgICAgICAgIHJl
dHJpZXZlRXJyb3JNZXNzYWdlKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJvclZhbHVlLCBzY29wZSks
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsKKworICAgICAgICBw
cm9taXNlLnRoZW4oJmdsb2JhbE9iamVjdCwgJmZ1bGZpbGxIYW5kbGVyLCAmcmVqZWN0SGFuZGxl
cik7CisgICAgfQorICAgIG1fZ2xvYmFsU2NvcGUtPmV2ZW50TG9vcCgpLnBlcmZvcm1NaWNyb3Rh
c2tDaGVja3BvaW50KCk7CisKKyAgICAvLyBEcml2ZSBSdW5Mb29wIHVudGlsIHdlIGdldCBlaXRo
ZXIgb2YgIldvcmtlciBpcyB0ZXJtaW5hdGVkIiwgIkxvYWRpbmcgaXMgZG9uZSIsIG9yICJMb2Fk
aW5nIGlzIGZhaWxlZCIuCisgICAgV29ya2VyUnVuTG9vcCYgcnVuTG9vcCA9IG1fZ2xvYmFsU2Nv
cGUtPndvcmtlck9yV29ya2xldFRocmVhZCgpLT5ydW5Mb29wKCk7CisKKyAgICAvLyBXZSBkbyBu
b3Qgd2FudCB0byByZWNlaXZlIG1lc3NhZ2VzIHRoYXQgYXJlIG5vdCByZWxhdGVkIHRvIGFzeW5j
aHJvbm91cyByZXNvdXJjZSBsb2FkaW5nLgorICAgIC8vIE90aGVyd2lzZSwgYSB3b3JrZXIgZGlz
Y2FyZHMgc29tZSBtZXNzYWdlcyBmcm9tIHRoZSBtYWluIHRocmVhZCBoZXJlIGluIGEgcmFjeSB3
YXkuCisgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBtYWluIHRocmVhZCBjYW4gcG9zdE1lc3NhZ2Ug
anVzdCBhZnRlciBjcmVhdGluZyBhIFdvcmtlci4gSW4gdGhhdCBjYXNlLCBwb3N0TWVzc2FnZSdz
CisgICAgLy8gdGFzayBpcyBxdWV1ZWQgaW4gV29ya2VyUnVuTG9vcCBiZWZvcmUgc3RhcnQgcnVu
bmluZyBtb2R1bGUgc2NyaXB0cy4gVGhpcyB0YXNrIHNob3VsZCBub3QgYmUgZGlzY2FyZGVkCisg
ICAgLy8gaW4gdGhlIGZvbGxvd2luZyBkcml2aW5nIG9mIHRoZSBSdW5Mb29wIHdoaWNoIG1haW5s
eSBhdHRlbXB0IHRvIGNvbGxlY3QgaW5pdGlhbCBsb2FkIG9mIG1vZHVsZSBzY3JpcHRzLgorICAg
IFN0cmluZyB0YXNrTW9kZSA9ICJsb2FkTW9kdWxlc0luV29ya2VyT3JXb3JrbGV0TW9kZSJfczsK
KyAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IE1lc3NhZ2VRdWV1ZU1lc3NhZ2VS
ZWNlaXZlZDsKKyAgICB3aGlsZSAoKCFtb2R1bGVTY3JpcHRSZWYtPmlzTG9hZGVkKCkgJiYgIW1v
ZHVsZVNjcmlwdFJlZi0+d2FzQ2FuY2VsZWQoKSkgJiYgcmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRl
cm1pbmF0ZWQpIHsKKyAgICAgICAgcmVzdWx0ID0gcnVuTG9vcC5ydW5Jbk1vZGUobV9nbG9iYWxT
Y29wZSwgdGFza01vZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1p
bmF0ZWQpCisgICAgICAgICAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWlj
cm90YXNrQ2hlY2twb2ludCgpOworICAgIH0KKworICAgIC8vIEZJWE1FOiBDdXJyZW50bHkgd2Ug
YXJlIG5vdCBvZmZlcmluZyBjYW5jZWxsaW5nLgorICAgIC8vIGlmICghbG9hZGVyLT5kb25lKCkg
JiYgcmVzdWx0ID09IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpCisgICAgLy8gICAgIGxvYWRlci0+
Y2FuY2VsKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFdvcmtlck9yV29ya2xl
dFNjcmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShMb2FkYWJsZU1vZHVsZVNj
cmlwdCYgbW9kdWxlU2NyaXB0LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBT
dHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25G
b3JiaWRkZW4oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7
CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7
CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sg
eyB2bSB9OworCisgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhjZXB0aW9u
OworICAgIEpTRXhlY1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoZ2xvYmFsT2JqZWN0LCBJ
ZGVudGlmaWVyOjpmcm9tVWlkKHZtLCBtb2R1bGVTY3JpcHQubW9kdWxlS2V5KCkpLCBqc1VuZGVm
aW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgaWYgKChyZXR1cm5lZEV4Y2VwdGlvbiAm
JiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0aW9uKSkg
fHwgaXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgIGZvcmJpZEV4ZWN1dGlvbigp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJldHVybmVkRXhjZXB0aW9uKSB7
CisgICAgICAgIGlmIChtX2dsb2JhbFNjb3BlLT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxzKHNvdXJj
ZUNvZGUuY2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJsKCkuc3RyaW5nKCkpKSB7CisgICAg
ICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4gYXJiaXRy
YXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4KKyAgICAg
ICAgICAgIC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQgcHJvcGVy
bHksIGlmIGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAgICAgIGlm
IChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVybmVkRXhj
ZXB0aW9uTWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3RyaW5nKCZn
bG9iYWxPYmplY3QpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gT3ZlcndyaXRl
IHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAgICAgICAgICAgIFN0
cmluZyBnZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNjcmlwdCBlcnJvci4iX3MgfTsKKyAgICAgICAg
ICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVy
bmVkRXhjZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNFcnJvck1lc3NhZ2U7CisgICAgICAgICAgICBy
ZXR1cm5lZEV4Y2VwdGlvbiA9IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGNyZWF0ZUVycm9y
KCZnbG9iYWxPYmplY3QsIGdlbmVyaWNFcnJvck1lc3NhZ2UpKTsKKyAgICAgICAgfQorICAgIH0K
K30KKwogdGVtcGxhdGU8dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5hbWUg
SlNHbG9iYWxTY29wZSwgdHlwZW5hbWUgR2xvYmFsU2NvcGU+CiB2b2lkIFdvcmtlck9yV29ya2xl
dFNjcmlwdENvbnRyb2xsZXI6OmluaXRTY3JpcHRXaXRoU3ViY2xhc3MoKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXIuaAppbmRleCBjNDkzMDFhZWQzZGQwODlkYTc5NzMyNzYwY2FmMmY3YjY0ZGIxMWI2Li5jMzZk
MTlmMDk4ZjU5OWU1NWVhMDM4NjRiMmRlODgzZWY1NDZkYzViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaApA
QCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTUnVuTG9vcFRpbWVy
Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTG9jay5oPgorI2lu
Y2x1ZGUgPHd0Zi9NZXNzYWdlUXVldWUuaD4KICNpbmNsdWRlIDx3dGYvTmFrZWRQdHIuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC00NCw2ICs0NSw3IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0Owog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNzIExv
YWRhYmxlTW9kdWxlU2NyaXB0OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIGNsYXNzIFdvcmtl
ckNvbnNvbGVDbGllbnQ7CiBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTsKQEAgLTk0
LDYgKzk2LDExIEBAIGNsYXNzIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIgewogICAg
IHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIFN0cmluZyogcmV0dXJuZWRF
eGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAgICAgdm9pZCBldmFsdWF0ZShjb25zdCBTY3Jp
cHRTb3VyY2VDb2RlJiwgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+JiByZXR1cm5lZEV4Y2VwdGlv
biwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKIAorICAgIEpT
Qzo6SlNWYWx1ZSBldmFsdWF0ZU1vZHVsZShKU0M6OkpTTW9kdWxlUmVjb3JkJik7CisKKyAgICB2
b2lkIGxpbmtBbmRFdmFsdWF0ZU1vZHVsZShMb2FkYWJsZU1vZHVsZVNjcmlwdCYsIGNvbnN0IFNj
cmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxw
dHIpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3VzbHko
TG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7CisKIHByb3Rl
Y3RlZDoKICAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSogZ2xvYmFsU2NvcGUoKSBjb25z
dCB7IHJldHVybiBtX2dsb2JhbFNjb3BlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCAzYTRkYWVmYzM5MDJiZGIyZWE4NGZjNThkN2U0
MmY4M2U1ZjA3ZTJmLi40MDJmZGYyNmQ5ZjYzMzkyZTQ0MzliYTYwMWQ2NTdmNzY3ZDcwNjI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0x
MDcsNyArMTA3LDcgQEAgT3B0aW9uYWw8RXhjZXB0aW9uPiBXb3JrZXJTY3JpcHRMb2FkZXI6Omxv
YWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogfQogCi12b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJlc291cmNl
UmVxdWVzdCYmIHNjcmlwdFJlcXVlc3QsIEZldGNoT3B0aW9ucyYmIGZldGNoT3B0aW9ucywgQ29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSBzZXJ2aWNlV29ya2VyTW9kZSwgV29ya2VyU2NyaXB0
TG9hZGVyQ2xpZW50JiBjbGllbnQpCit2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5j
aHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IFJlc291cmNlUmVxdWVzdCYmIHNjcmlwdFJlcXVlc3QsIEZldGNoT3B0aW9ucyYmIGZldGNoT3B0
aW9ucywgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVudFNlY3VyaXR5UG9s
aWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSBzZXJ2aWNlV29ya2VyTW9kZSwgV29y
a2VyU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIFN0cmluZyYmIHRhc2tNb2RlKQogewogICAg
IG1fY2xpZW50ID0gJmNsaWVudDsKICAgICBtX3VybCA9IHNjcmlwdFJlcXVlc3QudXJsKCk7CkBA
IC0xNDMsNyArMTQzLDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25v
dXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXQKIAogICAgIC8vIER1cmlu
ZyBjcmVhdGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVuIHdoaWNoIHJlbW92ZSB0aGUgbGFzdCByZWZl
cmVuY2UgdG8gdGhpcyBvYmplY3QuCiAgICAgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7Ci0gICAgbV90aHJlYWRhYmxlTG9hZGVyID0gVGhyZWFkYWJsZUxvYWRl
cjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKCpyZXF1ZXN0
KSwgb3B0aW9ucyk7CisgICAgbV90aHJlYWRhYmxlTG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6
Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKCpyZXF1ZXN0KSwg
b3B0aW9ucywgeyB9LCBXVEZNb3ZlKHRhc2tNb2RlKSk7CiB9CiAKIGNvbnN0IFVSTCYgV29ya2Vy
U2NyaXB0TG9hZGVyOjpyZXNwb25zZVVSTCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCA3ZmRkMGIzZjZhMDFjMmRiNTc3MjRhOTBiM2Ji
OTg0MGYxZTY4ZTVmLi4wYmFkZGJmYTA1ODU5NGM2MzFjYjBkYTEzZmE0MmZjNjE2ZmVkODQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTU4LDcg
KzU4LDcgQEAgY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29y
a2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGEKICAgICB9CiAKICAgICBPcHRpb25hbDxF
eGNlcHRpb24+IGxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBVUkwmLCBGZXRjaE9wdGlvbnM6Ok1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUsIENvbnRlbnRT
ZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZp
ZXIpOwotICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYsIENvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVu
dCYpOworICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYsIENvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVu
dCYsIFN0cmluZyYmIHRhc2tNb2RlKTsKIAogICAgIHZvaWQgbm90aWZ5RXJyb3IoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IDcyNzkwYTAzMzIyNjE5ZTZl
ZTdlNjE2YThiZGUxOGJkNTUyYTU3ODMuLjNlOTY4YjU2YmE2MWM2MmM0YmNiNDExNWVkYWZiMDU0
Nzg2NGNkYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTI4
LDEwICsyOCwxMiBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogCiAjaW5jbHVkZSAiSURC
Q29ubmVjdGlvblByb3h5LmgiCisjaW5jbHVkZSAiTG9hZGFibGVNb2R1bGVTY3JpcHQuaCIKICNp
bmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
ICNpbmNsdWRlICJTb2NrZXRQcm92aWRlci5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3Bl
LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NSw2ICs1Nyw4
IEBAIFdvcmtlclBhcmFtZXRlcnMgV29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5KCkgY29u
c3QKICAgICAgICAgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LAog
ICAgICAgICB0aW1lT3JpZ2luLAogICAgICAgICByZWZlcnJlclBvbGljeSwKKyAgICAgICAgd29y
a2VyVHlwZSwKKyAgICAgICAgY3JlZGVudGlhbHMsCiAgICAgICAgIHNldHRpbmdzVmFsdWVzLmlz
b2xhdGVkQ29weSgpCiAgICAgfTsKIH0KQEAgLTEyMyw5ICsxMjcsMzMgQEAgYm9vbCBXb3JrZXJU
aHJlYWQ6OnNob3VsZFdhaXRGb3JXZWJJbnNwZWN0b3JPblN0YXJ0dXAoKSBjb25zdAogCiB2b2lk
IFdvcmtlclRocmVhZDo6ZXZhbHVhdGVTY3JpcHRJZk5lY2Vzc2FyeShTdHJpbmcmIGV4Y2VwdGlv
bk1lc3NhZ2UpCiB7Ci0gICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmV2YWx1YXRlKFNjcmlw
dFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEt
PnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOwotCi0gICAgZmluaXNoZWRF
dmFsdWF0aW5nU2NyaXB0KCk7CisgICAgLy8gV2UgYXJlIGN1cnJlbnRseSBob2xkaW5nIG9ubHkg
dGhlIGluaXRpYWwgc2NyaXB0IGNvZGUuIElmIHRoZSBXb3JrZXJUeXBlIGlzIE1vZHVsZSwgd2Ug
c2hvdWxkIGZldGNoIHRoZSBlbnRpcmUgZ3JhcGggYmVmb3JlIGV4ZWN1dGluZyB0aGUgcmVzdCBv
ZiB0aGlzLgorICAgIC8vIFdlIGludm9rZSBtb2R1bGUgbG9hZGVyIGFzIGlmIHdlIGFyZSBleGVj
dXRpbmcgaW5saW5lIG1vZHVsZSBzY3JpcHQgdGFnIGluIERvY3VtZW50LgorCisgICAgaWYgKG1f
c3RhcnR1cERhdGEtPnBhcmFtcy53b3JrZXJUeXBlID09IFdvcmtlclR5cGU6OkNsYXNzaWMpIHsK
KyAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNv
ZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5z
Y3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICBmaW5pc2hlZEV2YWx1YXRp
bmdTY3JpcHQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBGSVhNRSBjcm9zc09yaWdpbiBt
b2RlIHNob3VsZCBiZSBjb252ZXJ0ZWQuCisgICAgICAgIC8vIEZJWE1FIGZpeCBpbml0aWF0b3Ig
bmFtZS4KKyAgICAgICAgLy8gRklYTUUgcGFzcyBVUkwgdG8gbW9kdWxlIGxvYWRlci4KKyAgICAg
ICAgU2NyaXB0U291cmNlQ29kZSBzb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUs
IFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSwgeyB9LCBKU0M6OlNvdXJjZVBy
b3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlKTsKKyAgICAgICAgYXV0byBtb2R1bGVTY3JpcHQgPSBM
b2FkYWJsZU1vZHVsZVNjcmlwdDo6Y3JlYXRlKGVtcHR5U3RyaW5nKCksIGVtcHR5U3RyaW5nKCks
IG1fc3RhcnR1cERhdGEtPnBhcmFtcy5yZWZlcnJlclBvbGljeSwgU2NyaXB0RWxlbWVudENhY2hl
ZFNjcmlwdEZldGNoZXI6OmRlZmF1bHRDcm9zc09yaWdpbk1vZGVGb3JNb2R1bGUsIGVtcHR5U3Ry
aW5nKCksIGVtcHR5QXRvbSgpLCBmYWxzZSk7CisgICAgICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1
bHQgcmVzdWx0ID0gZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmxvYWRNb2R1bGVTeW5jaHJvbm91
c2x5KG1vZHVsZVNjcmlwdC5nZXQoKSwgc291cmNlQ29kZSk7CisgICAgICAgIGlmIChyZXN1bHQg
IT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICAgICAgaWYgKE9wdGlvbmFsPExv
YWRhYmxlU2NyaXB0OjpFcnJvcj4gZXJyb3IgPSBtb2R1bGVTY3JpcHQtPmVycm9yKCkpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoT3B0aW9uYWw8TG9hZGFibGVTY3JpcHQ6OkNvbnNvbGVNZXNzYWdl
PiBtZXNzYWdlID0gZXJyb3ItPmNvbnNvbGVNZXNzYWdlKQorICAgICAgICAgICAgICAgICAgICBl
eGNlcHRpb25NZXNzYWdlID0gbWVzc2FnZS0+bWVzc2FnZTsKKyAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UgPSAiSW1wb3J0aW5nIGEgbW9k
dWxlIHNjcmlwdCBmYWlsZWQuIl9zOworICAgICAgICAgICAgICAgIGdsb2JhbFNjb3BlKCktPnJl
cG9ydEV4Y2VwdGlvbihleGNlcHRpb25NZXNzYWdlLCB7IH0sIHsgfSwgeyB9LCB7IH0sIHsgfSk7
CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFtb2R1bGVTY3JpcHQtPndhc0NhbmNlbGVkKCkpIHsK
KyAgICAgICAgICAgICAgICAvLyBFdmFsdWF0ZS4KKyAgICAgICAgICAgICAgICBnbG9iYWxTY29w
ZSgpLT5zY3JpcHQoKS0+bGlua0FuZEV2YWx1YXRlTW9kdWxlKG1vZHVsZVNjcmlwdC5nZXQoKSwg
c291cmNlQ29kZSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICAgICAgICAgIGZpbmlzaGVk
RXZhbHVhdGluZ1NjcmlwdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQogCiAg
ICAgLy8gRnJlZSB0aGUgc3RhcnR1cCBkYXRhIHRvIGNhdXNlIGl0cyBtZW1iZXIgdmFyaWFibGUg
ZGVyZWYncyBoYXBwZW4gb24gdGhlIHdvcmtlcidzIHRocmVhZCAoc2luY2UKICAgICAvLyBhbGwg
cmVmL2RlcmVmcyBvZiB0aGVzZSBvYmplY3RzIGFyZSBoYXBwZW5pbmcgb24gdGhlIHRocmVhZCBh
dCB0aGlzIHBvaW50KS4gTm90ZSB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
aAppbmRleCA4ODkwNzkwOGU3YTliODA5ZThmMmE0ZTQ3M2Q3NTJkMTFkMjkzN2MwLi45NTEyZWZk
YjE4ZjMyYTUwZWNiN2ZiNTY5NTlkNjFlODg3MmZhMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmgKQEAgLTI2LDcgKzI2LDEwIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1
ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgorI2luY2x1ZGUgIkZl
dGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0VGhyZWFk
LmgiCisjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDxtZW1v
cnk+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNjMsNiArNjYsOCBAQCBzdHJ1Y3QgV29ya2Vy
UGFyYW1ldGVycyB7CiAgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3k7CiAgICAgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luOwogICAgIFJlZmVycmVyUG9s
aWN5IHJlZmVycmVyUG9saWN5OworICAgIFdvcmtlclR5cGUgd29ya2VyVHlwZTsKKyAgICBGZXRj
aFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFsczsKICAgICBTZXR0aW5nczo6VmFsdWVzIHNl
dHRpbmdzVmFsdWVzOwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRlZENvcHkoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKaW5kZXggMGIwZWQ4NjBkOWM3MTQyMzhh
MmE1YmI5ZmRmNDM4NDAyZDE2ZWJmMC4uMWMxYmI5NDQ4NjdhZGY0ZWQ1NzhhMjgxNGZhMzMyMzI2
YWVkOGE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKQEAgLTI3LDcgKzI3LDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFdvcmtlclR5cGUgeworZW51
bSBjbGFzcyBXb3JrZXJUeXBlIDogdWludDhfdCB7CiAgICAgQ2xhc3NpYywKICAgICBNb2R1bGUs
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmgKaW5kZXggZWJiZTk1ZTg5MjRjOGYxZDczNzUyNWRlYTE2MzBiMWZh
ZDU2ZmIyNy4uNGM3ZGRmNGE0YzEzMWUwZGNkNmJhMDk1MDlhYjJkOTc1NzVmMzBjMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIE5hdmlnYXRvckJhc2U7CiBjbGFzcyBT
ZXJ2aWNlV29ya2VyOwogCiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSA6
IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVtIGNsYXNzIFdvcmtlclR5cGUg
OiB1aW50OF90OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNl
UHJveHk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VySm9iLmNwcAppbmRleCBlYzM5YzBmODQ5YTU0ZTFiNmQwYmVlMzRhOGQ3ZDE5Y2JhNDVl
Mjg4Li5hNGExNzAwNzkxZjc4NTQzMTgzYjYzMzZmMGM1OTUyMGUxOGY3YTAzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCkBA
IC0xMTAsNyArMTEwLDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VySm9iOjpmZXRjaFNjcmlwdFdpdGhD
b250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEYKICAgICBvcHRpb25zLmNh
Y2hlID0gY2FjaGVQb2xpY3k7CiAgICAgb3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6
UmVkaXJlY3Q6OkVycm9yOwogICAgIG9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uOjpTZXJ2aWNld29ya2VyOwotICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5
bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSwg
Q29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSwgU2VydmljZVdv
cmtlcnNNb2RlOjpOb25lLCAqdGhpcyk7CisgICAgbV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hy
b25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMpLCBDb250
ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlLCBTZXJ2aWNlV29ya2Vy
c01vZGU6Ok5vbmUsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKIH0KIAog
UmVzb3VyY2VFcnJvciBTZXJ2aWNlV29ya2VySm9iOjp2YWxpZGF0ZVNlcnZpY2VXb3JrZXJSZXNw
b25zZShjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9iRGF0YSwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oCmluZGV4
IDlkNTAwZjg1YWNiMTg4NDFjYzU1YmVhODIxMWRiMTRmYWRjOTc0NzUuLjJlMzU1N2ZhN2RmNjdm
MWJmOThjN2I3YTVkZTRiMGE1YTdiY2NjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0
aW9ucy5oCkBAIC0zMiw3ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xh
c3MgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIDogdWludDhfdDsKLWVudW0gY2xhc3MgV29y
a2VyVHlwZTsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3Q7CiAKIHN0cnVjdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucyB7CiAgICAgU3RyaW5nIHNjb3BlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
clRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2
aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCBjOGE3YTk5NzJmOWNjOGMxNmE3OTY3NTExNTUyZjU0
OTNhNjg2Zjk4Li4zM2NhMGVjMjNiNThhNTUxMTg3Njg0NmJhMDcxODM1MzJiNWM0N2Q1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29y
a2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNzMsOCArNzMsOSBAQCBjbGFzcyBEdW1teVNl
cnZpY2VXb3JrZXJUaHJlYWRQcm94eSA6IHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSB7CiAvLyBG
SVhNRTogVXNlIGEgdmFsaWQgV29ya2VyT2JqZWN0UHJveHkKIC8vIEZJWE1FOiBVc2UgdmFsaWQg
cnVudGltZSBmbGFncwogCisvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2VyVHlwZSBhbmQgQ3Jl
ZGVudGFpbHMgZm9yIG1vZHVsZSBzZXJ2aWNlIHdvcmtlcnMuCiBTZXJ2aWNlV29ya2VyVGhyZWFk
OjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0
YSwgU3RyaW5nJiYgdXNlckFnZW50LCBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1Zh
bHVlcywgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5
JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVj
dGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJU
aHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3b3JrZXI6IiAr
IEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1v
dmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlz
T25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgTW9ub3RvbmljVGlt
ZTo6bm93KCksIHsgfSwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5
LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCks
IFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9w
T3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRiQ29ubmVjdGlvblByb3h5LCBzb2Nr
ZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkKKyAgICA6
IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdv
cmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIo
KSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRl
Z3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBNb25v
dG9uaWNUaW1lOjpub3coKSwgeyB9LCBXb3JrZXJUeXBlOjpDbGFzc2ljLCBGZXRjaFJlcXVlc3RD
cmVkZW50aWFsczo6U2FtZU9yaWdpbiwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0YS5zY3JpcHQsIGxv
YWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6
c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLnJlZ2lzdHJhdGlv
bi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRiQ29ubmVjdGlvblBy
b3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQo
KSkKICAgICAsIG1fZGF0YShkYXRhLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV93b3JrZXJPYmpl
Y3RQcm94eShEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCkpCiAgICAgLCBt
X2hlYXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuY29ubmVjdGlv
bigpLT5zaG91bGRVc2VTaG9ydFRpbWVvdXQoKSA/IGhlYXJ0QmVhdFRpbWVvdXRGb3JUZXN0IDog
aGVhcnRCZWF0VGltZW91dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAppbmRleCAyZGRkYjNiNWI0MWVkODdiZDYxNGEw
Yjk0ZDA5Yjc2MTI5M2Q3NjA3Li4zNzhmYmE2NTdlOGJiZjQ4NDFlNTZjYmY4NjU2MWY4ZWNjMzEx
MDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlcldvcmtlci5oCkBAIC01MCw3ICs1MCw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2Vy
Q2xpZW50SWRlbnRpZmllcjsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25z
Owogc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTsKIHN0cnVjdCBTZXJ2aWNlV29ya2Vy
Sm9iRGF0YUlkZW50aWZpZXI7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVtIGNsYXNzIFdv
cmtlclR5cGUgOiB1aW50OF90OwogCiBjbGFzcyBTV1NlcnZlcldvcmtlciA6IHB1YmxpYyBSZWZD
b3VudGVkPFNXU2VydmVyV29ya2VyPiB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCBkNzA0ODg2NjQ4YzBlZmFhNmI3ODA4
NGM1Mzg3MjAxY2EyYjFjNTQzLi4zNmNmNjY4MDI5ZTcxMTY5ZDA3MzIyMDgzZTI1NjhlOWU3NTIx
ZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2Nv
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5j
cHAKQEAgLTE4OCw3ICsxODgsNyBAQCB2b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6cHJvY2Vzc05l
eHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKCkKICAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50ID0gc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
KCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlIDogQ29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VDaGlsZFNyY0RpcmVjdGl2ZTsK
IAogICAgIG1fc2NyaXB0TG9hZGVyID0gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKTsKLSAg
ICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCp0aGlzLCBXVEZNb3ZlKHJlcXVl
c3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2Vt
ZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMpOworICAgIG1fc2NyaXB0TG9hZGVy
LT5sb2FkQXN5bmNocm9ub3VzbHkoKnRoaXMsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0
Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3Jr
ZXJzTW9kZTo6QWxsLCAqdGhpcywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CiB9CiAK
IHZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9u
ZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBkMzBlNTYyOTIyZTVhNGQ2ZjMxNjI2NWUxZWEyNTY4ZTk5ZTdlODFjLi4xMDgxZjE3NmQy
OTkyOTgyNjRiYjQ2MmNkMzU1YTQ5OTdkNDhjMGRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMS0wMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9k
dWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3Bl
LW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9k
eW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFz
ZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUv
ZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtl
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRl
ci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1w
b3J0LWNzcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItaW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3It
ZmFpbHVyZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDItMTAgIE1hbnVlbCBSZWdv
IENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IG1vZGlmaWVyIGtleXMgaW4gdGVzdF9kcml2ZXIuc2VuZF9rZXlzKCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVu
dGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggNDkyNjliM2I1MGI5MTc1Y2I2MmVjYTMxMmU1ODZiM2IxNjYyYTI1OS4u
MmNhZTVmN2UzNWEzMmZlY2ViMjY4ZjI5MDAwMGU0ZTU1NTZjNjg2MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50
YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKLUZBSUwgTm9uLW9iamVjdDogbnVsbCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjog
Q291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL251bGwuanNvbicuIgotRkFJTCBOb24tb2Jq
ZWN0OiB0cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vdHJ1ZS5qc29uJy4i
Ci1GQUlMIE5vbi1vYmplY3Q6IGZhbHNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUg
Jy4vZmFsc2UuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBzdHJpbmcgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBp
bXBvcnQgdGhlIG1vZHVsZSAnLi9zdHJpbmcuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBhcnJh
eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJF
cnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2FycmF5Lmpzb24nLiIKK0ZBSUwg
Tm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxp
ZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHRydWUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAn
YXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgor
RkFJTCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3Qg
YSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHN0cmluZyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUg
dHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24n
IGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVy
LXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3Jr
ZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVl
OGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uZTNlOTc3YjNkNGM1YTRmNDVlNmQwOGNk
MzI4NDYyM2Q1N2Y3MTY0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVs
ZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJy
b3ItbW9kdWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJv
ci1tb2R1bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNiBAQAogCiBIYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKIAorRkFJTCBQcm9taXNlIHJlc29sdmVkIGR1cmluZyAj
cmVwb3J0LXRoZS1lcnJvciBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhw
ZWN0ZWQgYXJyYXkgWyJoYW5kbGVyIDEiLCAiaGFuZGxlciAyIiwgImhhbmRsZXIgMSBwcm9taXNl
IiwgImhhbmRsZXIgMiBwcm9taXNlIl0gbGVuZ3RoIDQsIGdvdCBbXSBsZW5ndGggMAorTk9UUlVO
IFByb21pc2UgcmVzb2x2ZWQgZHVyaW5nIGV2ZW50IGhhbmRsZXJzIG90aGVyIHRoYW4gZXJyb3IK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5
bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWlt
cG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQKaW5k
ZXggNTFkNjEwMGU2MTIyYTk3YzM2NGIzY2ViMWQ3ZmQwN2UwZTE1NjExNy4uYTgwNTBjMDc4Y2Y4
Yjg4ZDU2OGFmZmUwZDU1Y2MzMTkwYzM2NTQ3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdv
cmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2Vy
LWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFJlbGF0
aXZlIFVSTC1saWtlIGZyb20gc2FtZS1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBu
b3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vaW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vzcy1Db250
cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1yZWxhdGl2ZS1jcm9zcy1vcmlnaW4gaW1wb3J0U2Ny
aXB0cygpJy4iCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZyb20gc2FtZS1vcmlnaW4gaW1wb3J0
U2NyaXB0cygpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJ2h0dHA6Ly8xMjcuMC4w
LjE6ODgwMC9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2R5bmFtaWMtaW1wb3J0L2dhbW1hL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9YWJzb2x1dGUtY3Jvc3Mtb3JpZ2luIGltcG9ydFNj
cmlwdHMoKScuIgotUEFTUyBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9yaWdpbiBpbXBv
cnRTY3JpcHRzKCkKLUZBSUwgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4gaW1w
b3J0U2NyaXB0cygpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJ2h0dHA6Ly8xMjcu
MC4wLjE6ODgwMC9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2R5bmFtaWMtaW1wb3J0L2dhbW1hL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9YWJzb2x1dGUtY3Jvc3Mtb3JpZ2luIGltcG9y
dFNjcmlwdHMoKScuIgorUEFTUyBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGlt
cG9ydFNjcmlwdHMoKQorUEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGlt
cG9ydFNjcmlwdHMoKQorRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9yaWdpbiBp
bXBvcnRTY3JpcHRzKCkgYXNzZXJ0X2VxdWFsczogUmVsYXRpdmUgVVJMLWxpa2Ugc3BlY2lmaWVy
IHJlc29sdXRpb24gc2hvdWxkIGZhaWwgZXhwZWN0ZWQgIih1bnJlYWNoZWQpIiBidXQgZ290ICJn
YW1tYS9pbXBvcnQuanMiCitQQVNTIEFic29sdXRlIFVSTC1saWtlIGZyb20gY3Jvc3Mtb3JpZ2lu
IGltcG9ydFNjcmlwdHMoKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHlu
YW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQKaW5kZXgg
ODY2ZWJiMjI3YWQyNmFhY2UxYTU3OGJhZWE2YTgxZGMwZTZlNzdmMC4uYjk0ZGVhNmUzYTFkMGRk
NzQ3ZjY2Yjk5ZDlkYjg1NDg3ZGRiYTJhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtl
ci5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHdvcmtl
ciB0b3AtbGV2ZWwgc2NyaXB0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vaW1w
b3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1y
ZWxhdGl2ZS13b3JrZXIgdG9wLWxldmVsIHNjcmlwdCcuIgotRkFJTCBBYnNvbHV0ZSBVUkwtbGlr
ZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBt
b2R1bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2dhbW1hL2ltcG9ydC5qcz9w
aXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9YWJzb2x1dGUt
d29ya2VyIHRvcC1sZXZlbCBzY3JpcHQnLiIKK0ZBSUwgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSB3
b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWEvaW1w
b3J0LmpzIiBidXQgZ290ICJiZXRhL2ltcG9ydC5qcyIKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2Ug
ZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5
MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0MmZhZDIyNGUz
YTE4YTZmYjVkODQ4MzI1ZWE2Nzc2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9l
dmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
MyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorUEFTUyBU
ZXN0IGV2YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGlu
Zy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZh
bHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThi
YmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uYjg2MWY3MDFmOTQ4ZmIxMzI3NjkzMjJjMzgzNjZm
MmQxMzhmMDRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29y
a2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9V
VCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVs
ZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsi
c3RlcC0xLTEiLCAic3RlcC0xLTIiLCAiZ2xvYmFsLWVycm9yIiwgImVycm9yIiwgIm1pY3JvdGFz
ayJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJtaWNyb3Rhc2siXSBs
ZW5ndGggMwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9t
b2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1p
bXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFk
ZGQyMmU0YzFkY2IzYTVmLi5jMWQzOGJkZTUwYzU5ZTVkNTk0MTczZDk2ZjljZDE5ZWIxMDdjOWI0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZh
bHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0
LXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitGQUlMIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBt
b2R1bGVzIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJh
eSBbInN0ZXAtMi4yLTEiLCAic3RlcC0yLjItMiIsICJnbG9iYWwtZXJyb3IiLCAiZXJyb3IiLCAi
bWljcm90YXNrLTIuMiJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTIuMi0xIiwgInN0ZXAtMi4yLTIi
LCAibWljcm90YXNrLTIuMiJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3Jr
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODky
OGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQyZmFkMjI0ZTNh
MThhNmZiNWQ4NDgzMjVlYTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2
YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwz
IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitQQVNTIFRl
c3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2lt
cG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1v
ZHVsZXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZGQ5YWYzOGZmMDlmYmVjMWZhYzBiOGY1ZWE5
YmFkNmUzMTYzNjQ5ZC4uMjU3YmI2MTk2MTYwMzcyZmRjNTg0MTZmOWY3Zjk5NTg1NjAyZjM3NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEs
NCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50
aWZpZXIgJ3InLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgorQ09O
U09MRSBNRVNTQUdFOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4KIAogRkFJTCBC
YXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IGltcG9ydCBhc3NlcnRfdW5yZWFj
aGVkOiBHb3QgZXJyb3IgZXZlbnQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0Cmlu
ZGV4IDIwYWMxN2Q1NjNjNGIzYTQ2MWYwY2FhZmJlYWVlYmQ3MTNmOTcwODEuLmRjY2VkY2NkMzY4
ZTFmZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwxOCArMSw5IEBA
Ci1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFs
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0aWMt
aW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1l
bnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRl
cmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9uZXN0
ZWQtc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkg
b25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBz
dHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNv
dXJjZXMvc3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBp
bXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdF
OiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9z
dDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtd29ya2VyLmpz
Ii4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVT
U0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2Nh
bGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1keW5hbWljLWltcG9y
dC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50Lgot
Q09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAi
aHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1p
bXBvcnQtYW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMv
bW9kdWxlcy9yZXNvdXJjZXMvZXZhbC1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQg
Y2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1IYXJuZXNzIEVycm9yIChGQUlM
KSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9y
dC1hbmQtdGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMg
ZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMg
ZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQg
Y2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGltcG9ydCBh
bmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBv
cnQtYW5kLXRoZW4tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVj
dHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9ydC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtl
cnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBp
bXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBp
bXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJh
bCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFt
aWMtaW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxs
IGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBldmFsKGltcG9ydCgpKS4gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjog
VW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL2V2YWwtZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9y
dCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgorUEFTUyBTdGF0aWMgaW1wb3J0
LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3RhdGljIGltcG9ydCBhbmQgdGhl
biBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBkeW5h
bWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4K
K1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1jc3At
ZXhwZWN0ZWQudHh0CmluZGV4IDFkYTQ2YjkyNmJlMDg5NmVlOGY3NWE3OGRjYWU0ZjI2OWIwNTA5
MmIuLjIzOWNjOWNlMTUzMDFmN2VlZDgzZDVlYjIyMzBhOWRlMjk0ZWEyZWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1
bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwyMiBAQAog
Q09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGly
ZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0
dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9y
dC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVu
dC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJl
Y29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4K
IAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6
OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwog
Q09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGly
ZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0
dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9y
dC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBz
Oi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1v
bi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8v
d3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1s
b2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1
cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogCiBQQVNTIHdvcmtlci1zcmMgJ3Nl
bGYnIGRpcmVjdGl2ZSBzaG91bGQgZGlzYWxsb3cgY3Jvc3Mgb3JpZ2luIHN0YXRpYyBpbXBvcnQu
CiBGQUlMIHdvcmtlci1zcmMgKiBkaXJlY3RpdmUgc2hvdWxkIGFsbG93IGNyb3NzIG9yaWdpbiBz
dGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBleHBlY3RlZCBwcm9wZXJ0eSAwIHRv
IGJlICJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiIGJ1dCBnb3QgIkVSUk9SIiAoZXhwZWN0ZWQg
YXJyYXkgWyJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiXSBnb3QgWyJFUlJPUiJdKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxl
cy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRleCA5NWM2
ZDE1ZGY0NGUxOGEzNWRmZWIwZmEzOWM4ZDM4NDQyMGMyYzEzLi5lOTU1NzhlNzFiMWM1MGE0ZTA0
NzFiMDM3MTU0YjM4NmIzN2FlZDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWlt
cG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9y
dC1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTog
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgJy4vbm9uLWV4aXN0ZW50LXNj
cmlwdC5qcycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCitDT05T
T0xFIE1FU1NBR0U6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLgogCi1GQUlMIGlt
cG9ydFNjcmlwdHMoKSBvbiBtb2R1bGUgd29ya2VyIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24u
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUeXBlRXJyb3IiIGJ1dCBnb3QgIkxPQURFRCIKK1BB
U1MgaW1wb3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3b3JrZXIgc2hvdWxkIHRocm93IGFuIGV4Y2Vw
dGlvbi4KIFBBU1MgV29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBz
aG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KIFBBU1MgU3RhdGljIGltcG9ydCBmb3Igbm9u
LWV4aXN0ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KLUZBSUwgRHlu
YW1pYyBpbXBvcnQgZm9yIG5vbi1leGlzdGVudCBzY3JpcHQgc2hvdWxkIHRocm93IGFuIGV4Y2Vw
dGlvbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlR5cGVFcnJvciIgYnV0IGdvdCAiRXJyb3Ii
CitQQVNTIER5bmFtaWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIGFuIGludmFsaWQg
VVJMIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24g
Zm9yIGEgZmlsZSBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAppbmRleCBkNTgwNjIwNDFjM2U2OTUx
NWI4MTVlMDJkN2MzODY4NGQ3N2M3NmI3Li5lNzgyNTdhMzIyOGQwZjMyMDMwM2ZkNjMyNmFmNmE3
NTE0NTNmYzNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVk
LnR4dApAQCAtMSw4ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IGltcG9y
dC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCiAKLUhhcm5lc3MgRXJyb3IgKEZB
SUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5z
aWRlIG1vZHVsZXMuCi0KLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIHRvcC1sZXZl
bCBtb2R1bGUgc2NyaXB0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogIlN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5IHZhbGlkIGluc2lkZSBtb2R1
bGVzLiIKLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBz
Y3JpcHQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBUZXN0IGlt
cG9ydC5tZXRhLnVybCBvbiB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQuCitQQVNTIFRlc3Qg
aW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0LgogRkFJTCBUZXN0
IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJh
Z21lbnQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dAppbmRleCBhMjNhNTU3NWRiNDI3NDI3
Zjg1YmQ2YjYzNTRkZTg4MzgzMWZlMmI0Li5kY2NlZGNjZDM2OGUxZmYxN2IxZGQxMzZlNDUzZmVj
NGZlMTBiYzgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50
eHQKQEAgLTEsMTQgKzEsOSBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
Ci1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1w
b3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTog
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFj
dGx5IG9uZSBhcmd1bWVudC4KLQotRkFJTCBTdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRv
a2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlM
IE5lc3RlZCBzdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNh
bGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIFN0YXRpYyBpbXBvcnQgYW5k
IHRoZW4gZHluYW1pYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBpbXBvcnQuIGFz
c2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6
IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxvYWQtc2Ny
aXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuIGFz
c2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6
IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWR5bmFtaWMt
aW1wb3J0LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgRHluYW1pYyBpbXBvcnQg
YW5kIHRoZW4gc3RhdGljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZh
aWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1v
ZHVsZSAnLi9leHBvcnQtb24tc3RhdGljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFy
cmF5Ci1GQUlMIGV2YWwoaW1wb3J0KCkpLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAi
RmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUg
bW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKK1BB
U1MgU3RhdGljIGltcG9ydC4KK1BBU1MgTmVzdGVkIHN0YXRpYyBpbXBvcnQuCitQQVNTIFN0YXRp
YyBpbXBvcnQgYW5kIHRoZW4gZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0Lgor
UEFTUyBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVu
IHN0YXRpYyBpbXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQKaW5kZXggZGEwZTRlYjY3NThkMTRhMzdh
Mzk4ZDBiNmZjNzFhZDM4NzZiZDI2Yi4uMWZjMGM2NmZkZjcyNGMyYWEzYjkxMDY5ODBiZmJlN2U5
ODhmOTc3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVk
LnR4dApAQCAtMiwxMSArMiw2IEBACiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRo
IHRoZSBkZWZhdWx0IHdvcmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24g
d2l0aCB0aGUgImNsYXNzaWMiIHdvcmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1
Y3Rpb24gd2l0aCB0aGUgIm1vZHVsZSIgd29ya2VyIHR5cGUuCi1GQUlMIFRlc3Qgd29ya2VyIGNv
bnN0cnVjdGlvbiB3aXRoIGFuIGVtcHR5IHdvcmtlciB0eXBlLiBhc3NlcnRfdGhyb3dzX2pzOiBX
b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgdHlwZSBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uIGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICAgIG5ldyBXb3JrZXIoJ3Jlc291cmNlcy9w
b3N0LW1lc3NhZ2Utb24tbG9hZC13b3JrZXIuanMnLCB7IHR5cGU6ICcnIH0pOwotICAgICAgfSIg
ZGlkIG5vdCB0aHJvdwotRkFJTCBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtu
b3duIHdvcmtlciB0eXBlLiBhc3NlcnRfdGhyb3dzX2pzOiBXb3JrZXIgY29uc3RydWN0aW9uIHdp
dGggYW4gdW5rbm93biB0eXBlIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24gZnVuY3Rpb24gIigp
ID0+IHsKLSAgICAgICAgbmV3IFdvcmtlcigncmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS1vbi1sb2Fk
LXdvcmtlci5qcycsCi0gICAgICAgICAgICAgICAgICAgeyB0eXBlOiAndW5rbm93bicgfSk7Ci0g
ICAgICB9IiBkaWQgbm90IHRocm93CitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRo
IGFuIGVtcHR5IHdvcmtlciB0eXBlLgorUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0
aCBhbiB1bmtub3duIHdvcmtlciB0eXBlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtl
ci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRleCBlOGViNTQwYmQzMzkyNDAw
YThkYmZkOTM4NjQ4YTY0OTIzOWMwZDllLi5kMWE1MGY3ZWEzY2Q2ZGMyOThlZjc1NDE0Nzc2MmM2
OWM1N2Q3M2IzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZh
aWx1cmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3It
ZmFpbHVyZS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSwxNCBAQAotQ09OU09MRSBNRVNTQUdFOiBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhh
Y3RseSBvbmUgYXJndW1lbnQuCitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICc7JworQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnOycKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBFcnJvcjogYXNzZXJ0
X2ltcGxlbWVudHM6IFN0YXRpYyBpbXBvcnQgbXVzdCBiZSBzdXBwb3J0ZWQgb24gbW9kdWxlIGRl
ZGljYXRlZCB3b3JrZXIgdG8gcnVuIHRoaXMgdGVzdC4gdW5kZWZpbmVkCi0KLU5PVFJVTiBNb2R1
bGUgd29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3Vs
ZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4KLU5PVFJVTiBTdGF0aWMgaW1wb3J0IG9u
IG1vZHVsZSB3b3JrZXIgZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlzcGF0
Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuCitGQUlMIE1vZHVsZSB3b3JrZXIgY29uc3RydWN0aW9u
IGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5h
bWVkIGVycm9yLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gRXZl
bnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24g
RXJyb3JFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgorRkFJTCBTdGF0aWMgaW1wb3J0
IG9uIG1vZHVsZSB3b3JrZXIgZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlz
cGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0
aW9uICJmdW5jdGlvbiBFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiBidXQgZ290IGZ1
bmN0aW9uICJmdW5jdGlvbiBFcnJvckV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4
dAppbmRleCA2Mzk4NDcxMjE0NTlhN2FiMzdiOWYwOWE2OGJhNjRlYThhOWVkNTdjLi5lOTQ2OTQ3
YjE0YWVmM2U1Mjk5YTBhYmEzYWU0YjFjZjlmY2Q5NTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsOCBAQAog
Q09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFJlZmVyZW5jZUVy
cm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotRkFJTCBUZXN0IHRoZSBu
YW1lIHByb3BlcnR5IG9mIHNoYXJlZCBhbmQgZGVkaWNhdGVkIHdvcmtlcnMgdmlhIHRoZSBuYW1l
IGNvbnN0cnVjdG9yIG9wdGlvbiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLVBB
U1MgRGVjbGFyaW5nIG5hbWUgYXMgYW4gYWNjaWRlbnRhbCBnbG9iYWwgbXVzdCBub3QgY2F1c2Ug
YSBoYXJuZXNzIGVycm9yIGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQorSGFybmVzcyBF
cnJvciAoRkFJTCksIG1lc3NhZ2UgPSBVbmhhbmRsZWQgcmVqZWN0aW9uOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBTaGFyZWRXb3JrZXIKKwogUEFTUyBuYW1lIHByb3BlcnR5IHZhbHVlIGZvciBEZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZQogUEFTUyBuYW1lIHByb3BlcnR5IGlzIHJlcGxhY2VhYmxl
IGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQorUEFTUyBEZWNsYXJpbmcgbmFtZSBhcyBh
biBhY2NpZGVudGFsIGdsb2JhbCBtdXN0IG5vdCBjYXVzZSBhIGhhcm5lc3MgZXJyb3IgZm9yIERl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419935</attachid>
            <date>2021-02-10 18:11:32 -0800</date>
            <delta_ts>2021-02-11 11:24:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210210181132.patch</filename>
            <type>text/plain</type>
            <size>148689</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA1MTUzZGY5Mjc2YTBl
YzEzMzI1OTg1ZDNjMGE5NGQwOTE3M2I4ZC4uMDdlYmE2MDU3ODc0MWEyODg4NmU3ZmMxOWEyNDk0
NjE0YTliOTJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAyMS0wMi0xMCAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4g
V29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0Nh
Y2hlZFNjcmlwdEZldGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0
Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNoZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyaXB0TW9kdWxl
TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2Fk
ZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVM
b2FkZXJGZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1v
ZHVsZUxvYWRlckltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6
bW9kdWxlTG9hZGVyUmVzb2x2ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJD
cmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9i
YWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNj
b3BlQmFzZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmg6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlw
dExvYWRlci5oLgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpjbGVhckNs
aWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNb2R1bGVTY3JpcHRMb2FkZXI6OnNjcmlwdEZldGNo
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpwYXJhbWV0ZXJzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6TW9kdWxlU2NyaXB0TG9hZGVy
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudC5oLgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OlNjcmlwdE1vZHVsZUxv
YWRlcik6CisgICAgICAgIChXZWJDb3JlOjpyZXNvbHZlTW9kdWxlU3BlY2lmaWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVsZUxvYWRlcjo6cmVzb2x2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmZldGNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dE1vZHVsZUxvYWRlcjo6bW9kdWxlVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVs
ZUxvYWRlcjo6cmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTCk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1v
ZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVs
ZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1v
ZHVsZUxvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExv
YWRlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
OjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyOjp+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6bG9hZCk6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDogQ29waWVkIGZyb20gU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmguCisgICAgICAgICogZG9tL0RvY3VtZW50LmNw
cDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQpOiBEZWxldGVkLgorICAgICAgICAqIGRv
bS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3JpcHQp
OgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
OjpXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29w
ZTo6V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2Nv
cGU6OmltcG9ydFNjcmlwdHMpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmts
ZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2FkZXIpOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JX
b3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9ub3Vz
bHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6
bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29ya2xl
dFNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hy
b25vdXNseSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQ
YXJhbWV0ZXJzOjppc29sYXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
VGhyZWFkOjpldmFsdWF0ZVNjcmlwdElmTmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVHlwZS5oOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckpvYjo6ZmV0Y2hTY3JpcHRXaXRoQ29udGV4dCk6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmg6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmg6CisgICAgICAg
ICogd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtsZXRHbG9iYWxTY29wZTo6cHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKToKKwog
MjAyMS0wMi0xMCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAg
ICBEbyBub3QgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIFJlbGVhc2UgYW5kIFByb2R1Y3Rpb24gdmlh
IEVOQUJMRV9ERVZFTE9QRVJfTU9ERQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggNGYzOGZiMDY4NGJj
NTllZTZmN2M5ODk4MjllYzg4MmNlODA1ODZjOC4uMGZjODNjNzkxNjMyMzI5YzM5ZjNlODkzZTgy
NTM3YzVhZGM2YTM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zMCw2ICszMCw3IEBAIHNldChX
ZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKIAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0
Y2hCb2R5Q29uc3VtZXIuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5U291cmNlLmgKKyAg
ICBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgKICAgICBNb2R1bGVzL2Zl
dGNoL0ZldGNoSGVhZGVycy5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaElkZW50aWZpZXIuaAog
ICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA4YzAzYjkz
MjY0OTg1ZjBiYjFlZTlmNmQyMDIzZTM0ODMwOTJmNDYyLi42MjNhNjc4YWE1Y2I0MzJhZTBkMzk0
NjdhNGJlZmQzNDU2ODhhMjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtNjM5LDYgKzYzOSw3IEBAIGJp
bmRpbmdzL2pzL1N0cnVjdHVyZWRDbG9uZS5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVKSVRPcGVy
YXRpb25zLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5jcHAKIGJpbmRpbmdz
L2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5jcHAKK2JpbmRpbmdzL2pzL1dvcmtlck1v
ZHVsZVNjcmlwdExvYWRlci5jcHAKIGJpbmRpbmdzL2pzL1dpbmRvd1Byb3h5LmNwcAogYmluZGlu
Z3MvanMvV3JpdGFibGVTdHJlYW0uY3BwCiBicmlkZ2UvSWRlbnRpZmllclJlcC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAy
ZTNiYTJkOGJiYWExNzYyNDRkYTYyM2M2OTI5NmU1ZmViZjA3MzBiLi4wMThmZTJjZWE2OTY1MjFh
MTQ0YzNmNThmYTZmYzRlMzNiYzA5NmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MDcxLDE1ICs1MDcxLDE3IEBACiAJCUUz
MDU5MjY0MUUyN0EzQUQwMEQ1N0M5OCAvKiBJbmxpbmVDbGFzc2ljU2NyaXB0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA1OTI2MjFFMjdBMzhDMDBE
NTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDU5MjY4MUUyN0EzRDEwMEQ1N0M5OCAvKiBDYWNo
ZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDdE
RUQwMUQ4MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDdERUM3MUQ4MUU0NDgw
MDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlFMzA3REVEMTFEODFFNENCMDAxNDFDQUYg
LyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVDODFEODFFNDQ4MDAxNDFDQUYgLyogQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMwN0RFRDUxRDgxRTRGMjAwMTQxQ0FGIC8qIExvYWRh
YmxlTW9kdWxlU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzE1
MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMxNTBFQTUxREE3MjE4RDAwMTk0MDEyIC8q
IERPTUpJVEhlbHBlcnMuaCAqLzsgfTsKIAkJRTMyMDFDMUExRjhFODIxMzAwNzZBMDMyIC8qIE1v
ZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM4RDA2MDkxRjhFODExOTAwNjQ5Q0YyIC8qIE1vZHVsZUZldGNoUGFyYW1l
dGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzMjNDRkZBMUU1QUY2QUYwMEYwQjRBMCAvKiBKU0RPTUNvbnZlcnRQcm9taXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzIzQ0ZGOTFFNUFGNkE1
MDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzNDMyREU0MjVEMzc3RTMwMDU4RTYxMiAvKiBX
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzNDMyREUwMjVEMzc3RTIwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIuaCAqLzsgfTsKKwkJRTM1MTg4QjQyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRl
ckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUUzNTY1QjdCMURDMkQ2QzkwMDIxN0RCRCAvKiBKU0V2ZW50Q3VzdG9tLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzRFRTQ5RjFEQzJENTc1MDBF
QUE5RDMgLyogSlNFdmVudEN1c3RvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUUzNTgwMkI2MURDODQzNUQwMEE5NzczQyAvKiBET01KSVRJRExU
eXBlRmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzU4MDJCNTFEQzg0MzU4MDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTgyQzI4MjUy
N0Y2NjkwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8q
IFdlYkNvcmVKSVRPcGVyYXRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJRTM1QjkwN0YyM0Y2MEE1MDAwMDAxMUZGIC8qIExvY2FsaXplZERl
dmljZU1vZGVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzVCOTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzY0MzIxQzI1
RDM3QTY3MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyog
TW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTM3N0ZFNEQxREFERTE2NTAwQ0REMDI1IC8qIE5vZGVDb25zdGFudHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDA0OTkz
MURBREMwNDUwMDcxOEYzQyAvKiBOb2RlQ29uc3RhbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM3Qzg2NTAxRUI2M0UzRjAwODdDNkNBIC8q
IEpTRE9NUHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzOTYyOEJGMjM5NTcy
OEYwMDY1OEVDRCAvKiBEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhCRDIzOTU3MjhFMDA2
NThFQ0QgLyogRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjIwMiw3ICsxNjIwNCw2IEBA
CiAJCUUzMDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFNjcmlwdEZldGNoZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFQzYxRDgxRTQ0ODAwMTQxQ0FGIC8qIENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMzA3REVDODFEODFF
NDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVEMjFEODFFNEVEMDAxNDFDQUYg
LyogTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9hZGFibGVNb2R1bGVTY3JpcHQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMxNTBFQTUxREE3MjE4RDAwMTk0MDEy
IC8qIERPTUpJVEhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
SklUSGVscGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYyMTUsMTIgKzE2
MjE2LDE2IEBACiAJCUUzMjkyNzYzMjI1NDNGNTkwMDMwOEE5QSAvKiBUeXBlZE9NQ1NTVW5pdFZh
bHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFR5cGVkT01DU1NVbml0VmFsdWUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzI5Mjc2NjIyNTQzRkRFMDAzMDhBOUEgLyogRE9N
UmVjdFJlYWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVJlY3RSZWFkT25seS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMzQ4MjVFMURDOTNBQTAwMDlDOTU0NCAv
KiBET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IERPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgcGF0aCA9IERlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOyBzb3VyY2VUcmVl
ID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyog
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlFMzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlck1vZHVsZVNj
cmlwdExvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNEVFNDlGMURD
MkQ1NzUwMEVBQTlEMyAvKiBKU0V2ZW50Q3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRXZlbnRDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODAyQjUxREM4NDM1ODAwQTk3NzND
IC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NSklUSURMVHlwZUZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MzU4MkMyNDI1MjdGNjY4MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZUpJVE9wZXJhdGlvbnMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MkMyNjI1MjdGNjY4MDBEMUI3OTAg
LyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViQ29yZUpJVE9wZXJhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTM1QjkwN0MyM0Y2MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsaXplZERldmljZU1vZGVsLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdFMjNGNjA2NzcwMDAwMTFGRiAvKiBMb2Nh
bGl6ZWREZXZpY2VNb2RlbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IExvY2FsaXplZERldmljZU1vZGVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFMzdDODY0RjFFQjYzRTJEMDA4N0M2Q0EgLyogSlNET01Q
cm9taXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUHJvbWlzZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5NDFCQUQxNDVGMDBENjJFRTMg
LyogU2NyaXB0TW9kdWxlTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0TW9kdWxlTG9hZGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzAyMSw3ICsyNzAyNiw2IEBACiAJCQkJMkRGQTQ4
OEUxREI1NDFDMjAwMzYyQjk5IC8qIEJ1ZmZlclNvdXJjZS5oICovLAogCQkJCUUzMDdERUM2MUQ4
MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwICovLAogCQkJCUUz
MDdERUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLywK
LQkJCQlFMzA3REVDODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50LmggKi8sCiAJCQkJRTMwNTkyNjUxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlw
dEZldGNoZXIuY3BwICovLAogCQkJCUUzMDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRT
Y3JpcHRGZXRjaGVyLmggKi8sCiAJCQkJQkNENTMzNjMwRUQ2ODQ4OTAwODg3NDY4IC8qIENhY2hl
ZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggKi8sCkBAIC0yNzA5NSw2ICsyNzA5OSw4IEBACiAJCQkJ
NEJERUEzMkQyMTgwMzQwNTAwNTJERkNEIC8qIEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAg
Ki8sCiAJCQkJNEJERUEzMkIyMTgwMzNFQjAwNTJERkNEIC8qIEpTV29ya2xldEdsb2JhbFNjb3Bl
QmFzZS5oICovLAogCQkJCTcwOUEwMUZEMUUzRDBCQ0MwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZh
aWx1cmVLaW5kLmggKi8sCisJCQkJRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNj
cmlwdExvYWRlci5oICovLAorCQkJCUUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQuaCAqLywKIAkJCQk0MUI0NTlFRDFGNTVFQkM3MDAwMEY2RkQgLyog
UmVhZGFibGVTdHJlYW0uY3BwICovLAogCQkJCTQxQjQ1OURBMUY0Q0FEQjkwMDAwRjZGRCAvKiBS
ZWFkYWJsZVN0cmVhbS5oICovLAogCQkJCTQxOEMzOTVFMUM4RjBBQUIwMDUxQzhBMyAvKiBSZWFk
YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcCAqLywKQEAgLTI3MTI2LDYgKzI3MTMyLDgg
QEAKIAkJCQkwRjA5OUQwNzE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5cGVkQXJyYXlDb250
cm9sbGVyLmggKi8sCiAJCQkJNDYzNTIxQUMyMDgxMDkwRTAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5
LmNwcCAqLywKIAkJCQk0NjM1MjFBQTIwODEwOTBCMDBDMjg5MjIgLyogV2luZG93UHJveHkuaCAq
LywKKwkJCQlFMzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyLmNwcCAqLywKKwkJCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyLmggKi8sCiAJCQkJNDE0MThBMDMyNTY0M0UxMjAwMzYzNDE3IC8qIFdyaXRh
YmxlU3RyZWFtLmNwcCAqLywKIAkJCQk0MTQxOEEwNDI1NjQzRTEzMDAzNjM0MTcgLyogV3JpdGFi
bGVTdHJlYW0uaCAqLywKIAkJCSk7CkBAIC0zMTM5OSw3ICszMTQwNyw2IEBACiAJCQkJQkNCMTZD
MUMwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZEltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkz
MTlGQkQ1RjE1RDJGNDY0MDA5NjQwQTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUzMDdERUQwMUQ4MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUUzMDdERUQxMUQ4MUU0Q0IwMDE0MUNBRiAvKiBD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDE4
NDY5MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlE
MEVEQTc3NTE0M0UzMDNDMDAyOEUzODMgLyogQ2FjaGVkUmF3UmVzb3VyY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxQjUzMzQ5MTcxN0RFRTMwMEYyMDVGOSAvKiBDYWNoZWRSYXdSZXNvdXJjZUNs
aWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzg3NCw2ICszMzg4MSw4IEBACiAJCQkJQzZENzRB
RDUwOUFBMjgyRTAwMEIwQTUyIC8qIE1vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzA5QTAxRkUxRTNEMEJERDAwNkIwRDRDIC8qIE1vZHVsZUZldGNoRmFpbHVy
ZUtpbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzMjAxQzFBMUY4RTgyMTMwMDc2QTAzMiAvKiBN
b2R1bGVGZXRjaFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzNjQzMjFDMjVEMzdB
NjcwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUUz
NTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUY1NUIzREM2MTI1MUYxMkQwMDNFRjI2OSAvKiBNb250aElucHV0VHlw
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM5NjI4QzEyMzk1NzQzMTAwNjU4RUNEIC8qIE1vdGlv
bk1hbmFnZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjQ2MEE0NEVGQzcwMEY5
OTJFMCAvKiBNb3VzZUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NTI2LDYgKzM1NTM1LDcg
QEAKIAkJCQkxOEY4MzFCODBGRDQ4Qzc4MDBEOEM1NkIgLyogV29ya2VyTG9hZGVyUHJveHkuaCBp
biBIZWFkZXJzICovLAogCQkJCTJFNDM0NjREMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJMb2Nh
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTAwRjU0NkE4MjAwQjBGMUJBIC8qIFdv
cmtlck1lc3NhZ2luZ1Byb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzQzMkRFNDI1RDM3N0Uz
MDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI3MUEwQjBFRUVDNzdBMDBGNjEyMTMgLyogV29ya2VyTmF2aWdhdG9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNUNCMDUyNTFGQjUxRjNBMDAwODlCOTcgLyogV29ya2VyTmV0d29ya0FnZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1MTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2Vy
T2JqZWN0UHJveHkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKaW5kZXggMzUyZGNjNGFj
Zjc1MTc2ZDk4YWQzNDEwYmUxNTE2MDgwMTA4ODUyNC4uNDM3YmQzMzFiNTM1NjExMGVhYTJlZmQ0
ZmNhY2M5NTFmNjFmZDY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC00MCwxNiArNDAsMTMgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVy
JiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRl
cnMpCitSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXI6OmNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9t
aXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8
TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCiB7CiAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0
RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJzKSkpOwogfQogCi1DYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRj
aGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFt
ZXRlcnMpCi0gICAgOiBtX2NsaWVudCgmY2xpZW50KQotICAgICwgbV9wcm9taXNlKCZwcm9taXNl
KQotICAgICwgbV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNoZXIpCi0gICAgLCBtX3BhcmFtZXRl
cnMoV1RGTW92ZShwYXJhbWV0ZXJzKSkKK0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZl
cnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIs
IFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICA6IE1vZHVs
ZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFy
YW1ldGVycykpCiB7CiB9CiAKQEAgLTYxLDE0ICs1OCwxNSBAQCBDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI6On5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoKQogICAgIH0KIH0KIAotYm9vbCBDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwm
IHNvdXJjZVVSTCkKK2Jvb2wgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKERvY3VtZW50
JiBkb2N1bWVudCwgVVJMJiYgc291cmNlVVJMKQogeworICAgIEFTU0VSVChtX3Byb21pc2UpOwog
ICAgIEFTU0VSVCghbV9jYWNoZWRTY3JpcHQpOwogICAgIFN0cmluZyBpbnRlZ3JpdHkgPSBtX3Bh
cmFtZXRlcnMgPyBtX3BhcmFtZXRlcnMtPmludGVncml0eSgpIDogU3RyaW5nIHsgfTsKICAgICBt
X2NhY2hlZFNjcmlwdCA9IG1fc2NyaXB0RmV0Y2hlci0+cmVxdWVzdE1vZHVsZVNjcmlwdChkb2N1
bWVudCwgc291cmNlVVJMLCBXVEZNb3ZlKGludGVncml0eSkpOwogICAgIGlmICghbV9jYWNoZWRT
Y3JpcHQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBtX3NvdXJjZVVSTCA9IHNvdXJjZVVS
TDsKKyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291cmNlVVJMKTsKIAogICAgIC8vIElmIHRo
ZSBjb250ZW50IGlzIGFscmVhZHkgY2FjaGVkLCB0aGlzIGltbWVkaWF0ZWx5IGNhbGxzIG5vdGlm
eUZpbmlzaGVkLgogICAgIG1fY2FjaGVkU2NyaXB0LT5hZGRDbGllbnQoKnRoaXMpOwpAQCAtODMs
NyArODEsNyBAQCB2b2lkIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQo
Q2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZQogCiAgICAgUmVmPENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAgICAgaWYgKG1fY2xpZW50KQot
ICAgICAgICBtX2NsaWVudC0+bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9wcm9taXNl
KSk7CisgICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3Nv
dXJjZVVSTCksIG1fcHJvbWlzZS5yZWxlYXNlTm9uTnVsbCgpKTsKIAogICAgIC8vIFJlbW92ZSB0
aGUgY2xpZW50IGFmdGVyIGNhbGxpbmcgbm90aWZ5RmluaXNoZWQgdG8ga2VlcCB0aGUgZGF0YSBi
dWZmZXIgaW4KICAgICAvLyBDYWNoZWRSZXNvdXJjZSBhbGl2ZSB3aGlsZSBub3RpZnlGaW5pc2hl
ZCBwcm9jZXNzZXMgdGhlIHJlc291cmNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaAppbmRleCA0M2FiZDg3NWIyNDNmYWY1
ZmNkNGQ5OGVjM2M1ZDI0ZTc5MGI1NzJlLi42MWViZTk2ZTRjNGZkZDcyZDIzZmU3ZTRlYWU5ZDU2
MTZjNWVlNjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXIuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiQ2Fj
aGVkUmVzb3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgor
I2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM0
LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CiBjbGFz
cyBDYWNoZWRTY3JpcHQ7CiBjbGFzcyBDYWNoZWRTY3JpcHRGZXRjaGVyOwogY2xhc3MgRGVmZXJy
ZWRQcm9taXNlOwpAQCAtNDIsMzQgKzQzLDIxIEBAIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSlNE
T01HbG9iYWxPYmplY3Q7CiBjbGFzcyBNb2R1bGVGZXRjaFBhcmFtZXRlcnM7CiAKLWNsYXNzIENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcj4sIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworY2xhc3Mg
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIE1vZHVsZVNjcmlwdExvYWRl
ciwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRy
PE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisgICAgc3RhdGljIFJlZjxDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXI+IGNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFBy
b21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVy
cz4mJik7CiAKICAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoKTsKIAotICAg
IGJvb2wgbG9hZChEb2N1bWVudCYsIGNvbnN0IFVSTCYgc291cmNlVVJMKTsKKyAgICBib29sIGxv
YWQoRG9jdW1lbnQmLCBVUkwmJiBzb3VyY2VVUkwpOwogCi0gICAgQ2FjaGVkU2NyaXB0RmV0Y2hl
ciYgc2NyaXB0RmV0Y2hlcigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hlci5nZXQoKTsgfQogICAg
IENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0KCkgeyByZXR1cm4gbV9jYWNoZWRTY3JpcHQuZ2V0
KCk7IH0KLSAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMoKSB7IHJldHVybiBt
X3BhcmFtZXRlcnMuZ2V0KCk7IH0KLSAgICBjb25zdCBVUkwmIHNvdXJjZVVSTCgpIGNvbnN0IHsg
cmV0dXJuIG1fc291cmNlVVJMOyB9Ci0KLSAgICB2b2lkIGNsZWFyQ2xpZW50KCkKLSAgICB7Ci0g
ICAgICAgIEFTU0VSVChtX2NsaWVudCk7Ci0gICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKLSAg
ICB9CiAKIHByaXZhdGU6Ci0gICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNo
ZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwg
Q2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOwog
CiAgICAgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IE5ldHdvcmtM
b2FkTWV0cmljcyYpIGZpbmFsOwogCi0gICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
KiBtX2NsaWVudCB7IG51bGxwdHIgfTsKLSAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBtX3By
b21pc2U7Ci0gICAgUmVmPENhY2hlZFNjcmlwdEZldGNoZXI+IG1fc2NyaXB0RmV0Y2hlcjsKLSAg
ICBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiBtX3BhcmFtZXRlcnM7CiAgICAgQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBtX2NhY2hlZFNjcmlwdDsKICAgICBVUkwgbV9z
b3VyY2VVUkw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggODY4OGFkOTBkYWUzZWNlOTQ5ZWEwOWIxZWZlZTVkYTI2Zjk0Yzc4Ni4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaAorKysgL2Rldi9udWxs
CkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUsIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyOwotY2xhc3MgRGVmZXJyZWRQcm9taXNlOwotCi1jbGFzcyBD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewotcHVibGljOgotICAgIHZpcnR1YWwgfkNh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKLQotICAgIHZpcnR1YWwg
dm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImLCBSZWZQdHI8RGVm
ZXJyZWRQcm9taXNlPikgPSAwOwotfTsKLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcAppbmRleCBhNDMzNzU4NjViYmYxZWM1OTcz
YmYxNzJjOTFhMzg1MzIzNGUzNzRkLi5kZjNjNmI2ZWJiODRhZjcyZWQyOTU1Zjk5MTFkMDdhODdh
YjM1MzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3Jp
cHRGZXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3Jp
cHRGZXRjaGVyLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNj
ZXNzQ29udHJvbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKKyNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTQ3LDYgKzQ4LDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
U2NyaXB0PiBDYWNoZWRTY3JpcHRGZXRjaGVyOjpyZXF1ZXN0TW9kdWxlU2NyaXB0KERvY3UKIAog
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBDYWNoZWRTY3JpcHRGZXRjaGVyOjpy
ZXF1ZXN0U2NyaXB0V2l0aENhY2hlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiBzb3Vy
Y2VVUkwsIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBTdHJpbmcmJiBpbnRlZ3JpdHks
IE9wdGlvbmFsPFJlc291cmNlTG9hZFByaW9yaXR5PiByZXNvdXJjZUxvYWRQcmlvcml0eSkgY29u
c3QKIHsKKyAgICAvLyBXaXRob3V0IHNjcmlwdGluZywgdGhlcmUgaXMgbm8gd2F5IHRvIHN0YXJ0
IFdvcmtlcnMuCiAgICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLmlzU2NyaXB0RW5hYmxlZCgp
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDU4YjdkZjc2MGMwMGEzMWZmMDhlZDIy
ZGVlMjJhOGM3NDQzYWU4ZGQuLjlkNjk3ZDQ1OWI1NjM0NWNjODM5NjIwMjY2NzZlMDBhOThiZjQ5
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJKU1dvcmtsZXRHbG9iYWxTY29wZS5o
IgogI2luY2x1ZGUgIlJlamVjdGVkUHJvbWlzZVRyYWNrZXIuaCIKICNpbmNsdWRlICJSdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCiAjaW5j
bHVkZSAiU3RydWN0dXJlZENsb25lLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5o
IgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC00MjIsNiArNDIzLDc5IEBAIEpT
Qzo6SlNQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6aW5zdGFudGlhdGVTdHJlYW1pbmcoSlND
OjpKU0dsb2JhbE9iamVjdCogZ2xvCiB9CiAjZW5kaWYKIAorc3RhdGljIFNjcmlwdE1vZHVsZUxv
YWRlciogc2NyaXB0TW9kdWxlTG9hZGVyKEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
Cit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGlmIChnbG9iYWxPYmpl
Y3QtPmluaGVyaXRzPEpTRE9NV2luZG93QmFzZT4odm0pKSB7CisgICAgICAgIGlmIChhdXRvIGRv
Y3VtZW50ID0ganNDYXN0PGNvbnN0IEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCktPndy
YXBwZWQoKS5kb2N1bWVudCgpKQorICAgICAgICAgICAgcmV0dXJuICZkb2N1bWVudC0+bW9kdWxl
TG9hZGVyKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICBpZiAoZ2xvYmFs
T2JqZWN0LT5pbmhlcml0czxKU1JlbW90ZURPTVdpbmRvd0Jhc2U+KHZtKSkKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNXb3JrZXJHbG9i
YWxTY29wZUJhc2U+KHZtKSkKKyAgICAgICAgcmV0dXJuICZqc0Nhc3Q8Y29uc3QgSlNXb3JrZXJH
bG9iYWxTY29wZUJhc2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7
CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNl
Pih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2xldEdsb2JhbFNjb3Bl
QmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQoKS5tb2R1bGVMb2FkZXIoKTsKKyNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0lE
QlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KHZtKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisjZW5kaWYKKyAgICBkYXRhTG9nKCJVbmV4cGVjdGVkIGdsb2JhbCBvYmplY3Q6ICIsIEpTVmFs
dWUoZ2xvYmFsT2JqZWN0KSwgIlxuIik7CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNDOjpJZGVudGlmaWVyIEpTRE9NR2xvYmFs
T2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9k
dWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2Ny
aXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6
anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byog
bG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICByZXR1cm4g
bG9hZGVyLT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBp
bXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJuIHsgfTsKK30KKwor
SlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckZl
dGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgcGFy
YW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7CisgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZt
KTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2Ny
aXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4o
c2NvcGUsIGxvYWRlci0+ZmV0Y2goZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtl
eSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hlcikpOworICAgIEpTQzo6SlNJbnRlcm5hbFByb21p
c2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsK
KyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKKyAgICBy
ZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU1ZhbHVlIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1
bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6
SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlND
OjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7Cisg
ICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlwdE1v
ZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxvYWRlci0+ZXZhbHVhdGUo
Z2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgbW9kdWxlUmVjb3JkLCBzY3Jp
cHRGZXRjaGVyKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQorCitKU0M6OkpT
SW50ZXJuYWxQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVySW1wb3J0TW9k
dWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUg
cGFyYW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKK3sKKyAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUodm0pOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlND
Ojpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRv
KiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIFJFTEVB
U0VfQU5EX1JFVFVSTihzY29wZSwgbG9hZGVyLT5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBt
b2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFtZXRlcnMsIHNvdXJjZU9yaWdpbikpOworICAg
IEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwor
ICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBq
c1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU09iamVjdCog
SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVz
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciog
bW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTTW9kdWxlUmVjb3Jk
KiBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIEpTRE9N
R2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3Qq
PihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2Fk
ZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmNyZWF0ZUltcG9ydE1ldGFQ
cm9wZXJ0aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJl
Y29yZCwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGds
b2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0
dXJlKCkpOworfQorCiBKU0RPTUdsb2JhbE9iamVjdCYgY2FsbGVyR2xvYmFsT2JqZWN0KEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUmIGNhbGxGcmFtZSkKIHsK
ICAgICBjbGFzcyBHZXRDYWxsZXJHbG9iYWxPYmplY3RGdW5jdG9yIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCmluZGV4IGI4NDA3MmRkZDc0NmIz
ZDZjNTEwNjBkOTA1MDFiNWNlYTFiNDk5YjEuLmY0OWE0Y2QyNTcxOTcxMTg5MTdhN2Q3YTRiNmMw
ZTExZmM3NmJhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
R2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9i
YWxPYmplY3QuaApAQCAtMTA1LDYgKzEwNSwxMiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RP
TUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsT2JqZWN0IHsKICAgICBzdGF0aWMg
SlNDOjpKU1Byb21pc2UqIGluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNPYmplY3QqKTsKICNlbmRpZgogCisgICAgc3RhdGljIEpT
Qzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNW
YWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVsZUxvYWRlckZl
dGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1Zh
bHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNWYWx1
ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVs
ZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAg
IHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTU3RyaW5n
KiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYpOworICAgIHN0YXRpYyBK
U0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlND
OjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7CisKICAgICBKU0RPTVN0cnVjdHVyZU1h
cCBtX3N0cnVjdHVyZXM7CiAgICAgSlNET01Db25zdHJ1Y3Rvck1hcCBtX2NvbnN0cnVjdG9yczsK
ICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3VhcmRlZE9iamVjdHM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCA1NjNlZmEwNTcxYjVk
NDYyZDllNjQ1MDg5ZjBiZDhmNzdkMTlhNzY4Li4zMTJhMDExNThlOGMyODA4M2MwN2U0MmRiODcy
NDVmZTRlNWM1N2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93QmFzZS5jcHAKQEAgLTMzOSw1NCArMzM5LDQgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZp
cmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRvdyhET01XaW5kb3cqIHdpbmRvdykKICAg
ICB9CiB9CiAKLUpTQzo6SWRlbnRpZmllciBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJl
c29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUg
aW1wb3J0ZXJNb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpT
RE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+
KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlz
T2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5t
b2R1bGVMb2FkZXIoKS5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVO
YW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIHsgfTsK
LX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2Fk
ZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVM
b2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVl
IHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNE
T01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBk
b2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICBSRUxF
QVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5mZXRjaChnbG9i
YWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBwYXJhbWV0ZXJzLCBzY3JpcHRGZXRj
aGVyKSk7Ci0gICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogcHJvbWlzZSA9IEpTQzo6SlNJbnRl
cm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1
Y3R1cmUoKSk7Ci0gICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHByb21pc2UtPnJlamVjdChnbG9i
YWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOwotICAgIHJldHVybiBwcm9taXNlOwotfQotCi1KU0M6
OkpTVmFsdWUgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRl
ciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlND
OjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2Jq
ZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBp
ZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1
bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmV2YWx1YXRl
KGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2Ny
aXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKLX0KLQotSlNDOjpK
U0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJJbXBvcnRNb2R1
bGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVy
KiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNTdHJpbmcqIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBw
YXJhbWV0ZXJzLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYgc291cmNlT3JpZ2luKQotewotICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpq
c0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERv
Y3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAg
ICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5p
bXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFt
ZXRlcnMsIHNvdXJjZU9yaWdpbikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21p
c2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50
ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9t
aXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJv
bWlzZTsKLX0KLQotSlNDOjpKU09iamVjdCogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJD
cmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCogbW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2Ny
aXB0RmV0Y2hlcikKLXsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6Ompz
Q2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9j
dW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAg
ICAgIHJldHVybiBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuY3JlYXRlSW1wb3J0TWV0YVByb3Bl
cnRpZXMoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgbW9kdWxlUmVjb3Jk
LCBzY3JpcHRGZXRjaGVyKTsKLSAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFs
T2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPm51bGxQcm90b3R5cGVPYmplY3RTdHJ1Y3R1cmUo
KSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmgKaW5kZXggM2VmOTgwZGQyN2Y2YjIxMzk4NzAwOGJhNDc2
YzhjYTY5ZjJmMGI2NC4uNTE0MmIxYzdkYzI1YzIyZmU5Nzg5NWU3NWFlMjJlZjRkMWU1ODlkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKQEAgLTk5
LDEyICs5OSw2IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEpTRE9NV2luZG93QmFzZSA6IHB1Ymxp
YyBKU0RPTUdsb2JhbE9iamVjdCB7CiBwcml2YXRlOgogICAgIHVzaW5nIFJlc3BvbnNlQ2FsbGJh
Y2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgY2hhciosIHNpemVfdCk+OwogCi0gICAgc3Rh
dGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpT
Qzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVsZUxv
YWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlND
OjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6
SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpK
U01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUp
OwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJJbXBvcnRN
b2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpT
U3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYpOwotICAgIHN0
YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGll
cyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1
ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7Ci0KICAgICBSZWZQdHI8RE9N
V2luZG93PiBtX3dyYXBwZWQ7CiAgICAgUmVmUHRyPEV2ZW50PiBtX2N1cnJlbnRFdmVudDsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNj
b3BlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNj
b3BlQmFzZS5jcHAKaW5kZXggNDJiMjZjOWY0ZWEyMTYyMDdkZTRjODY4MjBiOGE4MWI2MDM1Yjdl
Yi4uMmQ3OTNmZmYyMTg1M2E4YTFhNzg4MDY2NzI1MGY1N2U3NTJmZTNmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNw
cApAQCAtNTksMTEgKzU5LDExIEBAIGNvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIEpTV29y
a2VyR2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlCiAgICAgJmphdmFT
Y3JpcHRSdW50aW1lRmxhZ3MsCiAgICAgJnF1ZXVlTWljcm90YXNrVG9FdmVudExvb3AsCiAgICAg
JnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAgbnVsbHB0ciwgLy8gbW9k
dWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyUmVzb2x2
ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAgbnVsbHB0ciwgLy8gbW9k
dWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBudWxscHRyLCAvLyBtb2R1
bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUsCisgICAgJm1v
ZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNoLAorICAgICZtb2R1bGVM
b2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9kdWxlTG9hZGVyRXZhbHVh
dGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZyZXBvcnRVbmNhdWdodEV4
Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhlY3V0aW9uT3duZXIsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29w
ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2Nv
cGVCYXNlLmNwcAppbmRleCAzNWZhNmUzMjc3ZmIwZDRiZTBlMGUxZWRjNDM3MjJlZGFkZmM4YWYy
Li45ZmFlYzk1OWMzOWQxNzQ4MTgxYzk4NjUwMDNkNWE4NmYxN2Y1ZTNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5j
cHAKQEAgLTQ5LDExICs0OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibAogICAgICZqYXZh
U2NyaXB0UnVudGltZUZsYWdzLAogICAgIG51bGxwdHIsIC8vIHF1ZXVlTWljcm90YXNrVG9FdmVu
dExvb3AKICAgICAmc2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGltZW91dCwKLSAgICBudWxs
cHRyLCAvLyBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUKLSAgICBudWxscHRyLCAvLyBtb2R1bGVM
b2FkZXJSZXNvbHZlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyRmV0Y2gKLSAgICBudWxs
cHRyLCAvLyBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcwotICAgIG51bGxw
dHIsIC8vIG1vZHVsZUxvYWRlckV2YWx1YXRlCisgICAgJm1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZSwKKyAgICAmbW9kdWxlTG9hZGVyUmVzb2x2ZSwKKyAgICAmbW9kdWxlTG9hZGVyRmV0Y2gsCisg
ICAgJm1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzLAorICAgICZtb2R1bGVM
b2FkZXJFdmFsdWF0ZSwKICAgICAmcHJvbWlzZVJlamVjdGlvblRyYWNrZXIsCiAgICAgJnJlcG9y
dFVuY2F1Z2h0RXhjZXB0aW9uQXRFdmVudExvb3AsCiAgICAgJmN1cnJlbnRTY3JpcHRFeGVjdXRp
b25Pd25lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNj
cmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9h
ZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTUyYzVjZDk2Y2MwYjI4ZTU1ZGJlMjBkZTZjZThmYWYwMDY3ZTZk
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNj
cmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50OworCitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXIgOiBwdWJs
aWMgUmVmQ291bnRlZDxNb2R1bGVTY3JpcHRMb2FkZXI+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFs
IH5Nb2R1bGVTY3JpcHRMb2FkZXIoKSA9IGRlZmF1bHQ7CisKKyAgICB2b2lkIGNsZWFyQ2xpZW50
KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX2NsaWVudCk7CisgICAgICAgIG1fY2xpZW50ID0g
bnVsbHB0cjsKKyAgICB9CisKKyAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVy
KCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVyLmdldCgpOyB9CisgICAgTW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzKiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9CisKK3By
b3RlY3RlZDoKKyAgICBNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYg
c2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJz
KQorICAgICAgICA6IG1fY2xpZW50KCZjbGllbnQpCisgICAgICAgICwgbV9wcm9taXNlKCZwcm9t
aXNlKQorICAgICAgICAsIG1fc2NyaXB0RmV0Y2hlcihzY3JpcHRGZXRjaGVyKQorICAgICAgICAs
IG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRlcnMpKQorICAgIHsKKyAgICB9CisKKyAgICBN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQqIG1fY2xpZW50OworICAgIFJlZlB0cjxEZWZlcnJlZFBy
b21pc2U+IG1fcHJvbWlzZTsKKyAgICBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hlcj4gbV9zY3JpcHRG
ZXRjaGVyOworICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVyczsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk5NWY0
OGVlM2QxZTAyYzFkOGM5YzlkYTJiZDU4MjM2ZjNiYTA3ZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIFJp
Z2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2Ny
aXB0TG9hZGVyOworY2xhc3MgRGVmZXJyZWRQcm9taXNlOworCitjbGFzcyBNb2R1bGVTY3JpcHRM
b2FkZXJDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfk1vZHVsZVNjcmlwdExvYWRlckNs
aWVudCgpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChNb2R1
bGVTY3JpcHRMb2FkZXImLCBVUkwmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4pID0gMDsKK307CisK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIu
Y3BwCmluZGV4IGFhNWI4MGI1ODZiNzllMGU1NzUwMWNkNTEwNzhkZjI1YTYyNWU1ZDkuLmMyZTVi
ZTVlYWZmMzhiNDMwOTVlMDIwMjRkY2E2ZGMyMGI3OWNhM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcApAQCAtMjksNyArMjksNiBA
QAogI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUgIkNhY2hl
ZFNjcmlwdC5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKLSNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgi
CiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKQEAgLTQxLDYgKzQwLDcgQEAKICNp
bmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VJbnRlZ3Jp
dHkuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCisjaW5jbHVkZSAiV29ya2Vy
TW9kdWxlU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29tcGxldGlv
bi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNlLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSlNNb2R1bGVSZWNvcmQuaD4KQEAgLTUyLDggKzUyLDkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TY3JpcHRNb2R1bGVMb2FkZXI6OlNjcmlwdE1vZHVs
ZUxvYWRlcihEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQor
U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgT3duZXJUeXBlIG93bmVyVHlwZSkKKyAgICA6IG1fY29udGV4dChjb250
ZXh0KQorICAgICwgbV9vd25lclR5cGUob3duZXJUeXBlKQogewogfQogCkBAIC02OCw3ICs2OSw3
IEBAIHN0YXRpYyBib29sIGlzUm9vdE1vZHVsZShKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVL
ZXkpCiAgICAgcmV0dXJuIGltcG9ydGVyTW9kdWxlS2V5LmlzU3ltYm9sKCkgfHwgaW1wb3J0ZXJN
b2R1bGVLZXkuaXNVbmRlZmluZWQoKTsKIH0KIAotc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5n
PiByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5n
JiBzcGVjaWZpZXIsIGNvbnN0IFVSTCYgYmFzZVVSTCkKK3N0YXRpYyBFeHBlY3RlZDxVUkwsIFN0
cmluZz4gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93bmVyVHlwZSBvd25lclR5cGUsIGNvbnN0IFN0cmlu
ZyYgc3BlY2lmaWVyLCBjb25zdCBVUkwmIGJhc2VVUkwpCiB7CiAgICAgLy8gaHR0cHM6Ly9odG1s
LnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI3Jlc29sdmUtYS1tb2R1
bGUtc3BlY2lmaWVyCiAKQEAgLTc5LDcgKzgwLDEyIEBAIHN0YXRpYyBFeHBlY3RlZDxVUkwsIFN0
cmluZz4gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0
CiAgICAgaWYgKCFzcGVjaWZpZXIuc3RhcnRzV2l0aCgnLycpICYmICFzcGVjaWZpZXIuc3RhcnRz
V2l0aCgiLi8iKSAmJiAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoIi4uLyIpKQogICAgICAgICByZXR1
cm4gbWFrZVVuZXhwZWN0ZWQobWFrZVN0cmluZygiTW9kdWxlIHNwZWNpZmllciwgJyJfcywgc3Bl
Y2lmaWVyLCAiJyBkb2VzIG5vdCBzdGFydCB3aXRoIFwiL1wiLCBcIi4vXCIsIG9yIFwiLi4vXCIu
IFJlZmVyZW5jZWQgZnJvbSAiX3MsIGJhc2VVUkwuc3RyaW5nKCkpKTsKIAotICAgIGF1dG8gcmVz
dWx0ID0gZG9jdW1lbnQuY29tcGxldGVVUkwoc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBVUkwg
cmVzdWx0OworICAgIGlmIChvd25lclR5cGUgPT0gU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5
cGU6OkRvY3VtZW50KQorICAgICAgICByZXN1bHQgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4
dCkuY29tcGxldGVVUkwoc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBlbHNlCisgICAgICAgIHJl
c3VsdCA9IFVSTChiYXNlVVJMLCBzcGVjaWZpZXIpOworCiAgICAgaWYgKCFyZXN1bHQuaXNWYWxp
ZCgpKQogICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQobWFrZVN0cmluZygiTW9kdWxlIG5h
bWUsICciX3MsIHJlc3VsdC5zdHJpbmcoKSwgIicgZG9lcyBub3QgcmVzb2x2ZSB0byBhIHZhbGlk
IFVSTC4iX3MpKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTA3LDcgKzExMyw3IEBAIEpTQzo6
SWRlbnRpZmllciBTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVj
dCoganNHbG9iYWxPYmplY3QsCiAgICAgVVJMIGJhc2VVUkwgPSByZXNwb25zZVVSTEZyb21SZXF1
ZXN0VVJMKCpqc0dsb2JhbE9iamVjdCwgaW1wb3J0ZXJNb2R1bGVLZXkpOwogICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKLSAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1
bGVTcGVjaWZpZXIobV9kb2N1bWVudCwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBhdXRvIHJl
c3VsdCA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIobV9jb250ZXh0LCBtX293bmVyVHlwZSwgc3Bl
Y2lmaWVyLCBiYXNlVVJMKTsKICAgICBpZiAoIXJlc3VsdCkgewogICAgICAgICBKU0M6OnRocm93
VHlwZUVycm9yKGpzR2xvYmFsT2JqZWN0LCBzY29wZSwgcmVzdWx0LmVycm9yKCkpOwogICAgICAg
ICByZXR1cm4geyB9OwpAQCAtMTYxLDEzICsxNjcsMTkgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlz
ZSogU2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2Jh
bE8KICAgICBpZiAoYXV0byogc2NyaXB0RmV0Y2hQYXJhbWV0ZXJzID0gSlNDOjpqc0R5bmFtaWND
YXN0PEpTQzo6SlNTY3JpcHRGZXRjaFBhcmFtZXRlcnMqPih2bSwgcGFyYW1ldGVycykpCiAgICAg
ICAgIHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzID0gc3RhdGljX2Nhc3Q8TW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzKj4oJnNjcmlwdEZldGNoUGFyYW1ldGVycy0+cGFyYW1ldGVycygpKTsKIAotICAgIGF1
dG8gbG9hZGVyID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVy
cmVkLmdldCgpLCAqc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0
PEpTQzo6SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1v
dmUodG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKLSAgICBtX2xvYWRlcnMuYWRkKGxvYWRlci5j
b3B5UmVmKCkpOwotICAgIGlmICghbG9hZGVyLT5sb2FkKG1fZG9jdW1lbnQsIGNvbXBsZXRlZFVS
TCkpIHsKLSAgICAgICAgbG9hZGVyLT5jbGVhckNsaWVudCgpOwotICAgICAgICBtX2xvYWRlcnMu
cmVtb3ZlKFdURk1vdmUobG9hZGVyKSk7Ci0gICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29y
a0Vycm9yKGRlZmVycmVkLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVk
LCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKLSAgICAgICAgcmV0dXJu
IGpzUHJvbWlzZTsKKyAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkg
eworICAgICAgICBhdXRvIGxvYWRlciA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRl
KCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXIq
PihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRj
aGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7CisgICAgICAgIG1fbG9h
ZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7CisgICAgICAgIGlmICghbG9hZGVyLT5sb2FkKGRv
d25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLCBXVEZNb3ZlKGNvbXBsZXRlZFVSTCkpKSB7Cisg
ICAgICAgICAgICBsb2FkZXItPmNsZWFyQ2xpZW50KCk7CisgICAgICAgICAgICBtX2xvYWRlcnMu
cmVtb3ZlKFdURk1vdmUobG9hZGVyKSk7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5l
dHdvcmtFcnJvcihkZWZlcnJlZC5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJy
b3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CisgICAgICAgICAg
ICByZXR1cm4ganNQcm9taXNlOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXV0
byBsb2FkZXIgPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJy
ZWQuZ2V0KCksICpzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8
SlNDOjpKU1NjcmlwdEZldGNoZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92
ZSh0b3BMZXZlbEZldGNoUGFyYW1ldGVycykpOworICAgICAgICBtX2xvYWRlcnMuYWRkKGxvYWRl
ci5jb3B5UmVmKCkpOworICAgICAgICBsb2FkZXItPmxvYWQobV9jb250ZXh0LCBXVEZNb3ZlKGNv
bXBsZXRlZFVSTCkpOwogICAgIH0KIAogICAgIHJldHVybiBqc1Byb21pc2U7CkBAIC0xNzYsNyAr
MTg4LDcgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE8KIFVSTCBTY3JpcHRNb2R1bGVMb2FkZXI6
Om1vZHVsZVVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCwgSlNDOjpKU1Zh
bHVlIG1vZHVsZUtleVZhbHVlKQogewogICAgIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N5bWJvbCgp
KQotICAgICAgICByZXR1cm4gbV9kb2N1bWVudC51cmwoKTsKKyAgICAgICAgcmV0dXJuIG1fY29u
dGV4dC51cmwoKTsKIAogICAgIEFTU0VSVChtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKTsKICAg
ICByZXR1cm4gVVJMKFVSTCgpLCBhc1N0cmluZyhtb2R1bGVLZXlWYWx1ZSktPnZhbHVlKCZqc0ds
b2JhbE9iamVjdCkpOwpAQCAtMTg3LDggKzE5OSwxMSBAQCBVUkwgU2NyaXB0TW9kdWxlTG9hZGVy
OjpyZXNwb25zZVVSTEZyb21SZXF1ZXN0VVJMKEpTQzo6SlNHbG9iYWxPYmplY3QmIGpzR2xvYmFs
TwogICAgIEpTQzo6Vk0mIHZtID0ganNHbG9iYWxPYmplY3Qudm0oKTsKICAgICBhdXRvIHNjb3Bl
ID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAoaXNSb290TW9kdWxlKG1vZHVs
ZUtleVZhbHVlKSkKLSAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQuYmFzZVVSTCgpOworICAgIGlm
IChpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKSB7CisgICAgICAgIGlmIChtX293bmVyVHlw
ZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KQorICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PERv
Y3VtZW50PihtX2NvbnRleHQpLmJhc2VVUkwoKTsKKyAgICAgICAgcmV0dXJuIG1fY29udGV4dC51
cmwoKTsKKyAgICB9CiAKICAgICBBU1NFUlQoIWlzUm9vdE1vZHVsZShtb2R1bGVLZXlWYWx1ZSkp
OwogICAgIEFTU0VSVChtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKTsKQEAgLTIxOSw4ICsyMzQs
MTQgQEAgSlNDOjpKU1ZhbHVlIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZXZhbHVhdGUoSlNDOjpKU0ds
b2JhbE9iamVjdCoganNHbG9iYWxPYmplY3QsIEoKICAgICBpZiAoIXNvdXJjZVVSTC5pc1ZhbGlk
KCkpCiAgICAgICAgIHJldHVybiBKU0M6OnRocm93VHlwZUVycm9yKGpzR2xvYmFsT2JqZWN0LCBz
Y29wZSwgIk1vZHVsZSBrZXkgaXMgYW4gaW52YWxpZCBVUkwuIl9zKTsKIAotICAgIGlmIChhdXRv
KiBmcmFtZSA9IG1fZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIGZyYW1lLT5zY3Jp
cHQoKS5ldmFsdWF0ZU1vZHVsZShzb3VyY2VVUkwsICptb2R1bGVSZWNvcmQpOworICAgIGlmICht
X293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGlmIChhdXRvKiBm
cmFtZSA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmZyYW1lKCkpCisgICAgICAgICAg
ICByZXR1cm4gZnJhbWUtPnNjcmlwdCgpLmV2YWx1YXRlTW9kdWxlKHNvdXJjZVVSTCwgKm1vZHVs
ZVJlY29yZCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgQVNTRVJUKGlzPFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlPihtX2NvbnRleHQpKTsKKyAgICAgICAgaWYgKGF1dG8qIHNjcmlwdCA9IGRv
d25jYXN0PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPihtX2NvbnRleHQpLnNjcmlwdCgpKQor
ICAgICAgICAgICAgcmV0dXJuIHNjcmlwdC0+ZXZhbHVhdGVNb2R1bGUoKm1vZHVsZVJlY29yZCk7
CisgICAgfQogICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7CiB9CiAKQEAgLTI0OCwyMyAr
MjY5LDM2IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1w
b3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzCiAgICAgVVJMIGJhc2VVUkw7CiAgICAg
UmVmUHRyPEpTQzo6U2NyaXB0RmV0Y2hlcj4gc2NyaXB0RmV0Y2hlcjsKICAgICBpZiAoc291cmNl
T3JpZ2luLmlzTnVsbCgpKSB7Ci0gICAgICAgIGJhc2VVUkwgPSBtX2RvY3VtZW50LmJhc2VVUkwo
KTsKLSAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZSht
X2RvY3VtZW50LmNoYXJzZXQoKSk7CisgICAgICAgIFN0cmluZyBjaGFyc2V0OworICAgICAgICBp
ZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICAgICAgYmFz
ZVVSTCA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmJhc2VVUkwoKTsKKyAgICAgICAg
ICAgIGNoYXJzZXQgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5jaGFyc2V0KCk7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBiYXNlVVJMID0gbV9jb250ZXh0LnVybCgpOwor
ICAgICAgICAgICAgY2hhcnNldCA9ICJ1dGYtOCJfczsKKyAgICAgICAgfQorICAgICAgICBzY3Jp
cHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKFdURk1vdmUoY2hhcnNldCkp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIGJhc2VVUkwgPSBVUkwoVVJMKCksIHNvdXJjZU9yaWdp
bi5zdHJpbmcoKSk7CiAgICAgICAgIGlmICghYmFzZVVSTC5pc1ZhbGlkKCkpCiAgICAgICAgICAg
ICByZXR1cm4gcmVqZWN0UHJvbWlzZShnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgIkltcG9ydGVy
IG1vZHVsZSBrZXkgaXMgbm90IGEgU3ltYm9sIG9yIGEgU3RyaW5nLiJfcyk7CiAKKyAgICAgICAg
U3RyaW5nIGNoYXJzZXQ7CisgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRv
Y3VtZW50KQorICAgICAgICAgICAgY2hhcnNldCA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRl
eHQpLmNoYXJzZXQoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY2hhcnNldCA9ICJ1dGYt
OCJfczsKKwogICAgICAgICBpZiAoc291cmNlT3JpZ2luLmZldGNoZXIoKSkKICAgICAgICAgICAg
IHNjcmlwdEZldGNoZXIgPSBzb3VyY2VPcmlnaW4uZmV0Y2hlcigpOwogICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKG1f
ZG9jdW1lbnQuY2hhcnNldCgpKTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRT
Y3JpcHRGZXRjaGVyOjpjcmVhdGUoV1RGTW92ZShjaGFyc2V0KSk7CiAgICAgfQogICAgIEFTU0VS
VChiYXNlVVJMLmlzVmFsaWQoKSk7CiAgICAgQVNTRVJUKHNjcmlwdEZldGNoZXIpOwogCiAgICAg
YXV0byBzcGVjaWZpZXIgPSBtb2R1bGVOYW1lLT52YWx1ZShqc0dsb2JhbE9iamVjdCk7Ci0gICAg
YXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmll
ciwgYmFzZVVSTCk7CisgICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1f
Y29udGV4dCwgbV9vd25lclR5cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1
bHQpCiAgICAgICAgIHJldHVybiByZWplY3RQcm9taXNlKGdsb2JhbE9iamVjdCwgVHlwZUVycm9y
LCByZXN1bHQuZXJyb3IoKSk7CiAKQEAgLTI4OCw2MiArMzIyLDk4IEBAIEpTQzo6SlNPYmplY3Qq
IFNjcmlwdE1vZHVsZUxvYWRlcjo6Y3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0ds
b2JhbE9iamVjCiAgICAgcmV0dXJuIG1ldGFQcm9wZXJ0aWVzOwogfQogCi12b2lkIFNjcmlwdE1v
ZHVsZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiBsb2Fk
ZXIsIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IHByb21pc2UpCit2b2lkIFNjcmlwdE1vZHVsZUxv
YWRlcjo6bm90aWZ5RmluaXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiBtb2R1bGVTY3JpcHRMb2Fk
ZXIsIFVSTCYmIHNvdXJjZVVSTCwgUmVmPERlZmVycmVkUHJvbWlzZT4gcHJvbWlzZSkKIHsKICAg
ICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0
bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAogCi0gICAgVVJMIHNvdXJjZVVSTCA9IGxv
YWRlci5zb3VyY2VVUkwoKTsKLSAgICBpZiAoIW1fbG9hZGVycy5yZW1vdmUoJmxvYWRlcikpCisg
ICAgaWYgKCFtX2xvYWRlcnMucmVtb3ZlKCZtb2R1bGVTY3JpcHRMb2FkZXIpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgbG9hZGVyLmNsZWFyQ2xpZW50KCk7CisgICAgbW9kdWxlU2NyaXB0TG9hZGVy
LmNsZWFyQ2xpZW50KCk7CiAKLSAgICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9hZGVyLmNhY2hl
ZFNjcmlwdCgpOworICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7
CisgICAgICAgIGF1dG8mIGxvYWRlciA9IHN0YXRpY19jYXN0PENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlciY+KG1vZHVsZVNjcmlwdExvYWRlcik7CisgICAgICAgIGF1dG8mIGNhY2hlZFNjcmlwdCA9
ICpsb2FkZXIuY2FjaGVkU2NyaXB0KCk7CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0LnJlc291cmNl
RXJyb3IoKS5pc0FjY2Vzc0NvbnRyb2woKSkgewotICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlw
ZUVycm9yLCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4g
UmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIl9zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAg
ICAgICAgaWYgKGNhY2hlZFNjcmlwdC5yZXNvdXJjZUVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkp
IHsKKyAgICAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsICJDcm9zcy1vcmlnaW4g
c2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGlj
eS4iX3MpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoY2FjaGVk
U2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgewotICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdv
cmtFcnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIklt
cG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQuZXJyb3JPY2N1cnJlZCgpKSB7CisgICAgICAg
ICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBm
YWlsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKGNh
Y2hlZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7Ci0gICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0
d29ya0Vycm9yKCpwcm9taXNlLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwg
IkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KKyAgICAgICAgaWYgKGNhY2hlZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7Cisg
ICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBN
b2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBz
Y3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQog
Ci0gICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlw
ZShjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgewotICAgICAgICAvLyBodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gt
YS1zaW5nbGUtbW9kdWxlLXNjcmlwdAotICAgICAgICAvLyBUaGUgcmVzdWx0IG9mIGV4dHJhY3Rp
bmcgYSBNSU1FIHR5cGUgZnJvbSByZXNwb25zZSdzIGhlYWRlciBsaXN0IChpZ25vcmluZyBwYXJh
bWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZS4KLSAgICAgICAgLy8gRm9yIGhp
c3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBpbmNs
dWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdpbGwg
ZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgotICAg
ICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2Ny
aXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBN
SU1FIHR5cGUuIikpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVU
eXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKGNhY2hlZFNjcmlwdC5y
ZXNwb25zZSgpLm1pbWVUeXBlKCkpKSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwuc3Bl
Yy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9k
dWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlN
RSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykg
aXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlzdG9y
aWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUg
TUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWls
IHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAgICAg
ICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2Ny
aXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBN
SU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAo
YXV0byogcGFyYW1ldGVycyA9IGxvYWRlci5wYXJhbWV0ZXJzKCkpIHsKLSAgICAgICAgaWYgKCFt
YXRjaEludGVncml0eU1ldGFkYXRhKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5
KCkpKSB7Ci0gICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5n
KCJDYW5ub3QgbG9hZCBzY3JpcHQgIiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNo
ZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkpOworICAgICAgICBpZiAoYXV0byog
cGFyYW1ldGVycyA9IGxvYWRlci5wYXJhbWV0ZXJzKCkpIHsKKyAgICAgICAgICAgIGlmICghbWF0
Y2hJbnRlZ3JpdHlNZXRhZGF0YShjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgp
KSkgeworICAgICAgICAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1ha2VTdHJp
bmcoIkNhbm5vdCBsb2FkIHNjcmlwdCAiLCBpbnRlZ3JpdHlNaXNtYXRjaERlc2NyaXB0aW9uKGNh
Y2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkpKSk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgVVJMIHJlc3BvbnNl
VVJMID0gY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkudXJsKCk7CisgICAgICAgIC8vIElmIHdlIGRv
IG5vdCBoYXZlIHJlZGlyZWN0aW9uLCB3ZSBtdXN0IHJlc2VydmUgdGhlIHNvdXJjZSBVUkwncyBm
cmFnbWVudCBleHBsaWNpdGx5IGhlcmUgc2luY2UgUmVzb3VyY2VSZXNwb25zZTo6dXJsKCkgaXMg
dGhlIG9uZSB3aGVuIHdlIGZpcnN0IGNhY2hlIGl0IHRvIE1lbW9yeUNhY2hlLgorICAgICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNrIGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4K
KyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODQy
MAorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEw
NDkwCisgICAgICAgIGlmICghY2FjaGVkU2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpICYmIGNhY2hl
ZFNjcmlwdC5yZXNwb25zZSgpLnNvdXJjZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6
U2VydmljZVdvcmtlcikgeworICAgICAgICAgICAgaWYgKHNvdXJjZVVSTC5oYXNGcmFnbWVudElk
ZW50aWZpZXIoKSkKKyAgICAgICAgICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50
aWZpZXIoc291cmNlVVJMLmZyYWdtZW50SWRlbnRpZmllcigpKTsKKyAgICAgICAgfQorCisgICAg
ICAgIG1fcmVxdWVzdFVSTFRvUmVzcG9uc2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwg
V1RGTW92ZShyZXNwb25zZVVSTCkpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxi
YWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7CisgICAgICAgICAg
ICByZXR1cm4gSlNDOjpKU1NvdXJjZUNvZGU6OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52bSgpLAor
ICAgICAgICAgICAgICAgIEpTQzo6U291cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyAmY2Fj
aGVkU2NyaXB0LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIu
c2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7CisgICAgICAgIH0pOworICAgIH0g
ZWxzZSB7CisgICAgICAgIGF1dG8mIGxvYWRlciA9IHN0YXRpY19jYXN0PFdvcmtlck1vZHVsZVNj
cmlwdExvYWRlciY+KG1vZHVsZVNjcmlwdExvYWRlcik7CisgICAgICAgIGF1dG8mIHdvcmtlclNj
cmlwdExvYWRlciA9IGxvYWRlci5zY3JpcHRMb2FkZXIoKTsKKworICAgICAgICBpZiAod29ya2Vy
U2NyaXB0TG9hZGVyLmZhaWxlZCgpKSB7CisgICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9h
ZGVyLmVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNl
LT5yZWplY3QoVHlwZUVycm9yLCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBD
cm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIl9zKTsKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICh3b3JrZXJTY3JpcHRM
b2FkZXIuZXJyb3IoKS5pc0NhbmNlbGxhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgcmVqZWN0
VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJl
S2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVk
LiJfcyk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBm
YWlsZWQuIl9zKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgIH0KIAotICAg
IFVSTCByZXNwb25zZVVSTCA9IGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnVybCgpOwotICAgIC8v
IElmIHdlIGRvIG5vdCBoYXZlIHJlZGlyZWN0aW9uLCB3ZSBtdXN0IHJlc2VydmUgdGhlIHNvdXJj
ZSBVUkwncyBmcmFnbWVudCBleHBsaWNpdGx5IGhlcmUgc2luY2UgUmVzb3VyY2VSZXNwb25zZTo6
dXJsKCkgaXMgdGhlIG9uZSB3aGVuIHdlIGZpcnN0IGNhY2hlIGl0IHRvIE1lbW9yeUNhY2hlLgot
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJhY2sgZnJhZ21lbnRzIHRocm91Z2ggcmVkaXJlY3Rp
b25zLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0
MjAKLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNDkw
Ci0gICAgaWYgKCFjYWNoZWRTY3JpcHQuaGFzUmVkaXJlY3Rpb25zKCkgJiYgY2FjaGVkU2NyaXB0
LnJlc3BvbnNlKCkuc291cmNlKCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNl
V29ya2VyKSB7Ci0gICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkp
Ci0gICAgICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIoc291cmNlVVJM
LmZyYWdtZW50SWRlbnRpZmllcigpKTsKLSAgICB9CisgICAgICAgIGlmICghTUlNRVR5cGVSZWdp
c3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUod29ya2VyU2NyaXB0TG9hZGVyLnJl
c3BvbnNlTUlNRVR5cGUoKSkpIHsKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUt
c2NyaXB0CisgICAgICAgICAgICAvLyBUaGUgcmVzdWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5
cGUgZnJvbSByZXNwb25zZSdzIGhlYWRlciBsaXN0IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBu
b3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZS4KKyAgICAgICAgICAgIC8vIEZvciBoaXN0b3JpY2Fs
IHJlYXNvbnMsIGZldGNoaW5nIGEgY2xhc3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1F
IHR5cGUgY2hlY2tpbmcuIEluIGNvbnRyYXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8g
bG9hZCBpZiB0aGV5IGFyZSBub3Qgb2YgYSBjb3JyZWN0IE1JTUUgdHlwZS4KKyAgICAgICAgICAg
IHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIiciLCB3b3JrZXJTY3JpcHRM
b2FkZXIucmVzcG9uc2VNSU1FVHlwZSgpLCAiJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1J
TUUgdHlwZS4iKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIG1fcmVx
dWVzdFVSTFRvUmVzcG9uc2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwgV1RGTW92ZShy
ZXNwb25zZVVSTCkpOwotICAgIHByb21pc2UtPnJlc29sdmVXaXRoQ2FsbGJhY2soWyZdIChKU0RP
TUdsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6SlNT
b3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKLSAgICAgICAgICAgIEpTQzo6
U291cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyAmY2FjaGVkU2NyaXB0LCBKU0M6OlNvdXJj
ZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNT
b3VyY2VDb2RlKCkgfSk7Ci0gICAgfSk7CisgICAgICAgIFVSTCByZXNwb25zZVVSTCA9IHdvcmtl
clNjcmlwdExvYWRlci5yZXNwb25zZVVSTCgpOworCisgICAgICAgIG1fcmVxdWVzdFVSTFRvUmVz
cG9uc2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwgcmVzcG9uc2VVUkwpOworICAgICAg
ICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3QmIGpz
R2xvYmFsT2JqZWN0KSB7CisgICAgICAgICAgICByZXR1cm4gSlNDOjpKU1NvdXJjZUNvZGU6OmNy
ZWF0ZShqc0dsb2JhbE9iamVjdC52bSgpLAorICAgICAgICAgICAgICAgIEpTQzo6U291cmNlQ29k
ZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyB3b3JrZXJTY3JpcHRMb2FkZXIuc2NyaXB0KCksIFdURk1v
dmUocmVzcG9uc2VVUkwpLCB7IH0sIEpTQzo6U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1
bGUsIGxvYWRlci5zY3JpcHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9KTsKKyAgICAgICAg
fSk7CisgICAgfQogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRNb2R1bGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dE1vZHVsZUxvYWRlci5oCmluZGV4IGRlMjlkMmY0YmYwOTZiNjBjMzY5OTgwMzE2YzE0ODZiMjgy
YWJmMDkuLmRmMzRkNTUxYTExY2Q5OGY0ZTIzNmEyYWExZjQ4Mjc5ZDk2NGM2ODUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5oCkBAIC0yNSw4
ICsyNSw4IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyLmgiCi0jaW5jbHVkZSAiQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisj
aW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNDSlNWYWx1ZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC00
NSwxNiArNDUsMTcgQEAgY2xhc3MgU291cmNlT3JpZ2luOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIERvY3VtZW50OwogY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OwogCi1jbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBw
cml2YXRlIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CitjbGFzcyBTY3JpcHRNb2R1
bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0TW9kdWxlTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgU2NyaXB0TW9kdWxlTG9hZGVyKERvY3Vt
ZW50Jik7CisgICAgZW51bSBjbGFzcyBPd25lclR5cGUgOiB1aW50OF90IHsgRG9jdW1lbnQsIFdv
cmtlck9yV29ya2xldCB9OworICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiwgT3duZXJUeXBlKTsKICAgICB+U2NyaXB0TW9kdWxlTG9hZGVyKCk7
CiAKLSAgICBEb2N1bWVudCYgZG9jdW1lbnQoKSB7IHJldHVybiBtX2RvY3VtZW50OyB9CisgICAg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCgpIHsgcmV0dXJuIG1fY29udGV4dDsgfQog
CiAgICAgSlNDOjpJZGVudGlmaWVyIHJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6
SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGlt
cG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcik7CiAgICAgSlNDOjpK
U0ludGVybmFsUHJvbWlzZSogZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1
bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVy
cywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwpAQCAtNjMsMTMgKzY0LDE1IEBAIGNsYXNz
IFNjcmlwdE1vZHVsZUxvYWRlciBmaW5hbCA6IHByaXZhdGUgQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50IHsKICAgICBKU0M6OkpTT2JqZWN0KiBjcmVhdGVJbXBvcnRNZXRhUHJvcGVydGll
cyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1
ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7CiAKIHByaXZhdGU6Ci0gICAg
dm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImLCBSZWZQdHI8RGVm
ZXJyZWRQcm9taXNlPikgZmluYWw7CisgICAgdm9pZCBub3RpZnlGaW5pc2hlZChNb2R1bGVTY3Jp
cHRMb2FkZXImLCBVUkwmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4pIGZpbmFsOworCiAgICAgVVJM
IG1vZHVsZVVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlKTsKICAgICBVUkwg
cmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1Zh
bHVlKTsKIAotICAgIERvY3VtZW50JiBtX2RvY3VtZW50OworICAgIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIG1fY29udGV4dDsKICAgICBIYXNoTWFwPFN0cmluZywgVVJMPiBtX3JlcXVlc3RVUkxU
b1Jlc3BvbnNlVVJMTWFwOwotICAgIEhhc2hTZXQ8UmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
cj4+IG1fbG9hZGVyczsKKyAgICBIYXNoU2V0PFJlZjxNb2R1bGVTY3JpcHRMb2FkZXI+PiBtX2xv
YWRlcnM7CisgICAgT3duZXJUeXBlIG1fb3duZXJUeXBlOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlck1v
ZHVsZVNjcmlwdExvYWRlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzU5NmY2NDA4NWYwMTk1NGM1NjljZTc0
NDZkNGFlMzgyZmFkNzg5NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKQEAgLTAsMCArMSw4NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXb3JrZXJNb2R1bGVTY3Jp
cHRMb2FkZXIuaCIKKworI2luY2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAi
TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25z
LmgiCisjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVs
ZUxvYWRlci5oIgorI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKKyNpbmNsdWRlICJXb3Jr
ZXJTY3JpcHRMb2FkZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyPiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNo
ZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzPiYmIHBhcmFtZXRlcnMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShw
YXJhbWV0ZXJzKSkpOworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Oldvcmtlck1vZHVs
ZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQ
cm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQ
dHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1bGVTY3Jp
cHRMb2FkZXIoY2xpZW50LCBwcm9taXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRl
cnMpKQorICAgICwgbV9zY3JpcHRMb2FkZXIoV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKSkK
K3sKK30KKworV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjp+V29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyKCkKK3sKKyAgICBtX3NjcmlwdExvYWRlci0+Y2FuY2VsKCk7Cit9CisKK2Jvb2wgV29ya2Vy
TW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IFVSTCYmIHNvdXJjZVVSTCkKK3sKKyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291cmNlVVJM
KTsKKworICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0IHsgbV9zb3VyY2VVUkwgfTsKKworICAg
IEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7CisgICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBGZXRj
aE9wdGlvbnM6Ok1vZGU6OkNvcnM7CisgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRp
b25zOjpDYWNoZTo6RGVmYXVsdDsKKyAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9w
dGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CisgICAgLy8gRklYTUU6IFByb3BhZ2F0ZSBjcmVkZW50
aWFscy4KKyAgICAvLyBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSBzY3JpcHRGZXRjaEpvYi5j
cmVkZW50aWFsczsKKyAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0g
Y29udGV4dC5zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSA/IENv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UgOiBDb250ZW50U2Vj
dXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZUNoaWxkU3JjRGlyZWN0aXZlOworCisgICAg
U3RyaW5nIHRhc2tNb2RlID0gImxvYWRNb2R1bGVzSW5Xb3JrZXJPcldvcmtsZXRNb2RlIl9zOwor
ICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShy
ZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZv
cmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXVEZNb3ZlKHRhc2tNb2Rl
KSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
Ojpub3RpZnlGaW5pc2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisKKyAgICBhdXRv
IHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsKKyAgICBpZiAobV9jbGllbnQpCisgICAg
ICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJjZVVSTCks
IG1fcHJvbWlzZS5yZWxlYXNlTm9uTnVsbCgpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNjFhOGQ4MjA2MzA3OTBmZjY3OGFkZWNmNjU4YmI4NDY2MmExNGMzCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
LmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xp
ZW50LmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBKU0RPTUdsb2Jh
bE9iamVjdDsKK2NsYXNzIE1vZHVsZUZldGNoUGFyYW1ldGVyczsKK2NsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBXb3Jr
ZXJTY3JpcHRMb2FkZXI7CisKK2NsYXNzIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6
IHB1YmxpYyBNb2R1bGVTY3JpcHRMb2FkZXIsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xp
ZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4g
Y3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hl
ZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKworICAg
IHZpcnR1YWwgfldvcmtlck1vZHVsZVNjcmlwdExvYWRlcigpOworCisgICAgYm9vbCBsb2FkKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBVUkwmJiBzb3VyY2VVUkwpOworCisgICAgV29ya2VyU2Ny
aXB0TG9hZGVyJiBzY3JpcHRMb2FkZXIoKSB7IHJldHVybiBtX3NjcmlwdExvYWRlci5nZXQoKTsg
fQorCitwcml2YXRlOgorICAgIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRM
b2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVm
UHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNw
b25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWwgeyB9Cisg
ICAgdm9pZCBub3RpZnlGaW5pc2hlZCgpIGZpbmFsOworCisgICAgUmVmPFdvcmtlclNjcmlwdExv
YWRlcj4gbV9zY3JpcHRMb2FkZXI7CisgICAgVVJMIG1fc291cmNlVVJMOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOWIyMTM4Yjc3YzE4
MGQ3MjA5NTE4MDBlMTRlMzQ3YTE0M2U5NzE3MS4uNTRjZmYwNGE5NmRiYzgwOWQ2MzZhYWVjOGVj
YjIwNWU0Njc3ZjA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02MTUsNyArNjE1LDcg
QEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgU2V0dGluZ3MmIHNldHRp
bmdzLCBjb25zdCBVUkwmIHVybCwgRG9jdW0KICAgICAsIG1fZG9jdW1lbnRDcmVhdGlvblRpbWUo
TW9ub3RvbmljVGltZTo6bm93KCkpCiAjZW5kaWYKICAgICAsIG1fc2NyaXB0UnVubmVyKG1ha2VV
bmlxdWU8U2NyaXB0UnVubmVyPigqdGhpcykpCi0gICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5p
cXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMpKQorICAgICwgbV9tb2R1bGVMb2FkZXIobWFr
ZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93
bmVyVHlwZTo6RG9jdW1lbnQpKQogI2lmIEVOQUJMRShYU0xUKQogICAgICwgbV9hcHBseVBlbmRp
bmdYU0xUcmFuc2Zvcm1zVGltZXIoKnRoaXMsICZEb2N1bWVudDo6YXBwbHlQZW5kaW5nWFNMVHJh
bnNmb3Jtc1RpbWVyRmlyZWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVN
b2R1bGVTY3JpcHQuY3BwCmluZGV4IDlhMjVjMTY1ODhlZWNhZDY3OGZiOTExZWM4NjIyZjQyNDI1
OTJiNWEuLjQ4ZWMwODUxYTQ1N2Q5YmE0NzQ3M2ZlYzI4ZDdiNDkzMTJiNzg4YjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcApAQCAtODgsMTYgKzg4LDQg
QEAgdm9pZCBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6ZXhlY3V0ZShTY3JpcHRFbGVtZW50JiBzY3Jp
cHRFbGVtZW50KQogICAgIHNjcmlwdEVsZW1lbnQuZXhlY3V0ZU1vZHVsZVNjcmlwdCgqdGhpcyk7
CiB9CiAKLXZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50
LCBjb25zdCBVUkwmIHJvb3RVUkwpCi17Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQu
ZnJhbWUoKSkKLSAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoKnRoaXMs
IHJvb3RVUkwuc3RyaW5nKCksIG1fcGFyYW1ldGVycy5jb3B5UmVmKCkpOwotfQotCi12b2lkIExv
YWRhYmxlTW9kdWxlU2NyaXB0Ojpsb2FkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2NyaXB0
U291cmNlQ29kZSYgc291cmNlQ29kZSkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVu
dC5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhp
cywgc291cmNlQ29kZSk7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9M
b2FkYWJsZU1vZHVsZVNjcmlwdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmgKaW5kZXggYmI3OTk1NGQ3Yjk5YjBlZDA2YmZlNTVlZjg1NGVjY2UyMWYzNTg3Ny4u
ZDI1MzU5NjNmNjQ4YjAyYThhMDFmZDYzYmIxZTM4MTM4NmNlZTQzNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgKQEAgLTUwLDE1ICs1MCwxNCBAQCBjbGFzcyBM
b2FkYWJsZU1vZHVsZVNjcmlwdCBmaW5hbCA6IHB1YmxpYyBMb2FkYWJsZVNjcmlwdCB7CiAKICAg
ICB2b2lkIHNldEVycm9yKEVycm9yJiYpOwogCi0gICAgdm9pZCBsb2FkKERvY3VtZW50JiwgY29u
c3QgVVJMJiByb290VVJMKTsKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBTY3JpcHRT
b3VyY2VDb2RlJik7Ci0KICAgICB2b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmlu
Z0ltcGwmKTsKICAgICB2b2lkIG5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9y
JiYpOwogICAgIHZvaWQgbm90aWZ5TG9hZFdhc0NhbmNlbGVkKCk7CiAKICAgICBVbmlxdWVkU3Ry
aW5nSW1wbCogbW9kdWxlS2V5KCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0K
IAorICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyYgcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFy
YW1ldGVycy5nZXQoKTsgfQorCiBwcml2YXRlOgogICAgIExvYWRhYmxlTW9kdWxlU2NyaXB0KGNv
bnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGlj
eSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwg
Y29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93
VHJlZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCAwNTc1OGI2MDBj
NzUyMmI0N2YzNjRiYTZhMThkMzVmMTczMTEwN2Y5Li41ZTk5ZjBmNTc3N2IzYjIxNThkZDBmYTRi
YzM4Mjc3NmNkYjM0ODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC00
Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiTG9hZGFibGVDbGFzc2ljU2NyaXB0LmgiCiAjaW5jbHVk
ZSAiTG9hZGFibGVNb2R1bGVTY3JpcHQuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5Lmgi
CisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiUGVuZGluZ1Nj
cmlwdC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgogI2luY2x1ZGUg
IlNWR1NjcmlwdEVsZW1lbnQuaCIKQEAgLTM1MSw4ICszNTIsMTEgQEAgYm9vbCBTY3JpcHRFbGVt
ZW50OjpyZXF1ZXN0TW9kdWxlU2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQ
b3NpdGlvbikKICAgICAgICAgICAgIHNjcmlwdENoYXJzZXQoKSwKICAgICAgICAgICAgIG1fZWxl
bWVudC5sb2NhbE5hbWUoKSwKICAgICAgICAgICAgIG1fZWxlbWVudC5pc0luVXNlckFnZW50U2hh
ZG93VHJlZSgpKTsKLSAgICAgICAgc2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBt
b2R1bGVTY3JpcHRSb290VVJMKTsKICAgICAgICAgbV9sb2FkYWJsZVNjcmlwdCA9IFdURk1vdmUo
c2NyaXB0KTsKKyAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCku
ZnJhbWUoKSkgeworICAgICAgICAgICAgYXV0byYgc2NyaXB0ID0gZG93bmNhc3Q8TG9hZGFibGVN
b2R1bGVTY3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKTsKKyAgICAgICAgICAgIGZyYW1l
LT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KHNjcmlwdCwgbW9kdWxlU2NyaXB0Um9vdFVSTC5z
dHJpbmcoKSwgbWFrZVJlZihzY3JpcHQucGFyYW1ldGVycygpKSk7CisgICAgICAgIH0KICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC0zNjcsOCArMzcxLDkgQEAgYm9vbCBTY3JpcHRF
bGVtZW50OjpyZXF1ZXN0TW9kdWxlU2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3Rh
cnRQb3NpdGlvbikKICAgICBpZiAoIWNvbnRlbnRTZWN1cml0eVBvbGljeS5hbGxvd0lubGluZVNj
cmlwdChtX2VsZW1lbnQuZG9jdW1lbnQoKS51cmwoKS5zdHJpbmcoKSwgbV9zdGFydExpbmVOdW1i
ZXIsIHNvdXJjZUNvZGUuc291cmNlKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLCBoYXNLbm93
bk5vbmNlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc2NyaXB0LT5sb2FkKG1fZWxl
bWVudC5kb2N1bWVudCgpLCBzb3VyY2VDb2RlKTsKICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RG
TW92ZShzY3JpcHQpOworICAgIGlmIChhdXRvKiBmcmFtZSA9IG1fZWxlbWVudC5kb2N1bWVudCgp
LmZyYW1lKCkpCisgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KGRvd25j
YXN0PExvYWRhYmxlTW9kdWxlU2NyaXB0PigqbV9sb2FkYWJsZVNjcmlwdC5nZXQoKSksIHNvdXJj
ZUNvZGUpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggMjcxN2M4NjFjNzRiMGYyYWViY2RlNDA4NzAwZTJhOWEw
MzczNzU5NS4uMWI2NTMyYzNiMGVhYTgwZDliZDQ2YzZkNDMyMTM2OTYyMWMwMTliYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMTAxLDEwICsxMDEs
MTAgQEAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6Omlz
b2xhdGVkQ29weSgpIGNvbnN0CiB9CiAKIAotUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVh
ZGFibGVMb2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50JiBjbGllbnQsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNv
bnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBTdHJpbmcmJiByZWZlcnJlcikK
K1JlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50
LCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYgb3B0aW9ucywgU3RyaW5nJiYgcmVmZXJyZXIsIFN0cmluZyYmIHRhc2tNb2RlKQogewogICAg
IGlmIChpczxXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkgfHwgKGlzPFdvcmtsZXRHbG9iYWxT
Y29wZT4oY29udGV4dCkgJiYgZG93bmNhc3Q8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KS53
b3JrZXJPcldvcmtsZXRUaHJlYWQoKSkpCi0gICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxl
TG9hZGVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUmPihj
b250ZXh0KSwgY2xpZW50LCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpLCBXVEZNb3ZlKHJl
cXVlc3QpLCBvcHRpb25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CisgICAgICAgIHJldHVybiBXb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8V29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGUmPihjb250ZXh0KSwgY2xpZW50LCBXVEZNb3ZlKHRhc2tNb2RlKSwgV1RGTW92ZShy
ZXF1ZXN0KSwgb3B0aW9ucywgV1RGTW92ZShyZWZlcnJlcikpOwogCiAgICAgRG9jdW1lbnQqIGRv
Y3VtZW50ID0gbnVsbHB0cjsKICAgICBpZiAoaXM8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGMyYjI0NWMz
ZWJiOGJjOTMwZWY0ZDE3MmJhMTUwOWExNzlmMWQ3YTYuLjFhYzcwNGI0YzNiNTBiMGZmZGEwMzQy
OGMzY2U3ZGExNDk4ODI2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJl
YWRhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXIuaApAQCAtNzQsNyArNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBU
aHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwotICAgICAgICBzdGF0aWMgUmVmUHRyPFRocmVhZGFi
bGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCYsIFJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYsIFN0cmluZyYmIHJlZmVycmVyID0gU3RyaW5nKCkpOworICAgICAgICBzdGF0aWMgUmVmUHRy
PFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVGhyZWFk
YWJsZUxvYWRlckNsaWVudCYsIFJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBUaHJlYWRhYmxlTG9h
ZGVyT3B0aW9ucyYsIFN0cmluZyYmIHJlZmVycmVyID0gU3RyaW5nKCksIFN0cmluZyYmIHRhc2tN
b2RlID0geyB9KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUlzRG9uZSgpID0gMDsK
ICAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmNwcAppbmRleCA2MmY5MTdhMzY3ODE5ZGVjM2NkNDEwZDk3NjY5NWNlZTYyZjZkNGI5Li43YjZm
ODY5ZTljNGQ2ODNmMDE3Y2Y3ZWU0M2YwZmZjOTI3Y2IwYWI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuY3BwCkBAIC03MCw2ICs3MCw4IEBAIGlubGluZSBXb3JrZXI6OldvcmtlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lCiAgICAg
LCBtX2lkZW50aWZpZXIoIndvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6
OmNyZWF0ZUlkZW50aWZpZXIoKSkKICAgICAsIG1fY29udGV4dFByb3h5KFdvcmtlckdsb2JhbFNj
b3BlUHJveHk6OmNyZWF0ZSgqdGhpcykpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxh
Z3MpCisgICAgLCBtX3R5cGUob3B0aW9ucy50eXBlKQorICAgICwgbV9jcmVkZW50aWFscyhvcHRp
b25zLmNyZWRlbnRpYWxzKQogewogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAg
aWYgKCFhZGRlZExpc3RlbmVyKSB7CkBAIC0xMTMsMTAgKzExNSwxMyBAQCBFeGNlcHRpb25PcjxS
ZWY8V29ya2VyPj4gV29ya2VyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgSlNDOjpSdQogCiAgICAgRmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKICAgICBmZXRjaE9w
dGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsKKyAgICBpZiAod29y
a2VyLT5tX3R5cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlKQorICAgICAgICBmZXRjaE9wdGlvbnMu
Y3JlZGVudGlhbHMgPSB3b3JrZXItPm1fY3JlZGVudGlhbHM7CiAgICAgZmV0Y2hPcHRpb25zLmNh
Y2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKICAgICBmZXRjaE9wdGlvbnMucmVk
aXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAgICAgZmV0Y2hPcHRpb25z
LmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyOwotICAgIHdv
cmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3Zl
KHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVu
Zm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgd29ya2VyKTsKKyAgICB3b3JrZXIt
Pm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1
ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNl
bWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSwgV29ya2VyUnVuTG9v
cDo6ZGVmYXVsdE1vZGUoKSk7CisKICAgICByZXR1cm4gd29ya2VyOwogfQogCkBAIC0yMTUsNyAr
MjIwLDcgQEAgdm9pZCBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBSZWZlcnJlclBvbGlj
eSByZWZlcnJlclBvbGljeSA9IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKICAgICBpZiAo
YXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJl
clBvbGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCiAgICAgICAgIHJl
ZmVycmVyUG9saWN5ID0gKnBvbGljeTsKLSAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckds
b2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdl
bnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3Jp
cHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJl
ZmVycmVyUG9saWN5LCBtX3J1bnRpbWVGbGFncyk7CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRX
b3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+cmVzcG9uc2VVUkwoKSwgbV9uYW1lLCBj
b250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlVVJMKCkpLCBpc09ubGlu
ZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBt
X3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fdHlwZSwgbV9jcmVkZW50aWFs
cywgbV9ydW50aW1lRmxhZ3MpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0
SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2NyaXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0
TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCmluZGV4IDUzZjVl
NmZmZjI3YzlmYTNlNWMwZTAxZjBmNmM0MmM2Y2I2ZjlkMGUuLjM4YTYyM2E5OGRiYTM1ZmY4MDEz
Y2Q2ZmM4Yzg1YzgxMDIwNTAyMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaApAQCAtMjksOSAr
MjksMTEgQEAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5o
IgorI2luY2x1ZGUgIkZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiTWVzc2Fn
ZVBvcnQuaCIKICNpbmNsdWRlICJQb3N0TWVzc2FnZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3Jr
ZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25p
Y1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KQEAgLTU1LDYgKzU3LDggQEAgY2xh
c3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0LCBwcml2YXRlIFdvcmsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdvcmtlcik7
CiBwdWJsaWM6CiAgICAgc3RydWN0IE9wdGlvbnMgeworICAgICAgICBXb3JrZXJUeXBlIHR5cGU7
CisgICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwogICAgICAgICBT
dHJpbmcgbmFtZTsKICAgICB9OwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4g
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IE9wdGlvbnMmKTsKQEAgLTc5LDYgKzgzLDggQEAgY2xhc3MgV29y
a2VyIGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0
LCBwcml2YXRlIFdvcmsKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5j
dGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJik7CiAjZW5kaWYKIAorICAgIFdv
cmtlclR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorCiBwcml2YXRlOgogICAg
IGV4cGxpY2l0IFdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxh
Z3MsIGNvbnN0IE9wdGlvbnMmKTsKIApAQCAtMTEyLDYgKzExOCw4IEBAIGNsYXNzIFdvcmtlciBm
aW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJp
dmF0ZSBXb3JrCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fdHJh
bnNmb3JtZXJzOwogI2VuZGlmCisgICAgV29ya2VyVHlwZSBtX3R5cGUgeyBXb3JrZXJUeXBlOjpD
bGFzc2ljIH07CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFscyB7IEZl
dGNoUmVxdWVzdENyZWRlbnRpYWxzOjpTYW1lT3JpZ2luIH07CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKaW5kZXggNDVkNmEwODY3ODU0ZWU0
MDRkZTdlN2QwMTI0OGNlYmY0NGRjYTdlZC4uNzAyMTc5NmRmNTA0YWRmOGU2Yjk1ODlhY2U5ZjE0
NDgyMWYyOTVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbApAQCAtMzgsNiArMzgsOCBA
QAogfTsKIAogZGljdGlvbmFyeSBXb3JrZXJPcHRpb25zIHsKKyAgICBXb3JrZXJUeXBlIHR5cGUg
PSAiY2xhc3NpYyI7CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMgPSAi
c2FtZS1vcmlnaW4iOyAvLyBjcmVkZW50aWFscyBpcyBvbmx5IHVzZWQgaWYgdHlwZSBpcyAibW9k
dWxlIgogICAgIERPTVN0cmluZyBuYW1lID0gIiI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGRiYWIzNDhlODBjOWRlNTBiZDIxNTc3
N2ExNGEzOWEwZjcwZTQ5YzcuLjM3ZDJmY2Y5MmRhM2UzYTk5MzVkYzk5YTcxNWY1MWI2NjI3N2Ix
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBA
IC03NCw2ICs3NCw3IEBAIFdvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShXb3Jr
ZXJUaHJlYWRUeXBlIHR5cGUsIGNvbnN0IFdvcmtlclBhcmFtZXRlCiAgICAgLCBtX3BlcmZvcm1h
bmNlKFBlcmZvcm1hbmNlOjpjcmVhdGUodGhpcywgcGFyYW1zLnRpbWVPcmlnaW4pKQogICAgICwg
bV9yZWZlcnJlclBvbGljeShwYXJhbXMucmVmZXJyZXJQb2xpY3kpCiAgICAgLCBtX3NldHRpbmdz
VmFsdWVzKHBhcmFtcy5zZXR0aW5nc1ZhbHVlcykKKyAgICAsIG1fd29ya2VyVHlwZShwYXJhbXMu
d29ya2VyVHlwZSkKIHsKICNpZiAhRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgVU5VU0VE
X1BBUkFNKGNvbm5lY3Rpb25Qcm94eSk7CkBAIC0yNzQsNiArMjc1LDExIEBAIEV4Y2VwdGlvbk9y
PHZvaWQ+IFdvcmtlckdsb2JhbFNjb3BlOjppbXBvcnRTY3JpcHRzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiB1cmxzKQogewogICAgIEFTU0VSVChjb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CiAKKyAg
ICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93b3JrZXJzLmh0bWwj
aW1wb3J0aW5nLXNjcmlwdHMtYW5kLWxpYnJhcmllcworICAgIC8vIDEuIElmIHdvcmtlciBnbG9i
YWwgc2NvcGUncyB0eXBlIGlzICJtb2R1bGUiLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgICAgaWYgKG1fd29ya2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpNb2R1bGUpCisgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsICJpbXBvcnRTY3JpcHRzIGNhbm5vdCBiZSB1c2Vk
IGlmIHdvZXJrZXIgdHlwZSBpcyBcIm1vZHVsZVwiIl9zIH07CisKICAgICBWZWN0b3I8VVJMPiBj
b21wbGV0ZWRVUkxzOwogICAgIGNvbXBsZXRlZFVSTHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSh1
cmxzLnNpemUoKSk7CiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IHVybHMpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA0NmQ0OWQ5NGM1MjM4ZTQ2ODhk
Mzk1ZDg3YzIwNjNlYjU3MjBkMWJmLi4wZjFkYWJmZjA1YjU4OWEzNzFmZGY0MmUzYjNhYzEyODY1
ODc4MzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBA
IC0xNjMsOCArMTYzLDYgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxl
bWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+LCBwdWJsaWMgQmFzZTYKICAgICBtdXRhYmxlIFJl
ZlB0cjxXb3JrZXJMb2NhdGlvbj4gbV9sb2NhdGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxXb3Jr
ZXJOYXZpZ2F0b3I+IG1fbmF2aWdhdG9yOwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck9y
V29ya2xldFNjcmlwdENvbnRyb2xsZXI+IG1fc2NyaXB0OwotCiAgICAgYm9vbCBtX2lzT25saW5l
OwogICAgIGJvb2wgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7
CiAKQEAgLTE4Nyw2ICsxODUsNyBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBT
dXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNgogICAgIHN0ZDo6
dW5pcXVlX3B0cjxDU1NWYWx1ZVBvb2w+IG1fY3NzVmFsdWVQb29sOwogICAgIFJlZmVycmVyUG9s
aWN5IG1fcmVmZXJyZXJQb2xpY3k7CiAgICAgU2V0dGluZ3M6OlZhbHVlcyBtX3NldHRpbmdzVmFs
dWVzOworICAgIFdvcmtlclR5cGUgbV93b3JrZXJUeXBlOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZVByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJv
eHkuaAppbmRleCA0MDAwM2MzZTAxMDk5OTYwZjY0Nzg2MWU3MDE2ODdkMGUzNzFkNzJkLi5lZDY3
M2FjOGY3YzBlZTU0YzA2MGVjYjU5MjE2MzkwZWQ3MGZlMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNDgsNyArNDgsNyBAQCBj
bGFzcyBXb3JrZXJHbG9iYWxTY29wZVByb3h5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV29ya2Vy
R2xvYmFsU2NvcGVQcm94eSYgY3JlYXRlKFdvcmtlciYpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmlu
ZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJv
b2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xp
Y3ksIFdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFn
cykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3Nh
Z2VXaXRoTWVzc2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dv
cmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYm
KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
Y3BwCmluZGV4IDE5ZDRiZTY0OTkyZjMwZDNjY2U3NjU0N2EzZDIyMThhOThjODQyYzMuLjc4ODM1
ODdhN2FmNjIwOWUzZWNjOGU3YjQxYmFkNDdhZGY2MjI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC03Myw3ICs3Myw3IEBAIFdv
cmtlck1lc3NhZ2luZ1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8fCAo
aXM8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRvd25j
YXN0PFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQo
KS50aHJlYWQoKSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNz
YWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGlu
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1Rp
bWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGlt
ZUZsYWdzIHJ1bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVy
cmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVx
dWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxh
Z3MpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBz
dXBwb3J0IG5lc3RlZCB3b3JrZXIgb25lIGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpOwpAQCAtODksNyArODksNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpz
dGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAg
ICAgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlk
ZXIoKTsKIAotICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUs
IGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSB9
OworICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50
aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1l
T3JpZ2luLCByZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50
LnNldHRpbmdzVmFsdWVzKCkgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRo
cmVhZDo6Y3JlYXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3Rh
cnRNb2RlLCBkb2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50
aW1lRmxhZ3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGM1YjU3
NWI5ZTYxNWIzZjNmNTk2YmZjM2RmNjgzYzg3N2NjNjJiYWIuLmQ5ZTgxZTE1N2EwZjQ4NTJlNDli
NTlkMjU2NmE4YTgwZjVmODE4YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgV29ya2VyTWVzc2FnaW5n
UHJveHkgZmluYWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V29ya2VyTWVzc2FnaW5n
UHIKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3Bl
UHJveHkuCiAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9i
amVjdCB0aHJlYWQuKQotICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwm
IHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Ym9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBv
bGljeSwgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlh
bHMsIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckds
b2JhbFNjb3BlKCkgZmluYWw7CiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2Nv
cGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJikgZmluYWw7CiAgICAgdm9pZCBwb3N0VGFza1Rv
V29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+
JiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29y
a2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCAyMzg0YTVhOGM3ZDJhMzAyZWVlNWNiNDA1ZTEwNWUw
MjVjOTg0M2NjLi5mNGY0YjI3NDY2ZjlhMzBiMjhiOGIyMWY2ZjJiZWY4YmRlOTM4NTE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNj
b3BlLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
Ildvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgiCiAKKyNpbmNsdWRlICJTY3JpcHRNb2R1bGVM
b2FkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJFdmVudExvb3AuaCIKICNpbmNsdWRlICJXb3JrZXJJ
bnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29u
dHJvbGxlci5oIgpAQCAtMzksNiArNDAsNyBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwo
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOwogCiBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBSZWY8
SlNDOjpWTT4mJiB2bSwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiB0aHJlYWQpCiAgICAgOiBtX3Nj
cmlwdChtYWtlVW5pcXVlPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+KHR5cGUsIFdU
Rk1vdmUodm0pLCB0aGlzKSkKKyAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0
TW9kdWxlTG9hZGVyPigqdGhpcywgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGU6Oldvcmtl
ck9yV29ya2xldCkpCiAgICAgLCBtX3RocmVhZCh0aHJlYWQpCiAgICAgLCBtX2luc3BlY3RvckNv
bnRyb2xsZXIobWFrZVVuaXF1ZTxXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyPigqdGhpcykpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNj
b3BlLmgKaW5kZXggNmMyNDRhMGM0MjdlZTFjOGM2NWZkY2M3NjU5NTJmODc3ZmQ5YjE2Yi4uNTQ0
ZjA0N2FlYzI3ODMyNzQ0ZDBhOGE3MGFmN2U5MzljMzMwOTkyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAtMzIsNiAr
MzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFdmVudExvb3BUYXNrR3JvdXA7
CitjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXI7CiBjbGFzcyBXb3JrZXJFdmVudExvb3A7CiBjbGFz
cyBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlcjsKQEAgLTU0LDYgKzU1LDggQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KIAog
ICAgIHVuc2lnbmVkIGxvbmcgY3JlYXRlVW5pcXVlSWRlbnRpZmllcigpIHsgcmV0dXJuIG1fdW5p
cXVlSWRlbnRpZmllcisrOyB9CiAKKyAgICBTY3JpcHRNb2R1bGVMb2FkZXImIG1vZHVsZUxvYWRl
cigpIHsgcmV0dXJuICptX21vZHVsZUxvYWRlcjsgfQorCiAgICAgLy8gU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC4KICAgICBFdmVudExvb3BUYXNrR3JvdXAmIGV2ZW50TG9vcCgpIGZpbmFsOwogICAg
IGJvb2wgaXNDb250ZXh0VGhyZWFkKCkgY29uc3QgZmluYWw7CkBAIC04OCw2ICs5MSw3IEBAIGNs
YXNzIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsIHB1YmxpYyBSZWZDb3VuCiAgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwg
eyBkZXJlZigpOyB9CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlcj4gbV9zY3JpcHQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNjcmlwdE1vZHVsZUxv
YWRlcj4gbV9tb2R1bGVMb2FkZXI7CiAgICAgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiBtX3RocmVh
ZDsKICAgICBSZWZQdHI8V29ya2VyRXZlbnRMb29wPiBtX2V2ZW50TG9vcDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8RXZlbnRMb29wVGFza0dyb3VwPiBtX2RlZmF1bHRUYXNrR3JvdXA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyLmNwcAppbmRleCBjZDRlYzI0NjgyNTI1YWFiYzY0MmQ4NzdhMGRhMDExZWJkZTExNDMx
Li5mNzE1MjgxMWJjNDFhNTA3OTBjYTVjNTFjYWRjMjlhMzgzZjNlMGNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlci5jcHAKQEAgLTM1LDYgKzM1LDkgQEAKICNpbmNsdWRlICJKU0V4ZWNTdGF0ZS5oIgogI2lu
Y2x1ZGUgIkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJKU1NlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCisj
aW5jbHVkZSAiTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNo
UGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJX
ZWJDb3JlSlNDbGllbnREYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyQ29uc29sZUNsaWVudC5oIgpA
QCAtNDMsNyArNDYsMTIgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9FeGNlcHRpb24uaD4K
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9FeGNlcHRpb25IZWxwZXJzLmg+CiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvR0NBY3Rpdml0eUNhbGxiYWNrLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvSlNJbnRlcm5hbFByb21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0xv
Y2suaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU01vZHVsZVJlY29yZC5oPgorI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTTmF0aXZlU3RkRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9KU1NjcmlwdEZldGNoUGFyYW1ldGVycy5oPgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTU2NyaXB0RmV0Y2hlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9u
Z0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjI4LDYgKzIzNiwxNDUgQEAg
dm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZShjb25zdCBTY3Jp
cHRTb3VyY2VDb2RlJiBzb3VyY2VDb2QKICAgICB9CiB9CiAKK3N0YXRpYyBJZGVudGlmaWVyIGpz
VmFsdWVUb01vZHVsZUtleShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNW
YWx1ZSB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgcmV0dXJu
IElkZW50aWZpZXI6OmZyb21VaWQoanNDYXN0PFN5bWJvbCo+KHZhbHVlKS0+cHJpdmF0ZU5hbWUo
KSk7CisgICAgQVNTRVJUKHZhbHVlLmlzU3RyaW5nKCkpOworICAgIHJldHVybiBhc1N0cmluZyh2
YWx1ZSktPnRvSWRlbnRpZmllcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsKK30KKworSlNDOjpKU1Zh
bHVlIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlTW9kdWxlKEpTQzo6
SlNNb2R1bGVSZWNvcmQmIG1vZHVsZVJlY29yZCkKK3sKKyAgICBhdXRvJiBnbG9iYWxPYmplY3Qg
PSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0
LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAgIHJldHVybiBtb2R1bGVS
ZWNvcmQuZXZhbHVhdGUoJmdsb2JhbE9iamVjdCk7Cit9CisKK01lc3NhZ2VRdWV1ZVdhaXRSZXN1
bHQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9ub3Vz
bHkoTG9hZGFibGVNb2R1bGVTY3JpcHQmIG1vZHVsZVNjcmlwdCwgY29uc3QgU2NyaXB0U291cmNl
Q29kZSYgc291cmNlQ29kZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkKKyAg
ICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQ7CisKKyAgICBpbml0U2NyaXB0SWZO
ZWVkZWQoKTsKKworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBl
ci5nZXQoKTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xk
ZXIgbG9jayB7IHZtIH07CisKKyAgICBSZWZQdHI8TG9hZGFibGVNb2R1bGVTY3JpcHQ+IG1vZHVs
ZVNjcmlwdFJlZjsKKyAgICB7CisgICAgICAgIGF1dG8mIHByb21pc2UgPSBKU0V4ZWNTdGF0ZTo6
bG9hZE1vZHVsZShnbG9iYWxPYmplY3QsIHNvdXJjZUNvZGUuanNTb3VyY2VDb2RlKCksIEpTQzo6
SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHsgJm1vZHVsZVNjcmlwdCB9KSk7CisKKyAgICAg
ICAgbW9kdWxlU2NyaXB0UmVmID0gJm1vZHVsZVNjcmlwdDsKKworICAgICAgICBhdXRvJiBmdWxm
aWxsSGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmpl
Y3QsIDEsIFN0cmluZygpLCBbbW9kdWxlU2NyaXB0UmVmXShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgLT4gSlNDOjpFbmNvZGVkSlNWYWx1ZSB7Cisg
ICAgICAgICAgICAvLyBkYXRhTG9nTG4oIkZVTEZJTExFRCIpOworICAgICAgICAgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUodm0pOworICAgICAgICAgICAgSWRlbnRpZmllciBtb2R1bGVLZXkgPSBqc1Zh
bHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApKTsKKyAg
ICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICBt
b2R1bGVTY3JpcHRSZWYtPm5vdGlmeUxvYWRDb21wbGV0ZWQoKm1vZHVsZUtleS5pbXBsKCkpOwor
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAg
ICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0
aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbbW9kdWxlU2NyaXB0
UmVmXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkg
eworICAgICAgICAgICAgLy8gZGF0YUxvZ0xuKCJSRUpFQ1RFRCIpOworICAgICAgICAgICAgVk0m
IHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNWYWx1ZSBlcnJvclZhbHVl
ID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKKyAgICAgICAgICAgIGlmIChlcnJvclZhbHVlLmlz
T2JqZWN0KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvKiBvYmplY3QgPSBKU0M6OmFzT2JqZWN0
KGVycm9yVmFsdWUpOworICAgICAgICAgICAgICAgIGlmIChKU1ZhbHVlIGZhaWx1cmVLaW5kVmFs
dWUgPSBvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEmPigq
dm0uY2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFpbHVyZUtpbmRQcml2YXRlTmFtZSgpKSkg
eworICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGhvc3QgcHJvcGFnYXRlZCBlcnJvciBp
biB0aGUgbW9kdWxlIGxvYWRlciBwaXBlbGluZS4KKyAgICAgICAgICAgICAgICAgICAgc3dpdGNo
IChzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaEZhaWx1cmVLaW5kPihmYWlsdXJlS2luZFZhbHVlLmFz
SW50MzIoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kOjpXYXNFcnJvcmVkOgorICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlU2NyaXB0UmVm
LT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdURjo6bnVsbG9wdAorICAgICAgICAgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZDoKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG1vZHVsZVNjcmlwdFJlZi0+bm90aWZ5TG9hZFdhc0NhbmNlbGVk
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgbW9kdWxlU2Ny
aXB0UmVmLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAg
ICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAg
ICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZSB7CisgICAgICAgICAgICAg
ICAgICAgIE1lc3NhZ2VTb3VyY2U6OkpTLAorICAgICAgICAgICAgICAgICAgICBNZXNzYWdlTGV2
ZWw6OkVycm9yLAorICAgICAgICAgICAgICAgICAgICByZXRyaWV2ZUVycm9yTWVzc2FnZSgqZ2xv
YmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgc2NvcGUpLAorICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxPYmpl
Y3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRsZXIpOworICAgIH0KKyAgICBtX2dsb2Jh
bFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworCisgICAg
Ly8gRHJpdmUgUnVuTG9vcCB1bnRpbCB3ZSBnZXQgZWl0aGVyIG9mICJXb3JrZXIgaXMgdGVybWlu
YXRlZCIsICJMb2FkaW5nIGlzIGRvbmUiLCBvciAiTG9hZGluZyBpcyBmYWlsZWQiLgorICAgIFdv
cmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSBtX2dsb2JhbFNjb3BlLT53b3JrZXJPcldvcmtsZXRUaHJl
YWQoKS0+cnVuTG9vcCgpOworCisgICAgLy8gV2UgZG8gbm90IHdhbnQgdG8gcmVjZWl2ZSBtZXNz
YWdlcyB0aGF0IGFyZSBub3QgcmVsYXRlZCB0byBhc3luY2hyb25vdXMgcmVzb3VyY2UgbG9hZGlu
Zy4KKyAgICAvLyBPdGhlcndpc2UsIGEgd29ya2VyIGRpc2NhcmRzIHNvbWUgbWVzc2FnZXMgZnJv
bSB0aGUgbWFpbiB0aHJlYWQgaGVyZSBpbiBhIHJhY3kgd2F5LgorICAgIC8vIEZvciBleGFtcGxl
LCB0aGUgbWFpbiB0aHJlYWQgY2FuIHBvc3RNZXNzYWdlIGp1c3QgYWZ0ZXIgY3JlYXRpbmcgYSBX
b3JrZXIuIEluIHRoYXQgY2FzZSwgcG9zdE1lc3NhZ2UncworICAgIC8vIHRhc2sgaXMgcXVldWVk
IGluIFdvcmtlclJ1bkxvb3AgYmVmb3JlIHN0YXJ0IHJ1bm5pbmcgbW9kdWxlIHNjcmlwdHMuIFRo
aXMgdGFzayBzaG91bGQgbm90IGJlIGRpc2NhcmRlZAorICAgIC8vIGluIHRoZSBmb2xsb3dpbmcg
ZHJpdmluZyBvZiB0aGUgUnVuTG9vcCB3aGljaCBtYWlubHkgYXR0ZW1wdCB0byBjb2xsZWN0IGlu
aXRpYWwgbG9hZCBvZiBtb2R1bGUgc2NyaXB0cy4KKyAgICBTdHJpbmcgdGFza01vZGUgPSAibG9h
ZE1vZHVsZXNJbldvcmtlck9yV29ya2xldE1vZGUiX3M7CisgICAgTWVzc2FnZVF1ZXVlV2FpdFJl
c3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2ZWQ7CisgICAgd2hpbGUgKCgh
bW9kdWxlU2NyaXB0UmVmLT5pc0xvYWRlZCgpICYmICFtb2R1bGVTY3JpcHRSZWYtPndhc0NhbmNl
bGVkKCkpICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKSB7CisgICAgICAgIHJl
c3VsdCA9IHJ1bkxvb3AucnVuSW5Nb2RlKG1fZ2xvYmFsU2NvcGUsIHRhc2tNb2RlKTsKKyAgICAg
ICAgaWYgKHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKQorICAgICAgICAgICAgbV9n
bG9iYWxTY29wZS0+ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNrcG9pbnQoKTsKKyAg
ICB9CisKKyAgICAvLyBGSVhNRTogQ3VycmVudGx5IHdlIGFyZSBub3Qgb2ZmZXJpbmcgY2FuY2Vs
bGluZy4KKyAgICAvLyBpZiAoIWxvYWRlci0+ZG9uZSgpICYmIHJlc3VsdCA9PSBNZXNzYWdlUXVl
dWVUZXJtaW5hdGVkKQorICAgIC8vICAgICBsb2FkZXItPmNhbmNlbCgpOworCisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKwordm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsaW5r
QW5kRXZhbHVhdGVNb2R1bGUoTG9hZGFibGVNb2R1bGVTY3JpcHQmIG1vZHVsZVNjcmlwdCwgY29u
c3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlv
bk1lc3NhZ2UpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFsT2Jq
ZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIE5ha2VkUHRy
PEpTQzo6RXhjZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsKKyAgICBKU0V4ZWNTdGF0ZTo6bGlu
a0FuZEV2YWx1YXRlTW9kdWxlKGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwg
bW9kdWxlU2NyaXB0Lm1vZHVsZUtleSgpKSwganNVbmRlZmluZWQoKSwgcmV0dXJuZWRFeGNlcHRp
b24pOworICAgIGlmICgocmV0dXJuZWRFeGNlcHRpb24gJiYgaXNUZXJtaW5hdGVkRXhlY3V0aW9u
RXhjZXB0aW9uKHZtLCByZXR1cm5lZEV4Y2VwdGlvbikpIHx8IGlzVGVybWluYXRpbmdFeGVjdXRp
b24oKSkgeworICAgICAgICBmb3JiaWRFeGVjdXRpb24oKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbikgeworICAgICAgICBpZiAobV9nbG9iYWxT
Y29wZS0+Y2FuSW5jbHVkZUVycm9yRGV0YWlscyhzb3VyY2VDb2RlLmNhY2hlZFNjcmlwdCgpLCBz
b3VyY2VDb2RlLnVybCgpLnN0cmluZygpKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEl0J3Mg
bm90IGdyZWF0IHRoYXQgdGhpcyBjYW4gcnVuIGFyYml0cmFyeSBjb2RlIHRvIHN0cmluZy1pZnkg
dGhlIHZhbHVlIG9mIHRoZSBleGNlcHRpb24uCisgICAgICAgICAgICAvLyBEbyB3ZSBuZWVkIHRv
IGRvIGFueXRoaW5nIHRvIGhhbmRsZSB0aGF0IHByb3Blcmx5LCBpZiBpdCwgc2F5LCByYWlzZXMg
YW5vdGhlciBleGNlcHRpb24/CisgICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb25NZXNz
YWdlKQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSByZXR1cm5l
ZEV4Y2VwdGlvbi0+dmFsdWUoKS50b1dURlN0cmluZygmZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIC8vIE92ZXJ3cml0ZSB0aGUgZGV0YWlsZWQgZXJyb3Igd2l0
aCBhIGdlbmVyaWMgZXJyb3IuCisgICAgICAgICAgICBTdHJpbmcgZ2VuZXJpY0Vycm9yTWVzc2Fn
ZSB7ICJTY3JpcHQgZXJyb3IuIl9zIH07CisgICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRp
b25NZXNzYWdlKQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBn
ZW5lcmljRXJyb3JNZXNzYWdlOworICAgICAgICAgICAgcmV0dXJuZWRFeGNlcHRpb24gPSBKU0M6
OkV4Y2VwdGlvbjo6Y3JlYXRlKHZtLCBjcmVhdGVFcnJvcigmZ2xvYmFsT2JqZWN0LCBnZW5lcmlj
RXJyb3JNZXNzYWdlKSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1l
IEpTR2xvYmFsU2NvcGVQcm90b3R5cGUsIHR5cGVuYW1lIEpTR2xvYmFsU2NvcGUsIHR5cGVuYW1l
IEdsb2JhbFNjb3BlPgogdm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjppbml0
U2NyaXB0V2l0aFN1YmNsYXNzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggYzQ5MzAxYWVkM2Rk
MDg5ZGE3OTczMjc2MGNhZjJmN2I2NGRiMTFiNi4uYzM2ZDE5ZjA5OGY1OTllNTVlYTAzODY0YjJk
ZTg4M2VmNTQ2ZGM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9KU1J1bkxvb3BUaW1lci5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KKyNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVl
Lmg+CiAjaW5jbHVkZSA8d3RmL05ha2VkUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDQs
NiArNDUsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBMb2FkYWJsZU1vZHVsZVNjcmlwdDsKIGNs
YXNzIFNjcmlwdFNvdXJjZUNvZGU7CiBjbGFzcyBXb3JrZXJDb25zb2xlQ2xpZW50OwogY2xhc3Mg
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU7CkBAIC05NCw2ICs5NiwxMSBAQCBjbGFzcyBXb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyIHsKICAgICB2b2lkIGV2YWx1YXRlKGNvbnN0IFNj
cmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxw
dHIpOwogICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIE5ha2VkUHRy
PEpTQzo6RXhjZXB0aW9uPiYgcmV0dXJuZWRFeGNlcHRpb24sIFN0cmluZyogcmV0dXJuZWRFeGNl
cHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAKKyAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGVNb2R1
bGUoSlNDOjpKU01vZHVsZVJlY29yZCYpOworCisgICAgdm9pZCBsaW5rQW5kRXZhbHVhdGVNb2R1
bGUoTG9hZGFibGVNb2R1bGVTY3JpcHQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgU3RyaW5n
KiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKKyAgICBNZXNzYWdlUXVldWVX
YWl0UmVzdWx0IGxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KExvYWRhYmxlTW9kdWxlU2NyaXB0Jiwg
Y29uc3QgU2NyaXB0U291cmNlQ29kZSYpOworCiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGUqIGdsb2JhbFNjb3BlKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxTY29w
ZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAK
aW5kZXggM2E0ZGFlZmMzOTAyYmRiMmVhODRmYzU4ZDdlNDJmODNlNWYwN2UyZi4uNDAyZmRmMjZk
OWY2MzM5MmU0NDM5YmE2MDFkNjU3Zjc2N2Q3MDYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIE9wdGlvbmFs
PEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRF
eGVjdXRpb25Db250ZXh0CiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotdm9pZCBXb3Jr
ZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0
LCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01v
ZGUgc2VydmljZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50KQor
dm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3Jp
cHRSZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNl
V29ya2Vyc01vZGUgc2VydmljZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYg
Y2xpZW50LCBTdHJpbmcmJiB0YXNrTW9kZSkKIHsKICAgICBtX2NsaWVudCA9ICZjbGllbnQ7CiAg
ICAgbV91cmwgPSBzY3JpcHRSZXF1ZXN0LnVybCgpOwpAQCAtMTQzLDcgKzE0Myw3IEBAIHZvaWQg
V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgc2NyaXB0RXhlY3V0CiAKICAgICAvLyBEdXJpbmcgY3JlYXRlLCBjYWxsYmFja3MgbWF5
IGhhcHBlbiB3aGljaCByZW1vdmUgdGhlIGxhc3QgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0Lgog
ICAgIFJlZjxXb3JrZXJTY3JpcHRMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwotICAgIG1f
dGhyZWFkYWJsZUxvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRp
b25Db250ZXh0LCAqdGhpcywgV1RGTW92ZSgqcmVxdWVzdCksIG9wdGlvbnMpOworICAgIG1fdGhy
ZWFkYWJsZUxvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCAqdGhpcywgV1RGTW92ZSgqcmVxdWVzdCksIG9wdGlvbnMsIHsgfSwgV1RGTW92ZSh0
YXNrTW9kZSkpOwogfQogCiBjb25zdCBVUkwmIFdvcmtlclNjcmlwdExvYWRlcjo6cmVzcG9uc2VV
UkwoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3Jp
cHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgK
aW5kZXggN2ZkZDBiM2Y2YTAxYzJkYjU3NzI0YTkwYjNiYjk4NDBmMWU2OGU1Zi4uMGJhZGRiZmEw
NTg1OTRjNjMxY2IwZGExM2ZhNDJmYzYxNmZlZDg0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCkBAIC01OCw3ICs1OCw3IEBAIGNsYXNzIFdvcmtlclNj
cmlwdExvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj4sIHB1Ymxp
YyBUaHJlYWRhCiAgICAgfQogCiAgICAgT3B0aW9uYWw8RXhjZXB0aW9uPiBsb2FkU3luY2hyb25v
dXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgVVJMJiwgRmV0Y2hPcHRpb25zOjpN
b2RlLCBGZXRjaE9wdGlvbnM6OkNhY2hlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVu
dCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3JJZGVudGlmaWVyKTsKLSAgICB2b2lkIGxvYWRBc3lu
Y2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZl
dGNoT3B0aW9ucyYmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdv
cmtlcnNNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmKTsKKyAgICB2b2lkIGxvYWRBc3lu
Y2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZl
dGNoT3B0aW9ucyYmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdv
cmtlcnNNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmLCBTdHJpbmcmJiB0YXNrTW9kZSk7
CiAKICAgICB2b2lkIG5vdGlmeUVycm9yKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMyMjYxOWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1Nzgz
Li4zZTk2OGI1NmJhNjFjNjJjNGJjYjQxMTVlZGFmYjA1NDc4NjRjZGIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0yOCwxMCArMjgsMTIgQEAKICNpbmNsdWRl
ICJXb3JrZXJUaHJlYWQuaCIKIAogI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Qcm94eS5oIgorI2lu
Y2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29k
ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU29ja2V0UHJvdmlk
ZXIuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTUsNiArNTcsOCBAQCBXb3JrZXJQYXJhbWV0ZXJzIFdv
cmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgICAgIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgdGltZU9yaWdpbiwKICAg
ICAgICAgcmVmZXJyZXJQb2xpY3ksCisgICAgICAgIHdvcmtlclR5cGUsCisgICAgICAgIGNyZWRl
bnRpYWxzLAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKQogICAgIH07CiB9
CkBAIC0xMjMsOSArMTI3LDMzIEBAIGJvb2wgV29ya2VyVGhyZWFkOjpzaG91bGRXYWl0Rm9yV2Vi
SW5zcGVjdG9yT25TdGFydHVwKCkgY29uc3QKIAogdm9pZCBXb3JrZXJUaHJlYWQ6OmV2YWx1YXRl
U2NyaXB0SWZOZWNlc3NhcnkoU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKQogewotICAgIGdsb2Jh
bFNjb3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERh
dGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZl
eGNlcHRpb25NZXNzYWdlKTsKLQotICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAg
IC8vIFdlIGFyZSBjdXJyZW50bHkgaG9sZGluZyBvbmx5IHRoZSBpbml0aWFsIHNjcmlwdCBjb2Rl
LiBJZiB0aGUgV29ya2VyVHlwZSBpcyBNb2R1bGUsIHdlIHNob3VsZCBmZXRjaCB0aGUgZW50aXJl
IGdyYXBoIGJlZm9yZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2YgdGhpcy4KKyAgICAvLyBXZSBpbnZv
a2UgbW9kdWxlIGxvYWRlciBhcyBpZiB3ZSBhcmUgZXhlY3V0aW5nIGlubGluZSBtb2R1bGUgc2Ny
aXB0IHRhZyBpbiBEb2N1bWVudC4KKworICAgIGlmIChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMud29y
a2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpDbGFzc2ljKSB7CisgICAgICAgIGdsb2JhbFNjb3BlKCkt
PnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJj
ZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25N
ZXNzYWdlKTsKKyAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgLy8gRklYTUUgY3Jvc3NPcmlnaW4gbW9kZSBzaG91bGQgYmUgY29udmVydGVk
LgorICAgICAgICAvLyBGSVhNRSBmaXggaW5pdGlhdG9yIG5hbWUuCisgICAgICAgIC8vIEZJWE1F
IHBhc3MgVVJMIHRvIG1vZHVsZSBsb2FkZXIuCisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgc291
cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFy
YW1zLnNjcmlwdFVSTCksIHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVs
ZSk7CisgICAgICAgIGF1dG8gbW9kdWxlU2NyaXB0ID0gTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmNy
ZWF0ZShlbXB0eVN0cmluZygpLCBlbXB0eVN0cmluZygpLCBtX3N0YXJ0dXBEYXRhLT5wYXJhbXMu
cmVmZXJyZXJQb2xpY3ksIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyOjpkZWZhdWx0
Q3Jvc3NPcmlnaW5Nb2RlRm9yTW9kdWxlLCBlbXB0eVN0cmluZygpLCBlbXB0eUF0b20oKSwgZmFs
c2UpOworICAgICAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IGdsb2JhbFNjb3Bl
KCktPnNjcmlwdCgpLT5sb2FkTW9kdWxlU3luY2hyb25vdXNseShtb2R1bGVTY3JpcHQuZ2V0KCks
IHNvdXJjZUNvZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0
ZWQpIHsKKyAgICAgICAgICAgIGlmIChPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6RXJyb3I+IGVy
cm9yID0gbW9kdWxlU2NyaXB0LT5lcnJvcigpKSB7CisgICAgICAgICAgICAgICAgaWYgKE9wdGlv
bmFsPExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZT4gbWVzc2FnZSA9IGVycm9yLT5jb25z
b2xlTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IG1lc3Nh
Z2UtPm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBl
eGNlcHRpb25NZXNzYWdlID0gIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfczsK
KyAgICAgICAgICAgICAgICBnbG9iYWxTY29wZSgpLT5yZXBvcnRFeGNlcHRpb24oZXhjZXB0aW9u
TWVzc2FnZSwgeyB9LCB7IH0sIHsgfSwgeyB9LCB7IH0pOworICAgICAgICAgICAgfSBlbHNlIGlm
ICghbW9kdWxlU2NyaXB0LT53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gRXZh
bHVhdGUuCisgICAgICAgICAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmxpbmtBbmRF
dmFsdWF0ZU1vZHVsZShtb2R1bGVTY3JpcHQuZ2V0KCksIHNvdXJjZUNvZGUsICZleGNlcHRpb25N
ZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIAogICAgIC8vIEZyZWUgdGhlIHN0YXJ0dXAg
ZGF0YSB0byBjYXVzZSBpdHMgbWVtYmVyIHZhcmlhYmxlIGRlcmVmJ3MgaGFwcGVuIG9uIHRoZSB3
b3JrZXIncyB0aHJlYWQgKHNpbmNlCiAgICAgLy8gYWxsIHJlZi9kZXJlZnMgb2YgdGhlc2Ugb2Jq
ZWN0cyBhcmUgaGFwcGVuaW5nIG9uIHRoZSB0aHJlYWQgYXQgdGhpcyBwb2ludCkuIE5vdGUgdGhh
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggODg5MDc5MDhlN2E5Yjgw
OWU4ZjJhNGU0NzNkNzUyZDExZDI5MzdjMC4uOTUxMmVmZGIxOGYzMmE1MGVjYjdmYjU2OTU5ZDYx
ZTg4NzJmYTFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0yNiw3
ICsyNiwxMCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5o
IgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFRocmVhZC5oIgorI2luY2x1ZGUgIldvcmtlclJ1
bkxvb3AuaCIKKyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9VUkwu
aD4KQEAgLTYzLDYgKzY2LDggQEAgc3RydWN0IFdvcmtlclBhcmFtZXRlcnMgewogICAgIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogICAgIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbjsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeTsKKyAg
ICBXb3JrZXJUeXBlIHdvcmtlclR5cGU7CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3Jl
ZGVudGlhbHM7CiAgICAgU2V0dGluZ3M6OlZhbHVlcyBzZXR0aW5nc1ZhbHVlczsKIAogICAgIFdv
cmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVHlwZS5oCmluZGV4IDBiMGVkODYwZDljNzE0MjM4YTJhNWJiOWZkZjQzODQwMmQxNmViZjAu
LjFjMWJiOTQ0ODY3YWRmNGVkNTc4YTI4MTRmYTMzMjMyNmFlZDhhNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVHlwZS5oCkBAIC0yNyw3ICsyNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotZW51bSBjbGFzcyBXb3JrZXJUeXBlIHsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVp
bnQ4X3QgewogICAgIENsYXNzaWMsCiAgICAgTW9kdWxlLAogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCmluZGV4
IGViYmU5NWU4OTI0YzhmMWQ3Mzc1MjVkZWExNjMwYjFmYWQ1NmZiMjcuLjRjN2RkZjRhNGMxMzFl
MGRjZDZiYTA5NTA5YWIyZDk3NTc1ZjMwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApAQCAtNDcsNyArNDcs
NyBAQCBjbGFzcyBOYXZpZ2F0b3JCYXNlOwogY2xhc3MgU2VydmljZVdvcmtlcjsKIAogZW51bSBj
bGFzcyBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgOiB1aW50OF90OwotZW51bSBjbGFzcyBX
b3JrZXJUeXBlOworZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogdWludDhfdDsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZVByb3h5OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKaW5kZXggZWMz
OWMwZjg0OWE1NGUxYjZkMGJlZTM0YThkN2QxOWNiYTQ1ZTI4OC4uYTRhMTcwMDc5MWY3ODU0MzE4
M2I2MzM2ZjBjNTk1MjBlMThmN2EwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQg
U2VydmljZVdvcmtlckpvYjo6ZmV0Y2hTY3JpcHRXaXRoQ29udGV4dChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBGCiAgICAgb3B0aW9ucy5jYWNoZSA9IGNhY2hlUG9saWN5OwogICAg
IG9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpFcnJvcjsKICAgICBv
cHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2VydmljZXdv
cmtlcjsKLSAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdU
Rk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucyksIENvbnRlbnRTZWN1cml0eVBvbGljeUVu
Zm9yY2VtZW50OjpEb05vdEVuZm9yY2UsIFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSwgKnRoaXMp
OworICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92
ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQ6OkRvTm90RW5mb3JjZSwgU2VydmljZVdvcmtlcnNNb2RlOjpOb25lLCAqdGhpcywgV29y
a2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CiB9CiAKIFJlc291cmNlRXJyb3IgU2VydmljZVdv
cmtlckpvYjo6dmFsaWRhdGVTZXJ2aWNlV29ya2VyUmVzcG9uc2UoY29uc3QgU2VydmljZVdvcmtl
ckpvYkRhdGEmIGpvYkRhdGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25PcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaAppbmRleCA5ZDUwMGY4NWFjYjE4ODQxY2M1NWJl
YTgyMTFkYjE0ZmFkYzk3NDc1Li4yZTM1NTdmYTdkZjY3ZjFiZjk4YzdiN2E1ZGU0YjBhNWE3YmNj
Y2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaApAQCAtMzIsNyArMzIsNyBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVW
aWFDYWNoZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVtIGNsYXNzIFdv
cmtlclR5cGUgOiB1aW50OF90OwogCiBzdHJ1Y3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9w
dGlvbnMgewogICAgIFN0cmluZyBzY29wZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKaW5k
ZXggYzhhN2E5OTcyZjljYzhjMTZhNzk2NzUxMTU1MmY1NDkzYTY4NmY5OC4uMzNjYTBlYzIzYjU4
YTU1MTE4NzY4NDZiYTA3MTgzNTMyYjVjNDdkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5j
cHAKQEAgLTczLDggKzczLDkgQEAgY2xhc3MgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkg
OiBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHkgewogLy8gRklYTUU6IFVzZSBhIHZhbGlkIFdvcmtl
ck9iamVjdFByb3h5CiAvLyBGSVhNRTogVXNlIHZhbGlkIHJ1bnRpbWUgZmxhZ3MKIAorLy8gRklY
TUU6IFVzZSBhIHZhbGlkIFdvcmtlclR5cGUgYW5kIENyZWRlbnRhaWxzIGZvciBtb2R1bGUgc2Vy
dmljZSB3b3JrZXJzLgogU2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZChj
b25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIFN0cmluZyYmIHVzZXJBZ2VudCwg
Y29uc3QgU2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMsIFdvcmtlckxvYWRlclByb3h5
JiBsb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94eSwgSURCQ2xp
ZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlk
ZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKHsgZGF0YS5zY3JpcHRVUkws
IGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJz
RmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRmb3Jt
U3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLmNvbnRlbnRT
ZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6Om5vdygpLCB7IH0sIHNldHRpbmdz
VmFsdWVzIH0sIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlT
ZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6
Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2lu
KCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGlt
ZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpCisgICAgOiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNj
cmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRl
bnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwg
cGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEu
Y29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwg
V29ya2VyVHlwZTo6Q2xhc3NpYywgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4s
IHNldHRpbmdzVmFsdWVzIH0sIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94
eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRT
dGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdpbigpLnNlY3Vy
aXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpT
Qzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpCiAgICAgLCBtX2RhdGEoZGF0YS5p
c29sYXRlZENvcHkoKSkKICAgICAsIG1fd29ya2VyT2JqZWN0UHJveHkoRHVtbXlTZXJ2aWNlV29y
a2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpKQogICAgICwgbV9oZWFydEJlYXRUaW1lb3V0KFNXQ29u
dGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rpb24oKS0+c2hvdWxkVXNlU2hvcnRUaW1l
b3V0KCkgPyBoZWFydEJlYXRUaW1lb3V0Rm9yVGVzdCA6IGhlYXJ0QmVhdFRpbWVvdXQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29y
a2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29y
a2VyLmgKaW5kZXggMmRkZGIzYjViNDFlZDg3YmQ2MTRhMGI5NGQwOWI3NjEyOTNkNzYwNy4uMzc4
ZmJhNjU3ZThiYmY0ODQxZTU2Y2JmODY1NjFmOGVjYzMxMTAyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaApAQCAt
NTAsNyArNTAsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI7CiBzdHJ1
Y3QgU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9uczsKIHN0cnVjdCBTZXJ2aWNlV29ya2Vy
Q29udGV4dERhdGE7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyOwotZW51
bSBjbGFzcyBXb3JrZXJUeXBlOworZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogdWludDhfdDsKIAog
Y2xhc3MgU1dTZXJ2ZXJXb3JrZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxTV1NlcnZlcldvcmtlcj4g
ewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEds
b2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29w
ZS5jcHAKaW5kZXggZDcwNDg4NjY0OGMwZWZhYTZiNzgwODRjNTM4NzIwMWNhMmIxYzU0My4uMzZj
ZjY2ODAyOWU3MTE2OWQwNzMyMjA4M2UyNTY4ZTllNzUyMWY5YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0xODgsNyArMTg4LDcgQEAg
dm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OnByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRl
ZCgpCiAgICAgYXV0byBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9s
aWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50OjpFbmZvcmNlQ2hpbGRTcmNEaXJlY3RpdmU7CiAKICAgICBtX3NjcmlwdExvYWRlciA9
IFdvcmtlclNjcmlwdExvYWRlcjo6Y3JlYXRlKCk7Ci0gICAgbV9zY3JpcHRMb2FkZXItPmxvYWRB
c3luY2hyb25vdXNseSgqdGhpcywgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlv
bnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2Rl
OjpBbGwsICp0aGlzKTsKKyAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCp0
aGlzLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1
cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMsIFdv
cmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOwogfQogCiB2b2lkIFdvcmtsZXRHbG9iYWxTY29w
ZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZDMwZTU2MjkyMmU1YTRkNmYz
MTYyNjVlMWVhMjU2OGU5OWU3ZTgxYy4uNmFlY2I4ZTY1NjAzN2MxYjEyM2IyOWQ5NjhlN2E5NDJl
MzVhYmJmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAK
KzIwMjEtMDItMTAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAg
ICBKUyBNb2R1bGVzIGluIFdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2NDg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRlbnRhdGl2
ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3Mv
Y2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFz
ZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Ro
cm93LXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVh
dGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9h
bHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29y
a2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9i
YXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXdvcmtlci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJm
YWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9i
YWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9u
cy10eXBlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1l
eHBlY3RlZC50eHQ6CisKIDIwMjEtMDItMTAgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdv
QGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG1vZGlmaWVyIGtleXMgaW4g
dGVzdF9kcml2ZXIuc2VuZF9rZXlzKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1
bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNDky
NjliM2I1MGI5MTc1Y2I2MmVjYTMxMmU1ODZiM2IxNjYyYTI1OS4uMmNhZTVmN2UzNWEzMmZlY2Vi
MjY4ZjI5MDAwMGU0ZTU1NTZjNjg2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1t
b2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEs
NyArMSw3IEBACiAKLUZBSUwgTm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0
aGUgbW9kdWxlICcuL251bGwuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiB0cnVlIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3Vs
ZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vdHJ1ZS5qc29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6
IGZhbHNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZmFsc2UuanNvbicuIgot
RkFJTCBOb24tb2JqZWN0OiBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAn
Li9zdHJpbmcuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBhcnJheSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGlt
cG9ydCB0aGUgbW9kdWxlICcuL2FycmF5Lmpzb24nLiIKK0ZBSUwgTm9uLW9iamVjdDogbnVsbCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUg
dHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHRydWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBm
YWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0
IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlv
bi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1v
YmplY3Q6IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEph
dmFTY3JpcHQgTUlNRSB0eXBlLiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3Bl
LW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVy
cm9yLW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRk
MjJlNGMxZGNiM2E1Zi4uZTNlOTc3YjNkNGM1YTRmNDVlNmQwOGNkMzI4NDYyM2Q1N2Y3MTY0MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9j
aGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2No
ZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQu
dHh0CkBAIC0xLDQgKzEsNiBAQAogCiBIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKIAorRkFJTCBQcm9taXNlIHJlc29sdmVkIGR1cmluZyAjcmVwb3J0LXRoZS1lcnJvciBh
c3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJoYW5k
bGVyIDEiLCAiaGFuZGxlciAyIiwgImhhbmRsZXIgMSBwcm9taXNlIiwgImhhbmRsZXIgMiBwcm9t
aXNlIl0gbGVuZ3RoIDQsIGdvdCBbXSBsZW5ndGggMAorTk9UUlVOIFByb21pc2UgcmVzb2x2ZWQg
ZHVyaW5nIGV2ZW50IGhhbmRsZXJzIG90aGVyIHRoYW4gZXJyb3IKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhh
L2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVy
bC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQKaW5kZXggNTFkNjEwMGU2MTIyYTk3
YzM2NGIzY2ViMWQ3ZmQwN2UwZTE1NjExNy4uYTgwNTBjMDc4Y2Y4Yjg4ZDU2OGFmZmUwZDU1Y2Mz
MTkwYzM2NTQ3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFJlbGF0aXZlIFVSTC1saWtlIGZyb20g
c2FtZS1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1
bGUgJy4vaW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwq
KSZsYWJlbD1yZWxhdGl2ZS1jcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpJy4iCi1GQUlMIEFi
c29sdXRlIFVSTC1saWtlIGZyb20gc2FtZS1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3Vs
ZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0
L2dhbW1hL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4s
KikmbGFiZWw9YWJzb2x1dGUtY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgotUEFTUyBS
ZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKLUZBSUwg
QWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBD
b3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3Nl
bWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1w
b3J0L2dhbW1hL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1Pcmln
aW4sKikmbGFiZWw9YWJzb2x1dGUtY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgorUEFT
UyBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQorUEFT
UyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQorRkFJ
TCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkgYXNz
ZXJ0X2VxdWFsczogUmVsYXRpdmUgVVJMLWxpa2Ugc3BlY2lmaWVyIHJlc29sdXRpb24gc2hvdWxk
IGZhaWwgZXhwZWN0ZWQgIih1bnJlYWNoZWQpIiBidXQgZ290ICJnYW1tYS9pbXBvcnQuanMiCitQ
QVNTIEFic29sdXRlIFVSTC1saWtlIGZyb20gY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHlu
YW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEv
YmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQKaW5kZXggODY2ZWJiMjI3YWQyNmFhY2Ux
YTU3OGJhZWE2YTgxZGMwZTZlNzdmMC4uNWU3MDYzNDkwZTJkZmZlY2U4NWVhNzY1YWViZGRlNGIx
NmViMGZjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWlt
cG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQg
QEAKIAotRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVy
cm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vaW1wb3J0LmpzP3BpcGU9aGVhZGVy
KEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1yZWxhdGl2ZS13b3JrZXIgdG9w
LWxldmVsIHNjcmlwdCcuIgotRkFJTCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3At
bGV2ZWwgc2NyaXB0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJ2h0dHA6Ly8xMjcu
MC4wLjE6ODgwMC9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2R5bmFtaWMtaW1wb3J0L2dhbW1hL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9YWJzb2x1dGUtd29ya2VyIHRvcC1sZXZlbCBz
Y3JpcHQnLiIKK1BBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNj
cmlwdAorUEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9l
dmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93
LXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJl
NGMxZGNiM2E1Zi4uMmYxMmEyMzQyZmFkMjI0ZTNhMThhNmZiNWQ4NDgzMjVlYTY3NzZmZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRp
b24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdv
cmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAotCitQQVNTIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1
bGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVj
dGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi5i
ODYxZjcwMWY5NDhmYjEzMjc2OTMyMmMzODM2NmYyZDEzOGYwNGUyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdv
cmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
MyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBU
ZXN0IGV2YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5n
dGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJnbG9i
YWwtZXJyb3IiLCAiZXJyb3IiLCAibWljcm90YXNrIl0gbGVuZ3RoIDUsIGdvdCBbInN0ZXAtMS0x
IiwgInN0ZXAtMS0yIiwgIm1pY3JvdGFzayJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1w
b3J0LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLmMxZDM4YmRlNTBj
NTllNWQ1OTQxNzNkOTZmOWNkMTllYjEwN2M5YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZB
SUwgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMgYXNzZXJ0X2FycmF5X2VxdWFsczog
bGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsic3RlcC0yLjItMSIsICJzdGVwLTIuMi0y
IiwgImdsb2JhbC1lcnJvciIsICJlcnJvciIsICJtaWNyb3Rhc2stMi4yIl0gbGVuZ3RoIDUsIGdv
dCBbInN0ZXAtMi4yLTEiLCAic3RlcC0yLjItMiIsICJtaWNyb3Rhc2stMi4yIl0gbGVuZ3RoIDMK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2
YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGlu
Zy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMt
d29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0
YzFkY2IzYTVmLi4yZjEyYTIzNDJmYWQyMjRlM2ExOGE2ZmI1ZDg0ODMyNWVhNjc3NmZlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlv
bi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29y
a2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9V
VCksIG1lc3NhZ2UgPSBudWxsCi0KK1BBU1MgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVs
ZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVsZXdvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAppbmRl
eCBkZDlhZjM4ZmYwOWZiZWMxZmFjMGI4ZjVlYTliYWQ2ZTMxNjM2NDlkLi41MWViMzY2MzhjMWNh
N2QwNjBiNzY3NTkyNmZjYzcwYzViZjA3NmU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQt
aW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9k
dWxld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTog
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAncicuIGltcG9ydCBjYWxsIGV4cGVj
dHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKLUZBSUwgQmFzZSBVUkwgaW4gbW9kdWxlIGRlZGlj
YXRlZCB3b3JrZXJzOiBpbXBvcnQgYXNzZXJ0X3VucmVhY2hlZDogR290IGVycm9yIGV2ZW50IFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVk
IHdvcmtlcnM6IGltcG9ydAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWlu
LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXdvcmtlci1l
eHBlY3RlZC50eHQKaW5kZXggYWI1YTdmYjg5MDIwZjI5ZmQ4OTNhNzU2ODBmZmUxN2QzZDM1MGY3
Yy4uYWI1M2I4MDU5OWFlMDE5NTc4MDg1ZWU0NGFhZWZhNGM3OTU1MjY4NCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1
cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2Fs
cGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBpbXBvcnRTY3JpcHRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYS9zY3Jp
cHQuanMiIGJ1dCBnb3QgImJldGEvc2NyaXB0LmpzIgorUEFTUyBpbXBvcnRTY3JpcHRzCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwv
YWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODNmMzY3ZjJjZjNh
NjZjNjRhNjI2NDI5NDY1NmQ1ZTg4MWQxYzExYy4uMjhiMGNiNDAwMTM5MmQwODg3YTRmZWJlNjgx
YzFlMTUxZDBkZjE4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50
eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQmFzZSBVUkwgaW4gbW9kdWxlIGRlZGljYXRlZCB3
b3JrZXJzOiBYSFIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hXG4iIGJ1dCBnb3QgImJl
dGFcbiIKK1BBU1MgQmFzZSBVUkwgaW4gbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzOiBYSFIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBo
YS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBkNmIwOGVlZGFlNmY2OTZjN2E0YmZh
NjU1ZTEzYjVlZDQ2MDdlYTAxLi5lYTE0NTRkOWIzZjIwZjg1ZDkwMTZjNTA2YTE1NDZhZjYxNzg0
MmQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFz
ZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCB4aHItd29ya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYVxuIiBidXQgZ290
ICJiZXRhXG4iCitQQVNTIHhoci13b3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xv
YmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xv
YmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4IGYxNzQxZjlkOGJm
MDcwMzI3MGQyZTM3NjJkYmNiZTI2YzBiOTAwNTkuLjNiMGRmYjM1ZTUxY2QxYTg1NDU1MzAxOWMw
ZTQwM2RiZTJmMWQzM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0
aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9s
b2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgV29y
a2VyTG9jYXRpb24gd2l0aCByZWRpcmVjdHM6IGNsYXNzaWMgZGVkaWNhdGVkIHdvcmtlcnMgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVy
ZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcG9zdC1sb2NhdGlvbi1tZW1iZXJzLmpz
P2EiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29y
a2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5P2ZhaWwiCitQQVNTIFdv
cmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBjbGFzc2ljIGRlZGljYXRlZCB3b3JrZXJzCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1v
ZHVsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRp
cmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0CmluZGV4IGRjMmUyZTIwN2RiMDAxZWU3MGU3MzMwN2Qy
N2JiMzM1NzIwZmQ1NTkuLmIzYmY4MWVlODY4MWI5ZGMwODBmNTgwMjcxZThiOGYzOTA5NjU0OTUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1v
ZHVsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24v
cmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBXb3Jr
ZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Bvc3QtbG9jYXRpb24tbWVtYmVycy5qcz9h
IiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtl
ckdsb2JhbFNjb3BlL2xvY2F0aW9uL2hlbHBlci1yZWRpcmVjdC5weT9mYWlsIgorUEFTUyBXb3Jr
ZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQu
dHh0CmluZGV4IDIwYWMxN2Q1NjNjNGIzYTQ2MWYwY2FhZmJlYWVlYmQ3MTNmOTcwODEuLmRjY2Vk
Y2NkMzY4ZTFmZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwxOCAr
MSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBs
aXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9z
dGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmlu
ZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNl
cy9uZXN0ZWQtc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxl
cy9yZXNvdXJjZXMvc3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWltcG9ydC13b3JrZXIu
anMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBN
RVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtd29y
a2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNP
TEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1keW5hbWlj
LWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3Vt
ZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0
ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHlu
YW1pYy1pbXBvcnQtYW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dv
cmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXZhbC1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBp
bXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1IYXJuZXNzIEVycm9y
IChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFs
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWlj
LWltcG9ydC1hbmQtdGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJv
cjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3Jr
ZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdvcmtlci5qc1wiLiBp
bXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGlt
cG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJh
bCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRp
Yy1pbXBvcnQtYW5kLXRoZW4tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxs
IGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9ydC4gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjog
VW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1w
b3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAw
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5q
c1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHlu
YW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcg
bGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2Vz
L2R5bmFtaWMtaW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9y
dCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBldmFsKGltcG9ydCgp
KS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93
b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V2YWwtZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIu
IGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgorUEFTUyBTdGF0aWMg
aW1wb3J0LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3RhdGljIGltcG9ydCBh
bmQgdGhlbiBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5lc3Rl
ZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGlt
cG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9y
dC1jc3AtZXhwZWN0ZWQudHh0CmluZGV4IDFkYTQ2YjkyNmJlMDg5NmVlOGY3NWE3OGRjYWU0ZjI2
OWIwNTA5MmIuLjIzOWNjOWNlMTUzMDFmN2VlZDgzZDVlYjIyMzBhOWRlMjk0ZWEyZWQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwy
MiBAQAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xp
Y3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwg
VVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2Vz
L2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQg
Q29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3Jr
ZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdF
OiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXIt
c3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2Nh
bGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlw
dC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xp
Y3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwg
VVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2Vz
L2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4
cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0
dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9y
dC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVu
dC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogCiBQQVNTIHdvcmtlci1z
cmMgJ3NlbGYnIGRpcmVjdGl2ZSBzaG91bGQgZGlzYWxsb3cgY3Jvc3Mgb3JpZ2luIHN0YXRpYyBp
bXBvcnQuCiBGQUlMIHdvcmtlci1zcmMgKiBkaXJlY3RpdmUgc2hvdWxkIGFsbG93IGNyb3NzIG9y
aWdpbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBleHBlY3RlZCBwcm9wZXJ0
eSAwIHRvIGJlICJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiIGJ1dCBnb3QgIkVSUk9SIiAoZXhw
ZWN0ZWQgYXJyYXkgWyJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiXSBnb3QgWyJFUlJPUiJdKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRl
eCA5NWM2ZDE1ZGY0NGUxOGEzNWRmZWIwZmEzOWM4ZDM4NDQyMGMyYzEzLi5lOTU1NzhlNzFiMWM1
MGE0ZTA0NzFiMDM3MTU0YjM4NmIzN2FlZDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKLUNPTlNPTEUgTUVT
U0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgJy4vbm9uLWV4aXN0
ZW50LXNjcmlwdC5qcycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
CitDT05TT0xFIE1FU1NBR0U6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLgogCi1G
QUlMIGltcG9ydFNjcmlwdHMoKSBvbiBtb2R1bGUgd29ya2VyIHNob3VsZCB0aHJvdyBhbiBleGNl
cHRpb24uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUeXBlRXJyb3IiIGJ1dCBnb3QgIkxPQURF
RCIKK1BBU1MgaW1wb3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3b3JrZXIgc2hvdWxkIHRocm93IGFu
IGV4Y2VwdGlvbi4KIFBBU1MgV29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igbm9uLWV4aXN0ZW50IHNj
cmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KIFBBU1MgU3RhdGljIGltcG9ydCBm
b3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KLUZB
SUwgRHluYW1pYyBpbXBvcnQgZm9yIG5vbi1leGlzdGVudCBzY3JpcHQgc2hvdWxkIHRocm93IGFu
IGV4Y2VwdGlvbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlR5cGVFcnJvciIgYnV0IGdvdCAi
RXJyb3IiCitQQVNTIER5bmFtaWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3Vs
ZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIGFuIGlu
dmFsaWQgVVJMIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1
Y3Rpb24gZm9yIGEgZmlsZSBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAppbmRleCBkNTgwNjIwNDFj
M2U2OTUxNWI4MTVlMDJkN2MzODY4NGQ3N2M3NmI3Li5lNzgyNTdhMzIyOGQwZjMyMDMwM2ZkNjMy
NmFmNmE3NTE0NTNmYzNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1t
ZXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4
cGVjdGVkLnR4dApAQCAtMSw4ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6
IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCiAKLUhhcm5lc3MgRXJy
b3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFs
aWQgaW5zaWRlIG1vZHVsZXMuCi0KLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIHRv
cC1sZXZlbCBtb2R1bGUgc2NyaXB0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5IHZhbGlkIGluc2lk
ZSBtb2R1bGVzLiIKLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1v
ZHVsZSBzY3JpcHQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBU
ZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQuCitQQVNT
IFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0LgogRkFJ
TCBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRo
IGEgZnJhZ21lbnQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMv
ZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dAppbmRleCBhMjNhNTU3NWRi
NDI3NDI3Zjg1YmQ2YjYzNTRkZTg4MzgzMWZlMmI0Li5kY2NlZGNjZDM2OGUxZmYxN2IxZGQxMzZl
NDUzZmVjNGZlMTBiYzgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5h
bnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBl
Y3RlZC50eHQKQEAgLTEsMTQgKzEsOSBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJn
dW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcq
Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVT
U0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2Fn
ZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0
cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLQotRkFJTCBTdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4i
Ci1GQUlMIE5lc3RlZCBzdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1w
b3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIFN0YXRpYyBpbXBv
cnQgYW5kIHRoZW4gZHluYW1pYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBpbXBv
cnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBp
bXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxv
YWQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBOZXN0ZWQgZHluYW1pYyBpbXBv
cnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBp
bXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWR5
bmFtaWMtaW1wb3J0LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgRHluYW1pYyBp
bXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUg
aXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQg
dGhlIG1vZHVsZSAnLi9leHBvcnQtb24tc3RhdGljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4cGVj
dGVkIGFycmF5Ci1GQUlMIGV2YWwoaW1wb3J0KCkpLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1
ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9y
dCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJy
YXkKK1BBU1MgU3RhdGljIGltcG9ydC4KK1BBU1MgTmVzdGVkIHN0YXRpYyBpbXBvcnQuCitQQVNT
IFN0YXRpYyBpbXBvcnQgYW5kIHRoZW4gZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1w
b3J0LgorUEFTUyBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0IGFu
ZCB0aGVuIHN0YXRpYyBpbXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQKaW5kZXggZGEwZTRlYjY3NThk
MTRhMzdhMzk4ZDBiNmZjNzFhZDM4NzZiZDI2Yi4uMWZjMGM2NmZkZjcyNGMyYWEzYjkxMDY5ODBi
ZmJlN2U5ODhmOTc3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5
cGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4
cGVjdGVkLnR4dApAQCAtMiwxMSArMiw2IEBACiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlv
biB3aXRoIHRoZSBkZWZhdWx0IHdvcmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1
Y3Rpb24gd2l0aCB0aGUgImNsYXNzaWMiIHdvcmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBj
b25zdHJ1Y3Rpb24gd2l0aCB0aGUgIm1vZHVsZSIgd29ya2VyIHR5cGUuCi1GQUlMIFRlc3Qgd29y
a2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIGVtcHR5IHdvcmtlciB0eXBlLiBhc3NlcnRfdGhyb3dz
X2pzOiBXb3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgdHlwZSBzaG91bGQgdGhyb3cg
YW4gZXhjZXB0aW9uIGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICAgIG5ldyBXb3JrZXIoJ3Jlc291
cmNlcy9wb3N0LW1lc3NhZ2Utb24tbG9hZC13b3JrZXIuanMnLCB7IHR5cGU6ICcnIH0pOwotICAg
ICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBh
biB1bmtub3duIHdvcmtlciB0eXBlLiBhc3NlcnRfdGhyb3dzX2pzOiBXb3JrZXIgY29uc3RydWN0
aW9uIHdpdGggYW4gdW5rbm93biB0eXBlIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24gZnVuY3Rp
b24gIigpID0+IHsKLSAgICAgICAgbmV3IFdvcmtlcigncmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS1v
bi1sb2FkLXdvcmtlci5qcycsCi0gICAgICAgICAgICAgICAgICAgeyB0eXBlOiAndW5rbm93bicg
fSk7Ci0gICAgICB9IiBkaWQgbm90IHRocm93CitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlv
biB3aXRoIGFuIGVtcHR5IHdvcmtlciB0eXBlLgorUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rp
b24gd2l0aCBhbiB1bmtub3duIHdvcmtlciB0eXBlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRleCBlOGViNTQwYmQz
MzkyNDAwYThkYmZkOTM4NjQ4YTY0OTIzOWMwZDllLi5kMWE1MGY3ZWEzY2Q2ZGMyOThlZjc1NDE0
Nzc2MmM2OWM1N2Q3M2IzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVy
cm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2Ut
ZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSwxNCBAQAotQ09OU09MRSBNRVNT
QUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVj
dHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIHRva2VuICc7JworQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnOycKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBFcnJvcjog
YXNzZXJ0X2ltcGxlbWVudHM6IFN0YXRpYyBpbXBvcnQgbXVzdCBiZSBzdXBwb3J0ZWQgb24gbW9k
dWxlIGRlZGljYXRlZCB3b3JrZXIgdG8gcnVuIHRoaXMgdGVzdC4gdW5kZWZpbmVkCi0KLU5PVFJV
TiBNb2R1bGUgd29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9y
IHNob3VsZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4KLU5PVFJVTiBTdGF0aWMgaW1w
b3J0IG9uIG1vZHVsZSB3b3JrZXIgZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91bGQg
ZGlzcGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuCitGQUlMIE1vZHVsZSB3b3JrZXIgY29uc3Ry
dWN0aW9uIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2
ZW50IG5hbWVkIGVycm9yLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rp
b24gRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVu
Y3Rpb24gRXJyb3JFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgorRkFJTCBTdGF0aWMg
aW1wb3J0IG9uIG1vZHVsZSB3b3JrZXIgZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91
bGQgZGlzcGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IGZ1bmN0aW9uICJmdW5jdGlvbiBFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiBidXQg
Z290IGZ1bmN0aW9uICJmdW5jdGlvbiBFcnJvckV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0K
K30iCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVj
dGVkLnR4dAppbmRleCA2Mzk4NDcxMjE0NTlhN2FiMzdiOWYwOWE2OGJhNjRlYThhOWVkNTdjLi5l
OTQ2OTQ3YjE0YWVmM2U1Mjk5YTBhYmEzYWU0YjFjZjlmY2Q5NTcwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9w
ZXJ0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEs
OCBAQAogQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotRkFJTCBUZXN0
IHRoZSBuYW1lIHByb3BlcnR5IG9mIHNoYXJlZCBhbmQgZGVkaWNhdGVkIHdvcmtlcnMgdmlhIHRo
ZSBuYW1lIGNvbnN0cnVjdG9yIG9wdGlvbiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3Jr
ZXIKLVBBU1MgRGVjbGFyaW5nIG5hbWUgYXMgYW4gYWNjaWRlbnRhbCBnbG9iYWwgbXVzdCBub3Qg
Y2F1c2UgYSBoYXJuZXNzIGVycm9yIGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQorSGFy
bmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBVbmhhbmRsZWQgcmVqZWN0aW9uOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKwogUEFTUyBuYW1lIHByb3BlcnR5IHZhbHVlIGZv
ciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQogUEFTUyBuYW1lIHByb3BlcnR5IGlzIHJlcGxh
Y2VhYmxlIGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQorUEFTUyBEZWNsYXJpbmcgbmFt
ZSBhcyBhbiBhY2NpZGVudGFsIGdsb2JhbCBtdXN0IG5vdCBjYXVzZSBhIGhhcm5lc3MgZXJyb3Ig
Zm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420011</attachid>
            <date>2021-02-11 11:24:59 -0800</date>
            <delta_ts>2021-02-11 14:55:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210211112458.patch</filename>
            <type>text/plain</type>
            <size>175133</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA1MTUzZGY5Mjc2YTBl
YzEzMzI1OTg1ZDNjMGE5NGQwOTE3M2I4ZC4uNjk1ZDIyMGM2MzNkZDc4NDc0ZjkxZDAwZDI1NzVj
MTA4OTA4ZjYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNSBAQAorMjAyMS0wMi0xMSAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4g
V29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0Nh
Y2hlZFNjcmlwdEZldGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0
Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNoZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyaXB0TW9kdWxl
TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2Fk
ZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVM
b2FkZXJGZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1v
ZHVsZUxvYWRlckltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6
bW9kdWxlTG9hZGVyUmVzb2x2ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJD
cmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFeGVjU3RhdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRXhlY1N0YXRlOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUp
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclR5cGUuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNj
cmlwdExvYWRlcjo6Y2xlYXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0
TG9hZGVyOjpzY3JpcHRGZXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExv
YWRlcjo6cGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpNb2R1bGVTY3JpcHRMb2FkZXI6
Ok1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9D
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9T
Y3JpcHRNb2R1bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9h
ZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZU1vZHVs
ZVNwZWNpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc29s
dmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVsZVVSTCk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpldmFsdWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9T
Y3JpcHRTb3VyY2VDb2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlOjpT
Y3JpcHRTb3VyY2VDb2RlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3Jp
cHRMb2FkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlw
dExvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExv
YWRlcjo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
ck1vZHVsZVNjcmlwdExvYWRlcjo6fldvcmtlck1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAg
ICogYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oLgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dvcmtlclNjcmlwdEZldGNoZXIuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNw
cDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQpOiBEZWxldGVkLgorICAgICAgICAqIGRv
bS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3JpcHQp
OgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
OjpXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29w
ZTo6V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2Nv
cGU6OmltcG9ydFNjcmlwdHMpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpjcmVkZW50aWFscyBjb25z
dCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5Lmg6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
T3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmg6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6bW9kdWxlTG9hZGVyKToKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6anNWYWx1ZVRvTW9kdWxlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xl
dFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KToK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxpbmtB
bmRFdmFsdWF0ZU1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRl
cjo6bG9hZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpyZXNwb25z
ZVNvdXJjZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6Omlz
UmVkaXJlY3RlZCBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6ZXZhbHVhdGVTY3JpcHRJZk5lY2Vzc2Fy
eSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlclR5cGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2I6OmZldGNoU2NyaXB0V2l0aENv
bnRleHQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uT3B0aW9ucy5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6
U2VydmljZVdvcmtlclRocmVhZCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlcldvcmtlci5oOgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OmZldGNoQW5kSW52b2tl
U2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6cHJvY2Vzc05l
eHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKToKKwogMjAyMS0wMi0xMCAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBEbyBub3QgZGlmZmVyZW50aWF0ZSBiZXR3
ZWVuIFJlbGVhc2UgYW5kIFByb2R1Y3Rpb24gdmlhIEVOQUJMRV9ERVZFTE9QRVJfTU9ERQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UKaW5kZXggNGYzOGZiMDY4NGJjNTllZTZmN2M5ODk4MjllYzg4MmNlODA1ODZj
OC4uMzNhZmVlMzAyZWRjMWUxZjNlYzhkNmNkOTFkZWE1MzdkZTE5ZmJkNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJz
LmNtYWtlCkBAIC0zMCw2ICszMCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKIAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Q29uc3VtZXIuaAogICAgIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hCb2R5U291cmNlLmgKKyAgICBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVz
dENyZWRlbnRpYWxzLmgKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oCiAgICAgTW9k
dWxlcy9mZXRjaC9GZXRjaElkZW50aWZpZXIuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2Fk
ZXIuaApAQCAtMjg3LDYgKzI4OCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKICAgICBiaW5kaW5ncy9qcy9XZWJDb3JlSklUT3BlcmF0aW9ucy5oCiAgICAgYmluZGlu
Z3MvanMvV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmgKICAgICBiaW5kaW5ncy9qcy9XaW5k
b3dQcm94eS5oCisgICAgYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RmV0Y2hlci5oCiAKICAgICBi
cmlkZ2UvQnJpZGdlLmgKICAgICBicmlkZ2UvSWRlbnRpZmllclJlcC5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cmlu
ZGV4IDhjMDNiOTMyNjQ5ODVmMGJiMWVlOWY2ZDIwMjNlMzQ4MzA5MmY0NjIuLjYyM2E2NzhhYTVj
YjQzMmFlMGQzOTQ2N2E0YmVmZDM0NTY4OGEyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC02MzksNiAr
NjM5LDcgQEAgYmluZGluZ3MvanMvU3RydWN0dXJlZENsb25lLmNwcAogYmluZGluZ3MvanMvV2Vi
Q29yZUpJVE9wZXJhdGlvbnMuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmNw
cAogYmluZGluZ3MvanMvV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmNwcAorYmluZGluZ3Mv
anMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAogYmluZGluZ3MvanMvV2luZG93UHJveHku
Y3BwCiBiaW5kaW5ncy9qcy9Xcml0YWJsZVN0cmVhbS5jcHAKIGJyaWRnZS9JZGVudGlmaWVyUmVw
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDJlM2JhMmQ4YmJhYTE3NjI0NGRhNjIzYzY5Mjk2ZTVmZWJmMDczMGIuLjM4YzZl
YTBiODc5ZGVmNzAxMTEyZTQxODlhNGU0ODBkMWZiYzk0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUwNzEsMTUgKzUwNzEs
MTggQEAKIAkJRTMwNTkyNjQxRTI3QTNBRDAwRDU3Qzk4IC8qIElubGluZUNsYXNzaWNTY3JpcHQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDU5MjYy
MUUyN0EzOEMwMEQ1N0M5OCAvKiBJbmxpbmVDbGFzc2ljU2NyaXB0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMwNTkyNjgxRTI3QTNEMTAwRDU3
Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3Jp
cHRGZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJRTMwN0RFRDAxRDgxRTRDNzAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RF
QzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUUzMDdERUQxMUQ4MUU0
Q0IwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDdERUM4MUQ4MUU0NDgwMDE0
MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzA3REVENTFEODFFNEYyMDAxNDFD
QUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDdERUQzMUQ4MUU0RUQwMDE0MUNBRiAvKiBMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUUzMTUwRUE3MURBNzIxOTMwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzE1MEVBNTFEQTcyMThE
MDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oICovOyB9OwogCQlFMzIwMUMxQTFGOEU4MjEzMDA3
NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzhEMDYwOTFGOEU4MTE5MDA2NDlDRjIgLyogTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTMyM0NGRkExRTVBRjZBRjAwRjBCNEEwIC8qIEpTRE9NQ29udmVydFByb21p
c2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMjND
RkY5MUU1QUY2QTUwMEYwQjRBMCAvKiBKU0RPTUNvbnZlcnRQcm9taXNlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM0MzJERTQyNUQzNzdFMzAw
NThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oICovOyB9OworCQlFMzQ3RTVGQTI1RDRGMDAwMDBGMTdB
NUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTM0N0U1RjgyNUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNjcmlw
dEZldGNoZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlFMzUxODhCNDI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzUxODhC
MzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM1NjVCN0IxREMyRDZD
OTAwMjE3REJEIC8qIEpTRXZlbnRDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzNEVFNDlGMURDMkQ1NzUwMEVBQTlEMyAvKiBKU0V2ZW50Q3Vz
dG9tLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RTM1ODAyQjYxREM4NDM1RDAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNTgwMkI1MURDODQzNTgw
MEE5NzczQyAvKiBET01KSVRJRExUeXBlRmlsdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM1ODJDMjgyNTI3RjY2OTAwRDFCNzkwIC8qIFdl
YkNvcmVKSVRPcGVyYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFMzU4MkMyNjI1MjdGNjY4MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlv
bnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlF
MzVCOTA3RjIzRjYwQTUwMDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUI5MDdDMjNGNjA2Nzcw
MDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzNjQzMjFDMjVEMzdBNjcwMEY5MEUyQSAvKiBN
b2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzc3
RkU0RDFEQURFMTY1MDBDREQwMjUgLyogTm9kZUNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNEMDQ5OTMxREFEQzA0NTAwNzE4RjNDIC8q
IE5vZGVDb25zdGFudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlFMzdDODY1MDFFQjYzRTNGMDA4N0M2Q0EgLyogSlNET01Qcm9taXNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzdDODY0RjFFQjYz
RTJEMDA4N0M2Q0EgLyogSlNET01Qcm9taXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM5NjI4QkYyMzk1NzI4RjAwNjU4RUNEIC8qIERldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYyOEJEMjM5NTcyOEUwMDY1OEVDRCAvKiBEZXZpY2VPcmll
bnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKQEAgLTE2MjAyLDcgKzE2MjA1LDYgQEAKIAkJRTMwNTkyNjYxRTI3QTND
NjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ2FjaGVkU2NyaXB0RmV0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMzA3REVDNjFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMDdERUM3
MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUzMDdERUM4MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUzMDdERUQyMUQ4MUU0RUQwMDE0MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNj
cmlwdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMDdERUQzMUQ4
MUU0RUQwMDE0MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNjcmlwdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMb2FkYWJsZU1vZHVsZVNjcmlwdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMzE1MEVBNTFEQTcyMThEMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRIZWxwZXJzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjIxNSwxMiArMTYyMTcsMTcgQEAKIAkJRTMyOTI3
NjMyMjU0M0Y1OTAwMzA4QTlBIC8qIFR5cGVkT01DU1NVbml0VmFsdWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gVHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUzMjkyNzY2MjI1NDNGREUwMDMwOEE5QSAvKiBET01SZWN0UmVhZE9ubHkuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRE9NUmVjdFJlYWRPbmx5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTMzNDgyNUUxREM5M0FBMDAwOUM5NTQ0IC8qIERPTUpJVEFic3RyYWN0SGVh
cFJlcG9zaXRvcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NSklUQWJz
dHJhY3RIZWFwUmVwb3NpdG9yeS5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01K
SVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19E
SVI7IH07CisJCUUzNDMyREUwMjVEMzc3RTIwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRM
b2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNDMyREUzMjVEMzc3
RTMwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM0N0U1RjgyNUQ0RjAwMDAwRjE3QTVDIC8qIFdv
cmtlclNjcmlwdEZldGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29y
a2VyU2NyaXB0RmV0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzRFRTQ5
RjFEQzJENTc1MDBFQUE5RDMgLyogSlNFdmVudEN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0V2ZW50Q3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNTgwMkI1MURDODQzNTgwMEE5
NzczQyAvKiBET01KSVRJRExUeXBlRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTUpJVElETFR5cGVGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTM1ODJDMjQyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODJDMjYyNTI3RjY2ODAwRDFC
NzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUzNUI5MDdDMjNGNjA2NzcwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzVCOTA3RTIzRjYwNjc3MDAwMDExRkYgLyog
TG9jYWxpemVkRGV2aWNlTW9kZWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBMb2NhbGl6ZWREZXZpY2VNb2RlbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpT
RE9NUHJvbWlzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVByb21p
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM4ODM4OTQxQkFEMTQ1RjAwRDYy
RUUzIC8qIFNjcmlwdE1vZHVsZUxvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTY3JpcHRNb2R1bGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMzg4Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjcwMjEsNyArMjcwMjgsNiBAQAogCQkJCTJE
RkE0ODhFMURCNTQxQzIwMDM2MkI5OSAvKiBCdWZmZXJTb3VyY2UuaCAqLywKIAkJCQlFMzA3REVD
NjFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLywKIAkJ
CQlFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmgg
Ki8sCi0JCQkJRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudC5oICovLAogCQkJCUUzMDU5MjY1MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRT
Y3JpcHRGZXRjaGVyLmNwcCAqLywKIAkJCQlFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2Fj
aGVkU2NyaXB0RmV0Y2hlci5oICovLAogCQkJCUJDRDUzMzYzMEVENjg0ODkwMDg4NzQ2OCAvKiBD
YWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oICovLApAQCAtMjcwOTUsNiArMjcxMDEsOCBAQAog
CQkJCTRCREVBMzJEMjE4MDM0MDUwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2Uu
Y3BwICovLAogCQkJCTRCREVBMzJCMjE4MDMzRUIwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxT
Y29wZUJhc2UuaCAqLywKIAkJCQk3MDlBMDFGRDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0
Y2hGYWlsdXJlS2luZC5oICovLAorCQkJCUUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1
bGVTY3JpcHRMb2FkZXIuaCAqLywKKwkJCQlFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8sCiAJCQkJNDFCNDU5RUQxRjU1RUJDNzAwMDBGNkZE
IC8qIFJlYWRhYmxlU3RyZWFtLmNwcCAqLywKIAkJCQk0MUI0NTlEQTFGNENBREI5MDAwMEY2RkQg
LyogUmVhZGFibGVTdHJlYW0uaCAqLywKIAkJCQk0MThDMzk1RTFDOEYwQUFCMDA1MUM4QTMgLyog
UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgKi8sCkBAIC0yNzEyNiw2ICsyNzEz
NCw5IEBACiAJCQkJMEYwOTlEMDcxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5
Q29udHJvbGxlci5oICovLAogCQkJCTQ2MzUyMUFDMjA4MTA5MEUwMEMyODkyMiAvKiBXaW5kb3dQ
cm94eS5jcHAgKi8sCiAJCQkJNDYzNTIxQUEyMDgxMDkwQjAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5
LmggKi8sCisJCQkJRTM0MzJERTMyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlw
dExvYWRlci5jcHAgKi8sCisJCQkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1v
ZHVsZVNjcmlwdExvYWRlci5oICovLAorCQkJCUUzNDdFNUY4MjVENEYwMDAwMEYxN0E1QyAvKiBX
b3JrZXJTY3JpcHRGZXRjaGVyLmggKi8sCiAJCQkJNDE0MThBMDMyNTY0M0UxMjAwMzYzNDE3IC8q
IFdyaXRhYmxlU3RyZWFtLmNwcCAqLywKIAkJCQk0MTQxOEEwNDI1NjQzRTEzMDAzNjM0MTcgLyog
V3JpdGFibGVTdHJlYW0uaCAqLywKIAkJCSk7CkBAIC0zMTM5OSw3ICszMTQxMCw2IEBACiAJCQkJ
QkNCMTZDMUMwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZEltYWdlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMTlGQkQ1RjE1RDJGNDY0MDA5NjQwQTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUzMDdERUQwMUQ4MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUUzMDdERUQxMUQ4MUU0Q0IwMDE0MUNB
RiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxMDE4NDY5MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEMEVEQTc3NTE0M0UzMDNDMDAyOEUzODMgLyogQ2FjaGVkUmF3UmVzb3VyY2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxQjUzMzQ5MTcxN0RFRTMwMEYyMDVGOSAvKiBDYWNoZWRSYXdSZXNv
dXJjZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzg3NCw2ICszMzg4NCw4IEBACiAJCQkJ
QzZENzRBRDUwOUFBMjgyRTAwMEIwQTUyIC8qIE1vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNzA5QTAxRkUxRTNEMEJERDAwNkIwRDRDIC8qIE1vZHVsZUZldGNo
RmFpbHVyZUtpbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzMjAxQzFBMUY4RTgyMTMwMDc2QTAz
MiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzNjQzMjFD
MjVEMzdBNjcwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREM2MTI1MUYxMkQwMDNFRjI2OSAvKiBNb250aElu
cHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM5NjI4QzEyMzk1NzQzMTAwNjU4RUNEIC8q
IE1vdGlvbk1hbmFnZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjQ2MEE0NEVG
QzcwMEY5OTJFMCAvKiBNb3VzZUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NTI2LDYgKzM1
NTM4LDcgQEAKIAkJCQkxOEY4MzFCODBGRDQ4Qzc4MDBEOEM1NkIgLyogV29ya2VyTG9hZGVyUHJv
eHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjREMEY1NDZBODIwMEIwRjFCQSAvKiBXb3Jr
ZXJMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTAwRjU0NkE4MjAwQjBGMUJB
IC8qIFdvcmtlck1lc3NhZ2luZ1Byb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzQzMkRFNDI1
RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTI3MUEwQjBFRUVDNzdBMDBGNjEyMTMgLyogV29ya2VyTmF2aWdhdG9yLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNUNCMDUyNTFGQjUxRjNBMDAwODlCOTcgLyogV29ya2VyTmV0d29y
a0FnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1MTBGNTQ2QTgyMDBCMEYxQkEgLyog
V29ya2VyT2JqZWN0UHJveHkuaCBpbiBIZWFkZXJzICovLApAQCAtMzU1MzUsNiArMzU1NDgsNyBA
QAogCQkJCTQxNkUyOUE2MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTMwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlclJ1
bkxvb3AuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1QjgxQ0NGMUZBQTQ0REUwMDM3RDFFNiAvKiBX
b3JrZXJSdW50aW1lQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzNDdFNUZBMjVENEYwMDAw
MEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q2
QjM0OTBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyRUE3NjgwNDBGRTcxMjY0MDBBQjlDOEEgLyogV29ya2VyU2NyaXB0TG9hZGVyQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1NTBGNTQ2QTgyMDBCMEYxQkEgLyogV29y
a2VyVGhyZWFkLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDM1MmRjYzRhY2Y3
NTE3NmQ5OGFkMzQxMGJlMTUxNjA4MDEwODg1MjQuLjI3N2Y2MmE3YzEzM2ZlMTU2YzZjY2U5ODU1
MzU1MGVkYjEzNmQwMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0Nh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApAQCAtNDAsMTYgKzQwLDEzIEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYg
c2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJz
KQorUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
OjpjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlz
ZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1v
ZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQogewogICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZl
dGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykpKTsKIH0KIAotQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hl
ciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0
ZXJzKQotICAgIDogbV9jbGllbnQoJmNsaWVudCkKLSAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkK
LSAgICAsIG1fc2NyaXB0RmV0Y2hlcihzY3JpcHRGZXRjaGVyKQotICAgICwgbV9wYXJhbWV0ZXJz
KFdURk1vdmUocGFyYW1ldGVycykpCitDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OkNhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJy
ZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBS
ZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1bGVT
Y3JpcHRMb2FkZXIoY2xpZW50LCBwcm9taXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFt
ZXRlcnMpKQogewogfQogCkBAIC02MSwxNCArNTgsMTUgQEAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjp+Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKCkKICAgICB9CiB9CiAKLWJvb2wgQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiBz
b3VyY2VVUkwpCitib29sIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYg
ZG9jdW1lbnQsIFVSTCYmIHNvdXJjZVVSTCkKIHsKKyAgICBBU1NFUlQobV9wcm9taXNlKTsKICAg
ICBBU1NFUlQoIW1fY2FjaGVkU2NyaXB0KTsKICAgICBTdHJpbmcgaW50ZWdyaXR5ID0gbV9wYXJh
bWV0ZXJzID8gbV9wYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSA6IFN0cmluZyB7IH07Ci0gICAgbV9j
YWNoZWRTY3JpcHQgPSBtX3NjcmlwdEZldGNoZXItPnJlcXVlc3RNb2R1bGVTY3JpcHQoZG9jdW1l
bnQsIHNvdXJjZVVSTCwgV1RGTW92ZShpbnRlZ3JpdHkpKTsKKyAgICBtX2NhY2hlZFNjcmlwdCA9
IHNjcmlwdEZldGNoZXIoKS5yZXF1ZXN0TW9kdWxlU2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkws
IFdURk1vdmUoaW50ZWdyaXR5KSk7CiAgICAgaWYgKCFtX2NhY2hlZFNjcmlwdCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIG1fc291cmNlVVJMID0gc291cmNlVVJMOworICAgIG1fc291cmNl
VVJMID0gV1RGTW92ZShzb3VyY2VVUkwpOwogCiAgICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgYWxy
ZWFkeSBjYWNoZWQsIHRoaXMgaW1tZWRpYXRlbHkgY2FsbHMgbm90aWZ5RmluaXNoZWQuCiAgICAg
bV9jYWNoZWRTY3JpcHQtPmFkZENsaWVudCgqdGhpcyk7CkBAIC04Myw3ICs4MSw3IEBAIHZvaWQg
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYg
cmVzb3VyY2UsIGNvbnN0IE5lCiAKICAgICBSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBw
cm90ZWN0ZWRUaGlzKCp0aGlzKTsKICAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50
LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3Byb21pc2UpKTsKKyAgICAgICAgbV9j
bGllbnQtPm5vdGlmeUZpbmlzaGVkKCp0aGlzLCBXVEZNb3ZlKG1fc291cmNlVVJMKSwgbV9wcm9t
aXNlLnJlbGVhc2VOb25OdWxsKCkpOwogCiAgICAgLy8gUmVtb3ZlIHRoZSBjbGllbnQgYWZ0ZXIg
Y2FsbGluZyBub3RpZnlGaW5pc2hlZCB0byBrZWVwIHRoZSBkYXRhIGJ1ZmZlciBpbgogICAgIC8v
IENhY2hlZFJlc291cmNlIGFsaXZlIHdoaWxlIG5vdGlmeUZpbmlzaGVkIHByb2Nlc3NlcyB0aGUg
cmVzb3VyY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlci5oCmluZGV4IDQzYWJkODc1YjI0M2ZhZjVmY2Q0ZDk4ZWMzYzVkMjRl
NzkwYjU3MmUuLmE0ODc1NWY5M2QwNWVmMzUzZDJiM2UyMjhkODIxOWZlODkxZTY3NDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExv
YWRlci5oCkBAIC0yNyw2ICsyNyw4IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVu
dC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiQ2FjaGVk
U2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlci5oIgogI2luY2x1
ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KQEAgLTM0LDQyICszNiwyOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKK2NsYXNzIE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudDsKIGNsYXNzIENhY2hlZFNjcmlwdDsKLWNsYXNzIENhY2hlZFNjcmlwdEZl
dGNoZXI7CiBjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpT
RE9NR2xvYmFsT2JqZWN0OwogY2xhc3MgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzOwogCi1jbGFzcyBD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI+LCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKK2NsYXNz
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBNb2R1bGVTY3JpcHRMb2Fk
ZXIsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBjcmVhdGUoQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0
cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOworICAgIHN0YXRpYyBSZWY8Q2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyPiBjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQ
cm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRl
cnM+JiYpOwogCiAgICAgdmlydHVhbCB+Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKCk7CiAKLSAg
ICBib29sIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHNvdXJjZVVSTCk7CisgICAgYm9vbCBs
b2FkKERvY3VtZW50JiwgVVJMJiYgc291cmNlVVJMKTsKIAotICAgIENhY2hlZFNjcmlwdEZldGNo
ZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVybiBtX3NjcmlwdEZldGNoZXIuZ2V0KCk7IH0KICAg
ICBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCgpIHsgcmV0dXJuIG1fY2FjaGVkU2NyaXB0Lmdl
dCgpOyB9Ci0gICAgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4g
bV9wYXJhbWV0ZXJzLmdldCgpOyB9Ci0gICAgY29uc3QgVVJMJiBzb3VyY2VVUkwoKSBjb25zdCB7
IHJldHVybiBtX3NvdXJjZVVSTDsgfQotCi0gICAgdm9pZCBjbGVhckNsaWVudCgpCi0gICAgewot
ICAgICAgICBBU1NFUlQobV9jbGllbnQpOwotICAgICAgICBtX2NsaWVudCA9IG51bGxwdHI7Ci0g
ICAgfQorICAgIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVybiBz
dGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyJj4oTW9kdWxlU2NyaXB0TG9hZGVyOjpzY3Jp
cHRGZXRjaGVyKCkpOyB9CiAKIHByaXZhdGU6Ci0gICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
KENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hl
ZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJy
ZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFt
ZXRlcnM+JiYpOwogCiAgICAgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYsIGNv
bnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZpbmFsOwogCi0gICAgQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50KiBtX2NsaWVudCB7IG51bGxwdHIgfTsKLSAgICBSZWZQdHI8RGVmZXJyZWRQ
cm9taXNlPiBtX3Byb21pc2U7Ci0gICAgUmVmPENhY2hlZFNjcmlwdEZldGNoZXI+IG1fc2NyaXB0
RmV0Y2hlcjsKLSAgICBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiBtX3BhcmFtZXRlcnM7
CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBtX2NhY2hlZFNjcmlwdDsK
ICAgICBVUkwgbV9zb3VyY2VVUkw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODY4OGFkOTBkYWUzZWNlOTQ5ZWEwOWIxZWZlZTVkYTI2Zjk0
Yzc4Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaAor
KysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYg
QXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOwotY2xhc3MgRGVmZXJyZWRQcm9taXNl
OwotCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewotcHVibGljOgotICAg
IHZpcnR1YWwgfkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKLQot
ICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIm
LCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPikgPSAwOwotfTsKLQotfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcAppbmRleCBhNDMzNzU4
NjViYmYxZWM1OTczYmYxNzJjOTFhMzg1MzIzNGUzNzRkLi5kZjNjNmI2ZWJiODRhZjcyZWQyOTU1
Zjk5MTFkMDdhODdhYjM1MzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNy
b3NzT3JpZ2luQWNjZXNzQ29udHJvbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDYgKzQ4LDcgQEAgQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjaGVkU2NyaXB0PiBDYWNoZWRTY3JpcHRGZXRjaGVyOjpyZXF1ZXN0TW9kdWxlU2Ny
aXB0KERvY3UKIAogQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBDYWNoZWRTY3Jp
cHRGZXRjaGVyOjpyZXF1ZXN0U2NyaXB0V2l0aENhY2hlKERvY3VtZW50JiBkb2N1bWVudCwgY29u
c3QgVVJMJiBzb3VyY2VVUkwsIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBTdHJpbmcm
JiBpbnRlZ3JpdHksIE9wdGlvbmFsPFJlc291cmNlTG9hZFByaW9yaXR5PiByZXNvdXJjZUxvYWRQ
cmlvcml0eSkgY29uc3QKIHsKKyAgICAvLyBXaXRob3V0IHNjcmlwdGluZywgdGhlcmUgaXMgbm8g
d2F5IHRvIHN0YXJ0IFdvcmtlcnMuCiAgICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLmlzU2Ny
aXB0RW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDU4YjdkZjc2MGMw
MGEzMWZmMDhlZDIyZGVlMjJhOGM3NDQzYWU4ZGQuLjlkNjk3ZDQ1OWI1NjM0NWNjODM5NjIwMjY2
NzZlMDBhOThiZjQ5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUdsb2JhbE9iamVjdC5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJKU1dvcmtsZXRH
bG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlJlamVjdGVkUHJvbWlzZVRyYWNrZXIuaCIKICNpbmNs
dWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9h
ZGVyLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlZENsb25lLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpT
Q2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC00MjIsNiAr
NDIzLDc5IEBAIEpTQzo6SlNQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6aW5zdGFudGlhdGVT
dHJlYW1pbmcoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvCiB9CiAjZW5kaWYKIAorc3RhdGljIFNj
cmlwdE1vZHVsZUxvYWRlciogc2NyaXB0TW9kdWxlTG9hZGVyKEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGlm
IChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTRE9NV2luZG93QmFzZT4odm0pKSB7CisgICAgICAg
IGlmIChhdXRvIGRvY3VtZW50ID0ganNDYXN0PGNvbnN0IEpTRE9NV2luZG93QmFzZSo+KGdsb2Jh
bE9iamVjdCktPndyYXBwZWQoKS5kb2N1bWVudCgpKQorICAgICAgICAgICAgcmV0dXJuICZkb2N1
bWVudC0+bW9kdWxlTG9hZGVyKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAg
ICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU1JlbW90ZURPTVdpbmRvd0Jhc2U+KHZtKSkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8
SlNXb3JrZXJHbG9iYWxTY29wZUJhc2U+KHZtKSkKKyAgICAgICAgcmV0dXJuICZqc0Nhc3Q8Y29u
c3QgSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9k
dWxlTG9hZGVyKCk7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNXb3JrbGV0R2xv
YmFsU2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2xl
dEdsb2JhbFNjb3BlQmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQoKS5tb2R1bGVMb2FkZXIo
KTsKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5p
bmhlcml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KHZtKSkKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisjZW5kaWYKKyAgICBkYXRhTG9nKCJVbmV4cGVjdGVkIGdsb2JhbCBvYmpl
Y3Q6ICIsIEpTVmFsdWUoZ2xvYmFsT2JqZWN0KSwgIlxuIik7CisgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNDOjpJZGVudGlmaWVy
IEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6
OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5LCBKU0M6
OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09i
amVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAg
ICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAg
ICAgICByZXR1cm4gbG9hZGVyLT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBt
b2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJu
IHsgfTsKK30KKworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1v
ZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpK
U01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6
OkpTVmFsdWUgcGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7CisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6
anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byog
bG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+ZmV0Y2goZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2Fk
ZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hlcikpOworICAgIEpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOworICAgIHNjb3Bl
LnJlbGVhc2UoKTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5l
ZCgpKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU1ZhbHVlIEpTRE9NR2xvYmFs
T2JqZWN0Ojptb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1v
ZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZl
dGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRl
ciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxvYWRl
ci0+ZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgbW9kdWxl
UmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwor
fQorCitKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9h
ZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpK
U01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBK
U0M6OkpTVmFsdWUgcGFyYW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9y
aWdpbikKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlz
T2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOwor
ICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisg
ICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbG9hZGVyLT5pbXBvcnRNb2R1bGUoZ2xv
YmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFtZXRlcnMsIHNvdXJjZU9y
aWdpbikpOworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3Ry
dWN0dXJlKCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xv
YmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKworSlND
OjpKU09iamVjdCogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1l
dGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01v
ZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpT
TW9kdWxlUmVjb3JkKiBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQor
eworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01H
bG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3Jp
cHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmNyZWF0
ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVL
ZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJuIGNvbnN0cnVjdEVt
cHR5T2JqZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBl
T2JqZWN0U3RydWN0dXJlKCkpOworfQorCiBKU0RPTUdsb2JhbE9iamVjdCYgY2FsbGVyR2xvYmFs
T2JqZWN0KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUmIGNh
bGxGcmFtZSkKIHsKICAgICBjbGFzcyBHZXRDYWxsZXJHbG9iYWxPYmplY3RGdW5jdG9yIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCmluZGV4IGI4
NDA3MmRkZDc0NmIzZDZjNTEwNjBkOTA1MDFiNWNlYTFiNDk5YjEuLmY0OWE0Y2QyNTcxOTcxMTg5
MTdhN2Q3YTRiNmMwZTExZmM3NmJhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuaApAQCAtMTA1LDYgKzEwNSwxMiBAQCBjbGFzcyBXRUJDT1JF
X0VYUE9SVCBKU0RPTUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsT2JqZWN0IHsK
ICAgICBzdGF0aWMgSlNDOjpKU1Byb21pc2UqIGluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6SlNH
bG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNPYmplY3QqKTsKICNlbmRpZgogCisg
ICAgc3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFs
dWUsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1v
ZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVy
KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGlj
IEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpT
VmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJJ
bXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBK
U0M6OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYpOwor
ICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJv
cGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7CisKICAgICBKU0RP
TVN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiAgICAgSlNET01Db25zdHJ1Y3Rvck1hcCBtX2Nv
bnN0cnVjdG9yczsKICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3VhcmRlZE9iamVjdHM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCA1
NjNlZmEwNTcxYjVkNDYyZDllNjQ1MDg5ZjBiZDhmNzdkMTlhNzY4Li4zMTJhMDExNThlOGMyODA4
M2MwN2U0MmRiODcyNDVmZTRlNWM1N2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5jcHAKQEAgLTMzOSw1NCArMzM5LDQgQEAgdm9pZCBKU0RPTVdp
bmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRvdyhET01XaW5kb3cq
IHdpbmRvdykKICAgICB9CiB9CiAKLUpTQzo6SWRlbnRpZmllciBKU0RPTVdpbmRvd0Jhc2U6Om1v
ZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6
OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lLCBK
U0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVy
KQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9N
V2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9j
dW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJu
IGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9h
ZGVyLCBtb2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7Ci0gICAg
cmV0dXJuIHsgfTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dCYXNl
Ojptb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
Qzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwg
SlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewot
ICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlND
Ojpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRy
PERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQot
ICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIo
KS5mZXRjaChnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBwYXJhbWV0ZXJz
LCBzY3JpcHRGZXRjaGVyKSk7Ci0gICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogcHJvbWlzZSA9
IEpTQzo6SlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5h
bFByb21pc2VTdHJ1Y3R1cmUoKSk7Ci0gICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHByb21pc2Ut
PnJlamVjdChnbG9iYWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOwotICAgIHJldHVybiBwcm9taXNl
OwotfQotCi1KU0M6OkpTVmFsdWUgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dC
YXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2Jq
ZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndy
YXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRl
cigpLmV2YWx1YXRlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVs
ZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsK
LX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2Fk
ZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
TW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNTdHJpbmcqIG1vZHVsZU5hbWUsIEpT
Qzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYgc291cmNlT3Jp
Z2luKQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3Bl
ID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2Jq
ZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBp
ZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1
bWVudCgpKQotICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5tb2R1
bGVMb2FkZXIoKS5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVs
ZU5hbWUsIHBhcmFtZXRlcnMsIHNvdXJjZU9yaWdpbikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFBy
b21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2Uo
KTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAg
ICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpKU09iamVjdCogSlNET01XaW5kb3dCYXNlOjpt
b2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpK
U1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCogbW9kdWxlUmVjb3JkLCBKU0M6
OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmpl
Y3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAgIGlm
IChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRvY3Vt
ZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuY3JlYXRlSW1w
b3J0TWV0YVByb3BlcnRpZXMoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwg
bW9kdWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKLSAgICByZXR1cm4gY29uc3RydWN0RW1wdHlP
YmplY3QoZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPm51bGxQcm90b3R5cGVPYmpl
Y3RTdHJ1Y3R1cmUoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKaW5kZXggM2VmOTgwZGQyN2Y2YjIx
Mzk4NzAwOGJhNDc2YzhjYTY5ZjJmMGI2NC4uNTE0MmIxYzdkYzI1YzIyZmU5Nzg5NWU3NWFlMjJl
ZjRkMWU1ODlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dC
YXNlLmgKQEAgLTk5LDEyICs5OSw2IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEpTRE9NV2luZG93
QmFzZSA6IHB1YmxpYyBKU0RPTUdsb2JhbE9iamVjdCB7CiBwcml2YXRlOgogICAgIHVzaW5nIFJl
c3BvbnNlQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgY2hhciosIHNpemVfdCk+
OwogCi0gICAgc3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21p
c2UqIG1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxl
TG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0gICAg
c3RhdGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBK
U0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVM
b2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2Fk
ZXIqLCBKU0M6OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdp
biYpOwotICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRN
ZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlcios
IEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7Ci0KICAg
ICBSZWZQdHI8RE9NV2luZG93PiBtX3dyYXBwZWQ7CiAgICAgUmVmUHRyPEV2ZW50PiBtX2N1cnJl
bnRFdmVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V4
ZWNTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFeGVjU3RhdGUuaAppbmRl
eCAyN2Y3NjUwZGE2YThlZTQ0ZjM1Zjk0N2Q0OThlYTM4MWM2Yzk0MzFmLi5kNjNlNWFjYzdlMTRj
ODgzMmMwNDk2ZmU1ZTNkNjRlN2NmYmViZGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0V4ZWNTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXhlY1N0YXRlLmgKQEAgLTEwMyw2ICsxMDMsMTIgQEAgY2xhc3MgSlNFeGVjU3RhdGUgewog
ICAgICAgICByZXR1cm4gKkpTQzo6bG9hZE1vZHVsZSgmbGV4aWNhbEdsb2JhbE9iamVjdCwgc291
cmNlQ29kZSwgc2NyaXB0RmV0Y2hlcik7CiAgICAgfQogCisgICAgc3RhdGljIEpTQzo6SlNJbnRl
cm5hbFByb21pc2UmIGxvYWRBbmRFdmFsdWF0ZU1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1
ZSBwYXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKKyAgICB7CisgICAgICAg
IEpTRXhlY1N0YXRlIGN1cnJlbnRTdGF0ZSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisgICAgICAg
IHJldHVybiAqSlNDOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUoJmxleGljYWxHbG9iYWxPYmplY3Qs
IG1vZHVsZU5hbWUsIHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpOworICAgIH0KKwogICAgIHN0
YXRpYyBKU0M6OkpTVmFsdWUgbGlua0FuZEV2YWx1YXRlTW9kdWxlKEpTQzo6SlNHbG9iYWxPYmpl
Y3QmIGxleGljYWxHbG9iYWxPYmplY3QsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgbW9kdWxlS2V5
LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlciwgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+JiBy
ZXR1cm5lZEV4Y2VwdGlvbikKICAgICB7CiAgICAgICAgIEpTQzo6Vk0mIHZtID0gSlNDOjpnZXRW
TSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggNDJiMjZjOWY0ZWEyMTYy
MDdkZTRjODY4MjBiOGE4MWI2MDM1YjdlYi4uMmQ3OTNmZmYyMTg1M2E4YTFhNzg4MDY2NzI1MGY1
N2U3NTJmZTNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
ZXJHbG9iYWxTY29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcApAQCAtNTksMTEgKzU5LDExIEBAIGNvbnN0IEdsb2Jh
bE9iamVjdE1ldGhvZFRhYmxlIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVj
dE1ldGhvZFRhYmxlCiAgICAgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsCiAgICAgJnF1ZXVlTWlj
cm90YXNrVG9FdmVudExvb3AsCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVv
dXQsCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZl
dGNoCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRp
ZXMKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2Fk
ZXJJbXBvcnRNb2R1bGUsCisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxv
YWRlckZldGNoLAorICAgICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywK
KyAgICAmbW9kdWxlTG9hZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2Vy
LAogICAgICZyZXBvcnRVbmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50
U2NyaXB0RXhlY3V0aW9uT3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCAzNWZhNmUzMjc3ZmIwZDRi
ZTBlMGUxZWRjNDM3MjJlZGFkZmM4YWYyLi45ZmFlYzk1OWMzOWQxNzQ4MTgxYzk4NjUwMDNkNWE4
NmYxN2Y1ZTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmts
ZXRHbG9iYWxTY29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAKQEAgLTQ5LDExICs0OSwxMSBAQCBjb25zdCBHbG9i
YWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibAogICAgICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLAogICAgIG51bGxwdHIs
IC8vIHF1ZXVlTWljcm90YXNrVG9FdmVudExvb3AKICAgICAmc2hvdWxkSW50ZXJydXB0U2NyaXB0
QmVmb3JlVGltZW91dCwKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJSZXNvbHZlCi0gICAgbnVsbHB0ciwgLy8gbW9k
dWxlTG9hZGVyRmV0Y2gKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRN
ZXRhUHJvcGVydGllcwotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckV2YWx1YXRlCisgICAg
Jm1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSwKKyAgICAmbW9kdWxlTG9hZGVyUmVzb2x2ZSwKKyAg
ICAmbW9kdWxlTG9hZGVyRmV0Y2gsCisgICAgJm1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQ
cm9wZXJ0aWVzLAorICAgICZtb2R1bGVMb2FkZXJFdmFsdWF0ZSwKICAgICAmcHJvbWlzZVJlamVj
dGlvblRyYWNrZXIsCiAgICAgJnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uQXRFdmVudExvb3AsCiAg
ICAgJmN1cnJlbnRTY3JpcHRFeGVjdXRpb25Pd25lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE3NDNkNDcwZmVlOGRl
NDA5MWM2NDQyNTA3Y2JjODRhNGRiMmFhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNjUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVk
LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRGZXRjaGVyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Owor
CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxNb2R1bGVTY3Jp
cHRMb2FkZXI+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2FkZXIoKSA9
IGRlZmF1bHQ7CisKKyAgICB2b2lkIGNsZWFyQ2xpZW50KCkKKyAgICB7CisgICAgICAgIEFTU0VS
VChtX2NsaWVudCk7CisgICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICBK
U0M6OlNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVybiBtX3NjcmlwdEZldGNo
ZXIuZ2V0KCk7IH0KKyAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMoKSB7IHJl
dHVybiBtX3BhcmFtZXRlcnMuZ2V0KCk7IH0KKworcHJvdGVjdGVkOgorICAgIE1vZHVsZVNjcmlw
dExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNl
JiBwcm9taXNlLCBKU0M6OlNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1
bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICAgICAgOiBtX2NsaWVudCgmY2xp
ZW50KQorICAgICAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkKKyAgICAgICAgLCBtX3NjcmlwdEZl
dGNoZXIoc2NyaXB0RmV0Y2hlcikKKyAgICAgICAgLCBtX3BhcmFtZXRlcnMoV1RGTW92ZShwYXJh
bWV0ZXJzKSkKKyAgICB7CisgICAgfQorCisgICAgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KiBt
X2NsaWVudDsKKyAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBtX3Byb21pc2U7CisgICAgUmVm
PEpTQzo6U2NyaXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVyOworICAgIFJlZlB0cjxNb2R1bGVG
ZXRjaFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExv
YWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk5NWY0OGVlM2QxZTAyYzFkOGM5YzlkYTJiZDU4MjM2
ZjNiYTA3ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01v
ZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyOworY2xhc3MgRGVmZXJyZWRQ
cm9taXNlOworCitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworcHVibGljOgorICAg
IHZpcnR1YWwgfk1vZHVsZVNjcmlwdExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKKworICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChNb2R1bGVTY3JpcHRMb2FkZXImLCBVUkwmJiwgUmVm
PERlZmVycmVkUHJvbWlzZT4pID0gMDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCmluZGV4IGFhNWI4MGI1ODZiNzllMGU1
NzUwMWNkNTEwNzhkZjI1YTYyNWU1ZDkuLjgzODYwMDA1YjZlMWQ1MTMyM2Q4ODk4MmMwNTAzODUz
MmE3ZjJiZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1v
ZHVsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9k
dWxlTG9hZGVyLmNwcApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkNhY2hl
ZFNjcmlwdEZldGNoZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVm
ZXJyZWQuaCIKQEAgLTQxLDYgKzQwLDggQEAKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgi
CiAjaW5jbHVkZSAiU3VicmVzb3VyY2VJbnRlZ3JpdHkuaCIKICNpbmNsdWRlICJXZWJDb3JlSlND
bGllbnREYXRhLmgiCisjaW5jbHVkZSAiV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5j
bHVkZSAiV29ya2VyU2NyaXB0RmV0Y2hlci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Nv
bXBsZXRpb24uaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5o
PgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTW9kdWxlUmVjb3JkLmg+CkBAIC01Miw4ICs1
Myw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU2NyaXB0TW9kdWxlTG9hZGVyOjpTY3Jp
cHRNb2R1bGVMb2FkZXIoRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogbV9kb2N1bWVudChkb2N1
bWVudCkKK1NjcmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIE93bmVyVHlwZSBvd25lclR5cGUpCisgICAgOiBtX2NvbnRl
eHQoY29udGV4dCkKKyAgICAsIG1fb3duZXJUeXBlKG93bmVyVHlwZSkKIHsKIH0KIApAQCAtNjgs
NyArNzAsNyBAQCBzdGF0aWMgYm9vbCBpc1Jvb3RNb2R1bGUoSlNDOjpKU1ZhbHVlIGltcG9ydGVy
TW9kdWxlS2V5KQogICAgIHJldHVybiBpbXBvcnRlck1vZHVsZUtleS5pc1N5bWJvbCgpIHx8IGlt
cG9ydGVyTW9kdWxlS2V5LmlzVW5kZWZpbmVkKCk7CiB9CiAKLXN0YXRpYyBFeHBlY3RlZDxVUkws
IFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IFN0cmluZyYgc3BlY2lmaWVyLCBjb25zdCBVUkwmIGJhc2VVUkwpCitzdGF0aWMgRXhwZWN0ZWQ8
VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGUgb3duZXJUeXBlLCBjb25z
dCBTdHJpbmcmIHNwZWNpZmllciwgY29uc3QgVVJMJiBiYXNlVVJMKQogewogICAgIC8vIGh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNyZXNvbHZl
LWEtbW9kdWxlLXNwZWNpZmllcgogCkBAIC03OSw3ICs4MSwxMiBAQCBzdGF0aWMgRXhwZWN0ZWQ8
VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBTdAogICAgIGlmICghc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSAmJiAhc3BlY2lmaWVy
LnN0YXJ0c1dpdGgoIi4vIikgJiYgIXNwZWNpZmllci5zdGFydHNXaXRoKCIuLi8iKSkKICAgICAg
ICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBzcGVjaWZpZXIsICci
X3MsIHNwZWNpZmllciwgIicgZG9lcyBub3Qgc3RhcnQgd2l0aCBcIi9cIiwgXCIuL1wiLCBvciBc
Ii4uL1wiLiBSZWZlcmVuY2VkIGZyb20gIl9zLCBiYXNlVVJMLnN0cmluZygpKSk7CiAKLSAgICBh
dXRvIHJlc3VsdCA9IGRvY3VtZW50LmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7Cisg
ICAgVVJMIHJlc3VsdDsKKyAgICBpZiAob3duZXJUeXBlID09IFNjcmlwdE1vZHVsZUxvYWRlcjo6
T3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgcmVzdWx0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+
KGNvbnRleHQpLmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgZWxzZQorICAg
ICAgICByZXN1bHQgPSBVUkwoYmFzZVVSTCwgc3BlY2lmaWVyKTsKKwogICAgIGlmICghcmVzdWx0
LmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1v
ZHVsZSBuYW1lLCAnIl9zLCByZXN1bHQuc3RyaW5nKCksICInIGRvZXMgbm90IHJlc29sdmUgdG8g
YSB2YWxpZCBVUkwuIl9zKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEwNyw3ICsxMTQsNyBA
QCBKU0M6OklkZW50aWZpZXIgU2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNvbHZlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LAogICAgIFVSTCBiYXNlVVJMID0gcmVzcG9uc2VVUkxG
cm9tUmVxdWVzdFVSTCgqanNHbG9iYWxPYmplY3QsIGltcG9ydGVyTW9kdWxlS2V5KTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgYXV0byByZXN1bHQgPSByZXNv
bHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAg
YXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9vd25lclR5
cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpIHsKICAgICAgICAgSlND
Ojp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2NvcGUsIHJlc3VsdC5lcnJvcigpKTsK
ICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTE2MSwxMyArMTY4LDE5IEBAIEpTQzo6SlNJbnRlcm5h
bFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCog
anNHbG9iYWxPCiAgICAgaWYgKGF1dG8qIHNjcmlwdEZldGNoUGFyYW1ldGVycyA9IEpTQzo6anNE
eW5hbWljQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hQYXJhbWV0ZXJzKj4odm0sIHBhcmFtZXRlcnMp
KQogICAgICAgICB0b3BMZXZlbEZldGNoUGFyYW1ldGVycyA9IHN0YXRpY19jYXN0PE1vZHVsZUZl
dGNoUGFyYW1ldGVycyo+KCZzY3JpcHRGZXRjaFBhcmFtZXRlcnMtPnBhcmFtZXRlcnMoKSk7CiAK
LSAgICBhdXRvIGxvYWRlciA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlz
LCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXIqPihKU0M6
OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkp
LCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7Ci0gICAgbV9sb2FkZXJzLmFkZChs
b2FkZXIuY29weVJlZigpKTsKLSAgICBpZiAoIWxvYWRlci0+bG9hZChtX2RvY3VtZW50LCBjb21w
bGV0ZWRVUkwpKSB7Ci0gICAgICAgIGxvYWRlci0+Y2xlYXJDbGllbnQoKTsKLSAgICAgICAgbV9s
b2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOwotICAgICAgICByZWplY3RUb1Byb3BhZ2F0
ZU5ldHdvcmtFcnJvcihkZWZlcnJlZC5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2Fz
RXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Ci0gICAgICAg
IHJldHVybiBqc1Byb21pc2U7CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9j
dW1lbnQpIHsKKyAgICAgICAgYXV0byBsb2FkZXIgPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6
OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRG
ZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNoZXIqPihzY3JpcHRGZXRjaGVy
KS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFyYW1ldGVycykpOworICAgICAg
ICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOworICAgICAgICBpZiAoIWxvYWRlci0+
bG9hZChkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KSwgV1RGTW92ZShjb21wbGV0ZWRVUkwp
KSkgeworICAgICAgICAgICAgbG9hZGVyLT5jbGVhckNsaWVudCgpOworICAgICAgICAgICAgbV9s
b2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOworICAgICAgICAgICAgcmVqZWN0VG9Qcm9w
YWdhdGVOZXR3b3JrRXJyb3IoZGVmZXJyZWQuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6
Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOworICAg
ICAgICAgICAgcmV0dXJuIGpzUHJvbWlzZTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAg
ICAgIGF1dG8gbG9hZGVyID0gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMs
IGRlZmVycmVkLmdldCgpLCAqc3RhdGljX2Nhc3Q8V29ya2VyU2NyaXB0RmV0Y2hlcio+KEpTQzo6
anNDYXN0PEpTQzo6SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSks
IFdURk1vdmUodG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKKyAgICAgICAgbV9sb2FkZXJzLmFk
ZChsb2FkZXIuY29weVJlZigpKTsKKyAgICAgICAgbG9hZGVyLT5sb2FkKG1fY29udGV4dCwgV1RG
TW92ZShjb21wbGV0ZWRVUkwpKTsKICAgICB9CiAKICAgICByZXR1cm4ganNQcm9taXNlOwpAQCAt
MTc2LDcgKzE4OSw3IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRl
cjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPCiBVUkwgU2NyaXB0TW9kdWxl
TG9hZGVyOjptb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QsIEpT
Qzo6SlNWYWx1ZSBtb2R1bGVLZXlWYWx1ZSkKIHsKICAgICBpZiAobW9kdWxlS2V5VmFsdWUuaXNT
eW1ib2woKSkKLSAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQudXJsKCk7CisgICAgICAgIHJldHVy
biBtX2NvbnRleHQudXJsKCk7CiAKICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmco
KSk7CiAgICAgcmV0dXJuIFVSTChVUkwoKSwgYXNTdHJpbmcobW9kdWxlS2V5VmFsdWUpLT52YWx1
ZSgmanNHbG9iYWxPYmplY3QpKTsKQEAgLTE4Nyw4ICsyMDAsMTEgQEAgVVJMIFNjcmlwdE1vZHVs
ZUxvYWRlcjo6cmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiBq
c0dsb2JhbE8KICAgICBKU0M6OlZNJiB2bSA9IGpzR2xvYmFsT2JqZWN0LnZtKCk7CiAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKGlzUm9vdE1vZHVs
ZShtb2R1bGVLZXlWYWx1ZSkpCi0gICAgICAgIHJldHVybiBtX2RvY3VtZW50LmJhc2VVUkwoKTsK
KyAgICBpZiAoaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkgeworICAgICAgICBpZiAobV9v
d25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgICAgIHJldHVybiBkb3du
Y2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7CisgICAgICAgIHJldHVybiBtX2Nv
bnRleHQudXJsKCk7CisgICAgfQogCiAgICAgQVNTRVJUKCFpc1Jvb3RNb2R1bGUobW9kdWxlS2V5
VmFsdWUpKTsKICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CkBAIC0yMTks
OCArMjM1LDE0IEBAIEpTQzo6SlNWYWx1ZSBTY3JpcHRNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LCBKCiAgICAgaWYgKCFzb3VyY2VVUkwu
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gSlNDOjp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9i
amVjdCwgc2NvcGUsICJNb2R1bGUga2V5IGlzIGFuIGludmFsaWQgVVJMLiJfcyk7CiAKLSAgICBp
ZiAoYXV0byogZnJhbWUgPSBtX2RvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIHJldHVybiBmcmFt
ZS0+c2NyaXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAg
ICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBpZiAo
YXV0byogZnJhbWUgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5mcmFtZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS5ldmFsdWF0ZU1vZHVsZShzb3VyY2VVUkws
ICptb2R1bGVSZWNvcmQpOworICAgIH0gZWxzZSB7CisgICAgICAgIEFTU0VSVChpczxXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KSk7CisgICAgICAgIGlmIChhdXRvKiBzY3Jp
cHQgPSBkb3duY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KS5zY3Jp
cHQoKSkKKyAgICAgICAgICAgIHJldHVybiBzY3JpcHQtPmV2YWx1YXRlTW9kdWxlKCptb2R1bGVS
ZWNvcmQpOworICAgIH0KICAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwogfQogCkBAIC0y
NDgsOCArMjcwLDEzIEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRl
cjo6aW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzCiAgICAgVVJMIGJhc2VVUkw7
CiAgICAgUmVmUHRyPEpTQzo6U2NyaXB0RmV0Y2hlcj4gc2NyaXB0RmV0Y2hlcjsKICAgICBpZiAo
c291cmNlT3JpZ2luLmlzTnVsbCgpKSB7Ci0gICAgICAgIGJhc2VVUkwgPSBtX2RvY3VtZW50LmJh
c2VVUkwoKTsKLSAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNy
ZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBP
d25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgICAgICBiYXNlVVJMID0gZG93bmNhc3Q8RG9j
dW1lbnQ+KG1fY29udGV4dCkuYmFzZVVSTCgpOworICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9
IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0
KS5jaGFyc2V0KCkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYmFzZVVSTCA9IG1f
Y29udGV4dC51cmwoKTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRG
ZXRjaGVyOjpjcmVhdGUoRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbik7Cisg
ICAgICAgIH0KICAgICB9IGVsc2UgewogICAgICAgICBiYXNlVVJMID0gVVJMKFVSTCgpLCBzb3Vy
Y2VPcmlnaW4uc3RyaW5nKCkpOwogICAgICAgICBpZiAoIWJhc2VVUkwuaXNWYWxpZCgpKQpAQCAt
MjU3LDE0ICsyODQsMTkgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9h
ZGVyOjppbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganMKIAogICAgICAgICBpZiAo
c291cmNlT3JpZ2luLmZldGNoZXIoKSkKICAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBzb3Vy
Y2VPcmlnaW4uZmV0Y2hlcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzY3JpcHRGZXRj
aGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKG1fZG9jdW1lbnQuY2hhcnNldCgpKTsK
KworICAgICAgICBpZiAoIXNjcmlwdEZldGNoZXIpIHsKKyAgICAgICAgICAgIGlmIChtX293bmVy
VHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KQorICAgICAgICAgICAgICAgIHNjcmlwdEZldGNo
ZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUoZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29u
dGV4dCkuY2hhcnNldCgpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzY3Jp
cHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKEZldGNoT3B0aW9uczo6Q3Jl
ZGVudGlhbHM6OlNhbWVPcmlnaW4pOworICAgICAgICB9CiAgICAgfQogICAgIEFTU0VSVChiYXNl
VVJMLmlzVmFsaWQoKSk7CiAgICAgQVNTRVJUKHNjcmlwdEZldGNoZXIpOwogCiAgICAgYXV0byBz
cGVjaWZpZXIgPSBtb2R1bGVOYW1lLT52YWx1ZShqc0dsb2JhbE9iamVjdCk7Ci0gICAgYXV0byBy
ZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFz
ZVVSTCk7CisgICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4
dCwgbV9vd25lclR5cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpCiAg
ICAgICAgIHJldHVybiByZWplY3RQcm9taXNlKGdsb2JhbE9iamVjdCwgVHlwZUVycm9yLCByZXN1
bHQuZXJyb3IoKSk7CiAKQEAgLTI4OCw2MiArMzIwLDEwNyBAQCBKU0M6OkpTT2JqZWN0KiBTY3Jp
cHRNb2R1bGVMb2FkZXI6OmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxP
YmplYwogICAgIHJldHVybiBtZXRhUHJvcGVydGllczsKIH0KIAotdm9pZCBTY3JpcHRNb2R1bGVM
b2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciYgbG9hZGVyLCBS
ZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBwcm9taXNlKQordm9pZCBTY3JpcHRNb2R1bGVMb2FkZXI6
Om5vdGlmeUZpbmlzaGVkKE1vZHVsZVNjcmlwdExvYWRlciYgbW9kdWxlU2NyaXB0TG9hZGVyLCBV
UkwmJiBzb3VyY2VVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+IHByb21pc2UpCiB7CiAgICAgLy8g
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2Zl
dGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKIAotICAgIFVSTCBzb3VyY2VVUkwgPSBsb2FkZXIu
c291cmNlVVJMKCk7Ci0gICAgaWYgKCFtX2xvYWRlcnMucmVtb3ZlKCZsb2FkZXIpKQorICAgIGlm
ICghbV9sb2FkZXJzLnJlbW92ZSgmbW9kdWxlU2NyaXB0TG9hZGVyKSkKICAgICAgICAgcmV0dXJu
OwotICAgIGxvYWRlci5jbGVhckNsaWVudCgpOworICAgIG1vZHVsZVNjcmlwdExvYWRlci5jbGVh
ckNsaWVudCgpOwogCi0gICAgYXV0byYgY2FjaGVkU2NyaXB0ID0gKmxvYWRlci5jYWNoZWRTY3Jp
cHQoKTsKKyAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAg
ICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIm
Pihtb2R1bGVTY3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9h
ZGVyLmNhY2hlZFNjcmlwdCgpOwogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC5yZXNvdXJjZUVycm9y
KCkuaXNBY2Nlc3NDb250cm9sKCkpIHsKLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJv
ciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291
cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAg
IGlmIChjYWNoZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7Cisg
ICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCAiQ3Jvc3Mtb3JpZ2luIHNjcmlw
dCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIl9z
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKGNhY2hlZFNjcmlw
dC5lcnJvck9jY3VycmVkKCkpIHsKLSAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJy
b3IoKnByb21pc2UsIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRp
bmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQor
ICAgICAgICBpZiAoY2FjaGVkU2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgeworICAgICAgICAgICAg
cmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hG
YWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVk
LiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlmIChjYWNoZWRT
Y3JpcHQud2FzQ2FuY2VsZWQoKSkgewotICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtF
cnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBv
cnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQud2FzQ2FuY2VsZWQoKSkgeworICAgICAg
ICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxl
RmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0
IGlzIGNhbmNlbGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAg
IGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUoY2Fj
aGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSkpIHsKLSAgICAgICAgLy8gaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2lu
Z2xlLW1vZHVsZS1zY3JpcHQKLSAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEg
TUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVy
cykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCi0gICAgICAgIC8vIEZvciBoaXN0b3Jp
Y2FsIHJlYXNvbnMsIGZldGNoaW5nIGEgY2xhc3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBN
SU1FIHR5cGUgY2hlY2tpbmcuIEluIGNvbnRyYXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwg
dG8gbG9hZCBpZiB0aGV5IGFyZSBub3Qgb2YgYSBjb3JyZWN0IE1JTUUgdHlwZS4KLSAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5y
ZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0
eXBlLiIpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKCFNSU1FVHlwZVJl
Z2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZShjYWNoZWRTY3JpcHQucmVzcG9u
c2UoKS5taW1lVHlwZSgpKSkgeworICAgICAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1z
Y3JpcHQKKyAgICAgICAgICAgIC8vIFRoZSByZXN1bHQgb2YgZXh0cmFjdGluZyBhIE1JTUUgdHlw
ZSBmcm9tIHJlc3BvbnNlJ3MgaGVhZGVyIGxpc3QgKGlnbm9yaW5nIHBhcmFtZXRlcnMpIGlzIG5v
dCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLgorICAgICAgICAgICAgLy8gRm9yIGhpc3RvcmljYWwg
cmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBpbmNsdWRlIE1JTUUg
dHlwZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdpbGwgZmFpbCB0byBs
b2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgorICAgICAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5y
ZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0
eXBlLiIpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChh
dXRvKiBwYXJhbWV0ZXJzID0gbG9hZGVyLnBhcmFtZXRlcnMoKSkgeworICAgICAgICAgICAgaWYg
KCFtYXRjaEludGVncml0eU1ldGFkYXRhKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdy
aXR5KCkpKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFr
ZVN0cmluZygiQ2Fubm90IGxvYWQgc2NyaXB0ICIsIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRp
b24oY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBVUkwgcmVz
cG9uc2VVUkwgPSBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS51cmwoKTsKKyAgICAgICAgLy8gSWYg
d2UgZG8gbm90IGhhdmUgcmVkaXJlY3Rpb24sIHdlIG11c3QgcmVzZXJ2ZSB0aGUgc291cmNlIFVS
TCdzIGZyYWdtZW50IGV4cGxpY2l0bHkgaGVyZSBzaW5jZSBSZXNvdXJjZVJlc3BvbnNlOjp1cmwo
KSBpcyB0aGUgb25lIHdoZW4gd2UgZmlyc3QgY2FjaGUgaXQgdG8gTWVtb3J5Q2FjaGUuCisgICAg
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJhY2sgZnJhZ21lbnRzIHRocm91Z2ggcmVkaXJlY3Rp
b25zLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4NDIwCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTA0OTAKKyAgICAgICAgaWYgKCFjYWNoZWRTY3JpcHQuaGFzUmVkaXJlY3Rpb25zKCkgJiYg
Y2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkuc291cmNlKCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291
cmNlOjpTZXJ2aWNlV29ya2VyKSB7CisgICAgICAgICAgICBpZiAoc291cmNlVVJMLmhhc0ZyYWdt
ZW50SWRlbnRpZmllcigpKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlVVJMLnNldEZyYWdtZW50
SWRlbnRpZmllcihzb3VyY2VVUkwuZnJhZ21lbnRJZGVudGlmaWVyKCkpOworICAgICAgICB9CisK
KyAgICAgICAgbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcC5hZGQoc291cmNlVVJMLnN0cmlu
ZygpLCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSk7CisgICAgICAgIHByb21pc2UtPnJlc29sdmVXaXRo
Q2FsbGJhY2soWyZdIChKU0RPTUdsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QpIHsKKyAgICAg
ICAgICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0LnZt
KCksCisgICAgICAgICAgICAgICAgSlNDOjpTb3VyY2VDb2RlIHsgU2NyaXB0U291cmNlQ29kZSB7
ICZjYWNoZWRTY3JpcHQsIEpTQzo6U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUsIGxv
YWRlci5zY3JpcHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9KTsKKyAgICAgICAgfSk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgYXV0byYgbG9hZGVyID0gc3RhdGljX2Nhc3Q8V29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyJj4obW9kdWxlU2NyaXB0TG9hZGVyKTsKKyAgICAgICAgYXV0byYgd29y
a2VyU2NyaXB0TG9hZGVyID0gbG9hZGVyLnNjcmlwdExvYWRlcigpOwogCi0gICAgaWYgKGF1dG8q
IHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7Ci0gICAgICAgIGlmICghbWF0Y2hJ
bnRlZ3JpdHlNZXRhZGF0YShjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkg
ewotICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiQ2Fu
bm90IGxvYWQgc2NyaXB0ICIsIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRpb24oY2FjaGVkU2Ny
aXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpKTsKKyAgICAgICAgaWYgKHdvcmtlclNjcmlw
dExvYWRlci5mYWlsZWQoKSkgeworICAgICAgICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5l
cnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVq
ZWN0KFR5cGVFcnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVy
LmVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSkgeworICAgICAgICAgICAgICAgIHJlamVjdFRvUHJv
cGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6
Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3Mp
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
cmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hG
YWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVk
LiJfcyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICB9CiAKLSAgICBVUkwg
cmVzcG9uc2VVUkwgPSBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS51cmwoKTsKLSAgICAvLyBJZiB3
ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJM
J3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgp
IGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KLSAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNrIGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4K
LSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCi0g
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAotICAg
IGlmICghY2FjaGVkU2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNw
b25zZSgpLnNvdXJjZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtl
cikgewotICAgICAgICBpZiAoc291cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQotICAg
ICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFn
bWVudElkZW50aWZpZXIoKSk7Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6
OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25z
ZU1JTUVUeXBlKCkpKSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cu
b3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlw
dAorICAgICAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZy
b20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEg
SmF2YVNjcmlwdCBNSU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFz
b25zLCBmZXRjaGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBl
IGNoZWNraW5nLiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQg
aWYgdGhleSBhcmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9t
aXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgd29ya2VyU2NyaXB0TG9hZGVy
LnJlc3BvbnNlTUlNRVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5
cGUuIikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBtX3JlcXVlc3RV
UkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9u
c2VVUkwpKTsKLSAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9i
YWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBKU0M6OkpTU291cmNl
Q29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0LnZtKCksCi0gICAgICAgICAgICBKU0M6OlNvdXJj
ZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92
aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNl
Q29kZSgpIH0pOwotICAgIH0pOworICAgICAgICBVUkwgcmVzcG9uc2VVUkwgPSB3b3JrZXJTY3Jp
cHRMb2FkZXIucmVzcG9uc2VVUkwoKTsKKworICAgICAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSBy
ZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhw
bGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hl
biB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KKyAgICAgICAgLy8gRklYTUU6IFdl
IHNob3VsZCB0cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRpcmVjdGlvbnMuCisgICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAKKyAgICAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAorICAgICAg
ICBpZiAoIXdvcmtlclNjcmlwdExvYWRlci5pc1JlZGlyZWN0ZWQoKSAmJiB3b3JrZXJTY3JpcHRM
b2FkZXIucmVzcG9uc2VTb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZp
Y2VXb3JrZXIpIHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlm
aWVyKCkpCisgICAgICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVy
KHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBt
X3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIHJlc3Bv
bnNlVVJMKTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9N
R2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6
SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAg
ICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgd29ya2VyU2NyaXB0TG9hZGVy
LnNjcmlwdCgpLCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVy
U291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2Rl
KCkgfSk7CisgICAgICAgIH0pOworICAgIH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaAppbmRleCBkZTI5ZDJmNGJmMDk2YjYwYzM2
OTk4MDMxNmMxNDg2YjI4MmFiZjA5Li5kZjM0ZDU1MWExMWNkOThmNGUyMzZhMmFhMWY0ODI3OWQ5
NjRjNjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1
bGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVM
b2FkZXIuaApAQCAtMjUsOCArMjUsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIgotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudC5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUg
Ik1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
Q0pTVmFsdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgpAQCAtNDUsMTYgKzQ1LDE3IEBAIGNsYXNzIFNvdXJjZU9yaWdpbjsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2Jq
ZWN0OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAotY2xhc3MgU2NyaXB0TW9kdWxl
TG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewor
Y2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdE1vZHVsZUxvYWRlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0IFNjcmlwdE1v
ZHVsZUxvYWRlcihEb2N1bWVudCYpOworICAgIGVudW0gY2xhc3MgT3duZXJUeXBlIDogdWludDhf
dCB7IERvY3VtZW50LCBXb3JrZXJPcldvcmtsZXQgfTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1
bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE93bmVyVHlwZSk7CiAgICAgflNjcmlw
dE1vZHVsZUxvYWRlcigpOwogCi0gICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgeyByZXR1cm4gbV9k
b2N1bWVudDsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQoKSB7IHJldHVy
biBtX2NvbnRleHQ7IH0KIAogICAgIEpTQzo6SWRlbnRpZmllciByZXNvbHZlKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUs
IEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNo
ZXIpOwogICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpK
U1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKQEAgLTYzLDEz
ICs2NCwxNSBAQCBjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CiAgICAgSlNDOjpKU09iamVjdCogY3JlYXRlSW1w
b3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2Fk
ZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwog
CiBwcml2YXRlOgotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyJiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4pIGZpbmFsOworICAgIHZvaWQgbm90aWZ5Rmlu
aXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSBm
aW5hbDsKKwogICAgIFVSTCBtb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNW
YWx1ZSk7CiAgICAgVVJMIHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9i
amVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAKLSAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFVS
TD4gbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcDsKLSAgICBIYXNoU2V0PFJlZjxDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI+PiBtX2xvYWRlcnM7CisgICAgSGFzaFNldDxSZWY8TW9kdWxlU2Ny
aXB0TG9hZGVyPj4gbV9sb2FkZXJzOworICAgIE93bmVyVHlwZSBtX293bmVyVHlwZTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFNvdXJjZUNvZGUuaAppbmRleCBjNzA0NjI2ZmI3MzNkYjQ3MmJkYTUwMjM2MjQxYTZlNzQw
ZTI3ODJiLi4xMGZhN2U4YjQ0OWM4Yjg0OWViMzdjYzFmMmM4NjZmYTg5M2FhZDZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291cmNlQ29kZS5oCkBAIC01Nyw3ICs1
Nyw3IEBAIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGUgewogICAgIHsKICAgICB9CiAKLSAgICBTY3Jp
cHRTb3VyY2VDb2RlKGNvbnN0IFN0cmluZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQ
b3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291
cmNlVHlwZSwgUmVmPENhY2hlZFNjcmlwdEZldGNoZXI+JiYgc2NyaXB0RmV0Y2hlcikKKyAgICBT
Y3JpcHRTb3VyY2VDb2RlKGNvbnN0IFN0cmluZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRl
eHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUg
c291cmNlVHlwZSwgUmVmPEpTQzo6U2NyaXB0RmV0Y2hlcj4mJiBzY3JpcHRGZXRjaGVyKQogICAg
ICAgICA6IG1fcHJvdmlkZXIoSlNDOjpTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJj
ZSwgSlNDOjpTb3VyY2VPcmlnaW4geyB1cmwsIFdURk1vdmUoc2NyaXB0RmV0Y2hlcikgfSwgdXJs
LnN0cmluZygpLCBzdGFydFBvc2l0aW9uLCBzb3VyY2VUeXBlKSkKICAgICAgICAgLCBtX2NvZGUo
bV9wcm92aWRlci5jb3B5UmVmKCksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCks
IHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKSkKICAgICB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNjJjZjMyYWI2YWYyODYyOTY3MTUzZGNkODUxZjgzNzgyM2UzZmFiCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyLmNwcApAQCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIldvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorCisjaW5j
bHVkZSAiQ2FjaGVkU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5o
IgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRl
cnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKKyNpbmNsdWRlICJTY3Jp
cHRDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCisjaW5jbHVk
ZSAiU2NyaXB0U291cmNlQ29kZS5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI+IFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYg
Y2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIFdvcmtlclNjcmlwdEZldGNoZXImIHNj
cmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoY2xp
ZW50LCBwcm9taXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKSk7Cit9CisK
K1dvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIFdv
cmtlclNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFt
ZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICA6IE1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHBy
b21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykpCisgICAgLCBtX3Njcmlw
dExvYWRlcihXb3JrZXJTY3JpcHRMb2FkZXI6OmNyZWF0ZSgpKQoreworfQorCitXb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXI6On5Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoKQoreworICAgIG1fc2Ny
aXB0TG9hZGVyLT5jYW5jZWwoKTsKK30KKworYm9vbCBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6
OmxvYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgVVJMJiYgc291cmNlVVJMKQor
eworICAgIG1fc291cmNlVVJMID0gV1RGTW92ZShzb3VyY2VVUkwpOworCisgICAgUmVzb3VyY2VS
ZXF1ZXN0IHJlcXVlc3QgeyBtX3NvdXJjZVVSTCB9OworCisgICAgRmV0Y2hPcHRpb25zIGZldGNo
T3B0aW9uczsKKyAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6Q29y
czsKKyAgICBmZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9wdGlvbnM6OkNhY2hlOjpEZWZhdWx0
OworICAgIGZldGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6UmVkaXJlY3Q6OkZv
bGxvdzsKKyAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSBzdGF0aWNfY2FzdDxXb3JrZXJT
Y3JpcHRGZXRjaGVyJj4oc2NyaXB0RmV0Y2hlcigpKS5jcmVkZW50aWFscygpOworICAgIGF1dG8g
Y29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBjb250ZXh0LnNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5m
b3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50
OjpFbmZvcmNlQ2hpbGRTcmNEaXJlY3RpdmU7CisKKyAgICBTdHJpbmcgdGFza01vZGUgPSAibG9h
ZE1vZHVsZXNJbldvcmtlck9yV29ya2xldE1vZGUiX3M7CisgICAgbV9zY3JpcHRMb2FkZXItPmxv
YWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNo
T3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vy
c01vZGU6OkFsbCwgKnRoaXMsIFdURk1vdmUodGFza01vZGUpKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwordm9pZCBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKCkKK3sK
KyAgICBBU1NFUlQobV9wcm9taXNlKTsKKworICAgIGF1dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpOworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPm5vdGlmeUZp
bmlzaGVkKCp0aGlzLCBXVEZNb3ZlKG1fc291cmNlVVJMKSwgbV9wcm9taXNlLnJlbGVhc2VOb25O
dWxsKCkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxMDA4MGVlOTMxYmZiMGIzM2E5
ZjU0NzNiMjk3Y2EyZGMyZTQ3NTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApAQCAtMCwwICsxLDY0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJNb2R1bGVTY3JpcHRMb2FkZXIu
aCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlIDx3dGYv
UmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1VSTC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IERlZmVycmVkUHJvbWlzZTsKK2NsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIE1v
ZHVsZVNjcmlwdExvYWRlckNsaWVudDsKK2NsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKKworY2xh
c3MgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIE1vZHVsZVNjcmlwdExv
YWRlciwgcHJpdmF0ZSBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQgeworcHVibGljOgorICAgIHN0
YXRpYyBSZWY8V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyPiBjcmVhdGUoTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgV29ya2VyU2NyaXB0RmV0Y2hlciYsIFJlZlB0
cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOworCisgICAgdmlydHVhbCB+V29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyKCk7CisKKyAgICBib29sIGxvYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IFVSTCYmIHNvdXJjZVVSTCk7CisKKyAgICBXb3JrZXJTY3JpcHRMb2FkZXImIHNjcmlwdExvYWRl
cigpIHsgcmV0dXJuIG1fc2NyaXB0TG9hZGVyLmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgV29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVk
UHJvbWlzZSYsIFdvcmtlclNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzPiYmKTsKKworICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmKSBmaW5hbCB7IH0KKyAgICB2b2lkIG5vdGlmeUZpbmlzaGVk
KCkgZmluYWw7CisKKyAgICBSZWY8V29ya2VyU2NyaXB0TG9hZGVyPiBtX3NjcmlwdExvYWRlcjsK
KyAgICBVUkwgbV9zb3VyY2VVUkw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjZiNTRlZjg5NGI1MzNlYWZjZWJjMWExNGJmMjc2YTAzZWNiYTEwYgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIu
aApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJMb2FkYWJsZVNjcmlwdC5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEZldGNo
ZXIuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDYWNoZWRTY3JpcHQ7Citj
bGFzcyBEb2N1bWVudDsKKworY2xhc3MgV29ya2VyU2NyaXB0RmV0Y2hlciBmaW5hbCA6IHB1Ymxp
YyBKU0M6OlNjcmlwdEZldGNoZXIgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V29ya2VyU2Ny
aXB0RmV0Y2hlcj4gY3JlYXRlKEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMp
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXb3JrZXJTY3JpcHRGZXRjaGVy
KGNyZWRlbnRpYWxzKSk7CisgICAgfQorCisgICAgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBj
cmVkZW50aWFscygpIGNvbnN0IHsgcmV0dXJuIG1fY3JlZGVudGlhbHM7IH0KKworICAgIHZvaWQg
bm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYgbW9kdWxlS2V5KQorICAgIHsK
KyAgICAgICAgbV9tb2R1bGVLZXkgPSAmbW9kdWxlS2V5OworICAgICAgICBtX2lzTG9hZGVkID0g
dHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIG5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6
OkVycm9yJiYgZXJyb3IpCisgICAgeworICAgICAgICBtX2Vycm9yID0gV1RGTW92ZShlcnJvcik7
CisgICAgICAgIG1faXNMb2FkZWQgPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgbm90aWZ5TG9h
ZFdhc0NhbmNlbGVkKCkKKyAgICB7CisgICAgICAgIG1fd2FzQ2FuY2VsZWQgPSB0cnVlOworICAg
ICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIGlzTG9hZGVkKCkgY29u
c3QgeyByZXR1cm4gbV9pc0xvYWRlZDsgfQorICAgIE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpF
cnJvcj4gZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9CisgICAgYm9vbCB3YXNDYW5j
ZWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2FzQ2FuY2VsZWQ7IH0KKyAgICBVbmlxdWVkU3RyaW5n
SW1wbCogbW9kdWxlS2V5KCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0KKwor
cHJvdGVjdGVkOgorICAgIFdvcmtlclNjcmlwdEZldGNoZXIoRmV0Y2hPcHRpb25zOjpDcmVkZW50
aWFscyBjcmVkZW50aWFscykKKyAgICAgICAgOiBtX2NyZWRlbnRpYWxzKGNyZWRlbnRpYWxzKQor
ICAgIHsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBt
X2NyZWRlbnRpYWxzOworICAgIFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4gbV9tb2R1bGVLZXk7
CisgICAgT3B0aW9uYWw8TG9hZGFibGVTY3JpcHQ6OkVycm9yPiBtX2Vycm9yOworICAgIGJvb2wg
bV93YXNDYW5jZWxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzTG9hZGVkIHsgZmFsc2UgfTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IDliMjEzOGI3N2MxODBkNzIwOTUxODAwZTE0ZTM0N2ExNDNlOTcxNzEuLjU0Y2ZmMDRhOTZkYmM4
MDlkNjM2YWFlYzhlY2IyMDVlNDY3N2YwNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NjE1LDcgKzYxNSw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IFNl
dHRpbmdzJiBzZXR0aW5ncywgY29uc3QgVVJMJiB1cmwsIERvY3VtCiAgICAgLCBtX2RvY3VtZW50
Q3JlYXRpb25UaW1lKE1vbm90b25pY1RpbWU6Om5vdygpKQogI2VuZGlmCiAgICAgLCBtX3Njcmlw
dFJ1bm5lcihtYWtlVW5pcXVlPFNjcmlwdFJ1bm5lcj4oKnRoaXMpKQotICAgICwgbV9tb2R1bGVM
b2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzKSkKKyAgICAsIG1fbW9k
dWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhpcywgU2NyaXB0TW9k
dWxlTG9hZGVyOjpPd25lclR5cGU6OkRvY3VtZW50KSkKICNpZiBFTkFCTEUoWFNMVCkKICAgICAs
IG1fYXBwbHlQZW5kaW5nWFNMVHJhbnNmb3Jtc1RpbWVyKCp0aGlzLCAmRG9jdW1lbnQ6OmFwcGx5
UGVuZGluZ1hTTFRyYW5zZm9ybXNUaW1lckZpcmVkKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAppbmRleCA5YTI1YzE2NTg4ZWVjYWQ2NzhmYjkx
MWVjODYyMmY0MjQyNTkyYjVhLi40OGVjMDg1MWE0NTdkOWJhNDc0NzNmZWMyOGQ3YjQ5MzEyYjc4
OGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKQEAg
LTg4LDE2ICs4OCw0IEBAIHZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmV4ZWN1dGUoU2NyaXB0
RWxlbWVudCYgc2NyaXB0RWxlbWVudCkKICAgICBzY3JpcHRFbGVtZW50LmV4ZWN1dGVNb2R1bGVT
Y3JpcHQoKnRoaXMpOwogfQogCi12b2lkIExvYWRhYmxlTW9kdWxlU2NyaXB0Ojpsb2FkKERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiByb290VVJMKQotewotICAgIGlmIChhdXRvKiBmcmFt
ZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxl
U2NyaXB0KCp0aGlzLCByb290VVJMLnN0cmluZygpLCBtX3BhcmFtZXRlcnMuY29weVJlZigpKTsK
LX0KLQotdm9pZCBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQs
IGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCi17Ci0gICAgaWYgKGF1dG8qIGZy
YW1lID0gZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1
bGVTY3JpcHQoKnRoaXMsIHNvdXJjZUNvZGUpOwotfQotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9M
b2FkYWJsZU1vZHVsZVNjcmlwdC5oCmluZGV4IGJiNzk5NTRkN2I5OWIwZWQwNmJmZTU1ZWY4NTRl
Y2NlMjFmMzU4NzcuLmQyNTM1OTYzZjY0OGIwMmE4YTAxZmQ2M2JiMWUzODEzODZjZWU0MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCkBAIC01MCwxNSArNTAs
MTQgQEAgY2xhc3MgTG9hZGFibGVNb2R1bGVTY3JpcHQgZmluYWwgOiBwdWJsaWMgTG9hZGFibGVT
Y3JpcHQgewogCiAgICAgdm9pZCBzZXRFcnJvcihFcnJvciYmKTsKIAotICAgIHZvaWQgbG9hZChE
b2N1bWVudCYsIGNvbnN0IFVSTCYgcm9vdFVSTCk7Ci0gICAgdm9pZCBsb2FkKERvY3VtZW50Jiwg
Y29uc3QgU2NyaXB0U291cmNlQ29kZSYpOwotCiAgICAgdm9pZCBub3RpZnlMb2FkQ29tcGxldGVk
KFVuaXF1ZWRTdHJpbmdJbXBsJik7CiAgICAgdm9pZCBub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxl
U2NyaXB0OjpFcnJvciYmKTsKICAgICB2b2lkIG5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpOwogCiAg
ICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1vZHVsZUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxl
S2V5LmdldCgpOyB9CiAKKyAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMoKSB7
IHJldHVybiBtX3BhcmFtZXRlcnMuZ2V0KCk7IH0KKwogcHJpdmF0ZToKICAgICBMb2FkYWJsZU1v
ZHVsZVNjcmlwdChjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGludGVncml0eSwg
UmVmZXJyZXJQb2xpY3ksIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBjb25zdCBTdHJp
bmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIGJvb2wgaXNJblVz
ZXJBZ2VudFNoYWRvd1RyZWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5k
ZXggMDU3NThiNjAwYzc1MjJiNDdmMzY0YmE2YTE4ZDM1ZjE3MzExMDdmOS4uNWU5OWYwZjU3Nzdi
M2IyMTU4ZGQwZmE0YmMzODI3NzZjZGIzNDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVt
ZW50LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkxvYWRhYmxlQ2xhc3NpY1Njcmlw
dC5oIgogI2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCiAjaW5jbHVkZSAiTUlNRVR5
cGVSZWdpc3RyeS5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1
ZGUgIlBlbmRpbmdTY3JpcHQuaCIKICNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3Mu
aCIKICNpbmNsdWRlICJTVkdTY3JpcHRFbGVtZW50LmgiCkBAIC0zNTEsOCArMzUyLDExIEBAIGJv
b2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVsZVNjcmlwdChjb25zdCBUZXh0UG9zaXRpb24m
IHNjcmlwdFN0YXJ0UG9zaXRpb24pCiAgICAgICAgICAgICBzY3JpcHRDaGFyc2V0KCksCiAgICAg
ICAgICAgICBtX2VsZW1lbnQubG9jYWxOYW1lKCksCiAgICAgICAgICAgICBtX2VsZW1lbnQuaXNJ
blVzZXJBZ2VudFNoYWRvd1RyZWUoKSk7Ci0gICAgICAgIHNjcmlwdC0+bG9hZChtX2VsZW1lbnQu
ZG9jdW1lbnQoKSwgbW9kdWxlU2NyaXB0Um9vdFVSTCk7CiAgICAgICAgIG1fbG9hZGFibGVTY3Jp
cHQgPSBXVEZNb3ZlKHNjcmlwdCk7CisgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IG1fZWxlbWVu
dC5kb2N1bWVudCgpLmZyYW1lKCkpIHsKKyAgICAgICAgICAgIGF1dG8mIHNjcmlwdCA9IGRvd25j
YXN0PExvYWRhYmxlTW9kdWxlU2NyaXB0PigqbV9sb2FkYWJsZVNjcmlwdC5nZXQoKSk7CisgICAg
ICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdChzY3JpcHQsIG1vZHVsZVNj
cmlwdFJvb3RVUkwuc3RyaW5nKCksIG1ha2VSZWYoc2NyaXB0LnBhcmFtZXRlcnMoKSkpOworICAg
ICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMzY3LDggKzM3MSw5IEBA
IGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVsZVNjcmlwdChjb25zdCBUZXh0UG9zaXRp
b24mIHNjcmlwdFN0YXJ0UG9zaXRpb24pCiAgICAgaWYgKCFjb250ZW50U2VjdXJpdHlQb2xpY3ku
YWxsb3dJbmxpbmVTY3JpcHQobV9lbGVtZW50LmRvY3VtZW50KCkudXJsKCkuc3RyaW5nKCksIG1f
c3RhcnRMaW5lTnVtYmVyLCBzb3VyY2VDb2RlLnNvdXJjZSgpLnRvU3RyaW5nV2l0aG91dENvcHlp
bmcoKSwgaGFzS25vd25Ob25jZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHNjcmlw
dC0+bG9hZChtX2VsZW1lbnQuZG9jdW1lbnQoKSwgc291cmNlQ29kZSk7CiAgICAgbV9sb2FkYWJs
ZVNjcmlwdCA9IFdURk1vdmUoc2NyaXB0KTsKKyAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1l
bnQuZG9jdW1lbnQoKS5mcmFtZSgpKQorICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVs
ZVNjcmlwdChkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4oKm1fbG9hZGFibGVTY3JpcHQu
Z2V0KCkpLCBzb3VyY2VDb2RlKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDI3MTdjODYxYzc0YjBmMmFlYmNk
ZTQwODcwMGUyYTlhMDM3Mzc1OTUuLjFiNjUzMmMzYjBlYWE4MGQ5YmQ0NmM2ZDQzMjEzNjk2MjFj
MDE5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAg
LTEwMSwxMCArMTAxLDEwIEBAIFRocmVhZGFibGVMb2FkZXJPcHRpb25zIFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zOjppc29sYXRlZENvcHkoKSBjb25zdAogfQogCiAKLVJlZlB0cjxUaHJlYWRhYmxl
TG9hZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgU3RyaW5n
JiYgcmVmZXJyZXIpCitSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQmIGNsaWVudCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIFN0cmluZyYmIHJlZmVycmVyLCBTdHJpbmcmJiB0YXNr
TW9kZSkKIHsKICAgICBpZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpIHx8IChpczxX
b3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtsZXRHbG9iYWxTY29w
ZT4oY29udGV4dCkud29ya2VyT3JXb3JrbGV0VGhyZWFkKCkpKQotICAgICAgICByZXR1cm4gV29y
a2VyVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PFdvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlJj4oY29udGV4dCksIGNsaWVudCwgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUo
KSwgV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9ucywgV1RGTW92ZShyZWZlcnJlcikpOworICAgICAg
ICByZXR1cm4gV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PFdvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlJj4oY29udGV4dCksIGNsaWVudCwgV1RGTW92ZSh0YXNrTW9k
ZSksIFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMsIFdURk1vdmUocmVmZXJyZXIpKTsKIAogICAg
IERvY3VtZW50KiBkb2N1bWVudCA9IG51bGxwdHI7CiAgICAgaWYgKGlzPFdvcmtsZXRHbG9iYWxT
Y29wZT4oY29udGV4dCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFk
YWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApp
bmRleCBjMmIyNDVjM2ViYjhiYzkzMGVmNGQxNzJiYTE1MDlhMTc5ZjFkN2E2Li4xYWM3MDRiNGMz
YjUwYjBmZmRhMDM0MjhjM2NlN2RhMTQ5ODgyNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyLmgKQEAgLTc0LDcgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxlTG9hZGVyKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKLSAgICAgICAgc3RhdGljIFJl
ZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmLCBTdHJpbmcmJiByZWZlcnJlciA9IFN0cmluZygpKTsKKyAgICAgICAg
c3RhdGljIFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3Qg
VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmLCBTdHJpbmcmJiByZWZlcnJlciA9IFN0cmluZygpLCBT
dHJpbmcmJiB0YXNrTW9kZSA9IHsgfSk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJ
c0RvbmUoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggNjJmOTE3YTM2NzgxOWRlYzNjZDQxMGQ5NzY2OTVjZWU2
MmY2ZDRiOS4uOTJlYThhNzhmYThmMjM4NWI2Y2QwY2RlYzVkNTBlZjFlYzc2MWQwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtNzAsNiArNzAsOCBAQCBpbmxpbmUgV29ya2VyOjpX
b3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdW50aW1lRmxhZ3Mg
cnVudGltZQogICAgICwgbV9pZGVudGlmaWVyKCJ3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRp
ZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCkpCiAgICAgLCBtX2NvbnRleHRQcm94eShX
b3JrZXJHbG9iYWxTY29wZVByb3h5OjpjcmVhdGUoKnRoaXMpKQogICAgICwgbV9ydW50aW1lRmxh
Z3MocnVudGltZUZsYWdzKQorICAgICwgbV90eXBlKG9wdGlvbnMudHlwZSkKKyAgICAsIG1fY3Jl
ZGVudGlhbHMob3B0aW9ucy5jcmVkZW50aWFscykKIHsKICAgICBzdGF0aWMgYm9vbCBhZGRlZExp
c3RlbmVyOwogICAgIGlmICghYWRkZWRMaXN0ZW5lcikgewpAQCAtMTEzLDEwICsxMTUsMTUgQEAg
RXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IFdvcmtlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIEpTQzo6UnUKIAogICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7
CiAgICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW47
CisgICAgaWYgKHdvcmtlci0+bV90eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSkKKyAgICAgICAg
ZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gd29ya2VyLT5tX2NyZWRlbnRpYWxzOworICAgIGVs
c2UKKyAgICAgICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gRmV0Y2hPcHRpb25zOjpDcmVk
ZW50aWFsczo6U2FtZU9yaWdpbjsKICAgICBmZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9wdGlv
bnM6OkNhY2hlOjpEZWZhdWx0OwogICAgIGZldGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0
aW9uczo6UmVkaXJlY3Q6OkZvbGxvdzsKICAgICBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPSBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXI7Ci0gICAgd29ya2VyLT5tX3NjcmlwdExv
YWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1v
dmUoZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZp
Y2VXb3JrZXJzTW9kZTo6QWxsLCB3b3JrZXIpOworICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXIt
PmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZl
dGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29y
a2Vyc01vZGU6OkFsbCwgd29ya2VyLmdldCgpLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgp
KTsKKwogICAgIHJldHVybiB3b3JrZXI7CiB9CiAKQEAgLTIxNSw3ICsyMjIsMTMgQEAgdm9pZCBX
b3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGlj
eSA9IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKICAgICBpZiAoYXV0byBwb2xpY3kgPSBw
YXJzZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpLCBSZWZl
cnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCiAgICAgICAgIHJlZmVycmVyUG9saWN5ID0g
KnBvbGljeTsKLSAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2Ny
aXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2Fk
ZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBt
X3J1bnRpbWVGbGFncyk7CisKKyAgICBVUkwgcmVzcG9uc2VVUkwgPSBtX3NjcmlwdExvYWRlci0+
cmVzcG9uc2VVUkwoKTsKKyAgICBpZiAoIW1fc2NyaXB0TG9hZGVyLT5pc1JlZGlyZWN0ZWQoKSAm
JiBtX3NjcmlwdExvYWRlci0+cmVzcG9uc2VTb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpT
b3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAgICAgICAgaWYgKG1fc2NyaXB0TG9hZGVyLT51cmwo
KS5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkKKyAgICAgICAgICAgIHJlc3BvbnNlVVJMLnNldEZy
YWdtZW50SWRlbnRpZmllcihtX3NjcmlwdExvYWRlci0+dXJsKCkuZnJhZ21lbnRJZGVudGlmaWVy
KCkpOworICAgIH0KKyAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKHJl
c3BvbnNlVVJMLCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChyZXNwb25zZVVSTCksIGlzT25s
aW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV90eXBlLCBtX2NyZWRlbnRp
YWxzLCBtX3J1bnRpbWVGbGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3Jp
cHRJbXBvcnRlZCgqY29udGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3Jp
cHRMb2FkZXItPnNjcmlwdCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggNTNm
NWU2ZmZmMjdjOWZhM2U1YzBlMDFmMGY2YzQyYzZjYjZmOWQwZS4uMzhhNjIzYTk4ZGJhMzVmZjgw
MTNjZDZmYzhjODVjODEwMjA1MDIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC0yOSw5
ICsyOSwxMSBAQAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0
LmgiCisjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJNZXNz
YWdlUG9ydC5oIgogI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldv
cmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3Rv
bmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgpAQCAtNTUsNiArNTcsOCBAQCBj
bGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVE
T01PYmplY3QsIHByaXZhdGUgV29yawogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV29ya2Vy
KTsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAgICAgIFdvcmtlclR5cGUgdHlw
ZTsKKyAgICAgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgICAg
IFN0cmluZyBuYW1lOwogICAgIH07CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgT3B0aW9ucyYpOwpAQCAtNzksNiArODMsOCBAQCBjbGFzcyBX
b3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmpl
Y3QsIHByaXZhdGUgV29yawogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1
bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKICNlbmRpZgogCisgICAg
V29ya2VyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKIHByaXZhdGU6CiAg
ICAgZXhwbGljaXQgV29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVG
bGFncywgY29uc3QgT3B0aW9ucyYpOwogCkBAIC0xMTIsNiArMTE4LDggQEAgY2xhc3MgV29ya2Vy
IGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBw
cml2YXRlIFdvcmsKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90
cmFuc2Zvcm1lcnM7CiAjZW5kaWYKKyAgICBXb3JrZXJUeXBlIG1fdHlwZSB7IFdvcmtlclR5cGU6
OkNsYXNzaWMgfTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzIHsg
RmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4gfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCA0NWQ2YTA4Njc4NTRl
ZTQwNGRlN2U3ZDAxMjQ4Y2ViZjQ0ZGNhN2VkLi43MDIxNzk2ZGY1MDRhZGY4ZTZiOTU4OWFjZTlm
MTQ0ODIxZjI5NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0zOCw2ICszOCw4
IEBACiB9OwogCiBkaWN0aW9uYXJ5IFdvcmtlck9wdGlvbnMgeworICAgIFdvcmtlclR5cGUgdHlw
ZSA9ICJjbGFzc2ljIjsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscyA9
ICJzYW1lLW9yaWdpbiI7IC8vIGNyZWRlbnRpYWxzIGlzIG9ubHkgdXNlZCBpZiB0eXBlIGlzICJt
b2R1bGUiCiAgICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggZGJhYjM0OGU4MGM5ZGU1MGJkMjE1
Nzc3YTE0YTM5YTBmNzBlNDljNy4uY2NkZTkwOWM3Y2I1MmU5Nzc3NGM1YjgxNTgyM2ViY2JiYjA3
MGYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAK
QEAgLTc0LDYgKzc0LDggQEAgV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3BlKFdv
cmtlclRocmVhZFR5cGUgdHlwZSwgY29uc3QgV29ya2VyUGFyYW1ldGUKICAgICAsIG1fcGVyZm9y
bWFuY2UoUGVyZm9ybWFuY2U6OmNyZWF0ZSh0aGlzLCBwYXJhbXMudGltZU9yaWdpbikpCiAgICAg
LCBtX3JlZmVycmVyUG9saWN5KHBhcmFtcy5yZWZlcnJlclBvbGljeSkKICAgICAsIG1fc2V0dGlu
Z3NWYWx1ZXMocGFyYW1zLnNldHRpbmdzVmFsdWVzKQorICAgICwgbV93b3JrZXJUeXBlKHBhcmFt
cy53b3JrZXJUeXBlKQorICAgICwgbV9jcmVkZW50aWFscyhwYXJhbXMuY3JlZGVudGlhbHMpCiB7
CiAjaWYgIUVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIFVOVVNFRF9QQVJBTShjb25uZWN0
aW9uUHJveHkpOwpAQCAtMjc0LDYgKzI3NiwxMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBXb3JrZXJH
bG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscykKIHsK
ICAgICBBU1NFUlQoY29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogCisgICAgLy8gaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sI2ltcG9ydGluZy1zY3Jp
cHRzLWFuZC1saWJyYXJpZXMKKyAgICAvLyAxLiBJZiB3b3JrZXIgZ2xvYmFsIHNjb3BlJ3MgdHlw
ZSBpcyAibW9kdWxlIiwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgIGlmIChtX3dv
cmtlclR5cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgVHlwZUVycm9yLCAiaW1wb3J0U2NyaXB0cyBjYW5ub3QgYmUgdXNlZCBpZiB3b2Vya2VyIHR5
cGUgaXMgXCJtb2R1bGVcIiJfcyB9OworCiAgICAgVmVjdG9yPFVSTD4gY29tcGxldGVkVVJMczsK
ICAgICBjb21wbGV0ZWRVUkxzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkodXJscy5zaXplKCkpOwog
ICAgIGZvciAoYXV0byYgZW50cnkgOiB1cmxzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmgKaW5kZXggNDZkNDlkOTRjNTIzOGU0Njg4ZDM5NWQ4N2MyMDYzZWI1
NzIwZDFiZi4uNzQ3OTVmNWMwZjlhMmEzNWQwMDkzMDEyYWQxOGY1N2UzMTdmODI3MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMTIzLDYgKzEyMyw4
IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFdvcmtl
ckdsb2JhbFNjb3BlPiwgcHVibGljIEJhc2U2CiAKICAgICBjb25zdCBTZXR0aW5nczo6VmFsdWVz
JiBzZXR0aW5nc1ZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXM7
IH0KIAorICAgIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMoKSBjb25zdCB7
IHJldHVybiBtX2NyZWRlbnRpYWxzOyB9CisKIHByb3RlY3RlZDoKICAgICBXb3JrZXJHbG9iYWxT
Y29wZShXb3JrZXJUaHJlYWRUeXBlLCBjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmLCBXb3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3Jp
Z2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CiAK
QEAgLTE2Myw4ICsxNjUsNiBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBw
bGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNgogICAgIG11dGFibGUg
UmVmUHRyPFdvcmtlckxvY2F0aW9uPiBtX2xvY2F0aW9uOwogICAgIG11dGFibGUgUmVmUHRyPFdv
cmtlck5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcj4gbV9zY3JpcHQ7Ci0KICAgICBib29sIG1faXNPbmxp
bmU7CiAgICAgYm9vbCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eTsKIApAQCAtMTg3LDYgKzE4Nyw4IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGlj
IFN1cHBsZW1lbnRhYmxlPFdvcmtlckdsb2JhbFNjb3BlPiwgcHVibGljIEJhc2U2CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPENTU1ZhbHVlUG9vbD4gbV9jc3NWYWx1ZVBvb2w7CiAgICAgUmVmZXJyZXJQ
b2xpY3kgbV9yZWZlcnJlclBvbGljeTsKICAgICBTZXR0aW5nczo6VmFsdWVzIG1fc2V0dGluZ3NW
YWx1ZXM7CisgICAgV29ya2VyVHlwZSBtX3dvcmtlclR5cGU7CisgICAgRmV0Y2hPcHRpb25zOjpD
cmVkZW50aWFscyBtX2NyZWRlbnRpYWxzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAppbmRl
eCA0MDAwM2MzZTAxMDk5OTYwZjY0Nzg2MWU3MDE2ODdkMGUzNzFkNzJkLi5lZDY3M2FjOGY3YzBl
ZTU0YzA2MGVjYjU5MjE2MzkwZWQ3MGZlMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBXb3Jr
ZXJHbG9iYWxTY29wZVByb3h5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV29ya2VyR2xvYmFsU2Nv
cGVQcm94eSYgY3JlYXRlKFdvcmtlciYpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2Vy
R2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkws
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtl
clR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2Jh
bFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4
IDE5ZDRiZTY0OTkyZjMwZDNjY2U3NjU0N2EzZDIyMThhOThjODQyYzMuLjc4ODM1ODdhN2FmNjIw
OWUzZWNjOGU3YjQxYmFkNDdhZGY2MjI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC03Myw3ICs3Myw3IEBAIFdvcmtlck1lc3Nh
Z2luZ1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2Vy
R2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtl
ckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQo
KSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94
eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1
bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFs
U2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
IHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRl
bnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiB7CiAg
ICAgLy8gRklYTUU6IFRoaXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5l
c3RlZCB3b3JrZXIgb25lIGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
OwpAQCAtODksNyArODksNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0
UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAot
ICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZp
ZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3Jp
Z2luLCByZWZlcnJlclBvbGljeSwgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSB9OworICAgIFdv
cmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVz
ZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2luLCBy
ZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdz
VmFsdWVzKCkgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3Jl
YXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBk
b2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3Mp
OwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGM1YjU3NWI5ZTYxNWIz
ZjNmNTk2YmZjM2RmNjgzYzg3N2NjNjJiYWIuLmQ5ZTgxZTE1N2EwZjQ4NTJlNDliNTlkMjU2NmE4
YTgwZjVmODE4YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgZmlu
YWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V29ya2VyTWVzc2FnaW5nUHIKIHByaXZh
dGU6CiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAg
ICAgLy8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJl
YWQuKQotICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09u
bGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlND
OjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShj
b25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBS
ZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpTQzo6
UnVudGltZUZsYWdzKSBmaW5hbDsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2JhbFNjb3Bl
KCkgZmluYWw7CiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2NvcGUoTWVzc2Fn
ZVdpdGhNZXNzYWdlUG9ydHMmJikgZmluYWw7CiAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xv
YmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpIGZpbmFs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlLmNwcAppbmRleCAyMzg0YTVhOGM3ZDJhMzAyZWVlNWNiNDA1ZTEwNWUwMjVjOTg0M2Nj
Li5mNGY0YjI3NDY2ZjlhMzBiMjhiOGIyMWY2ZjJiZWY4YmRlOTM4NTE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcApA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldvcmtlck9y
V29ya2xldEdsb2JhbFNjb3BlLmgiCiAKKyNpbmNsdWRlICJTY3JpcHRNb2R1bGVMb2FkZXIuaCIK
ICNpbmNsdWRlICJXb3JrZXJFdmVudExvb3AuaCIKICNpbmNsdWRlICJXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5o
IgpAQCAtMzksNiArNDAsNyBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGUpOwogCiBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2Vy
T3JXb3JrbGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBSZWY8SlNDOjpWTT4m
JiB2bSwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiB0aHJlYWQpCiAgICAgOiBtX3NjcmlwdChtYWtl
VW5pcXVlPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+KHR5cGUsIFdURk1vdmUodm0p
LCB0aGlzKSkKKyAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9h
ZGVyPigqdGhpcywgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGU6Oldvcmtlck9yV29ya2xl
dCkpCiAgICAgLCBtX3RocmVhZCh0aHJlYWQpCiAgICAgLCBtX2luc3BlY3RvckNvbnRyb2xsZXIo
bWFrZVVuaXF1ZTxXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyPigqdGhpcykpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgKaW5k
ZXggNmMyNDRhMGM0MjdlZTFjOGM2NWZkY2M3NjU5NTJmODc3ZmQ5YjE2Yi4uNTQ0ZjA0N2FlYzI3
ODMyNzQ0ZDBhOGE3MGFmN2U5MzljMzMwOTkyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAtMzIsNiArMzIsNyBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFdmVudExvb3BUYXNrR3JvdXA7CitjbGFzcyBT
Y3JpcHRNb2R1bGVMb2FkZXI7CiBjbGFzcyBXb3JrZXJFdmVudExvb3A7CiBjbGFzcyBXb3JrZXJJ
bnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cjsKQEAgLTU0LDYgKzU1LDggQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgOiBw
dWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KIAogICAgIHVuc2ln
bmVkIGxvbmcgY3JlYXRlVW5pcXVlSWRlbnRpZmllcigpIHsgcmV0dXJuIG1fdW5pcXVlSWRlbnRp
ZmllcisrOyB9CiAKKyAgICBTY3JpcHRNb2R1bGVMb2FkZXImIG1vZHVsZUxvYWRlcigpIHsgcmV0
dXJuICptX21vZHVsZUxvYWRlcjsgfQorCiAgICAgLy8gU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4K
ICAgICBFdmVudExvb3BUYXNrR3JvdXAmIGV2ZW50TG9vcCgpIGZpbmFsOwogICAgIGJvb2wgaXND
b250ZXh0VGhyZWFkKCkgY29uc3QgZmluYWw7CkBAIC04OCw2ICs5MSw3IEBAIGNsYXNzIFdvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHB1
YmxpYyBSZWZDb3VuCiAgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigp
OyB9CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cj4gbV9zY3JpcHQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNjcmlwdE1vZHVsZUxvYWRlcj4gbV9t
b2R1bGVMb2FkZXI7CiAgICAgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiBtX3RocmVhZDsKICAgICBS
ZWZQdHI8V29ya2VyRXZlbnRMb29wPiBtX2V2ZW50TG9vcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
RXZlbnRMb29wVGFza0dyb3VwPiBtX2RlZmF1bHRUYXNrR3JvdXA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNw
cAppbmRleCBjZDRlYzI0NjgyNTI1YWFiYzY0MmQ4NzdhMGRhMDExZWJkZTExNDMxLi5mYTZkNDlh
ZWQzNTgyNDRhZjRmYjcxODY4NDBhOGQxZGJhOTI0NmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAK
QEAgLTM1LDE1ICszNSwyMyBAQAogI2luY2x1ZGUgIkpTRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAi
SlNQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlckds
b2JhbFNjb3BlLmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oIgorI2luY2x1
ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUu
aCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyQ29u
c29sZUNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9Db21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
RGVmZXJyZWRXb3JrVGltZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9FeGNlcHRpb24u
aD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9FeGNlcHRpb25IZWxwZXJzLmg+CiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvR0NBY3Rpdml0eUNhbGxiYWNrLmg+CisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNJbnRlcm5hbFByb21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U0xvY2suaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU01vZHVsZVJlY29yZC5oPgorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTmF0aXZlU3RkRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KU1NjcmlwdEZldGNoUGFyYW1ldGVycy5oPgorI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0
cm9uZ0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjI4LDYgKzIzNiwxOTkg
QEAgdm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZShjb25zdCBT
Y3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2QKICAgICB9CiB9CiAKK3N0YXRpYyBJZGVudGlmaWVy
IGpzVmFsdWVUb01vZHVsZUtleShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgcmV0
dXJuIElkZW50aWZpZXI6OmZyb21VaWQoanNDYXN0PFN5bWJvbCo+KHZhbHVlKS0+cHJpdmF0ZU5h
bWUoKSk7CisgICAgQVNTRVJUKHZhbHVlLmlzU3RyaW5nKCkpOworICAgIHJldHVybiBhc1N0cmlu
Zyh2YWx1ZSktPnRvSWRlbnRpZmllcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsKK30KKworSlNDOjpK
U1ZhbHVlIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlTW9kdWxlKEpT
Qzo6SlNNb2R1bGVSZWNvcmQmIG1vZHVsZVJlY29yZCkKK3sKKyAgICBhdXRvJiBnbG9iYWxPYmpl
Y3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2Jq
ZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAgIHJldHVybiBtb2R1
bGVSZWNvcmQuZXZhbHVhdGUoJmdsb2JhbE9iamVjdCk7Cit9CisKK01lc3NhZ2VRdWV1ZVdhaXRS
ZXN1bHQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9u
b3VzbHkoV29ya2VyU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgY29uc3QgU2NyaXB0U291
cmNlQ29kZSYgc291cmNlQ29kZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkK
KyAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQ7CisKKyAgICBpbml0U2NyaXB0
SWZOZWVkZWQoKTsKKworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3Jh
cHBlci5nZXQoKTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tI
b2xkZXIgbG9jayB7IHZtIH07CisKKyAgICBSZWZQdHI8V29ya2VyU2NyaXB0RmV0Y2hlcj4gZmV0
Y2hlclJlZigmc2NyaXB0RmV0Y2hlcik7CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0g
SlNFeGVjU3RhdGU6OmxvYWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBzb3VyY2VDb2RlLmpzU291cmNl
Q29kZSgpLCBKU0M6OkpTU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCB7ICZzY3JpcHRGZXRjaGVy
IH0pKTsKKworICAgICAgICBhdXRvJiBmdWxmaWxsSGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0
aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbZmV0Y2hlclJlZl0o
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIC0+IEpT
Qzo6RW5jb2RlZEpTVmFsdWUgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwor
ICAgICAgICAgICAgSWRlbnRpZmllciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xv
YmFsT2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICBmZXRjaGVyUmVmLT5ub3RpZnlM
b2FkQ29tcGxldGVkKCptb2R1bGVLZXkuaW1wbCgpKTsKKyAgICAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGF1dG8m
IHJlamVjdEhhbmRsZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFs
T2JqZWN0LCAxLCBTdHJpbmcoKSwgW2ZldGNoZXJSZWZdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSB7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9i
YWxPYmplY3QtPnZtKCk7CisgICAgICAgICAgICBKU1ZhbHVlIGVycm9yVmFsdWUgPSBjYWxsRnJh
bWUtPmFyZ3VtZW50KDApOworICAgICAgICAgICAgaWYgKGVycm9yVmFsdWUuaXNPYmplY3QoKSkg
eworICAgICAgICAgICAgICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6YXNPYmplY3QoZXJyb3JWYWx1
ZSk7CisgICAgICAgICAgICAgICAgaWYgKEpTVmFsdWUgZmFpbHVyZUtpbmRWYWx1ZSA9IG9iamVj
dC0+Z2V0RGlyZWN0KHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSY+KCp2bS5jbGllbnRE
YXRhKS5idWlsdGluTmFtZXMoKS5mYWlsdXJlS2luZFByaXZhdGVOYW1lKCkpKSB7CisgICAgICAg
ICAgICAgICAgICAgIC8vIFRoaXMgaXMgaG9zdCBwcm9wYWdhdGVkIGVycm9yIGluIHRoZSBtb2R1
bGUgbG9hZGVyIHBpcGVsaW5lLgorICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXRpY19j
YXN0PE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ+KGZhaWx1cmVLaW5kVmFsdWUuYXNJbnQzMigpKSkg
eworICAgICAgICAgICAgICAgICAgICBjYXNlIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vy
cm9yZWQ6CisgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaGVyUmVmLT5ub3RpZnlMb2FkRmFp
bGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFdURjo6bnVsbG9wdAorICAgICAgICAgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBN
b2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZDoKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGZldGNoZXJSZWYtPm5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpOworICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NB
VENIX1NDT1BFKHZtKTsKKyAgICAgICAgICAgIGZldGNoZXJSZWYtPm5vdGlmeUxvYWRGYWlsZWQo
TG9hZGFibGVTY3JpcHQ6OkVycm9yIHsKKyAgICAgICAgICAgICAgICBMb2FkYWJsZVNjcmlwdDo6
RXJyb3JUeXBlOjpDYWNoZWRTY3JpcHQsCisgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6
OkNvbnNvbGVNZXNzYWdlIHsKKyAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVNvdXJjZTo6SlMs
CisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbDo6RXJyb3IsCisgICAgICAgICAgICAg
ICAgICAgIHJldHJpZXZlRXJyb3JNZXNzYWdlKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJvclZhbHVl
LCBzY29wZSksCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsKKwor
ICAgICAgICBwcm9taXNlLnRoZW4oJmdsb2JhbE9iamVjdCwgJmZ1bGZpbGxIYW5kbGVyLCAmcmVq
ZWN0SGFuZGxlcik7CisgICAgfQorICAgIG1fZ2xvYmFsU2NvcGUtPmV2ZW50TG9vcCgpLnBlcmZv
cm1NaWNyb3Rhc2tDaGVja3BvaW50KCk7CisKKyAgICAvLyBEcml2ZSBSdW5Mb29wIHVudGlsIHdl
IGdldCBlaXRoZXIgb2YgIldvcmtlciBpcyB0ZXJtaW5hdGVkIiwgIkxvYWRpbmcgaXMgZG9uZSIs
IG9yICJMb2FkaW5nIGlzIGZhaWxlZCIuCisgICAgV29ya2VyUnVuTG9vcCYgcnVuTG9vcCA9IG1f
Z2xvYmFsU2NvcGUtPndvcmtlck9yV29ya2xldFRocmVhZCgpLT5ydW5Mb29wKCk7CisKKyAgICAv
LyBXZSBkbyBub3Qgd2FudCB0byByZWNlaXZlIG1lc3NhZ2VzIHRoYXQgYXJlIG5vdCByZWxhdGVk
IHRvIGFzeW5jaHJvbm91cyByZXNvdXJjZSBsb2FkaW5nLgorICAgIC8vIE90aGVyd2lzZSwgYSB3
b3JrZXIgZGlzY2FyZHMgc29tZSBtZXNzYWdlcyBmcm9tIHRoZSBtYWluIHRocmVhZCBoZXJlIGlu
IGEgcmFjeSB3YXkuCisgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBtYWluIHRocmVhZCBjYW4gcG9z
dE1lc3NhZ2UganVzdCBhZnRlciBjcmVhdGluZyBhIFdvcmtlci4gSW4gdGhhdCBjYXNlLCBwb3N0
TWVzc2FnZSdzCisgICAgLy8gdGFzayBpcyBxdWV1ZWQgaW4gV29ya2VyUnVuTG9vcCBiZWZvcmUg
c3RhcnQgcnVubmluZyBtb2R1bGUgc2NyaXB0cy4gVGhpcyB0YXNrIHNob3VsZCBub3QgYmUgZGlz
Y2FyZGVkCisgICAgLy8gaW4gdGhlIGZvbGxvd2luZyBkcml2aW5nIG9mIHRoZSBSdW5Mb29wIHdo
aWNoIG1haW5seSBhdHRlbXB0IHRvIGNvbGxlY3QgaW5pdGlhbCBsb2FkIG9mIG1vZHVsZSBzY3Jp
cHRzLgorICAgIFN0cmluZyB0YXNrTW9kZSA9ICJsb2FkTW9kdWxlc0luV29ya2VyT3JXb3JrbGV0
TW9kZSJfczsKKyAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IE1lc3NhZ2VRdWV1
ZU1lc3NhZ2VSZWNlaXZlZDsKKyAgICB3aGlsZSAoKCFmZXRjaGVyUmVmLT5pc0xvYWRlZCgpICYm
ICFmZXRjaGVyUmVmLT53YXNDYW5jZWxlZCgpKSAmJiByZXN1bHQgIT0gTWVzc2FnZVF1ZXVlVGVy
bWluYXRlZCkgeworICAgICAgICByZXN1bHQgPSBydW5Mb29wLnJ1bkluTW9kZShtX2dsb2JhbFNj
b3BlLCB0YXNrTW9kZSk7CisgICAgICAgIGlmIChyZXN1bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWlu
YXRlZCkKKyAgICAgICAgICAgIG1fZ2xvYmFsU2NvcGUtPmV2ZW50TG9vcCgpLnBlcmZvcm1NaWNy
b3Rhc2tDaGVja3BvaW50KCk7CisgICAgfQorCisgICAgLy8gRklYTUU6IEN1cnJlbnRseSB3ZSBh
cmUgbm90IG9mZmVyaW5nIGNhbmNlbGxpbmcuCisgICAgLy8gaWYgKCFsb2FkZXItPmRvbmUoKSAm
JiByZXN1bHQgPT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkKKyAgICAvLyAgICAgbG9hZGVyLT5j
YW5jZWwoKTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgV29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKFdvcmtlclNjcmlwdEZldGNo
ZXImIHNjcmlwdEZldGNoZXIsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUsIFN0
cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlKQoreworICAgIGlmIChpc0V4ZWN1dGlvbkZv
cmJpZGRlbigpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbml0U2NyaXB0SWZOZWVkZWQoKTsK
KworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsK
KyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7
IHZtIH07CisKKyAgICBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4gcmV0dXJuZWRFeGNlcHRpb247
CisgICAgSlNFeGVjU3RhdGU6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShnbG9iYWxPYmplY3QsIElk
ZW50aWZpZXI6OmZyb21VaWQodm0sIHNjcmlwdEZldGNoZXIubW9kdWxlS2V5KCkpLCBqc1VuZGVm
aW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgaWYgKChyZXR1cm5lZEV4Y2VwdGlvbiAm
JiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0aW9uKSkg
fHwgaXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgIGZvcmJpZEV4ZWN1dGlvbigp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJldHVybmVkRXhjZXB0aW9uKSB7
CisgICAgICAgIGlmIChtX2dsb2JhbFNjb3BlLT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxzKHNvdXJj
ZUNvZGUuY2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJsKCkuc3RyaW5nKCkpKSB7CisgICAg
ICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4gYXJiaXRy
YXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4KKyAgICAg
ICAgICAgIC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQgcHJvcGVy
bHksIGlmIGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAgICAgIGlm
IChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVybmVkRXhj
ZXB0aW9uTWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3RyaW5nKCZn
bG9iYWxPYmplY3QpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gT3ZlcndyaXRl
IHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAgICAgICAgICAgIFN0
cmluZyBnZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNjcmlwdCBlcnJvci4iX3MgfTsKKyAgICAgICAg
ICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVy
bmVkRXhjZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNFcnJvck1lc3NhZ2U7CisgICAgICAgICAgICBy
ZXR1cm5lZEV4Y2VwdGlvbiA9IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGNyZWF0ZUVycm9y
KCZnbG9iYWxPYmplY3QsIGdlbmVyaWNFcnJvck1lc3NhZ2UpKTsKKyAgICAgICAgfQorICAgIH0K
K30KKwordm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkQW5kRXZhbHVh
dGVNb2R1bGUoY29uc3QgVVJMJiBtb2R1bGVVUkwsIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMg
Y3JlZGVudGlhbHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYm
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4o
KSkgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihFeGNlcHRpb24geyBOb3RBbGxvd2VkRXJy
b3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpbml0U2NyaXB0SWZOZWVkZWQo
KTsKKworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQo
KTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9j
ayB7IHZtIH07CisKKyAgICBhdXRvIHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVy
OjpjcmVhdGUoY3JlZGVudGlhbHMpOworICAgIHsKKyAgICAgICAgYXV0byYgcHJvbWlzZSA9IEpT
RXhlY1N0YXRlOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVVUkwu
c3RyaW5nKCksIGpzVW5kZWZpbmVkKCksIEpTQzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0s
IHsgc2NyaXB0RmV0Y2hlci5wdHIoKSB9KSk7CisKKyAgICAgICAgYXV0byB0YXNrID0gY3JlYXRl
U2hhcmVkVGFzazx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+KFtjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShPcHRpb25hbDxFeGNlcHRpb24+JiYgZXhj
ZXB0aW9uKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUo
ZXhjZXB0aW9uKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGF1dG8mIGZ1bGZpbGxIYW5kbGVy
ID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3Ry
aW5nKCksIFt0YXNrXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNh
bGxGcmFtZSkgLT4gSlNDOjpFbmNvZGVkSlNWYWx1ZSB7CisgICAgICAgICAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CisgICAgICAgICAgICBJZGVudGlmaWVyIG1vZHVsZUtleSA9IGpzVmFsdWVU
b01vZHVsZUtleShnbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+YXJndW1lbnQoMCkpOworICAgICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAgICAgIHRhc2st
PnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFuZGxl
ciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0
cmluZygpLCBbdGFza10oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBj
YWxsRnJhbWUpIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAg
ICAgICAgICAgIEpTVmFsdWUgZXJyb3JWYWx1ZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7Cisg
ICAgICAgICAgICBpZiAoZXJyb3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgICAgICAgICAg
YXV0byogb2JqZWN0ID0gSlNDOjphc09iamVjdChlcnJvclZhbHVlKTsKKyAgICAgICAgICAgICAg
ICBpZiAoSlNWYWx1ZSBmYWlsdXJlS2luZFZhbHVlID0gb2JqZWN0LT5nZXREaXJlY3Qodm0sIHN0
YXRpY19jYXN0PEpTVk1DbGllbnREYXRhJj4oKnZtLmNsaWVudERhdGEpLmJ1aWx0aW5OYW1lcygp
LmZhaWx1cmVLaW5kUHJpdmF0ZU5hbWUoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhp
cyBpcyBob3N0IHByb3BhZ2F0ZWQgZXJyb3IgaW4gdGhlIG1vZHVsZSBsb2FkZXIgcGlwZWxpbmUu
CisgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8TW9kdWxlRmV0Y2hGYWls
dXJlS2luZD4oZmFpbHVyZUtpbmRWYWx1ZS5hc0ludDMyKCkpKSB7CisgICAgICAgICAgICAgICAg
ICAgIGNhc2UgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZDoKKyAgICAgICAgICAg
ICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZDoKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRhc2stPnJ1bihFeGNlcHRpb24geyBOZXR3b3JrRXJyb3IgfSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgU3RyaW5nIHN0cmlu
ZyA9IHJldHJpZXZlRXJyb3JNZXNzYWdlKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJvclZhbHVlLCBz
Y29wZSk7CisgICAgICAgICAgICB0YXNrLT5ydW4oRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBzdHJp
bmcgfSk7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OworICAgICAgICB9KTsKKworICAgICAgICBwcm9taXNlLnRoZW4oJmdsb2JhbE9iamVjdCwgJmZ1
bGZpbGxIYW5kbGVyLCAmcmVqZWN0SGFuZGxlcik7CisgICAgfQorICAgIG1fZ2xvYmFsU2NvcGUt
PmV2ZW50TG9vcCgpLnBlcmZvcm1NaWNyb3Rhc2tDaGVja3BvaW50KCk7Cit9CisKIHRlbXBsYXRl
PHR5cGVuYW1lIEpTR2xvYmFsU2NvcGVQcm90b3R5cGUsIHR5cGVuYW1lIEpTR2xvYmFsU2NvcGUs
IHR5cGVuYW1lIEdsb2JhbFNjb3BlPgogdm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9s
bGVyOjppbml0U2NyaXB0V2l0aFN1YmNsYXNzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggYzQ5
MzAxYWVkM2RkMDg5ZGE3OTczMjc2MGNhZjJmN2I2NGRiMTFiNi4uOWYwMjNhNjJmODE0M2U3ZDk4
MmZiZjdmNThlZWVhZGNhM2E1YjU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1J1bkxvb3BUaW1lci5oPgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KKyNpbmNsdWRlIDx3dGYvTWVz
c2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL05ha2VkUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewpAQCAtNDQsOSArNDUsMTEgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgTG9hZGFibGVNb2R1bGVT
Y3JpcHQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogY2xhc3MgV29ya2VyQ29uc29sZUNsaWVu
dDsKIGNsYXNzIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOworY2xhc3MgV29ya2VyU2NyaXB0
RmV0Y2hlcjsKIAogY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlciB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcik7CkBA
IC05NCw2ICs5NywxMyBAQCBjbGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyIHsK
ICAgICB2b2lkIGV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVy
bmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOwogICAgIHZvaWQgZXZhbHVhdGUoY29uc3Qg
U2NyaXB0U291cmNlQ29kZSYsIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiYgcmV0dXJuZWRFeGNl
cHRpb24sIFN0cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAKKyAg
ICBKU0M6OkpTVmFsdWUgZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYpOworCisg
ICAgdm9pZCBsaW5rQW5kRXZhbHVhdGVNb2R1bGUoV29ya2VyU2NyaXB0RmV0Y2hlciYsIGNvbnN0
IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51
bGxwdHIpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3Vz
bHkoV29ya2VyU2NyaXB0RmV0Y2hlciYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKKworICAg
IHZvaWQgbG9hZEFuZEV2YWx1YXRlTW9kdWxlKGNvbnN0IFVSTCYgbW9kdWxlVVJMLCBGZXRjaE9w
dGlvbnM6OkNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2Vw
dGlvbj4mJik+JiYpOworCiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGUqIGdsb2JhbFNjb3BlKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxTY29wZTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggM2E0ZGFl
ZmMzOTAyYmRiMmVhODRmYzU4ZDdlNDJmODNlNWYwN2UyZi4uOWYzMWQwZGZkNTlhODcwN2ZkNGVi
NTljYzNjOTJhMDY2NDgxZGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
U2NyaXB0TG9hZGVyLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIE9wdGlvbmFsPEV4Y2VwdGlvbj4g
V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250
ZXh0CiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVj
dXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBGZXRjaE9wdGlv
bnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUgc2VydmljZVdv
cmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50KQordm9pZCBXb3JrZXJT
Y3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBG
ZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2Vt
ZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUg
c2VydmljZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBTdHJp
bmcmJiB0YXNrTW9kZSkKIHsKICAgICBtX2NsaWVudCA9ICZjbGllbnQ7CiAgICAgbV91cmwgPSBz
Y3JpcHRSZXF1ZXN0LnVybCgpOwpAQCAtMTIzLDggKzEyMyw2IEBAIHZvaWQgV29ya2VyU2NyaXB0
TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0
RXhlY3V0CiAgICAgQVNTRVJUKGZldGNoT3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9k
ZTo6U2FtZU9yaWdpbiB8fCAoZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uICE9IEZldGNoT3B0aW9u
czo6RGVzdGluYXRpb246OlNlcnZpY2V3b3JrZXIgJiYgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9u
ICE9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikpOwogCiAgICAgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMgb3B0aW9ucyB7IFdURk1vdmUoZmV0Y2hPcHRpb25zKSB9OwotICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgYWRkIGFuIG9wdGlvbiB0byBzZXQgY3JlZGVudGlhbCBtb2RlLgot
ICAgIG9wdGlvbnMuY3JlZGVudGlhbHMgPSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1l
T3JpZ2luOwogICAgIG9wdGlvbnMuc2VuZExvYWRDYWxsYmFja3MgPSBTZW5kQ2FsbGJhY2tQb2xp
Y3k6OlNlbmRDYWxsYmFja3M7CiAgICAgb3B0aW9ucy5jb250ZW50U2VjdXJpdHlQb2xpY3lFbmZv
cmNlbWVudCA9IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OwogICAgIGlmIChmZXRj
aE9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2Vydmlj
ZXdvcmtlcikKQEAgLTE0Myw3ICsxNDEsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9h
ZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogCiAg
ICAgLy8gRHVyaW5nIGNyZWF0ZSwgY2FsbGJhY2tzIG1heSBoYXBwZW4gd2hpY2ggcmVtb3ZlIHRo
ZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdC4KICAgICBSZWY8V29ya2VyU2NyaXB0TG9h
ZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKLSAgICBtX3RocmVhZGFibGVMb2FkZXIgPSBUaHJl
YWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgKnRoaXMsIFdURk1v
dmUoKnJlcXVlc3QpLCBvcHRpb25zKTsKKyAgICBtX3RocmVhZGFibGVMb2FkZXIgPSBUaHJlYWRh
YmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgKnRoaXMsIFdURk1vdmUo
KnJlcXVlc3QpLCBvcHRpb25zLCB7IH0sIFdURk1vdmUodGFza01vZGUpKTsKIH0KIAogY29uc3Qg
VVJMJiBXb3JrZXJTY3JpcHRMb2FkZXI6OnJlc3BvbnNlVVJMKCkgY29uc3QKQEAgLTE5MCw2ICsx
ODgsOCBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2ln
bmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzbwogICAgIG1fY2VydGlmaWNhdGVJbmZvID0g
cmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCkgPyAqcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCkg
OiBDZXJ0aWZpY2F0ZUluZm8oKTsKICAgICBtX3Jlc3BvbnNlTUlNRVR5cGUgPSByZXNwb25zZS5t
aW1lVHlwZSgpOwogICAgIG1fcmVzcG9uc2VFbmNvZGluZyA9IHJlc3BvbnNlLnRleHRFbmNvZGlu
Z05hbWUoKTsKKyAgICBtX3Jlc3BvbnNlU291cmNlID0gcmVzcG9uc2Uuc291cmNlKCk7CisgICAg
bV9pc1JlZGlyZWN0ZWQgPSByZXNwb25zZS5pc1JlZGlyZWN0ZWQoKTsKICAgICBtX2NvbnRlbnRT
ZWN1cml0eVBvbGljeSA9IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB7IHJl
c3BvbnNlIH07CiAgICAgbV9yZWZlcnJlclBvbGljeSA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVs
ZChIVFRQSGVhZGVyTmFtZTo6UmVmZXJyZXJQb2xpY3kpOwogICAgIGlmIChtX2NsaWVudCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IDdmZGQwYjNm
NmEwMWMyZGI1NzcyNGE5MGIzYmI5ODQwZjFlNjhlNWYuLmNmYTMxYTM1MzI1OWFlZWQxOThmOTM5
MWZmYzE1MTFiNDA1MGI4NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3Jp
cHRMb2FkZXIuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkZldGNoT3B0aW9ucy5oIgog
I2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIK
KyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRl
ci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDxtZW1v
cnk+CkBAIC00Myw3ICs0NCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEV4Y2Vw
dGlvbjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OwogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRl
ckNsaWVudDsKQEAgLTU4LDcgKzU4LDcgQEAgY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGEKICAgICB9
CiAKICAgICBPcHRpb25hbDxFeGNlcHRpb24+IGxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBjb25zdCBVUkwmLCBGZXRjaE9wdGlvbnM6Ok1vZGUsIEZldGNoT3B0aW9u
czo6Q2FjaGUsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJpbmcm
IGluaXRpYXRvcklkZW50aWZpZXIpOwotICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYsIENv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUsIFdvcmtl
clNjcmlwdExvYWRlckNsaWVudCYpOworICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYsIENv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUsIFdvcmtl
clNjcmlwdExvYWRlckNsaWVudCYsIFN0cmluZyYmIHRhc2tNb2RlKTsKIAogICAgIHZvaWQgbm90
aWZ5RXJyb3IoKTsKIApAQCAtNjcsNiArNjcsOCBAQCBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXIg
OiBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYQog
ICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlZmVy
cmVyUG9saWN5OyB9CiAgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3VybDsg
fQogICAgIGNvbnN0IFVSTCYgcmVzcG9uc2VVUkwoKSBjb25zdDsKKyAgICBSZXNvdXJjZVJlc3Bv
bnNlOjpTb3VyY2UgcmVzcG9uc2VTb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlU291
cmNlOyB9CisgICAgYm9vbCBpc1JlZGlyZWN0ZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUmVkaXJl
Y3RlZDsgfQogICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKCkgY29u
c3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KICAgICBjb25zdCBTdHJpbmcmIHJlc3Bv
bnNlTUlNRVR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlTUlNRVR5cGU7IH0KICAgICBi
b29sIGZhaWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmFpbGVkOyB9CkBAIC0xMDcsNiArMTA5LDgg
QEAgY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyU2Ny
aXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGEKICAgICB1bnNpZ25lZCBsb25nIG1faWRlbnRpZmll
ciB7IDAgfTsKICAgICBib29sIG1fZmFpbGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZmluaXNo
aW5nIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNSZWRpcmVjdGVkIHsgZmFsc2UgfTsKKyAgICBS
ZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2UgbV9yZXNwb25zZVNvdXJjZSB7IFJlc291cmNlUmVzcG9u
c2U6OlNvdXJjZTo6VW5rbm93biB9OwogICAgIFJlc291cmNlRXJyb3IgbV9lcnJvcjsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMyMjYx
OWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1NzgzLi5mMmE3NjU5ZmM1NjFlYWQxNmIxMmEzNDllZDFl
ZjA3ZTBkYTA3NjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBA
IC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJT
b2NrZXRQcm92aWRlci5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCisjaW5jbHVk
ZSAiV29ya2VyU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Njcmlw
dENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNTUsNiArNTcsOCBAQCBXb3JrZXJQYXJhbWV0ZXJzIFdvcmtlclBhcmFtZXRl
cnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgICAgIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgdGltZU9yaWdpbiwKICAgICAgICAgcmVmZXJy
ZXJQb2xpY3ksCisgICAgICAgIHdvcmtlclR5cGUsCisgICAgICAgIGNyZWRlbnRpYWxzLAogICAg
ICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKQogICAgIH07CiB9CkBAIC0xMjMsOSAr
MTI3LDMzIEBAIGJvb2wgV29ya2VyVGhyZWFkOjpzaG91bGRXYWl0Rm9yV2ViSW5zcGVjdG9yT25T
dGFydHVwKCkgY29uc3QKIAogdm9pZCBXb3JrZXJUaHJlYWQ6OmV2YWx1YXRlU2NyaXB0SWZOZWNl
c3NhcnkoU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKQogewotICAgIGdsb2JhbFNjb3BlKCktPnNj
cmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNv
ZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25NZXNz
YWdlKTsKLQotICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAgIC8vIFdlIGFyZSBj
dXJyZW50bHkgaG9sZGluZyBvbmx5IHRoZSBpbml0aWFsIHNjcmlwdCBjb2RlLiBJZiB0aGUgV29y
a2VyVHlwZSBpcyBNb2R1bGUsIHdlIHNob3VsZCBmZXRjaCB0aGUgZW50aXJlIGdyYXBoIGJlZm9y
ZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2YgdGhpcy4KKyAgICAvLyBXZSBpbnZva2UgbW9kdWxlIGxv
YWRlciBhcyBpZiB3ZSBhcmUgZXhlY3V0aW5nIGlubGluZSBtb2R1bGUgc2NyaXB0IHRhZyBpbiBE
b2N1bWVudC4KKworICAgIGlmIChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMud29ya2VyVHlwZSA9PSBX
b3JrZXJUeXBlOjpDbGFzc2ljKSB7CisgICAgICAgIGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5l
dmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUsIFVSTCht
X3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25NZXNzYWdlKTsKKyAg
ICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
Ly8gRklYTUUgY3Jvc3NPcmlnaW4gbW9kZSBzaG91bGQgYmUgY29udmVydGVkLgorICAgICAgICAv
LyBGSVhNRSBmaXggaW5pdGlhdG9yIG5hbWUuCisgICAgICAgIC8vIEZJWE1FIHBhc3MgVVJMIHRv
IG1vZHVsZSBsb2FkZXIuCisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZShtX3N0
YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlwdFVS
TCksIHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSk7CisgICAgICAg
IGF1dG8gc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZldGNoZXI6OmNyZWF0ZShnbG9iYWxT
Y29wZSgpLT5jcmVkZW50aWFscygpKTsKKyAgICAgICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBy
ZXN1bHQgPSBnbG9iYWxTY29wZSgpLT5zY3JpcHQoKS0+bG9hZE1vZHVsZVN5bmNocm9ub3VzbHko
c2NyaXB0RmV0Y2hlci5nZXQoKSwgc291cmNlQ29kZSk7CisgICAgICAgIGlmIChyZXN1bHQgIT0g
TWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICAgICAgaWYgKE9wdGlvbmFsPExvYWRh
YmxlU2NyaXB0OjpFcnJvcj4gZXJyb3IgPSBzY3JpcHRGZXRjaGVyLT5lcnJvcigpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZT4g
bWVzc2FnZSA9IGVycm9yLT5jb25zb2xlTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAgZXhj
ZXB0aW9uTWVzc2FnZSA9IG1lc3NhZ2UtPm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gIkltcG9ydGluZyBhIG1vZHVs
ZSBzY3JpcHQgZmFpbGVkLiJfczsKKyAgICAgICAgICAgICAgICBnbG9iYWxTY29wZSgpLT5yZXBv
cnRFeGNlcHRpb24oZXhjZXB0aW9uTWVzc2FnZSwgeyB9LCB7IH0sIHsgfSwgeyB9LCB7IH0pOwor
ICAgICAgICAgICAgfSBlbHNlIGlmICghc2NyaXB0RmV0Y2hlci0+d2FzQ2FuY2VsZWQoKSkgewor
ICAgICAgICAgICAgICAgIC8vIEV2YWx1YXRlLgorICAgICAgICAgICAgICAgIGdsb2JhbFNjb3Bl
KCktPnNjcmlwdCgpLT5saW5rQW5kRXZhbHVhdGVNb2R1bGUoc2NyaXB0RmV0Y2hlci5nZXQoKSwg
c291cmNlQ29kZSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICAgICAgICAgIGZpbmlzaGVk
RXZhbHVhdGluZ1NjcmlwdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQogCiAg
ICAgLy8gRnJlZSB0aGUgc3RhcnR1cCBkYXRhIHRvIGNhdXNlIGl0cyBtZW1iZXIgdmFyaWFibGUg
ZGVyZWYncyBoYXBwZW4gb24gdGhlIHdvcmtlcidzIHRocmVhZCAoc2luY2UKICAgICAvLyBhbGwg
cmVmL2RlcmVmcyBvZiB0aGVzZSBvYmplY3RzIGFyZSBoYXBwZW5pbmcgb24gdGhlIHRocmVhZCBh
dCB0aGlzIHBvaW50KS4gTm90ZSB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
aAppbmRleCA4ODkwNzkwOGU3YTliODA5ZThmMmE0ZTQ3M2Q3NTJkMTFkMjkzN2MwLi45NTEyZWZk
YjE4ZjMyYTUwZWNiN2ZiNTY5NTlkNjFlODg3MmZhMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmgKQEAgLTI2LDcgKzI2LDEwIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1
ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgorI2luY2x1ZGUgIkZl
dGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0VGhyZWFk
LmgiCisjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDxtZW1v
cnk+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNjMsNiArNjYsOCBAQCBzdHJ1Y3QgV29ya2Vy
UGFyYW1ldGVycyB7CiAgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3k7CiAgICAgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luOwogICAgIFJlZmVycmVyUG9s
aWN5IHJlZmVycmVyUG9saWN5OworICAgIFdvcmtlclR5cGUgd29ya2VyVHlwZTsKKyAgICBGZXRj
aFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFsczsKICAgICBTZXR0aW5nczo6VmFsdWVzIHNl
dHRpbmdzVmFsdWVzOwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRlZENvcHkoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKaW5kZXggMGIwZWQ4NjBkOWM3MTQyMzhh
MmE1YmI5ZmRmNDM4NDAyZDE2ZWJmMC4uMWMxYmI5NDQ4NjdhZGY0ZWQ1NzhhMjgxNGZhMzMyMzI2
YWVkOGE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKQEAgLTI3LDcgKzI3LDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFdvcmtlclR5cGUgeworZW51
bSBjbGFzcyBXb3JrZXJUeXBlIDogdWludDhfdCB7CiAgICAgQ2xhc3NpYywKICAgICBNb2R1bGUs
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmgKaW5kZXggZWJiZTk1ZTg5MjRjOGYxZDczNzUyNWRlYTE2MzBiMWZh
ZDU2ZmIyNy4uNGM3ZGRmNGE0YzEzMWUwZGNkNmJhMDk1MDlhYjJkOTc1NzVmMzBjMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIE5hdmlnYXRvckJhc2U7CiBjbGFzcyBT
ZXJ2aWNlV29ya2VyOwogCiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSA6
IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVtIGNsYXNzIFdvcmtlclR5cGUg
OiB1aW50OF90OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNl
UHJveHk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VySm9iLmNwcAppbmRleCBlYzM5YzBmODQ5YTU0ZTFiNmQwYmVlMzRhOGQ3ZDE5Y2JhNDVl
Mjg4Li5mOTUxMGNiZjZmZGY3MDQ2ZjdkMWI5MjIzNjkxNzRkMDFmYTBiZTA5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCkBA
IC0xMTAsNyArMTEwLDggQEAgdm9pZCBTZXJ2aWNlV29ya2VySm9iOjpmZXRjaFNjcmlwdFdpdGhD
b250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEYKICAgICBvcHRpb25zLmNh
Y2hlID0gY2FjaGVQb2xpY3k7CiAgICAgb3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6
UmVkaXJlY3Q6OkVycm9yOwogICAgIG9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uOjpTZXJ2aWNld29ya2VyOwotICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5
bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSwg
Q29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSwgU2VydmljZVdv
cmtlcnNNb2RlOjpOb25lLCAqdGhpcyk7CisgICAgb3B0aW9ucy5jcmVkZW50aWFscyA9IEZldGNo
T3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW47CisgICAgbV9zY3JpcHRMb2FkZXItPmxv
YWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlv
bnMpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlLCBTZXJ2
aWNlV29ya2Vyc01vZGU6Ok5vbmUsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgp
KTsKIH0KIAogUmVzb3VyY2VFcnJvciBTZXJ2aWNlV29ya2VySm9iOjp2YWxpZGF0ZVNlcnZpY2VX
b3JrZXJSZXNwb25zZShjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9iRGF0YSwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9u
cy5oCmluZGV4IDlkNTAwZjg1YWNiMTg4NDFjYzU1YmVhODIxMWRiMTRmYWRjOTc0NzUuLjJlMzU1
N2ZhN2RmNjdmMWJmOThjN2I3YTVkZTRiMGE1YTdiY2NjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uT3B0aW9ucy5oCkBAIC0zMiw3ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGVudW0gY2xhc3MgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIDogdWludDhfdDsKLWVudW0g
Y2xhc3MgV29ya2VyVHlwZTsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3Q7CiAKIHN0
cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucyB7CiAgICAgU3RyaW5nIHNjb3Bl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29u
dGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCBjOGE3YTk5NzJmOWNjOGMxNmE3OTY3
NTExNTUyZjU0OTNhNjg2Zjk4Li4zM2NhMGVjMjNiNThhNTUxMTg3Njg0NmJhMDcxODM1MzJiNWM0
N2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9T
ZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNzMsOCArNzMsOSBAQCBjbGFz
cyBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSA6IHB1YmxpYyBXb3JrZXJPYmplY3RQcm94
eSB7CiAvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2VyT2JqZWN0UHJveHkKIC8vIEZJWE1FOiBV
c2UgdmFsaWQgcnVudGltZSBmbGFncwogCisvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2VyVHlw
ZSBhbmQgQ3JlZGVudGFpbHMgZm9yIG1vZHVsZSBzZXJ2aWNlIHdvcmtlcnMuCiBTZXJ2aWNlV29y
a2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0
RGF0YSYgZGF0YSwgU3RyaW5nJiYgdXNlckFnZW50LCBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBz
ZXR0aW5nc1ZhbHVlcywgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBXb3JrZXJEZWJ1
Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSog
aWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0gICAg
OiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3
b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVy
KCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0
ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgTW9u
b3RvbmljVGltZTo6bm93KCksIHsgfSwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0YS5zY3JpcHQsIGxv
YWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6
c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLnJlZ2lzdHJhdGlv
bi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRiQ29ubmVjdGlvblBy
b3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQo
KSkKKyAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAi
c2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlk
ZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9h
ZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZh
bHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBXb3JrZXJUeXBlOjpDbGFzc2ljLCBGZXRj
aFJlcXVlc3RDcmVkZW50aWFsczo6U2FtZU9yaWdpbiwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0YS5z
Y3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJl
YWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLnJl
Z2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRiQ29u
bmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFs
bEVuYWJsZWQoKSkKICAgICAsIG1fZGF0YShkYXRhLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV93
b3JrZXJPYmplY3RQcm94eShEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCkp
CiAgICAgLCBtX2hlYXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCku
Y29ubmVjdGlvbigpLT5zaG91bGRVc2VTaG9ydFRpbWVvdXQoKSA/IGhlYXJ0QmVhdFRpbWVvdXRG
b3JUZXN0IDogaGVhcnRCZWF0VGltZW91dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAppbmRleCAyZGRkYjNiNWI0MWVk
ODdiZDYxNGEwYjk0ZDA5Yjc2MTI5M2Q3NjA3Li4zNzhmYmE2NTdlOGJiZjQ4NDFlNTZjYmY4NjU2
MWY4ZWNjMzExMDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCkBAIC01MCw3ICs1MCw3IEBAIHN0cnVjdCBTZXJ2
aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50UXVl
cnlPcHRpb25zOwogc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTsKIHN0cnVjdCBTZXJ2
aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXI7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVt
IGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90OwogCiBjbGFzcyBTV1NlcnZlcldvcmtlciA6IHB1
YmxpYyBSZWZDb3VudGVkPFNXU2VydmVyV29ya2VyPiB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCBkNzA0ODg2NjQ4YzBl
ZmFhNmI3ODA4NGM1Mzg3MjAxY2EyYjFjNTQzLi5hYTdjMDJlMDg2Y2E0YTA4MmViZTQ3NTA4ODFk
NGEyNGQ3OGM5NTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0
R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5jcHAKQEAgLTE1OCw4ICsxNTgsNyBAQCBSZWZlcnJlclBvbGljeSBXb3JrbGV0R2xv
YmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHZvaWQgV29ya2xldEdsb2JhbFNjb3Bl
OjpmZXRjaEFuZEludm9rZVNjcmlwdChjb25zdCBVUkwmIG1vZHVsZVVSTCwgRmV0Y2hSZXF1ZXN0
Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8
RXhjZXB0aW9uPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoIWlzTWFp
blRocmVhZCgpKTsKLSAgICBtX3NjcmlwdEZldGNoSm9icy5hcHBlbmQoeyBtb2R1bGVVUkwsIGNy
ZWRlbnRpYWxzLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSB9KTsKLSAgICBwcm9jZXNzTmV4
dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKTsKKyAgICBzY3JpcHQoKS0+bG9hZEFuZEV2YWx1YXRl
TW9kdWxlKG1vZHVsZVVSTCwgY3JlZGVudGlhbHMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKIH0KIAogdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OnByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hK
b2JJZk5lZWRlZCgpCkBAIC0xODgsNyArMTg3LDcgQEAgdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6
OnByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCgpCiAgICAgYXV0byBjb250ZW50U2Vj
dXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5m
b3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ2hpbGRTcmNE
aXJlY3RpdmU7CiAKICAgICBtX3NjcmlwdExvYWRlciA9IFdvcmtlclNjcmlwdExvYWRlcjo6Y3Jl
YXRlKCk7Ci0gICAgbV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseSgqdGhpcywgV1RG
TW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzKTsKKyAgICBtX3Nj
cmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCp0aGlzLCBXVEZNb3ZlKHJlcXVlc3QpLCBX
VEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBT
ZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMsIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2Rl
KCkpOwogfQogCiB2b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVu
c2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJiOWE1MmI3ZGY3
MzFlNjY1YzRmMTAyNmQ4YWMxOTM5YTRhODgyYTMuLmI2MTg5ZjM4MzVjOTFjNjIxNjMyNzE4ZGUy
OTcxZmE1NzVmZmIzOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0wMi0xMSAgWXVzdWtl
IFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29y
a2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0
ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBU
ZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTAyLTEwICBBbWlyIE1hcmsgSnIgIDxhbWlyX21hcmtA
YXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNPU10gYW5pbWF0aW9ucy9rZXlmcmFtZS1wc2V1ZG8t
c2hhZG93Lmh0bWwgaXMgZmxha2V5IGZhaWxpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCBkMzBlNTYyOTIyZTVhNGQ2ZjMxNjI2NWUxZWEyNTY4ZTk5ZTdlODFjLi5kMmE1NGZm
MDliZjdiYjdlNmM0NmEwNjE1NDY4YzUwNDRkMmI0NWRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVraSAgPHlz
dXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24t
bW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNj
b3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEv
YmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdv
cmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1v
cmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2Ny
aXB0cy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9y
dFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEv
eGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9i
YWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlv
bi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1
bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9y
dC1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQtbWV0YS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVjdGVkLXdv
cmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAyLTEwICBNYW51ZWwgUmVnbyBDYXNh
c25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBtb2Rp
ZmllciBrZXlzIGluIHRlc3RfZHJpdmVyLnNlbmRfa2V5cygpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBlOGQxN2IwNzc1MmQxZTdmMTI4NzQ2MzBkNzljMWUyYWVhNGVkMjM2Li5lMWFjYzI1MGI2ZDM3
ZmVlYTFkMjFhYmRjZDFmMjE3MzgyZmEzZDlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY0Miw3
ICs2NDIsNiBAQCBmYXN0L2RvbS9jb25uZWN0ZWQtc3ViZnJhbWUtY291bnRlci1vdmVyZmxvdy5o
dG1sIFsgU2xvdyBdCiBbIERlYnVnIF0gaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1tZXNzYWdl
cG9ydC0yLmh0bWwgWyBTbG93IF0KIAogIyBTa2lwIHdvcmtlcnMgdGVzdHMgdGhhdCBhcmUgdGlt
aW5nIG91dCBvciBhcmUgU2hhcmVkV29ya2VyIHJlbGF0ZWQgb25seQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4u
aHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Rh
dGEtdXJsLXNoYXJlZC5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvZXhhbXBsZXMvb25jb25uZWN0LmFueS5odG1sIFsgU2tpcCBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZXhhbXBsZXMvb25jb25uZWN0LmFueS53
b3JrZXIuaHRtbCBbIFNraXAgXQpAQCAtNjY1LDcgKzY2NCw2IEBAIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9TaGFyZWRXb3JrZXItcmVwbGFjZS1FdmVudEhhbmRsZXIu
YW55Lmh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29y
a2VyLXJlcGxhY2UtRXZlbnRIYW5kbGVyLmFueS53b3JrZXIuaHRtbCBbIFNraXAgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlci1zY3JpcHQtZXJy
b3IuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L1NoYXJlZFdvcmtlci1zaW1wbGUuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJy
ZXIuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLWNyZWRlbnRpYWxzLmh0bWwgWyBTa2lw
IF0KIAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9y
cy9TaGFyZWRXb3JrZXIgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1
bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNDky
NjliM2I1MGI5MTc1Y2I2MmVjYTMxMmU1ODZiM2IxNjYyYTI1OS4uMmNhZTVmN2UzNWEzMmZlY2Vi
MjY4ZjI5MDAwMGU0ZTU1NTZjNjg2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1t
b2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEs
NyArMSw3IEBACiAKLUZBSUwgTm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0
aGUgbW9kdWxlICcuL251bGwuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiB0cnVlIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3Vs
ZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vdHJ1ZS5qc29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6
IGZhbHNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZmFsc2UuanNvbicuIgot
RkFJTCBOb24tb2JqZWN0OiBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAn
Li9zdHJpbmcuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBhcnJheSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGlt
cG9ydCB0aGUgbW9kdWxlICcuL2FycmF5Lmpzb24nLiIKK0ZBSUwgTm9uLW9iamVjdDogbnVsbCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUg
dHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHRydWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBm
YWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0
IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlv
bi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1v
YmplY3Q6IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEph
dmFTY3JpcHQgTUlNRSB0eXBlLiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3Bl
LW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVy
cm9yLW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRk
MjJlNGMxZGNiM2E1Zi4uZjY4Y2M3M2I0ZDY3NGM1NGRmYWZlNTIyMTJiNjQzYzQwMzBmZDQyYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9j
aGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2No
ZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQu
dHh0CkBAIC0xLDQgKzEsNCBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKLQorRkFJTCBQcm9taXNlIHJlc29sdmVkIGR1cmluZyAjcmVwb3J0LXRoZS1lcnJvciBh
c3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJoYW5k
bGVyIDEiLCAiaGFuZGxlciAyIiwgImhhbmRsZXIgMSBwcm9taXNlIiwgImhhbmRsZXIgMiBwcm9t
aXNlIl0gbGVuZ3RoIDQsIGdvdCBbXSBsZW5ndGggMAorUEFTUyBQcm9taXNlIHJlc29sdmVkIGR1
cmluZyBldmVudCBoYW5kbGVycyBvdGhlciB0aGFuIGVycm9yCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9i
YXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwt
d29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0CmluZGV4IDUxZDYxMDBlNjEyMmE5N2Mz
NjRiM2NlYjFkN2ZkMDdlMGUxNTYxMTcuLmE4MDUwYzA3OGNmOGI4OGQ1NjhhZmZlMGQ1NWNjMzE5
MGMzNjU0N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21v
ZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVj
dGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHNh
bWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxl
ICcuL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikm
bGFiZWw9cmVsYXRpdmUtY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgotRkFJTCBBYnNv
bHV0ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQg
bm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9n
YW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCop
JmxhYmVsPWFic29sdXRlLWNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCknLiIKLVBBU1MgUmVs
YXRpdmUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpCi1GQUlMIEFi
c29sdXRlIFVSTC1saWtlIGZyb20gY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9y
dC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
LCopJmxhYmVsPWFic29sdXRlLWNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCknLiIKK1BBU1Mg
UmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKK1BBU1Mg
QWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKK0ZBSUwg
UmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIGFzc2Vy
dF9lcXVhbHM6IFJlbGF0aXZlIFVSTC1saWtlIHNwZWNpZmllciByZXNvbHV0aW9uIHNob3VsZCBm
YWlsIGV4cGVjdGVkICIodW5yZWFjaGVkKSIgYnV0IGdvdCAiZ2FtbWEvaW1wb3J0LmpzIgorUEFT
UyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFt
aWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jh
c2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0CmluZGV4IDg2NmViYjIyN2FkMjZhYWNlMWE1
NzhiYWVhNmE4MWRjMGU2ZTc3ZjAuLjVlNzA2MzQ5MGUyZGZmZWNlODVlYTc2NWFlYmRkZTRiMTZl
YjBmYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBv
cnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBA
CiAKLUZBSUwgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJv
cjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2ltcG9ydC5qcz9waXBlPWhlYWRlcihB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9cmVsYXRpdmUtd29ya2VyIHRvcC1s
ZXZlbCBzY3JpcHQnLiIKLUZBSUwgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxl
dmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3LjAu
MC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21v
ZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLXdvcmtlciB0b3AtbGV2ZWwgc2Ny
aXB0Jy4iCitQQVNTIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gd29ya2VyIHRvcC1sZXZlbCBzY3Jp
cHQKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZh
bHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13
b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRj
MWRjYjNhNWYuLjJmMTJhMjM0MmZhZDIyNGUzYTE4YTZmYjVkODQ4MzI1ZWE2Nzc2ZmUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9u
LW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKLQorUEFTUyBUZXN0IGV2YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxl
cwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUv
ZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3Ro
ZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3Rl
ZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uYjg2
MWY3MDFmOTQ4ZmIxMzI3NjkzMjJjMzgzNjZmMmQxMzhmMDRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3Jr
ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21v
ZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMg
QEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZBSUwgVGVz
dCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3Ro
cyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsic3RlcC0xLTEiLCAic3RlcC0xLTIiLCAiZ2xvYmFs
LWVycm9yIiwgImVycm9yIiwgIm1pY3JvdGFzayJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTEtMSIs
ICJzdGVwLTEtMiIsICJtaWNyb3Rhc2siXSBsZW5ndGggMwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9y
dC13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRl
eCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi5jMWQzOGJkZTUwYzU5
ZTVkNTk0MTczZDk2ZjljZDE5ZWIxMDdjOWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3Ro
ZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXIt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitGQUlM
IFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzIGFzc2VydF9hcnJheV9lcXVhbHM6IGxl
bmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbInN0ZXAtMi4yLTEiLCAic3RlcC0yLjItMiIs
ICJnbG9iYWwtZXJyb3IiLCAiZXJyb3IiLCAibWljcm90YXNrLTIuMiJdIGxlbmd0aCA1LCBnb3Qg
WyJzdGVwLTIuMi0xIiwgInN0ZXAtMi4yLTIiLCAibWljcm90YXNrLTIuMiJdIGxlbmd0aCAzCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFs
dWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdv
cmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMx
ZGNiM2E1Zi4uMmYxMmEyMzQyZmFkMjI0ZTNhMThhNmZiNWQ4NDgzMjVlYTY3NzZmZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24t
b3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQp
LCBtZXNzYWdlID0gbnVsbAotCitQQVNTIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVz
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5o
dHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtbW9kdWxlLXNjcmlw
dHMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDEyZDk0YTkxZWYxZjhhYjBhMTg3Yzc0OWIwZGRl
YzY5NmQxMTg4ZTcuLmI0ZDY4YWYwNTZlZWY2MjJhMzNkNTRmMDc2ZjM4MWQ0ZTFiYjI5YTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRz
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMiw4ICsyLDggQEAKIEZBSUwgU3RhdGljIGltcG9ydC4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgogRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgogRkFJTCBTdGF0aWMgaW1wb3J0IGFuZCB0aGVu
IGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcq
Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIER5bmFt
aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5
bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9y
dC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgTmVzdGVkIGR5bmFt
aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5
bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9y
dC1vbi1keW5hbWljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIER5
bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6
IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3Qg
aW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLXN0YXRpYy1pbXBvcnQtc2NyaXB0LmpzJy4i
LCBleHBlY3RlZCBhcnJheQotRkFJTCBldmFsKGltcG9ydCgpKS4gYXNzZXJ0X2FycmF5X2VxdWFs
czogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5v
dCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4cGVj
dGVkIGFycmF5CitQQVNTIER5bmFtaWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgZHluYW1pYyBpbXBv
cnQuCitQQVNTIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuCitQQVNTIGV2
YWwoaW1wb3J0KCkpLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxld29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0
ZWQudHh0CmluZGV4IGRkOWFmMzhmZjA5ZmJlYzFmYWMwYjhmNWVhOWJhZDZlMzE2MzY0OWQuLjUx
ZWIzNjYzOGMxY2E3ZDA2MGI3Njc1OTI2ZmNjNzBjNWJmMDc2ZTcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2Fs
cGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2lt
cG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09M
RSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdyJy4gaW1wb3J0
IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAotRkFJTCBCYXNlIFVSTCBpbiBt
b2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IGltcG9ydCBhc3NlcnRfdW5yZWFjaGVkOiBHb3QgZXJy
b3IgZXZlbnQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIEJhc2UgVVJMIGluIG1vZHVs
ZSBkZWRpY2F0ZWQgd29ya2VyczogaW1wb3J0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9y
dFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMt
aW4td29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBhYjVhN2ZiODkwMjBmMjlmZDg5M2E3NTY4MGZm
ZTE3ZDNkMzUwZjdjLi5hYjUzYjgwNTk5YWUwMTk1NzgwODVlZTQ0YWFlZmE0Yzc5NTUyNjg0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsMyBAQAogCi1GQUlMIGltcG9ydFNjcmlwdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
ImdhbW1hL3NjcmlwdC5qcyIgYnV0IGdvdCAiYmV0YS9zY3JpcHQuanMiCitQQVNTIGltcG9ydFNj
cmlwdHMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4
M2YzNjdmMmNmM2E2NmM2NGE2MjY0Mjk0NjU2ZDVlODgxZDFjMTFjLi4yOGIwY2I0MDAxMzkyZDA4
ODdhNGZlYmU2ODFjMWUxNTFkMGRmMThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9k
dWxld29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2Vy
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBCYXNlIFVSTCBpbiBtb2R1bGUg
ZGVkaWNhdGVkIHdvcmtlcnM6IFhIUiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWFcbiIg
YnV0IGdvdCAiYmV0YVxuIgorUEFTUyBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtl
cnM6IFhIUgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9i
YXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGQ2YjA4ZWVkYWU2
ZjY5NmM3YTRiZmE2NTVlMTNiNWVkNDYwN2VhMDEuLmVhMTQ1NGQ5YjNmMjBmODVkOTAxNmM1MDZh
MTU0NmFmNjE3ODQyZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsMyBAQAogCi1GQUlMIHhoci13b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1h
XG4iIGJ1dCBnb3QgImJldGFcbiIKK1BBU1MgeGhyLXdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0
b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1l
LW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggODMxZjBjNThjNjk0YzJkNGZlYmQ2ZDhkMGFmMzA3
YjEwOTQ0MmE2ZS4uZDU1NWVlN2NmM2ZjNzJlZmI4MmRmOWRiN2RhZDM2N2Y5YWI3ZmZiZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1
Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMSBAQAog
Ci1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQogUEFTUyB1bnN1cHBv
cnRlZF9zY2hlbWUKIEZBSUwgZGF0YV91cmwgVGhlIG9wZXJhdGlvbiBpcyBpbnNlY3VyZS4KLVRJ
TUVPVVQgYWJvdXRfYmxhbmsgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgZXhhbXBsZV9pbnZhbGlk
IFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIHBvcnRfODEgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQg
aHR0cHNfcG9ydF84MCBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBodHRwc19wb3J0XzgwMDAgVGVz
dCB0aW1lZCBvdXQKLVRJTUVPVVQgaHR0cF9wb3N0XzgwMTIgVGVzdCB0aW1lZCBvdXQKLVRJTUVP
VVQgamF2YXNjcmlwdF91cmwgVGVzdCB0aW1lZCBvdXQKK1BBU1MgYWJvdXRfYmxhbmsKK1BBU1Mg
ZXhhbXBsZV9pbnZhbGlkCitQQVNTIHBvcnRfODEKK1BBU1MgaHR0cHNfcG9ydF84MAorUEFTUyBo
dHRwc19wb3J0XzgwMDAKK1BBU1MgaHR0cF9wb3N0XzgwMTIKK1BBU1MgamF2YXNjcmlwdF91cmwK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3Qt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3Qt
ZXhwZWN0ZWQudHh0CmluZGV4IGYxNzQxZjlkOGJmMDcwMzI3MGQyZTM3NjJkYmNiZTI2YzBiOTAw
NTkuLjNiMGRmYjM1ZTUxY2QxYTg1NDU1MzAxOWMwZTQwM2RiZTJmMWQzM2YgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50
eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgV29ya2VyTG9jYXRpb24gd2l0aCByZWRpcmVjdHM6
IGNsYXNzaWMgZGVkaWNhdGVkIHdvcmtlcnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9j
YXRpb24vcG9zdC1sb2NhdGlvbi1tZW1iZXJzLmpzP2EiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vaGVs
cGVyLXJlZGlyZWN0LnB5P2ZhaWwiCitQQVNTIFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3Rz
OiBjbGFzc2ljIGRlZGljYXRlZCB3b3JrZXJzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckds
b2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9X
b3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGRjMmUyZTIwN2RiMDAxZWU3MGU3MzMwN2QyN2JiMzM1NzIwZmQ1NTkuLmIzYmY4MWVlODY4
MWI5ZGMwODBmNTgwMjcxZThiOGYzOTA5NjU0OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckds
b2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4
dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czog
bW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8v
bG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0
aW9uL3Bvc3QtbG9jYXRpb24tbWVtYmVycy5qcz9hIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0
Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL2hlbHBl
ci1yZWRpcmVjdC5weT9mYWlsIgorUEFTUyBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czog
bW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3Jr
ZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDIwYWMxN2Q1NjNjNGIzYTQ2
MWYwY2FhZmJlYWVlYmQ3MTNmOTcwODEuLmRjY2VkY2NkMzY4ZTFmZjE3YjFkZDEzNmU0NTNmZWM0
ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJs
LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11
cmwuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwxOCArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4
MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6
IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0
Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9uZXN0ZWQtc3RhdGljLWltcG9ydC13b3Jr
ZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09M
RSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDov
L2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvc3RhdGljLWltcG9ydC1h
bmQtdGhlbi1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxl
cy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0
cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQg
Y2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50
YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAw
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtYW5kLXRoZW4tc3RhdGlj
LWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3Vt
ZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0
ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXZh
bC1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkg
b25lIGFyZ3VtZW50LgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29y
a2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9ydC1hbmQtdGhlbi1zdGF0aWMtaW1w
b3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
Ci0KLUZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBv
cnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
IgotRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJh
bCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3Rl
ZC1zdGF0aWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkg
b25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9y
dC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93
b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtYW5kLXRoZW4tZHluYW1pYy1p
bXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1l
bnQuIgotRkFJTCBEeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBc
Imh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMt
aW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3Vt
ZW50LiIKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBs
aXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMv
bmVzdGVkLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGlj
IGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6
ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LWFuZC10aGVuLXN0
YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuIgotRkFJTCBldmFsKGltcG9ydCgpKS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0
ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V2
YWwtZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3Rs
eSBvbmUgYXJndW1lbnQuIgorUEFTUyBTdGF0aWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgc3RhdGlj
IGltcG9ydC4KK1BBU1MgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4KK1BB
U1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHlu
YW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSku
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1jc3AtZXhwZWN0ZWQudHh0CmluZGV4IDFk
YTQ2YjkyNmJlMDg5NmVlOGY3NWE3OGRjYWU0ZjI2OWIwNTA5MmIuLjIzOWNjOWNlMTUzMDFmN2Vl
ZDgzZDVlYjIyMzBhOWRlMjk0ZWEyZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LWNzcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQt
Y3NwLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwyMiBAQAogQ09OU09MRSBNRVNTQUdFOiBVbnJl
Y29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4K
IAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6
OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwog
Q09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGly
ZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0
dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9y
dC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBz
Oi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1v
bi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8v
d3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1s
b2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1
cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJl
Y29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4K
IAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6
OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwor
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0
My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxv
Y2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93
b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09M
RSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZl
ICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8v
d3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1s
b2FkLXNjcmlwdC5qcwogCiBQQVNTIHdvcmtlci1zcmMgJ3NlbGYnIGRpcmVjdGl2ZSBzaG91bGQg
ZGlzYWxsb3cgY3Jvc3Mgb3JpZ2luIHN0YXRpYyBpbXBvcnQuCiBGQUlMIHdvcmtlci1zcmMgKiBk
aXJlY3RpdmUgc2hvdWxkIGFsbG93IGNyb3NzIG9yaWdpbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiBleHBlY3RlZCBwcm9wZXJ0eSAwIHRvIGJlICJleHBvcnQtb24tbG9hZC1z
Y3JpcHQuanMiIGJ1dCBnb3QgIkVSUk9SIiAoZXhwZWN0ZWQgYXJyYXkgWyJleHBvcnQtb24tbG9h
ZC1zY3JpcHQuanMiXSBnb3QgWyJFUlJPUiJdKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWlt
cG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRleCA5NWM2ZDE1ZGY0NGUxOGEzNWRmZWIwZmEz
OWM4ZDM4NDQyMGMyYzEzLi5lOTU1NzhlNzFiMWM1MGE0ZTA0NzFiMDM3MTU0YjM4NmIzN2FlZDc0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4
dApAQCAtMSw5ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgc3RyaW5nIGxpdGVyYWwgJy4vbm9uLWV4aXN0ZW50LXNjcmlwdC5qcycuIGltcG9ydCBjYWxs
IGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCitDT05TT0xFIE1FU1NBR0U6IEltcG9ydGlu
ZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLgogCi1GQUlMIGltcG9ydFNjcmlwdHMoKSBvbiBtb2R1
bGUgd29ya2VyIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJUeXBlRXJyb3IiIGJ1dCBnb3QgIkxPQURFRCIKK1BBU1MgaW1wb3J0U2NyaXB0cygpIG9u
IG1vZHVsZSB3b3JrZXIgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIFBBU1MgV29ya2VyIGNv
bnN0cnVjdGlvbiBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJy
b3JFdmVudC4KIFBBU1MgU3RhdGljIGltcG9ydCBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91
bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KLUZBSUwgRHluYW1pYyBpbXBvcnQgZm9yIG5vbi1l
eGlzdGVudCBzY3JpcHQgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIlR5cGVFcnJvciIgYnV0IGdvdCAiRXJyb3IiCitQQVNTIER5bmFtaWMgaW1wb3J0
IGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNT
IFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIGFuIGludmFsaWQgVVJMIHNob3VsZCB0aHJvdyBhbiBl
eGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIGEgZmlsZSBVUkwgc2hvdWxk
IHRocm93IGFuIGV4Y2VwdGlvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1p
bXBvcnQtbWV0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRh
LWV4cGVjdGVkLnR4dAppbmRleCBkNTgwNjIwNDFjM2U2OTUxNWI4MTVlMDJkN2MzODY4NGQ3N2M3
NmI3Li43NzI5MWJhYTFhNDE4NGJlYmU3YWQ3YjVkOWYxMTljNzFhNzhkZTRmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDUgQEAK
LUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQg
aW5zaWRlIG1vZHVsZXMuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4
RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCi0KLUZBSUwg
VGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0LiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBp
bXBvcnQubWV0YSBpcyBvbmx5IHZhbGlkIGluc2lkZSBtb2R1bGVzLiIKLUZBSUwgVGVzdCBpbXBv
cnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQuIGFzc2VydF90cnVlOiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUg
aW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJhZ21lbnQuIGFzc2VydF90cnVlOiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgdG9w
LWxldmVsIG1vZHVsZSBzY3JpcHQuCitQQVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBp
bXBvcnRlZCBtb2R1bGUgc2NyaXB0LgorUEFTUyBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUg
aW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJhZ21lbnQuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LW1ldGEuaHRtbAppbmRleCBjZmY4ZTkxNDg4ZTgyMzlhYmUyMTM2MTlkMTJkNWE2MDMw
NzJmYmVhLi5lZGUyNjkyZTFjNjM0MWJlZmZjOTAxMGM0MWI4ZjRjZmU0MzgzMjliIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1sCkBAIC01Myw3ICs1Myw3IEBACiAgICAgICAgIHdv
cmtlci5wb3N0TWVzc2FnZSgnLi8nICsgc2NyaXB0X3VybCArICcjMScpOwogICAgICAgICByZXR1
cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0gcmVzb2x2ZSk7CiAg
ICAgICB9KQotICAgICAgLnRoZW4obXNnX2V2ZW50ID0+IGFzc2VydF90cnVlKG1zZ19ldmVudC5k
YXRhLmVuZHNXaXRoKHNjcmlwdF91cmwpKSk7CisgICAgICAudGhlbihtc2dfZXZlbnQgPT4gYXNz
ZXJ0X3RydWUobXNnX2V2ZW50LmRhdGEuZW5kc1dpdGgoc2NyaXB0X3VybCArICcjMScpKSk7CiB9
LCAnVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQgd2l0
aCBhIGZyYWdtZW50LicpOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4dAppbmRleCA2ZGM0MmMxY2ZkMzM0OGFmZGQxZGZk
M2IxMGE1MDQ3MDU1MzAxOTZhLi5mZTFiOWQ5M2MwODAxMWI1MGU5NDFmNGUxMjM2MDY3YWJiZDNm
MjNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXItZXhwZWN0
ZWQudHh0CkBAIC0xLDE5ICsxLDIzIEBACi0KLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNz
YWdlID0gbnVsbAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5s
b2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1j
aGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxv
Y2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNo
ZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9j
YWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hl
Y2tlci5weQorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2Nh
bGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVj
a2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2Fs
aG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNr
ZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxo
b3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tl
ci5weQogCiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0IGxvYWRpbmcg
d2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeQogUEFTUyBTYW1lLW9yaWdpbiB0b3At
bGV2ZWwgbW9kdWxlIHNjcmlwdCBsb2FkaW5nIHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
CiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAi
c2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeQotRkFJTCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1w
b3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJv
ciIKLUZBSUwgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVy
IHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotRkFJTCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1w
b3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJv
ciIKK1BBU1MgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVm
ZXJyZXIgcG9saWN5LgorUEFTUyBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm9yaWdp
biIgcmVmZXJyZXIgcG9saWN5LgorUEFTUyBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGgg
InNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCiBGQUlMIENyb3NzLW9yaWdpbiBzdGF0aWMg
aW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBl
cnJvciIKIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZl
cnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRp
YyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBl
IGVycm9yIgotVElNRU9VVCBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJuby1yZWZl
cnJlciIgcmVmZXJyZXIgcG9saWN5LiBUZXN0IHRpbWVkIG91dAotTk9UUlVOIFNhbWUtb3JpZ2lu
IGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgotTk9UUlVOIFNh
bWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xp
Y3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVy
IiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdp
dGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgotTk9UUlVOIENyb3NzLW9yaWdpbiBkeW5hbWlj
IGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgorRkFJTCBTYW1lLW9y
aWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAv
d29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9ydC1zYW1lLW9yaWdpbi1yZWZl
cnJlci1jaGVja2VyLXdvcmtlci5qcyIKK0ZBSUwgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQg
d2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29y
a2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9ydC1zYW1lLW9yaWdpbi1yZWZlcnJl
ci1jaGVja2VyLXdvcmtlci5qcyIKK1BBU1MgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0
aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFt
aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlw
ZSBlcnJvciIKK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCitGQUlMIENyb3NzLW9yaWdpbiBk
eW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFu
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQu
dHh0CmluZGV4IGEyM2E1NTc1ZGI0Mjc0MjdmODViZDZiNjM1NGRlODgzODMxZmUyYjQuLmRjY2Vk
Y2NkMzY4ZTFmZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwxNCArMSw5IEBACi1DT05TT0xFIE1F
U1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFy
Z3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
KicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKLUhhcm5lc3Mg
RXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyon
LiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotCi1GQUlMIFN0YXRp
YyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVkIHN0YXRpYyBpbXBvcnQuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LiIKLUZBSUwgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
IgotRkFJTCBEeW5hbWljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZh
aWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1v
ZHVsZSAnLi9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlM
IE5lc3RlZCBkeW5hbWljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZh
aWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1v
ZHVsZSAnLi9leHBvcnQtb24tZHluYW1pYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBh
cnJheQotRkFJTCBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJv
cjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1zdGF0aWMtaW1wb3J0
LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgZXZhbChpbXBvcnQoKSkuIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVy
cm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxvYWQtc2NyaXB0
LmpzJy4iLCBleHBlY3RlZCBhcnJheQorUEFTUyBTdGF0aWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQg
c3RhdGljIGltcG9ydC4KK1BBU1MgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9y
dC4KK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BB
U1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBv
cnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4
dAppbmRleCBkYTBlNGViNjc1OGQxNGEzN2EzOThkMGI2ZmM3MWFkMzg3NmJkMjZiLi4xZmMwYzY2
ZmRmNzI0YzJhYTNiOTEwNjk4MGJmYmU3ZTk4OGY5NzczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0CkBAIC0yLDExICsyLDYgQEAKIFBBU1MgVGVz
dCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggdGhlIGRlZmF1bHQgd29ya2VyIHR5cGUuCiBQQVNT
IFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIHRoZSAiY2xhc3NpYyIgd29ya2VyIHR5cGUu
CiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIHRoZSAibW9kdWxlIiB3b3JrZXIg
dHlwZS4KLUZBSUwgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgd29ya2Vy
IHR5cGUuIGFzc2VydF90aHJvd3NfanM6IFdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiBlbXB0
eSB0eXBlIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24gZnVuY3Rpb24gIigpID0+IHsKLSAgICAg
ICAgbmV3IFdvcmtlcigncmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS1vbi1sb2FkLXdvcmtlci5qcycs
IHsgdHlwZTogJycgfSk7Ci0gICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIFRlc3Qgd29ya2Vy
IGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVua25vd24gd29ya2VyIHR5cGUuIGFzc2VydF90aHJvd3Nf
anM6IFdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtub3duIHR5cGUgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgICBuZXcgV29ya2VyKCdyZXNv
dXJjZXMvcG9zdC1tZXNzYWdlLW9uLWxvYWQtd29ya2VyLmpzJywKLSAgICAgICAgICAgICAgICAg
ICB7IHR5cGU6ICd1bmtub3duJyB9KTsKLSAgICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgVGVz
dCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgd29ya2VyIHR5cGUuCitQQVNTIFRl
c3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVua25vd24gd29ya2VyIHR5cGUuCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQu
dHh0CmluZGV4IGU4ZWI1NDBiZDMzOTI0MDBhOGRiZmQ5Mzg2NDhhNjQ5MjM5YzBkOWUuLmQxYTUw
ZjdlYTNjZDZkYzI5OGVmNzU0MTQ3NzYyYzY5YzU3ZDczYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsx
LDE0IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcq
Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KK0NPTlNPTEUgTUVT
U0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzsnCitDT05TT0xFIE1FU1NBR0U6
IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc7JwogCi1IYXJuZXNzIEVycm9yIChGQUlM
KSwgbWVzc2FnZSA9IEVycm9yOiBhc3NlcnRfaW1wbGVtZW50czogU3RhdGljIGltcG9ydCBtdXN0
IGJlIHN1cHBvcnRlZCBvbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlciB0byBydW4gdGhpcyB0ZXN0
LiB1bmRlZmluZWQKLQotTk9UUlVOIE1vZHVsZSB3b3JrZXIgY29uc3RydWN0aW9uIGZvciBzY3Jp
cHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9y
LgotTk9UUlVOIFN0YXRpYyBpbXBvcnQgb24gbW9kdWxlIHdvcmtlciBmb3Igc2NyaXB0IHdpdGgg
c3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4KK0ZBSUwg
TW9kdWxlIHdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBz
aG91bGQgZGlzcGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiBi
dXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBFcnJvckV2ZW50KCkgeworICAgIFtuYXRpdmUgY29k
ZV0KK30iCitGQUlMIFN0YXRpYyBpbXBvcnQgb24gbW9kdWxlIHdvcmtlciBmb3Igc2NyaXB0IHdp
dGggc3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIEV2ZW50KCkgeworICAgIFtu
YXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEVycm9yRXZlbnQoKSB7
CisgICAgW25hdGl2ZSBjb2RlXQorfSIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CmluZGV4IDYzOTg0NzEyMTQ1OWE3YWIzN2I5ZjA5
YTY4YmE2NGVhOGE5ZWQ1N2MuLmU5NDY5NDdiMTRhZWYzZTUyOTlhMGFiYTNhZTRiMWNmOWZjZDk1
NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBl
Y3RlZC50eHQKQEAgLTEsNyArMSw4IEBACiBDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9t
aXNlIFJlamVjdGlvbjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgogCi1GQUlMIFRlc3QgdGhlIG5hbWUgcHJvcGVydHkgb2Ygc2hhcmVkIGFuZCBkZWRp
Y2F0ZWQgd29ya2VycyB2aWEgdGhlIG5hbWUgY29uc3RydWN0b3Igb3B0aW9uIENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgotUEFTUyBEZWNsYXJpbmcgbmFtZSBhcyBhbiBhY2NpZGVu
dGFsIGdsb2JhbCBtdXN0IG5vdCBjYXVzZSBhIGhhcm5lc3MgZXJyb3IgZm9yIERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxl
ZCByZWplY3Rpb246IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCiBQQVNTIG5h
bWUgcHJvcGVydHkgdmFsdWUgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCiBQQVNTIG5h
bWUgcHJvcGVydHkgaXMgcmVwbGFjZWFibGUgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
CitQQVNTIERlY2xhcmluZyBuYW1lIGFzIGFuIGFjY2lkZW50YWwgZ2xvYmFsIG11c3Qgbm90IGNh
dXNlIGEgaGFybmVzcyBlcnJvciBmb3IgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
b3Blbi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0
ZWQtd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggMWUyZDM5OTJmNmQ1ZGYzMjIwN2E2
YjBmNjE5YTZkNzExODEyNDAwZC4uN2E3YTkxN2VhYTk4ZTkyZWUwM2VjMjhhMTFlNzgwODRkMjM0
Yjg4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVu
LXVybC1yZWRpcmVjdGVkLXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBA
QAogQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cyLmxvY2FsaG9zdDo4
ODAwL3hoci9yZXNvdXJjZXMvaW5zcGVjdC1oZWFkZXJzLnB5P2ZpbHRlcl9uYW1lPW9yaWdpbiZj
b3JzCiAKLUZBSUwgUmVmZXJlciBoZWFkZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJlZmVy
ZXI6IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL3dvcmtlcnhoci1vcmlnaW4t
cmVmZXJyZXIuanNcbiIgYnV0IGdvdCAiUmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3ho
ci9yZXNvdXJjZXMvcmVkaXJlY3QucHk/bG9jYXRpb249d29ya2VyeGhyLW9yaWdpbi1yZWZlcnJl
ci5qc1xuIgorUEFTUyBSZWZlcmVyIGhlYWRlcgogRkFJTCBPcmlnaW4gaGVhZGVyIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJPcmlnaW46IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMFxuIiBidXQgZ290
ICIiCiBQQVNTIFJlcXVlc3QgVVJMIHRlc3QKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420047</attachid>
            <date>2021-02-11 14:55:57 -0800</date>
            <delta_ts>2021-02-11 15:15:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210211145556.patch</filename>
            <type>text/plain</type>
            <size>230069</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MWIwMmZhMTIzZDg5YjM2OTdlZDZhNWE1YmI0N2ExOWY2YzNkNzI1Li40OTY2YzcwZWE2NDQ5NmE5
YTZlN2MzM2NlM2NhY2FmODljN2Q5ZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MiBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcDoK
KyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9yKToKKyAgICAgICAg
KiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRlRXJyb3IpOgorICAgICAg
ICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVSYW5nZUVycm9y
KToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3IpOgorICAgICAgICAoSlNDOjpj
cmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVR5cGVFcnJvcik6CisgICAg
ICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlR2V0dGVyVHlw
ZUVycm9yKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAg
ICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvRXJy
b3JJbnN0YW5jZS5jcHA6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OkVycm9ySW5zdGFu
Y2UpOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAoSlND
OjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKToKKyAgICAgICAgKEpTQzo6
RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkTmFtZVN0cmluZyk6CisgICAgICAgIChKU0M6OkVycm9y
SW5zdGFuY2U6OnNhbml0aXplZFRvU3RyaW5nKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9ySW5z
dGFuY2UuaDoKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6Y3JlYXRlKToKKyAgICAgICAg
KEpTQzo6RXJyb3JJbnN0YW5jZTo6ZXJyb3JUeXBlIGNvbnN0KToKKyAgICAgICAgKiBydW50aW1l
L0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9I
T1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiBydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNv
bnN0cnVjdEltcGwpOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9y
VHlwZT46OmNhbGxJbXBsKToKKyAgICAgICAgKiBydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5j
cHA6CisgICAgICAgIChKU0M6Ok51bGxTZXR0ZXJGdW5jdGlvbkludGVybmFsOjpKU0NfREVGSU5F
X0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVF
cnJvci5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OkpTV2Vi
QXNzZW1ibHlDb21waWxlRXJyb3IpOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUxp
bmtFcnJvci5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OkpTV2Vi
QXNzZW1ibHlMaW5rRXJyb3IpOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRp
bWVFcnJvci5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3I6OkpT
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3IpOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlD
b21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAg
ICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorCiAyMDIxLTAyLTEwICBT
YWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IGNyYXNoIHdo
ZW4gcmVwYXJzaW5nIGFuIGFycm93IGZ1bmN0aW9uIGFuZCB0aGUgcGFyc2luZyBpbnZhcmlhbnQg
aXMgYnJva2VuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA1MTUzZGY5Mjc2YTBlYzEzMzI1OTg1ZDNjMGE5NGQw
OTE3M2I4ZC4uZjNlOGYyM2QyNTBmZGY5YzU5ZTIwMjNmZTg4ODc0YTBiZmYxZWJjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzMiBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgor
ICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRl
cjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlw
dFdpdGhDYWNoZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25I
YW5kbGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhv
dXROYW1lKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmg6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2NyaXB0TW9kdWxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xv
YmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9N
R2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RP
TUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVBy
b3BlcnRpZXMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVh
dGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVM
b2FkZXJJbXBvcnRNb2R1bGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5k
b3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyk6IERlbGV0ZWQu
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNFeGVjU3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRXhlY1N0YXRlOjps
b2FkQW5kRXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xv
YmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxT
Y29wZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5o
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5cGUuaC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6Y2xlYXJDbGllbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpzY3JpcHRGZXRjaGVyKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6cGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3Jl
OjpNb2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgICogYmlu
ZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRNb2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxl
TG9hZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om1v
ZHVsZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNl
VVJMRnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVy
OjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9y
dE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZp
bmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTb3VyY2VDb2RlOjpTY3JpcHRTb3VyY2VDb2RlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6fldvcmtlck1vZHVsZVNj
cmlwdExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6
OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3Rp
ZnlGaW5pc2hlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaDogQWRkZWQuCisgICAg
ICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3Jp
cHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQpOiBE
ZWxldGVkLgorICAgICAgICAqIGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oOgorICAgICAgICAq
IGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6
OnJlcXVlc3RNb2R1bGVTY3JpcHQpOgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAg
ICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVh
ZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyOjpXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNjcmlwdHMpOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNj
b3BlOjpjcmVkZW50aWFscyBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZVByb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9i
YWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU6Oldvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmg6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6bW9kdWxlTG9h
ZGVyKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6anNWYWx1ZVRvTW9kdWxlS2V5KToKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlTW9kdWxlKToK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRN
b2R1bGVTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldFNj
cmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUp
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
U2NyaXB0TG9hZGVyOjpyZXNwb25zZVNvdXJjZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJTY3JpcHRMb2FkZXI6OmlzUmVkaXJlY3RlZCBjb25zdCk6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyUGFyYW1ldGVyczo6
aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6ZXZh
bHVhdGVTY3JpcHRJZk5lY2Vzc2FyeSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclR5cGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VySm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJK
b2I6OmZldGNoU2NyaXB0V2l0aENvbnRleHQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZCk6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oOgorICAgICAgICAqIHdvcmtsZXRz
L1dvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFs
U2NvcGU6OmZldGNoQW5kSW52b2tlU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRH
bG9iYWxTY29wZTo6cHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6ZGlkUmVjZWl2ZVJlc3BvbnNl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6bm90aWZ5
RmluaXNoZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3Bl
OjpkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrbGV0
cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaDoKKwogMjAyMS0wMi0xMCAgQWxleGV5IFByb3NrdXJ5YWtv
diAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBEbyBub3QgZGlmZmVyZW50aWF0ZSBiZXR3ZWVu
IFJlbGVhc2UgYW5kIFByb2R1Y3Rpb24gdmlhIEVOQUJMRV9ERVZFTE9QRVJfTU9ERQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuY3BwCmluZGV4IDc1
OWE1YjI0YTBlZDA4NjgwY2NhYTYzNDBkMmU5NWQ0NTBiODBmZDYuLjI5NmM4NWNjOTBlMDViNTQ1
NDdmNjYyYTdlMmY4YTFlMTMwYTQ2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BZ2dyZWdhdGVFcnJvci5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiBjb25zdCBDbGFzc0luZm8gQWdncmVnYXRlRXJyb3I6OnNfaW5mbyA9IHsgIkFnZ3JlZ2F0
ZUVycm9yIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShBZ2dyZWdhdGVFcnJvcikgfTsKIAogQWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9y
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUp
CisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6QWdncmVnYXRlRXJyb3IpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAppbmRleCBmNDczYjgx
ODFlYzJmMDJhMGNjNzhhMjZjMGMyMGRjOTYzMWZkYzc0Li4wOGE0MGRlMTZjZTVhNzdmZWYzNDY2
YTM0MTVlN2Y1NDRmZjkwMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3Iu
Y3BwCkBAIC0zNSwzNyArMzUsMzcgQEAgbmFtZXNwYWNlIEpTQyB7CiBKU09iamVjdCogY3JlYXRl
RXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQo
IW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0
dXJlKCksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0dXJu
IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwg
Z2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5v
dGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlRXZh
bEVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJU
KCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShn
bG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVj
dHVyZShFcnJvclR5cGU6OkV2YWxFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGlu
ZywgdHJ1ZSk7CisgICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3Qs
IGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5
cGU6OkV2YWxFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBl
OjpFdmFsRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlUmFuZ2VFcnJvcihKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5z
dGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5p
c0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0
LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JU
eXBlOjpSYW5nZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsK
KyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmFuZ2VF
cnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpSYW5nZUVy
cm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVJlZmVyZW5jZUVycm9yKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5j
ZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1w
dHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGds
b2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6
OlJlZmVyZW5jZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsK
KyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmVmZXJl
bmNlRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6UmVm
ZXJlbmNlRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlU3ludGF4RXJyb3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvcklu
c3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2Uu
aXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9y
VHlwZTo6U3ludGF4RXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUp
OworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxP
YmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpTeW50
YXhFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpTeW50
YXhFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJyb3IoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNl
OjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlciwgUnVudGltZVR5cGUgdHlwZSkKIHsKICAgICBBU1NF
UlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRl
KGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3Ry
dWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIHRy
dWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpU
eXBlRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgdHlwZSwgRXJyb3JUeXBlOjpUeXBlRXJyb3Is
IHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIg
YXBwZW5kZXIpCkBAIC03Niw3ICs3Niw3IEBAIEpTT2JqZWN0KiBjcmVhdGVOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvckluc3RhCiBKU09i
amVjdCogY3JlYXRlVVJJRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikK
IHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VVJJRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRl
ciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUo
Z2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1
Y3R1cmUoRXJyb3JUeXBlOjpVUklFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGlu
ZywgRXJyb3JUeXBlOjpVUklFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVFcnJv
cihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvclR5cGUgZXJyb3JUeXBlLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCkBAIC0xMTMsNyArMTEzLDcgQEAgSlNPYmplY3QqIGNyZWF0ZUVy
cm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVycm9yVHlwZVdpdGhFeHRlbnNpb24g
ZXJyb3IKIEpTT2JqZWN0KiBjcmVhdGVHZXR0ZXJUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIEFTU0VSVCghbWVzc2Fn
ZS5pc0VtcHR5KCkpOwotICAgIGF1dG8qIGVycm9yID0gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0
dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSk7CisgICAgYXV0byogZXJyb3IgPSBF
cnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGds
b2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpLCBtZXNzYWdl
LCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IpOwogICAgIGVycm9y
LT5zZXROYXRpdmVHZXR0ZXJUeXBlRXJyb3IoKTsKICAgICByZXR1cm4gZXJyb3I7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IDBmMmY1YTMxODQwMmZiYjdjN2Q4ODAyYjZkNzg0MmVmZTQwNmM4NDYuLjliZTkzMGNmMWMz
YzlhNDBlNjA4NTk4MzU1OGExYTU5YmM3OGI2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCkBAIC02MCwxNCArNjAsMTQgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdEVycm9yQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWMKICAgICAgICAgOiBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVh
dGVTdWJjbGFzc1N0cnVjdHVyZShnbG9iYWxPYmplY3QsIG5ld1RhcmdldCwgZ2V0RnVuY3Rpb25S
ZWFsbSh2bSwgbmV3VGFyZ2V0KS0+ZXJyb3JTdHJ1Y3R1cmUoKSk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgeyB9KTsKIAotICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNW
YWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3Ry
dWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKSk7CisgICAgUkVM
RUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3Jl
YXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVO
b3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpKTsKIH0KIAogSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKGNhbGxFcnJvckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNh
bGxGcmFtZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGds
b2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNz
YWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJl
LCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2Up
KTsKIH0KIAogYm9vbCBFcnJvckNvbnN0cnVjdG9yOjpwdXQoSlNDZWxsKiBjZWxsLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
IHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwCmluZGV4IDJlNGVjMzlmMTIwNThiMjUwODcyMmUw
YjgyNTIyNDdiZWIwMzE5ZTYuLjBmODZlMjJiOTJkZGQ2ZDEzOTg1OGI4NmU1NmNlYWRjYWVjZTBk
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFu
Y2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2Uu
Y3BwCkBAIC0zNCwxOCArMzQsMjMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNvbnN0IENsYXNzSW5m
byBFcnJvckluc3RhbmNlOjpzX2luZm8gPSB7ICJFcnJvciIsICZKU05vbkZpbmFsT2JqZWN0Ojpz
X2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRXJyb3JJbnN0YW5j
ZSkgfTsKIAotRXJyb3JJbnN0YW5jZTo6RXJyb3JJbnN0YW5jZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlKQorRXJyb3JJbnN0YW5jZTo6RXJyb3JJbnN0YW5jZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBFcnJvclR5cGUgZXJyb3JUeXBlKQogICAgIDogQmFzZSh2bSwgc3RydWN0
dXJlKQorICAgICwgbV9lcnJvclR5cGUoZXJyb3JUeXBlKQorICAgICwgbV9zdGFja092ZXJmbG93
RXJyb3IoZmFsc2UpCisgICAgLCBtX291dE9mTWVtb3J5RXJyb3IoZmFsc2UpCisgICAgLCBtX2Vy
cm9ySW5mb01hdGVyaWFsaXplZChmYWxzZSkKKyAgICAsIG1fbmF0aXZlR2V0dGVyVHlwZUVycm9y
KGZhbHNlKQogewogfQogCi1FcnJvckluc3RhbmNlKiBFcnJvckluc3RhbmNlOjpjcmVhdGUoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUg
bWVzc2FnZSwgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1bnRpbWVUeXBlIHR5cGUsIGJvb2wg
dXNlQ3VycmVudEZyYW1lKQorRXJyb3JJbnN0YW5jZSogRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1ZhbHVl
IG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyLCBSdW50aW1lVHlwZSB0eXBlLCBFcnJv
clR5cGUgZXJyb3JUeXBlLCBib29sIHVzZUN1cnJlbnRGcmFtZSkKIHsKICAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwogICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nID0gbWVzc2FnZS5pc1VuZGVmaW5lZCgpID8g
U3RyaW5nKCkgOiBtZXNzYWdlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7CiAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAgcmV0dXJuIGNyZWF0ZShnbG9iYWxP
YmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGFwcGVuZGVyLCB0eXBlLCB1c2VD
dXJyZW50RnJhbWUpOworICAgIHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0
dXJlLCBtZXNzYWdlU3RyaW5nLCBhcHBlbmRlciwgdHlwZSwgZXJyb3JUeXBlLCB1c2VDdXJyZW50
RnJhbWUpOwogfQogCiBzdGF0aWMgU3RyaW5nIGFwcGVuZFNvdXJjZVRvRXJyb3JNZXNzYWdlKENh
bGxGcmFtZSogY2FsbEZyYW1lLCBFcnJvckluc3RhbmNlKiBleGNlcHRpb24sIEJ5dGVjb2RlSW5k
ZXggYnl0ZWNvZGVJbmRleCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQpAQCAtMTMxLDcgKzEzNiwy
NSBAQCB2b2lkIEVycm9ySW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUwogLy8gQmFzZWQgb24gRXJyb3JQcm90b3R5cGUn
cyBlcnJvclByb3RvRnVuY1RvU3RyaW5nKCksIGJ1dCBpcyBtb2RpZmllZCB0bwogLy8gaGF2ZSBu
byBvYnNlcnZhYmxlIHNpZGUgZWZmZWN0cyB0byB0aGUgdXNlciAoaS5lLiBkb2VzIG5vdCBjYWxs
IHByb3hpZXMsCiAvLyBhbmQgZ2V0dGVycykuCi1TdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRp
emVkVG9TdHJpbmcoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK1N0cmluZyBFcnJvcklu
c3RhbmNlOjpzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBJbnRlZ3JpdHk6OmF1ZGl0U3RydWN0dXJl
SUQodm0sIHN0cnVjdHVyZUlEKCkpOworCisgICAgSlNWYWx1ZSBtZXNzYWdlVmFsdWU7CisgICAg
YXV0byBtZXNzYWdlUHJvcGVydE5hbWUgPSB2bS5wcm9wZXJ0eU5hbWVzLT5tZXNzYWdlOworICAg
IFByb3BlcnR5U2xvdCBtZXNzYWdlU2xvdCh0aGlzLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0
aG9kVHlwZTo6Vk1JbnF1aXJ5LCAmdm0pOworICAgIGlmIChKU09iamVjdDo6Z2V0T3duUHJvcGVy
dHlTbG90KHRoaXMsIGdsb2JhbE9iamVjdCwgbWVzc2FnZVByb3BlcnROYW1lLCBtZXNzYWdlU2xv
dCkgJiYgbWVzc2FnZVNsb3QuaXNWYWx1ZSgpKQorICAgICAgICBtZXNzYWdlVmFsdWUgPSBtZXNz
YWdlU2xvdC5nZXRWYWx1ZShnbG9iYWxPYmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSk7CisgICAg
c2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKKworICAgIGlmICghbWVzc2FnZVZhbHVlKQorICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBtZXNz
YWdlVmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KSk7Cit9CisKK1N0cmluZyBFcnJvcklu
c3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTE1NywyOCArMTgwLDIyIEBAIFN0cmluZyBFcnJv
ckluc3RhbmNlOjpzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQogICAgIH0KICAgICBzY29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOwogCi0gICAgU3RyaW5nIG5h
bWVTdHJpbmc7CiAgICAgaWYgKCFuYW1lVmFsdWUpCi0gICAgICAgIG5hbWVTdHJpbmcgPSAiRXJy
b3IiX3M7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG5hbWVTdHJpbmcgPSBuYW1lVmFsdWUudG9XVEZT
dHJpbmcoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
U3RyaW5nKCkpOwotICAgIH0KKyAgICAgICAgcmV0dXJuICJFcnJvciJfczsKKyAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIG5hbWVWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpKTsK
K30KIAotICAgIEpTVmFsdWUgbWVzc2FnZVZhbHVlOwotICAgIGF1dG8gbWVzc2FnZVByb3BlcnRO
YW1lID0gdm0ucHJvcGVydHlOYW1lcy0+bWVzc2FnZTsKLSAgICBQcm9wZXJ0eVNsb3QgbWVzc2Fn
ZVNsb3QodGhpcywgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSwg
JnZtKTsKLSAgICBpZiAoSlNPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdCh0aGlzLCBnbG9iYWxP
YmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSwgbWVzc2FnZVNsb3QpICYmIG1lc3NhZ2VTbG90Lmlz
VmFsdWUoKSkKLSAgICAgICAgbWVzc2FnZVZhbHVlID0gbWVzc2FnZVNsb3QuZ2V0VmFsdWUoZ2xv
YmFsT2JqZWN0LCBtZXNzYWdlUHJvcGVydE5hbWUpOwotICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0
aW9uKCk7CitTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEludGVncml0
eTo6YXVkaXRTdHJ1Y3R1cmVJRCh2bSwgc3RydWN0dXJlSUQoKSk7CiAKLSAgICBTdHJpbmcgbWVz
c2FnZVN0cmluZzsKLSAgICBpZiAoIW1lc3NhZ2VWYWx1ZSkKLSAgICAgICAgbWVzc2FnZVN0cmlu
ZyA9IFN0cmluZygpOwotICAgIGVsc2UgewotICAgICAgICBtZXNzYWdlU3RyaW5nID0gbWVzc2Fn
ZVZhbHVlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIFN0cmluZygpKTsKLSAgICB9CisgICAgU3RyaW5nIG5hbWVTdHJpbmcgPSBz
YW5pdGl6ZWROYW1lU3RyaW5nKGdsb2JhbE9iamVjdCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgU3RyaW5nKCkpOworCisgICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcgPSBzYW5pdGl6
ZWRNZXNzYWdlU3RyaW5nKGdsb2JhbE9iamVjdCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgU3RyaW5nKCkpOwogCiAgICAgaWYgKCFuYW1lU3RyaW5nLmxlbmd0aCgpKQogICAgICAg
ICByZXR1cm4gbWVzc2FnZVN0cmluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9ySW5zdGFuY2UuaAppbmRleCBkYTY2ZWI3NmU3YWRlOTBmZDQxYmIxNjI3MDcyNWE3ZDE0
NzBhZDM4Li45ODcxMzU3MjFiMzA1NjYyMzBkMjYxYzgzM2FkOGRlY2E1NDYxNDU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCkBAIC0yMCw2ICsy
MCw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRXJyb3JUeXBlLmgiCiAjaW5jbHVk
ZSAiSlNPYmplY3QuaCIKICNpbmNsdWRlICJSdW50aW1lVHlwZS5oIgogI2luY2x1ZGUgIlN0YWNr
RnJhbWUuaCIKQEAgLTUzLDE0ICs1NCwxNCBAQCBjbGFzcyBFcnJvckluc3RhbmNlIDogcHVibGlj
IEpTTm9uRmluYWxPYmplY3QgewogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhFcnJvckluc3RhbmNlVHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotICAgIHN0YXRpYyBFcnJvckluc3RhbmNl
KiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRl
ciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlIHR5cGUgPSBUeXBlTm90aGluZywgYm9vbCB1c2VDdXJy
ZW50RnJhbWUgPSB0cnVlKQorICAgIHN0YXRpYyBFcnJvckluc3RhbmNlKiBjcmVhdGUoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRlciA9IG51bGxwdHIsIFJ1
bnRpbWVUeXBlIHR5cGUgPSBUeXBlTm90aGluZywgRXJyb3JUeXBlIGVycm9yVHlwZSA9IEVycm9y
VHlwZTo6RXJyb3IsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSkKICAgICB7Ci0gICAgICAg
IEVycm9ySW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RXJy
b3JJbnN0YW5jZT4odm0uaGVhcCkpIEVycm9ySW5zdGFuY2Uodm0sIHN0cnVjdHVyZSk7CisgICAg
ICAgIEVycm9ySW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
RXJyb3JJbnN0YW5jZT4odm0uaGVhcCkpIEVycm9ySW5zdGFuY2Uodm0sIHN0cnVjdHVyZSwgZXJy
b3JUeXBlKTsKICAgICAgICAgaW5zdGFuY2UtPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmpl
Y3QsIG1lc3NhZ2UsIGFwcGVuZGVyLCB0eXBlLCB1c2VDdXJyZW50RnJhbWUpOwogICAgICAgICBy
ZXR1cm4gaW5zdGFuY2U7CiAgICAgfQogCi0gICAgc3RhdGljIEVycm9ySW5zdGFuY2UqIGNyZWF0
ZShKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTVmFsdWUgbWVzc2FnZSwgU291cmNlQXBw
ZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVOb3RoaW5nLCBib29sIHVzZUN1cnJl
bnRGcmFtZSA9IHRydWUpOworICAgIHN0YXRpYyBFcnJvckluc3RhbmNlKiBjcmVhdGUoSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyID0g
bnVsbHB0ciwgUnVudGltZVR5cGUgPSBUeXBlTm90aGluZywgRXJyb3JUeXBlID0gRXJyb3JUeXBl
OjpFcnJvciwgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKTsKIAogICAgIGJvb2wgaGFzU291
cmNlQXBwZW5kZXIoKSBjb25zdCB7IHJldHVybiAhIW1fc291cmNlQXBwZW5kZXI7IH0KICAgICBT
b3VyY2VBcHBlbmRlciBzb3VyY2VBcHBlbmRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBw
ZW5kZXI7IH0KQEAgLTcwLDYgKzcxLDcgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBK
U05vbkZpbmFsT2JqZWN0IHsKICAgICBSdW50aW1lVHlwZSBydW50aW1lVHlwZUZvckNhdXNlKCkg
Y29uc3QgeyByZXR1cm4gbV9ydW50aW1lVHlwZUZvckNhdXNlOyB9CiAgICAgdm9pZCBjbGVhclJ1
bnRpbWVUeXBlRm9yQ2F1c2UoKSB7IG1fcnVudGltZVR5cGVGb3JDYXVzZSA9IFR5cGVOb3RoaW5n
OyB9CiAKKyAgICBFcnJvclR5cGUgZXJyb3JUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvclR5
cGU7IH0KICAgICB2b2lkIHNldFN0YWNrT3ZlcmZsb3dFcnJvcigpIHsgbV9zdGFja092ZXJmbG93
RXJyb3IgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1N0YWNrT3ZlcmZsb3dFcnJvcigpIGNvbnN0IHsg
cmV0dXJuIG1fc3RhY2tPdmVyZmxvd0Vycm9yOyB9CiAgICAgdm9pZCBzZXRPdXRPZk1lbW9yeUVy
cm9yKCkgeyBtX291dE9mTWVtb3J5RXJyb3IgPSB0cnVlOyB9CkBAIC03OSw2ICs4MSw4IEBAIGNs
YXNzIEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgYm9vbCBp
c05hdGl2ZUdldHRlclR5cGVFcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlR2V0dGVyVHlw
ZUVycm9yOyB9CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgc2FuaXRpemVkVG9TdHJp
bmcoSlNHbG9iYWxPYmplY3QqKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgc2FuaXRp
emVkTWVzc2FnZVN0cmluZyhKU0dsb2JhbE9iamVjdCopOworICAgIEpTX0VYUE9SVF9QUklWQVRF
IFN0cmluZyBzYW5pdGl6ZWROYW1lU3RyaW5nKEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgCiAgICAg
VmVjdG9yPFN0YWNrRnJhbWU+KiBzdGFja1RyYWNlKCkgeyByZXR1cm4gbV9zdGFja1RyYWNlLmdl
dCgpOyB9CiAKQEAgLTg4LDcgKzkyLDcgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBK
U05vbkZpbmFsT2JqZWN0IHsKICAgICB2b2lkIGZpbmFsaXplVW5jb25kaXRpb25hbGx5KFZNJik7
CiAKIHByb3RlY3RlZDoKLSAgICBleHBsaWNpdCBFcnJvckluc3RhbmNlKFZNJiwgU3RydWN0dXJl
Kik7CisgICAgZXhwbGljaXQgRXJyb3JJbnN0YW5jZShWTSYsIFN0cnVjdHVyZSosIEVycm9yVHlw
ZSk7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBjb25z
dCBTdHJpbmcmLCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlID0gVHlwZU5v
dGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSk7CiAKQEAgLTEwOCwxMCArMTEyLDEx
IEBAIGNsYXNzIEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAg
U3RyaW5nIG1fc291cmNlVVJMOwogICAgIFN0cmluZyBtX3N0YWNrU3RyaW5nOwogICAgIFJ1bnRp
bWVUeXBlIG1fcnVudGltZVR5cGVGb3JDYXVzZSB7IFR5cGVOb3RoaW5nIH07Ci0gICAgYm9vbCBt
X3N0YWNrT3ZlcmZsb3dFcnJvciB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX291dE9mTWVtb3J5RXJy
b3IgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9lcnJvckluZm9NYXRlcmlhbGl6ZWQgeyBmYWxzZSB9
OwotICAgIGJvb2wgbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3IgeyBmYWxzZSB9OworICAgIEVycm9y
VHlwZSBtX2Vycm9yVHlwZSB7IEVycm9yVHlwZTo6RXJyb3IgfTsKKyAgICBib29sIG1fc3RhY2tP
dmVyZmxvd0Vycm9yIDogMTsKKyAgICBib29sIG1fb3V0T2ZNZW1vcnlFcnJvciA6IDE7CisgICAg
Ym9vbCBtX2Vycm9ySW5mb01hdGVyaWFsaXplZCA6IDE7CisgICAgYm9vbCBtX25hdGl2ZUdldHRl
clR5cGVFcnJvciA6IDE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNw
cAppbmRleCA0MDIxZmM3ZTBhZGFmN2EwYTllMGVmNmNmZDIyNTgzOGI1YmY4NzgzLi5hZjcyNjI4
MzFjYTFiYjc1YzZhZTU1NDExZGU0Y2Q4NWE4MTM3ZGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCkBA
IC02OTQsNyArNjk0LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNUaHJv
d1R5cGVFcnJvckFyZ3VtZW50c0NhbGxlZUFuZENhbGxlciwgKEpTR2wKIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihnbG9iYWxGdW5jTWFrZVR5cGVFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsKICAgICBTdHJ1Y3R1cmUqIGVycm9y
U3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlR5cGVF
cnJvcik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUo
Z2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgY2FsbEZyYW1lLT5hcmd1bWVudCgwKSwgbnVs
bHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShF
cnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgY2FsbEZy
YW1lLT5hcmd1bWVudCgwKSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6VHlwZUVy
cm9yLCBmYWxzZSkpOwogfQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY1By
b3RvR2V0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRp
dmVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA3Y2MxMWI1ZjVlMTI5NzIyMDE2Yjg2NzFmMTM3
YzZiYjE3MjEzODQwLi5iNmU3ZWRlZmQ0MmVkYzYzNWQ5MGI3ZTBlOGM3YjRmYzBjMjQzZDFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0
cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJv
ckNvbnN0cnVjdG9yLmNwcApAQCAtNTgsNyArNTgsNyBAQCBpbmxpbmUgRW5jb2RlZEpTVmFsdWUg
TmF0aXZlRXJyb3JDb25zdHJ1Y3RvcjxlcnJvclR5cGU+Ojpjb25zdHJ1Y3RJbXBsKEpTR2xvYmFs
TwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAgICAgQVNTRVJUKGVycm9y
U3RydWN0dXJlKTsKIAotICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5j
b2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBt
ZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKSk7CisgICAgUkVMRUFTRV9BTkRf
UkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2Jh
bE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBl
cnJvclR5cGUsIGZhbHNlKSkpOwogfQogCiB0ZW1wbGF0ZTxFcnJvclR5cGUgZXJyb3JUeXBlPgpA
QCAtNjYsNyArNjYsNyBAQCBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgTmF0aXZlRXJyb3JDb25zdHJ1
Y3RvcjxlcnJvclR5cGU+OjpjYWxsSW1wbChKU0dsb2JhbE9iamVjdAogewogICAgIEpTVmFsdWUg
bWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0
cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoZXJyb3JUeXBlKTsKLSAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3Qs
IGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsK
KyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZXJy
b3JUeXBlLCBmYWxzZSkpOwogfQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEV2YWxF
cnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxTZXR0ZXJG
dW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsU2V0dGVyRnVu
Y3Rpb24uY3BwCmluZGV4IDI2ZjNiNmE4ZjlkYjY3OGNkOTRkMDVhZTg4YjExYjg5ZTYxYzBlYmMu
LjBkZGIyYzZhNTBmNDZiYzYzNjk5NWNhNDZkN2YxOGU1YjI2ODYzZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcApAQCAt
OTQsNyArOTQsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbFRocm93RXJyb3IsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbQogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2Fs
bGVkIGZyb20gSUMuIEFuZCB3ZSBkbyBub3Qgd2FudCB0byBpbmNsdWRlIHRoaXMgZnJhbWUgaW4g
RXJyb3IncyBzdGFjay4KICAgICBjb25zdGV4cHIgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSBmYWxz
ZTsKLSAgICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlLCBFcnJvckluc3RhbmNl
OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShF
cnJvclR5cGU6OlR5cGVFcnJvciksIFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yLCBudWxscHRy
LCBUeXBlTm90aGluZywgdXNlQ3VycmVudEZyYW1lKSk7CisgICAgdGhyb3dFeGNlcHRpb24oZ2xv
YmFsT2JqZWN0LCBzY29wZSwgRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgdm0s
IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpLCBSZWFk
b25seVByb3BlcnR5V3JpdGVFcnJvciwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6
VHlwZUVycm9yLCB1c2VDdXJyZW50RnJhbWUpKTsKICAgICByZXR1cm4geyB9OwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGls
ZUVycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlD
b21waWxlRXJyb3IuY3BwCmluZGV4IDM4MzczYTc2MGQ1OWQwZWVkYjQ5NGRiODhkODUyNGZhYjlh
NTE1NGUuLjllYmQzZDQ0NmE5ZGE5YWQxOWQ3YmE0MTk5MDA2M2ZjNWE2MzI4ZmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJy
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlD
b21waWxlRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEpTV2ViQXNzZW1ibHlDb21waWxlRXJy
b3IqIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xv
CiB9CiAKIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OkpTV2ViQXNzZW1ibHlDb21waWxlRXJy
b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0sIHN0cnVjdHVy
ZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxp
bmtFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
TGlua0Vycm9yLmNwcAppbmRleCBlYWRlMDM0MTNlNGNlMzYwYmEwODlmOGM1M2QxOGNmOGQ2ZDcw
MjM1Li45YjIwMDU4ZWNmMzRhZjkxYjZiMThkMTVmNjUxNTc4NWMyMTcyZTJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vy
cm9yLmNwcApAQCAtNDEsNyArNDEsNyBAQCBKU1dlYkFzc2VtYmx5TGlua0Vycm9yKiBKU1dlYkFz
c2VtYmx5TGlua0Vycm9yOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iagogfQogCiBK
U1dlYkFzc2VtYmx5TGlua0Vycm9yOjpKU1dlYkFzc2VtYmx5TGlua0Vycm9yKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNl
KHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3IpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
ci5jcHAKaW5kZXggYmUxZjkyODYwMzA0NWQ3Y2Y3MjkzMjRlZTRhNzdhZTgzZmNlOWNiZS4uMTkz
M2E2ZTM4ODhmYmVhY2NmMDdhYzJiMzdjNzQ1MDQ4NGZhNTFmMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
ci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciogSlNXZWJB
c3NlbWJseVJ1bnRpbWVFcnJvcjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG8KIH0KIAogSlNX
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvcjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcihWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDog
QmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5cGU6OkVycm9yKQogewogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNv
bnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDVjZDAwMzVhMDFmZGI3OGRkYzM1ZmM0
N2I2Yjg1ODBiZTQ1ZDM1OTcuLmMzYTBkMzk3ZjUwNGUyNThmMWQ3MGY4YjQ4MmI3OWExZDllNzI2
NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC02NSw3ICs2
NSw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsSlNXZWJBc3NlbWJseUNvbXBpbGVF
cnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPCiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0g
Y2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0g
Z2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseUNvbXBpbGVFcnJvclN0cnVjdHVyZSgpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
ZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJv
clR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0
cnVjdG9yKiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUq
IHRoaXNQcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDk0
NmRlZjRmMTE1MjI5YTIyNWJlOTMyYWM5ZTY0MzViNmM4YWIyYTkuLjJjNWY2YTI5MzFmMTUyMTU4
NWFhYTkzNWU1NmI0YmQyZjE5YzE2YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3Iu
Y3BwCkBAIC02NSw3ICs2NSw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsSlNXZWJB
c3NlbWJseUxpbmtFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplCiB7CiAgICAgSlNW
YWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUqIGVy
cm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseUxpbmtFcnJvclN0cnVjdHVy
ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5n
LCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3Jl
YXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVO
b3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBXZWJBc3NlbWJseUxpbmtF
cnJvckNvbnN0cnVjdG9yKiBXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5
cGUqIHRoaXNQcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3Bw
CmluZGV4IDNkZmQ5MTU2N2I2MGE1OGRkOWFhNjg0MmZmNjc5MDIxZjVjYjkyNTIuLmE4NTY2OWM1
MThiMWU5YWE2OGM5NWFkMDU2NmViZmQ2ZmMzZGZhOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVy
cm9yQ29uc3RydWN0b3IuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTihjYWxsSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPCiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAg
ICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseVJ1
bnRpbWVFcnJvclN0cnVjdHVyZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJ
bnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51
bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
RXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3Nh
Z2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQog
CiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yKiBXZWJBc3NlbWJseVJ1bnRpbWVF
cnJvckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vi
QXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUqIHRoaXNQcm90b3R5cGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQppbmRleCA0ZjM4ZmIwNjg0YmM1OWVlNmY3Yzk4OTgyOWVjODgyY2U4MDU4NmM4Li4zM2Fm
ZWUzMDJlZGMxZTFmM2VjOGQ2Y2Q5MWRlYTUzN2RlMTlmYmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
QEAgLTMwLDYgKzMwLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
CiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oCiAgICAgTW9kdWxlcy9mZXRj
aC9GZXRjaEJvZHlTb3VyY2UuaAorICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Q3JlZGVu
dGlhbHMuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKICAgICBNb2R1bGVzL2Zl
dGNoL0ZldGNoSWRlbnRpZmllci5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5oCkBA
IC0yODcsNiArMjg4LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
ICAgIGJpbmRpbmdzL2pzL1dlYkNvcmVKSVRPcGVyYXRpb25zLmgKICAgICBiaW5kaW5ncy9qcy9X
ZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaAogICAgIGJpbmRpbmdzL2pzL1dpbmRvd1Byb3h5
LmgKKyAgICBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmgKIAogICAgIGJyaWRnZS9C
cmlkZ2UuaAogICAgIGJyaWRnZS9JZGVudGlmaWVyUmVwLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggOGMw
M2I5MzI2NDk4NWYwYmIxZWU5ZjZkMjAyM2UzNDgzMDkyZjQ2Mi4uNjIzYTY3OGFhNWNiNDMyYWUw
ZDM5NDY3YTRiZWZkMzQ1Njg4YTIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTYzOSw2ICs2MzksNyBA
QCBiaW5kaW5ncy9qcy9TdHJ1Y3R1cmVkQ2xvbmUuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlSklU
T3BlcmF0aW9ucy5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwCiBiaW5k
aW5ncy9qcy9XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwCitiaW5kaW5ncy9qcy9Xb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCiBiaW5kaW5ncy9qcy9XaW5kb3dQcm94eS5jcHAKIGJp
bmRpbmdzL2pzL1dyaXRhYmxlU3RyZWFtLmNwcAogYnJpZGdlL0lkZW50aWZpZXJSZXAuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMmUzYmEyZDhiYmFhMTc2MjQ0ZGE2MjNjNjkyOTZlNWZlYmYwNzMwYi4uMzhjNmVhMGI4Nzlk
ZWY3MDExMTJlNDE4OWE0ZTQ4MGQxZmJjOTQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTA3MSwxNSArNTA3MSwxOCBAQAog
CQlFMzA1OTI2NDFFMjdBM0FEMDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTkyNjIxRTI3QTM4
QzAwRDU3Qzk4IC8qIElubGluZUNsYXNzaWNTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzA1OTI2ODFFMjdBM0QxMDBENTdDOTggLyog
Q2FjaGVkU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTMwNTkyNjYxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNo
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlF
MzA3REVEMDFEODFFNEM3MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVDNzFEODFF
NDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRTMwN0RFRDExRDgxRTRDQjAwMTQx
Q0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8q
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDdERUQ1MUQ4MUU0RjIwMDE0MUNBRiAvKiBM
b2FkYWJsZU1vZHVsZVNjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTMwN0RFRDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2Ny
aXB0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RTMxNTBFQTcxREE3MjE5MzAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMTUwRUE1MURBNzIxOEQwMDE5NDAx
MiAvKiBET01KSVRIZWxwZXJzLmggKi87IH07CiAJCUUzMjAxQzFBMUY4RTgyMTMwMDc2QTAzMiAv
KiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzOEQwNjA5MUY4RTgxMTkwMDY0OUNGMiAvKiBNb2R1bGVGZXRjaFBh
cmFtZXRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFMzIzQ0ZGQTFFNUFGNkFGMDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyM0NGRjkxRTVB
RjZBNTAwRjBCNEEwIC8qIEpTRE9NQ29udmVydFByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIg
LyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmggKi87IH07CisJCUUzNDdFNUZBMjVENEYwMDAwMEYxN0E1QyAvKiBX
b3JrZXJTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUz
NTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNTE4OEIzMjVEMzg3
Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU2NUI3QjFEQzJENkM5MDAyMTdE
QkQgLyogSlNFdmVudEN1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZlbnRDdXN0b20uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU4MDJC
NjFEQzg0MzVEMDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODAyQjUxREM4NDM1ODAwQTk3NzND
IC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzU4MkMyODI1MjdGNjY5MDBEMUI3OTAgLyogV2ViQ29yZUpJ
VE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzNTgyQzI2MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNUI5MDdG
MjNGNjBBNTAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1QjkwN0MyM0Y2MDY3NzAwMDAxMUZG
IC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM2NDMyMUMyNUQzN0E2NzAwRjkwRTJBIC8qIE1vZHVsZVNj
cmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNzdGRTREMURB
REUxNjUwMENERDAyNSAvKiBOb2RlQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QwNDk5MzFEQURDMDQ1MDA3MThGM0MgLyogTm9kZUNv
bnN0YW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzN0M4NjRGMUVCNjNFMkQwMDg3
QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlFMzk2MjhCRjIzOTU3MjhGMDA2NThFQ0QgLyogRGV2aWNlT3JpZW50
YXRpb25VcGRhdGVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNEIC8qIERldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMTYyMDIsNyArMTYyMDUsNiBAQAogCQlFMzA1OTI2NjFFMjdBM0M2MDBENTdD
OTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDYWNoZWRTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzMDdERUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFQzcxRDgxRTQ0
ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTMwN0RFRDIxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2Ny
aXB0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFRDMxRDgxRTRFRDAw
MTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEhlbHBlcnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MjE1LDEyICsxNjIxNywxNyBAQAogCQlFMzI5Mjc2MzIyNTQz
RjU5MDAzMDhBOUEgLyogVHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTMyOTI3NjYyMjU0M0ZERTAwMzA4QTlBIC8qIERPTVJlY3RSZWFkT25seS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBET01SZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMzM0ODI1RTFEQzkzQUEwMDA5Qzk1NDQgLyogRE9NSklUQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBET01KSVRBYnN0cmFjdEhl
YXBSZXBvc2l0b3J5Lmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUpJVEFic3Ry
YWN0SGVhcFJlcG9zaXRvcnkuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsK
KwkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM0MzJERTMyNUQzNzdFMzAwNThF
NjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2Ny
aXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJTY3Jp
cHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNEVFNDlGMURDMkQ1
NzUwMEVBQTlEMyAvKiBKU0V2ZW50Q3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTRXZlbnRDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM1
MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODAyQjUxREM4NDM1ODAwQTk3NzNDIC8q
IERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NSklUSURMVHlwZUZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4
MkMyNDI1MjdGNjY4MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZUpJVE9wZXJhdGlvbnMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MkMyNjI1MjdGNjY4MDBEMUI3OTAgLyog
V2ViQ29yZUpJVE9wZXJhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViQ29yZUpJVE9wZXJhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1
QjkwN0MyM0Y2MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsaXplZERldmljZU1vZGVsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdFMjNGNjA2NzcwMDAwMTFGRiAvKiBMb2NhbGl6
ZWREZXZpY2VNb2RlbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IExvY2FsaXplZERldmljZU1vZGVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzdDODY0RjFFQjYzRTJEMDA4N0M2Q0EgLyogSlNET01Qcm9t
aXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUHJvbWlzZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5NDFCQUQxNDVGMDBENjJFRTMgLyog
U2NyaXB0TW9kdWxlTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0TW9kdWxlTG9hZGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzAyMSw3ICsyNzAyOCw2IEBACiAJCQkJMkRGQTQ4OEUx
REI1NDFDMjAwMzYyQjk5IC8qIEJ1ZmZlclNvdXJjZS5oICovLAogCQkJCUUzMDdERUM2MUQ4MUU0
NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwICovLAogCQkJCUUzMDdE
RUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLywKLQkJ
CQlFMzA3REVDODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50LmggKi8sCiAJCQkJRTMwNTkyNjUxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZl
dGNoZXIuY3BwICovLAogCQkJCUUzMDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3Jp
cHRGZXRjaGVyLmggKi8sCiAJCQkJQkNENTMzNjMwRUQ2ODQ4OTAwODg3NDY4IC8qIENhY2hlZFNj
cmlwdFNvdXJjZVByb3ZpZGVyLmggKi8sCkBAIC0yNzA5NSw2ICsyNzEwMSw4IEBACiAJCQkJNEJE
RUEzMkQyMTgwMzQwNTAwNTJERkNEIC8qIEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAgKi8s
CiAJCQkJNEJERUEzMkIyMTgwMzNFQjAwNTJERkNEIC8qIEpTV29ya2xldEdsb2JhbFNjb3BlQmFz
ZS5oICovLAogCQkJCTcwOUEwMUZEMUUzRDBCQ0MwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1
cmVLaW5kLmggKi8sCisJCQkJRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlw
dExvYWRlci5oICovLAorCQkJCUUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQuaCAqLywKIAkJCQk0MUI0NTlFRDFGNTVFQkM3MDAwMEY2RkQgLyogUmVh
ZGFibGVTdHJlYW0uY3BwICovLAogCQkJCTQxQjQ1OURBMUY0Q0FEQjkwMDAwRjZGRCAvKiBSZWFk
YWJsZVN0cmVhbS5oICovLAogCQkJCTQxOEMzOTVFMUM4RjBBQUIwMDUxQzhBMyAvKiBSZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcCAqLywKQEAgLTI3MTI2LDYgKzI3MTM0LDkgQEAK
IAkJCQkwRjA5OUQwNzE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5cGVkQXJyYXlDb250cm9s
bGVyLmggKi8sCiAJCQkJNDYzNTIxQUMyMDgxMDkwRTAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5LmNw
cCAqLywKIAkJCQk0NjM1MjFBQTIwODEwOTBCMDBDMjg5MjIgLyogV2luZG93UHJveHkuaCAqLywK
KwkJCQlFMzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
LmNwcCAqLywKKwkJCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyLmggKi8sCisJCQkJRTM0N0U1RjgyNUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNj
cmlwdEZldGNoZXIuaCAqLywKIAkJCQk0MTQxOEEwMzI1NjQzRTEyMDAzNjM0MTcgLyogV3JpdGFi
bGVTdHJlYW0uY3BwICovLAogCQkJCTQxNDE4QTA0MjU2NDNFMTMwMDM2MzQxNyAvKiBXcml0YWJs
ZVN0cmVhbS5oICovLAogCQkJKTsKQEAgLTMxMzk5LDcgKzMxNDEwLDYgQEAKIAkJCQlCQ0IxNkMx
QzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkSW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTMx
OUZCRDVGMTVEMkY0NjQwMDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTMwN0RFRDAxRDgxRTRDNzAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTMwN0RFRDExRDgxRTRDQjAwMTQxQ0FGIC8qIENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwMTg0
NjkwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUQw
RURBNzc1MTQzRTMwM0MwMDI4RTM4MyAvKiBDYWNoZWRSYXdSZXNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTFCNTMzNDkxNzE3REVFMzAwRjIwNUY5IC8qIENhY2hlZFJhd1Jlc291cmNlQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMzODc0LDYgKzMzODg0LDggQEAKIAkJCQlDNkQ3NEFE
NTA5QUEyODJFMDAwQjBBNTIgLyogTW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3MDlBMDFGRTFFM0QwQkREMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJl
S2luZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTMyMDFDMUExRjhFODIxMzAwNzZBMDMyIC8qIE1v
ZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM2NDMyMUMyNUQzN0E2
NzAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM1
MTg4QjQyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRjU1QjNEQzYxMjUxRjEyRDAwM0VGMjY5IC8qIE1vbnRoSW5wdXRUeXBl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzk2MjhDMTIzOTU3NDMxMDA2NThFQ0QgLyogTW90aW9u
TWFuYWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDYwQTQ0RUZDNzAwRjk5
MkUwIC8qIE1vdXNlRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzU1MjYsNiArMzU1MzgsNyBA
QAogCQkJCTE4RjgzMUI4MEZENDhDNzgwMEQ4QzU2QiAvKiBXb3JrZXJMb2FkZXJQcm94eS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NEQwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckxvY2F0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1MDBGNTQ2QTgyMDBCMEYxQkEgLyogV29y
a2VyTWVzc2FnaW5nUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzNDMyREU0MjVEMzc3RTMw
MDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxMjcxQTBCMEVFRUM3N0EwMEY2MTIxMyAvKiBXb3JrZXJOYXZpZ2F0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE1Q0IwNTI1MUZCNTFGM0EwMDA4OUI5NyAvKiBXb3JrZXJOZXR3b3JrQWdlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUxMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJP
YmplY3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTUzNSw2ICszNTU0OCw3IEBACiAJCQkJ
NDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyRTQzNDY1MzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyUnVuTG9vcC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTVCODFDQ0YxRkFBNDRERTAwMzdEMUU2IC8qIFdvcmtlclJ1
bnRpbWVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM0N0U1RkEyNUQ0RjAwMDAwRjE3QTVD
IC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDZCMzQ5MEY2
MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTJFQTc2ODA0MEZFNzEyNjQwMEFCOUM4QSAvKiBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTJFNDM0NjU1MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJUaHJl
YWQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKaW5kZXggMzUyZGNjNGFjZjc1MTc2ZDk4
YWQzNDEwYmUxNTE2MDgwMTA4ODUyNC4uMjc3ZjYyYTdjMTMzZmUxNTZjNmNjZTk4NTUzNTUwZWRi
MTM2ZDAwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC00MCwxNiArNDAsMTMgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1SZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXI6OmNyZWF0ZShDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVu
dCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCitSZWY8
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0
ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9t
aXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwg
V1RGTW92ZShwYXJhbWV0ZXJzKSkpOwogfQogCi1DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OkNh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNs
aWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3Jp
cHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCi0g
ICAgOiBtX2NsaWVudCgmY2xpZW50KQotICAgICwgbV9wcm9taXNlKCZwcm9taXNlKQotICAgICwg
bV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNoZXIpCi0gICAgLCBtX3BhcmFtZXRlcnMoV1RGTW92
ZShwYXJhbWV0ZXJzKSkKK0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21p
c2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxN
b2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICA6IE1vZHVsZVNjcmlwdExv
YWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykp
CiB7CiB9CiAKQEAgLTYxLDE0ICs1OCwxNSBAQCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6On5D
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoKQogICAgIH0KIH0KIAotYm9vbCBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXI6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwmIHNvdXJjZVVS
TCkKK2Jvb2wgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKERvY3VtZW50JiBkb2N1bWVu
dCwgVVJMJiYgc291cmNlVVJMKQogeworICAgIEFTU0VSVChtX3Byb21pc2UpOwogICAgIEFTU0VS
VCghbV9jYWNoZWRTY3JpcHQpOwogICAgIFN0cmluZyBpbnRlZ3JpdHkgPSBtX3BhcmFtZXRlcnMg
PyBtX3BhcmFtZXRlcnMtPmludGVncml0eSgpIDogU3RyaW5nIHsgfTsKLSAgICBtX2NhY2hlZFNj
cmlwdCA9IG1fc2NyaXB0RmV0Y2hlci0+cmVxdWVzdE1vZHVsZVNjcmlwdChkb2N1bWVudCwgc291
cmNlVVJMLCBXVEZNb3ZlKGludGVncml0eSkpOworICAgIG1fY2FjaGVkU2NyaXB0ID0gc2NyaXB0
RmV0Y2hlcigpLnJlcXVlc3RNb2R1bGVTY3JpcHQoZG9jdW1lbnQsIHNvdXJjZVVSTCwgV1RGTW92
ZShpbnRlZ3JpdHkpKTsKICAgICBpZiAoIW1fY2FjaGVkU2NyaXB0KQogICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgbV9zb3VyY2VVUkwgPSBzb3VyY2VVUkw7CisgICAgbV9zb3VyY2VVUkwgPSBX
VEZNb3ZlKHNvdXJjZVVSTCk7CiAKICAgICAvLyBJZiB0aGUgY29udGVudCBpcyBhbHJlYWR5IGNh
Y2hlZCwgdGhpcyBpbW1lZGlhdGVseSBjYWxscyBub3RpZnlGaW5pc2hlZC4KICAgICBtX2NhY2hl
ZFNjcmlwdC0+YWRkQ2xpZW50KCp0aGlzKTsKQEAgLTgzLDcgKzgxLDcgQEAgdm9pZCBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJj
ZSwgY29uc3QgTmUKIAogICAgIFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IHByb3RlY3Rl
ZFRoaXMoKnRoaXMpOwogICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPm5vdGlm
eUZpbmlzaGVkKCp0aGlzLCBXVEZNb3ZlKG1fcHJvbWlzZSkpOworICAgICAgICBtX2NsaWVudC0+
bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9zb3VyY2VVUkwpLCBtX3Byb21pc2UucmVs
ZWFzZU5vbk51bGwoKSk7CiAKICAgICAvLyBSZW1vdmUgdGhlIGNsaWVudCBhZnRlciBjYWxsaW5n
IG5vdGlmeUZpbmlzaGVkIHRvIGtlZXAgdGhlIGRhdGEgYnVmZmVyIGluCiAgICAgLy8gQ2FjaGVk
UmVzb3VyY2UgYWxpdmUgd2hpbGUgbm90aWZ5RmluaXNoZWQgcHJvY2Vzc2VzIHRoZSByZXNvdXJj
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyLmgKaW5kZXggNDNhYmQ4NzViMjQzZmFmNWZjZDRkOThlYzNjNWQyNGU3OTBiNTcy
ZS4uYTQ4NzU1ZjkzZDA1ZWYzNTNkMmIzZTIyOGQ4MjE5ZmU4OTFlNjc0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmgK
QEAgLTI3LDYgKzI3LDggQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCiAj
aW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRlICJDYWNoZWRTY3JpcHRG
ZXRjaGVyLmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSA8d3Rm
L1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgpAQCAtMzQsNDIgKzM2LDI5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50OwogY2xhc3MgQ2FjaGVkU2NyaXB0OwotY2xhc3MgQ2FjaGVkU2NyaXB0RmV0Y2hlcjsK
IGNsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSlNET01HbG9i
YWxPYmplY3Q7CiBjbGFzcyBNb2R1bGVGZXRjaFBhcmFtZXRlcnM7CiAKLWNsYXNzIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcj4sIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworY2xhc3MgQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIE1vZHVsZVNjcmlwdExvYWRlciwgcHJp
dmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVs
ZUZldGNoUGFyYW1ldGVycz4mJik7CisgICAgc3RhdGljIFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI+IGNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2Um
LCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7
CiAKICAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoKTsKIAotICAgIGJvb2wg
bG9hZChEb2N1bWVudCYsIGNvbnN0IFVSTCYgc291cmNlVVJMKTsKKyAgICBib29sIGxvYWQoRG9j
dW1lbnQmLCBVUkwmJiBzb3VyY2VVUkwpOwogCi0gICAgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2Ny
aXB0RmV0Y2hlcigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hlci5nZXQoKTsgfQogICAgIENhY2hl
ZFNjcmlwdCogY2FjaGVkU2NyaXB0KCkgeyByZXR1cm4gbV9jYWNoZWRTY3JpcHQuZ2V0KCk7IH0K
LSAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMoKSB7IHJldHVybiBtX3BhcmFt
ZXRlcnMuZ2V0KCk7IH0KLSAgICBjb25zdCBVUkwmIHNvdXJjZVVSTCgpIGNvbnN0IHsgcmV0dXJu
IG1fc291cmNlVVJMOyB9Ci0KLSAgICB2b2lkIGNsZWFyQ2xpZW50KCkKLSAgICB7Ci0gICAgICAg
IEFTU0VSVChtX2NsaWVudCk7Ci0gICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKLSAgICB9Cisg
ICAgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlcigpIHsgcmV0dXJuIHN0YXRpY19j
YXN0PENhY2hlZFNjcmlwdEZldGNoZXImPihNb2R1bGVTY3JpcHRMb2FkZXI6OnNjcmlwdEZldGNo
ZXIoKSk7IH0KIAogcHJpdmF0ZToKLSAgICBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0
RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOworICAgIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21p
c2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4m
Jik7CiAKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgTmV0
d29ya0xvYWRNZXRyaWNzJikgZmluYWw7CiAKLSAgICBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9OwotICAgIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+
IG1fcHJvbWlzZTsKLSAgICBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVy
OwotICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVyczsKICAgICBD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IG1fY2FjaGVkU2NyaXB0OwogICAgIFVS
TCBtX3NvdXJjZVVSTDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4Njg4YWQ5MGRhZTNlY2U5NDllYTA5YjFlZmVlNWRhMjZmOTRjNzg2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCisrKyAvZGV2
L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSwg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFz
cyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI7Ci1jbGFzcyBEZWZlcnJlZFByb21pc2U7Ci0KLWNs
YXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgdmlydHVh
bCB+Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KCkgPSBkZWZhdWx0OwotCi0gICAgdmly
dHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciYsIFJlZlB0
cjxEZWZlcnJlZFByb21pc2U+KSA9IDA7Ci19OwotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwCmluZGV4IGE0MzM3NTg2NWJiZjFl
YzU5NzNiZjE3MmM5MWEzODUzMjM0ZTM3NGQuLmRmM2M2YjZlYmI4NGFmNzJlZDI5NTVmOTkxMWQw
N2E4N2FiMzUzMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZFNjcmlwdEZldGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZFNjcmlwdEZldGNoZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ3Jvc3NPcmln
aW5BY2Nlc3NDb250cm9sLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJTZXR0
aW5ncy5oIgorI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNiArNDgsNyBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRTY3JpcHQ+IENhY2hlZFNjcmlwdEZldGNoZXI6OnJlcXVlc3RNb2R1bGVTY3JpcHQoRG9j
dQogCiBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IENhY2hlZFNjcmlwdEZldGNo
ZXI6OnJlcXVlc3RTY3JpcHRXaXRoQ2FjaGUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwm
IHNvdXJjZVVSTCwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIFN0cmluZyYmIGludGVn
cml0eSwgT3B0aW9uYWw8UmVzb3VyY2VMb2FkUHJpb3JpdHk+IHJlc291cmNlTG9hZFByaW9yaXR5
KSBjb25zdAogeworICAgIC8vIFdpdGhvdXQgc2NyaXB0aW5nLCB0aGVyZSBpcyBubyB3YXkgdG8g
c3RhcnQgV29ya2Vycy4KICAgICBpZiAoIWRvY3VtZW50LnNldHRpbmdzKCkuaXNTY3JpcHRFbmFi
bGVkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCmluZGV4IGRmN2YzZDc0
NmQ1ZTMyYWJhYjUxNDc2YzlkZGFjYTYzYTQzNTEzNmMuLjdjZTU0NjliOWMwY2FmMTcxNWM1M2Y4
YzA4ZGY1ZjAzODNlYTA3YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCkBAIC01Miw2ICs1MiwyMyBAQCB2b2lkIHJl
cG9ydEV4Y2VwdGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1
ZSBleGNlcHRpb25WYWx1ZQogICAgIHJlcG9ydEV4Y2VwdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0
LCBleGNlcHRpb24sIGNhY2hlZFNjcmlwdCk7CiB9CiAKK1N0cmluZyByZXRyaWV2ZUVycm9yTWVz
c2FnZVdpdGhvdXROYW1lKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBWTSYg
dm0sIEpTVmFsdWUgZXhjZXB0aW9uLCBDYXRjaFNjb3BlJiBjYXRjaFNjb3BlKQoreworICAgIC8v
IEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTUwODc+IFdlYiBJbnNwZWN0b3I6IFdlYkNv
cmU6OnJlcG9ydEV4Y2VwdGlvbiBzaG91bGQgbm90IGV2YWx1YXRlIEphdmFTY3JpcHQgaGFuZGxp
bmcgZXhjZXB0aW9ucworICAgIC8vIElmIHRoaXMgaXMgYSBjdXN0b20gZXhjZXB0aW9uIG9iamVj
dCwgY2FsbCB0b1N0cmluZyBvbiBpdCB0byB0cnkgYW5kIGdldCBhIG5pY2Ugc3RyaW5nIHJlcHJl
c2VudGF0aW9uIGZvciB0aGUgZXhjZXB0aW9uLgorICAgIFN0cmluZyBlcnJvck1lc3NhZ2U7Cisg
ICAgaWYgKGF1dG8qIGVycm9yID0ganNEeW5hbWljQ2FzdDxFcnJvckluc3RhbmNlKj4odm0sIGV4
Y2VwdGlvbikpCisgICAgICAgIGVycm9yTWVzc2FnZSA9IGVycm9yLT5zYW5pdGl6ZWRNZXNzYWdl
U3RyaW5nKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICBlbHNlCisgICAgICAgIGVycm9yTWVz
c2FnZSA9IGV4Y2VwdGlvbi50b1dURlN0cmluZygmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisKKyAg
ICAvLyBXZSBuZWVkIHRvIGNsZWFyIGFueSBuZXcgZXhjZXB0aW9uIHRoYXQgbWF5IGJlIHRocm93
biBpbiB0aGUgdG9TdHJpbmcoKSBjYWxsIGFib3ZlLgorICAgIC8vIHJlcG9ydEV4Y2VwdGlvbigp
IGlzIG5vdCBzdXBwb3NlZCB0byBiZSBtYWtpbmcgbmV3IGV4Y2VwdGlvbnMuCisgICAgY2F0Y2hT
Y29wZS5jbGVhckV4Y2VwdGlvbigpOworICAgIHZtLmNsZWFyTGFzdEV4Y2VwdGlvbigpOworICAg
IHJldHVybiBlcnJvck1lc3NhZ2U7Cit9CisKIFN0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZShK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgVk0mIHZtLCBKU1ZhbHVlIGV4Y2Vw
dGlvbiwgQ2F0Y2hTY29wZSYgY2F0Y2hTY29wZSkKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93
ZWJraXQub3JnL2IvMTE1MDg3PiBXZWIgSW5zcGVjdG9yOiBXZWJDb3JlOjpyZXBvcnRFeGNlcHRp
b24gc2hvdWxkIG5vdCBldmFsdWF0ZSBKYXZhU2NyaXB0IGhhbmRsaW5nIGV4Y2VwdGlvbnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcu
aAppbmRleCAyZDNlMzExZjYxZWViNjg1YWFjMzU1NDZhYWUxNjBkYTk3OTBlZjVmLi5kMWY2ZGU5
Mzc0NzBjZTZkZjJjY2I2NDcyMjg0NzY2ZmQwMTk1ODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCkBAIC02NSw2ICs2NSw3
IEBAIFdFQkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgcmVqZWN0UHJvbWlzZVdpdGhH
ZXR0ZXJUeXBlRXJyb3IoSlNDOjpKU0dsb2JhCiBXRUJDT1JFX0VYUE9SVCBKU0M6OkVuY29kZWRK
U1ZhbHVlIHJlamVjdFByb21pc2VXaXRoVGhpc1R5cGVFcnJvcihEZWZlcnJlZFByb21pc2UmLCBj
b25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBvcGVyYXRpb25OYW1lKTsKIFdF
QkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgcmVqZWN0UHJvbWlzZVdpdGhUaGlzVHlw
ZUVycm9yKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBj
b25zdCBjaGFyKiBvcGVyYXRpb25OYW1lKTsKIAorU3RyaW5nIHJldHJpZXZlRXJyb3JNZXNzYWdl
V2l0aG91dE5hbWUoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Vk0mLCBKU0M6OkpTVmFsdWUg
ZXhjZXB0aW9uLCBKU0M6OkNhdGNoU2NvcGUmKTsKIFN0cmluZyByZXRyaWV2ZUVycm9yTWVzc2Fn
ZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpWTSYsIEpTQzo6SlNWYWx1ZSBleGNlcHRpb24s
IEpTQzo6Q2F0Y2hTY29wZSYpOwogV0VCQ09SRV9FWFBPUlQgdm9pZCByZXBvcnRFeGNlcHRpb24o
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNWYWx1ZSBleGNlcHRpb24sIENhY2hlZFNjcmlw
dCogPSBudWxscHRyKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkV4Y2VwdGlvbiosIENhY2hlZFNjcmlwdCogPSBudWxscHRy
LCBFeGNlcHRpb25EZXRhaWxzKiA9IG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDU4YjdkZjc2MGMwMGEzMWZmMDhl
ZDIyZGVlMjJhOGM3NDQzYWU4ZGQuLjlkNjk3ZDQ1OWI1NjM0NWNjODM5NjIwMjY2NzZlMDBhOThi
ZjQ5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdC5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJKU1dvcmtsZXRHbG9iYWxTY29w
ZS5oIgogI2luY2x1ZGUgIlJlamVjdGVkUHJvbWlzZVRyYWNrZXIuaCIKICNpbmNsdWRlICJSdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCiAj
aW5jbHVkZSAiU3RydWN0dXJlZENsb25lLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0
YS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC00MjIsNiArNDIzLDc5IEBA
IEpTQzo6SlNQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6aW5zdGFudGlhdGVTdHJlYW1pbmco
SlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvCiB9CiAjZW5kaWYKIAorc3RhdGljIFNjcmlwdE1vZHVs
ZUxvYWRlciogc2NyaXB0TW9kdWxlTG9hZGVyKEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGlmIChnbG9iYWxP
YmplY3QtPmluaGVyaXRzPEpTRE9NV2luZG93QmFzZT4odm0pKSB7CisgICAgICAgIGlmIChhdXRv
IGRvY3VtZW50ID0ganNDYXN0PGNvbnN0IEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCkt
PndyYXBwZWQoKS5kb2N1bWVudCgpKQorICAgICAgICAgICAgcmV0dXJuICZkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICBpZiAoZ2xv
YmFsT2JqZWN0LT5pbmhlcml0czxKU1JlbW90ZURPTVdpbmRvd0Jhc2U+KHZtKSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNXb3JrZXJH
bG9iYWxTY29wZUJhc2U+KHZtKSkKKyAgICAgICAgcmV0dXJuICZqc0Nhc3Q8Y29uc3QgSlNXb3Jr
ZXJHbG9iYWxTY29wZUJhc2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVy
KCk7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2xldEdsb2JhbFNj
b3BlQmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQoKS5tb2R1bGVMb2FkZXIoKTsKKyNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxK
U0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KHZtKSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisjZW5kaWYKKyAgICBkYXRhTG9nKCJVbmV4cGVjdGVkIGdsb2JhbCBvYmplY3Q6ICIsIEpT
VmFsdWUoZ2xvYmFsT2JqZWN0KSwgIlxuIik7CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNDOjpJZGVudGlmaWVyIEpTRE9NR2xv
YmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUg
bW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUg
c2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpT
Qzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0
byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICByZXR1
cm4gbG9hZGVyLT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1l
LCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJuIHsgfTsKK30K
KworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRl
ckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxv
YWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUg
cGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7CisgICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpT
RE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0g
c2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNFX0FORF9SRVRV
Uk4oc2NvcGUsIGxvYWRlci0+ZmV0Y2goZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVs
ZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hlcikpOworICAgIEpTQzo6SlNJbnRlcm5hbFBy
b21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOworICAgIHNjb3BlLnJlbGVhc2Uo
KTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKKyAg
ICByZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU1ZhbHVlIEpTRE9NR2xvYmFsT2JqZWN0Ojpt
b2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
Qzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwg
SlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7
CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlw
dE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxvYWRlci0+ZXZhbHVh
dGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgbW9kdWxlUmVjb3JkLCBz
Y3JpcHRGZXRjaGVyKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQorCitKU0M6
OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVySW1wb3J0
TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxv
YWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFs
dWUgcGFyYW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKK3sK
KyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0g
SlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChh
dXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIFJF
TEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbG9hZGVyLT5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0
LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFtZXRlcnMsIHNvdXJjZU9yaWdpbikpOwor
ICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9t
aXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkp
OworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0
LCBqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU09iamVj
dCogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0
aWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTTW9kdWxlUmVj
b3JkKiBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIEpT
RE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmpl
Y3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVM
b2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmNyZWF0ZUltcG9ydE1l
dGFQcm9wZXJ0aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVs
ZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0
KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3Ry
dWN0dXJlKCkpOworfQorCiBKU0RPTUdsb2JhbE9iamVjdCYgY2FsbGVyR2xvYmFsT2JqZWN0KEpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUmIGNhbGxGcmFtZSkK
IHsKICAgICBjbGFzcyBHZXRDYWxsZXJHbG9iYWxPYmplY3RGdW5jdG9yIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCmluZGV4IGI4NDA3MmRkZDc0
NmIzZDZjNTEwNjBkOTA1MDFiNWNlYTFiNDk5YjEuLmY0OWE0Y2QyNTcxOTcxMTg5MTdhN2Q3YTRi
NmMwZTExZmM3NmJhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01H
bG9iYWxPYmplY3QuaApAQCAtMTA1LDYgKzEwNSwxMiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBK
U0RPTUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsT2JqZWN0IHsKICAgICBzdGF0
aWMgSlNDOjpKU1Byb21pc2UqIGluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNPYmplY3QqKTsKICNlbmRpZgogCisgICAgc3RhdGlj
IEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVsZUxvYWRl
ckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpK
U1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNW
YWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01v
ZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwor
ICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1
bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTU3Ry
aW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYpOworICAgIHN0YXRp
YyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwg
SlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7CisKICAgICBKU0RPTVN0cnVjdHVy
ZU1hcCBtX3N0cnVjdHVyZXM7CiAgICAgSlNET01Db25zdHJ1Y3Rvck1hcCBtX2NvbnN0cnVjdG9y
czsKICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3VhcmRlZE9iamVjdHM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCA1NjNlZmEwNTcx
YjVkNDYyZDllNjQ1MDg5ZjBiZDhmNzdkMTlhNzY4Li4zMTJhMDExNThlOGMyODA4M2MwN2U0MmRi
ODcyNDVmZTRlNWM1N2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93QmFzZS5jcHAKQEAgLTMzOSw1NCArMzM5LDQgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6
OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRvdyhET01XaW5kb3cqIHdpbmRvdykK
ICAgICB9CiB9CiAKLUpTQzo6SWRlbnRpZmllciBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRl
clJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxl
TG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFs
dWUgaW1wb3J0ZXJNb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAg
IEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFz
ZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0
aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50
LT5tb2R1bGVMb2FkZXIoKS5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1
bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIHsg
fTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVM
b2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1
bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1Zh
bHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8
SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50
PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICBS
RUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5mZXRjaChn
bG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBwYXJhbWV0ZXJzLCBzY3JpcHRG
ZXRjaGVyKSk7Ci0gICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogcHJvbWlzZSA9IEpTQzo6SlNJ
bnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VT
dHJ1Y3R1cmUoKSk7Ci0gICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHByb21pc2UtPnJlamVjdChn
bG9iYWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOwotICAgIHJldHVybiBwcm9taXNlOwotfQotCi1K
U0M6OkpTVmFsdWUgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxv
YWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwg
SlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlz
T2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAg
ICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5k
b2N1bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmV2YWx1
YXRlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwg
c2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKLX0KLQotSlND
OjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJJbXBvcnRN
b2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNTdHJpbmcqIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1
ZSBwYXJhbWV0ZXJzLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYgc291cmNlT3JpZ2luKQotewot
ICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlND
Ojpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRy
PERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQot
ICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIo
KS5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBh
cmFtZXRlcnMsIHNvdXJjZU9yaWdpbikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHBy
b21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+
aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBw
cm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4g
cHJvbWlzZTsKLX0KLQotSlNDOjpKU09iamVjdCogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2Fk
ZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1v
ZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCogbW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUg
c2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6
OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8
RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0g
ICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuY3JlYXRlSW1wb3J0TWV0YVBy
b3BlcnRpZXMoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgbW9kdWxlUmVj
b3JkLCBzY3JpcHRGZXRjaGVyKTsKLSAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZ2xv
YmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPm51bGxQcm90b3R5cGVPYmplY3RTdHJ1Y3R1
cmUoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKaW5kZXggM2VmOTgwZGQyN2Y2YjIxMzk4NzAwOGJh
NDc2YzhjYTY5ZjJmMGI2NC4uNTE0MmIxYzdkYzI1YzIyZmU5Nzg5NWU3NWFlMjJlZjRkMWU1ODlk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKQEAg
LTk5LDEyICs5OSw2IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEpTRE9NV2luZG93QmFzZSA6IHB1
YmxpYyBKU0RPTUdsb2JhbE9iamVjdCB7CiBwcml2YXRlOgogICAgIHVzaW5nIFJlc3BvbnNlQ2Fs
bGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgY2hhciosIHNpemVfdCk+OwogCi0gICAg
c3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUs
IEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVs
ZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpT
Qzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFs
dWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJJbXBv
cnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6
OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYpOwotICAg
IHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVy
dGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNW
YWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7Ci0KICAgICBSZWZQdHI8
RE9NV2luZG93PiBtX3dyYXBwZWQ7CiAgICAgUmVmUHRyPEV2ZW50PiBtX2N1cnJlbnRFdmVudDsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V4ZWNTdGF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFeGVjU3RhdGUuaAppbmRleCAyN2Y3NjUw
ZGE2YThlZTQ0ZjM1Zjk0N2Q0OThlYTM4MWM2Yzk0MzFmLi5kNjNlNWFjYzdlMTRjODgzMmMwNDk2
ZmU1ZTNkNjRlN2NmYmViZGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0V4ZWNTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXhlY1N0
YXRlLmgKQEAgLTEwMyw2ICsxMDMsMTIgQEAgY2xhc3MgSlNFeGVjU3RhdGUgewogICAgICAgICBy
ZXR1cm4gKkpTQzo6bG9hZE1vZHVsZSgmbGV4aWNhbEdsb2JhbE9iamVjdCwgc291cmNlQ29kZSwg
c2NyaXB0RmV0Y2hlcik7CiAgICAgfQogCisgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21p
c2UmIGxvYWRBbmRFdmFsdWF0ZU1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBwYXJhbWV0
ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKKyAgICB7CisgICAgICAgIEpTRXhlY1N0
YXRlIGN1cnJlbnRTdGF0ZSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiAq
SlNDOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUoJmxleGljYWxHbG9iYWxPYmplY3QsIG1vZHVsZU5h
bWUsIHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpOworICAgIH0KKwogICAgIHN0YXRpYyBKU0M6
OkpTVmFsdWUgbGlua0FuZEV2YWx1YXRlTW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgbW9kdWxlS2V5LCBKU0M6OkpT
VmFsdWUgc2NyaXB0RmV0Y2hlciwgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+JiByZXR1cm5lZEV4
Y2VwdGlvbikKICAgICB7CiAgICAgICAgIEpTQzo6Vk0mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNh
bEdsb2JhbE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggNDJiMjZjOWY0ZWEyMTYyMDdkZTRjODY4
MjBiOGE4MWI2MDM1YjdlYi4uMmQ3OTNmZmYyMTg1M2E4YTFhNzg4MDY2NzI1MGY1N2U3NTJmZTNm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxT
Y29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xv
YmFsU2NvcGVCYXNlLmNwcApAQCAtNTksMTEgKzU5LDExIEBAIGNvbnN0IEdsb2JhbE9iamVjdE1l
dGhvZFRhYmxlIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRh
YmxlCiAgICAgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsCiAgICAgJnF1ZXVlTWljcm90YXNrVG9F
dmVudExvb3AsCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAg
bnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9k
dWxlTG9hZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAg
bnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBu
dWxscHRyLCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRN
b2R1bGUsCisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNo
LAorICAgICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9k
dWxlTG9hZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZy
ZXBvcnRVbmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhl
Y3V0aW9uT3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCAzNWZhNmUzMjc3ZmIwZDRiZTBlMGUxZWRj
NDM3MjJlZGFkZmM4YWYyLi45ZmFlYzk1OWMzOWQxNzQ4MTgxYzk4NjUwMDNkNWE4NmYxN2Y1ZTNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxT
Y29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEds
b2JhbFNjb3BlQmFzZS5jcHAKQEAgLTQ5LDExICs0OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RN
ZXRob2RUYWJsZSBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFsT2JqZWN0TWV0aG9k
VGFibAogICAgICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLAogICAgIG51bGxwdHIsIC8vIHF1ZXVl
TWljcm90YXNrVG9FdmVudExvb3AKICAgICAmc2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGlt
ZW91dCwKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUKLSAgICBudWxs
cHRyLCAvLyBtb2R1bGVMb2FkZXJSZXNvbHZlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVy
RmV0Y2gKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVy
dGllcwotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckV2YWx1YXRlCisgICAgJm1vZHVsZUxv
YWRlckltcG9ydE1vZHVsZSwKKyAgICAmbW9kdWxlTG9hZGVyUmVzb2x2ZSwKKyAgICAmbW9kdWxl
TG9hZGVyRmV0Y2gsCisgICAgJm1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVz
LAorICAgICZtb2R1bGVMb2FkZXJFdmFsdWF0ZSwKICAgICAmcHJvbWlzZVJlamVjdGlvblRyYWNr
ZXIsCiAgICAgJnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uQXRFdmVudExvb3AsCiAgICAgJmN1cnJl
bnRTY3JpcHRFeGVjdXRpb25Pd25lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
TW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE5MTBlOTQ5YjdhYzFhMzhlZGVlY2Iw
M2RlYjZlZTg5NGNjZWIwZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5j
bHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
U2NyaXB0RmV0Y2hlci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworCitjbGFzcyBN
b2R1bGVTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxNb2R1bGVTY3JpcHRMb2FkZXI+
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2FkZXIoKSA9IGRlZmF1bHQ7
CisKKyAgICB2b2lkIGNsZWFyQ2xpZW50KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX2NsaWVu
dCk7CisgICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICBKU0M6OlNjcmlw
dEZldGNoZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVybiBtX3NjcmlwdEZldGNoZXIuZ2V0KCk7
IH0KKyAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMoKSB7IHJldHVybiBtX3Bh
cmFtZXRlcnMuZ2V0KCk7IH0KKworcHJvdGVjdGVkOgorICAgIE1vZHVsZVNjcmlwdExvYWRlcihN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNl
LCBKU0M6OlNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBh
cmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICAgICAgOiBtX2NsaWVudCgmY2xpZW50KQorICAg
ICAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkKKyAgICAgICAgLCBtX3NjcmlwdEZldGNoZXIoc2Ny
aXB0RmV0Y2hlcikKKyAgICAgICAgLCBtX3BhcmFtZXRlcnMoV1RGTW92ZShwYXJhbWV0ZXJzKSkK
KyAgICB7CisgICAgfQorCisgICAgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KiBtX2NsaWVudDsK
KyAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBtX3Byb21pc2U7CisgICAgUmVmPEpTQzo6U2Ny
aXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVyOworICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFt
ZXRlcnM+IG1fcGFyYW1ldGVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjk5NWY0OGVlM2QxZTAyYzFkOGM5YzlkYTJiZDU4MjM2ZjNiYTA3ZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyOworY2xhc3MgRGVmZXJyZWRQcm9taXNlOwor
CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwg
fk1vZHVsZVNjcmlwdExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9p
ZCBub3RpZnlGaW5pc2hlZChNb2R1bGVTY3JpcHRMb2FkZXImLCBVUkwmJiwgUmVmPERlZmVycmVk
UHJvbWlzZT4pID0gMDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCmluZGV4IGFhNWI4MGI1ODZiNzllMGU1NzUwMWNkNTEw
NzhkZjI1YTYyNWU1ZDkuLjgzODYwMDA1YjZlMWQ1MTMyM2Q4ODk4MmMwNTAzODUzMmE3ZjJiZjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVy
LmNwcApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdEZl
dGNoZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
QEAgLTQxLDYgKzQwLDggQEAKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVk
ZSAiU3VicmVzb3VyY2VJbnRlZ3JpdHkuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRh
LmgiCisjaW5jbHVkZSAiV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29y
a2VyU2NyaXB0RmV0Y2hlci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbXBsZXRpb24u
aD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTTW9kdWxlUmVjb3JkLmg+CkBAIC01Miw4ICs1Myw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVM
b2FkZXIoRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK1Nj
cmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIE93bmVyVHlwZSBvd25lclR5cGUpCisgICAgOiBtX2NvbnRleHQoY29udGV4
dCkKKyAgICAsIG1fb3duZXJUeXBlKG93bmVyVHlwZSkKIHsKIH0KIApAQCAtNjgsNyArNzAsNyBA
QCBzdGF0aWMgYm9vbCBpc1Jvb3RNb2R1bGUoSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5
KQogICAgIHJldHVybiBpbXBvcnRlck1vZHVsZUtleS5pc1N5bWJvbCgpIHx8IGltcG9ydGVyTW9k
dWxlS2V5LmlzVW5kZWZpbmVkKCk7CiB9CiAKLXN0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4g
cmVzb2x2ZU1vZHVsZVNwZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYg
c3BlY2lmaWVyLCBjb25zdCBVUkwmIGJhc2VVUkwpCitzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJp
bmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGUgb3duZXJUeXBlLCBjb25zdCBTdHJpbmcm
IHNwZWNpZmllciwgY29uc3QgVVJMJiBiYXNlVVJMKQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNyZXNvbHZlLWEtbW9kdWxl
LXNwZWNpZmllcgogCkBAIC03OSw3ICs4MSwxMiBAQCBzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJp
bmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdAog
ICAgIGlmICghc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSAmJiAhc3BlY2lmaWVyLnN0YXJ0c1dp
dGgoIi4vIikgJiYgIXNwZWNpZmllci5zdGFydHNXaXRoKCIuLi8iKSkKICAgICAgICAgcmV0dXJu
IG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBzcGVjaWZpZXIsICciX3MsIHNwZWNp
ZmllciwgIicgZG9lcyBub3Qgc3RhcnQgd2l0aCBcIi9cIiwgXCIuL1wiLCBvciBcIi4uL1wiLiBS
ZWZlcmVuY2VkIGZyb20gIl9zLCBiYXNlVVJMLnN0cmluZygpKSk7CiAKLSAgICBhdXRvIHJlc3Vs
dCA9IGRvY3VtZW50LmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgVVJMIHJl
c3VsdDsKKyAgICBpZiAob3duZXJUeXBlID09IFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBl
OjpEb2N1bWVudCkKKyAgICAgICAgcmVzdWx0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQp
LmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgZWxzZQorICAgICAgICByZXN1
bHQgPSBVUkwoYmFzZVVSTCwgc3BlY2lmaWVyKTsKKwogICAgIGlmICghcmVzdWx0LmlzVmFsaWQo
KSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBuYW1l
LCAnIl9zLCByZXN1bHQuc3RyaW5nKCksICInIGRvZXMgbm90IHJlc29sdmUgdG8gYSB2YWxpZCBV
UkwuIl9zKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEwNyw3ICsxMTQsNyBAQCBKU0M6Oklk
ZW50aWZpZXIgU2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
IGpzR2xvYmFsT2JqZWN0LAogICAgIFVSTCBiYXNlVVJMID0gcmVzcG9uc2VVUkxGcm9tUmVxdWVz
dFVSTCgqanNHbG9iYWxPYmplY3QsIGltcG9ydGVyTW9kdWxlS2V5KTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxl
U3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgYXV0byByZXN1
bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9vd25lclR5cGUsIHNwZWNp
ZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpIHsKICAgICAgICAgSlNDOjp0aHJvd1R5
cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2NvcGUsIHJlc3VsdC5lcnJvcigpKTsKICAgICAgICAg
cmV0dXJuIHsgfTsKQEAgLTE2MSwxMyArMTY4LDE5IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2Uq
IFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxP
CiAgICAgaWYgKGF1dG8qIHNjcmlwdEZldGNoUGFyYW1ldGVycyA9IEpTQzo6anNEeW5hbWljQ2Fz
dDxKU0M6OkpTU2NyaXB0RmV0Y2hQYXJhbWV0ZXJzKj4odm0sIHBhcmFtZXRlcnMpKQogICAgICAg
ICB0b3BMZXZlbEZldGNoUGFyYW1ldGVycyA9IHN0YXRpY19jYXN0PE1vZHVsZUZldGNoUGFyYW1l
dGVycyo+KCZzY3JpcHRGZXRjaFBhcmFtZXRlcnMtPnBhcmFtZXRlcnMoKSk7CiAKLSAgICBhdXRv
IGxvYWRlciA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJl
ZC5nZXQoKSwgKnN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxK
U0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3Zl
KHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7Ci0gICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29w
eVJlZigpKTsKLSAgICBpZiAoIWxvYWRlci0+bG9hZChtX2RvY3VtZW50LCBjb21wbGV0ZWRVUkwp
KSB7Ci0gICAgICAgIGxvYWRlci0+Y2xlYXJDbGllbnQoKTsKLSAgICAgICAgbV9sb2FkZXJzLnJl
bW92ZShXVEZNb3ZlKGxvYWRlcikpOwotICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtF
cnJvcihkZWZlcnJlZC5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwg
IkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybiBq
c1Byb21pc2U7CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsK
KyAgICAgICAgYXV0byBsb2FkZXIgPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgq
dGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4o
SlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNoZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hl
cigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFyYW1ldGVycykpOworICAgICAgICBtX2xvYWRl
cnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOworICAgICAgICBpZiAoIWxvYWRlci0+bG9hZChkb3du
Y2FzdDxEb2N1bWVudD4obV9jb250ZXh0KSwgV1RGTW92ZShjb21wbGV0ZWRVUkwpKSkgeworICAg
ICAgICAgICAgbG9hZGVyLT5jbGVhckNsaWVudCgpOworICAgICAgICAgICAgbV9sb2FkZXJzLnJl
bW92ZShXVEZNb3ZlKGxvYWRlcikpOworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3
b3JrRXJyb3IoZGVmZXJyZWQuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9y
ZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOworICAgICAgICAgICAg
cmV0dXJuIGpzUHJvbWlzZTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGF1dG8g
bG9hZGVyID0gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVk
LmdldCgpLCAqc3RhdGljX2Nhc3Q8V29ya2VyU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpT
Qzo6SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUo
dG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKKyAgICAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIu
Y29weVJlZigpKTsKKyAgICAgICAgbG9hZGVyLT5sb2FkKG1fY29udGV4dCwgV1RGTW92ZShjb21w
bGV0ZWRVUkwpKTsKICAgICB9CiAKICAgICByZXR1cm4ganNQcm9taXNlOwpAQCAtMTc2LDcgKzE4
OSw3IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2go
SlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPCiBVUkwgU2NyaXB0TW9kdWxlTG9hZGVyOjpt
b2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVLZXlWYWx1ZSkKIHsKICAgICBpZiAobW9kdWxlS2V5VmFsdWUuaXNTeW1ib2woKSkK
LSAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQudXJsKCk7CisgICAgICAgIHJldHVybiBtX2NvbnRl
eHQudXJsKCk7CiAKICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CiAgICAg
cmV0dXJuIFVSTChVUkwoKSwgYXNTdHJpbmcobW9kdWxlS2V5VmFsdWUpLT52YWx1ZSgmanNHbG9i
YWxPYmplY3QpKTsKQEAgLTE4Nyw4ICsyMDAsMTEgQEAgVVJMIFNjcmlwdE1vZHVsZUxvYWRlcjo6
cmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE8K
ICAgICBKU0M6OlZNJiB2bSA9IGpzR2xvYmFsT2JqZWN0LnZtKCk7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKGlzUm9vdE1vZHVsZShtb2R1bGVL
ZXlWYWx1ZSkpCi0gICAgICAgIHJldHVybiBtX2RvY3VtZW50LmJhc2VVUkwoKTsKKyAgICBpZiAo
aXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkgeworICAgICAgICBpZiAobV9vd25lclR5cGUg
PT0gT3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgICAgIHJldHVybiBkb3duY2FzdDxEb2N1
bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7CisgICAgICAgIHJldHVybiBtX2NvbnRleHQudXJs
KCk7CisgICAgfQogCiAgICAgQVNTRVJUKCFpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKTsK
ICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CkBAIC0yMTksOCArMjM1LDE0
IEBAIEpTQzo6SlNWYWx1ZSBTY3JpcHRNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LCBKCiAgICAgaWYgKCFzb3VyY2VVUkwuaXNWYWxpZCgp
KQogICAgICAgICByZXR1cm4gSlNDOjp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2Nv
cGUsICJNb2R1bGUga2V5IGlzIGFuIGludmFsaWQgVVJMLiJfcyk7CiAKLSAgICBpZiAoYXV0byog
ZnJhbWUgPSBtX2RvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIHJldHVybiBmcmFtZS0+c2NyaXB0
KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAgICBpZiAobV9v
d25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBpZiAoYXV0byogZnJh
bWUgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5mcmFtZSgpKQorICAgICAgICAgICAg
cmV0dXJuIGZyYW1lLT5zY3JpcHQoKS5ldmFsdWF0ZU1vZHVsZShzb3VyY2VVUkwsICptb2R1bGVS
ZWNvcmQpOworICAgIH0gZWxzZSB7CisgICAgICAgIEFTU0VSVChpczxXb3JrZXJPcldvcmtsZXRH
bG9iYWxTY29wZT4obV9jb250ZXh0KSk7CisgICAgICAgIGlmIChhdXRvKiBzY3JpcHQgPSBkb3du
Y2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KS5zY3JpcHQoKSkKKyAg
ICAgICAgICAgIHJldHVybiBzY3JpcHQtPmV2YWx1YXRlTW9kdWxlKCptb2R1bGVSZWNvcmQpOwor
ICAgIH0KICAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwogfQogCkBAIC0yNDgsOCArMjcw
LDEzIEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0
TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzCiAgICAgVVJMIGJhc2VVUkw7CiAgICAgUmVm
UHRyPEpTQzo6U2NyaXB0RmV0Y2hlcj4gc2NyaXB0RmV0Y2hlcjsKICAgICBpZiAoc291cmNlT3Jp
Z2luLmlzTnVsbCgpKSB7Ci0gICAgICAgIGJhc2VVUkwgPSBtX2RvY3VtZW50LmJhc2VVUkwoKTsK
LSAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2Rv
Y3VtZW50LmNoYXJzZXQoKSk7CisgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6
OkRvY3VtZW50KSB7CisgICAgICAgICAgICBiYXNlVVJMID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1f
Y29udGV4dCkuYmFzZVVSTCgpOworICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNj
cmlwdEZldGNoZXI6OmNyZWF0ZShkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5jaGFyc2V0
KCkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYmFzZVVSTCA9IG1fY29udGV4dC51
cmwoKTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpj
cmVhdGUoRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbik7CisgICAgICAgIH0K
ICAgICB9IGVsc2UgewogICAgICAgICBiYXNlVVJMID0gVVJMKFVSTCgpLCBzb3VyY2VPcmlnaW4u
c3RyaW5nKCkpOwogICAgICAgICBpZiAoIWJhc2VVUkwuaXNWYWxpZCgpKQpAQCAtMjU3LDE0ICsy
ODQsMTkgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9hZGVyOjppbXBv
cnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganMKIAogICAgICAgICBpZiAoc291cmNlT3Jp
Z2luLmZldGNoZXIoKSkKICAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBzb3VyY2VPcmlnaW4u
ZmV0Y2hlcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2Fj
aGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKG1fZG9jdW1lbnQuY2hhcnNldCgpKTsKKworICAgICAg
ICBpZiAoIXNjcmlwdEZldGNoZXIpIHsKKyAgICAgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBP
d25lclR5cGU6OkRvY3VtZW50KQorICAgICAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNo
ZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUoZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuY2hh
cnNldCgpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzY3JpcHRGZXRjaGVy
ID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6
OlNhbWVPcmlnaW4pOworICAgICAgICB9CiAgICAgfQogICAgIEFTU0VSVChiYXNlVVJMLmlzVmFs
aWQoKSk7CiAgICAgQVNTRVJUKHNjcmlwdEZldGNoZXIpOwogCiAgICAgYXV0byBzcGVjaWZpZXIg
PSBtb2R1bGVOYW1lLT52YWx1ZShqc0dsb2JhbE9iamVjdCk7Ci0gICAgYXV0byByZXN1bHQgPSBy
ZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7Cisg
ICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9vd25l
clR5cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJl
dHVybiByZWplY3RQcm9taXNlKGdsb2JhbE9iamVjdCwgVHlwZUVycm9yLCByZXN1bHQuZXJyb3Io
KSk7CiAKQEAgLTI4OCw2MiArMzIwLDEwNyBAQCBKU0M6OkpTT2JqZWN0KiBTY3JpcHRNb2R1bGVM
b2FkZXI6OmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplYwogICAg
IHJldHVybiBtZXRhUHJvcGVydGllczsKIH0KIAotdm9pZCBTY3JpcHRNb2R1bGVMb2FkZXI6Om5v
dGlmeUZpbmlzaGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciYgbG9hZGVyLCBSZWZQdHI8RGVm
ZXJyZWRQcm9taXNlPiBwcm9taXNlKQordm9pZCBTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZp
bmlzaGVkKE1vZHVsZVNjcmlwdExvYWRlciYgbW9kdWxlU2NyaXB0TG9hZGVyLCBVUkwmJiBzb3Vy
Y2VVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+IHByb21pc2UpCiB7CiAgICAgLy8gaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2lu
Z2xlLW1vZHVsZS1zY3JpcHQKIAotICAgIFVSTCBzb3VyY2VVUkwgPSBsb2FkZXIuc291cmNlVVJM
KCk7Ci0gICAgaWYgKCFtX2xvYWRlcnMucmVtb3ZlKCZsb2FkZXIpKQorICAgIGlmICghbV9sb2Fk
ZXJzLnJlbW92ZSgmbW9kdWxlU2NyaXB0TG9hZGVyKSkKICAgICAgICAgcmV0dXJuOwotICAgIGxv
YWRlci5jbGVhckNsaWVudCgpOworICAgIG1vZHVsZVNjcmlwdExvYWRlci5jbGVhckNsaWVudCgp
OwogCi0gICAgYXV0byYgY2FjaGVkU2NyaXB0ID0gKmxvYWRlci5jYWNoZWRTY3JpcHQoKTsKKyAg
ICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBhdXRv
JiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVT
Y3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9hZGVyLmNhY2hl
ZFNjcmlwdCgpOwogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC5yZXNvdXJjZUVycm9yKCkuaXNBY2Nl
c3NDb250cm9sKCkpIHsKLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgIkNyb3Nz
LW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJp
bmcgcG9saWN5LiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNo
ZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAg
ICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRl
bmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIl9zKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC5lcnJvck9j
Y3VycmVkKCkpIHsKLSAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoKnByb21p
c2UsIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1
bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBp
ZiAoY2FjaGVkU2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgcmVqZWN0VG9Q
cm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2lu
ZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlmIChjYWNoZWRTY3JpcHQud2Fz
Q2FuY2VsZWQoKSkgewotICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcigqcHJv
bWlzZSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBt
b2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Cisg
ICAgICAgIGlmIChjYWNoZWRTY3JpcHQud2FzQ2FuY2VsZWQoKSkgeworICAgICAgICAgICAgcmVq
ZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWls
dXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNl
bGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlmICghTUlN
RVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUoY2FjaGVkU2NyaXB0
LnJlc3BvbnNlKCkubWltZVR5cGUoKSkpIHsKLSAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVs
ZS1zY3JpcHQKLSAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBl
IGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90
IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCi0gICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJlYXNv
bnMsIGZldGNoaW5nIGEgY2xhc3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5cGUg
Y2hlY2tpbmcuIEluIGNvbnRyYXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9hZCBp
ZiB0aGV5IGFyZSBub3Qgb2YgYSBjb3JyZWN0IE1JTUUgdHlwZS4KLSAgICAgICAgcHJvbWlzZS0+
cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgp
Lm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojpp
c1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZShjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1l
VHlwZSgpKSkgeworICAgICAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9t
dWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKKyAg
ICAgICAgICAgIC8vIFRoZSByZXN1bHQgb2YgZXh0cmFjdGluZyBhIE1JTUUgdHlwZSBmcm9tIHJl
c3BvbnNlJ3MgaGVhZGVyIGxpc3QgKGlnbm9yaW5nIHBhcmFtZXRlcnMpIGlzIG5vdCBhIEphdmFT
Y3JpcHQgTUlNRSB0eXBlLgorICAgICAgICAgICAgLy8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywg
ZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVj
a2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRo
ZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgorICAgICAgICAgICAgcHJvbWlzZS0+
cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgp
Lm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChhdXRvKiBwYXJh
bWV0ZXJzID0gbG9hZGVyLnBhcmFtZXRlcnMoKSkgeworICAgICAgICAgICAgaWYgKCFtYXRjaElu
dGVncml0eU1ldGFkYXRhKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkpKSB7
CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygi
Q2Fubm90IGxvYWQgc2NyaXB0ICIsIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRpb24oY2FjaGVk
U2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpKTsKKyAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBVUkwgcmVzcG9uc2VVUkwg
PSBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS51cmwoKTsKKyAgICAgICAgLy8gSWYgd2UgZG8gbm90
IGhhdmUgcmVkaXJlY3Rpb24sIHdlIG11c3QgcmVzZXJ2ZSB0aGUgc291cmNlIFVSTCdzIGZyYWdt
ZW50IGV4cGxpY2l0bHkgaGVyZSBzaW5jZSBSZXNvdXJjZVJlc3BvbnNlOjp1cmwoKSBpcyB0aGUg
b25lIHdoZW4gd2UgZmlyc3QgY2FjaGUgaXQgdG8gTWVtb3J5Q2FjaGUuCisgICAgICAgIC8vIEZJ
WE1FOiBXZSBzaG91bGQgdHJhY2sgZnJhZ21lbnRzIHRocm91Z2ggcmVkaXJlY3Rpb25zLgorICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCisg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0OTAK
KyAgICAgICAgaWYgKCFjYWNoZWRTY3JpcHQuaGFzUmVkaXJlY3Rpb25zKCkgJiYgY2FjaGVkU2Ny
aXB0LnJlc3BvbnNlKCkuc291cmNlKCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2
aWNlV29ya2VyKSB7CisgICAgICAgICAgICBpZiAoc291cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRp
ZmllcigpKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlVVJMLnNldEZyYWdtZW50SWRlbnRpZmll
cihzb3VyY2VVUkwuZnJhZ21lbnRJZGVudGlmaWVyKCkpOworICAgICAgICB9CisKKyAgICAgICAg
bV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcC5hZGQoc291cmNlVVJMLnN0cmluZygpLCBXVEZN
b3ZlKHJlc3BvbnNlVVJMKSk7CisgICAgICAgIHByb21pc2UtPnJlc29sdmVXaXRoQ2FsbGJhY2so
WyZdIChKU0RPTUdsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QpIHsKKyAgICAgICAgICAgIHJl
dHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0LnZtKCksCisgICAg
ICAgICAgICAgICAgSlNDOjpTb3VyY2VDb2RlIHsgU2NyaXB0U291cmNlQ29kZSB7ICZjYWNoZWRT
Y3JpcHQsIEpTQzo6U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUsIGxvYWRlci5zY3Jp
cHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9KTsKKyAgICAgICAgfSk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgYXV0byYgbG9hZGVyID0gc3RhdGljX2Nhc3Q8V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyJj4obW9kdWxlU2NyaXB0TG9hZGVyKTsKKyAgICAgICAgYXV0byYgd29ya2VyU2NyaXB0
TG9hZGVyID0gbG9hZGVyLnNjcmlwdExvYWRlcigpOwogCi0gICAgaWYgKGF1dG8qIHBhcmFtZXRl
cnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7Ci0gICAgICAgIGlmICghbWF0Y2hJbnRlZ3JpdHlN
ZXRhZGF0YShjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkgewotICAgICAg
ICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiQ2Fubm90IGxvYWQg
c2NyaXB0ICIsIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRpb24oY2FjaGVkU2NyaXB0LCBwYXJh
bWV0ZXJzLT5pbnRlZ3JpdHkoKSkpKTsKKyAgICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5m
YWlsZWQoKSkgeworICAgICAgICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5lcnJvcigpLmlz
QWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVF
cnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJl
c291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVycm9yKCku
aXNDYW5jZWxsYXRpb24oKSkgeworICAgICAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0
d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNl
bGVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3MpOworICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVqZWN0VG9Q
cm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2lu
ZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICB9CiAKLSAgICBVUkwgcmVzcG9uc2VV
UkwgPSBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS51cmwoKTsKLSAgICAvLyBJZiB3ZSBkbyBub3Qg
aGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21l
bnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBv
bmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KLSAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIHRyYWNrIGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KLSAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCi0gICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAotICAgIGlmICghY2Fj
aGVkU2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnNv
dXJjZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgewotICAg
ICAgICBpZiAoc291cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQotICAgICAgICAgICAg
cmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50
aWZpZXIoKSk7Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9y
dGVkSmF2YVNjcmlwdE1JTUVUeXBlKHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZU1JTUVUeXBl
KCkpKSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAorICAgICAg
ICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9u
c2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlw
dCBNSU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRj
aGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5n
LiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBh
cmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNlLT5yZWpl
Y3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNl
TUlNRVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBtX3JlcXVlc3RVUkxUb1Jlc3Bv
bnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsK
LSAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3Qm
IGpzR2xvYmFsT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3Jl
YXRlKGpzR2xvYmFsT2JqZWN0LnZtKCksCi0gICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBT
Y3JpcHRTb3VyY2VDb2RlIHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJj
ZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0p
OwotICAgIH0pOworICAgICAgICBVUkwgcmVzcG9uc2VVUkwgPSB3b3JrZXJTY3JpcHRMb2FkZXIu
cmVzcG9uc2VVUkwoKTsKKworICAgICAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlv
biwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBo
ZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJz
dCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KKyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0
cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRpcmVjdGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAorICAgICAgICBpZiAoIXdv
cmtlclNjcmlwdExvYWRlci5pc1JlZGlyZWN0ZWQoKSAmJiB3b3JrZXJTY3JpcHRMb2FkZXIucmVz
cG9uc2VTb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIp
IHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisg
ICAgICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVS
TC5mcmFnbWVudElkZW50aWZpZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBtX3JlcXVlc3RV
UkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIHJlc3BvbnNlVVJMKTsK
KyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2Jq
ZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VD
b2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNv
dXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgd29ya2VyU2NyaXB0TG9hZGVyLnNjcmlwdCgp
LCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlw
ZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7Cisg
ICAgICAgIH0pOworICAgIH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRNb2R1bGVMb2FkZXIuaAppbmRleCBkZTI5ZDJmNGJmMDk2YjYwYzM2OTk4MDMxNmMx
NDg2YjI4MmFiZjA5Li5kZjM0ZDU1MWExMWNkOThmNGUyMzZhMmFhMWY0ODI3OWQ5NjRjNjg1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaApA
QCAtMjUsOCArMjUsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlci5oIgotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIk1vZHVsZVNj
cmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgpAQCAtNDUsMTYgKzQ1LDE3IEBAIGNsYXNzIFNvdXJjZU9yaWdpbjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAotY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZp
bmFsIDogcHJpdmF0ZSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworY2xhc3MgU2Ny
aXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdE1vZHVsZUxvYWRlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRl
cihEb2N1bWVudCYpOworICAgIGVudW0gY2xhc3MgT3duZXJUeXBlIDogdWludDhfdCB7IERvY3Vt
ZW50LCBXb3JrZXJPcldvcmtsZXQgfTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE93bmVyVHlwZSk7CiAgICAgflNjcmlwdE1vZHVsZUxv
YWRlcigpOwogCi0gICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudDsg
fQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRl
eHQ7IH0KIAogICAgIEpTQzo6SWRlbnRpZmllciByZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNW
YWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwogICAg
IEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6
OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKQEAgLTYzLDEzICs2NCwxNSBA
QCBjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCB7CiAgICAgSlNDOjpKU09iamVjdCogY3JlYXRlSW1wb3J0TWV0YVBy
b3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6
OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwogCiBwcml2YXRl
OgotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVm
UHRyPERlZmVycmVkUHJvbWlzZT4pIGZpbmFsOworICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoTW9k
dWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSBmaW5hbDsKKwog
ICAgIFVSTCBtb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAg
ICAgVVJMIHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpT
Qzo6SlNWYWx1ZSk7CiAKLSAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFVSTD4gbV9yZXF1
ZXN0VVJMVG9SZXNwb25zZVVSTE1hcDsKLSAgICBIYXNoU2V0PFJlZjxDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXI+PiBtX2xvYWRlcnM7CisgICAgSGFzaFNldDxSZWY8TW9kdWxlU2NyaXB0TG9hZGVy
Pj4gbV9sb2FkZXJzOworICAgIE93bmVyVHlwZSBtX293bmVyVHlwZTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFNvdXJjZUNvZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJj
ZUNvZGUuaAppbmRleCBjNzA0NjI2ZmI3MzNkYjQ3MmJkYTUwMjM2MjQxYTZlNzQwZTI3ODJiLi4x
MGZhN2U4YjQ0OWM4Yjg0OWViMzdjYzFmMmM4NjZmYTg5M2FhZDZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291cmNlQ29kZS5oCkBAIC01Nyw3ICs1Nyw3IEBAIGNs
YXNzIFNjcmlwdFNvdXJjZUNvZGUgewogICAgIHsKICAgICB9CiAKLSAgICBTY3JpcHRTb3VyY2VD
b2RlKGNvbnN0IFN0cmluZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlvbiYg
c3RhcnRQb3NpdGlvbiwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlwZSwg
UmVmPENhY2hlZFNjcmlwdEZldGNoZXI+JiYgc2NyaXB0RmV0Y2hlcikKKyAgICBTY3JpcHRTb3Vy
Y2VDb2RlKGNvbnN0IFN0cmluZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlv
biYgc3RhcnRQb3NpdGlvbiwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlw
ZSwgUmVmPEpTQzo6U2NyaXB0RmV0Y2hlcj4mJiBzY3JpcHRGZXRjaGVyKQogICAgICAgICA6IG1f
cHJvdmlkZXIoSlNDOjpTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgSlNDOjpT
b3VyY2VPcmlnaW4geyB1cmwsIFdURk1vdmUoc2NyaXB0RmV0Y2hlcikgfSwgdXJsLnN0cmluZygp
LCBzdGFydFBvc2l0aW9uLCBzb3VyY2VUeXBlKSkKICAgICAgICAgLCBtX2NvZGUobV9wcm92aWRl
ci5jb3B5UmVmKCksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9z
aXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42ZDI3NDkzYTYwMTdmODA3ZDAwMWRmZjgzNmY0ZjI1MTc4YTE2ZTI2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyLmNwcApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorCisjaW5jbHVkZSAiQ2Fj
aGVkU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgorI2luY2x1
ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Q
cm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKKyNp
bmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKKyNpbmNsdWRlICJTY3JpcHRDb250cm9s
bGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0
U291cmNlQ29kZS5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRl
ICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyPiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNl
LCBXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQ
YXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RG
TW92ZShwYXJhbWV0ZXJzKSkpOworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Oldvcmtl
ck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVm
ZXJyZWRQcm9taXNlJiBwcm9taXNlLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVy
LCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1
bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9taXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBh
cmFtZXRlcnMpKQorICAgICwgbV9zY3JpcHRMb2FkZXIoV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVh
dGUoKSkKK3sKK30KKworV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjp+V29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyKCkKK3sKKyAgICBtX3NjcmlwdExvYWRlci0+Y2FuY2VsKCk7Cit9CisKK2Jvb2wg
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFVSTCYmIHNvdXJjZVVSTCkKK3sKKyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291
cmNlVVJMKTsKKworICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0IHsgbV9zb3VyY2VVUkwgfTsK
KworICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7CisgICAgZmV0Y2hPcHRpb25zLm1vZGUg
PSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnM7CisgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0
Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKKyAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBG
ZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CisgICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRp
YWxzID0gc3RhdGljX2Nhc3Q8V29ya2VyU2NyaXB0RmV0Y2hlciY+KHNjcmlwdEZldGNoZXIoKSku
Y3JlZGVudGlhbHMoKTsKKyAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50
ID0gY29udGV4dC5zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSA/
IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UgOiBDb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZUNoaWxkU3JjRGlyZWN0aXZlOworCisg
ICAgU3RyaW5nIHRhc2tNb2RlID0gImxvYWRNb2R1bGVzSW5Xb3JrZXJPcldvcmtsZXRNb2RlIl9z
OworICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92
ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXVEZNb3ZlKHRhc2tN
b2RlKSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyOjpub3RpZnlGaW5pc2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisKKyAgICBh
dXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsKKyAgICBpZiAobV9jbGllbnQpCisg
ICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJjZVVS
TCksIG1fcHJvbWlzZS5yZWxlYXNlTm9uTnVsbCgpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMTAwODBlZTkzMWJmYjBiMzNhOWY1NDczYjI5N2NhMmRjMmU0NzU4Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVy
Q2xpZW50LmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBKU0RPTUds
b2JhbE9iamVjdDsKK2NsYXNzIE1vZHVsZUZldGNoUGFyYW1ldGVyczsKK2NsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBX
b3JrZXJTY3JpcHRMb2FkZXI7CisKK2NsYXNzIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciBmaW5h
bCA6IHB1YmxpYyBNb2R1bGVTY3JpcHRMb2FkZXIsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVy
Q2xpZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRl
cj4gY3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIFdv
cmtlclNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKwor
ICAgIHZpcnR1YWwgfldvcmtlck1vZHVsZVNjcmlwdExvYWRlcigpOworCisgICAgYm9vbCBsb2Fk
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBVUkwmJiBzb3VyY2VVUkwpOworCisgICAgV29ya2Vy
U2NyaXB0TG9hZGVyJiBzY3JpcHRMb2FkZXIoKSB7IHJldHVybiBtX3NjcmlwdExvYWRlci5nZXQo
KTsgfQorCitwcml2YXRlOgorICAgIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiwg
UmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVS
ZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWwgeyB9
CisgICAgdm9pZCBub3RpZnlGaW5pc2hlZCgpIGZpbmFsOworCisgICAgUmVmPFdvcmtlclNjcmlw
dExvYWRlcj4gbV9zY3JpcHRMb2FkZXI7CisgICAgVVJMIG1fc291cmNlVVJMOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV29ya2VyU2NyaXB0RmV0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0RmV0Y2hlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2YjU0ZWY4OTRiNTMzZWFmY2ViYzFhMTRi
ZjI3NmEwM2VjYmExMGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmgKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTG9hZGFibGVTY3JpcHQuaCIKKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9TY3JpcHRGZXRjaGVyLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgQ2FjaGVkU2NyaXB0OworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIFdvcmtlclNj
cmlwdEZldGNoZXIgZmluYWwgOiBwdWJsaWMgSlNDOjpTY3JpcHRGZXRjaGVyIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPFdvcmtlclNjcmlwdEZldGNoZXI+IGNyZWF0ZShGZXRjaE9wdGlvbnM6
OkNyZWRlbnRpYWxzIGNyZWRlbnRpYWxzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgV29ya2VyU2NyaXB0RmV0Y2hlcihjcmVkZW50aWFscykpOworICAgIH0KKworICAgIEZl
dGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMoKSBjb25zdCB7IHJldHVybiBtX2Ny
ZWRlbnRpYWxzOyB9CisKKyAgICB2b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmlu
Z0ltcGwmIG1vZHVsZUtleSkKKyAgICB7CisgICAgICAgIG1fbW9kdWxlS2V5ID0gJm1vZHVsZUtl
eTsKKyAgICAgICAgbV9pc0xvYWRlZCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBub3RpZnlM
b2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciYmIGVycm9yKQorICAgIHsKKyAgICAgICAg
bV9lcnJvciA9IFdURk1vdmUoZXJyb3IpOworICAgICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAg
ICB9CisKKyAgICB2b2lkIG5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpCisgICAgeworICAgICAgICBt
X3dhc0NhbmNlbGVkID0gdHJ1ZTsKKyAgICAgICAgbV9pc0xvYWRlZCA9IHRydWU7CisgICAgfQor
CisgICAgYm9vbCBpc0xvYWRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMb2FkZWQ7IH0KKyAgICBP
cHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6RXJyb3I+IGVycm9yKCkgY29uc3QgeyByZXR1cm4gbV9l
cnJvcjsgfQorICAgIGJvb2wgd2FzQ2FuY2VsZWQoKSBjb25zdCB7IHJldHVybiBtX3dhc0NhbmNl
bGVkOyB9CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1vZHVsZUtleSgpIGNvbnN0IHsgcmV0dXJu
IG1fbW9kdWxlS2V5LmdldCgpOyB9CisKK3Byb3RlY3RlZDoKKyAgICBXb3JrZXJTY3JpcHRGZXRj
aGVyKEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMpCisgICAgICAgIDogbV9j
cmVkZW50aWFscyhjcmVkZW50aWFscykKKyAgICB7CisgICAgfQorCitwcml2YXRlOgorICAgIEZl
dGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFsczsKKyAgICBSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+IG1fbW9kdWxlS2V5OworICAgIE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpF
cnJvcj4gbV9lcnJvcjsKKyAgICBib29sIG1fd2FzQ2FuY2VsZWQgeyBmYWxzZSB9OworICAgIGJv
b2wgbV9pc0xvYWRlZCB7IGZhbHNlIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5YjIxMzhiNzdjMTgwZDcyMDk1MTgwMGUxNGUzNDdh
MTQzZTk3MTcxLi41NGNmZjA0YTk2ZGJjODA5ZDYzNmFhZWM4ZWNiMjA1ZTQ2NzdmMDQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYxNSw3ICs2MTUsNyBAQCBEb2N1bWVudDo6RG9jdW1l
bnQoRnJhbWUqIGZyYW1lLCBjb25zdCBTZXR0aW5ncyYgc2V0dGluZ3MsIGNvbnN0IFVSTCYgdXJs
LCBEb2N1bQogICAgICwgbV9kb2N1bWVudENyZWF0aW9uVGltZShNb25vdG9uaWNUaW1lOjpub3co
KSkKICNlbmRpZgogICAgICwgbV9zY3JpcHRSdW5uZXIobWFrZVVuaXF1ZTxTY3JpcHRSdW5uZXI+
KCp0aGlzKSkKLSAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9h
ZGVyPigqdGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVs
ZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpEb2N1bWVudCkp
CiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgLCBtX2FwcGx5UGVuZGluZ1hTTFRyYW5zZm9ybXNUaW1l
cigqdGhpcywgJkRvY3VtZW50OjphcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zVGltZXJGaXJlZCkK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2Ny
aXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKaW5k
ZXggOWEyNWMxNjU4OGVlY2FkNjc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uNDhlYzA4NTFhNDU3
ZDliYTQ3NDczZmVjMjhkN2I0OTMxMmI3ODhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9h
ZGFibGVNb2R1bGVTY3JpcHQuY3BwCkBAIC04OCwxNiArODgsNCBAQCB2b2lkIExvYWRhYmxlTW9k
dWxlU2NyaXB0OjpleGVjdXRlKFNjcmlwdEVsZW1lbnQmIHNjcmlwdEVsZW1lbnQpCiAgICAgc2Ny
aXB0RWxlbWVudC5leGVjdXRlTW9kdWxlU2NyaXB0KCp0aGlzKTsKIH0KIAotdm9pZCBMb2FkYWJs
ZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgcm9vdFVS
TCkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBm
cmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgcm9vdFVSTC5zdHJpbmcoKSwg
bV9wYXJhbWV0ZXJzLmNvcHlSZWYoKSk7Ci19Ci0KLXZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6
OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VD
b2RlKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0gICAgICAg
IGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0aGlzLCBzb3VyY2VDb2RlKTsKLX0K
LQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAppbmRleCBiYjc5
OTU0ZDdiOTliMGVkMDZiZmU1NWVmODU0ZWNjZTIxZjM1ODc3Li5kMjUzNTk2M2Y2NDhiMDJhOGEw
MWZkNjNiYjFlMzgxMzg2Y2VlNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9h
ZGFibGVNb2R1bGVTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1
bGVTY3JpcHQuaApAQCAtNTAsMTUgKzUwLDE0IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxlU2NyaXB0
IGZpbmFsIDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsKIAogICAgIHZvaWQgc2V0RXJyb3IoRXJy
b3ImJik7CiAKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHJvb3RVUkwpOwot
ICAgIHZvaWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKLQogICAg
IHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYpOwogICAgIHZvaWQg
bm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3ImJik7CiAgICAgdm9pZCBub3Rp
ZnlMb2FkV2FzQ2FuY2VsZWQoKTsKIAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtb2R1bGVLZXko
KSBjb25zdCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQoKTsgfQogCisgICAgTW9kdWxlRmV0Y2hQ
YXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9CisK
IHByaXZhdGU6CiAgICAgTG9hZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBub25jZSwg
Y29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBTdHJpbmcmIGNy
b3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBp
bml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDA1NzU4YjYwMGM3NTIyYjQ3ZjM2NGJhNmExOGQz
NWYxNzMxMTA3ZjkuLjVlOTlmMGY1Nzc3YjNiMjE1OGRkMGZhNGJjMzgyNzc2Y2RiMzQ4MTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNs
dWRlICJMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNj
cmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJNb2R1bGVG
ZXRjaFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSAi
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHU2NyaXB0RWxlbWVudC5o
IgpAQCAtMzUxLDggKzM1MiwxMSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVT
Y3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgICAgICAg
ICAgc2NyaXB0Q2hhcnNldCgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmxvY2FsTmFtZSgpLAog
ICAgICAgICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwotICAgICAg
ICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIG1vZHVsZVNjcmlwdFJvb3RVUkwp
OwogICAgICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAgICAgICBp
ZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7CisgICAgICAg
ICAgICBhdXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4oKm1fbG9h
ZGFibGVTY3JpcHQuZ2V0KCkpOworICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1
bGVTY3JpcHQoc2NyaXB0LCBtb2R1bGVTY3JpcHRSb290VVJMLnN0cmluZygpLCBtYWtlUmVmKHNj
cmlwdC5wYXJhbWV0ZXJzKCkpKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKQEAgLTM2Nyw4ICszNzEsOSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1
bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgIGlm
ICghY29udGVudFNlY3VyaXR5UG9saWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVudC5kb2N1
bWVudCgpLnVybCgpLnN0cmluZygpLCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29kZS5zb3Vy
Y2UoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIGhhc0tub3duTm9uY2UpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIHNv
dXJjZUNvZGUpOwogICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7CisgICAg
aWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAgICAgICAg
ZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVT
Y3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKSwgc291cmNlQ29kZSk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcApp
bmRleCAyNzE3Yzg2MWM3NGIwZjJhZWJjZGU0MDg3MDBlMmE5YTAzNzM3NTk1Li4xYjY1MzJjM2Iw
ZWFhODBkOWJkNDZjNmQ0MzIxMzY5NjIxYzAxOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0xMDEsMTAgKzEwMSwxMCBAQCBUaHJlYWRhYmxlTG9h
ZGVyT3B0aW9ucyBUaHJlYWRhYmxlTG9hZGVyT3B0aW9uczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QK
IH0KIAogCi1SZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQm
IGNsaWVudCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRl
ck9wdGlvbnMmIG9wdGlvbnMsIFN0cmluZyYmIHJlZmVycmVyKQorUmVmUHRyPFRocmVhZGFibGVM
b2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBjbGllbnQsIFJlc291cmNlUmVxdWVzdCYm
IHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBTdHJpbmcm
JiByZWZlcnJlciwgU3RyaW5nJiYgdGFza01vZGUpCiB7CiAgICAgaWYgKGlzPFdvcmtlckdsb2Jh
bFNjb3BlPihjb250ZXh0KSB8fCAoaXM8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KSAmJiBk
b3duY2FzdDxXb3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpLndvcmtlck9yV29ya2xldFRocmVh
ZCgpKSkKLSAgICAgICAgcmV0dXJuIFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzdGF0
aWNfY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSY+KGNvbnRleHQpLCBjbGllbnQsIFdv
cmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCksIFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMsIFdU
Rk1vdmUocmVmZXJyZXIpKTsKKyAgICAgICAgcmV0dXJuIFdvcmtlclRocmVhZGFibGVMb2FkZXI6
OmNyZWF0ZShzdGF0aWNfY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSY+KGNvbnRleHQp
LCBjbGllbnQsIFdURk1vdmUodGFza01vZGUpLCBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRpb25zLCBX
VEZNb3ZlKHJlZmVycmVyKSk7CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBudWxscHRyOwog
ICAgIGlmIChpczxXb3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggYzJiMjQ1YzNlYmI4YmM5MzBlZjRkMTcyYmEx
NTA5YTE3OWYxZDdhNi4uMWFjNzA0YjRjM2I1MGIwZmZkYTAzNDI4YzNjZTdkYTE0OTg4MjYzNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC03NCw3ICs3NCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhy
ZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVz
b3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVl
c3QmJiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRp
b25zJik7Ci0gICAgICAgIHN0YXRpYyBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgUmVzb3VyY2VS
ZXF1ZXN0JiYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgU3RyaW5nJiYgcmVmZXJy
ZXIgPSBTdHJpbmcoKSk7CisgICAgICAgIHN0YXRpYyBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4g
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50Jiwg
UmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgU3RyaW5n
JiYgcmVmZXJyZXIgPSBTdHJpbmcoKSwgU3RyaW5nJiYgdGFza01vZGUgPSB7IH0pOwogCiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSXNEb25lKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgY2FuY2VsKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IDYyZjkxN2Ez
Njc4MTlkZWMzY2Q0MTBkOTc2Njk1Y2VlNjJmNmQ0YjkuLjkyZWE4YTc4ZmE4ZjIzODViNmNkMGNk
ZWM1ZDUwZWYxZWM3NjFkMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTcwLDYg
KzcwLDggQEAgaW5saW5lIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWUKICAgICAsIG1faWRlbnRpZmllcigid29y
a2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigp
KQogICAgICwgbV9jb250ZXh0UHJveHkoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6Y3JlYXRlKCp0
aGlzKSkKICAgICAsIG1fcnVudGltZUZsYWdzKHJ1bnRpbWVGbGFncykKKyAgICAsIG1fdHlwZShv
cHRpb25zLnR5cGUpCisgICAgLCBtX2NyZWRlbnRpYWxzKG9wdGlvbnMuY3JlZGVudGlhbHMpCiB7
CiAgICAgc3RhdGljIGJvb2wgYWRkZWRMaXN0ZW5lcjsKICAgICBpZiAoIWFkZGVkTGlzdGVuZXIp
IHsKQEAgLTExMywxMCArMTE1LDE1IEBAIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBXb3JrZXI6
OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1CiAKICAgICBG
ZXRjaE9wdGlvbnMgZmV0Y2hPcHRpb25zOwogICAgIGZldGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hP
cHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luOworICAgIGlmICh3b3JrZXItPm1fdHlwZSA9PSBXb3Jr
ZXJUeXBlOjpNb2R1bGUpCisgICAgICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHdvcmtl
ci0+bV9jcmVkZW50aWFsczsKKyAgICBlbHNlCisgICAgICAgIGZldGNoT3B0aW9ucy5jcmVkZW50
aWFscyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW47CiAgICAgZmV0Y2hP
cHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKICAgICBmZXRjaE9w
dGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAgICAgZmV0
Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2Vy
OwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0
LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgd29ya2VyKTsKKyAg
ICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RG
TW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSwgV29y
a2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CisKICAgICByZXR1cm4gd29ya2VyOwogfQogCkBA
IC0yMTUsNyArMjIyLDEzIEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAgICAgUmVm
ZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7
CiAgICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRl
ci0+cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQog
ICAgICAgICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7Ci0gICAgbV9jb250ZXh0UHJveHkuc3Rh
cnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4
dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExv
YWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9z
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRp
b25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9ydW50aW1lRmxhZ3MpOworCisgICAgVVJMIHJlc3Bv
bnNlVVJMID0gbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlVVJMKCk7CisgICAgaWYgKCFtX3Njcmlw
dExvYWRlci0+aXNSZWRpcmVjdGVkKCkgJiYgbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlU291cmNl
KCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7CisgICAgICAg
IGlmIChtX3NjcmlwdExvYWRlci0+dXJsKCkuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAg
ICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIobV9zY3JpcHRMb2FkZXIt
PnVybCgpLmZyYWdtZW50SWRlbnRpZmllcigpKTsKKyAgICB9CisgICAgbV9jb250ZXh0UHJveHku
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShyZXNwb25zZVVSTCwgbV9uYW1lLCBjb250ZXh0LT51c2Vy
QWdlbnQocmVzcG9uc2VVUkwpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQ
b2xpY3ksIG1fdHlwZSwgbV9jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOwogICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2NyaXB0TG9h
ZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5oCmluZGV4IDUzZjVlNmZmZjI3YzlmYTNlNWMwZTAxZjBmNmM0MmM2Y2I2
ZjlkMGUuLjM4YTYyM2E5OGRiYTM1ZmY4MDEzY2Q2ZmM4Yzg1YzgxMDIwNTAyMTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuaApAQCAtMjksOSArMjksMTEgQEAKICNpbmNsdWRlICJBY3RpdmVET01P
YmplY3QuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMu
aCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIkZldGNoUmVxdWVzdENyZWRl
bnRpYWxzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJQb3N0TWVzc2Fn
ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNs
dWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdz
Lmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9u
YWwuaD4KQEAgLTU1LDYgKzU3LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3Ry
YWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFdvcmtlcik7CiBwdWJsaWM6CiAgICAgc3RydWN0IE9wdGlvbnMg
eworICAgICAgICBXb3JrZXJUeXBlIHR5cGU7CisgICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRp
YWxzIGNyZWRlbnRpYWxzOwogICAgICAgICBTdHJpbmcgbmFtZTsKICAgICB9OwogICAgIHN0YXRp
YyBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IE9wdGlvbnMmKTsK
QEAgLTc5LDYgKzgzLDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3RyYWN0V29y
a2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAgICB2b2lkIHBvc3RU
YXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmKT4mJik7CiAjZW5kaWYKIAorICAgIFdvcmtlclR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdvcmtlcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IE9wdGlvbnMmKTsKIApAQCAtMTEy
LDYgKzExOCw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBXb3JrCiAjaWYgRU5BQkxFKFdFQl9SVEMp
CiAgICAgSGFzaFNldDxTdHJpbmc+IG1fdHJhbnNmb3JtZXJzOwogI2VuZGlmCisgICAgV29ya2Vy
VHlwZSBtX3R5cGUgeyBXb3JrZXJUeXBlOjpDbGFzc2ljIH07CisgICAgRmV0Y2hSZXF1ZXN0Q3Jl
ZGVudGlhbHMgbV9jcmVkZW50aWFscyB7IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpTYW1lT3Jp
Z2luIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5pZGwKaW5kZXggNDVkNmEwODY3ODU0ZWU0MDRkZTdlN2QwMTI0OGNlYmY0NGRjYTdlZC4uNzAy
MTc5NmRmNTA0YWRmOGU2Yjk1ODlhY2U5ZjE0NDgyMWYyOTVmMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmlkbApAQCAtMzgsNiArMzgsOCBAQAogfTsKIAogZGljdGlvbmFyeSBXb3JrZXJPcHRp
b25zIHsKKyAgICBXb3JrZXJUeXBlIHR5cGUgPSAiY2xhc3NpYyI7CisgICAgRmV0Y2hSZXF1ZXN0
Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMgPSAic2FtZS1vcmlnaW4iOyAvLyBjcmVkZW50aWFscyBp
cyBvbmx5IHVzZWQgaWYgdHlwZSBpcyAibW9kdWxlIgogICAgIERPTVN0cmluZyBuYW1lID0gIiI7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmlu
ZGV4IGRiYWIzNDhlODBjOWRlNTBiZDIxNTc3N2ExNGEzOWEwZjcwZTQ5YzcuLmNjZGU5MDljN2Ni
NTJlOTc3NzRjNWI4MTU4MjNlYmNiYmIwNzBmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC03NCw2ICs3NCw4IEBAIFdvcmtlckdsb2JhbFNj
b3BlOjpXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIGNvbnN0IFdvcmtl
clBhcmFtZXRlCiAgICAgLCBtX3BlcmZvcm1hbmNlKFBlcmZvcm1hbmNlOjpjcmVhdGUodGhpcywg
cGFyYW1zLnRpbWVPcmlnaW4pKQogICAgICwgbV9yZWZlcnJlclBvbGljeShwYXJhbXMucmVmZXJy
ZXJQb2xpY3kpCiAgICAgLCBtX3NldHRpbmdzVmFsdWVzKHBhcmFtcy5zZXR0aW5nc1ZhbHVlcykK
KyAgICAsIG1fd29ya2VyVHlwZShwYXJhbXMud29ya2VyVHlwZSkKKyAgICAsIG1fY3JlZGVudGlh
bHMocGFyYW1zLmNyZWRlbnRpYWxzKQogewogI2lmICFFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
ICAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvblByb3h5KTsKQEAgLTI3NCw2ICsyNzYsMTEgQEAg
RXhjZXB0aW9uT3I8dm9pZD4gV29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNjcmlwdHMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIHVybHMpCiB7CiAgICAgQVNTRVJUKGNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpKTsKIAorICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dv
cmtlcnMuaHRtbCNpbXBvcnRpbmctc2NyaXB0cy1hbmQtbGlicmFyaWVzCisgICAgLy8gMS4gSWYg
d29ya2VyIGdsb2JhbCBzY29wZSdzIHR5cGUgaXMgIm1vZHVsZSIsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgICBpZiAobV93b3JrZXJUeXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSkK
KyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgImltcG9ydFNjcmlwdHMgY2Fu
bm90IGJlIHVzZWQgaWYgd29lcmtlciB0eXBlIGlzIFwibW9kdWxlXCIiX3MgfTsKKwogICAgIFZl
Y3RvcjxVUkw+IGNvbXBsZXRlZFVSTHM7CiAgICAgY29tcGxldGVkVVJMcy5yZXNlcnZlSW5pdGlh
bENhcGFjaXR5KHVybHMuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIGVudHJ5IDogdXJscykgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDQ2ZDQ5ZDk0
YzUyMzhlNDY4OGQzOTVkODdjMjA2M2ViNTcyMGQxYmYuLjc0Nzk1ZjVjMGY5YTJhMzVkMDA5MzAx
MmFkMThmNTdlMzE3ZjgyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKQEAgLTEyMyw2ICsxMjMsOCBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1
YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNgogCiAg
ICAgY29uc3QgU2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3NldHRpbmdzVmFsdWVzOyB9CiAKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRp
YWxzIGNyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1cm4gbV9jcmVkZW50aWFsczsgfQorCiBwcm90
ZWN0ZWQ6CiAgICAgV29ya2VyR2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSwgY29uc3QgV29y
a2VyUGFyYW1ldGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgV29ya2VyVGhyZWFkJiwgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJv
eHkqLCBTb2NrZXRQcm92aWRlciopOwogCkBAIC0xNjMsOCArMTY1LDYgQEAgY2xhc3MgV29ya2Vy
R2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+LCBw
dWJsaWMgQmFzZTYKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJMb2NhdGlvbj4gbV9sb2NhdGlv
bjsKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJOYXZpZ2F0b3I+IG1fbmF2aWdhdG9yOwogCi0g
ICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+IG1fc2Ny
aXB0OwotCiAgICAgYm9vbCBtX2lzT25saW5lOwogICAgIGJvb2wgbV9zaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAKQEAgLTE4Nyw2ICsxODcsOCBAQCBjbGFzcyBX
b3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29w
ZT4sIHB1YmxpYyBCYXNlNgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDU1NWYWx1ZVBvb2w+IG1fY3Nz
VmFsdWVQb29sOwogICAgIFJlZmVycmVyUG9saWN5IG1fcmVmZXJyZXJQb2xpY3k7CiAgICAgU2V0
dGluZ3M6OlZhbHVlcyBtX3NldHRpbmdzVmFsdWVzOworICAgIFdvcmtlclR5cGUgbV93b3JrZXJU
eXBlOworICAgIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFsczsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNDAwMDNjM2UwMTA5OTk2MGY2NDc4NjFlNzAxNjg3
ZDBlMzcxZDcyZC4uZWQ2NzNhYzhmN2MwZWU1NGMwNjBlY2I1OTIxNjM5MGVkNzBmZTJjZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKQEAg
LTQ4LDcgKzQ4LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsKIAotICAg
IHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJM
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBKU0M6
OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNj
b3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywg
SlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2Vy
R2xvYmFsU2NvcGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJH
bG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmKT4mJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCAxOWQ0YmU2NDk5MmYzMGQzY2NlNzY1NDdhM2QyMjE4
YTk4Yzg0MmMzLi43ODgzNTg3YTdhZjYyMDllM2VjYzhlN2I0MWJhZDQ3YWRmNjIyNDBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAt
NzMsNyArNzMsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5
KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAK
LXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3Qg
VVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9s
aWN5LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBj
b25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3Jr
ZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1l
RmxhZ3MgcnVudGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2
aXNpdGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQo
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9IGRvY3Vt
ZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsg
c2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGRvY3VtZW50LnNl
dHRpbmdzVmFsdWVzKCkgfTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsgc2NyaXB0
VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUsIGNyZWRl
bnRpYWxzLCBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpIH07CiAgICAgYXV0byB0aHJlYWQgPSBE
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUsICp0aGlzLCAq
dGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHByb3h5LCBzb2Nr
ZXRQcm92aWRlciwgcnVudGltZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0ZWQodGhy
ZWFkLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuaAppbmRleCBjNWI1NzViOWU2MTViM2YzZjU5NmJmYzNkZjY4M2M4NzdjYzYyYmFiLi5kOWU4
MWUxNTdhMGY0ODUyZTQ5YjU5ZDI1NjZhOGE4MGY1ZjgxOGFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01MCw3ICs1MCw3IEBAIGNsYXNz
IFdvcmtlck1lc3NhZ2luZ1Byb3h5IGZpbmFsIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PFdvcmtlck1lc3NhZ2luZ1ByCiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBX
b3JrZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5jdGlvbnMg
aW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFs
U2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgUmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAgICB2b2lk
IHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0
cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZldGNo
UmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAgdm9pZCB0
ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VU
b1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFsOwogICAg
IHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYpPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggMjM4NGE1YThjN2QyYTMw
MmVlZTVjYjQwNWUxMDVlMDI1Yzk4NDNjYy4uZjRmNGIyNzQ2NmY5YTMwYjI4YjhiMjFmNmYyYmVm
OGJkZTkzODUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogCisjaW5jbHVk
ZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyRXZlbnRMb29wLmgiCiAj
aW5jbHVkZSAiV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldvcmtlck9y
V29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCIKQEAgLTM5LDYgKzQwLDcgQEAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRF9JTVBMKFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKTsKIAogV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtlclRocmVh
ZFR5cGUgdHlwZSwgUmVmPEpTQzo6Vk0+JiYgdm0sIFdvcmtlck9yV29ya2xldFRocmVhZCogdGhy
ZWFkKQogICAgIDogbV9zY3JpcHQobWFrZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyPih0eXBlLCBXVEZNb3ZlKHZtKSwgdGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRlciht
YWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6
T3duZXJUeXBlOjpXb3JrZXJPcldvcmtsZXQpKQogICAgICwgbV90aHJlYWQodGhyZWFkKQogICAg
ICwgbV9pbnNwZWN0b3JDb250cm9sbGVyKG1ha2VVbmlxdWU8V29ya2VySW5zcGVjdG9yQ29udHJv
bGxlcj4oKnRoaXMpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IDZjMjQ0YTBjNDI3ZWUxYzhjNjVmZGNjNzY1OTUy
Zjg3N2ZkOWIxNmIuLjU0NGYwNDdhZWMyNzgzMjc0NGQwYThhNzBhZjdlOTM5YzMzMDk5MmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNj
b3BlLmgKQEAgLTMyLDYgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZl
bnRMb29wVGFza0dyb3VwOworY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyOwogY2xhc3MgV29ya2Vy
RXZlbnRMb29wOwogY2xhc3MgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIFdvcmtl
ck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI7CkBAIC01NCw2ICs1NSw4IEBAIGNsYXNzIFdvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHB1
YmxpYyBSZWZDb3VuCiAKICAgICB1bnNpZ25lZCBsb25nIGNyZWF0ZVVuaXF1ZUlkZW50aWZpZXIo
KSB7IHJldHVybiBtX3VuaXF1ZUlkZW50aWZpZXIrKzsgfQogCisgICAgU2NyaXB0TW9kdWxlTG9h
ZGVyJiBtb2R1bGVMb2FkZXIoKSB7IHJldHVybiAqbV9tb2R1bGVMb2FkZXI7IH0KKwogICAgIC8v
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCiAgICAgRXZlbnRMb29wVGFza0dyb3VwJiBldmVudExv
b3AoKSBmaW5hbDsKICAgICBib29sIGlzQ29udGV4dFRocmVhZCgpIGNvbnN0IGZpbmFsOwpAQCAt
ODgsNiArOTEsNyBAQCBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBwdWJsaWMgUmVmQ291bgogICAgIHZvaWQgZGVyZWZFdmVu
dFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtl
ck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+IG1fc2NyaXB0OworICAgIHN0ZDo6dW5pcXVlX3B0
cjxTY3JpcHRNb2R1bGVMb2FkZXI+IG1fbW9kdWxlTG9hZGVyOwogICAgIFdvcmtlck9yV29ya2xl
dFRocmVhZCogbV90aHJlYWQ7CiAgICAgUmVmUHRyPFdvcmtlckV2ZW50TG9vcD4gbV9ldmVudExv
b3A7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEV2ZW50TG9vcFRhc2tHcm91cD4gbV9kZWZhdWx0VGFz
a0dyb3VwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JX
b3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggY2Q0ZWMyNDY4MjUyNWFhYmM2NDJkODc3
YTBkYTAxMWViZGUxMTQzMS4uODdlNDA0ZTE0OWI3ZTE4NjAyNTMxYWUyOGRiZWRhNGY2ZWM4YzA2
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zNSwxNSArMzUsMjMgQEAKICNpbmNsdWRlICJK
U0V4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCIKICNp
bmNsdWRlICJKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIk1vZHVsZUZl
dGNoRmFpbHVyZUtpbmQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKICNp
bmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0
YS5oIgogI2luY2x1ZGUgIldvcmtlckNvbnNvbGVDbGllbnQuaCIKKyNpbmNsdWRlICJXb3JrZXJT
Y3JpcHRGZXRjaGVyLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29tcGxldGlvbi5oPgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0RlZmVycmVkV29ya1RpbWVyLmg+CiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvRXhjZXB0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXhj
ZXB0aW9uSGVscGVycy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0dDQWN0aXZpdHlDYWxs
YmFjay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNlLmg+CiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNMb2NrLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNNb2R1bGVSZWNvcmQuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU05hdGl2ZVN0
ZEZ1bmN0aW9uLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRjaFBhcmFt
ZXRlcnMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1NjcmlwdEZldGNoZXIuaD4KICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmdJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTIyOCw2ICsyMzYsMjQxIEBAIHZvaWQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29u
dHJvbGxlcjo6ZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kCiAgICAg
fQogfQogCitzdGF0aWMgSWRlbnRpZmllciBqc1ZhbHVlVG9Nb2R1bGVLZXkoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgaWYgKHZhbHVl
LmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVybiBJZGVudGlmaWVyOjpmcm9tVWlkKGpzQ2FzdDxT
eW1ib2wqPih2YWx1ZSktPnByaXZhdGVOYW1lKCkpOworICAgIEFTU0VSVCh2YWx1ZS5pc1N0cmlu
ZygpKTsKKyAgICByZXR1cm4gYXNTdHJpbmcodmFsdWUpLT50b0lkZW50aWZpZXIobGV4aWNhbEds
b2JhbE9iamVjdCk7Cit9CisKK0pTQzo6SlNWYWx1ZSBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyOjpldmFsdWF0ZU1vZHVsZShKU0M6OkpTTW9kdWxlUmVjb3JkJiBtb2R1bGVSZWNvcmQp
Cit7CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgp
OworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2Nr
IHsgdm0gfTsKKyAgICByZXR1cm4gbW9kdWxlUmVjb3JkLmV2YWx1YXRlKCZnbG9iYWxPYmplY3Qp
OworfQorCitNZXNzYWdlUXVldWVXYWl0UmVzdWx0IFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KFdvcmtlclNjcmlwdEZldGNoZXImIHNjcmlw
dEZldGNoZXIsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCit7CisgICAgaWYg
KGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAgIHJldHVybiBNZXNzYWdlUXVldWVUZXJt
aW5hdGVkOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxP
YmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFs
T2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisgICAgYXV0byBw
cm90ZWN0b3IgPSBtYWtlUmVmKHNjcmlwdEZldGNoZXIpOworICAgIHsKKyAgICAgICAgYXV0byYg
cHJvbWlzZSA9IEpTRXhlY1N0YXRlOjpsb2FkTW9kdWxlKGdsb2JhbE9iamVjdCwgc291cmNlQ29k
ZS5qc1NvdXJjZUNvZGUoKSwgSlNDOjpKU1NjcmlwdEZldGNoZXI6OmNyZWF0ZSh2bSwgeyAmc2Ny
aXB0RmV0Y2hlciB9KSk7CisKKyAgICAgICAgYXV0byYgZnVsZmlsbEhhbmRsZXIgPSAqSlNOYXRp
dmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBTdHJpbmcoKSwgW3By
b3RlY3Rvcl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJh
bWUpIC0+IEpTQzo6RW5jb2RlZEpTVmFsdWUgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFs
T2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAg
ICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgICAgICAg
ICAgSWRlbnRpZmllciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0
LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRDb21wbGV0
ZWQoKm1vZHVsZUtleS5pbXBsKCkpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFu
ZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEs
IFN0cmluZygpLCBbcHJvdGVjdG9yXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAgICAgICAgICAg
SlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKKyAgICAgICAgICAg
IGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvKiBvYmpl
Y3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAgICAgICAgICAgIGlmIChKU1Zh
bHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGljX2Nhc3Q8
SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFpbHVyZUtp
bmRQcml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGhvc3Qg
cHJvcGFnYXRlZCBlcnJvciBpbiB0aGUgbW9kdWxlIGxvYWRlciBwaXBlbGluZS4KKyAgICAgICAg
ICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaEZhaWx1cmVLaW5kPihm
YWlsdXJlS2luZFZhbHVlLmFzSW50MzIoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBN
b2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAgICAgICAgICAgICAgICAgICAg
ICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2Fj
aGVkU2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdURjo6bnVsbG9wdAorICAg
ICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5j
ZWxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3Rvci0+bm90aWZ5TG9hZFdhc0Nh
bmNlbGVkKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgcHJv
dGVjdG9yLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAg
ICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAg
ICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZSB7CisgICAgICAgICAgICAg
ICAgICAgIE1lc3NhZ2VTb3VyY2U6OkpTLAorICAgICAgICAgICAgICAgICAgICBNZXNzYWdlTGV2
ZWw6OkVycm9yLAorICAgICAgICAgICAgICAgICAgICByZXRyaWV2ZUVycm9yTWVzc2FnZSgqZ2xv
YmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgc2NvcGUpLAorICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxPYmpl
Y3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRsZXIpOworICAgIH0KKyAgICBtX2dsb2Jh
bFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworCisgICAg
Ly8gRHJpdmUgUnVuTG9vcCB1bnRpbCB3ZSBnZXQgZWl0aGVyIG9mICJXb3JrZXIgaXMgdGVybWlu
YXRlZCIsICJMb2FkaW5nIGlzIGRvbmUiLCBvciAiTG9hZGluZyBpcyBmYWlsZWQiLgorICAgIFdv
cmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSBtX2dsb2JhbFNjb3BlLT53b3JrZXJPcldvcmtsZXRUaHJl
YWQoKS0+cnVuTG9vcCgpOworCisgICAgLy8gV2UgZG8gbm90IHdhbnQgdG8gcmVjZWl2ZSBtZXNz
YWdlcyB0aGF0IGFyZSBub3QgcmVsYXRlZCB0byBhc3luY2hyb25vdXMgcmVzb3VyY2UgbG9hZGlu
Zy4KKyAgICAvLyBPdGhlcndpc2UsIGEgd29ya2VyIGRpc2NhcmRzIHNvbWUgbWVzc2FnZXMgZnJv
bSB0aGUgbWFpbiB0aHJlYWQgaGVyZSBpbiBhIHJhY3kgd2F5LgorICAgIC8vIEZvciBleGFtcGxl
LCB0aGUgbWFpbiB0aHJlYWQgY2FuIHBvc3RNZXNzYWdlIGp1c3QgYWZ0ZXIgY3JlYXRpbmcgYSBX
b3JrZXIuIEluIHRoYXQgY2FzZSwgcG9zdE1lc3NhZ2UncworICAgIC8vIHRhc2sgaXMgcXVldWVk
IGluIFdvcmtlclJ1bkxvb3AgYmVmb3JlIHN0YXJ0IHJ1bm5pbmcgbW9kdWxlIHNjcmlwdHMuIFRo
aXMgdGFzayBzaG91bGQgbm90IGJlIGRpc2NhcmRlZAorICAgIC8vIGluIHRoZSBmb2xsb3dpbmcg
ZHJpdmluZyBvZiB0aGUgUnVuTG9vcCB3aGljaCBtYWlubHkgYXR0ZW1wdCB0byBjb2xsZWN0IGlu
aXRpYWwgbG9hZCBvZiBtb2R1bGUgc2NyaXB0cy4KKyAgICBTdHJpbmcgdGFza01vZGUgPSAibG9h
ZE1vZHVsZXNJbldvcmtlck9yV29ya2xldE1vZGUiX3M7CisgICAgTWVzc2FnZVF1ZXVlV2FpdFJl
c3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2ZWQ7CisgICAgd2hpbGUgKCgh
ZmV0Y2hlclJlZi0+aXNMb2FkZWQoKSAmJiAhZmV0Y2hlclJlZi0+d2FzQ2FuY2VsZWQoKSkgJiYg
cmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpIHsKKyAgICAgICAgcmVzdWx0ID0gcnVu
TG9vcC5ydW5Jbk1vZGUobV9nbG9iYWxTY29wZSwgdGFza01vZGUpOworICAgICAgICBpZiAocmVz
dWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpCisgICAgICAgICAgICBtX2dsb2JhbFNjb3Bl
LT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworICAgIH0KKworICAg
IC8vIEZJWE1FOiBDdXJyZW50bHkgd2UgYXJlIG5vdCBvZmZlcmluZyBjYW5jZWxsaW5nLgorICAg
IC8vIGlmICghbG9hZGVyLT5kb25lKCkgJiYgcmVzdWx0ID09IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0
ZWQpCisgICAgLy8gICAgIGxvYWRlci0+Y2FuY2VsKCk7CisKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCit2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0
ZU1vZHVsZShXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBjb25zdCBTY3JpcHRT
b3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSkK
K3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9n
bG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7
CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisgICAgTmFrZWRQdHI8SlNDOjpFeGNl
cHRpb24+IHJldHVybmVkRXhjZXB0aW9uOworICAgIEpTRXhlY1N0YXRlOjpsaW5rQW5kRXZhbHVh
dGVNb2R1bGUoZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCBzY3JpcHRGZXRj
aGVyLm1vZHVsZUtleSgpKSwganNVbmRlZmluZWQoKSwgcmV0dXJuZWRFeGNlcHRpb24pOworICAg
IGlmICgocmV0dXJuZWRFeGNlcHRpb24gJiYgaXNUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9u
KHZtLCByZXR1cm5lZEV4Y2VwdGlvbikpIHx8IGlzVGVybWluYXRpbmdFeGVjdXRpb24oKSkgewor
ICAgICAgICBmb3JiaWRFeGVjdXRpb24oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGlmIChyZXR1cm5lZEV4Y2VwdGlvbikgeworICAgICAgICBpZiAobV9nbG9iYWxTY29wZS0+Y2Fu
SW5jbHVkZUVycm9yRGV0YWlscyhzb3VyY2VDb2RlLmNhY2hlZFNjcmlwdCgpLCBzb3VyY2VDb2Rl
LnVybCgpLnN0cmluZygpKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEl0J3Mgbm90IGdyZWF0
IHRoYXQgdGhpcyBjYW4gcnVuIGFyYml0cmFyeSBjb2RlIHRvIHN0cmluZy1pZnkgdGhlIHZhbHVl
IG9mIHRoZSBleGNlcHRpb24uCisgICAgICAgICAgICAvLyBEbyB3ZSBuZWVkIHRvIGRvIGFueXRo
aW5nIHRvIGhhbmRsZSB0aGF0IHByb3Blcmx5LCBpZiBpdCwgc2F5LCByYWlzZXMgYW5vdGhlciBl
eGNlcHRpb24/CisgICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlKQorICAg
ICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSByZXR1cm5lZEV4Y2VwdGlv
bi0+dmFsdWUoKS50b1dURlN0cmluZygmZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIC8vIE92ZXJ3cml0ZSB0aGUgZGV0YWlsZWQgZXJyb3Igd2l0aCBhIGdlbmVy
aWMgZXJyb3IuCisgICAgICAgICAgICBTdHJpbmcgZ2VuZXJpY0Vycm9yTWVzc2FnZSB7ICJTY3Jp
cHQgZXJyb3IuIl9zIH07CisgICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb25NZXNzYWdl
KQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBnZW5lcmljRXJy
b3JNZXNzYWdlOworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIFdvcmtlck9yV29ya2xldFNj
cmlwdENvbnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVsZShjb25zdCBVUkwmIG1vZHVsZVVS
TCwgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFscywgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChPcHRpb25hbDxFeGNlcHRpb24+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQorewor
ICAgIGlmIChpc0V4ZWN1dGlvbkZvcmJpZGRlbigpKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKEV4Y2VwdGlvbiB7IE5vdEFsbG93ZWRFcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFsT2JqZWN0
ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVj
dC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIGF1dG8gc2NyaXB0
RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZldGNoZXI6OmNyZWF0ZShjcmVkZW50aWFscyk7CisgICAg
eworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3RhdGU6OmxvYWRNb2R1bGUoZ2xvYmFs
T2JqZWN0LCBtb2R1bGVVUkwuc3RyaW5nKCksIGpzVW5kZWZpbmVkKCksIEpTQzo6SlNTY3JpcHRG
ZXRjaGVyOjpjcmVhdGUodm0sIHsgc2NyaXB0RmV0Y2hlci5wdHIoKSB9KSk7CisKKyAgICAgICAg
YXV0byB0YXNrID0gY3JlYXRlU2hhcmVkVGFzazx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+
KFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShPcHRpb25h
bDxFeGNlcHRpb24+JiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKFdURk1vdmUoZXhjZXB0aW9uKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGF1
dG8mIGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNyZWF0ZSh2bSwgJmds
b2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFt0YXNrLCBzY3JpcHRGZXRjaGVyXShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgLT4gSlNDOjpFbmNvZGVk
SlNWYWx1ZSB7CisgICAgICAgICAgICAvLyB0YXNrLT5ydW4oV1RGOjpudWxsb3B0KTsKKyAgICAg
ICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICAgICAgICAgIEpTTG9ja0hv
bGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKKworICAgICAgICAgICAgSWRlbnRpZmllciBtb2R1bGVLZXkgPSBqc1ZhbHVl
VG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApKTsKKyAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICBzY3Jp
cHRGZXRjaGVyLT5ub3RpZnlMb2FkQ29tcGxldGVkKCptb2R1bGVLZXkuaW1wbCgpKTsKKworICAg
ICAgICAgICAgYXV0byogY29udGV4dCA9IGRvd25jYXN0PFdvcmtlck9yV29ya2xldEdsb2JhbFNj
b3BlPihqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpOworICAgICAgICAgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5z
Y3JpcHQoKSkgeworICAgICAgICAgICAgICAgIHRhc2stPnJ1bihXVEY6Om51bGxvcHQpOworICAg
ICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiByZXR1cm5l
ZEV4Y2VwdGlvbjsKKyAgICAgICAgICAgIEpTRXhlY1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1
bGUoKmdsb2JhbE9iamVjdCwgbW9kdWxlS2V5LCBqc1VuZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2Vw
dGlvbik7CisgICAgICAgICAgICBpZiAoKHJldHVybmVkRXhjZXB0aW9uICYmIGlzVGVybWluYXRl
ZEV4ZWN1dGlvbkV4Y2VwdGlvbih2bSwgcmV0dXJuZWRFeGNlcHRpb24pKSB8fCBjb250ZXh0LT5z
Y3JpcHQoKS0+aXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgICAgICAgICAgaWYg
KGNvbnRleHQtPnNjcmlwdCgpKQorICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5zY3JpcHQo
KS0+Zm9yYmlkRXhlY3V0aW9uKCk7CisgICAgICAgICAgICAgICAgdGFzay0+cnVuKFdURjo6bnVs
bG9wdCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5l
ZCgpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHJldHVybmVkRXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2U7CisgICAgICAgICAgICAgICAgaWYg
KGNvbnRleHQtPmNhbkluY2x1ZGVFcnJvckRldGFpbHMobnVsbHB0ciwgbW9kdWxlS2V5LnN0cmlu
ZygpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhh
dCB0aGlzIGNhbiBydW4gYXJiaXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2Yg
dGhlIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgICAgICAgICAgLy8gRG8gd2UgbmVlZCB0byBkbyBh
bnl0aGluZyB0byBoYW5kbGUgdGhhdCBwcm9wZXJseSwgaWYgaXQsIHNheSwgcmFpc2VzIGFub3Ro
ZXIgZXhjZXB0aW9uPworICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gcmV0dXJuZWRFeGNl
cHRpb24tPnZhbHVlKCkudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAvLyBPdmVyd3JpdGUgdGhlIGRldGFpbGVk
IGVycm9yIHdpdGggYSBnZW5lcmljIGVycm9yLgorICAgICAgICAgICAgICAgICAgICBtZXNzYWdl
ID0gIlNjcmlwdCBlcnJvci4iX3M7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGNvbnRleHQtPnJlcG9ydEV4Y2VwdGlvbihtZXNzYWdlLCB7IH0sIHsgfSwgeyB9LCB7IH0sIHsg
fSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRhc2stPnJ1bihXVEY6Om51bGxvcHQp
OworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAg
ICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1
bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbdGFza10oSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIHsKKyAgICAg
ICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICAgICAgICAgIEpTTG9ja0hv
bGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIEpTVmFsdWUgZXJyb3JWYWx1ZSA9IGNhbGxG
cmFtZS0+YXJndW1lbnQoMCk7CisgICAgICAgICAgICBpZiAoZXJyb3JWYWx1ZS5pc09iamVjdCgp
KSB7CisgICAgICAgICAgICAgICAgYXV0byogb2JqZWN0ID0gSlNDOjphc09iamVjdChlcnJvclZh
bHVlKTsKKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0LT5nZXREaXJlY3Qodm0sIHN0YXRpY19j
YXN0PEpTVk1DbGllbnREYXRhJj4oKnZtLmNsaWVudERhdGEpLmJ1aWx0aW5OYW1lcygpLmZhaWx1
cmVLaW5kUHJpdmF0ZU5hbWUoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgdGFzay0+cnVuKEV4
Y2VwdGlvbiB7IEFib3J0RXJyb3IgfSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIGlmIChvYmplY3QtPmluaGVyaXRzPEVycm9ySW5zdGFuY2U+KHZtKSkgeworICAgICAg
ICAgICAgICAgICAgICBhdXRvKiBlcnJvciA9IGpzQ2FzdDxFcnJvckluc3RhbmNlKj4ob2JqZWN0
KTsKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChlcnJvci0+ZXJyb3JUeXBlKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgY2FzZSBFcnJvclR5cGU6OlN5bnRheEVycm9yOiB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZt
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJv
ck1lc3NhZ2VXaXRob3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgY2F0Y2hT
Y29wZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0YXNrLT5ydW4oRXhjZXB0aW9uIHsgU3lu
dGF4RXJyb3IsIG1lc3NhZ2UgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7
CisgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91
dE5hbWUoKmdsb2JhbE9iamVjdCwgdm0sIGVycm9yVmFsdWUsIGNhdGNoU2NvcGUpOworICAgICAg
ICAgICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IsIG1lc3NhZ2UgfSk7CisgICAg
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9
KTsKKworICAgICAgICBwcm9taXNlLnRoZW4oJmdsb2JhbE9iamVjdCwgJmZ1bGZpbGxIYW5kbGVy
LCAmcmVqZWN0SGFuZGxlcik7CisgICAgfQorICAgIG1fZ2xvYmFsU2NvcGUtPmV2ZW50TG9vcCgp
LnBlcmZvcm1NaWNyb3Rhc2tDaGVja3BvaW50KCk7Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIEpT
R2xvYmFsU2NvcGVQcm90b3R5cGUsIHR5cGVuYW1lIEpTR2xvYmFsU2NvcGUsIHR5cGVuYW1lIEds
b2JhbFNjb3BlPgogdm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjppbml0U2Ny
aXB0V2l0aFN1YmNsYXNzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggYzQ5MzAxYWVkM2RkMDg5
ZGE3OTczMjc2MGNhZjJmN2I2NGRiMTFiNi4uOWYwMjNhNjJmODE0M2U3ZDk4MmZiZjdmNThlZWVh
ZGNhM2E1YjU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldv
cmtsZXRTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU1J1bkxvb3BUaW1lci5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KKyNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVlLmg+
CiAjaW5jbHVkZSA8d3RmL05ha2VkUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDQsOSAr
NDUsMTEgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgTG9hZGFibGVNb2R1bGVTY3JpcHQ7CiBjbGFz
cyBTY3JpcHRTb3VyY2VDb2RlOwogY2xhc3MgV29ya2VyQ29uc29sZUNsaWVudDsKIGNsYXNzIFdv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlOworY2xhc3MgV29ya2VyU2NyaXB0RmV0Y2hlcjsKIAog
Y2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlciB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcik7CkBAIC05NCw2ICs5Nywx
MyBAQCBjbGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyIHsKICAgICB2b2lkIGV2
YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9u
TWVzc2FnZSA9IG51bGxwdHIpOwogICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNl
Q29kZSYsIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiYgcmV0dXJuZWRFeGNlcHRpb24sIFN0cmlu
ZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAKKyAgICBKU0M6OkpTVmFs
dWUgZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYpOworCisgICAgdm9pZCBsaW5r
QW5kRXZhbHVhdGVNb2R1bGUoV29ya2VyU2NyaXB0RmV0Y2hlciYsIGNvbnN0IFNjcmlwdFNvdXJj
ZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOworICAg
IE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3VzbHkoV29ya2VyU2Ny
aXB0RmV0Y2hlciYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKKworICAgIHZvaWQgbG9hZEFu
ZEV2YWx1YXRlTW9kdWxlKGNvbnN0IFVSTCYgbW9kdWxlVVJMLCBGZXRjaE9wdGlvbnM6OkNyZWRl
bnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYp
OworCiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUqIGdsb2JhbFNj
b3BlKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxTY29wZTsgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggM2E0ZGFlZmMzOTAyYmRiMmVh
ODRmYzU4ZDdlNDJmODNlNWYwN2UyZi4uOWYzMWQwZGZkNTlhODcwN2ZkNGViNTljYzNjOTJhMDY2
NDgxZGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVy
LmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIE9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0
TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0CiAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3lu
Y2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9w
dGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUgc2VydmljZVdvcmtlck1vZGUsIFdv
cmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50KQordm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6
OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBGZXRjaE9wdGlvbnMm
JiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRT
ZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUgc2VydmljZVdvcmtl
ck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBTdHJpbmcmJiB0YXNrTW9k
ZSkKIHsKICAgICBtX2NsaWVudCA9ICZjbGllbnQ7CiAgICAgbV91cmwgPSBzY3JpcHRSZXF1ZXN0
LnVybCgpOwpAQCAtMTIzLDggKzEyMyw2IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2Fk
QXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAgICAg
QVNTRVJUKGZldGNoT3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9yaWdp
biB8fCAoZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uICE9IEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OlNlcnZpY2V3b3JrZXIgJiYgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uICE9IEZldGNoT3B0
aW9uczo6RGVzdGluYXRpb246OldvcmtlcikpOwogCiAgICAgVGhyZWFkYWJsZUxvYWRlck9wdGlv
bnMgb3B0aW9ucyB7IFdURk1vdmUoZmV0Y2hPcHRpb25zKSB9OwotICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgYWRkIGFuIG9wdGlvbiB0byBzZXQgY3JlZGVudGlhbCBtb2RlLgotICAgIG9wdGlvbnMu
Y3JlZGVudGlhbHMgPSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luOwogICAg
IG9wdGlvbnMuc2VuZExvYWRDYWxsYmFja3MgPSBTZW5kQ2FsbGJhY2tQb2xpY3k6OlNlbmRDYWxs
YmFja3M7CiAgICAgb3B0aW9ucy5jb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IGNv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OwogICAgIGlmIChmZXRjaE9wdGlvbnMuZGVz
dGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2VydmljZXdvcmtlcikKQEAg
LTE0Myw3ICsxNDEsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91
c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogCiAgICAgLy8gRHVyaW5n
IGNyZWF0ZSwgY2FsbGJhY2tzIG1heSBoYXBwZW4gd2hpY2ggcmVtb3ZlIHRoZSBsYXN0IHJlZmVy
ZW5jZSB0byB0aGlzIG9iamVjdC4KICAgICBSZWY8V29ya2VyU2NyaXB0TG9hZGVyPiBwcm90ZWN0
ZWRUaGlzKCp0aGlzKTsKLSAgICBtX3RocmVhZGFibGVMb2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVy
OjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgKnRoaXMsIFdURk1vdmUoKnJlcXVlc3Qp
LCBvcHRpb25zKTsKKyAgICBtX3RocmVhZGFibGVMb2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpj
cmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgKnRoaXMsIFdURk1vdmUoKnJlcXVlc3QpLCBv
cHRpb25zLCB7IH0sIFdURk1vdmUodGFza01vZGUpKTsKIH0KIAogY29uc3QgVVJMJiBXb3JrZXJT
Y3JpcHRMb2FkZXI6OnJlc3BvbnNlVVJMKCkgY29uc3QKQEAgLTE5MCw2ICsxODgsOCBAQCB2b2lk
IFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgY29uc3QgUmVzbwogICAgIG1fY2VydGlmaWNhdGVJbmZvID0gcmVzcG9uc2UuY2Vy
dGlmaWNhdGVJbmZvKCkgPyAqcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCkgOiBDZXJ0aWZpY2F0
ZUluZm8oKTsKICAgICBtX3Jlc3BvbnNlTUlNRVR5cGUgPSByZXNwb25zZS5taW1lVHlwZSgpOwog
ICAgIG1fcmVzcG9uc2VFbmNvZGluZyA9IHJlc3BvbnNlLnRleHRFbmNvZGluZ05hbWUoKTsKKyAg
ICBtX3Jlc3BvbnNlU291cmNlID0gcmVzcG9uc2Uuc291cmNlKCk7CisgICAgbV9pc1JlZGlyZWN0
ZWQgPSByZXNwb25zZS5pc1JlZGlyZWN0ZWQoKTsKICAgICBtX2NvbnRlbnRTZWN1cml0eVBvbGlj
eSA9IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB7IHJlc3BvbnNlIH07CiAg
ICAgbV9yZWZlcnJlclBvbGljeSA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVy
TmFtZTo6UmVmZXJyZXJQb2xpY3kpOwogICAgIGlmIChtX2NsaWVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IDdmZGQwYjNmNmEwMWMyZGI1Nzcy
NGE5MGIzYmI5ODQwZjFlNjhlNWYuLmNmYTMxYTM1MzI1OWFlZWQxOThmOTM5MWZmYzE1MTFiNDA1
MGI4NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApA
QCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkZldGNoT3B0aW9ucy5oIgogI2luY2x1ZGUgIlJl
c291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJS
ZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1
ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDxtZW1vcnk+CkBAIC00Myw3
ICs0NCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEV4Y2VwdGlvbjsKLWNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3Mg
VGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlckNsaWVudDsKQEAg
LTU4LDcgKzU4LDcgQEAgY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50
ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGEKICAgICB9CiAKICAgICBPcHRp
b25hbDxFeGNlcHRpb24+IGxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBjb25zdCBVUkwmLCBGZXRjaE9wdGlvbnM6Ok1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUsIENv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklk
ZW50aWZpZXIpOwotICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYsIENvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUsIFdvcmtlclNjcmlwdExvYWRl
ckNsaWVudCYpOworICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYsIENvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUsIFdvcmtlclNjcmlwdExvYWRl
ckNsaWVudCYsIFN0cmluZyYmIHRhc2tNb2RlKTsKIAogICAgIHZvaWQgbm90aWZ5RXJyb3IoKTsK
IApAQCAtNjcsNiArNjcsOCBAQCBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVm
Q291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYQogICAgIGNvbnN0IFN0
cmluZyYgcmVmZXJyZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5OyB9
CiAgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3VybDsgfQogICAgIGNvbnN0
IFVSTCYgcmVzcG9uc2VVUkwoKSBjb25zdDsKKyAgICBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2Ug
cmVzcG9uc2VTb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlU291cmNlOyB9CisgICAg
Ym9vbCBpc1JlZGlyZWN0ZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUmVkaXJlY3RlZDsgfQogICAg
IGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4g
bV9jZXJ0aWZpY2F0ZUluZm87IH0KICAgICBjb25zdCBTdHJpbmcmIHJlc3BvbnNlTUlNRVR5cGUo
KSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlTUlNRVR5cGU7IH0KICAgICBib29sIGZhaWxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fZmFpbGVkOyB9CkBAIC0xMDcsNiArMTA5LDggQEAgY2xhc3MgV29y
a2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwg
cHVibGljIFRocmVhZGEKICAgICB1bnNpZ25lZCBsb25nIG1faWRlbnRpZmllciB7IDAgfTsKICAg
ICBib29sIG1fZmFpbGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZmluaXNoaW5nIHsgZmFsc2Ug
fTsKKyAgICBib29sIG1faXNSZWRpcmVjdGVkIHsgZmFsc2UgfTsKKyAgICBSZXNvdXJjZVJlc3Bv
bnNlOjpTb3VyY2UgbV9yZXNwb25zZVNvdXJjZSB7IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6
VW5rbm93biB9OwogICAgIFJlc291cmNlRXJyb3IgbV9lcnJvcjsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMyMjYxOWU2ZWU3ZTYxNmE4
YmRlMThiZDU1MmE1NzgzLi5mMmE3NjU5ZmM1NjFlYWQxNmIxMmEzNDllZDFlZjA3ZTBkYTA3NjJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zMiw2ICszMiw4
IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTb2NrZXRQcm92aWRl
ci5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCisjaW5jbHVkZSAiV29ya2VyU2Ny
aXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTUsNiArNTcsOCBAQCBXb3JrZXJQYXJhbWV0ZXJzIFdvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVk
Q29weSgpIGNvbnN0CiAgICAgICAgIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwKICAgICAgICAgdGltZU9yaWdpbiwKICAgICAgICAgcmVmZXJyZXJQb2xpY3ksCisg
ICAgICAgIHdvcmtlclR5cGUsCisgICAgICAgIGNyZWRlbnRpYWxzLAogICAgICAgICBzZXR0aW5n
c1ZhbHVlcy5pc29sYXRlZENvcHkoKQogICAgIH07CiB9CkBAIC0xMjMsOSArMTI3LDMzIEBAIGJv
b2wgV29ya2VyVGhyZWFkOjpzaG91bGRXYWl0Rm9yV2ViSW5zcGVjdG9yT25TdGFydHVwKCkgY29u
c3QKIAogdm9pZCBXb3JrZXJUaHJlYWQ6OmV2YWx1YXRlU2NyaXB0SWZOZWNlc3NhcnkoU3RyaW5n
JiBleGNlcHRpb25NZXNzYWdlKQogewotICAgIGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5ldmFs
dWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0
YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25NZXNzYWdlKTsKLQotICAg
IGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAgIC8vIFdlIGFyZSBjdXJyZW50bHkgaG9s
ZGluZyBvbmx5IHRoZSBpbml0aWFsIHNjcmlwdCBjb2RlLiBJZiB0aGUgV29ya2VyVHlwZSBpcyBN
b2R1bGUsIHdlIHNob3VsZCBmZXRjaCB0aGUgZW50aXJlIGdyYXBoIGJlZm9yZSBleGVjdXRpbmcg
dGhlIHJlc3Qgb2YgdGhpcy4KKyAgICAvLyBXZSBpbnZva2UgbW9kdWxlIGxvYWRlciBhcyBpZiB3
ZSBhcmUgZXhlY3V0aW5nIGlubGluZSBtb2R1bGUgc2NyaXB0IHRhZyBpbiBEb2N1bWVudC4KKwor
ICAgIGlmIChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMud29ya2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpD
bGFzc2ljKSB7CisgICAgICAgIGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3Jp
cHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRh
LT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25NZXNzYWdlKTsKKyAgICAgICAgZmluaXNo
ZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gRklYTUUgY3Jv
c3NPcmlnaW4gbW9kZSBzaG91bGQgYmUgY29udmVydGVkLgorICAgICAgICAvLyBGSVhNRSBmaXgg
aW5pdGlhdG9yIG5hbWUuCisgICAgICAgIC8vIEZJWE1FIHBhc3MgVVJMIHRvIG1vZHVsZSBsb2Fk
ZXIuCisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5z
b3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlwdFVSTCksIHsgfSwgSlND
OjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSk7CisgICAgICAgIGF1dG8gc2NyaXB0
RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZldGNoZXI6OmNyZWF0ZShnbG9iYWxTY29wZSgpLT5jcmVk
ZW50aWFscygpKTsKKyAgICAgICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCByZXN1bHQgPSBnbG9i
YWxTY29wZSgpLT5zY3JpcHQoKS0+bG9hZE1vZHVsZVN5bmNocm9ub3VzbHkoc2NyaXB0RmV0Y2hl
ci5nZXQoKSwgc291cmNlQ29kZSk7CisgICAgICAgIGlmIChyZXN1bHQgIT0gTWVzc2FnZVF1ZXVl
VGVybWluYXRlZCkgeworICAgICAgICAgICAgaWYgKE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpF
cnJvcj4gZXJyb3IgPSBzY3JpcHRGZXRjaGVyLT5lcnJvcigpKSB7CisgICAgICAgICAgICAgICAg
aWYgKE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZT4gbWVzc2FnZSA9IGVy
cm9yLT5jb25zb2xlTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2Fn
ZSA9IG1lc3NhZ2UtPm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFp
bGVkLiJfczsKKyAgICAgICAgICAgICAgICBnbG9iYWxTY29wZSgpLT5yZXBvcnRFeGNlcHRpb24o
ZXhjZXB0aW9uTWVzc2FnZSwgeyB9LCB7IH0sIHsgfSwgeyB9LCB7IH0pOworICAgICAgICAgICAg
fSBlbHNlIGlmICghc2NyaXB0RmV0Y2hlci0+d2FzQ2FuY2VsZWQoKSkgeworICAgICAgICAgICAg
ICAgIC8vIEV2YWx1YXRlLgorICAgICAgICAgICAgICAgIGdsb2JhbFNjb3BlKCktPnNjcmlwdCgp
LT5saW5rQW5kRXZhbHVhdGVNb2R1bGUoc2NyaXB0RmV0Y2hlci5nZXQoKSwgc291cmNlQ29kZSwg
JmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICAgICAgICAgIGZpbmlzaGVkRXZhbHVhdGluZ1Nj
cmlwdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQogCiAgICAgLy8gRnJlZSB0
aGUgc3RhcnR1cCBkYXRhIHRvIGNhdXNlIGl0cyBtZW1iZXIgdmFyaWFibGUgZGVyZWYncyBoYXBw
ZW4gb24gdGhlIHdvcmtlcidzIHRocmVhZCAoc2luY2UKICAgICAvLyBhbGwgcmVmL2RlcmVmcyBv
ZiB0aGVzZSBvYmplY3RzIGFyZSBoYXBwZW5pbmcgb24gdGhlIHRocmVhZCBhdCB0aGlzIHBvaW50
KS4gTm90ZSB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAppbmRleCA4ODkw
NzkwOGU3YTliODA5ZThmMmE0ZTQ3M2Q3NTJkMTFkMjkzN2MwLi45NTEyZWZkYjE4ZjMyYTUwZWNi
N2ZiNTY5NTlkNjFlODg3MmZhMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmgKQEAgLTI2LDcgKzI2LDEwIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgorI2luY2x1ZGUgIkZldGNoUmVxdWVzdENy
ZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0VGhyZWFkLmgiCisjaW5jbHVk
ZSAiV29ya2VyUnVuTG9vcC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVk
ZSA8d3RmL1VSTC5oPgpAQCAtNjMsNiArNjYsOCBAQCBzdHJ1Y3QgV29ya2VyUGFyYW1ldGVycyB7
CiAgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAg
ICAgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luOwogICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVy
UG9saWN5OworICAgIFdvcmtlclR5cGUgd29ya2VyVHlwZTsKKyAgICBGZXRjaFJlcXVlc3RDcmVk
ZW50aWFscyBjcmVkZW50aWFsczsKICAgICBTZXR0aW5nczo6VmFsdWVzIHNldHRpbmdzVmFsdWVz
OwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRlZENvcHkoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJUeXBlLmgKaW5kZXggMGIwZWQ4NjBkOWM3MTQyMzhhMmE1YmI5ZmRmNDM4
NDAyZDE2ZWJmMC4uMWMxYmI5NDQ4NjdhZGY0ZWQ1NzhhMjgxNGZhMzMyMzI2YWVkOGE1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFdvcmtlclR5cGUgeworZW51bSBjbGFzcyBXb3Jr
ZXJUeXBlIDogdWludDhfdCB7CiAgICAgQ2xhc3NpYywKICAgICBNb2R1bGUsCiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmgKaW5kZXggZWJiZTk1ZTg5MjRjOGYxZDczNzUyNWRlYTE2MzBiMWZhZDU2ZmIyNy4uNGM3
ZGRmNGE0YzEzMWUwZGNkNmJhMDk1MDlhYjJkOTc1NzVmMzBjMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBA
IC00Nyw3ICs0Nyw3IEBAIGNsYXNzIE5hdmlnYXRvckJhc2U7CiBjbGFzcyBTZXJ2aWNlV29ya2Vy
OwogCiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSA6IHVpbnQ4X3Q7Ci1l
bnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVtIGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90Owog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJveHk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9i
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNw
cAppbmRleCBlYzM5YzBmODQ5YTU0ZTFiNmQwYmVlMzRhOGQ3ZDE5Y2JhNDVlMjg4Li5mOTUxMGNi
ZjZmZGY3MDQ2ZjdkMWI5MjIzNjkxNzRkMDFmYTBiZTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCkBAIC0xMTAsNyArMTEw
LDggQEAgdm9pZCBTZXJ2aWNlV29ya2VySm9iOjpmZXRjaFNjcmlwdFdpdGhDb250ZXh0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEYKICAgICBvcHRpb25zLmNhY2hlID0gY2FjaGVQ
b2xpY3k7CiAgICAgb3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6UmVkaXJlY3Q6OkVy
cm9yOwogICAgIG9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9u
OjpTZXJ2aWNld29ya2VyOwotICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHko
Y29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSwgQ29udGVudFNlY3Vy
aXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSwgU2VydmljZVdvcmtlcnNNb2RlOjpO
b25lLCAqdGhpcyk7CisgICAgb3B0aW9ucy5jcmVkZW50aWFscyA9IEZldGNoT3B0aW9uczo6Q3Jl
ZGVudGlhbHM6OlNhbWVPcmlnaW47CisgICAgbV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25v
dXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMpLCBDb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlLCBTZXJ2aWNlV29ya2Vyc01v
ZGU6Ok5vbmUsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKIH0KIAogUmVz
b3VyY2VFcnJvciBTZXJ2aWNlV29ya2VySm9iOjp2YWxpZGF0ZVNlcnZpY2VXb3JrZXJSZXNwb25z
ZShjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9iRGF0YSwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oCmluZGV4IDlk
NTAwZjg1YWNiMTg4NDFjYzU1YmVhODIxMWRiMTRmYWRjOTc0NzUuLjJlMzU1N2ZhN2RmNjdmMWJm
OThjN2I3YTVkZTRiMGE1YTdiY2NjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9u
cy5oCkBAIC0zMiw3ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xhc3Mg
U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIDogdWludDhfdDsKLWVudW0gY2xhc3MgV29ya2Vy
VHlwZTsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3Q7CiAKIHN0cnVjdCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucyB7CiAgICAgU3RyaW5nIHNjb3BlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRo
cmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNl
V29ya2VyVGhyZWFkLmNwcAppbmRleCBjOGE3YTk5NzJmOWNjOGMxNmE3OTY3NTExNTUyZjU0OTNh
Njg2Zjk4Li4zM2NhMGVjMjNiNThhNTUxMTg3Njg0NmJhMDcxODM1MzJiNWM0N2Q1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9T
ZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNzMsOCArNzMsOSBAQCBjbGFzcyBEdW1teVNlcnZp
Y2VXb3JrZXJUaHJlYWRQcm94eSA6IHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSB7CiAvLyBGSVhN
RTogVXNlIGEgdmFsaWQgV29ya2VyT2JqZWN0UHJveHkKIC8vIEZJWE1FOiBVc2UgdmFsaWQgcnVu
dGltZSBmbGFncwogCisvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2VyVHlwZSBhbmQgQ3JlZGVu
dGFpbHMgZm9yIG1vZHVsZSBzZXJ2aWNlIHdvcmtlcnMuCiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpT
ZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwg
U3RyaW5nJiYgdXNlckFnZW50LCBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVl
cywgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiBk
ZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlv
blByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJUaHJl
YWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3b3JrZXI6IiArIElu
c3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1vdmUo
dXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25M
aW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgTW9ub3RvbmljVGltZTo6
bm93KCksIHsgfSwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBk
ZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdv
cmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9wT3Jp
Z2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRiQ29ubmVjdGlvblByb3h5LCBzb2NrZXRQ
cm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkKKyAgICA6IFdv
cmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtl
cjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwg
V1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3ko
KS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBNb25vdG9u
aWNUaW1lOjpub3coKSwgeyB9LCBXb3JrZXJUeXBlOjpDbGFzc2ljLCBGZXRjaFJlcXVlc3RDcmVk
ZW50aWFsczo6U2FtZU9yaWdpbiwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0YS5zY3JpcHQsIGxvYWRl
clByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hh
cmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLnJlZ2lzdHJhdGlvbi5r
ZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRiQ29ubmVjdGlvblByb3h5
LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkK
ICAgICAsIG1fZGF0YShkYXRhLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV93b3JrZXJPYmplY3RQ
cm94eShEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCkpCiAgICAgLCBtX2hl
YXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuY29ubmVjdGlvbigp
LT5zaG91bGRVc2VTaG9ydFRpbWVvdXQoKSA/IGhlYXJ0QmVhdFRpbWVvdXRGb3JUZXN0IDogaGVh
cnRCZWF0VGltZW91dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAppbmRleCAyZGRkYjNiNWI0MWVkODdiZDYxNGEwYjk0
ZDA5Yjc2MTI5M2Q3NjA3Li4zNzhmYmE2NTdlOGJiZjQ4NDFlNTZjYmY4NjU2MWY4ZWNjMzExMDIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlcldvcmtlci5oCkBAIC01MCw3ICs1MCw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xp
ZW50SWRlbnRpZmllcjsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25zOwog
c3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTsKIHN0cnVjdCBTZXJ2aWNlV29ya2VySm9i
RGF0YUlkZW50aWZpZXI7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVtIGNsYXNzIFdvcmtl
clR5cGUgOiB1aW50OF90OwogCiBjbGFzcyBTV1NlcnZlcldvcmtlciA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFNXU2VydmVyV29ya2VyPiB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2xl
dHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCBkNzA0ODg2NjQ4YzBlZmFhNmI3ODA4NGM1
Mzg3MjAxY2EyYjFjNTQzLi4yYWUwZTMzODkxZGJjODlmMTQ2ODdkNDE0ODAyYWFhMTJkMGQ4NGZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAK
QEAgLTE1OCw3MiArMTU4LDcgQEAgUmVmZXJyZXJQb2xpY3kgV29ya2xldEdsb2JhbFNjb3BlOjpy
ZWZlcnJlclBvbGljeSgpIGNvbnN0CiB2b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6ZmV0Y2hBbmRJ
bnZva2VTY3JpcHQoY29uc3QgVVJMJiBtb2R1bGVVUkwsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxz
IGNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4m
Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7
Ci0gICAgbV9zY3JpcHRGZXRjaEpvYnMuYXBwZW5kKHsgbW9kdWxlVVJMLCBjcmVkZW50aWFscywg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikgfSk7Ci0gICAgcHJvY2Vzc05leHRTY3JpcHRGZXRj
aEpvYklmTmVlZGVkKCk7Ci19Ci0KLXZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjpwcm9jZXNzTmV4
dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKQotewotICAgIGlmIChtX3NjcmlwdEZldGNoSm9icy5p
c0VtcHR5KCkgfHwgbV9zY3JpcHRMb2FkZXIpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8m
IHNjcmlwdEZldGNoSm9iID0gbV9zY3JpcHRGZXRjaEpvYnMuZmlyc3QoKTsKLQotICAgIFJlc291
cmNlUmVxdWVzdCByZXF1ZXN0IHsgc2NyaXB0RmV0Y2hKb2IubW9kdWxlVVJMIH07Ci0KLSAgICBG
ZXRjaE9wdGlvbnMgZmV0Y2hPcHRpb25zOwotICAgIGZldGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hP
cHRpb25zOjpNb2RlOjpDb3JzOwotICAgIGZldGNoT3B0aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9u
czo6Q2FjaGU6OkRlZmF1bHQ7Ci0gICAgZmV0Y2hPcHRpb25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRp
b25zOjpSZWRpcmVjdDo6Rm9sbG93OwotICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHNj
cmlwdEZldGNoSm9iLmNyZWRlbnRpYWxzOwotI2lmIEVOQUJMRShXRUJfQVVESU8pCi0gICAgaWYg
KGlzQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUoKSkKLSAgICAgICAgZmV0Y2hPcHRpb25zLmRlc3Rp
bmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6QXVkaW93b3JrbGV0OwotI2VuZGlm
Ci0jaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCi0gICAgaWYgKGlzUGFpbnRXb3JrbGV0R2xv
YmFsU2NvcGUoKSkKLSAgICAgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbjo6UGFpbnR3b3JrbGV0OwotI2VuZGlmCi0KLSAgICBhdXRvIGNvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5KCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9O
b3RFbmZvcmNlIDogQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VDaGls
ZFNyY0RpcmVjdGl2ZTsKLQotICAgIG1fc2NyaXB0TG9hZGVyID0gV29ya2VyU2NyaXB0TG9hZGVy
OjpjcmVhdGUoKTsKLSAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCp0aGlz
LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMpOwotfQot
Ci12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxv
bmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKQotewotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxT
Y29wZTo6bm90aWZ5RmluaXNoZWQoKQotewotICAgIGF1dG8gY29tcGxldGVkSm9iID0gbV9zY3Jp
cHRGZXRjaEpvYnMudGFrZUZpcnN0KCk7Ci0KLSAgICBpZiAobV9zY3JpcHRMb2FkZXItPmZhaWxl
ZCgpKSB7Ci0gICAgICAgIGRpZENvbXBsZXRlU2NyaXB0RmV0Y2hKb2IoV1RGTW92ZShjb21wbGV0
ZWRKb2IpLCBFeGNlcHRpb24geyBBYm9ydEVycm9yLCBtYWtlU3RyaW5nKCJGYWlsZWQgdG8gZmV0
Y2ggbW9kdWxlLCBlcnJvcjogIiwgbV9zY3JpcHRMb2FkZXItPmVycm9yKCkubG9jYWxpemVkRGVz
Y3JpcHRpb24oKSkgfSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBGSVhNRTog
VGhpcyBzaG91bGQgcmVhbGx5IGJlIHJ1biBhcyBhIG1vZHVsZSBzY3JpcHQgYnV0IHdlIGRvbid0
IHN1cHBvcnQgdGhpcyBpbiB3b3JrZXJzIHlldC4KLSAgICBVUkwgbW9kdWxlVVJMKG1fc2NyaXB0
TG9hZGVyLT5yZXNwb25zZVVSTCgpKTsKLSAgICBhdXRvIGFkZFJlc3VsdCA9IG1fZXZhbHVhdGVk
TW9kdWxlcy5hZGQobW9kdWxlVVJMKTsKLSAgICBpZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpIHsK
LSAgICAgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IGV4Y2VwdGlvbjsKLSAgICAgICAgc2Ny
aXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zY3JpcHRMb2FkZXItPnNjcmlwdCgp
LCBXVEZNb3ZlKG1vZHVsZVVSTCkpLCBleGNlcHRpb24pOwotICAgICAgICBpZiAoZXhjZXB0aW9u
KQotICAgICAgICAgICAgc2NyaXB0KCktPnNldEV4Y2VwdGlvbihleGNlcHRpb24pOwotICAgIH0K
LQotICAgIGRpZENvbXBsZXRlU2NyaXB0RmV0Y2hKb2IoV1RGTW92ZShjb21wbGV0ZWRKb2IpLCB7
IH0pOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6ZGlkQ29tcGxldGVTY3JpcHRGZXRj
aEpvYihTY3JpcHRGZXRjaEpvYiYmIGpvYiwgT3B0aW9uYWw8RXhjZXB0aW9uPiByZXN1bHQpCi17
Ci0gICAgbV9zY3JpcHRMb2FkZXIgPSBudWxscHRyOwotCi0gICAgam9iLmNvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUocmVzdWx0KSk7Ci0KLSAgICBwcm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZO
ZWVkZWQoKTsKKyAgICBzY3JpcHQoKS0+bG9hZEFuZEV2YWx1YXRlTW9kdWxlKG1vZHVsZVVSTCwg
Y3JlZGVudGlhbHMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogTWVzc2FnZVBv
cnRDaGFubmVsUHJvdmlkZXImIFdvcmtsZXRHbG9iYWxTY29wZTo6bWVzc2FnZVBvcnRDaGFubmVs
UHJvdmlkZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEds
b2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUu
aAppbmRleCBmMjMyMGYwZDEzMDI1Y2VhYjNiYWM1NmE0NWVjMmQxZGQzZmI2Y2MwLi5mZTU0Yjg1
MzI1Njc5MjU4M2RlZGEwNTVhNDMzYTI1NjU0ZTg2NzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUg
IlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZS5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCIKLSNpbmNs
dWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9Db25zb2xlTWVzc2FnZS5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFn
cy5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgpAQCAtNTQsNyArNTMsNyBA
QCBzdHJ1Y3QgV29ya2xldFBhcmFtZXRlcnM7CiBlbnVtIFdvcmtsZXRHbG9iYWxTY29wZUlkZW50
aWZpZXJUeXBlIHsgfTsKIHVzaW5nIFdvcmtsZXRHbG9iYWxTY29wZUlkZW50aWZpZXIgPSBPYmpl
Y3RJZGVudGlmaWVyPFdvcmtsZXRHbG9iYWxTY29wZUlkZW50aWZpZXJUeXBlPjsKIAotY2xhc3Mg
V29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLCBw
dWJsaWMgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsKK2NsYXNzIFdvcmtsZXRHbG9iYWxTY29w
ZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSB7CiAgICAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRChXb3JrbGV0R2xvYmFsU2NvcGUpOwogcHVibGljOgogICAgIHZpcnR1YWwgfldv
cmtsZXRHbG9iYWxTY29wZSgpOwpAQCAtMTExLDEwICsxMTAsNiBAQCBjbGFzcyBXb3JrbGV0R2xv
YmFsU2NvcGUgOiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3Jr
ZXJTY3JpcAogICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkLCB1bnNpZ25lZCwgUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiYmLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgdW5z
aWduZWQgbG9uZykgZmluYWw7CiAgICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkIGxvbmcpIGZpbmFsOwog
Ci0gICAgLy8gV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LgotICAgIHZvaWQgZGlkUmVjZWl2ZVJl
c3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYp
IGZpbmFsOwotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoKSBmaW5hbDsKLQogICAgIEV2ZW50VGFy
Z2V0KiBlcnJvckV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZXR1cm4gdGhpczsgfQogCiAjaWYgRU5B
QkxFKFdFQl9DUllQVE8pCkBAIC0xMjUsMTUgKzEyMCw2IEBAIGNsYXNzIFdvcmtsZXRHbG9iYWxT
Y29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSwgcHVibGljIFdvcmtlclNj
cmlwCiAgICAgU3RyaW5nIHVzZXJBZ2VudChjb25zdCBVUkwmKSBjb25zdCBmaW5hbDsKICAgICBj
b25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fc2V0dGluZ3NWYWx1ZXM7IH0KIAotICAgIHN0cnVjdCBTY3JpcHRGZXRjaEpvYiB7Ci0g
ICAgICAgIFVSTCBtb2R1bGVVUkw7Ci0gICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNy
ZWRlbnRpYWxzOwotICAgICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2Vw
dGlvbj4mJik+IGNvbXBsZXRpb25IYW5kbGVyOwotICAgIH07Ci0KLSAgICB2b2lkIHByb2Nlc3NO
ZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCgpOwotICAgIHZvaWQgZGlkQ29tcGxldGVTY3JpcHRG
ZXRjaEpvYihTY3JpcHRGZXRjaEpvYiYmLCBPcHRpb25hbDxFeGNlcHRpb24+KTsKLQogICAgIFdl
YWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7CiAKICAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IG1f
dG9wT3JpZ2luOwpAQCAtMTQ0LDkgKzEzMCw2IEBAIGNsYXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6
IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSwgcHVibGljIFdvcmtlclNjcmlwCiAK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI+IG1f
bWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI7CiAKLSAgICBSZWZQdHI8V29ya2VyU2NyaXB0TG9h
ZGVyPiBtX3NjcmlwdExvYWRlcjsKLSAgICBEZXF1ZTxTY3JpcHRGZXRjaEpvYj4gbV9zY3JpcHRG
ZXRjaEpvYnM7Ci0gICAgSGFzaFNldDxVUkw+IG1fZXZhbHVhdGVkTW9kdWxlczsKICAgICBTZXR0
aW5nczo6VmFsdWVzIG1fc2V0dGluZ3NWYWx1ZXM7CiB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmI5YTUyYjdkZjcz
MWU2NjVjNGYxMDI2ZDhhYzE5MzlhNGE4ODJhMy4uYjYxODlmMzgzNWM5MWM2MjE2MzI3MThkZTI5
NzFmYTU3NWZmYjM5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTAyLTExICBZdXN1a2Ug
U3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBXb3Jr
ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4
NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDItMTAgIEFtaXIgTWFyayBKciAgPGFtaXJfbWFya0Bh
cHBsZS5jb20+CiAKICAgICAgICAgW01hY09TXSBhbmltYXRpb25zL2tleWZyYW1lLXBzZXVkby1z
aGFkb3cuaHRtbCBpcyBmbGFrZXkgZmFpbGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IGQzMGU1NjI5MjJlNWE0ZDZmMzE2MjY1ZTFlYTI1NjhlOTllN2U4MWMuLmE1MjQ2NDU2
ZTYxYmM1YTcwODBkZDUzNGQyZGJlNTMzYjY1ZGZmNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTAyLTExICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1t
b2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2Nv
cGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9i
YXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29y
a2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9y
ZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3Jp
cHRzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0
U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94
aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2Jh
bFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9u
L3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnkt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0
LWZhaWx1cmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC1tZXRhLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVk
ZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRp
by13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3Rl
ZC50eHQ6CisKIDIwMjEtMDItMTAgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxp
YS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG1vZGlmaWVyIGtleXMgaW4gdGVzdF9k
cml2ZXIuc2VuZF9rZXlzKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGU4ZDE3YjA3NzUyZDFlN2Yx
Mjg3NDYzMGQ3OWMxZTJhZWE0ZWQyMzYuLmUxYWNjMjUwYjZkMzdmZWVhMWQyMWFiZGNkMWYyMTcz
ODJmYTNkOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjQyLDcgKzY0Miw2IEBAIGZhc3QvZG9t
L2Nvbm5lY3RlZC1zdWJmcmFtZS1jb3VudGVyLW92ZXJmbG93Lmh0bWwgWyBTbG93IF0KIFsgRGVi
dWcgXSBodHRwL3Rlc3RzL3dvcmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0LTIuaHRtbCBbIFNsb3cg
XQogCiAjIFNraXAgd29ya2VycyB0ZXN0cyB0aGF0IGFyZSB0aW1pbmcgb3V0IG9yIGFyZSBTaGFy
ZWRXb3JrZXIgcmVsYXRlZCBvbmx5Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi5odG1sIFsgU2tpcCBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZGF0YS11cmwtc2hhcmVkLmh0bWwg
WyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9leGFtcGxl
cy9vbmNvbm5lY3QuYW55Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9leGFtcGxlcy9vbmNvbm5lY3QuYW55Lndvcmtlci5odG1sIFsgU2tpcCBd
CkBAIC02NjUsNyArNjY0LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL1NoYXJlZFdvcmtlci1yZXBsYWNlLUV2ZW50SGFuZGxlci5hbnkuaHQKIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9TaGFyZWRXb3JrZXItcmVwbGFjZS1FdmVudEhh
bmRsZXIuYW55Lndvcmtlci5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyLXNjcmlwdC1lcnJvci5odG1sIFsgU2tpcCBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyLXNpbXBs
ZS5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci5odG1sIFsgU2tpcCBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLW9wdGlvbnMtY3JlZGVudGlhbHMuaHRtbCBbIFNraXAgXQogCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlciBbIFNr
aXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1t
b2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRlbnRh
dGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA0OTI2OWIzYjUwYjkxNzVjYjYyZWNh
MzEyZTU4NmIzYjE2NjJhMjU5Li4yY2FlNWY3ZTM1YTMyZmVjZWIyNjhmMjkwMDAwZTRlNTU1NmM2
ODYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1v
ZHVsZS9ub24tb2JqZWN0LnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRl
bnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAotRkFJTCBO
b24tb2JqZWN0OiBudWxsIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vbnVsbC5q
c29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6IHRydWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1v
ZHVsZSAnLi90cnVlLmpzb24nLiIKLUZBSUwgTm9uLW9iamVjdDogZmFsc2UgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5v
dCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9mYWxzZS5qc29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6IHN0
cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL3N0cmluZy5qc29uJy4iCi1G
QUlMIE5vbi1vYmplY3Q6IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4v
YXJyYXkuanNvbicuIgorRkFJTCBOb24tb2JqZWN0OiBudWxsIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9u
L2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9i
amVjdDogdHJ1ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZh
U2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGZhbHNlIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxp
Y2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwg
Tm9uLW9iamVjdDogc3RyaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZh
bGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVjdDogYXJyYXkgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUu
IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rh
c2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9j
aGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVk
LnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi5mNjhj
YzczYjRkNjc0YzU0ZGZhZmU1MjIxMmI2NDNjNDAzMGZkNDJjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29y
a2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3Jr
ZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBA
CiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitGQUlMIFByb21p
c2UgcmVzb2x2ZWQgZHVyaW5nICNyZXBvcnQtdGhlLWVycm9yIGFzc2VydF9hcnJheV9lcXVhbHM6
IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbImhhbmRsZXIgMSIsICJoYW5kbGVyIDIi
LCAiaGFuZGxlciAxIHByb21pc2UiLCAiaGFuZGxlciAyIHByb21pc2UiXSBsZW5ndGggNCwgZ290
IFtdIGxlbmd0aCAwCitQQVNTIFByb21pc2UgcmVzb2x2ZWQgZHVyaW5nIGV2ZW50IGhhbmRsZXJz
IG90aGVyIHRoYW4gZXJyb3IKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBv
cnRTY3JpcHRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0
cy1leHBlY3RlZC50eHQKaW5kZXggNTFkNjEwMGU2MTIyYTk3YzM2NGIzY2ViMWQ3ZmQwN2UwZTE1
NjExNy4uYTgwNTBjMDc4Y2Y4Yjg4ZDU2OGFmZmUwZDU1Y2MzMTkwYzM2NTQ3YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0
L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxw
aGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEs
NiBAQAogCi1GQUlMIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gc2FtZS1vcmlnaW4gaW1wb3J0U2Ny
aXB0cygpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vaW1wb3J0LmpzP3BpcGU9
aGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1yZWxhdGl2ZS1jcm9z
cy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpJy4iCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZyb20g
c2FtZS1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1
bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2dhbW1hL2ltcG9ydC5qcz9waXBl
PWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9YWJzb2x1dGUtY3Jv
c3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgotUEFTUyBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9t
IGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKLUZBSUwgQWJzb2x1dGUgVVJMLWxpa2UgZnJv
bSBjcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBt
b2R1bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2dhbW1hL2ltcG9ydC5qcz9w
aXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9YWJzb2x1dGUt
Y3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgorUEFTUyBSZWxhdGl2ZSBVUkwtbGlrZSBm
cm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQorUEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBm
cm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQorRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBm
cm9tIGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkgYXNzZXJ0X2VxdWFsczogUmVsYXRpdmUg
VVJMLWxpa2Ugc3BlY2lmaWVyIHJlc29sdXRpb24gc2hvdWxkIGZhaWwgZXhwZWN0ZWQgIih1bnJl
YWNoZWQpIiBidXQgZ290ICJnYW1tYS9pbXBvcnQuanMiCitQQVNTIEFic29sdXRlIFVSTC1saWtl
IGZyb20gY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFz
ZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1l
eHBlY3RlZC50eHQKaW5kZXggODY2ZWJiMjI3YWQyNmFhY2UxYTU3OGJhZWE2YTgxZGMwZTZlNzdm
MC4uNWU3MDYzNDkwZTJkZmZlY2U4NWVhNzY1YWViZGRlNGIxNmViMGZjMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2Fs
cGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13
b3JrZXIuc3ViLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBSZWxhdGl2ZSBV
UkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0
IHRoZSBtb2R1bGUgJy4vaW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93
LU9yaWdpbiwqKSZsYWJlbD1yZWxhdGl2ZS13b3JrZXIgdG9wLWxldmVsIHNjcmlwdCcuIgotRkFJ
TCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3Vs
ZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0
L2dhbW1hL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4s
KikmbGFiZWw9YWJzb2x1dGUtd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQnLiIKK1BBU1MgUmVsYXRp
dmUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdAorUEFTUyBBYnNvbHV0ZSBV
UkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90
aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQK
aW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQy
ZmFkMjI0ZTNhMThhNmZiNWQ4NDgzMjVlYTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdv
cmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAot
CitQQVNTIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEt
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21v
ZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3
NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi5iODYxZjcwMWY5NDhmYjEzMjc2OTMy
MmMzODM2NmYyZDEzOGYwNGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3Jk
ZXItMS13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9y
IChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBUZXN0IGV2YWx1YXRpb24gb3JkZXIg
b2YgbW9kdWxlcyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQg
YXJyYXkgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJnbG9iYWwtZXJyb3IiLCAiZXJyb3IiLCAi
bWljcm90YXNrIl0gbGVuZ3RoIDUsIGdvdCBbInN0ZXAtMS0xIiwgInN0ZXAtMS0yIiwgIm1pY3Jv
dGFzayJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1v
cmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJm
OTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLmMxZDM4YmRlNTBjNTllNWQ1OTQxNzNkOTZmOWNkMTll
YjEwN2M5YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21v
ZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXIt
Mi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9y
ZGVyIG9mIG1vZHVsZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVj
dGVkIGFycmF5IFsic3RlcC0yLjItMSIsICJzdGVwLTIuMi0yIiwgImdsb2JhbC1lcnJvciIsICJl
cnJvciIsICJtaWNyb3Rhc2stMi4yIl0gbGVuZ3RoIDUsIGdvdCBbInN0ZXAtMi4yLTEiLCAic3Rl
cC0yLjItMiIsICJtaWNyb3Rhc2stMi4yIl0gbGVuZ3RoIDMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5h
bWljLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dApp
bmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi4yZjEyYTIzNDJm
YWQyMjRlM2ExOGE2ZmI1ZDg0ODMyNWVhNjc3NmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29y
a2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9t
b2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0K
K1BBU1MgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50
eHQKaW5kZXggMTJkOTRhOTFlZjFmOGFiMGExODdjNzQ5YjBkZGVjNjk2ZDExODhlNy4uYjRkNjhh
ZjA1NmVlZjYyMmEzM2Q1NGYwNzZmMzgxZDRlMWJiMjlhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0yLDggKzIsOCBAQAogRkFJTCBTdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBh
cmd1bWVudC4iCiBGQUlMIE5lc3RlZCBzdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBh
cmd1bWVudC4iCiBGQUlMIFN0YXRpYyBpbXBvcnQgYW5kIHRoZW4gZHluYW1pYyBpbXBvcnQuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBpbXBvcnQuIGFzc2VydF9h
cnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9y
OiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxvYWQtc2NyaXB0Lmpz
Jy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuIGFzc2VydF9h
cnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9y
OiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWR5bmFtaWMtaW1wb3J0
LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgRHluYW1pYyBpbXBvcnQgYW5kIHRo
ZW4gc3RhdGljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0
byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAn
Li9leHBvcnQtb24tc3RhdGljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1G
QUlMIGV2YWwoaW1wb3J0KCkpLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVk
IHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxl
ICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKK1BBU1MgRHlu
YW1pYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBp
bXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1
cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZGQ5YWYz
OGZmMDlmYmVjMWZhYzBiOGY1ZWE5YmFkNmUzMTYzNjQ5ZC4uNTFlYjM2NjM4YzFjYTdkMDYwYjc2
NzU5MjZmY2M3MGM1YmYwNzZlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVs
ZXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVsZXdvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ3InLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0
bHkgb25lIGFyZ3VtZW50LgogCi1GQUlMIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29y
a2VyczogaW1wb3J0IGFzc2VydF91bnJlYWNoZWQ6IEdvdCBlcnJvciBldmVudCBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK1BBU1MgQmFzZSBVUkwgaW4gbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJz
OiBpbXBvcnQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQu
dHh0CmluZGV4IGFiNWE3ZmI4OTAyMGYyOWZkODkzYTc1NjgwZmZlMTdkM2QzNTBmN2MuLmFiNTNi
ODA1OTlhZTAxOTU3ODA4NWVlNDRhYWVmYTRjNzk1NTI2ODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhh
L2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBv
cnRTY3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
aW1wb3J0U2NyaXB0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWEvc2NyaXB0LmpzIiBi
dXQgZ290ICJiZXRhL3NjcmlwdC5qcyIKK1BBU1MgaW1wb3J0U2NyaXB0cwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFz
ZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3ho
ci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDgzZjM2N2YyY2YzYTY2YzY0YTYy
NjQyOTQ2NTZkNWU4ODFkMWMxMWMuLjI4YjBjYjQwMDEzOTJkMDg4N2E0ZmViZTY4MWMxZTE1MWQw
ZGYxOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsMyBAQAogCi1GQUlMIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2Vyczog
WEhSIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYVxuIiBidXQgZ290ICJiZXRhXG4iCitQ
QVNTIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VyczogWEhSCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9i
YXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWlu
LXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZDZiMDhlZWRhZTZmNjk2YzdhNGJmYTY1NWUxM2I1
ZWQ0NjA3ZWEwMS4uZWExNDU0ZDliM2YyMGY4NWQ5MDE2YzUwNmExNTQ2YWY2MTc4NDJkMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxw
aGEveGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgeGhy
LXdvcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWFcbiIgYnV0IGdvdCAiYmV0YVxu
IgorUEFTUyB4aHItd29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3Jp
Z2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4
dAppbmRleCA4MzFmMGM1OGM2OTRjMmQ0ZmViZDZkOGQwYWYzMDdiMTA5NDQyYTZlLi5kNTU1ZWU3
Y2YzZmM3MmVmYjgyZGY5ZGI3ZGFkMzY3ZjlhYjdmZmJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dv
cmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1v
cmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDExIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCiBQQVNTIHVuc3VwcG9ydGVkX3NjaGVtZQogRkFJTCBk
YXRhX3VybCBUaGUgb3BlcmF0aW9uIGlzIGluc2VjdXJlLgotVElNRU9VVCBhYm91dF9ibGFuayBU
ZXN0IHRpbWVkIG91dAotVElNRU9VVCBleGFtcGxlX2ludmFsaWQgVGVzdCB0aW1lZCBvdXQKLVRJ
TUVPVVQgcG9ydF84MSBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBodHRwc19wb3J0XzgwIFRlc3Qg
dGltZWQgb3V0Ci1USU1FT1VUIGh0dHBzX3BvcnRfODAwMCBUZXN0IHRpbWVkIG91dAotVElNRU9V
VCBodHRwX3Bvc3RfODAxMiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBqYXZhc2NyaXB0X3VybCBU
ZXN0IHRpbWVkIG91dAorUEFTUyBhYm91dF9ibGFuaworUEFTUyBleGFtcGxlX2ludmFsaWQKK1BB
U1MgcG9ydF84MQorUEFTUyBodHRwc19wb3J0XzgwCitQQVNTIGh0dHBzX3BvcnRfODAwMAorUEFT
UyBodHRwX3Bvc3RfODAxMgorUEFTUyBqYXZhc2NyaXB0X3VybAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNl
cy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNl
cy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQKaW5kZXgg
ZjE3NDFmOWQ4YmYwNzAzMjcwZDJlMzc2MmRiY2JlMjZjMGI5MDA1OS4uM2IwZGZiMzVlNTFjZDFh
ODU0NTUzMDE5YzBlNDAzZGJlMmYxZDMzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFs
U2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckds
b2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogY2xhc3NpYyBkZWRpY2F0ZWQg
d29ya2VycyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dv
cmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9wb3N0LWxvY2F0aW9u
LW1lbWJlcnMuanM/YSIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9oZWxwZXItcmVkaXJlY3QucHk/ZmFp
bCIKK1BBU1MgV29ya2VyTG9jYXRpb24gd2l0aCByZWRpcmVjdHM6IGNsYXNzaWMgZGVkaWNhdGVk
IHdvcmtlcnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24v
cmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xv
Y2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXggZGMyZTJlMjA3ZGIwMDFl
ZTcwZTczMzA3ZDI3YmIzMzU3MjBmZDU1OS4uYjNiZjgxZWU4NjgxYjlkYzA4MGY1ODAyNzFlOGI4
ZjM5MDk2NTQ5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24v
cmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29w
ZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBtb2R1bGUgZGVkaWNhdGVkIHdv
cmtlcnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3Jr
ZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcG9zdC1sb2NhdGlvbi1t
ZW1iZXJzLmpzP2EiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVy
ZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5P2ZhaWwi
CitQQVNTIFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBtb2R1bGUgZGVkaWNhdGVkIHdv
cmtlcnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwu
YW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFu
eS1leHBlY3RlZC50eHQKaW5kZXggMjBhYzE3ZDU2M2M0YjNhNDYxZjBjYWFmYmVhZWViZDcxM2Y5
NzA4MS4uZGNjZWRjY2QzNjhlMWZmMTdiMWRkMTM2ZTQ1M2ZlYzRmZTEwYmM4MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21v
ZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0
CkBAIC0xLDE4ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBl
eGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxs
IGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29y
a2Vycy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0aWMtaW1wb3J0LWFuZC10aGVuLWR5bmFtaWMtaW1w
b3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
Ci1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFs
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWlj
LWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3Vt
ZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0
ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVz
dGVkLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3Rs
eSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jl
c291cmNlcy9keW5hbWljLWltcG9ydC1hbmQtdGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIu
IGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NB
R0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxo
b3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9ldmFsLWR5bmFtaWMtaW1wb3J0LXdv
cmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKLUhh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3Ry
aW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3Vy
Y2VzL2R5bmFtaWMtaW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1w
b3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLQotRkFJTCBTdGF0aWMgaW1w
b3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAw
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvc3RhdGljLWltcG9ydC13b3JrZXIuanNcIi4gaW1w
b3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIE5lc3RlZCBzdGF0
aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9z
dDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLXN0YXRpYy1pbXBvcnQtd29y
a2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJ
TCBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0
cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNv
dXJjZXMvc3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWltcG9ydC13b3JrZXIuanNcIi4g
aW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIER5bmFtaWMg
aW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4
ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIu
IGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQg
ZHluYW1pYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgXCJodHRwOi8vbG9j
YWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9uZXN0ZWQtZHluYW1pYy1pbXBv
cnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
IgotRkFJTCBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxl
cy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtYW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIu
anNcIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIGV2
YWwoaW1wb3J0KCkpLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXZhbC1keW5hbWljLWltcG9ydC13
b3JrZXIuanNcIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCitQ
QVNTIFN0YXRpYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBzdGF0aWMgaW1wb3J0LgorUEFTUyBTdGF0
aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBEeW5hbWljIGltcG9ydC4K
K1BBU1MgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBEeW5hbWljIGltcG9ydCBhbmQgdGhl
biBzdGF0aWMgaW1wb3J0LgorUEFTUyBldmFsKGltcG9ydCgpKS4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMv
ZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQKaW5kZXggMWRhNDZiOTI2YmUwODk2ZWU4Zjc1
YTc4ZGNhZTRmMjY5YjA1MDkyYi4uMjM5Y2M5Y2UxNTMwMWY3ZWVkODNkNWViMjIzMGE5ZGUyOTRl
YTJlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1jc3AtZXhwZWN0ZWQudHh0CkBA
IC0xLDEzICsxLDIyIEBACiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNl
Y3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxl
cy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiBDT05TT0xFIE1FU1NBR0U6IFVu
cmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMn
LgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9z
dDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0Lmpz
CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5
NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCitC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQz
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiBDT05T
T0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3Rp
dmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6
Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9u
LWxvYWQtc2NyaXB0LmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNl
Y3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxl
cy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCitCbG9ja2VkIGFjY2VzcyB0byBl
eHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9y
ZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNv
dXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2du
aXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQz
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiAKIFBB
U1Mgd29ya2VyLXNyYyAnc2VsZicgZGlyZWN0aXZlIHNob3VsZCBkaXNhbGxvdyBjcm9zcyBvcmln
aW4gc3RhdGljIGltcG9ydC4KIEZBSUwgd29ya2VyLXNyYyAqIGRpcmVjdGl2ZSBzaG91bGQgYWxs
b3cgY3Jvc3Mgb3JpZ2luIHN0YXRpYyBpbXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IGV4cGVj
dGVkIHByb3BlcnR5IDAgdG8gYmUgImV4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcyIgYnV0IGdvdCAi
RVJST1IiIChleHBlY3RlZCBhcnJheSBbImV4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcyJdIGdvdCBb
IkVSUk9SIl0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0
ZWQudHh0CmluZGV4IDk1YzZkMTVkZjQ0ZTE4YTM1ZGZlYjBmYTM5YzhkMzg0NDIwYzJjMTMuLmU5
NTU3OGU3MWIxYzUwYTRlMDQ3MWIwMzcxNTRiMzg2YjM3YWVkNzQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsOSBAQAot
Q09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAn
Li9ub24tZXhpc3RlbnQtc2NyaXB0LmpzJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9u
ZSBhcmd1bWVudC4KK0NPTlNPTEUgTUVTU0FHRTogSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBm
YWlsZWQuCiAKLUZBSUwgaW1wb3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3b3JrZXIgc2hvdWxkIHRo
cm93IGFuIGV4Y2VwdGlvbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlR5cGVFcnJvciIgYnV0
IGdvdCAiTE9BREVEIgorUEFTUyBpbXBvcnRTY3JpcHRzKCkgb24gbW9kdWxlIHdvcmtlciBzaG91
bGQgdGhyb3cgYW4gZXhjZXB0aW9uLgogUEFTUyBXb3JrZXIgY29uc3RydWN0aW9uIGZvciBub24t
ZXhpc3RlbnQgc2NyaXB0IHNob3VsZCBkaXNwYXRjaCBhbiBFcnJvckV2ZW50LgogUEFTUyBTdGF0
aWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCBkaXNwYXRjaCBhbiBFcnJv
ckV2ZW50LgotRkFJTCBEeW5hbWljIGltcG9ydCBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91
bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVHlwZUVycm9y
IiBidXQgZ290ICJFcnJvciIKK1BBU1MgRHluYW1pYyBpbXBvcnQgZm9yIG5vbi1leGlzdGVudCBz
Y3JpcHQgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIFBBU1MgV29ya2VyIGNvbnN0cnVjdGlv
biBmb3IgYW4gaW52YWxpZCBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIFBBU1MgV29y
a2VyIGNvbnN0cnVjdGlvbiBmb3IgYSBmaWxlIFVSTCBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9u
LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0CmluZGV4
IGQ1ODA2MjA0MWMzZTY5NTE1YjgxNWUwMmQ3YzM4Njg0ZDc3Yzc2YjcuLjc3MjkxYmFhMWE0MTg0
YmViZTdhZDdiNWQ5ZjExOWM3MWE3OGRlNGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3Jr
ZXItaW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1w
b3J0LW1ldGEtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNSBAQAotQ09OU09MRSBNRVNTQUdFOiBT
eW50YXhFcnJvcjogaW1wb3J0Lm1ldGEgaXMgb25seSB2YWxpZCBpbnNpZGUgbW9kdWxlcy4KIAot
SGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjogaW1wb3J0Lm1ldGEg
aXMgb25seSB2YWxpZCBpbnNpZGUgbW9kdWxlcy4KLQotRkFJTCBUZXN0IGltcG9ydC5tZXRhLnVy
bCBvbiB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkg
dmFsaWQgaW5zaWRlIG1vZHVsZXMuIgotRkFJTCBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUg
aW1wb3J0ZWQgbW9kdWxlIHNjcmlwdC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCi1GQUlMIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2Ny
aXB0IHdpdGggYSBmcmFnbWVudC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitQQVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlw
dC4KK1BBU1MgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3Jp
cHQuCitQQVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2Ny
aXB0IHdpdGggYSBmcmFnbWVudC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1p
bXBvcnQtbWV0YS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1sCmlu
ZGV4IGNmZjhlOTE0ODhlODIzOWFiZTIxMzYxOWQxMmQ1YTYwMzA3MmZiZWEuLmVkZTI2OTJlMWM2
MzQxYmVmZmM5MDEwYzQxYjhmNGNmZTQzODMyOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItaW1wb3J0LW1ldGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1t
ZXRhLmh0bWwKQEAgLTUzLDcgKzUzLDcgQEAKICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKCcu
LycgKyBzY3JpcHRfdXJsICsgJyMxJyk7CiAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHdvcmtlci5vbm1lc3NhZ2UgPSByZXNvbHZlKTsKICAgICAgIH0pCi0gICAgICAudGhl
bihtc2dfZXZlbnQgPT4gYXNzZXJ0X3RydWUobXNnX2V2ZW50LmRhdGEuZW5kc1dpdGgoc2NyaXB0
X3VybCkpKTsKKyAgICAgIC50aGVuKG1zZ19ldmVudCA9PiBhc3NlcnRfdHJ1ZShtc2dfZXZlbnQu
ZGF0YS5lbmRzV2l0aChzY3JpcHRfdXJsICsgJyMxJykpKTsKIH0sICdUZXN0IGltcG9ydC5tZXRh
LnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJhZ21lbnQuJyk7CiAK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJy
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDZkYzQyYzFjZmQzMzQ4YWZkZDFkZmQzYjEwYTUwNDcwNTUzMDE5NmEu
LmZlMWI5ZDkzYzA4MDExYjUwZTk0MWY0ZTEyMzYwNjdhYmJkM2YyM2UgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQKQEAgLTEsMTkgKzEs
MjMgQEAKLQotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCitCbG9ja2Vk
IGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtl
cnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQg
YWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vy
cy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFj
Y2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMv
bW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNj
ZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9t
b2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CiAKIFBBU1MgU2FtZS1v
cmlnaW4gdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQgbG9hZGluZyB3aXRoICJuby1yZWZlcnJlciIg
cmVmZXJyZXIgcG9saWN5CiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0
IGxvYWRpbmcgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kKIFBBU1MgU2FtZS1vcmlnaW4g
dG9wLWxldmVsIG1vZHVsZSBzY3JpcHQgbG9hZGluZyB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJy
ZXIgcG9saWN5Ci1GQUlMIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAibm8tcmVmZXJy
ZXIiIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotRkFJTCBTYW1lLW9yaWdp
biBzdGF0aWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5
cGUgZXJyb3IiCi1GQUlMIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2FtZS1vcmln
aW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgorUEFTUyBTYW1lLW9yaWdp
biBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuCitQQVNT
IFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3ku
CitQQVNTIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVy
cmVyIHBvbGljeS4KIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAibm8tcmVm
ZXJyZXIiIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgogRkFJTCBDcm9zcy1v
cmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBUeXBlIGVycm9yIgogRkFJTCBDcm9zcy1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJzYW1l
LW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCi1USU1FT1VUIFNh
bWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xp
Y3kuIFRlc3QgdGltZWQgb3V0Ci1OT1RSVU4gU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0
aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gU2FtZS1vcmlnaW4gZHluYW1pYyBp
bXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KLU5PVFJVTiBDcm9zcy1v
cmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeS4K
LU5PVFJVTiBDcm9zcy1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJl
ciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggInNhbWUt
b3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCitGQUlMIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0
IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICIiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2R5bmFtaWMtaW1wb3J0LXNhbWUtb3JpZ2luLXJlZmVycmVyLWNoZWNrZXItd29ya2Vy
LmpzIgorRkFJTCBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVy
cmVyIHBvbGljeS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3Vy
Y2VzL2R5bmFtaWMtaW1wb3J0LXNhbWUtb3JpZ2luLXJlZmVycmVyLWNoZWNrZXItd29ya2VyLmpz
IgorUEFTUyBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVm
ZXJyZXIgcG9saWN5LgorRkFJTCBDcm9zcy1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAibm8t
cmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgorRkFJTCBDcm9z
cy1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogVHlwZSBlcnJvciIKK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGgg
InNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQKaW5kZXggYTIzYTU1NzVk
YjQyNzQyN2Y4NWJkNmI2MzU0ZGU4ODM4MzFmZTJiNC4uZGNjZWRjY2QzNjhlMWZmMTdiMWRkMTM2
ZTQ1M2ZlYzRmZTEwYmM4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQu
YW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhw
ZWN0ZWQudHh0CkBAIC0xLDE0ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFy
Z3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
KicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1F
U1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3Nh
Z2UgPSBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVj
dHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
IgotRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBTdGF0aWMgaW1w
b3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1w
b3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIER5bmFtaWMgaW1w
b3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMg
aW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1s
b2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1w
b3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMg
aW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1k
eW5hbWljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIER5bmFtaWMg
aW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVl
IGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0
IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLXN0YXRpYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBl
Y3RlZCBhcnJheQotRkFJTCBldmFsKGltcG9ydCgpKS4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFs
dWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBv
cnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFy
cmF5CitQQVNTIFN0YXRpYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBzdGF0aWMgaW1wb3J0LgorUEFT
UyBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBEeW5hbWljIGlt
cG9ydC4KK1BBU1MgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBEeW5hbWljIGltcG9ydCBh
bmQgdGhlbiBzdGF0aWMgaW1wb3J0LgorUEFTUyBldmFsKGltcG9ydCgpKS4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21v
ZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0CmluZGV4IGRhMGU0ZWI2NzU4
ZDE0YTM3YTM5OGQwYjZmYzcxYWQzODc2YmQyNmIuLjFmYzBjNjZmZGY3MjRjMmFhM2I5MTA2OTgw
YmZiZTdlOTg4Zjk3NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10
eXBlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1l
eHBlY3RlZC50eHQKQEAgLTIsMTEgKzIsNiBAQAogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rp
b24gd2l0aCB0aGUgZGVmYXVsdCB3b3JrZXIgdHlwZS4KIFBBU1MgVGVzdCB3b3JrZXIgY29uc3Ry
dWN0aW9uIHdpdGggdGhlICJjbGFzc2ljIiB3b3JrZXIgdHlwZS4KIFBBU1MgVGVzdCB3b3JrZXIg
Y29uc3RydWN0aW9uIHdpdGggdGhlICJtb2R1bGUiIHdvcmtlciB0eXBlLgotRkFJTCBUZXN0IHdv
cmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiBlbXB0eSB3b3JrZXIgdHlwZS4gYXNzZXJ0X3Rocm93
c19qczogV29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIGVtcHR5IHR5cGUgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgICBuZXcgV29ya2VyKCdyZXNv
dXJjZXMvcG9zdC1tZXNzYWdlLW9uLWxvYWQtd29ya2VyLmpzJywgeyB0eXBlOiAnJyB9KTsKLSAg
ICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGgg
YW4gdW5rbm93biB3b3JrZXIgdHlwZS4gYXNzZXJ0X3Rocm93c19qczogV29ya2VyIGNvbnN0cnVj
dGlvbiB3aXRoIGFuIHVua25vd24gdHlwZSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uIGZ1bmN0
aW9uICIoKSA9PiB7Ci0gICAgICAgIG5ldyBXb3JrZXIoJ3Jlc291cmNlcy9wb3N0LW1lc3NhZ2Ut
b24tbG9hZC13b3JrZXIuanMnLAotICAgICAgICAgICAgICAgICAgIHsgdHlwZTogJ3Vua25vd24n
IH0pOwotICAgICAgfSIgZGlkIG5vdCB0aHJvdworUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rp
b24gd2l0aCBhbiBlbXB0eSB3b3JrZXIgdHlwZS4KK1BBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0
aW9uIHdpdGggYW4gdW5rbm93biB3b3JrZXIgdHlwZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRl
ZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQKaW5kZXggZThlYjU0MGJk
MzM5MjQwMGE4ZGJmZDkzODY0OGE2NDkyMzljMGQ5ZS4uZDFhNTBmN2VhM2NkNmRjMjk4ZWY3NTQx
NDc3NjJjNjljNTdkNzNiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1l
cnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNl
LWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsMTQgQEAKLUNPTlNPTEUgTUVT
U0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgorQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnOycKK0NPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJzsnCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gRXJyb3I6
IGFzc2VydF9pbXBsZW1lbnRzOiBTdGF0aWMgaW1wb3J0IG11c3QgYmUgc3VwcG9ydGVkIG9uIG1v
ZHVsZSBkZWRpY2F0ZWQgd29ya2VyIHRvIHJ1biB0aGlzIHRlc3QuIHVuZGVmaW5lZAotCi1OT1RS
VU4gTW9kdWxlIHdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJv
ciBzaG91bGQgZGlzcGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuCi1OT1RSVU4gU3RhdGljIGlt
cG9ydCBvbiBtb2R1bGUgd29ya2VyIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxk
IGRpc3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9yLgorRkFJTCBNb2R1bGUgd29ya2VyIGNvbnN0
cnVjdGlvbiBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBhbiBl
dmVudCBuYW1lZCBlcnJvci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0
aW9uIEV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1
bmN0aW9uIEVycm9yRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKK0ZBSUwgU3RhdGlj
IGltcG9ydCBvbiBtb2R1bGUgd29ya2VyIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hv
dWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9yLiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCBmdW5jdGlvbiAiZnVuY3Rpb24gRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgYnV0
IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gRXJyb3JFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVd
Cit9IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBl
Y3RlZC50eHQKaW5kZXggNjM5ODQ3MTIxNDU5YTdhYjM3YjlmMDlhNjhiYTY0ZWE4YTllZDU3Yy4u
ZTk0Njk0N2IxNGFlZjNlNTI5OWEwYWJhM2FlNGIxY2Y5ZmNkOTU3MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJv
cGVydHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsx
LDggQEAKIENPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUZBSUwgVGVz
dCB0aGUgbmFtZSBwcm9wZXJ0eSBvZiBzaGFyZWQgYW5kIGRlZGljYXRlZCB3b3JrZXJzIHZpYSB0
aGUgbmFtZSBjb25zdHJ1Y3RvciBvcHRpb24gQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCi1QQVNTIERlY2xhcmluZyBuYW1lIGFzIGFuIGFjY2lkZW50YWwgZ2xvYmFsIG11c3Qgbm90
IGNhdXNlIGEgaGFybmVzcyBlcnJvciBmb3IgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKK0hh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVjdGlvbjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKIFBBU1MgbmFtZSBwcm9wZXJ0eSB2YWx1ZSBm
b3IgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKIFBBU1MgbmFtZSBwcm9wZXJ0eSBpcyByZXBs
YWNlYWJsZSBmb3IgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKK1BBU1MgRGVjbGFyaW5nIG5h
bWUgYXMgYW4gYWNjaWRlbnRhbCBnbG9iYWwgbXVzdCBub3QgY2F1c2UgYSBoYXJuZXNzIGVycm9y
IGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQt
Y3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNyZWRlbnRpYWxzLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmMDY5MWFhMDljYzQ5Y2RmN2YyYTk0Mzc0YzZlNjIyMjBm
OTNiOGUyLi4wZGYyMzM0NmM3Y2Q5Zjg0Yzg0ZjRkZDM5MzQyZjUxYmY2YmM2ZDk4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRz
L2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29y
a2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIENP
TlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93
ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgogCi1GQUlMIEltcG9ydGluZyBhIHNh
bWUtb3JpZ2luIHNjcmlwdCB3aXRoIHRoZSBkZWZhdWx0IFdvcmtsZXRPcHRpb25zIHNob3VsZCBz
ZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJv
cjogUmVzcG9uc2UgaXMgbm90IDJ4eCIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2Ny
aXB0IHdpdGggdGhlIGRlZmF1bHQgV29ya2xldE9wdGlvbnMgc2hvdWxkIHNlbmQgdGhlIGNyZWRl
bnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIkFib3J0RXJyb3I6IFRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQuIgogUEFTUyBJbXBvcnRp
bmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIHRoZSBkZWZhdWx0IFdvcmtsZXRPcHRpb25z
IHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlhbHMKLUZBSUwgSW1wb3J0aW5nIGEgc2FtZS1v
cmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91bGQgbm90IHNlbmQgdGhlIGNy
ZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBSZXNwb25z
ZSBpcyBub3QgMnh4IgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCBj
cmVkZW50aWFscz1vbWl0IHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjog
VGhlIG9wZXJhdGlvbiB3YXMgYWJvcnRlZC4iCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmln
aW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91bGQgbm90IHNlbmQgdGhlIGNyZWRl
bnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRp
YWxzPXNhbWUtb3JpZ2luIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBGYWls
ZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90IDJ4eCIKK0ZBSUwgSW1w
b3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4g
c2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IFRoZSBvcGVyYXRpb24gd2FzIGFi
b3J0ZWQuIgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRl
bnRpYWxzPXNhbWUtb3JpZ2luIHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlhbHMKLUZBSUwg
SW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5jbHVkZSBz
aG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVs
ZSwgZXJyb3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgiCi1GQUlMIEltcG9ydGluZyBhIHJlbW90ZS1v
cmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5jbHVkZSBzaG91bGQgc2VuZCB0aGUgY3Jl
ZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IE9yaWdpbiBo
dHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFs
bG93LU9yaWdpbi4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNy
ZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IFRo
ZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQuIgorRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2lu
IHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRp
YWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IkFib3J0RXJyb3I6IENyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3Jp
Z2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNz
cC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCBiZjMzNWNmMzA1NWUwNjViMzg5ODliNDFhYTFlMjM2ZmViNGFjMjlkLi4yNzViMzQzN2Zh
ZDk3NTNhNmVjZTI0MjAwZWFiZjI1N2ZmZDYyNzJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3Nw
Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMSw0MCArMSw1MiBAQAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBz
Oi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1z
Y3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29y
a2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1w
dHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJj
ZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9y
ZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3Jr
bGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcwog
Q09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGly
ZWN0aXZlICd3b3JrZXItc3JjJy4KIAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29u
dGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0
cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcwogQ09O
U09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0
aXZlICd3b3JrZXItc3JjJy4KIAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVu
dC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAogQ09OU09MRSBNRVNT
QUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3Jr
ZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5s
b2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0
aC1jb3JzLWhlYWRlci5qcwogQ09OU09MRSBNRVNTQUdFOiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQg
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRv
dy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2Ny
aXB0LXdpdGgtY29ycy1oZWFkZXIuanMuCiAKIENPTlNPTEUgTUVTU0FHRTogW2Jsb2NrZWRdIFRo
ZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2FkZG1v
ZHVsZS13aW5kb3cuaHRtbCB3YXMgbm90IGFsbG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250
ZW50IGZyb20gaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13
b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzLgogCitDT05TT0xFIE1FU1NBR0U6IFti
bG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291
cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5z
ZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJj
ZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KKworQ09OU09MRSBN
RVNTQUdFOiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My93b3Jr
bGV0cy9yZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBk
aXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojk0NDMvd29ya2xl
dHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMuCisK
IAogRkFJTCBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUg
c2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVK
RUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1w
b3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNj
cmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVD
VEVEIiBidXQgZ290ICJSRVNPTFZFRCIKK1BBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9y
dGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJ5IHRoZSBzY3Jp
cHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuCiBGQUlMIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IGlt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJ5IHRoZSBz
Y3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpF
Q1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCiBGQUlMIEEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVk
IHdvcmtsZXQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVj
dGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZF
RCIKLUZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4t
cmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3Nl
bGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290
ICJSRVNPTFZFRCIKK1BBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90
ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlw
dC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4KIFBBU1MgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2hv
dWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNp
ZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuCi1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBp
bXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVj
YXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93
cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmln
aW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRp
cmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBIHJlbW90ZS1vcmln
aW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJl
IGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUg
b3JpZ2luIGFsbG93cyBpdC4KIFBBU1MgQSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xl
dCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUg
c3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3Jr
bGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5v
dCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcg
dGhlIG9yaWdpbiBhbGxvd3MgaXQuCitGQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRp
bmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tl
ZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4g
YWxsb3dzIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJF
SkVDVEVEIgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2Nr
ZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuCi1QQVNTIEEg
c2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91
bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxv
d3MgaXQuCitGQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3Jp
Z2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAq
IGRpcmVjdGl2ZSBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIg
YnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRo
ZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KIFBBU1MgQSByZW1vdGUtb3JpZ2lu
LXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2Ny
aXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuCi1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xl
dCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBub3Qg
YmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4K
K0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVk
aXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1z
cmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xW
RUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzaG91
bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29y
a2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuCi1QQVNTIEEgc2FtZS1vcmlnaW4g
d29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJs
b2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0
aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuCitGQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBv
cnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhl
IHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNy
YyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAi
UkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90
ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBk
aXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4K
IFBBU1MgQSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgbm90IGJlIGJs
b2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0
aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuCi1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBv
cnRpbmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBub3QgYmUgYmxv
Y2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRo
ZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9y
dGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9j
a2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhl
IHNjcmlwdC1zcmMgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQi
IGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBbiBpbnNlY3VyZS1vcmlnaW4gd29ya2xldCBzaG91
bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgogUEFTUyBBbiBpbnNlY3Vy
ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2Yg
bWl4ZWQgY29udGVudHMuCi1GQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYW4g
aW5zZWN1cmUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVk
IGNvbnRlbnRzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJF
U09MVkVEIgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGFuIGluc2VjdXJl
LW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1p
eGVkIGNvbnRlbnRzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3Qg
IlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGFuIGluc2Vj
dXJlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVzZSBvZiBtaXhlZCBjb250
ZW50cy4KK1BBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhbiBpbnNlY3VyZS1v
cmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVzZSBvZiBtaXhl
ZCBjb250ZW50cy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWltcG9ydC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmts
ZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmZTg5NjVh
ZWY2Y2FkYTIyMTllZjhlMzA4ODhiYTkxZTI0MDE3YWMwLi40YmEwMThmMmQ4MGY5NGNjOGNhNTQz
NTAyN2JiNWI5NjRjMzZkMjNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MTYsNyArMTYsMTMgQEAgUEFTUyBJbXBvcnRpbmcgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2Ugd2l0
aCB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWQKIFBBU1MgSW1wb3J0aW5nIGEg
Y3Jvc3Mgb3JpZ2luIHJlc291cmNlIHdpdGhvdXQgdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbiBoZWFkZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZQogUEFTUyBJbXBvcnRp
bmcgYSBjcm9zcy1vcmlnaW4tcmVkaXJlY3RlZCByZXNvdXJjZSB3aXRoIHRoZSBBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZXNvbHZlIHRoZSBnaXZlbiBwcm9taXNl
CiBQQVNTIEltcG9ydGluZyBhIGNyb3NzLW9yaWdpbi1yZWRpcmVjdGVkIHJlc291cmNlIHdpdGhv
dXQgdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBoZWFkZXIgc2hvdWxkIHJlamVjdCB0
aGUgZ2l2ZW4gcHJvbWlzZQotRkFJTCBJbXBvcnRpbmcgYSBzY3JpcHQgdGhhdCBoYXMgYSBzeW50
YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4gYXNzZXJ0X3VucmVhY2hl
ZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKLUZBSUwgSW1wb3J0aW5nIGEgbmVzdGVkIHNjcmlwdCB0aGF0IGhhcyBhIHN5bnRheCBlcnJv
ciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91
bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJ
TCBJbXBvcnRpbmcgYSBzY3JpcHQgdGhhdCBpbXBvcnRzIGFuIGludmFsaWQgaWRlbnRpZmllciBz
aG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQg
aGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBJ
bXBvcnRpbmcgYSBzY3JpcHQgdGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0
aGUgZ2l2ZW4gcHJvbWlzZS4gcHJvbWlzZV9yZWplY3RzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJyknIiAoIlN5bnRheEVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ugb2YgZnVuY3Rpb24gImZ1
bmN0aW9uIFN5bnRheEVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iICgiU3ludGF4RXJy
b3IiKQorRkFJTCBJbXBvcnRpbmcgYSBuZXN0ZWQgc2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVy
cm9yIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuIHByb21pc2VfcmVqZWN0c19qczog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJyIgKCJTeW50YXhFcnJvciIpIGV4cGVjdGVkIGluc3Rh
bmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBTeW50YXhFcnJvcigpIHsKKyAgICBbbmF0aXZlIGNv
ZGVdCit9IiAoIlN5bnRheEVycm9yIikKK0ZBSUwgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1w
b3J0cyBhbiBpbnZhbGlkIGlkZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlz
ZS4gcHJvbWlzZV9yZWplY3RzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0i
IHRocmV3IG9iamVjdCAiQWJvcnRFcnJvcjogTW9kdWxlIHNwZWNpZmllciwgJ2ludmFsaWQtc3Bl
Y2lmaWVyLmpzJyBkb2VzIG5vdCBzdGFydCB3aXRoICIvIiwgIi4vIiwgb3IgIi4uLyIuIFJlZmVy
ZW5jZWQgZnJvbSBibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvZDE2YzRlNWYtYWRkYi00YmRh
LTlmZmEtZjdmYmZkZjA4OTI0IiAoIkFib3J0RXJyb3IiKSBleHBlY3RlZCBpbnN0YW5jZSBvZiBm
dW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iICgi
VHlwZUVycm9yIikKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjRk
NDk5YzE0MWNlZTZkYzliMmViZTI0YmZiNGZmNGMwM2EwYTk3My4uNjRiOWM2NTI4MGNiNWViNGI3
MDE1NmM4N2ExZjcyMDU0ZjJhYjQ2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0
dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtcmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDMgKzEsOCBAQAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBz
Oi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tl
ci5weT9yZWZlcnJlcl9wb2xpY3k9bm8tcmVmZXJyZXImZXhwZWN0ZWRfcmVmZXJyZXI9CitCbG9j
a2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dv
cmtsZXRzL3Jlc291cmNlcy9yZWZlcnJlci1jaGVja2VyLnB5P3JlZmVycmVyX3BvbGljeT1vcmln
aW4mZXhwZWN0ZWRfcmVmZXJyZXI9aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8KK0NPTlNPTEUgTUVT
U0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvcmVmZXJyZXIt
Y2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9c2FtZS1vcmlnaW4mZXhwZWN0ZWRfcmVmZXJyZXI9
CitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBh
bGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIAogUEFTUyBJbXBvcnRpbmcg
YSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiBy
ZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcg
YSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAibm8tcmVmZXJyZXIi
IHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCkBAIC02LDE1ICsxMSwx
NSBAQCBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRo
YXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbAogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdp
biBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4g
c2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4KIFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4g
c2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVm
ZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIElt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0
IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90
IHNlbmQgcmVmZXJyZXIuCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZy
b20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJl
ZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmll
ZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgogUEFTUyBJbXBvcnRp
bmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3Jp
cHQgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5k
IHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEg
cmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVy
cmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHNh
bWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBo
YXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJ
bXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xl
dCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJl
ZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90
ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNj
cmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2lu
IiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBh
IHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhh
dCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIu
Ci1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdp
biB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBz
aG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNj
cmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1v
cmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIElt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmts
ZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBz
ZW5kIHJlZmVycmVyLgorRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9t
IGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIg
cG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVT
T0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1v
cmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFz
ICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJUaGUgb3BlcmF0aW9uIHdhcyBhYm9y
dGVkLiIKK0ZBSUwgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90
ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQi
IGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2lu
IFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4g
c2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1v
cmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJUaGUgb3BlcmF0aW9uIHdhcyBhYm9ydGVk
LiIKK0ZBSUwgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHNhbWUtb3Jp
Z2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09M
VkVEIiBidXQgZ290ICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9y
aWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3Jp
Z2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAi
c2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiVGhlIG9wZXJhdGlvbiB3
YXMgYWJvcnRlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20g
YSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVm
ZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkg
Q3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtcmVk
aXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2VyLW9y
aWdpbi1leHBlY3RlZC50eHQKaW5kZXggMWUyZDM5OTJmNmQ1ZGYzMjIwN2E2YjBmNjE5YTZkNzEx
ODEyNDAwZC4uN2E3YTkxN2VhYTk4ZTkyZWUwM2VjMjhhMTFlNzgwODRkMjM0Yjg4NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Bl
bi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVj
dGVkLXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cyLmxvY2FsaG9zdDo4ODAwL3hoci9yZXNv
dXJjZXMvaW5zcGVjdC1oZWFkZXJzLnB5P2ZpbHRlcl9uYW1lPW9yaWdpbiZjb3JzCiAKLUZBSUwg
UmVmZXJlciBoZWFkZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJlZmVyZXI6IGh0dHA6Ly9s
b2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL3dvcmtlcnhoci1vcmlnaW4tcmVmZXJyZXIuanNc
biIgYnV0IGdvdCAiUmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3hoci9yZXNvdXJjZXMv
cmVkaXJlY3QucHk/bG9jYXRpb249d29ya2VyeGhyLW9yaWdpbi1yZWZlcnJlci5qc1xuIgorUEFT
UyBSZWZlcmVyIGhlYWRlcgogRkFJTCBPcmlnaW4gaGVhZGVyIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJPcmlnaW46IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMFxuIiBidXQgZ290ICIiCiBQQVNTIFJl
cXVlc3QgVVJMIHRlc3QKIAo=
</data>
<flag name="commit-queue"
          id="438451"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420050</attachid>
            <date>2021-02-11 15:13:12 -0800</date>
            <delta_ts>2021-02-11 20:18:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210211151311.patch</filename>
            <type>text/plain</type>
            <size>229913</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MWIwMmZhMTIzZDg5YjM2OTdlZDZhNWE1YmI0N2ExOWY2YzNkNzI1Li40OTY2YzcwZWE2NDQ5NmE5
YTZlN2MzM2NlM2NhY2FmODljN2Q5ZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MiBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcDoK
KyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9yKToKKyAgICAgICAg
KiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRlRXJyb3IpOgorICAgICAg
ICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVSYW5nZUVycm9y
KToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3IpOgorICAgICAgICAoSlNDOjpj
cmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVR5cGVFcnJvcik6CisgICAg
ICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlR2V0dGVyVHlw
ZUVycm9yKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAg
ICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvRXJy
b3JJbnN0YW5jZS5jcHA6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OkVycm9ySW5zdGFu
Y2UpOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAoSlND
OjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKToKKyAgICAgICAgKEpTQzo6
RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkTmFtZVN0cmluZyk6CisgICAgICAgIChKU0M6OkVycm9y
SW5zdGFuY2U6OnNhbml0aXplZFRvU3RyaW5nKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9ySW5z
dGFuY2UuaDoKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6Y3JlYXRlKToKKyAgICAgICAg
KEpTQzo6RXJyb3JJbnN0YW5jZTo6ZXJyb3JUeXBlIGNvbnN0KToKKyAgICAgICAgKiBydW50aW1l
L0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9I
T1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiBydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNv
bnN0cnVjdEltcGwpOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9y
VHlwZT46OmNhbGxJbXBsKToKKyAgICAgICAgKiBydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5j
cHA6CisgICAgICAgIChKU0M6Ok51bGxTZXR0ZXJGdW5jdGlvbkludGVybmFsOjpKU0NfREVGSU5F
X0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVF
cnJvci5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OkpTV2Vi
QXNzZW1ibHlDb21waWxlRXJyb3IpOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUxp
bmtFcnJvci5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OkpTV2Vi
QXNzZW1ibHlMaW5rRXJyb3IpOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRp
bWVFcnJvci5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3I6OkpT
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3IpOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlD
b21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAg
ICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorCiAyMDIxLTAyLTEwICBT
YWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IGNyYXNoIHdo
ZW4gcmVwYXJzaW5nIGFuIGFycm93IGZ1bmN0aW9uIGFuZCB0aGUgcGFyc2luZyBpbnZhcmlhbnQg
aXMgYnJva2VuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA1MTUzZGY5Mjc2YTBlYzEzMzI1OTg1ZDNjMGE5NGQw
OTE3M2I4ZC4uZjNlOGYyM2QyNTBmZGY5YzU5ZTIwMjNmZTg4ODc0YTBiZmYxZWJjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzMiBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgor
ICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRl
cjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlw
dFdpdGhDYWNoZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25I
YW5kbGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhv
dXROYW1lKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmg6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2NyaXB0TW9kdWxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xv
YmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9N
R2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RP
TUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVBy
b3BlcnRpZXMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVh
dGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVM
b2FkZXJJbXBvcnRNb2R1bGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5k
b3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyk6IERlbGV0ZWQu
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNFeGVjU3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRXhlY1N0YXRlOjps
b2FkQW5kRXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xv
YmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxT
Y29wZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5o
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5cGUuaC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6Y2xlYXJDbGllbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpzY3JpcHRGZXRjaGVyKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6cGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3Jl
OjpNb2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgICogYmlu
ZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRNb2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxl
TG9hZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om1v
ZHVsZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNl
VVJMRnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVy
OjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9y
dE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZp
bmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTb3VyY2VDb2RlOjpTY3JpcHRTb3VyY2VDb2RlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6fldvcmtlck1vZHVsZVNj
cmlwdExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6
OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3Rp
ZnlGaW5pc2hlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaDogQWRkZWQuCisgICAg
ICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3Jp
cHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQpOiBE
ZWxldGVkLgorICAgICAgICAqIGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oOgorICAgICAgICAq
IGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6
OnJlcXVlc3RNb2R1bGVTY3JpcHQpOgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAg
ICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVh
ZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyOjpXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNjcmlwdHMpOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNj
b3BlOjpjcmVkZW50aWFscyBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZVByb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9i
YWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU6Oldvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmg6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6bW9kdWxlTG9h
ZGVyKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6anNWYWx1ZVRvTW9kdWxlS2V5KToKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlTW9kdWxlKToK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRN
b2R1bGVTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldFNj
cmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUp
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
U2NyaXB0TG9hZGVyOjpyZXNwb25zZVNvdXJjZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJTY3JpcHRMb2FkZXI6OmlzUmVkaXJlY3RlZCBjb25zdCk6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyUGFyYW1ldGVyczo6
aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6ZXZh
bHVhdGVTY3JpcHRJZk5lY2Vzc2FyeSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclR5cGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VySm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJK
b2I6OmZldGNoU2NyaXB0V2l0aENvbnRleHQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZCk6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oOgorICAgICAgICAqIHdvcmtsZXRz
L1dvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFs
U2NvcGU6OmZldGNoQW5kSW52b2tlU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRH
bG9iYWxTY29wZTo6cHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6ZGlkUmVjZWl2ZVJlc3BvbnNl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6bm90aWZ5
RmluaXNoZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3Bl
OjpkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrbGV0
cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaDoKKwogMjAyMS0wMi0xMCAgQWxleGV5IFByb3NrdXJ5YWtv
diAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBEbyBub3QgZGlmZmVyZW50aWF0ZSBiZXR3ZWVu
IFJlbGVhc2UgYW5kIFByb2R1Y3Rpb24gdmlhIEVOQUJMRV9ERVZFTE9QRVJfTU9ERQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuY3BwCmluZGV4IDc1
OWE1YjI0YTBlZDA4NjgwY2NhYTYzNDBkMmU5NWQ0NTBiODBmZDYuLjI5NmM4NWNjOTBlMDViNTQ1
NDdmNjYyYTdlMmY4YTFlMTMwYTQ2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BZ2dyZWdhdGVFcnJvci5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiBjb25zdCBDbGFzc0luZm8gQWdncmVnYXRlRXJyb3I6OnNfaW5mbyA9IHsgIkFnZ3JlZ2F0
ZUVycm9yIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShBZ2dyZWdhdGVFcnJvcikgfTsKIAogQWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9y
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUp
CisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6QWdncmVnYXRlRXJyb3IpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAppbmRleCBmNDczYjgx
ODFlYzJmMDJhMGNjNzhhMjZjMGMyMGRjOTYzMWZkYzc0Li4wOGE0MGRlMTZjZTVhNzdmZWYzNDY2
YTM0MTVlN2Y1NDRmZjkwMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3Iu
Y3BwCkBAIC0zNSwzNyArMzUsMzcgQEAgbmFtZXNwYWNlIEpTQyB7CiBKU09iamVjdCogY3JlYXRl
RXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQo
IW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0
dXJlKCksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0dXJu
IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwg
Z2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5v
dGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlRXZh
bEVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJU
KCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShn
bG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVj
dHVyZShFcnJvclR5cGU6OkV2YWxFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGlu
ZywgdHJ1ZSk7CisgICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3Qs
IGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5
cGU6OkV2YWxFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBl
OjpFdmFsRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlUmFuZ2VFcnJvcihKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5z
dGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5p
c0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0
LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JU
eXBlOjpSYW5nZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsK
KyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmFuZ2VF
cnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpSYW5nZUVy
cm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVJlZmVyZW5jZUVycm9yKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5j
ZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1w
dHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGds
b2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6
OlJlZmVyZW5jZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsK
KyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmVmZXJl
bmNlRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6UmVm
ZXJlbmNlRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlU3ludGF4RXJyb3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvcklu
c3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2Uu
aXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9y
VHlwZTo6U3ludGF4RXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUp
OworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxP
YmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpTeW50
YXhFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpTeW50
YXhFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJyb3IoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNl
OjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlciwgUnVudGltZVR5cGUgdHlwZSkKIHsKICAgICBBU1NF
UlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRl
KGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3Ry
dWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIHRy
dWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpU
eXBlRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgdHlwZSwgRXJyb3JUeXBlOjpUeXBlRXJyb3Is
IHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIg
YXBwZW5kZXIpCkBAIC03Niw3ICs3Niw3IEBAIEpTT2JqZWN0KiBjcmVhdGVOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvckluc3RhCiBKU09i
amVjdCogY3JlYXRlVVJJRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikK
IHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VVJJRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRl
ciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUo
Z2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1
Y3R1cmUoRXJyb3JUeXBlOjpVUklFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGlu
ZywgRXJyb3JUeXBlOjpVUklFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVFcnJv
cihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvclR5cGUgZXJyb3JUeXBlLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCkBAIC0xMTMsNyArMTEzLDcgQEAgSlNPYmplY3QqIGNyZWF0ZUVy
cm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVycm9yVHlwZVdpdGhFeHRlbnNpb24g
ZXJyb3IKIEpTT2JqZWN0KiBjcmVhdGVHZXR0ZXJUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIEFTU0VSVCghbWVzc2Fn
ZS5pc0VtcHR5KCkpOwotICAgIGF1dG8qIGVycm9yID0gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0
dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSk7CisgICAgYXV0byogZXJyb3IgPSBF
cnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGds
b2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpLCBtZXNzYWdl
LCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IpOwogICAgIGVycm9y
LT5zZXROYXRpdmVHZXR0ZXJUeXBlRXJyb3IoKTsKICAgICByZXR1cm4gZXJyb3I7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IDBmMmY1YTMxODQwMmZiYjdjN2Q4ODAyYjZkNzg0MmVmZTQwNmM4NDYuLjliZTkzMGNmMWMz
YzlhNDBlNjA4NTk4MzU1OGExYTU5YmM3OGI2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCkBAIC02MCwxNCArNjAsMTQgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdEVycm9yQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWMKICAgICAgICAgOiBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVh
dGVTdWJjbGFzc1N0cnVjdHVyZShnbG9iYWxPYmplY3QsIG5ld1RhcmdldCwgZ2V0RnVuY3Rpb25S
ZWFsbSh2bSwgbmV3VGFyZ2V0KS0+ZXJyb3JTdHJ1Y3R1cmUoKSk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgeyB9KTsKIAotICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNW
YWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3Ry
dWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKSk7CisgICAgUkVM
RUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3Jl
YXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVO
b3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpKTsKIH0KIAogSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKGNhbGxFcnJvckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNh
bGxGcmFtZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGds
b2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNz
YWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJl
LCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2Up
KTsKIH0KIAogYm9vbCBFcnJvckNvbnN0cnVjdG9yOjpwdXQoSlNDZWxsKiBjZWxsLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
IHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwCmluZGV4IDJlNGVjMzlmMTIwNThiMjUwODcyMmUw
YjgyNTIyNDdiZWIwMzE5ZTYuLjBmODZlMjJiOTJkZGQ2ZDEzOTg1OGI4NmU1NmNlYWRjYWVjZTBk
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFu
Y2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2Uu
Y3BwCkBAIC0zNCwxOCArMzQsMjMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNvbnN0IENsYXNzSW5m
byBFcnJvckluc3RhbmNlOjpzX2luZm8gPSB7ICJFcnJvciIsICZKU05vbkZpbmFsT2JqZWN0Ojpz
X2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRXJyb3JJbnN0YW5j
ZSkgfTsKIAotRXJyb3JJbnN0YW5jZTo6RXJyb3JJbnN0YW5jZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlKQorRXJyb3JJbnN0YW5jZTo6RXJyb3JJbnN0YW5jZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBFcnJvclR5cGUgZXJyb3JUeXBlKQogICAgIDogQmFzZSh2bSwgc3RydWN0
dXJlKQorICAgICwgbV9lcnJvclR5cGUoZXJyb3JUeXBlKQorICAgICwgbV9zdGFja092ZXJmbG93
RXJyb3IoZmFsc2UpCisgICAgLCBtX291dE9mTWVtb3J5RXJyb3IoZmFsc2UpCisgICAgLCBtX2Vy
cm9ySW5mb01hdGVyaWFsaXplZChmYWxzZSkKKyAgICAsIG1fbmF0aXZlR2V0dGVyVHlwZUVycm9y
KGZhbHNlKQogewogfQogCi1FcnJvckluc3RhbmNlKiBFcnJvckluc3RhbmNlOjpjcmVhdGUoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUg
bWVzc2FnZSwgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1bnRpbWVUeXBlIHR5cGUsIGJvb2wg
dXNlQ3VycmVudEZyYW1lKQorRXJyb3JJbnN0YW5jZSogRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1ZhbHVl
IG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyLCBSdW50aW1lVHlwZSB0eXBlLCBFcnJv
clR5cGUgZXJyb3JUeXBlLCBib29sIHVzZUN1cnJlbnRGcmFtZSkKIHsKICAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwogICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nID0gbWVzc2FnZS5pc1VuZGVmaW5lZCgpID8g
U3RyaW5nKCkgOiBtZXNzYWdlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7CiAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAgcmV0dXJuIGNyZWF0ZShnbG9iYWxP
YmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGFwcGVuZGVyLCB0eXBlLCB1c2VD
dXJyZW50RnJhbWUpOworICAgIHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0
dXJlLCBtZXNzYWdlU3RyaW5nLCBhcHBlbmRlciwgdHlwZSwgZXJyb3JUeXBlLCB1c2VDdXJyZW50
RnJhbWUpOwogfQogCiBzdGF0aWMgU3RyaW5nIGFwcGVuZFNvdXJjZVRvRXJyb3JNZXNzYWdlKENh
bGxGcmFtZSogY2FsbEZyYW1lLCBFcnJvckluc3RhbmNlKiBleGNlcHRpb24sIEJ5dGVjb2RlSW5k
ZXggYnl0ZWNvZGVJbmRleCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQpAQCAtMTMxLDcgKzEzNiwy
NSBAQCB2b2lkIEVycm9ySW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUwogLy8gQmFzZWQgb24gRXJyb3JQcm90b3R5cGUn
cyBlcnJvclByb3RvRnVuY1RvU3RyaW5nKCksIGJ1dCBpcyBtb2RpZmllZCB0bwogLy8gaGF2ZSBu
byBvYnNlcnZhYmxlIHNpZGUgZWZmZWN0cyB0byB0aGUgdXNlciAoaS5lLiBkb2VzIG5vdCBjYWxs
IHByb3hpZXMsCiAvLyBhbmQgZ2V0dGVycykuCi1TdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRp
emVkVG9TdHJpbmcoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK1N0cmluZyBFcnJvcklu
c3RhbmNlOjpzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBJbnRlZ3JpdHk6OmF1ZGl0U3RydWN0dXJl
SUQodm0sIHN0cnVjdHVyZUlEKCkpOworCisgICAgSlNWYWx1ZSBtZXNzYWdlVmFsdWU7CisgICAg
YXV0byBtZXNzYWdlUHJvcGVydE5hbWUgPSB2bS5wcm9wZXJ0eU5hbWVzLT5tZXNzYWdlOworICAg
IFByb3BlcnR5U2xvdCBtZXNzYWdlU2xvdCh0aGlzLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0
aG9kVHlwZTo6Vk1JbnF1aXJ5LCAmdm0pOworICAgIGlmIChKU09iamVjdDo6Z2V0T3duUHJvcGVy
dHlTbG90KHRoaXMsIGdsb2JhbE9iamVjdCwgbWVzc2FnZVByb3BlcnROYW1lLCBtZXNzYWdlU2xv
dCkgJiYgbWVzc2FnZVNsb3QuaXNWYWx1ZSgpKQorICAgICAgICBtZXNzYWdlVmFsdWUgPSBtZXNz
YWdlU2xvdC5nZXRWYWx1ZShnbG9iYWxPYmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSk7CisgICAg
c2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKKworICAgIGlmICghbWVzc2FnZVZhbHVlKQorICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBtZXNz
YWdlVmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KSk7Cit9CisKK1N0cmluZyBFcnJvcklu
c3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTE1NywyOCArMTgwLDIyIEBAIFN0cmluZyBFcnJv
ckluc3RhbmNlOjpzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQogICAgIH0KICAgICBzY29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOwogCi0gICAgU3RyaW5nIG5h
bWVTdHJpbmc7CiAgICAgaWYgKCFuYW1lVmFsdWUpCi0gICAgICAgIG5hbWVTdHJpbmcgPSAiRXJy
b3IiX3M7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG5hbWVTdHJpbmcgPSBuYW1lVmFsdWUudG9XVEZT
dHJpbmcoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
U3RyaW5nKCkpOwotICAgIH0KKyAgICAgICAgcmV0dXJuICJFcnJvciJfczsKKyAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIG5hbWVWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpKTsK
K30KIAotICAgIEpTVmFsdWUgbWVzc2FnZVZhbHVlOwotICAgIGF1dG8gbWVzc2FnZVByb3BlcnRO
YW1lID0gdm0ucHJvcGVydHlOYW1lcy0+bWVzc2FnZTsKLSAgICBQcm9wZXJ0eVNsb3QgbWVzc2Fn
ZVNsb3QodGhpcywgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSwg
JnZtKTsKLSAgICBpZiAoSlNPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdCh0aGlzLCBnbG9iYWxP
YmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSwgbWVzc2FnZVNsb3QpICYmIG1lc3NhZ2VTbG90Lmlz
VmFsdWUoKSkKLSAgICAgICAgbWVzc2FnZVZhbHVlID0gbWVzc2FnZVNsb3QuZ2V0VmFsdWUoZ2xv
YmFsT2JqZWN0LCBtZXNzYWdlUHJvcGVydE5hbWUpOwotICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0
aW9uKCk7CitTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEludGVncml0
eTo6YXVkaXRTdHJ1Y3R1cmVJRCh2bSwgc3RydWN0dXJlSUQoKSk7CiAKLSAgICBTdHJpbmcgbWVz
c2FnZVN0cmluZzsKLSAgICBpZiAoIW1lc3NhZ2VWYWx1ZSkKLSAgICAgICAgbWVzc2FnZVN0cmlu
ZyA9IFN0cmluZygpOwotICAgIGVsc2UgewotICAgICAgICBtZXNzYWdlU3RyaW5nID0gbWVzc2Fn
ZVZhbHVlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIFN0cmluZygpKTsKLSAgICB9CisgICAgU3RyaW5nIG5hbWVTdHJpbmcgPSBz
YW5pdGl6ZWROYW1lU3RyaW5nKGdsb2JhbE9iamVjdCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgU3RyaW5nKCkpOworCisgICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcgPSBzYW5pdGl6
ZWRNZXNzYWdlU3RyaW5nKGdsb2JhbE9iamVjdCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgU3RyaW5nKCkpOwogCiAgICAgaWYgKCFuYW1lU3RyaW5nLmxlbmd0aCgpKQogICAgICAg
ICByZXR1cm4gbWVzc2FnZVN0cmluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9ySW5zdGFuY2UuaAppbmRleCBkYTY2ZWI3NmU3YWRlOTBmZDQxYmIxNjI3MDcyNWE3ZDE0
NzBhZDM4Li45ODcxMzU3MjFiMzA1NjYyMzBkMjYxYzgzM2FkOGRlY2E1NDYxNDU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCkBAIC0yMCw2ICsy
MCw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRXJyb3JUeXBlLmgiCiAjaW5jbHVk
ZSAiSlNPYmplY3QuaCIKICNpbmNsdWRlICJSdW50aW1lVHlwZS5oIgogI2luY2x1ZGUgIlN0YWNr
RnJhbWUuaCIKQEAgLTUzLDE0ICs1NCwxNCBAQCBjbGFzcyBFcnJvckluc3RhbmNlIDogcHVibGlj
IEpTTm9uRmluYWxPYmplY3QgewogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhFcnJvckluc3RhbmNlVHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotICAgIHN0YXRpYyBFcnJvckluc3RhbmNl
KiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRl
ciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlIHR5cGUgPSBUeXBlTm90aGluZywgYm9vbCB1c2VDdXJy
ZW50RnJhbWUgPSB0cnVlKQorICAgIHN0YXRpYyBFcnJvckluc3RhbmNlKiBjcmVhdGUoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRlciA9IG51bGxwdHIsIFJ1
bnRpbWVUeXBlIHR5cGUgPSBUeXBlTm90aGluZywgRXJyb3JUeXBlIGVycm9yVHlwZSA9IEVycm9y
VHlwZTo6RXJyb3IsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSkKICAgICB7Ci0gICAgICAg
IEVycm9ySW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RXJy
b3JJbnN0YW5jZT4odm0uaGVhcCkpIEVycm9ySW5zdGFuY2Uodm0sIHN0cnVjdHVyZSk7CisgICAg
ICAgIEVycm9ySW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
RXJyb3JJbnN0YW5jZT4odm0uaGVhcCkpIEVycm9ySW5zdGFuY2Uodm0sIHN0cnVjdHVyZSwgZXJy
b3JUeXBlKTsKICAgICAgICAgaW5zdGFuY2UtPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmpl
Y3QsIG1lc3NhZ2UsIGFwcGVuZGVyLCB0eXBlLCB1c2VDdXJyZW50RnJhbWUpOwogICAgICAgICBy
ZXR1cm4gaW5zdGFuY2U7CiAgICAgfQogCi0gICAgc3RhdGljIEVycm9ySW5zdGFuY2UqIGNyZWF0
ZShKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTVmFsdWUgbWVzc2FnZSwgU291cmNlQXBw
ZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVOb3RoaW5nLCBib29sIHVzZUN1cnJl
bnRGcmFtZSA9IHRydWUpOworICAgIHN0YXRpYyBFcnJvckluc3RhbmNlKiBjcmVhdGUoSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyID0g
bnVsbHB0ciwgUnVudGltZVR5cGUgPSBUeXBlTm90aGluZywgRXJyb3JUeXBlID0gRXJyb3JUeXBl
OjpFcnJvciwgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKTsKIAogICAgIGJvb2wgaGFzU291
cmNlQXBwZW5kZXIoKSBjb25zdCB7IHJldHVybiAhIW1fc291cmNlQXBwZW5kZXI7IH0KICAgICBT
b3VyY2VBcHBlbmRlciBzb3VyY2VBcHBlbmRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBw
ZW5kZXI7IH0KQEAgLTcwLDYgKzcxLDcgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBK
U05vbkZpbmFsT2JqZWN0IHsKICAgICBSdW50aW1lVHlwZSBydW50aW1lVHlwZUZvckNhdXNlKCkg
Y29uc3QgeyByZXR1cm4gbV9ydW50aW1lVHlwZUZvckNhdXNlOyB9CiAgICAgdm9pZCBjbGVhclJ1
bnRpbWVUeXBlRm9yQ2F1c2UoKSB7IG1fcnVudGltZVR5cGVGb3JDYXVzZSA9IFR5cGVOb3RoaW5n
OyB9CiAKKyAgICBFcnJvclR5cGUgZXJyb3JUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvclR5
cGU7IH0KICAgICB2b2lkIHNldFN0YWNrT3ZlcmZsb3dFcnJvcigpIHsgbV9zdGFja092ZXJmbG93
RXJyb3IgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1N0YWNrT3ZlcmZsb3dFcnJvcigpIGNvbnN0IHsg
cmV0dXJuIG1fc3RhY2tPdmVyZmxvd0Vycm9yOyB9CiAgICAgdm9pZCBzZXRPdXRPZk1lbW9yeUVy
cm9yKCkgeyBtX291dE9mTWVtb3J5RXJyb3IgPSB0cnVlOyB9CkBAIC03OSw2ICs4MSw4IEBAIGNs
YXNzIEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgYm9vbCBp
c05hdGl2ZUdldHRlclR5cGVFcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlR2V0dGVyVHlw
ZUVycm9yOyB9CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgc2FuaXRpemVkVG9TdHJp
bmcoSlNHbG9iYWxPYmplY3QqKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgc2FuaXRp
emVkTWVzc2FnZVN0cmluZyhKU0dsb2JhbE9iamVjdCopOworICAgIEpTX0VYUE9SVF9QUklWQVRF
IFN0cmluZyBzYW5pdGl6ZWROYW1lU3RyaW5nKEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgCiAgICAg
VmVjdG9yPFN0YWNrRnJhbWU+KiBzdGFja1RyYWNlKCkgeyByZXR1cm4gbV9zdGFja1RyYWNlLmdl
dCgpOyB9CiAKQEAgLTg4LDcgKzkyLDcgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBK
U05vbkZpbmFsT2JqZWN0IHsKICAgICB2b2lkIGZpbmFsaXplVW5jb25kaXRpb25hbGx5KFZNJik7
CiAKIHByb3RlY3RlZDoKLSAgICBleHBsaWNpdCBFcnJvckluc3RhbmNlKFZNJiwgU3RydWN0dXJl
Kik7CisgICAgZXhwbGljaXQgRXJyb3JJbnN0YW5jZShWTSYsIFN0cnVjdHVyZSosIEVycm9yVHlw
ZSk7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBjb25z
dCBTdHJpbmcmLCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlID0gVHlwZU5v
dGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSk7CiAKQEAgLTEwOCwxMCArMTEyLDEx
IEBAIGNsYXNzIEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAg
U3RyaW5nIG1fc291cmNlVVJMOwogICAgIFN0cmluZyBtX3N0YWNrU3RyaW5nOwogICAgIFJ1bnRp
bWVUeXBlIG1fcnVudGltZVR5cGVGb3JDYXVzZSB7IFR5cGVOb3RoaW5nIH07Ci0gICAgYm9vbCBt
X3N0YWNrT3ZlcmZsb3dFcnJvciB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX291dE9mTWVtb3J5RXJy
b3IgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9lcnJvckluZm9NYXRlcmlhbGl6ZWQgeyBmYWxzZSB9
OwotICAgIGJvb2wgbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3IgeyBmYWxzZSB9OworICAgIEVycm9y
VHlwZSBtX2Vycm9yVHlwZSB7IEVycm9yVHlwZTo6RXJyb3IgfTsKKyAgICBib29sIG1fc3RhY2tP
dmVyZmxvd0Vycm9yIDogMTsKKyAgICBib29sIG1fb3V0T2ZNZW1vcnlFcnJvciA6IDE7CisgICAg
Ym9vbCBtX2Vycm9ySW5mb01hdGVyaWFsaXplZCA6IDE7CisgICAgYm9vbCBtX25hdGl2ZUdldHRl
clR5cGVFcnJvciA6IDE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNw
cAppbmRleCA0MDIxZmM3ZTBhZGFmN2EwYTllMGVmNmNmZDIyNTgzOGI1YmY4NzgzLi5hZjcyNjI4
MzFjYTFiYjc1YzZhZTU1NDExZGU0Y2Q4NWE4MTM3ZGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCkBA
IC02OTQsNyArNjk0LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNUaHJv
d1R5cGVFcnJvckFyZ3VtZW50c0NhbGxlZUFuZENhbGxlciwgKEpTR2wKIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihnbG9iYWxGdW5jTWFrZVR5cGVFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsKICAgICBTdHJ1Y3R1cmUqIGVycm9y
U3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlR5cGVF
cnJvcik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUo
Z2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgY2FsbEZyYW1lLT5hcmd1bWVudCgwKSwgbnVs
bHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShF
cnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgY2FsbEZy
YW1lLT5hcmd1bWVudCgwKSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6VHlwZUVy
cm9yLCBmYWxzZSkpOwogfQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY1By
b3RvR2V0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRp
dmVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA3Y2MxMWI1ZjVlMTI5NzIyMDE2Yjg2NzFmMTM3
YzZiYjE3MjEzODQwLi5iNmU3ZWRlZmQ0MmVkYzYzNWQ5MGI3ZTBlOGM3YjRmYzBjMjQzZDFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0
cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJv
ckNvbnN0cnVjdG9yLmNwcApAQCAtNTgsNyArNTgsNyBAQCBpbmxpbmUgRW5jb2RlZEpTVmFsdWUg
TmF0aXZlRXJyb3JDb25zdHJ1Y3RvcjxlcnJvclR5cGU+Ojpjb25zdHJ1Y3RJbXBsKEpTR2xvYmFs
TwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAgICAgQVNTRVJUKGVycm9y
U3RydWN0dXJlKTsKIAotICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5j
b2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBt
ZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKSk7CisgICAgUkVMRUFTRV9BTkRf
UkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2Jh
bE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBl
cnJvclR5cGUsIGZhbHNlKSkpOwogfQogCiB0ZW1wbGF0ZTxFcnJvclR5cGUgZXJyb3JUeXBlPgpA
QCAtNjYsNyArNjYsNyBAQCBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgTmF0aXZlRXJyb3JDb25zdHJ1
Y3RvcjxlcnJvclR5cGU+OjpjYWxsSW1wbChKU0dsb2JhbE9iamVjdAogewogICAgIEpTVmFsdWUg
bWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0
cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoZXJyb3JUeXBlKTsKLSAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3Qs
IGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsK
KyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZXJy
b3JUeXBlLCBmYWxzZSkpOwogfQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEV2YWxF
cnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxTZXR0ZXJG
dW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsU2V0dGVyRnVu
Y3Rpb24uY3BwCmluZGV4IDI2ZjNiNmE4ZjlkYjY3OGNkOTRkMDVhZTg4YjExYjg5ZTYxYzBlYmMu
LjBkZGIyYzZhNTBmNDZiYzYzNjk5NWNhNDZkN2YxOGU1YjI2ODYzZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcApAQCAt
OTQsNyArOTQsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbFRocm93RXJyb3IsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbQogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2Fs
bGVkIGZyb20gSUMuIEFuZCB3ZSBkbyBub3Qgd2FudCB0byBpbmNsdWRlIHRoaXMgZnJhbWUgaW4g
RXJyb3IncyBzdGFjay4KICAgICBjb25zdGV4cHIgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSBmYWxz
ZTsKLSAgICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlLCBFcnJvckluc3RhbmNl
OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShF
cnJvclR5cGU6OlR5cGVFcnJvciksIFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yLCBudWxscHRy
LCBUeXBlTm90aGluZywgdXNlQ3VycmVudEZyYW1lKSk7CisgICAgdGhyb3dFeGNlcHRpb24oZ2xv
YmFsT2JqZWN0LCBzY29wZSwgRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgdm0s
IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpLCBSZWFk
b25seVByb3BlcnR5V3JpdGVFcnJvciwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6
VHlwZUVycm9yLCB1c2VDdXJyZW50RnJhbWUpKTsKICAgICByZXR1cm4geyB9OwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGls
ZUVycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlD
b21waWxlRXJyb3IuY3BwCmluZGV4IDM4MzczYTc2MGQ1OWQwZWVkYjQ5NGRiODhkODUyNGZhYjlh
NTE1NGUuLjllYmQzZDQ0NmE5ZGE5YWQxOWQ3YmE0MTk5MDA2M2ZjNWE2MzI4ZmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJy
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlD
b21waWxlRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEpTV2ViQXNzZW1ibHlDb21waWxlRXJy
b3IqIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xv
CiB9CiAKIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OkpTV2ViQXNzZW1ibHlDb21waWxlRXJy
b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0sIHN0cnVjdHVy
ZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxp
bmtFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
TGlua0Vycm9yLmNwcAppbmRleCBlYWRlMDM0MTNlNGNlMzYwYmEwODlmOGM1M2QxOGNmOGQ2ZDcw
MjM1Li45YjIwMDU4ZWNmMzRhZjkxYjZiMThkMTVmNjUxNTc4NWMyMTcyZTJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vy
cm9yLmNwcApAQCAtNDEsNyArNDEsNyBAQCBKU1dlYkFzc2VtYmx5TGlua0Vycm9yKiBKU1dlYkFz
c2VtYmx5TGlua0Vycm9yOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iagogfQogCiBK
U1dlYkFzc2VtYmx5TGlua0Vycm9yOjpKU1dlYkFzc2VtYmx5TGlua0Vycm9yKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNl
KHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3IpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
ci5jcHAKaW5kZXggYmUxZjkyODYwMzA0NWQ3Y2Y3MjkzMjRlZTRhNzdhZTgzZmNlOWNiZS4uMTkz
M2E2ZTM4ODhmYmVhY2NmMDdhYzJiMzdjNzQ1MDQ4NGZhNTFmMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
ci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciogSlNXZWJB
c3NlbWJseVJ1bnRpbWVFcnJvcjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG8KIH0KIAogSlNX
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvcjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcihWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDog
QmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5cGU6OkVycm9yKQogewogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNv
bnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDVjZDAwMzVhMDFmZGI3OGRkYzM1ZmM0
N2I2Yjg1ODBiZTQ1ZDM1OTcuLmMzYTBkMzk3ZjUwNGUyNThmMWQ3MGY4YjQ4MmI3OWExZDllNzI2
NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC02NSw3ICs2
NSw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsSlNXZWJBc3NlbWJseUNvbXBpbGVF
cnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPCiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0g
Y2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0g
Z2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseUNvbXBpbGVFcnJvclN0cnVjdHVyZSgpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
ZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJv
clR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0
cnVjdG9yKiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUq
IHRoaXNQcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDk0
NmRlZjRmMTE1MjI5YTIyNWJlOTMyYWM5ZTY0MzViNmM4YWIyYTkuLjJjNWY2YTI5MzFmMTUyMTU4
NWFhYTkzNWU1NmI0YmQyZjE5YzE2YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3Iu
Y3BwCkBAIC02NSw3ICs2NSw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsSlNXZWJB
c3NlbWJseUxpbmtFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplCiB7CiAgICAgSlNW
YWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUqIGVy
cm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseUxpbmtFcnJvclN0cnVjdHVy
ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5n
LCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3Jl
YXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVO
b3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBXZWJBc3NlbWJseUxpbmtF
cnJvckNvbnN0cnVjdG9yKiBXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5
cGUqIHRoaXNQcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3Bw
CmluZGV4IDNkZmQ5MTU2N2I2MGE1OGRkOWFhNjg0MmZmNjc5MDIxZjVjYjkyNTIuLmE4NTY2OWM1
MThiMWU5YWE2OGM5NWFkMDU2NmViZmQ2ZmMzZGZhOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVy
cm9yQ29uc3RydWN0b3IuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTihjYWxsSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPCiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAg
ICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseVJ1
bnRpbWVFcnJvclN0cnVjdHVyZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJ
bnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51
bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
RXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3Nh
Z2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQog
CiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yKiBXZWJBc3NlbWJseVJ1bnRpbWVF
cnJvckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vi
QXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUqIHRoaXNQcm90b3R5cGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQppbmRleCA0ZjM4ZmIwNjg0YmM1OWVlNmY3Yzk4OTgyOWVjODgyY2U4MDU4NmM4Li4zM2Fm
ZWUzMDJlZGMxZTFmM2VjOGQ2Y2Q5MWRlYTUzN2RlMTlmYmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
QEAgLTMwLDYgKzMwLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
CiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oCiAgICAgTW9kdWxlcy9mZXRj
aC9GZXRjaEJvZHlTb3VyY2UuaAorICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Q3JlZGVu
dGlhbHMuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKICAgICBNb2R1bGVzL2Zl
dGNoL0ZldGNoSWRlbnRpZmllci5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5oCkBA
IC0yODcsNiArMjg4LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
ICAgIGJpbmRpbmdzL2pzL1dlYkNvcmVKSVRPcGVyYXRpb25zLmgKICAgICBiaW5kaW5ncy9qcy9X
ZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaAogICAgIGJpbmRpbmdzL2pzL1dpbmRvd1Byb3h5
LmgKKyAgICBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmgKIAogICAgIGJyaWRnZS9C
cmlkZ2UuaAogICAgIGJyaWRnZS9JZGVudGlmaWVyUmVwLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggOGMw
M2I5MzI2NDk4NWYwYmIxZWU5ZjZkMjAyM2UzNDgzMDkyZjQ2Mi4uNjIzYTY3OGFhNWNiNDMyYWUw
ZDM5NDY3YTRiZWZkMzQ1Njg4YTIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTYzOSw2ICs2MzksNyBA
QCBiaW5kaW5ncy9qcy9TdHJ1Y3R1cmVkQ2xvbmUuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlSklU
T3BlcmF0aW9ucy5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwCiBiaW5k
aW5ncy9qcy9XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwCitiaW5kaW5ncy9qcy9Xb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCiBiaW5kaW5ncy9qcy9XaW5kb3dQcm94eS5jcHAKIGJp
bmRpbmdzL2pzL1dyaXRhYmxlU3RyZWFtLmNwcAogYnJpZGdlL0lkZW50aWZpZXJSZXAuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMmUzYmEyZDhiYmFhMTc2MjQ0ZGE2MjNjNjkyOTZlNWZlYmYwNzMwYi4uMzhjNmVhMGI4Nzlk
ZWY3MDExMTJlNDE4OWE0ZTQ4MGQxZmJjOTQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTA3MSwxNSArNTA3MSwxOCBAQAog
CQlFMzA1OTI2NDFFMjdBM0FEMDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTkyNjIxRTI3QTM4
QzAwRDU3Qzk4IC8qIElubGluZUNsYXNzaWNTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzA1OTI2ODFFMjdBM0QxMDBENTdDOTggLyog
Q2FjaGVkU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTMwNTkyNjYxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNo
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlF
MzA3REVEMDFEODFFNEM3MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVDNzFEODFF
NDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRTMwN0RFRDExRDgxRTRDQjAwMTQx
Q0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8q
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDdERUQ1MUQ4MUU0RjIwMDE0MUNBRiAvKiBM
b2FkYWJsZU1vZHVsZVNjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTMwN0RFRDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2Ny
aXB0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RTMxNTBFQTcxREE3MjE5MzAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMTUwRUE1MURBNzIxOEQwMDE5NDAx
MiAvKiBET01KSVRIZWxwZXJzLmggKi87IH07CiAJCUUzMjAxQzFBMUY4RTgyMTMwMDc2QTAzMiAv
KiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzOEQwNjA5MUY4RTgxMTkwMDY0OUNGMiAvKiBNb2R1bGVGZXRjaFBh
cmFtZXRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFMzIzQ0ZGQTFFNUFGNkFGMDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyM0NGRjkxRTVB
RjZBNTAwRjBCNEEwIC8qIEpTRE9NQ29udmVydFByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIg
LyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmggKi87IH07CisJCUUzNDdFNUZBMjVENEYwMDAwMEYxN0E1QyAvKiBX
b3JrZXJTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUz
NTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNTE4OEIzMjVEMzg3
Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU2NUI3QjFEQzJENkM5MDAyMTdE
QkQgLyogSlNFdmVudEN1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZlbnRDdXN0b20uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU4MDJC
NjFEQzg0MzVEMDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODAyQjUxREM4NDM1ODAwQTk3NzND
IC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzU4MkMyODI1MjdGNjY5MDBEMUI3OTAgLyogV2ViQ29yZUpJ
VE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzNTgyQzI2MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNUI5MDdG
MjNGNjBBNTAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1QjkwN0MyM0Y2MDY3NzAwMDAxMUZG
IC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM2NDMyMUMyNUQzN0E2NzAwRjkwRTJBIC8qIE1vZHVsZVNj
cmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNzdGRTREMURB
REUxNjUwMENERDAyNSAvKiBOb2RlQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QwNDk5MzFEQURDMDQ1MDA3MThGM0MgLyogTm9kZUNv
bnN0YW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzN0M4NjRGMUVCNjNFMkQwMDg3
QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlFMzk2MjhCRjIzOTU3MjhGMDA2NThFQ0QgLyogRGV2aWNlT3JpZW50
YXRpb25VcGRhdGVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNEIC8qIERldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMTYyMDIsNyArMTYyMDUsNiBAQAogCQlFMzA1OTI2NjFFMjdBM0M2MDBENTdD
OTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDYWNoZWRTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzMDdERUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFQzcxRDgxRTQ0
ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTMwN0RFRDIxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2Ny
aXB0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFRDMxRDgxRTRFRDAw
MTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEhlbHBlcnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MjE1LDEyICsxNjIxNywxNyBAQAogCQlFMzI5Mjc2MzIyNTQz
RjU5MDAzMDhBOUEgLyogVHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTMyOTI3NjYyMjU0M0ZERTAwMzA4QTlBIC8qIERPTVJlY3RSZWFkT25seS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBET01SZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMzM0ODI1RTFEQzkzQUEwMDA5Qzk1NDQgLyogRE9NSklUQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBET01KSVRBYnN0cmFjdEhl
YXBSZXBvc2l0b3J5Lmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUpJVEFic3Ry
YWN0SGVhcFJlcG9zaXRvcnkuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsK
KwkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM0MzJERTMyNUQzNzdFMzAwNThF
NjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2Ny
aXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJTY3Jp
cHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNEVFNDlGMURDMkQ1
NzUwMEVBQTlEMyAvKiBKU0V2ZW50Q3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTRXZlbnRDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM1
MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODAyQjUxREM4NDM1ODAwQTk3NzNDIC8q
IERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NSklUSURMVHlwZUZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4
MkMyNDI1MjdGNjY4MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZUpJVE9wZXJhdGlvbnMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MkMyNjI1MjdGNjY4MDBEMUI3OTAgLyog
V2ViQ29yZUpJVE9wZXJhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViQ29yZUpJVE9wZXJhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1
QjkwN0MyM0Y2MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsaXplZERldmljZU1vZGVsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdFMjNGNjA2NzcwMDAwMTFGRiAvKiBMb2NhbGl6
ZWREZXZpY2VNb2RlbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IExvY2FsaXplZERldmljZU1vZGVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzdDODY0RjFFQjYzRTJEMDA4N0M2Q0EgLyogSlNET01Qcm9t
aXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUHJvbWlzZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5NDFCQUQxNDVGMDBENjJFRTMgLyog
U2NyaXB0TW9kdWxlTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0TW9kdWxlTG9hZGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzAyMSw3ICsyNzAyOCw2IEBACiAJCQkJMkRGQTQ4OEUx
REI1NDFDMjAwMzYyQjk5IC8qIEJ1ZmZlclNvdXJjZS5oICovLAogCQkJCUUzMDdERUM2MUQ4MUU0
NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwICovLAogCQkJCUUzMDdE
RUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLywKLQkJ
CQlFMzA3REVDODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50LmggKi8sCiAJCQkJRTMwNTkyNjUxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZl
dGNoZXIuY3BwICovLAogCQkJCUUzMDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3Jp
cHRGZXRjaGVyLmggKi8sCiAJCQkJQkNENTMzNjMwRUQ2ODQ4OTAwODg3NDY4IC8qIENhY2hlZFNj
cmlwdFNvdXJjZVByb3ZpZGVyLmggKi8sCkBAIC0yNzA5NSw2ICsyNzEwMSw4IEBACiAJCQkJNEJE
RUEzMkQyMTgwMzQwNTAwNTJERkNEIC8qIEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAgKi8s
CiAJCQkJNEJERUEzMkIyMTgwMzNFQjAwNTJERkNEIC8qIEpTV29ya2xldEdsb2JhbFNjb3BlQmFz
ZS5oICovLAogCQkJCTcwOUEwMUZEMUUzRDBCQ0MwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1
cmVLaW5kLmggKi8sCisJCQkJRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlw
dExvYWRlci5oICovLAorCQkJCUUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQuaCAqLywKIAkJCQk0MUI0NTlFRDFGNTVFQkM3MDAwMEY2RkQgLyogUmVh
ZGFibGVTdHJlYW0uY3BwICovLAogCQkJCTQxQjQ1OURBMUY0Q0FEQjkwMDAwRjZGRCAvKiBSZWFk
YWJsZVN0cmVhbS5oICovLAogCQkJCTQxOEMzOTVFMUM4RjBBQUIwMDUxQzhBMyAvKiBSZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcCAqLywKQEAgLTI3MTI2LDYgKzI3MTM0LDkgQEAK
IAkJCQkwRjA5OUQwNzE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5cGVkQXJyYXlDb250cm9s
bGVyLmggKi8sCiAJCQkJNDYzNTIxQUMyMDgxMDkwRTAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5LmNw
cCAqLywKIAkJCQk0NjM1MjFBQTIwODEwOTBCMDBDMjg5MjIgLyogV2luZG93UHJveHkuaCAqLywK
KwkJCQlFMzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
LmNwcCAqLywKKwkJCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyLmggKi8sCisJCQkJRTM0N0U1RjgyNUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNj
cmlwdEZldGNoZXIuaCAqLywKIAkJCQk0MTQxOEEwMzI1NjQzRTEyMDAzNjM0MTcgLyogV3JpdGFi
bGVTdHJlYW0uY3BwICovLAogCQkJCTQxNDE4QTA0MjU2NDNFMTMwMDM2MzQxNyAvKiBXcml0YWJs
ZVN0cmVhbS5oICovLAogCQkJKTsKQEAgLTMxMzk5LDcgKzMxNDEwLDYgQEAKIAkJCQlCQ0IxNkMx
QzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkSW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTMx
OUZCRDVGMTVEMkY0NjQwMDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTMwN0RFRDAxRDgxRTRDNzAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTMwN0RFRDExRDgxRTRDQjAwMTQxQ0FGIC8qIENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwMTg0
NjkwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUQw
RURBNzc1MTQzRTMwM0MwMDI4RTM4MyAvKiBDYWNoZWRSYXdSZXNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTFCNTMzNDkxNzE3REVFMzAwRjIwNUY5IC8qIENhY2hlZFJhd1Jlc291cmNlQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMzODc0LDYgKzMzODg0LDggQEAKIAkJCQlDNkQ3NEFE
NTA5QUEyODJFMDAwQjBBNTIgLyogTW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3MDlBMDFGRTFFM0QwQkREMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJl
S2luZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTMyMDFDMUExRjhFODIxMzAwNzZBMDMyIC8qIE1v
ZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM2NDMyMUMyNUQzN0E2
NzAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM1
MTg4QjQyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRjU1QjNEQzYxMjUxRjEyRDAwM0VGMjY5IC8qIE1vbnRoSW5wdXRUeXBl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzk2MjhDMTIzOTU3NDMxMDA2NThFQ0QgLyogTW90aW9u
TWFuYWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDYwQTQ0RUZDNzAwRjk5
MkUwIC8qIE1vdXNlRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzU1MjYsNiArMzU1MzgsNyBA
QAogCQkJCTE4RjgzMUI4MEZENDhDNzgwMEQ4QzU2QiAvKiBXb3JrZXJMb2FkZXJQcm94eS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NEQwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckxvY2F0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1MDBGNTQ2QTgyMDBCMEYxQkEgLyogV29y
a2VyTWVzc2FnaW5nUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzNDMyREU0MjVEMzc3RTMw
MDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxMjcxQTBCMEVFRUM3N0EwMEY2MTIxMyAvKiBXb3JrZXJOYXZpZ2F0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE1Q0IwNTI1MUZCNTFGM0EwMDA4OUI5NyAvKiBXb3JrZXJOZXR3b3JrQWdlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUxMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJP
YmplY3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTUzNSw2ICszNTU0OCw3IEBACiAJCQkJ
NDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyRTQzNDY1MzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyUnVuTG9vcC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTVCODFDQ0YxRkFBNDRERTAwMzdEMUU2IC8qIFdvcmtlclJ1
bnRpbWVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM0N0U1RkEyNUQ0RjAwMDAwRjE3QTVD
IC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDZCMzQ5MEY2
MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTJFQTc2ODA0MEZFNzEyNjQwMEFCOUM4QSAvKiBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTJFNDM0NjU1MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJUaHJl
YWQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKaW5kZXggMzUyZGNjNGFjZjc1MTc2ZDk4
YWQzNDEwYmUxNTE2MDgwMTA4ODUyNC4uMjc3ZjYyYTdjMTMzZmUxNTZjNmNjZTk4NTUzNTUwZWRi
MTM2ZDAwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC00MCwxNiArNDAsMTMgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1SZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXI6OmNyZWF0ZShDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVu
dCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCitSZWY8
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0
ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9t
aXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwg
V1RGTW92ZShwYXJhbWV0ZXJzKSkpOwogfQogCi1DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OkNh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNs
aWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3Jp
cHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCi0g
ICAgOiBtX2NsaWVudCgmY2xpZW50KQotICAgICwgbV9wcm9taXNlKCZwcm9taXNlKQotICAgICwg
bV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNoZXIpCi0gICAgLCBtX3BhcmFtZXRlcnMoV1RGTW92
ZShwYXJhbWV0ZXJzKSkKK0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21p
c2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxN
b2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICA6IE1vZHVsZVNjcmlwdExv
YWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykp
CiB7CiB9CiAKQEAgLTYxLDE0ICs1OCwxNSBAQCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6On5D
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoKQogICAgIH0KIH0KIAotYm9vbCBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXI6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwmIHNvdXJjZVVS
TCkKK2Jvb2wgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKERvY3VtZW50JiBkb2N1bWVu
dCwgVVJMJiYgc291cmNlVVJMKQogeworICAgIEFTU0VSVChtX3Byb21pc2UpOwogICAgIEFTU0VS
VCghbV9jYWNoZWRTY3JpcHQpOwogICAgIFN0cmluZyBpbnRlZ3JpdHkgPSBtX3BhcmFtZXRlcnMg
PyBtX3BhcmFtZXRlcnMtPmludGVncml0eSgpIDogU3RyaW5nIHsgfTsKLSAgICBtX2NhY2hlZFNj
cmlwdCA9IG1fc2NyaXB0RmV0Y2hlci0+cmVxdWVzdE1vZHVsZVNjcmlwdChkb2N1bWVudCwgc291
cmNlVVJMLCBXVEZNb3ZlKGludGVncml0eSkpOworICAgIG1fY2FjaGVkU2NyaXB0ID0gc2NyaXB0
RmV0Y2hlcigpLnJlcXVlc3RNb2R1bGVTY3JpcHQoZG9jdW1lbnQsIHNvdXJjZVVSTCwgV1RGTW92
ZShpbnRlZ3JpdHkpKTsKICAgICBpZiAoIW1fY2FjaGVkU2NyaXB0KQogICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgbV9zb3VyY2VVUkwgPSBzb3VyY2VVUkw7CisgICAgbV9zb3VyY2VVUkwgPSBX
VEZNb3ZlKHNvdXJjZVVSTCk7CiAKICAgICAvLyBJZiB0aGUgY29udGVudCBpcyBhbHJlYWR5IGNh
Y2hlZCwgdGhpcyBpbW1lZGlhdGVseSBjYWxscyBub3RpZnlGaW5pc2hlZC4KICAgICBtX2NhY2hl
ZFNjcmlwdC0+YWRkQ2xpZW50KCp0aGlzKTsKQEAgLTgzLDcgKzgxLDcgQEAgdm9pZCBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJj
ZSwgY29uc3QgTmUKIAogICAgIFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IHByb3RlY3Rl
ZFRoaXMoKnRoaXMpOwogICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPm5vdGlm
eUZpbmlzaGVkKCp0aGlzLCBXVEZNb3ZlKG1fcHJvbWlzZSkpOworICAgICAgICBtX2NsaWVudC0+
bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9zb3VyY2VVUkwpLCBtX3Byb21pc2UucmVs
ZWFzZU5vbk51bGwoKSk7CiAKICAgICAvLyBSZW1vdmUgdGhlIGNsaWVudCBhZnRlciBjYWxsaW5n
IG5vdGlmeUZpbmlzaGVkIHRvIGtlZXAgdGhlIGRhdGEgYnVmZmVyIGluCiAgICAgLy8gQ2FjaGVk
UmVzb3VyY2UgYWxpdmUgd2hpbGUgbm90aWZ5RmluaXNoZWQgcHJvY2Vzc2VzIHRoZSByZXNvdXJj
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2Ny
aXB0TG9hZGVyLmgKaW5kZXggNDNhYmQ4NzViMjQzZmFmNWZjZDRkOThlYzNjNWQyNGU3OTBiNTcy
ZS4uYTQ4NzU1ZjkzZDA1ZWYzNTNkMmIzZTIyOGQ4MjE5ZmU4OTFlNjc0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmgK
QEAgLTI3LDYgKzI3LDggQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCiAj
aW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRlICJDYWNoZWRTY3JpcHRG
ZXRjaGVyLmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSA8d3Rm
L1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgpAQCAtMzQsNDIgKzM2LDI5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50OwogY2xhc3MgQ2FjaGVkU2NyaXB0OwotY2xhc3MgQ2FjaGVkU2NyaXB0RmV0Y2hlcjsK
IGNsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSlNET01HbG9i
YWxPYmplY3Q7CiBjbGFzcyBNb2R1bGVGZXRjaFBhcmFtZXRlcnM7CiAKLWNsYXNzIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcj4sIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworY2xhc3MgQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIE1vZHVsZVNjcmlwdExvYWRlciwgcHJp
dmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVs
ZUZldGNoUGFyYW1ldGVycz4mJik7CisgICAgc3RhdGljIFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI+IGNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2Um
LCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7
CiAKICAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoKTsKIAotICAgIGJvb2wg
bG9hZChEb2N1bWVudCYsIGNvbnN0IFVSTCYgc291cmNlVVJMKTsKKyAgICBib29sIGxvYWQoRG9j
dW1lbnQmLCBVUkwmJiBzb3VyY2VVUkwpOwogCi0gICAgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2Ny
aXB0RmV0Y2hlcigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hlci5nZXQoKTsgfQogICAgIENhY2hl
ZFNjcmlwdCogY2FjaGVkU2NyaXB0KCkgeyByZXR1cm4gbV9jYWNoZWRTY3JpcHQuZ2V0KCk7IH0K
LSAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMoKSB7IHJldHVybiBtX3BhcmFt
ZXRlcnMuZ2V0KCk7IH0KLSAgICBjb25zdCBVUkwmIHNvdXJjZVVSTCgpIGNvbnN0IHsgcmV0dXJu
IG1fc291cmNlVVJMOyB9Ci0KLSAgICB2b2lkIGNsZWFyQ2xpZW50KCkKLSAgICB7Ci0gICAgICAg
IEFTU0VSVChtX2NsaWVudCk7Ci0gICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKLSAgICB9Cisg
ICAgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlcigpIHsgcmV0dXJuIHN0YXRpY19j
YXN0PENhY2hlZFNjcmlwdEZldGNoZXImPihNb2R1bGVTY3JpcHRMb2FkZXI6OnNjcmlwdEZldGNo
ZXIoKSk7IH0KIAogcHJpdmF0ZToKLSAgICBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0
RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOworICAgIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21p
c2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4m
Jik7CiAKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgTmV0
d29ya0xvYWRNZXRyaWNzJikgZmluYWw7CiAKLSAgICBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9OwotICAgIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+
IG1fcHJvbWlzZTsKLSAgICBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVy
OwotICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVyczsKICAgICBD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IG1fY2FjaGVkU2NyaXB0OwogICAgIFVS
TCBtX3NvdXJjZVVSTDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4Njg4YWQ5MGRhZTNlY2U5NDllYTA5YjFlZmVlNWRhMjZmOTRjNzg2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCisrKyAvZGV2
L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSwg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFz
cyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI7Ci1jbGFzcyBEZWZlcnJlZFByb21pc2U7Ci0KLWNs
YXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgdmlydHVh
bCB+Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KCkgPSBkZWZhdWx0OwotCi0gICAgdmly
dHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciYsIFJlZlB0
cjxEZWZlcnJlZFByb21pc2U+KSA9IDA7Ci19OwotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwCmluZGV4IGE0MzM3NTg2NWJiZjFl
YzU5NzNiZjE3MmM5MWEzODUzMjM0ZTM3NGQuLmRmM2M2YjZlYmI4NGFmNzJlZDI5NTVmOTkxMWQw
N2E4N2FiMzUzMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZFNjcmlwdEZldGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZFNjcmlwdEZldGNoZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ3Jvc3NPcmln
aW5BY2Nlc3NDb250cm9sLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJTZXR0
aW5ncy5oIgorI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNiArNDgsNyBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRTY3JpcHQ+IENhY2hlZFNjcmlwdEZldGNoZXI6OnJlcXVlc3RNb2R1bGVTY3JpcHQoRG9j
dQogCiBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IENhY2hlZFNjcmlwdEZldGNo
ZXI6OnJlcXVlc3RTY3JpcHRXaXRoQ2FjaGUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwm
IHNvdXJjZVVSTCwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIFN0cmluZyYmIGludGVn
cml0eSwgT3B0aW9uYWw8UmVzb3VyY2VMb2FkUHJpb3JpdHk+IHJlc291cmNlTG9hZFByaW9yaXR5
KSBjb25zdAogeworICAgIC8vIFdpdGhvdXQgc2NyaXB0aW5nLCB0aGVyZSBpcyBubyB3YXkgdG8g
c3RhcnQgV29ya2Vycy4KICAgICBpZiAoIWRvY3VtZW50LnNldHRpbmdzKCkuaXNTY3JpcHRFbmFi
bGVkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCmluZGV4IGRmN2YzZDc0
NmQ1ZTMyYWJhYjUxNDc2YzlkZGFjYTYzYTQzNTEzNmMuLjdjZTU0NjliOWMwY2FmMTcxNWM1M2Y4
YzA4ZGY1ZjAzODNlYTA3YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCkBAIC01Miw2ICs1MiwyMyBAQCB2b2lkIHJl
cG9ydEV4Y2VwdGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1
ZSBleGNlcHRpb25WYWx1ZQogICAgIHJlcG9ydEV4Y2VwdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0
LCBleGNlcHRpb24sIGNhY2hlZFNjcmlwdCk7CiB9CiAKK1N0cmluZyByZXRyaWV2ZUVycm9yTWVz
c2FnZVdpdGhvdXROYW1lKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBWTSYg
dm0sIEpTVmFsdWUgZXhjZXB0aW9uLCBDYXRjaFNjb3BlJiBjYXRjaFNjb3BlKQoreworICAgIC8v
IEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTUwODc+IFdlYiBJbnNwZWN0b3I6IFdlYkNv
cmU6OnJlcG9ydEV4Y2VwdGlvbiBzaG91bGQgbm90IGV2YWx1YXRlIEphdmFTY3JpcHQgaGFuZGxp
bmcgZXhjZXB0aW9ucworICAgIC8vIElmIHRoaXMgaXMgYSBjdXN0b20gZXhjZXB0aW9uIG9iamVj
dCwgY2FsbCB0b1N0cmluZyBvbiBpdCB0byB0cnkgYW5kIGdldCBhIG5pY2Ugc3RyaW5nIHJlcHJl
c2VudGF0aW9uIGZvciB0aGUgZXhjZXB0aW9uLgorICAgIFN0cmluZyBlcnJvck1lc3NhZ2U7Cisg
ICAgaWYgKGF1dG8qIGVycm9yID0ganNEeW5hbWljQ2FzdDxFcnJvckluc3RhbmNlKj4odm0sIGV4
Y2VwdGlvbikpCisgICAgICAgIGVycm9yTWVzc2FnZSA9IGVycm9yLT5zYW5pdGl6ZWRNZXNzYWdl
U3RyaW5nKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICBlbHNlCisgICAgICAgIGVycm9yTWVz
c2FnZSA9IGV4Y2VwdGlvbi50b1dURlN0cmluZygmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisKKyAg
ICAvLyBXZSBuZWVkIHRvIGNsZWFyIGFueSBuZXcgZXhjZXB0aW9uIHRoYXQgbWF5IGJlIHRocm93
biBpbiB0aGUgdG9TdHJpbmcoKSBjYWxsIGFib3ZlLgorICAgIC8vIHJlcG9ydEV4Y2VwdGlvbigp
IGlzIG5vdCBzdXBwb3NlZCB0byBiZSBtYWtpbmcgbmV3IGV4Y2VwdGlvbnMuCisgICAgY2F0Y2hT
Y29wZS5jbGVhckV4Y2VwdGlvbigpOworICAgIHZtLmNsZWFyTGFzdEV4Y2VwdGlvbigpOworICAg
IHJldHVybiBlcnJvck1lc3NhZ2U7Cit9CisKIFN0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZShK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgVk0mIHZtLCBKU1ZhbHVlIGV4Y2Vw
dGlvbiwgQ2F0Y2hTY29wZSYgY2F0Y2hTY29wZSkKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93
ZWJraXQub3JnL2IvMTE1MDg3PiBXZWIgSW5zcGVjdG9yOiBXZWJDb3JlOjpyZXBvcnRFeGNlcHRp
b24gc2hvdWxkIG5vdCBldmFsdWF0ZSBKYXZhU2NyaXB0IGhhbmRsaW5nIGV4Y2VwdGlvbnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcu
aAppbmRleCAyZDNlMzExZjYxZWViNjg1YWFjMzU1NDZhYWUxNjBkYTk3OTBlZjVmLi5kMWY2ZGU5
Mzc0NzBjZTZkZjJjY2I2NDcyMjg0NzY2ZmQwMTk1ODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCkBAIC02NSw2ICs2NSw3
IEBAIFdFQkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgcmVqZWN0UHJvbWlzZVdpdGhH
ZXR0ZXJUeXBlRXJyb3IoSlNDOjpKU0dsb2JhCiBXRUJDT1JFX0VYUE9SVCBKU0M6OkVuY29kZWRK
U1ZhbHVlIHJlamVjdFByb21pc2VXaXRoVGhpc1R5cGVFcnJvcihEZWZlcnJlZFByb21pc2UmLCBj
b25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBvcGVyYXRpb25OYW1lKTsKIFdF
QkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgcmVqZWN0UHJvbWlzZVdpdGhUaGlzVHlw
ZUVycm9yKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBj
b25zdCBjaGFyKiBvcGVyYXRpb25OYW1lKTsKIAorU3RyaW5nIHJldHJpZXZlRXJyb3JNZXNzYWdl
V2l0aG91dE5hbWUoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Vk0mLCBKU0M6OkpTVmFsdWUg
ZXhjZXB0aW9uLCBKU0M6OkNhdGNoU2NvcGUmKTsKIFN0cmluZyByZXRyaWV2ZUVycm9yTWVzc2Fn
ZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpWTSYsIEpTQzo6SlNWYWx1ZSBleGNlcHRpb24s
IEpTQzo6Q2F0Y2hTY29wZSYpOwogV0VCQ09SRV9FWFBPUlQgdm9pZCByZXBvcnRFeGNlcHRpb24o
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNWYWx1ZSBleGNlcHRpb24sIENhY2hlZFNjcmlw
dCogPSBudWxscHRyKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkV4Y2VwdGlvbiosIENhY2hlZFNjcmlwdCogPSBudWxscHRy
LCBFeGNlcHRpb25EZXRhaWxzKiA9IG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDU4YjdkZjc2MGMwMGEzMWZmMDhl
ZDIyZGVlMjJhOGM3NDQzYWU4ZGQuLjlkNjk3ZDQ1OWI1NjM0NWNjODM5NjIwMjY2NzZlMDBhOThi
ZjQ5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdC5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJKU1dvcmtsZXRHbG9iYWxTY29w
ZS5oIgogI2luY2x1ZGUgIlJlamVjdGVkUHJvbWlzZVRyYWNrZXIuaCIKICNpbmNsdWRlICJSdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCiAj
aW5jbHVkZSAiU3RydWN0dXJlZENsb25lLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0
YS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC00MjIsNiArNDIzLDc5IEBA
IEpTQzo6SlNQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6aW5zdGFudGlhdGVTdHJlYW1pbmco
SlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvCiB9CiAjZW5kaWYKIAorc3RhdGljIFNjcmlwdE1vZHVs
ZUxvYWRlciogc2NyaXB0TW9kdWxlTG9hZGVyKEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGlmIChnbG9iYWxP
YmplY3QtPmluaGVyaXRzPEpTRE9NV2luZG93QmFzZT4odm0pKSB7CisgICAgICAgIGlmIChhdXRv
IGRvY3VtZW50ID0ganNDYXN0PGNvbnN0IEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCkt
PndyYXBwZWQoKS5kb2N1bWVudCgpKQorICAgICAgICAgICAgcmV0dXJuICZkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICBpZiAoZ2xv
YmFsT2JqZWN0LT5pbmhlcml0czxKU1JlbW90ZURPTVdpbmRvd0Jhc2U+KHZtKSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNXb3JrZXJH
bG9iYWxTY29wZUJhc2U+KHZtKSkKKyAgICAgICAgcmV0dXJuICZqc0Nhc3Q8Y29uc3QgSlNXb3Jr
ZXJHbG9iYWxTY29wZUJhc2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVy
KCk7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2xldEdsb2JhbFNj
b3BlQmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQoKS5tb2R1bGVMb2FkZXIoKTsKKyNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxK
U0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KHZtKSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisjZW5kaWYKKyAgICBkYXRhTG9nKCJVbmV4cGVjdGVkIGdsb2JhbCBvYmplY3Q6ICIsIEpT
VmFsdWUoZ2xvYmFsT2JqZWN0KSwgIlxuIik7CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNDOjpJZGVudGlmaWVyIEpTRE9NR2xv
YmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUg
bW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUg
c2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpT
Qzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0
byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICByZXR1
cm4gbG9hZGVyLT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1l
LCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJuIHsgfTsKK30K
KworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRl
ckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxv
YWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUg
cGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7CisgICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpT
RE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0g
c2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNFX0FORF9SRVRV
Uk4oc2NvcGUsIGxvYWRlci0+ZmV0Y2goZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVs
ZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hlcikpOworICAgIEpTQzo6SlNJbnRlcm5hbFBy
b21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOworICAgIHNjb3BlLnJlbGVhc2Uo
KTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKKyAg
ICByZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU1ZhbHVlIEpTRE9NR2xvYmFsT2JqZWN0Ojpt
b2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
Qzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwg
SlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7
CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlw
dE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxvYWRlci0+ZXZhbHVh
dGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgbW9kdWxlUmVjb3JkLCBz
Y3JpcHRGZXRjaGVyKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQorCitKU0M6
OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVySW1wb3J0
TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxv
YWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFs
dWUgcGFyYW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKK3sK
KyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0g
SlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChh
dXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIFJF
TEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbG9hZGVyLT5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0
LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFtZXRlcnMsIHNvdXJjZU9yaWdpbikpOwor
ICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9t
aXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkp
OworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0
LCBqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU09iamVj
dCogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0
aWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTTW9kdWxlUmVj
b3JkKiBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIEpT
RE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmpl
Y3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVM
b2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmNyZWF0ZUltcG9ydE1l
dGFQcm9wZXJ0aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVs
ZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0
KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3Ry
dWN0dXJlKCkpOworfQorCiBKU0RPTUdsb2JhbE9iamVjdCYgY2FsbGVyR2xvYmFsT2JqZWN0KEpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUmIGNhbGxGcmFtZSkK
IHsKICAgICBjbGFzcyBHZXRDYWxsZXJHbG9iYWxPYmplY3RGdW5jdG9yIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCmluZGV4IGI4NDA3MmRkZDc0
NmIzZDZjNTEwNjBkOTA1MDFiNWNlYTFiNDk5YjEuLmY0OWE0Y2QyNTcxOTcxMTg5MTdhN2Q3YTRi
NmMwZTExZmM3NmJhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01H
bG9iYWxPYmplY3QuaApAQCAtMTA1LDYgKzEwNSwxMiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBK
U0RPTUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsT2JqZWN0IHsKICAgICBzdGF0
aWMgSlNDOjpKU1Byb21pc2UqIGluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNPYmplY3QqKTsKICNlbmRpZgogCisgICAgc3RhdGlj
IEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVsZUxvYWRl
ckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpK
U1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNW
YWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01v
ZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwor
ICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1
bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTU3Ry
aW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYpOworICAgIHN0YXRp
YyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwg
SlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7CisKICAgICBKU0RPTVN0cnVjdHVy
ZU1hcCBtX3N0cnVjdHVyZXM7CiAgICAgSlNET01Db25zdHJ1Y3Rvck1hcCBtX2NvbnN0cnVjdG9y
czsKICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3VhcmRlZE9iamVjdHM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCA1NjNlZmEwNTcx
YjVkNDYyZDllNjQ1MDg5ZjBiZDhmNzdkMTlhNzY4Li4zMTJhMDExNThlOGMyODA4M2MwN2U0MmRi
ODcyNDVmZTRlNWM1N2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93QmFzZS5jcHAKQEAgLTMzOSw1NCArMzM5LDQgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6
OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRvdyhET01XaW5kb3cqIHdpbmRvdykK
ICAgICB9CiB9CiAKLUpTQzo6SWRlbnRpZmllciBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRl
clJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxl
TG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFs
dWUgaW1wb3J0ZXJNb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAg
IEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFz
ZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0
aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50
LT5tb2R1bGVMb2FkZXIoKS5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1
bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIHsg
fTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVM
b2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1
bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1Zh
bHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8
SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50
PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICBS
RUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5mZXRjaChn
bG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBwYXJhbWV0ZXJzLCBzY3JpcHRG
ZXRjaGVyKSk7Ci0gICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogcHJvbWlzZSA9IEpTQzo6SlNJ
bnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VT
dHJ1Y3R1cmUoKSk7Ci0gICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHByb21pc2UtPnJlamVjdChn
bG9iYWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOwotICAgIHJldHVybiBwcm9taXNlOwotfQotCi1K
U0M6OkpTVmFsdWUgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxv
YWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwg
SlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlz
T2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAg
ICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5k
b2N1bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmV2YWx1
YXRlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwg
c2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKLX0KLQotSlND
OjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJJbXBvcnRN
b2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNTdHJpbmcqIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1
ZSBwYXJhbWV0ZXJzLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYgc291cmNlT3JpZ2luKQotewot
ICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlND
Ojpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRy
PERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQot
ICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIo
KS5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBh
cmFtZXRlcnMsIHNvdXJjZU9yaWdpbikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHBy
b21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+
aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBw
cm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4g
cHJvbWlzZTsKLX0KLQotSlNDOjpKU09iamVjdCogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2Fk
ZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1v
ZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCogbW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUg
c2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6
OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8
RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0g
ICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuY3JlYXRlSW1wb3J0TWV0YVBy
b3BlcnRpZXMoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgbW9kdWxlUmVj
b3JkLCBzY3JpcHRGZXRjaGVyKTsKLSAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZ2xv
YmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPm51bGxQcm90b3R5cGVPYmplY3RTdHJ1Y3R1
cmUoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKaW5kZXggM2VmOTgwZGQyN2Y2YjIxMzk4NzAwOGJh
NDc2YzhjYTY5ZjJmMGI2NC4uNTE0MmIxYzdkYzI1YzIyZmU5Nzg5NWU3NWFlMjJlZjRkMWU1ODlk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKQEAg
LTk5LDEyICs5OSw2IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEpTRE9NV2luZG93QmFzZSA6IHB1
YmxpYyBKU0RPTUdsb2JhbE9iamVjdCB7CiBwcml2YXRlOgogICAgIHVzaW5nIFJlc3BvbnNlQ2Fs
bGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgY2hhciosIHNpemVfdCk+OwogCi0gICAg
c3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUs
IEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVs
ZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpT
Qzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFs
dWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJJbXBv
cnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6
OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYpOwotICAg
IHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVy
dGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNW
YWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7Ci0KICAgICBSZWZQdHI8
RE9NV2luZG93PiBtX3dyYXBwZWQ7CiAgICAgUmVmUHRyPEV2ZW50PiBtX2N1cnJlbnRFdmVudDsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V4ZWNTdGF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFeGVjU3RhdGUuaAppbmRleCAyN2Y3NjUw
ZGE2YThlZTQ0ZjM1Zjk0N2Q0OThlYTM4MWM2Yzk0MzFmLi5kNjNlNWFjYzdlMTRjODgzMmMwNDk2
ZmU1ZTNkNjRlN2NmYmViZGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0V4ZWNTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXhlY1N0
YXRlLmgKQEAgLTEwMyw2ICsxMDMsMTIgQEAgY2xhc3MgSlNFeGVjU3RhdGUgewogICAgICAgICBy
ZXR1cm4gKkpTQzo6bG9hZE1vZHVsZSgmbGV4aWNhbEdsb2JhbE9iamVjdCwgc291cmNlQ29kZSwg
c2NyaXB0RmV0Y2hlcik7CiAgICAgfQogCisgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21p
c2UmIGxvYWRBbmRFdmFsdWF0ZU1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBwYXJhbWV0
ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKKyAgICB7CisgICAgICAgIEpTRXhlY1N0
YXRlIGN1cnJlbnRTdGF0ZSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiAq
SlNDOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUoJmxleGljYWxHbG9iYWxPYmplY3QsIG1vZHVsZU5h
bWUsIHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpOworICAgIH0KKwogICAgIHN0YXRpYyBKU0M6
OkpTVmFsdWUgbGlua0FuZEV2YWx1YXRlTW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgbW9kdWxlS2V5LCBKU0M6OkpT
VmFsdWUgc2NyaXB0RmV0Y2hlciwgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+JiByZXR1cm5lZEV4
Y2VwdGlvbikKICAgICB7CiAgICAgICAgIEpTQzo6Vk0mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNh
bEdsb2JhbE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggNDJiMjZjOWY0ZWEyMTYyMDdkZTRjODY4
MjBiOGE4MWI2MDM1YjdlYi4uMmQ3OTNmZmYyMTg1M2E4YTFhNzg4MDY2NzI1MGY1N2U3NTJmZTNm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxT
Y29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xv
YmFsU2NvcGVCYXNlLmNwcApAQCAtNTksMTEgKzU5LDExIEBAIGNvbnN0IEdsb2JhbE9iamVjdE1l
dGhvZFRhYmxlIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRh
YmxlCiAgICAgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsCiAgICAgJnF1ZXVlTWljcm90YXNrVG9F
dmVudExvb3AsCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAg
bnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9k
dWxlTG9hZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAg
bnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBu
dWxscHRyLCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRN
b2R1bGUsCisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNo
LAorICAgICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9k
dWxlTG9hZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZy
ZXBvcnRVbmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhl
Y3V0aW9uT3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCAzNWZhNmUzMjc3ZmIwZDRiZTBlMGUxZWRj
NDM3MjJlZGFkZmM4YWYyLi45ZmFlYzk1OWMzOWQxNzQ4MTgxYzk4NjUwMDNkNWE4NmYxN2Y1ZTNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxT
Y29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEds
b2JhbFNjb3BlQmFzZS5jcHAKQEAgLTQ5LDExICs0OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RN
ZXRob2RUYWJsZSBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFsT2JqZWN0TWV0aG9k
VGFibAogICAgICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLAogICAgIG51bGxwdHIsIC8vIHF1ZXVl
TWljcm90YXNrVG9FdmVudExvb3AKICAgICAmc2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGlt
ZW91dCwKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUKLSAgICBudWxs
cHRyLCAvLyBtb2R1bGVMb2FkZXJSZXNvbHZlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVy
RmV0Y2gKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVy
dGllcwotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckV2YWx1YXRlCisgICAgJm1vZHVsZUxv
YWRlckltcG9ydE1vZHVsZSwKKyAgICAmbW9kdWxlTG9hZGVyUmVzb2x2ZSwKKyAgICAmbW9kdWxl
TG9hZGVyRmV0Y2gsCisgICAgJm1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVz
LAorICAgICZtb2R1bGVMb2FkZXJFdmFsdWF0ZSwKICAgICAmcHJvbWlzZVJlamVjdGlvblRyYWNr
ZXIsCiAgICAgJnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uQXRFdmVudExvb3AsCiAgICAgJmN1cnJl
bnRTY3JpcHRFeGVjdXRpb25Pd25lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
TW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE5MTBlOTQ5YjdhYzFhMzhlZGVlY2Iw
M2RlYjZlZTg5NGNjZWIwZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5j
bHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
U2NyaXB0RmV0Y2hlci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworCitjbGFzcyBN
b2R1bGVTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxNb2R1bGVTY3JpcHRMb2FkZXI+
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2FkZXIoKSA9IGRlZmF1bHQ7
CisKKyAgICB2b2lkIGNsZWFyQ2xpZW50KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX2NsaWVu
dCk7CisgICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICBKU0M6OlNjcmlw
dEZldGNoZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVybiBtX3NjcmlwdEZldGNoZXIuZ2V0KCk7
IH0KKyAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMoKSB7IHJldHVybiBtX3Bh
cmFtZXRlcnMuZ2V0KCk7IH0KKworcHJvdGVjdGVkOgorICAgIE1vZHVsZVNjcmlwdExvYWRlcihN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNl
LCBKU0M6OlNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBh
cmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICAgICAgOiBtX2NsaWVudCgmY2xpZW50KQorICAg
ICAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkKKyAgICAgICAgLCBtX3NjcmlwdEZldGNoZXIoc2Ny
aXB0RmV0Y2hlcikKKyAgICAgICAgLCBtX3BhcmFtZXRlcnMoV1RGTW92ZShwYXJhbWV0ZXJzKSkK
KyAgICB7CisgICAgfQorCisgICAgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KiBtX2NsaWVudDsK
KyAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBtX3Byb21pc2U7CisgICAgUmVmPEpTQzo6U2Ny
aXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVyOworICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFt
ZXRlcnM+IG1fcGFyYW1ldGVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjk5NWY0OGVlM2QxZTAyYzFkOGM5YzlkYTJiZDU4MjM2ZjNiYTA3ZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyOworY2xhc3MgRGVmZXJyZWRQcm9taXNlOwor
CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwg
fk1vZHVsZVNjcmlwdExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9p
ZCBub3RpZnlGaW5pc2hlZChNb2R1bGVTY3JpcHRMb2FkZXImLCBVUkwmJiwgUmVmPERlZmVycmVk
UHJvbWlzZT4pID0gMDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCmluZGV4IGFhNWI4MGI1ODZiNzllMGU1NzUwMWNkNTEw
NzhkZjI1YTYyNWU1ZDkuLjgzODYwMDA1YjZlMWQ1MTMyM2Q4ODk4MmMwNTAzODUzMmE3ZjJiZjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVy
LmNwcApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdEZl
dGNoZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
QEAgLTQxLDYgKzQwLDggQEAKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVk
ZSAiU3VicmVzb3VyY2VJbnRlZ3JpdHkuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRh
LmgiCisjaW5jbHVkZSAiV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29y
a2VyU2NyaXB0RmV0Y2hlci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbXBsZXRpb24u
aD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTTW9kdWxlUmVjb3JkLmg+CkBAIC01Miw4ICs1Myw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVM
b2FkZXIoRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK1Nj
cmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIE93bmVyVHlwZSBvd25lclR5cGUpCisgICAgOiBtX2NvbnRleHQoY29udGV4
dCkKKyAgICAsIG1fb3duZXJUeXBlKG93bmVyVHlwZSkKIHsKIH0KIApAQCAtNjgsNyArNzAsNyBA
QCBzdGF0aWMgYm9vbCBpc1Jvb3RNb2R1bGUoSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5
KQogICAgIHJldHVybiBpbXBvcnRlck1vZHVsZUtleS5pc1N5bWJvbCgpIHx8IGltcG9ydGVyTW9k
dWxlS2V5LmlzVW5kZWZpbmVkKCk7CiB9CiAKLXN0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4g
cmVzb2x2ZU1vZHVsZVNwZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYg
c3BlY2lmaWVyLCBjb25zdCBVUkwmIGJhc2VVUkwpCitzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJp
bmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGUgb3duZXJUeXBlLCBjb25zdCBTdHJpbmcm
IHNwZWNpZmllciwgY29uc3QgVVJMJiBiYXNlVVJMKQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNyZXNvbHZlLWEtbW9kdWxl
LXNwZWNpZmllcgogCkBAIC03OSw3ICs4MSwxMiBAQCBzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJp
bmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdAog
ICAgIGlmICghc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSAmJiAhc3BlY2lmaWVyLnN0YXJ0c1dp
dGgoIi4vIikgJiYgIXNwZWNpZmllci5zdGFydHNXaXRoKCIuLi8iKSkKICAgICAgICAgcmV0dXJu
IG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBzcGVjaWZpZXIsICciX3MsIHNwZWNp
ZmllciwgIicgZG9lcyBub3Qgc3RhcnQgd2l0aCBcIi9cIiwgXCIuL1wiLCBvciBcIi4uL1wiLiBS
ZWZlcmVuY2VkIGZyb20gIl9zLCBiYXNlVVJMLnN0cmluZygpKSk7CiAKLSAgICBhdXRvIHJlc3Vs
dCA9IGRvY3VtZW50LmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgVVJMIHJl
c3VsdDsKKyAgICBpZiAob3duZXJUeXBlID09IFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBl
OjpEb2N1bWVudCkKKyAgICAgICAgcmVzdWx0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQp
LmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgZWxzZQorICAgICAgICByZXN1
bHQgPSBVUkwoYmFzZVVSTCwgc3BlY2lmaWVyKTsKKwogICAgIGlmICghcmVzdWx0LmlzVmFsaWQo
KSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBuYW1l
LCAnIl9zLCByZXN1bHQuc3RyaW5nKCksICInIGRvZXMgbm90IHJlc29sdmUgdG8gYSB2YWxpZCBV
UkwuIl9zKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEwNyw3ICsxMTQsNyBAQCBKU0M6Oklk
ZW50aWZpZXIgU2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
IGpzR2xvYmFsT2JqZWN0LAogICAgIFVSTCBiYXNlVVJMID0gcmVzcG9uc2VVUkxGcm9tUmVxdWVz
dFVSTCgqanNHbG9iYWxPYmplY3QsIGltcG9ydGVyTW9kdWxlS2V5KTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxl
U3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgYXV0byByZXN1
bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9vd25lclR5cGUsIHNwZWNp
ZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpIHsKICAgICAgICAgSlNDOjp0aHJvd1R5
cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2NvcGUsIHJlc3VsdC5lcnJvcigpKTsKICAgICAgICAg
cmV0dXJuIHsgfTsKQEAgLTE2MSwxMyArMTY4LDE5IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2Uq
IFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxP
CiAgICAgaWYgKGF1dG8qIHNjcmlwdEZldGNoUGFyYW1ldGVycyA9IEpTQzo6anNEeW5hbWljQ2Fz
dDxKU0M6OkpTU2NyaXB0RmV0Y2hQYXJhbWV0ZXJzKj4odm0sIHBhcmFtZXRlcnMpKQogICAgICAg
ICB0b3BMZXZlbEZldGNoUGFyYW1ldGVycyA9IHN0YXRpY19jYXN0PE1vZHVsZUZldGNoUGFyYW1l
dGVycyo+KCZzY3JpcHRGZXRjaFBhcmFtZXRlcnMtPnBhcmFtZXRlcnMoKSk7CiAKLSAgICBhdXRv
IGxvYWRlciA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJl
ZC5nZXQoKSwgKnN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxK
U0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3Zl
KHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7Ci0gICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29w
eVJlZigpKTsKLSAgICBpZiAoIWxvYWRlci0+bG9hZChtX2RvY3VtZW50LCBjb21wbGV0ZWRVUkwp
KSB7Ci0gICAgICAgIGxvYWRlci0+Y2xlYXJDbGllbnQoKTsKLSAgICAgICAgbV9sb2FkZXJzLnJl
bW92ZShXVEZNb3ZlKGxvYWRlcikpOwotICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtF
cnJvcihkZWZlcnJlZC5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwg
IkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybiBq
c1Byb21pc2U7CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsK
KyAgICAgICAgYXV0byBsb2FkZXIgPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgq
dGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4o
SlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNoZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hl
cigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFyYW1ldGVycykpOworICAgICAgICBtX2xvYWRl
cnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOworICAgICAgICBpZiAoIWxvYWRlci0+bG9hZChkb3du
Y2FzdDxEb2N1bWVudD4obV9jb250ZXh0KSwgV1RGTW92ZShjb21wbGV0ZWRVUkwpKSkgeworICAg
ICAgICAgICAgbG9hZGVyLT5jbGVhckNsaWVudCgpOworICAgICAgICAgICAgbV9sb2FkZXJzLnJl
bW92ZShXVEZNb3ZlKGxvYWRlcikpOworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3
b3JrRXJyb3IoZGVmZXJyZWQuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9y
ZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOworICAgICAgICAgICAg
cmV0dXJuIGpzUHJvbWlzZTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGF1dG8g
bG9hZGVyID0gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVk
LmdldCgpLCAqc3RhdGljX2Nhc3Q8V29ya2VyU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpT
Qzo6SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUo
dG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKKyAgICAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIu
Y29weVJlZigpKTsKKyAgICAgICAgbG9hZGVyLT5sb2FkKG1fY29udGV4dCwgV1RGTW92ZShjb21w
bGV0ZWRVUkwpKTsKICAgICB9CiAKICAgICByZXR1cm4ganNQcm9taXNlOwpAQCAtMTc2LDcgKzE4
OSw3IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2go
SlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPCiBVUkwgU2NyaXB0TW9kdWxlTG9hZGVyOjpt
b2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVLZXlWYWx1ZSkKIHsKICAgICBpZiAobW9kdWxlS2V5VmFsdWUuaXNTeW1ib2woKSkK
LSAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQudXJsKCk7CisgICAgICAgIHJldHVybiBtX2NvbnRl
eHQudXJsKCk7CiAKICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CiAgICAg
cmV0dXJuIFVSTChVUkwoKSwgYXNTdHJpbmcobW9kdWxlS2V5VmFsdWUpLT52YWx1ZSgmanNHbG9i
YWxPYmplY3QpKTsKQEAgLTE4Nyw4ICsyMDAsMTEgQEAgVVJMIFNjcmlwdE1vZHVsZUxvYWRlcjo6
cmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE8K
ICAgICBKU0M6OlZNJiB2bSA9IGpzR2xvYmFsT2JqZWN0LnZtKCk7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKGlzUm9vdE1vZHVsZShtb2R1bGVL
ZXlWYWx1ZSkpCi0gICAgICAgIHJldHVybiBtX2RvY3VtZW50LmJhc2VVUkwoKTsKKyAgICBpZiAo
aXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkgeworICAgICAgICBpZiAobV9vd25lclR5cGUg
PT0gT3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgICAgIHJldHVybiBkb3duY2FzdDxEb2N1
bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7CisgICAgICAgIHJldHVybiBtX2NvbnRleHQudXJs
KCk7CisgICAgfQogCiAgICAgQVNTRVJUKCFpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKTsK
ICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CkBAIC0yMTksOCArMjM1LDE0
IEBAIEpTQzo6SlNWYWx1ZSBTY3JpcHRNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LCBKCiAgICAgaWYgKCFzb3VyY2VVUkwuaXNWYWxpZCgp
KQogICAgICAgICByZXR1cm4gSlNDOjp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2Nv
cGUsICJNb2R1bGUga2V5IGlzIGFuIGludmFsaWQgVVJMLiJfcyk7CiAKLSAgICBpZiAoYXV0byog
ZnJhbWUgPSBtX2RvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIHJldHVybiBmcmFtZS0+c2NyaXB0
KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAgICBpZiAobV9v
d25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBpZiAoYXV0byogZnJh
bWUgPSBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5mcmFtZSgpKQorICAgICAgICAgICAg
cmV0dXJuIGZyYW1lLT5zY3JpcHQoKS5ldmFsdWF0ZU1vZHVsZShzb3VyY2VVUkwsICptb2R1bGVS
ZWNvcmQpOworICAgIH0gZWxzZSB7CisgICAgICAgIEFTU0VSVChpczxXb3JrZXJPcldvcmtsZXRH
bG9iYWxTY29wZT4obV9jb250ZXh0KSk7CisgICAgICAgIGlmIChhdXRvKiBzY3JpcHQgPSBkb3du
Y2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KS5zY3JpcHQoKSkKKyAg
ICAgICAgICAgIHJldHVybiBzY3JpcHQtPmV2YWx1YXRlTW9kdWxlKCptb2R1bGVSZWNvcmQpOwor
ICAgIH0KICAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwogfQogCkBAIC0yNDgsOCArMjcw
LDEzIEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0
TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzCiAgICAgVVJMIGJhc2VVUkw7CiAgICAgUmVm
UHRyPEpTQzo6U2NyaXB0RmV0Y2hlcj4gc2NyaXB0RmV0Y2hlcjsKICAgICBpZiAoc291cmNlT3Jp
Z2luLmlzTnVsbCgpKSB7Ci0gICAgICAgIGJhc2VVUkwgPSBtX2RvY3VtZW50LmJhc2VVUkwoKTsK
LSAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2Rv
Y3VtZW50LmNoYXJzZXQoKSk7CisgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6
OkRvY3VtZW50KSB7CisgICAgICAgICAgICBiYXNlVVJMID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1f
Y29udGV4dCkuYmFzZVVSTCgpOworICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNj
cmlwdEZldGNoZXI6OmNyZWF0ZShkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5jaGFyc2V0
KCkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYmFzZVVSTCA9IG1fY29udGV4dC51
cmwoKTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpj
cmVhdGUoRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbik7CisgICAgICAgIH0K
ICAgICB9IGVsc2UgewogICAgICAgICBiYXNlVVJMID0gVVJMKFVSTCgpLCBzb3VyY2VPcmlnaW4u
c3RyaW5nKCkpOwogICAgICAgICBpZiAoIWJhc2VVUkwuaXNWYWxpZCgpKQpAQCAtMjU3LDE0ICsy
ODQsMTkgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9hZGVyOjppbXBv
cnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganMKIAogICAgICAgICBpZiAoc291cmNlT3Jp
Z2luLmZldGNoZXIoKSkKICAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBzb3VyY2VPcmlnaW4u
ZmV0Y2hlcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2Fj
aGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKG1fZG9jdW1lbnQuY2hhcnNldCgpKTsKKworICAgICAg
ICBpZiAoIXNjcmlwdEZldGNoZXIpIHsKKyAgICAgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBP
d25lclR5cGU6OkRvY3VtZW50KQorICAgICAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNo
ZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUoZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuY2hh
cnNldCgpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzY3JpcHRGZXRjaGVy
ID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6
OlNhbWVPcmlnaW4pOworICAgICAgICB9CiAgICAgfQogICAgIEFTU0VSVChiYXNlVVJMLmlzVmFs
aWQoKSk7CiAgICAgQVNTRVJUKHNjcmlwdEZldGNoZXIpOwogCiAgICAgYXV0byBzcGVjaWZpZXIg
PSBtb2R1bGVOYW1lLT52YWx1ZShqc0dsb2JhbE9iamVjdCk7Ci0gICAgYXV0byByZXN1bHQgPSBy
ZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7Cisg
ICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9vd25l
clR5cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJl
dHVybiByZWplY3RQcm9taXNlKGdsb2JhbE9iamVjdCwgVHlwZUVycm9yLCByZXN1bHQuZXJyb3Io
KSk7CiAKQEAgLTI4OCw2MiArMzIwLDEwNyBAQCBKU0M6OkpTT2JqZWN0KiBTY3JpcHRNb2R1bGVM
b2FkZXI6OmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplYwogICAg
IHJldHVybiBtZXRhUHJvcGVydGllczsKIH0KIAotdm9pZCBTY3JpcHRNb2R1bGVMb2FkZXI6Om5v
dGlmeUZpbmlzaGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciYgbG9hZGVyLCBSZWZQdHI8RGVm
ZXJyZWRQcm9taXNlPiBwcm9taXNlKQordm9pZCBTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZp
bmlzaGVkKE1vZHVsZVNjcmlwdExvYWRlciYgbW9kdWxlU2NyaXB0TG9hZGVyLCBVUkwmJiBzb3Vy
Y2VVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+IHByb21pc2UpCiB7CiAgICAgLy8gaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2lu
Z2xlLW1vZHVsZS1zY3JpcHQKIAotICAgIFVSTCBzb3VyY2VVUkwgPSBsb2FkZXIuc291cmNlVVJM
KCk7Ci0gICAgaWYgKCFtX2xvYWRlcnMucmVtb3ZlKCZsb2FkZXIpKQorICAgIGlmICghbV9sb2Fk
ZXJzLnJlbW92ZSgmbW9kdWxlU2NyaXB0TG9hZGVyKSkKICAgICAgICAgcmV0dXJuOwotICAgIGxv
YWRlci5jbGVhckNsaWVudCgpOworICAgIG1vZHVsZVNjcmlwdExvYWRlci5jbGVhckNsaWVudCgp
OwogCi0gICAgYXV0byYgY2FjaGVkU2NyaXB0ID0gKmxvYWRlci5jYWNoZWRTY3JpcHQoKTsKKyAg
ICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBhdXRv
JiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVT
Y3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9hZGVyLmNhY2hl
ZFNjcmlwdCgpOwogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC5yZXNvdXJjZUVycm9yKCkuaXNBY2Nl
c3NDb250cm9sKCkpIHsKLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgIkNyb3Nz
LW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJp
bmcgcG9saWN5LiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNo
ZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAg
ICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRl
bmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIl9zKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC5lcnJvck9j
Y3VycmVkKCkpIHsKLSAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoKnByb21p
c2UsIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1
bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBp
ZiAoY2FjaGVkU2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgcmVqZWN0VG9Q
cm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2lu
ZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlmIChjYWNoZWRTY3JpcHQud2Fz
Q2FuY2VsZWQoKSkgewotICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcigqcHJv
bWlzZSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBt
b2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Cisg
ICAgICAgIGlmIChjYWNoZWRTY3JpcHQud2FzQ2FuY2VsZWQoKSkgeworICAgICAgICAgICAgcmVq
ZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWls
dXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNl
bGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlmICghTUlN
RVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUoY2FjaGVkU2NyaXB0
LnJlc3BvbnNlKCkubWltZVR5cGUoKSkpIHsKLSAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVs
ZS1zY3JpcHQKLSAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBl
IGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90
IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCi0gICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJlYXNv
bnMsIGZldGNoaW5nIGEgY2xhc3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5cGUg
Y2hlY2tpbmcuIEluIGNvbnRyYXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9hZCBp
ZiB0aGV5IGFyZSBub3Qgb2YgYSBjb3JyZWN0IE1JTUUgdHlwZS4KLSAgICAgICAgcHJvbWlzZS0+
cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgp
Lm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojpp
c1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZShjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1l
VHlwZSgpKSkgeworICAgICAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9t
dWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKKyAg
ICAgICAgICAgIC8vIFRoZSByZXN1bHQgb2YgZXh0cmFjdGluZyBhIE1JTUUgdHlwZSBmcm9tIHJl
c3BvbnNlJ3MgaGVhZGVyIGxpc3QgKGlnbm9yaW5nIHBhcmFtZXRlcnMpIGlzIG5vdCBhIEphdmFT
Y3JpcHQgTUlNRSB0eXBlLgorICAgICAgICAgICAgLy8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywg
ZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVj
a2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRo
ZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgorICAgICAgICAgICAgcHJvbWlzZS0+
cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgp
Lm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChhdXRvKiBwYXJh
bWV0ZXJzID0gbG9hZGVyLnBhcmFtZXRlcnMoKSkgeworICAgICAgICAgICAgaWYgKCFtYXRjaElu
dGVncml0eU1ldGFkYXRhKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkpKSB7
CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygi
Q2Fubm90IGxvYWQgc2NyaXB0ICIsIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRpb24oY2FjaGVk
U2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpKTsKKyAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBVUkwgcmVzcG9uc2VVUkwg
PSBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS51cmwoKTsKKyAgICAgICAgLy8gSWYgd2UgZG8gbm90
IGhhdmUgcmVkaXJlY3Rpb24sIHdlIG11c3QgcmVzZXJ2ZSB0aGUgc291cmNlIFVSTCdzIGZyYWdt
ZW50IGV4cGxpY2l0bHkgaGVyZSBzaW5jZSBSZXNvdXJjZVJlc3BvbnNlOjp1cmwoKSBpcyB0aGUg
b25lIHdoZW4gd2UgZmlyc3QgY2FjaGUgaXQgdG8gTWVtb3J5Q2FjaGUuCisgICAgICAgIC8vIEZJ
WE1FOiBXZSBzaG91bGQgdHJhY2sgZnJhZ21lbnRzIHRocm91Z2ggcmVkaXJlY3Rpb25zLgorICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCisg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0OTAK
KyAgICAgICAgaWYgKCFjYWNoZWRTY3JpcHQuaGFzUmVkaXJlY3Rpb25zKCkgJiYgY2FjaGVkU2Ny
aXB0LnJlc3BvbnNlKCkuc291cmNlKCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2
aWNlV29ya2VyKSB7CisgICAgICAgICAgICBpZiAoc291cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRp
ZmllcigpKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlVVJMLnNldEZyYWdtZW50SWRlbnRpZmll
cihzb3VyY2VVUkwuZnJhZ21lbnRJZGVudGlmaWVyKCkpOworICAgICAgICB9CisKKyAgICAgICAg
bV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcC5hZGQoc291cmNlVVJMLnN0cmluZygpLCBXVEZN
b3ZlKHJlc3BvbnNlVVJMKSk7CisgICAgICAgIHByb21pc2UtPnJlc29sdmVXaXRoQ2FsbGJhY2so
WyZdIChKU0RPTUdsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QpIHsKKyAgICAgICAgICAgIHJl
dHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0LnZtKCksCisgICAg
ICAgICAgICAgICAgSlNDOjpTb3VyY2VDb2RlIHsgU2NyaXB0U291cmNlQ29kZSB7ICZjYWNoZWRT
Y3JpcHQsIEpTQzo6U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUsIGxvYWRlci5zY3Jp
cHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9KTsKKyAgICAgICAgfSk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgYXV0byYgbG9hZGVyID0gc3RhdGljX2Nhc3Q8V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyJj4obW9kdWxlU2NyaXB0TG9hZGVyKTsKKyAgICAgICAgYXV0byYgd29ya2VyU2NyaXB0
TG9hZGVyID0gbG9hZGVyLnNjcmlwdExvYWRlcigpOwogCi0gICAgaWYgKGF1dG8qIHBhcmFtZXRl
cnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7Ci0gICAgICAgIGlmICghbWF0Y2hJbnRlZ3JpdHlN
ZXRhZGF0YShjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkgewotICAgICAg
ICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiQ2Fubm90IGxvYWQg
c2NyaXB0ICIsIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRpb24oY2FjaGVkU2NyaXB0LCBwYXJh
bWV0ZXJzLT5pbnRlZ3JpdHkoKSkpKTsKKyAgICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5m
YWlsZWQoKSkgeworICAgICAgICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5lcnJvcigpLmlz
QWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVF
cnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJl
c291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVycm9yKCku
aXNDYW5jZWxsYXRpb24oKSkgeworICAgICAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0
d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNl
bGVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3MpOworICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVqZWN0VG9Q
cm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2lu
ZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICB9CiAKLSAgICBVUkwgcmVzcG9uc2VV
UkwgPSBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS51cmwoKTsKLSAgICAvLyBJZiB3ZSBkbyBub3Qg
aGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21l
bnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBv
bmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KLSAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIHRyYWNrIGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KLSAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCi0gICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAotICAgIGlmICghY2Fj
aGVkU2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnNv
dXJjZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgewotICAg
ICAgICBpZiAoc291cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQotICAgICAgICAgICAg
cmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50
aWZpZXIoKSk7Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9y
dGVkSmF2YVNjcmlwdE1JTUVUeXBlKHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZU1JTUVUeXBl
KCkpKSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAorICAgICAg
ICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9u
c2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlw
dCBNSU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRj
aGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5n
LiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBh
cmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNlLT5yZWpl
Y3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNl
TUlNRVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBtX3JlcXVlc3RVUkxUb1Jlc3Bv
bnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsK
LSAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3Qm
IGpzR2xvYmFsT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3Jl
YXRlKGpzR2xvYmFsT2JqZWN0LnZtKCksCi0gICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBT
Y3JpcHRTb3VyY2VDb2RlIHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJj
ZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0p
OwotICAgIH0pOworICAgICAgICBVUkwgcmVzcG9uc2VVUkwgPSB3b3JrZXJTY3JpcHRMb2FkZXIu
cmVzcG9uc2VVUkwoKTsKKworICAgICAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlv
biwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBo
ZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJz
dCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KKyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0
cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRpcmVjdGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAorICAgICAgICBpZiAoIXdv
cmtlclNjcmlwdExvYWRlci5pc1JlZGlyZWN0ZWQoKSAmJiB3b3JrZXJTY3JpcHRMb2FkZXIucmVz
cG9uc2VTb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIp
IHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisg
ICAgICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVS
TC5mcmFnbWVudElkZW50aWZpZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBtX3JlcXVlc3RV
UkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIHJlc3BvbnNlVVJMKTsK
KyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2Jq
ZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VD
b2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNv
dXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgd29ya2VyU2NyaXB0TG9hZGVyLnNjcmlwdCgp
LCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlw
ZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7Cisg
ICAgICAgIH0pOworICAgIH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRNb2R1bGVMb2FkZXIuaAppbmRleCBkZTI5ZDJmNGJmMDk2YjYwYzM2OTk4MDMxNmMx
NDg2YjI4MmFiZjA5Li5kZjM0ZDU1MWExMWNkOThmNGUyMzZhMmFhMWY0ODI3OWQ5NjRjNjg1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaApA
QCAtMjUsOCArMjUsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlci5oIgotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIk1vZHVsZVNj
cmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgpAQCAtNDUsMTYgKzQ1LDE3IEBAIGNsYXNzIFNvdXJjZU9yaWdpbjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAotY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZp
bmFsIDogcHJpdmF0ZSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworY2xhc3MgU2Ny
aXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdE1vZHVsZUxvYWRlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRl
cihEb2N1bWVudCYpOworICAgIGVudW0gY2xhc3MgT3duZXJUeXBlIDogdWludDhfdCB7IERvY3Vt
ZW50LCBXb3JrZXJPcldvcmtsZXQgfTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE93bmVyVHlwZSk7CiAgICAgflNjcmlwdE1vZHVsZUxv
YWRlcigpOwogCi0gICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudDsg
fQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRl
eHQ7IH0KIAogICAgIEpTQzo6SWRlbnRpZmllciByZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNW
YWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwogICAg
IEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6
OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKQEAgLTYzLDEzICs2NCwxNSBA
QCBjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCB7CiAgICAgSlNDOjpKU09iamVjdCogY3JlYXRlSW1wb3J0TWV0YVBy
b3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6
OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwogCiBwcml2YXRl
OgotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVm
UHRyPERlZmVycmVkUHJvbWlzZT4pIGZpbmFsOworICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoTW9k
dWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSBmaW5hbDsKKwog
ICAgIFVSTCBtb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAg
ICAgVVJMIHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpT
Qzo6SlNWYWx1ZSk7CiAKLSAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFVSTD4gbV9yZXF1
ZXN0VVJMVG9SZXNwb25zZVVSTE1hcDsKLSAgICBIYXNoU2V0PFJlZjxDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXI+PiBtX2xvYWRlcnM7CisgICAgSGFzaFNldDxSZWY8TW9kdWxlU2NyaXB0TG9hZGVy
Pj4gbV9sb2FkZXJzOworICAgIE93bmVyVHlwZSBtX293bmVyVHlwZTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFNvdXJjZUNvZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJj
ZUNvZGUuaAppbmRleCBjNzA0NjI2ZmI3MzNkYjQ3MmJkYTUwMjM2MjQxYTZlNzQwZTI3ODJiLi4x
MGZhN2U4YjQ0OWM4Yjg0OWViMzdjYzFmMmM4NjZmYTg5M2FhZDZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291cmNlQ29kZS5oCkBAIC01Nyw3ICs1Nyw3IEBAIGNs
YXNzIFNjcmlwdFNvdXJjZUNvZGUgewogICAgIHsKICAgICB9CiAKLSAgICBTY3JpcHRTb3VyY2VD
b2RlKGNvbnN0IFN0cmluZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlvbiYg
c3RhcnRQb3NpdGlvbiwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlwZSwg
UmVmPENhY2hlZFNjcmlwdEZldGNoZXI+JiYgc2NyaXB0RmV0Y2hlcikKKyAgICBTY3JpcHRTb3Vy
Y2VDb2RlKGNvbnN0IFN0cmluZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlv
biYgc3RhcnRQb3NpdGlvbiwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlw
ZSwgUmVmPEpTQzo6U2NyaXB0RmV0Y2hlcj4mJiBzY3JpcHRGZXRjaGVyKQogICAgICAgICA6IG1f
cHJvdmlkZXIoSlNDOjpTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgSlNDOjpT
b3VyY2VPcmlnaW4geyB1cmwsIFdURk1vdmUoc2NyaXB0RmV0Y2hlcikgfSwgdXJsLnN0cmluZygp
LCBzdGFydFBvc2l0aW9uLCBzb3VyY2VUeXBlKSkKICAgICAgICAgLCBtX2NvZGUobV9wcm92aWRl
ci5jb3B5UmVmKCksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9z
aXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42ZDI3NDkzYTYwMTdmODA3ZDAwMWRmZjgzNmY0ZjI1MTc4YTE2ZTI2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyLmNwcApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorCisjaW5jbHVkZSAiQ2Fj
aGVkU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgorI2luY2x1
ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Q
cm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKKyNp
bmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKKyNpbmNsdWRlICJTY3JpcHRDb250cm9s
bGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0
U291cmNlQ29kZS5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRl
ICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyPiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNl
LCBXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQ
YXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RG
TW92ZShwYXJhbWV0ZXJzKSkpOworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Oldvcmtl
ck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVm
ZXJyZWRQcm9taXNlJiBwcm9taXNlLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVy
LCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1
bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9taXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBh
cmFtZXRlcnMpKQorICAgICwgbV9zY3JpcHRMb2FkZXIoV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVh
dGUoKSkKK3sKK30KKworV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjp+V29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyKCkKK3sKKyAgICBtX3NjcmlwdExvYWRlci0+Y2FuY2VsKCk7Cit9CisKK2Jvb2wg
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFVSTCYmIHNvdXJjZVVSTCkKK3sKKyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291
cmNlVVJMKTsKKworICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0IHsgbV9zb3VyY2VVUkwgfTsK
KworICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7CisgICAgZmV0Y2hPcHRpb25zLm1vZGUg
PSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnM7CisgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0
Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKKyAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBG
ZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CisgICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRp
YWxzID0gc3RhdGljX2Nhc3Q8V29ya2VyU2NyaXB0RmV0Y2hlciY+KHNjcmlwdEZldGNoZXIoKSku
Y3JlZGVudGlhbHMoKTsKKyAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50
ID0gY29udGV4dC5zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSA/
IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UgOiBDb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZUNoaWxkU3JjRGlyZWN0aXZlOworCisg
ICAgU3RyaW5nIHRhc2tNb2RlID0gImxvYWRNb2R1bGVzSW5Xb3JrZXJPcldvcmtsZXRNb2RlIl9z
OworICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92
ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXVEZNb3ZlKHRhc2tN
b2RlKSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyOjpub3RpZnlGaW5pc2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisKKyAgICBh
dXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsKKyAgICBpZiAobV9jbGllbnQpCisg
ICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJjZVVS
TCksIG1fcHJvbWlzZS5yZWxlYXNlTm9uTnVsbCgpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMTAwODBlZTkzMWJmYjBiMzNhOWY1NDczYjI5N2NhMmRjMmU0NzU4Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVy
Q2xpZW50LmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBKU0RPTUds
b2JhbE9iamVjdDsKK2NsYXNzIE1vZHVsZUZldGNoUGFyYW1ldGVyczsKK2NsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBX
b3JrZXJTY3JpcHRMb2FkZXI7CisKK2NsYXNzIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciBmaW5h
bCA6IHB1YmxpYyBNb2R1bGVTY3JpcHRMb2FkZXIsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVy
Q2xpZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRl
cj4gY3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIFdv
cmtlclNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKwor
ICAgIHZpcnR1YWwgfldvcmtlck1vZHVsZVNjcmlwdExvYWRlcigpOworCisgICAgYm9vbCBsb2Fk
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBVUkwmJiBzb3VyY2VVUkwpOworCisgICAgV29ya2Vy
U2NyaXB0TG9hZGVyJiBzY3JpcHRMb2FkZXIoKSB7IHJldHVybiBtX3NjcmlwdExvYWRlci5nZXQo
KTsgfQorCitwcml2YXRlOgorICAgIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiwg
UmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVS
ZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWwgeyB9
CisgICAgdm9pZCBub3RpZnlGaW5pc2hlZCgpIGZpbmFsOworCisgICAgUmVmPFdvcmtlclNjcmlw
dExvYWRlcj4gbV9zY3JpcHRMb2FkZXI7CisgICAgVVJMIG1fc291cmNlVVJMOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV29ya2VyU2NyaXB0RmV0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0RmV0Y2hlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2YjU0ZWY4OTRiNTMzZWFmY2ViYzFhMTRi
ZjI3NmEwM2VjYmExMGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmgKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTG9hZGFibGVTY3JpcHQuaCIKKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9TY3JpcHRGZXRjaGVyLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgQ2FjaGVkU2NyaXB0OworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIFdvcmtlclNj
cmlwdEZldGNoZXIgZmluYWwgOiBwdWJsaWMgSlNDOjpTY3JpcHRGZXRjaGVyIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPFdvcmtlclNjcmlwdEZldGNoZXI+IGNyZWF0ZShGZXRjaE9wdGlvbnM6
OkNyZWRlbnRpYWxzIGNyZWRlbnRpYWxzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgV29ya2VyU2NyaXB0RmV0Y2hlcihjcmVkZW50aWFscykpOworICAgIH0KKworICAgIEZl
dGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMoKSBjb25zdCB7IHJldHVybiBtX2Ny
ZWRlbnRpYWxzOyB9CisKKyAgICB2b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmlu
Z0ltcGwmIG1vZHVsZUtleSkKKyAgICB7CisgICAgICAgIG1fbW9kdWxlS2V5ID0gJm1vZHVsZUtl
eTsKKyAgICAgICAgbV9pc0xvYWRlZCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBub3RpZnlM
b2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciYmIGVycm9yKQorICAgIHsKKyAgICAgICAg
bV9lcnJvciA9IFdURk1vdmUoZXJyb3IpOworICAgICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAg
ICB9CisKKyAgICB2b2lkIG5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpCisgICAgeworICAgICAgICBt
X3dhc0NhbmNlbGVkID0gdHJ1ZTsKKyAgICAgICAgbV9pc0xvYWRlZCA9IHRydWU7CisgICAgfQor
CisgICAgYm9vbCBpc0xvYWRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMb2FkZWQ7IH0KKyAgICBP
cHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6RXJyb3I+IGVycm9yKCkgY29uc3QgeyByZXR1cm4gbV9l
cnJvcjsgfQorICAgIGJvb2wgd2FzQ2FuY2VsZWQoKSBjb25zdCB7IHJldHVybiBtX3dhc0NhbmNl
bGVkOyB9CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1vZHVsZUtleSgpIGNvbnN0IHsgcmV0dXJu
IG1fbW9kdWxlS2V5LmdldCgpOyB9CisKK3Byb3RlY3RlZDoKKyAgICBXb3JrZXJTY3JpcHRGZXRj
aGVyKEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMpCisgICAgICAgIDogbV9j
cmVkZW50aWFscyhjcmVkZW50aWFscykKKyAgICB7CisgICAgfQorCitwcml2YXRlOgorICAgIEZl
dGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFsczsKKyAgICBSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+IG1fbW9kdWxlS2V5OworICAgIE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpF
cnJvcj4gbV9lcnJvcjsKKyAgICBib29sIG1fd2FzQ2FuY2VsZWQgeyBmYWxzZSB9OworICAgIGJv
b2wgbV9pc0xvYWRlZCB7IGZhbHNlIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5YjIxMzhiNzdjMTgwZDcyMDk1MTgwMGUxNGUzNDdh
MTQzZTk3MTcxLi41NGNmZjA0YTk2ZGJjODA5ZDYzNmFhZWM4ZWNiMjA1ZTQ2NzdmMDQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYxNSw3ICs2MTUsNyBAQCBEb2N1bWVudDo6RG9jdW1l
bnQoRnJhbWUqIGZyYW1lLCBjb25zdCBTZXR0aW5ncyYgc2V0dGluZ3MsIGNvbnN0IFVSTCYgdXJs
LCBEb2N1bQogICAgICwgbV9kb2N1bWVudENyZWF0aW9uVGltZShNb25vdG9uaWNUaW1lOjpub3co
KSkKICNlbmRpZgogICAgICwgbV9zY3JpcHRSdW5uZXIobWFrZVVuaXF1ZTxTY3JpcHRSdW5uZXI+
KCp0aGlzKSkKLSAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9h
ZGVyPigqdGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVs
ZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpEb2N1bWVudCkp
CiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgLCBtX2FwcGx5UGVuZGluZ1hTTFRyYW5zZm9ybXNUaW1l
cigqdGhpcywgJkRvY3VtZW50OjphcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zVGltZXJGaXJlZCkK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2Ny
aXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKaW5k
ZXggOWEyNWMxNjU4OGVlY2FkNjc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uNDhlYzA4NTFhNDU3
ZDliYTQ3NDczZmVjMjhkN2I0OTMxMmI3ODhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9h
ZGFibGVNb2R1bGVTY3JpcHQuY3BwCkBAIC04OCwxNiArODgsNCBAQCB2b2lkIExvYWRhYmxlTW9k
dWxlU2NyaXB0OjpleGVjdXRlKFNjcmlwdEVsZW1lbnQmIHNjcmlwdEVsZW1lbnQpCiAgICAgc2Ny
aXB0RWxlbWVudC5leGVjdXRlTW9kdWxlU2NyaXB0KCp0aGlzKTsKIH0KIAotdm9pZCBMb2FkYWJs
ZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgcm9vdFVS
TCkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBm
cmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgcm9vdFVSTC5zdHJpbmcoKSwg
bV9wYXJhbWV0ZXJzLmNvcHlSZWYoKSk7Ci19Ci0KLXZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6
OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VD
b2RlKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0gICAgICAg
IGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0aGlzLCBzb3VyY2VDb2RlKTsKLX0K
LQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAppbmRleCBiYjc5
OTU0ZDdiOTliMGVkMDZiZmU1NWVmODU0ZWNjZTIxZjM1ODc3Li5kMjUzNTk2M2Y2NDhiMDJhOGEw
MWZkNjNiYjFlMzgxMzg2Y2VlNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9h
ZGFibGVNb2R1bGVTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1
bGVTY3JpcHQuaApAQCAtNTAsMTUgKzUwLDE0IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxlU2NyaXB0
IGZpbmFsIDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsKIAogICAgIHZvaWQgc2V0RXJyb3IoRXJy
b3ImJik7CiAKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHJvb3RVUkwpOwot
ICAgIHZvaWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKLQogICAg
IHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYpOwogICAgIHZvaWQg
bm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3ImJik7CiAgICAgdm9pZCBub3Rp
ZnlMb2FkV2FzQ2FuY2VsZWQoKTsKIAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtb2R1bGVLZXko
KSBjb25zdCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQoKTsgfQogCisgICAgTW9kdWxlRmV0Y2hQ
YXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9CisK
IHByaXZhdGU6CiAgICAgTG9hZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBub25jZSwg
Y29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBTdHJpbmcmIGNy
b3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBp
bml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDA1NzU4YjYwMGM3NTIyYjQ3ZjM2NGJhNmExOGQz
NWYxNzMxMTA3ZjkuLjVlOTlmMGY1Nzc3YjNiMjE1OGRkMGZhNGJjMzgyNzc2Y2RiMzQ4MTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNs
dWRlICJMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNj
cmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJNb2R1bGVG
ZXRjaFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSAi
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHU2NyaXB0RWxlbWVudC5o
IgpAQCAtMzUxLDggKzM1MiwxMSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVT
Y3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgICAgICAg
ICAgc2NyaXB0Q2hhcnNldCgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmxvY2FsTmFtZSgpLAog
ICAgICAgICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwotICAgICAg
ICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIG1vZHVsZVNjcmlwdFJvb3RVUkwp
OwogICAgICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAgICAgICBp
ZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7CisgICAgICAg
ICAgICBhdXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4oKm1fbG9h
ZGFibGVTY3JpcHQuZ2V0KCkpOworICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1
bGVTY3JpcHQoc2NyaXB0LCBtb2R1bGVTY3JpcHRSb290VVJMLnN0cmluZygpLCBtYWtlUmVmKHNj
cmlwdC5wYXJhbWV0ZXJzKCkpKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKQEAgLTM2Nyw4ICszNzEsOSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1
bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgIGlm
ICghY29udGVudFNlY3VyaXR5UG9saWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVudC5kb2N1
bWVudCgpLnVybCgpLnN0cmluZygpLCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29kZS5zb3Vy
Y2UoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIGhhc0tub3duTm9uY2UpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIHNv
dXJjZUNvZGUpOwogICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7CisgICAg
aWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAgICAgICAg
ZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVT
Y3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKSwgc291cmNlQ29kZSk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcApp
bmRleCAyNzE3Yzg2MWM3NGIwZjJhZWJjZGU0MDg3MDBlMmE5YTAzNzM3NTk1Li4xYjY1MzJjM2Iw
ZWFhODBkOWJkNDZjNmQ0MzIxMzY5NjIxYzAxOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0xMDEsMTAgKzEwMSwxMCBAQCBUaHJlYWRhYmxlTG9h
ZGVyT3B0aW9ucyBUaHJlYWRhYmxlTG9hZGVyT3B0aW9uczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QK
IH0KIAogCi1SZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQm
IGNsaWVudCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRl
ck9wdGlvbnMmIG9wdGlvbnMsIFN0cmluZyYmIHJlZmVycmVyKQorUmVmUHRyPFRocmVhZGFibGVM
b2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBjbGllbnQsIFJlc291cmNlUmVxdWVzdCYm
IHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBTdHJpbmcm
JiByZWZlcnJlciwgU3RyaW5nJiYgdGFza01vZGUpCiB7CiAgICAgaWYgKGlzPFdvcmtlckdsb2Jh
bFNjb3BlPihjb250ZXh0KSB8fCAoaXM8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KSAmJiBk
b3duY2FzdDxXb3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpLndvcmtlck9yV29ya2xldFRocmVh
ZCgpKSkKLSAgICAgICAgcmV0dXJuIFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzdGF0
aWNfY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSY+KGNvbnRleHQpLCBjbGllbnQsIFdv
cmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCksIFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMsIFdU
Rk1vdmUocmVmZXJyZXIpKTsKKyAgICAgICAgcmV0dXJuIFdvcmtlclRocmVhZGFibGVMb2FkZXI6
OmNyZWF0ZShzdGF0aWNfY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSY+KGNvbnRleHQp
LCBjbGllbnQsIFdURk1vdmUodGFza01vZGUpLCBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRpb25zLCBX
VEZNb3ZlKHJlZmVycmVyKSk7CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBudWxscHRyOwog
ICAgIGlmIChpczxXb3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggYzJiMjQ1YzNlYmI4YmM5MzBlZjRkMTcyYmEx
NTA5YTE3OWYxZDdhNi4uMWFjNzA0YjRjM2I1MGIwZmZkYTAzNDI4YzNjZTdkYTE0OTg4MjYzNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC03NCw3ICs3NCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhy
ZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVz
b3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVl
c3QmJiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRp
b25zJik7Ci0gICAgICAgIHN0YXRpYyBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgUmVzb3VyY2VS
ZXF1ZXN0JiYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgU3RyaW5nJiYgcmVmZXJy
ZXIgPSBTdHJpbmcoKSk7CisgICAgICAgIHN0YXRpYyBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4g
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50Jiwg
UmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgU3RyaW5n
JiYgcmVmZXJyZXIgPSBTdHJpbmcoKSwgU3RyaW5nJiYgdGFza01vZGUgPSB7IH0pOwogCiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSXNEb25lKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgY2FuY2VsKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IDYyZjkxN2Ez
Njc4MTlkZWMzY2Q0MTBkOTc2Njk1Y2VlNjJmNmQ0YjkuLjkyZWE4YTc4ZmE4ZjIzODViNmNkMGNk
ZWM1ZDUwZWYxZWM3NjFkMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTcwLDYg
KzcwLDggQEAgaW5saW5lIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWUKICAgICAsIG1faWRlbnRpZmllcigid29y
a2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigp
KQogICAgICwgbV9jb250ZXh0UHJveHkoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6Y3JlYXRlKCp0
aGlzKSkKICAgICAsIG1fcnVudGltZUZsYWdzKHJ1bnRpbWVGbGFncykKKyAgICAsIG1fdHlwZShv
cHRpb25zLnR5cGUpCisgICAgLCBtX2NyZWRlbnRpYWxzKG9wdGlvbnMuY3JlZGVudGlhbHMpCiB7
CiAgICAgc3RhdGljIGJvb2wgYWRkZWRMaXN0ZW5lcjsKICAgICBpZiAoIWFkZGVkTGlzdGVuZXIp
IHsKQEAgLTExMywxMCArMTE1LDE1IEBAIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBXb3JrZXI6
OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1CiAKICAgICBG
ZXRjaE9wdGlvbnMgZmV0Y2hPcHRpb25zOwogICAgIGZldGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hP
cHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luOworICAgIGlmICh3b3JrZXItPm1fdHlwZSA9PSBXb3Jr
ZXJUeXBlOjpNb2R1bGUpCisgICAgICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHdvcmtl
ci0+bV9jcmVkZW50aWFsczsKKyAgICBlbHNlCisgICAgICAgIGZldGNoT3B0aW9ucy5jcmVkZW50
aWFscyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW47CiAgICAgZmV0Y2hP
cHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKICAgICBmZXRjaE9w
dGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAgICAgZmV0
Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2Vy
OwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0
LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgd29ya2VyKTsKKyAg
ICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RG
TW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSwgV29y
a2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CisKICAgICByZXR1cm4gd29ya2VyOwogfQogCkBA
IC0yMTUsNyArMjIyLDEzIEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAgICAgUmVm
ZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7
CiAgICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRl
ci0+cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQog
ICAgICAgICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7Ci0gICAgbV9jb250ZXh0UHJveHkuc3Rh
cnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4
dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExv
YWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9z
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRp
b25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9ydW50aW1lRmxhZ3MpOworCisgICAgVVJMIHJlc3Bv
bnNlVVJMID0gbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlVVJMKCk7CisgICAgaWYgKCFtX3Njcmlw
dExvYWRlci0+aXNSZWRpcmVjdGVkKCkgJiYgbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlU291cmNl
KCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7CisgICAgICAg
IGlmIChtX3NjcmlwdExvYWRlci0+dXJsKCkuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAg
ICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIobV9zY3JpcHRMb2FkZXIt
PnVybCgpLmZyYWdtZW50SWRlbnRpZmllcigpKTsKKyAgICB9CisgICAgbV9jb250ZXh0UHJveHku
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShyZXNwb25zZVVSTCwgbV9uYW1lLCBjb250ZXh0LT51c2Vy
QWdlbnQocmVzcG9uc2VVUkwpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQ
b2xpY3ksIG1fdHlwZSwgbV9jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOwogICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2NyaXB0TG9h
ZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5oCmluZGV4IDUzZjVlNmZmZjI3YzlmYTNlNWMwZTAxZjBmNmM0MmM2Y2I2
ZjlkMGUuLjM4YTYyM2E5OGRiYTM1ZmY4MDEzY2Q2ZmM4Yzg1YzgxMDIwNTAyMTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuaApAQCAtMjksOSArMjksMTEgQEAKICNpbmNsdWRlICJBY3RpdmVET01P
YmplY3QuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMu
aCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIkZldGNoUmVxdWVzdENyZWRl
bnRpYWxzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJQb3N0TWVzc2Fn
ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNs
dWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdz
Lmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9u
YWwuaD4KQEAgLTU1LDYgKzU3LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3Ry
YWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFdvcmtlcik7CiBwdWJsaWM6CiAgICAgc3RydWN0IE9wdGlvbnMg
eworICAgICAgICBXb3JrZXJUeXBlIHR5cGU7CisgICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRp
YWxzIGNyZWRlbnRpYWxzOwogICAgICAgICBTdHJpbmcgbmFtZTsKICAgICB9OwogICAgIHN0YXRp
YyBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IE9wdGlvbnMmKTsK
QEAgLTc5LDYgKzgzLDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3RyYWN0V29y
a2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAgICB2b2lkIHBvc3RU
YXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmKT4mJik7CiAjZW5kaWYKIAorICAgIFdvcmtlclR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdvcmtlcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IE9wdGlvbnMmKTsKIApAQCAtMTEy
LDYgKzExOCw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBXb3JrCiAjaWYgRU5BQkxFKFdFQl9SVEMp
CiAgICAgSGFzaFNldDxTdHJpbmc+IG1fdHJhbnNmb3JtZXJzOwogI2VuZGlmCisgICAgV29ya2Vy
VHlwZSBtX3R5cGUgeyBXb3JrZXJUeXBlOjpDbGFzc2ljIH07CisgICAgRmV0Y2hSZXF1ZXN0Q3Jl
ZGVudGlhbHMgbV9jcmVkZW50aWFscyB7IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpTYW1lT3Jp
Z2luIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5pZGwKaW5kZXggNDVkNmEwODY3ODU0ZWU0MDRkZTdlN2QwMTI0OGNlYmY0NGRjYTdlZC4uNzAy
MTc5NmRmNTA0YWRmOGU2Yjk1ODlhY2U5ZjE0NDgyMWYyOTVmMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmlkbApAQCAtMzgsNiArMzgsOCBAQAogfTsKIAogZGljdGlvbmFyeSBXb3JrZXJPcHRp
b25zIHsKKyAgICBXb3JrZXJUeXBlIHR5cGUgPSAiY2xhc3NpYyI7CisgICAgRmV0Y2hSZXF1ZXN0
Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMgPSAic2FtZS1vcmlnaW4iOyAvLyBjcmVkZW50aWFscyBp
cyBvbmx5IHVzZWQgaWYgdHlwZSBpcyAibW9kdWxlIgogICAgIERPTVN0cmluZyBuYW1lID0gIiI7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmlu
ZGV4IGRiYWIzNDhlODBjOWRlNTBiZDIxNTc3N2ExNGEzOWEwZjcwZTQ5YzcuLmNjZGU5MDljN2Ni
NTJlOTc3NzRjNWI4MTU4MjNlYmNiYmIwNzBmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC03NCw2ICs3NCw4IEBAIFdvcmtlckdsb2JhbFNj
b3BlOjpXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIGNvbnN0IFdvcmtl
clBhcmFtZXRlCiAgICAgLCBtX3BlcmZvcm1hbmNlKFBlcmZvcm1hbmNlOjpjcmVhdGUodGhpcywg
cGFyYW1zLnRpbWVPcmlnaW4pKQogICAgICwgbV9yZWZlcnJlclBvbGljeShwYXJhbXMucmVmZXJy
ZXJQb2xpY3kpCiAgICAgLCBtX3NldHRpbmdzVmFsdWVzKHBhcmFtcy5zZXR0aW5nc1ZhbHVlcykK
KyAgICAsIG1fd29ya2VyVHlwZShwYXJhbXMud29ya2VyVHlwZSkKKyAgICAsIG1fY3JlZGVudGlh
bHMocGFyYW1zLmNyZWRlbnRpYWxzKQogewogI2lmICFFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
ICAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvblByb3h5KTsKQEAgLTI3NCw2ICsyNzYsMTEgQEAg
RXhjZXB0aW9uT3I8dm9pZD4gV29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNjcmlwdHMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIHVybHMpCiB7CiAgICAgQVNTRVJUKGNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpKTsKIAorICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dv
cmtlcnMuaHRtbCNpbXBvcnRpbmctc2NyaXB0cy1hbmQtbGlicmFyaWVzCisgICAgLy8gMS4gSWYg
d29ya2VyIGdsb2JhbCBzY29wZSdzIHR5cGUgaXMgIm1vZHVsZSIsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgICBpZiAobV93b3JrZXJUeXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSkK
KyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgImltcG9ydFNjcmlwdHMgY2Fu
bm90IGJlIHVzZWQgaWYgd29lcmtlciB0eXBlIGlzIFwibW9kdWxlXCIiX3MgfTsKKwogICAgIFZl
Y3RvcjxVUkw+IGNvbXBsZXRlZFVSTHM7CiAgICAgY29tcGxldGVkVVJMcy5yZXNlcnZlSW5pdGlh
bENhcGFjaXR5KHVybHMuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIGVudHJ5IDogdXJscykgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDQ2ZDQ5ZDk0
YzUyMzhlNDY4OGQzOTVkODdjMjA2M2ViNTcyMGQxYmYuLjc0Nzk1ZjVjMGY5YTJhMzVkMDA5MzAx
MmFkMThmNTdlMzE3ZjgyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKQEAgLTEyMyw2ICsxMjMsOCBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1
YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNgogCiAg
ICAgY29uc3QgU2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3NldHRpbmdzVmFsdWVzOyB9CiAKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRp
YWxzIGNyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1cm4gbV9jcmVkZW50aWFsczsgfQorCiBwcm90
ZWN0ZWQ6CiAgICAgV29ya2VyR2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSwgY29uc3QgV29y
a2VyUGFyYW1ldGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgV29ya2VyVGhyZWFkJiwgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJv
eHkqLCBTb2NrZXRQcm92aWRlciopOwogCkBAIC0xNjMsOCArMTY1LDYgQEAgY2xhc3MgV29ya2Vy
R2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+LCBw
dWJsaWMgQmFzZTYKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJMb2NhdGlvbj4gbV9sb2NhdGlv
bjsKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJOYXZpZ2F0b3I+IG1fbmF2aWdhdG9yOwogCi0g
ICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+IG1fc2Ny
aXB0OwotCiAgICAgYm9vbCBtX2lzT25saW5lOwogICAgIGJvb2wgbV9zaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAKQEAgLTE4Nyw2ICsxODcsOCBAQCBjbGFzcyBX
b3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29w
ZT4sIHB1YmxpYyBCYXNlNgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDU1NWYWx1ZVBvb2w+IG1fY3Nz
VmFsdWVQb29sOwogICAgIFJlZmVycmVyUG9saWN5IG1fcmVmZXJyZXJQb2xpY3k7CiAgICAgU2V0
dGluZ3M6OlZhbHVlcyBtX3NldHRpbmdzVmFsdWVzOworICAgIFdvcmtlclR5cGUgbV93b3JrZXJU
eXBlOworICAgIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFsczsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNDAwMDNjM2UwMTA5OTk2MGY2NDc4NjFlNzAxNjg3
ZDBlMzcxZDcyZC4uZWQ2NzNhYzhmN2MwZWU1NGMwNjBlY2I1OTIxNjM5MGVkNzBmZTJjZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKQEAg
LTQ4LDcgKzQ4LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsKIAotICAg
IHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJM
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBKU0M6
OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNj
b3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywg
SlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2Vy
R2xvYmFsU2NvcGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJH
bG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmKT4mJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCAxOWQ0YmU2NDk5MmYzMGQzY2NlNzY1NDdhM2QyMjE4
YTk4Yzg0MmMzLi43ODgzNTg3YTdhZjYyMDllM2VjYzhlN2I0MWJhZDQ3YWRmNjIyNDBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAt
NzMsNyArNzMsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5
KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAK
LXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3Qg
VVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9s
aWN5LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBj
b25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3Jr
ZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1l
RmxhZ3MgcnVudGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2
aXNpdGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQo
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9IGRvY3Vt
ZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsg
c2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGRvY3VtZW50LnNl
dHRpbmdzVmFsdWVzKCkgfTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsgc2NyaXB0
VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUsIGNyZWRl
bnRpYWxzLCBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpIH07CiAgICAgYXV0byB0aHJlYWQgPSBE
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUsICp0aGlzLCAq
dGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHByb3h5LCBzb2Nr
ZXRQcm92aWRlciwgcnVudGltZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0ZWQodGhy
ZWFkLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuaAppbmRleCBjNWI1NzViOWU2MTViM2YzZjU5NmJmYzNkZjY4M2M4NzdjYzYyYmFiLi5kOWU4
MWUxNTdhMGY0ODUyZTQ5YjU5ZDI1NjZhOGE4MGY1ZjgxOGFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01MCw3ICs1MCw3IEBAIGNsYXNz
IFdvcmtlck1lc3NhZ2luZ1Byb3h5IGZpbmFsIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PFdvcmtlck1lc3NhZ2luZ1ByCiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBX
b3JrZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5jdGlvbnMg
aW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFs
U2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgUmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAgICB2b2lk
IHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0
cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZldGNo
UmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAgdm9pZCB0
ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VU
b1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFsOwogICAg
IHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYpPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggMjM4NGE1YThjN2QyYTMw
MmVlZTVjYjQwNWUxMDVlMDI1Yzk4NDNjYy4uZjRmNGIyNzQ2NmY5YTMwYjI4YjhiMjFmNmYyYmVm
OGJkZTkzODUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogCisjaW5jbHVk
ZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyRXZlbnRMb29wLmgiCiAj
aW5jbHVkZSAiV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldvcmtlck9y
V29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCIKQEAgLTM5LDYgKzQwLDcgQEAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRF9JTVBMKFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKTsKIAogV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtlclRocmVh
ZFR5cGUgdHlwZSwgUmVmPEpTQzo6Vk0+JiYgdm0sIFdvcmtlck9yV29ya2xldFRocmVhZCogdGhy
ZWFkKQogICAgIDogbV9zY3JpcHQobWFrZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyPih0eXBlLCBXVEZNb3ZlKHZtKSwgdGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRlciht
YWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6
T3duZXJUeXBlOjpXb3JrZXJPcldvcmtsZXQpKQogICAgICwgbV90aHJlYWQodGhyZWFkKQogICAg
ICwgbV9pbnNwZWN0b3JDb250cm9sbGVyKG1ha2VVbmlxdWU8V29ya2VySW5zcGVjdG9yQ29udHJv
bGxlcj4oKnRoaXMpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IDZjMjQ0YTBjNDI3ZWUxYzhjNjVmZGNjNzY1OTUy
Zjg3N2ZkOWIxNmIuLjU0NGYwNDdhZWMyNzgzMjc0NGQwYThhNzBhZjdlOTM5YzMzMDk5MmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNj
b3BlLmgKQEAgLTMyLDYgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZl
bnRMb29wVGFza0dyb3VwOworY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyOwogY2xhc3MgV29ya2Vy
RXZlbnRMb29wOwogY2xhc3MgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIFdvcmtl
ck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI7CkBAIC01NCw2ICs1NSw4IEBAIGNsYXNzIFdvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHB1
YmxpYyBSZWZDb3VuCiAKICAgICB1bnNpZ25lZCBsb25nIGNyZWF0ZVVuaXF1ZUlkZW50aWZpZXIo
KSB7IHJldHVybiBtX3VuaXF1ZUlkZW50aWZpZXIrKzsgfQogCisgICAgU2NyaXB0TW9kdWxlTG9h
ZGVyJiBtb2R1bGVMb2FkZXIoKSB7IHJldHVybiAqbV9tb2R1bGVMb2FkZXI7IH0KKwogICAgIC8v
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCiAgICAgRXZlbnRMb29wVGFza0dyb3VwJiBldmVudExv
b3AoKSBmaW5hbDsKICAgICBib29sIGlzQ29udGV4dFRocmVhZCgpIGNvbnN0IGZpbmFsOwpAQCAt
ODgsNiArOTEsNyBAQCBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBwdWJsaWMgUmVmQ291bgogICAgIHZvaWQgZGVyZWZFdmVu
dFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtl
ck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+IG1fc2NyaXB0OworICAgIHN0ZDo6dW5pcXVlX3B0
cjxTY3JpcHRNb2R1bGVMb2FkZXI+IG1fbW9kdWxlTG9hZGVyOwogICAgIFdvcmtlck9yV29ya2xl
dFRocmVhZCogbV90aHJlYWQ7CiAgICAgUmVmUHRyPFdvcmtlckV2ZW50TG9vcD4gbV9ldmVudExv
b3A7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEV2ZW50TG9vcFRhc2tHcm91cD4gbV9kZWZhdWx0VGFz
a0dyb3VwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JX
b3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggY2Q0ZWMyNDY4MjUyNWFhYmM2NDJkODc3
YTBkYTAxMWViZGUxMTQzMS4uMmZmZjc5YjBmMmIzNTFiMzA4ZWUyYjEwNDFiZTZjMmMyN2Q5MjYz
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zNSwxNSArMzUsMjMgQEAKICNpbmNsdWRlICJK
U0V4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCIKICNp
bmNsdWRlICJKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIk1vZHVsZUZl
dGNoRmFpbHVyZUtpbmQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKICNp
bmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0
YS5oIgogI2luY2x1ZGUgIldvcmtlckNvbnNvbGVDbGllbnQuaCIKKyNpbmNsdWRlICJXb3JrZXJT
Y3JpcHRGZXRjaGVyLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29tcGxldGlvbi5oPgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0RlZmVycmVkV29ya1RpbWVyLmg+CiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvRXhjZXB0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXhj
ZXB0aW9uSGVscGVycy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0dDQWN0aXZpdHlDYWxs
YmFjay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNlLmg+CiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNMb2NrLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNNb2R1bGVSZWNvcmQuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU05hdGl2ZVN0
ZEZ1bmN0aW9uLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRjaFBhcmFt
ZXRlcnMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1NjcmlwdEZldGNoZXIuaD4KICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmdJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTIyOCw2ICsyMzYsMjM3IEBAIHZvaWQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29u
dHJvbGxlcjo6ZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kCiAgICAg
fQogfQogCitzdGF0aWMgSWRlbnRpZmllciBqc1ZhbHVlVG9Nb2R1bGVLZXkoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgaWYgKHZhbHVl
LmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVybiBJZGVudGlmaWVyOjpmcm9tVWlkKGpzQ2FzdDxT
eW1ib2wqPih2YWx1ZSktPnByaXZhdGVOYW1lKCkpOworICAgIEFTU0VSVCh2YWx1ZS5pc1N0cmlu
ZygpKTsKKyAgICByZXR1cm4gYXNTdHJpbmcodmFsdWUpLT50b0lkZW50aWZpZXIobGV4aWNhbEds
b2JhbE9iamVjdCk7Cit9CisKK0pTQzo6SlNWYWx1ZSBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyOjpldmFsdWF0ZU1vZHVsZShKU0M6OkpTTW9kdWxlUmVjb3JkJiBtb2R1bGVSZWNvcmQp
Cit7CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgp
OworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2Nr
IHsgdm0gfTsKKyAgICByZXR1cm4gbW9kdWxlUmVjb3JkLmV2YWx1YXRlKCZnbG9iYWxPYmplY3Qp
OworfQorCitNZXNzYWdlUXVldWVXYWl0UmVzdWx0IFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KFdvcmtlclNjcmlwdEZldGNoZXImIHNjcmlw
dEZldGNoZXIsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCit7CisgICAgaWYg
KGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAgIHJldHVybiBNZXNzYWdlUXVldWVUZXJt
aW5hdGVkOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxP
YmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFs
T2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisgICAgYXV0byBw
cm90ZWN0b3IgPSBtYWtlUmVmKHNjcmlwdEZldGNoZXIpOworICAgIHsKKyAgICAgICAgYXV0byYg
cHJvbWlzZSA9IEpTRXhlY1N0YXRlOjpsb2FkTW9kdWxlKGdsb2JhbE9iamVjdCwgc291cmNlQ29k
ZS5qc1NvdXJjZUNvZGUoKSwgSlNDOjpKU1NjcmlwdEZldGNoZXI6OmNyZWF0ZSh2bSwgeyAmc2Ny
aXB0RmV0Y2hlciB9KSk7CisKKyAgICAgICAgYXV0byYgZnVsZmlsbEhhbmRsZXIgPSAqSlNOYXRp
dmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBTdHJpbmcoKSwgW3By
b3RlY3Rvcl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJh
bWUpIC0+IEpTQzo6RW5jb2RlZEpTVmFsdWUgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFs
T2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAg
ICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgICAgICAg
ICAgSWRlbnRpZmllciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0
LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRDb21wbGV0
ZWQoKm1vZHVsZUtleS5pbXBsKCkpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFu
ZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEs
IFN0cmluZygpLCBbcHJvdGVjdG9yXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAgICAgICAgICAg
SlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKKyAgICAgICAgICAg
IGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvKiBvYmpl
Y3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAgICAgICAgICAgIGlmIChKU1Zh
bHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGljX2Nhc3Q8
SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFpbHVyZUtp
bmRQcml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGhvc3Qg
cHJvcGFnYXRlZCBlcnJvciBpbiB0aGUgbW9kdWxlIGxvYWRlciBwaXBlbGluZS4KKyAgICAgICAg
ICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaEZhaWx1cmVLaW5kPihm
YWlsdXJlS2luZFZhbHVlLmFzSW50MzIoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBN
b2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAgICAgICAgICAgICAgICAgICAg
ICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2Fj
aGVkU2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdURjo6bnVsbG9wdAorICAg
ICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5j
ZWxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3Rvci0+bm90aWZ5TG9hZFdhc0Nh
bmNlbGVkKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgcHJv
dGVjdG9yLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAg
ICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAg
ICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZSB7CisgICAgICAgICAgICAg
ICAgICAgIE1lc3NhZ2VTb3VyY2U6OkpTLAorICAgICAgICAgICAgICAgICAgICBNZXNzYWdlTGV2
ZWw6OkVycm9yLAorICAgICAgICAgICAgICAgICAgICByZXRyaWV2ZUVycm9yTWVzc2FnZSgqZ2xv
YmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgc2NvcGUpLAorICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxPYmpl
Y3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRsZXIpOworICAgIH0KKyAgICBtX2dsb2Jh
bFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworCisgICAg
Ly8gRHJpdmUgUnVuTG9vcCB1bnRpbCB3ZSBnZXQgZWl0aGVyIG9mICJXb3JrZXIgaXMgdGVybWlu
YXRlZCIsICJMb2FkaW5nIGlzIGRvbmUiLCBvciAiTG9hZGluZyBpcyBmYWlsZWQiLgorICAgIFdv
cmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSBtX2dsb2JhbFNjb3BlLT53b3JrZXJPcldvcmtsZXRUaHJl
YWQoKS0+cnVuTG9vcCgpOworCisgICAgLy8gV2UgZG8gbm90IHdhbnQgdG8gcmVjZWl2ZSBtZXNz
YWdlcyB0aGF0IGFyZSBub3QgcmVsYXRlZCB0byBhc3luY2hyb25vdXMgcmVzb3VyY2UgbG9hZGlu
Zy4KKyAgICAvLyBPdGhlcndpc2UsIGEgd29ya2VyIGRpc2NhcmRzIHNvbWUgbWVzc2FnZXMgZnJv
bSB0aGUgbWFpbiB0aHJlYWQgaGVyZSBpbiBhIHJhY3kgd2F5LgorICAgIC8vIEZvciBleGFtcGxl
LCB0aGUgbWFpbiB0aHJlYWQgY2FuIHBvc3RNZXNzYWdlIGp1c3QgYWZ0ZXIgY3JlYXRpbmcgYSBX
b3JrZXIuIEluIHRoYXQgY2FzZSwgcG9zdE1lc3NhZ2UncworICAgIC8vIHRhc2sgaXMgcXVldWVk
IGluIFdvcmtlclJ1bkxvb3AgYmVmb3JlIHN0YXJ0IHJ1bm5pbmcgbW9kdWxlIHNjcmlwdHMuIFRo
aXMgdGFzayBzaG91bGQgbm90IGJlIGRpc2NhcmRlZAorICAgIC8vIGluIHRoZSBmb2xsb3dpbmcg
ZHJpdmluZyBvZiB0aGUgUnVuTG9vcCB3aGljaCBtYWlubHkgYXR0ZW1wdCB0byBjb2xsZWN0IGlu
aXRpYWwgbG9hZCBvZiBtb2R1bGUgc2NyaXB0cy4KKyAgICBTdHJpbmcgdGFza01vZGUgPSAibG9h
ZE1vZHVsZXNJbldvcmtlck9yV29ya2xldE1vZGUiX3M7CisgICAgTWVzc2FnZVF1ZXVlV2FpdFJl
c3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2ZWQ7CisgICAgd2hpbGUgKCgh
cHJvdGVjdG9yLT5pc0xvYWRlZCgpICYmICFwcm90ZWN0b3ItPndhc0NhbmNlbGVkKCkpICYmIHJl
c3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKSB7CisgICAgICAgIHJlc3VsdCA9IHJ1bkxv
b3AucnVuSW5Nb2RlKG1fZ2xvYmFsU2NvcGUsIHRhc2tNb2RlKTsKKyAgICAgICAgaWYgKHJlc3Vs
dCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKQorICAgICAgICAgICAgbV9nbG9iYWxTY29wZS0+
ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNrcG9pbnQoKTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6
OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVy
LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVybmVkRXhj
ZXB0aW9uTWVzc2FnZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBnbG9i
YWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisgICAgTmFr
ZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhjZXB0aW9uOworICAgIEpTRXhlY1N0YXRl
OjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tVWlk
KHZtLCBzY3JpcHRGZXRjaGVyLm1vZHVsZUtleSgpKSwganNVbmRlZmluZWQoKSwgcmV0dXJuZWRF
eGNlcHRpb24pOworICAgIGlmICgocmV0dXJuZWRFeGNlcHRpb24gJiYgaXNUZXJtaW5hdGVkRXhl
Y3V0aW9uRXhjZXB0aW9uKHZtLCByZXR1cm5lZEV4Y2VwdGlvbikpIHx8IGlzVGVybWluYXRpbmdF
eGVjdXRpb24oKSkgeworICAgICAgICBmb3JiaWRFeGVjdXRpb24oKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbikgeworICAgICAgICBpZiAobV9n
bG9iYWxTY29wZS0+Y2FuSW5jbHVkZUVycm9yRGV0YWlscyhzb3VyY2VDb2RlLmNhY2hlZFNjcmlw
dCgpLCBzb3VyY2VDb2RlLnVybCgpLnN0cmluZygpKSkgeworICAgICAgICAgICAgLy8gRklYTUU6
IEl0J3Mgbm90IGdyZWF0IHRoYXQgdGhpcyBjYW4gcnVuIGFyYml0cmFyeSBjb2RlIHRvIHN0cmlu
Zy1pZnkgdGhlIHZhbHVlIG9mIHRoZSBleGNlcHRpb24uCisgICAgICAgICAgICAvLyBEbyB3ZSBu
ZWVkIHRvIGRvIGFueXRoaW5nIHRvIGhhbmRsZSB0aGF0IHByb3Blcmx5LCBpZiBpdCwgc2F5LCBy
YWlzZXMgYW5vdGhlciBleGNlcHRpb24/CisgICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRp
b25NZXNzYWdlKQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBy
ZXR1cm5lZEV4Y2VwdGlvbi0+dmFsdWUoKS50b1dURlN0cmluZygmZ2xvYmFsT2JqZWN0KTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIE92ZXJ3cml0ZSB0aGUgZGV0YWlsZWQgZXJy
b3Igd2l0aCBhIGdlbmVyaWMgZXJyb3IuCisgICAgICAgICAgICBTdHJpbmcgZ2VuZXJpY0Vycm9y
TWVzc2FnZSB7ICJTY3JpcHQgZXJyb3IuIl9zIH07CisgICAgICAgICAgICBpZiAocmV0dXJuZWRF
eGNlcHRpb25NZXNzYWdlKQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3Nh
Z2UgPSBnZW5lcmljRXJyb3JNZXNzYWdlOworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIFdv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVsZShjb25z
dCBVUkwmIG1vZHVsZVVSTCwgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFscywg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxFeGNlcHRpb24+JiYpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQoreworICAgIGlmIChpc0V4ZWN1dGlvbkZvcmJpZGRlbigpKSB7CisgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKEV4Y2VwdGlvbiB7IE5vdEFsbG93ZWRFcnJvciB9KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0
byYgZ2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKwor
ICAgIGF1dG8gc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZldGNoZXI6OmNyZWF0ZShjcmVk
ZW50aWFscyk7CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3RhdGU6Omxv
YWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVVUkwuc3RyaW5nKCksIGpzVW5kZWZpbmVkKCks
IEpTQzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHsgc2NyaXB0RmV0Y2hlci5wdHIoKSB9
KSk7CisKKyAgICAgICAgYXV0byB0YXNrID0gY3JlYXRlU2hhcmVkVGFzazx2b2lkKE9wdGlvbmFs
PEV4Y2VwdGlvbj4mJik+KFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpXShPcHRpb25hbDxFeGNlcHRpb24+JiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsKKyAgICAg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZXhjZXB0aW9uKSk7CisgICAgICAgIH0p
OworCisgICAgICAgIGF1dG8mIGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246
OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFt0YXNrLCBzY3JpcHRGZXRj
aGVyXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkg
LT4gSlNDOjpFbmNvZGVkSlNWYWx1ZSB7CisgICAgICAgICAgICAvLyB0YXNrLT5ydW4oV1RGOjpu
dWxsb3B0KTsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICAg
ICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgICAgICAgICAgSWRlbnRpZmllciBtb2R1
bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3Vt
ZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7Cisg
ICAgICAgICAgICBzY3JpcHRGZXRjaGVyLT5ub3RpZnlMb2FkQ29tcGxldGVkKCptb2R1bGVLZXku
aW1wbCgpKTsKKworICAgICAgICAgICAgYXV0byogY29udGV4dCA9IGRvd25jYXN0PFdvcmtlck9y
V29ya2xldEdsb2JhbFNjb3BlPihqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgICAgICAgICAgaWYgKCFjb250ZXh0
IHx8ICFjb250ZXh0LT5zY3JpcHQoKSkgeworICAgICAgICAgICAgICAgIHRhc2stPnJ1bihXVEY6
Om51bGxvcHQpOworICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIE5ha2VkUHRyPEpTQzo6RXhj
ZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsKKyAgICAgICAgICAgIEpTRXhlY1N0YXRlOjpsaW5r
QW5kRXZhbHVhdGVNb2R1bGUoKmdsb2JhbE9iamVjdCwgbW9kdWxlS2V5LCBqc1VuZGVmaW5lZCgp
LCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgICAgICAgICBpZiAoKHJldHVybmVkRXhjZXB0aW9u
ICYmIGlzVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbih2bSwgcmV0dXJuZWRFeGNlcHRpb24p
KSB8fCBjb250ZXh0LT5zY3JpcHQoKS0+aXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKGNvbnRleHQtPnNjcmlwdCgpKQorICAgICAgICAgICAgICAgICAgICBj
b250ZXh0LT5zY3JpcHQoKS0+Zm9yYmlkRXhlY3V0aW9uKCk7CisgICAgICAgICAgICAgICAgdGFz
ay0+cnVuKFdURjo6bnVsbG9wdCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHJl
dHVybmVkRXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2U7CisgICAg
ICAgICAgICAgICAgaWYgKGNvbnRleHQtPmNhbkluY2x1ZGVFcnJvckRldGFpbHMobnVsbHB0ciwg
bW9kdWxlS2V5LnN0cmluZygpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogSXQn
cyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4gYXJiaXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlm
eSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgICAgICAgICAgLy8gRG8g
d2UgbmVlZCB0byBkbyBhbnl0aGluZyB0byBoYW5kbGUgdGhhdCBwcm9wZXJseSwgaWYgaXQsIHNh
eSwgcmFpc2VzIGFub3RoZXIgZXhjZXB0aW9uPworICAgICAgICAgICAgICAgICAgICBtZXNzYWdl
ID0gcmV0dXJuZWRFeGNlcHRpb24tPnZhbHVlKCkudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsK
KyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAvLyBPdmVyd3Jp
dGUgdGhlIGRldGFpbGVkIGVycm9yIHdpdGggYSBnZW5lcmljIGVycm9yLgorICAgICAgICAgICAg
ICAgICAgICBtZXNzYWdlID0gIlNjcmlwdCBlcnJvci4iX3M7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGNvbnRleHQtPnJlcG9ydEV4Y2VwdGlvbihtZXNzYWdlLCB7IH0sIHsg
fSwgeyB9LCB7IH0sIHsgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRhc2stPnJ1
bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFuZGxlciA9
ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmlu
ZygpLCBbdGFza10oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICAg
ICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIEpTVmFsdWUgZXJy
b3JWYWx1ZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CisgICAgICAgICAgICBpZiAoZXJyb3JW
YWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgICAgICAgICAgYXV0byogb2JqZWN0ID0gSlNDOjph
c09iamVjdChlcnJvclZhbHVlKTsKKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0LT5nZXREaXJl
Y3Qodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhJj4oKnZtLmNsaWVudERhdGEpLmJ1aWx0
aW5OYW1lcygpLmZhaWx1cmVLaW5kUHJpdmF0ZU5hbWUoKSkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IgfSk7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGlmIChvYmplY3QtPmluaGVyaXRzPEVycm9ySW5zdGFuY2U+
KHZtKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvKiBlcnJvciA9IGpzQ2FzdDxFcnJvcklu
c3RhbmNlKj4ob2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChlcnJvci0+ZXJy
b3JUeXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBFcnJvclR5cGU6OlN5bnRheEVy
cm9yOiB7CisgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJF
X0NBVENIX1NDT1BFKHZtKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdl
ID0gcmV0cmlldmVFcnJvck1lc3NhZ2VXaXRob3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJy
b3JWYWx1ZSwgY2F0Y2hTY29wZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0YXNrLT5ydW4o
RXhjZXB0aW9uIHsgU3ludGF4RXJyb3IsIG1lc3NhZ2UgfSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFSRV9D
QVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJy
b3JNZXNzYWdlV2l0aG91dE5hbWUoKmdsb2JhbE9iamVjdCwgdm0sIGVycm9yVmFsdWUsIGNhdGNo
U2NvcGUpOworICAgICAgICAgICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IsIG1l
c3NhZ2UgfSk7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworICAgICAgICB9KTsKKworICAgICAgICBwcm9taXNlLnRoZW4oJmdsb2JhbE9iamVjdCwg
JmZ1bGZpbGxIYW5kbGVyLCAmcmVqZWN0SGFuZGxlcik7CisgICAgfQorICAgIG1fZ2xvYmFsU2Nv
cGUtPmV2ZW50TG9vcCgpLnBlcmZvcm1NaWNyb3Rhc2tDaGVja3BvaW50KCk7Cit9CisKIHRlbXBs
YXRlPHR5cGVuYW1lIEpTR2xvYmFsU2NvcGVQcm90b3R5cGUsIHR5cGVuYW1lIEpTR2xvYmFsU2Nv
cGUsIHR5cGVuYW1lIEdsb2JhbFNjb3BlPgogdm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyOjppbml0U2NyaXB0V2l0aFN1YmNsYXNzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKaW5kZXgg
YzQ5MzAxYWVkM2RkMDg5ZGE3OTczMjc2MGNhZjJmN2I2NGRiMTFiNi4uOWYwMjNhNjJmODE0M2U3
ZDk4MmZiZjdmNThlZWVhZGNhM2E1YjU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKQEAgLTMxLDYgKzMx
LDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1J1bkxvb3BUaW1lci5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KKyNpbmNsdWRlIDx3dGYv
TWVzc2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL05ha2VkUHRyLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewpAQCAtNDQsOSArNDUsMTEgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgTG9hZGFibGVNb2R1
bGVTY3JpcHQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogY2xhc3MgV29ya2VyQ29uc29sZUNs
aWVudDsKIGNsYXNzIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOworY2xhc3MgV29ya2VyU2Ny
aXB0RmV0Y2hlcjsKIAogY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlciB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcik7
CkBAIC05NCw2ICs5NywxMyBAQCBjbGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVy
IHsKICAgICB2b2lkIGV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJl
dHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOwogICAgIHZvaWQgZXZhbHVhdGUoY29u
c3QgU2NyaXB0U291cmNlQ29kZSYsIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiYgcmV0dXJuZWRF
eGNlcHRpb24sIFN0cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAK
KyAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYpOwor
CisgICAgdm9pZCBsaW5rQW5kRXZhbHVhdGVNb2R1bGUoV29ya2VyU2NyaXB0RmV0Y2hlciYsIGNv
bnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9
IG51bGxwdHIpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9u
b3VzbHkoV29ya2VyU2NyaXB0RmV0Y2hlciYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKKwor
ICAgIHZvaWQgbG9hZEFuZEV2YWx1YXRlTW9kdWxlKGNvbnN0IFVSTCYgbW9kdWxlVVJMLCBGZXRj
aE9wdGlvbnM6OkNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4
Y2VwdGlvbj4mJik+JiYpOworCiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUqIGdsb2JhbFNjb3BlKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxTY29wZTsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggM2E0
ZGFlZmMzOTAyYmRiMmVhODRmYzU4ZDdlNDJmODNlNWYwN2UyZi4uOWYzMWQwZGZkNTlhODcwN2Zk
NGViNTljYzNjOTJhMDY2NDgxZGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIE9wdGlvbmFsPEV4Y2VwdGlv
bj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0CiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRM
b2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBGZXRjaE9w
dGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUgc2Vydmlj
ZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50KQordm9pZCBXb3Jr
ZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0
LCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01v
ZGUgc2VydmljZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBT
dHJpbmcmJiB0YXNrTW9kZSkKIHsKICAgICBtX2NsaWVudCA9ICZjbGllbnQ7CiAgICAgbV91cmwg
PSBzY3JpcHRSZXF1ZXN0LnVybCgpOwpAQCAtMTIzLDggKzEyMyw2IEBAIHZvaWQgV29ya2VyU2Ny
aXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2Ny
aXB0RXhlY3V0CiAgICAgQVNTRVJUKGZldGNoT3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6
TW9kZTo6U2FtZU9yaWdpbiB8fCAoZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uICE9IEZldGNoT3B0
aW9uczo6RGVzdGluYXRpb246OlNlcnZpY2V3b3JrZXIgJiYgZmV0Y2hPcHRpb25zLmRlc3RpbmF0
aW9uICE9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikpOwogCiAgICAgVGhyZWFk
YWJsZUxvYWRlck9wdGlvbnMgb3B0aW9ucyB7IFdURk1vdmUoZmV0Y2hPcHRpb25zKSB9OwotICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgYWRkIGFuIG9wdGlvbiB0byBzZXQgY3JlZGVudGlhbCBtb2Rl
LgotICAgIG9wdGlvbnMuY3JlZGVudGlhbHMgPSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpT
YW1lT3JpZ2luOwogICAgIG9wdGlvbnMuc2VuZExvYWRDYWxsYmFja3MgPSBTZW5kQ2FsbGJhY2tQ
b2xpY3k6OlNlbmRDYWxsYmFja3M7CiAgICAgb3B0aW9ucy5jb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCA9IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OwogICAgIGlmIChm
ZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2Vy
dmljZXdvcmtlcikKQEAgLTE0Myw3ICsxNDEsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6
bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAog
CiAgICAgLy8gRHVyaW5nIGNyZWF0ZSwgY2FsbGJhY2tzIG1heSBoYXBwZW4gd2hpY2ggcmVtb3Zl
IHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdC4KICAgICBSZWY8V29ya2VyU2NyaXB0
TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKLSAgICBtX3RocmVhZGFibGVMb2FkZXIgPSBU
aHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgKnRoaXMsIFdU
Rk1vdmUoKnJlcXVlc3QpLCBvcHRpb25zKTsKKyAgICBtX3RocmVhZGFibGVMb2FkZXIgPSBUaHJl
YWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgKnRoaXMsIFdURk1v
dmUoKnJlcXVlc3QpLCBvcHRpb25zLCB7IH0sIFdURk1vdmUodGFza01vZGUpKTsKIH0KIAogY29u
c3QgVVJMJiBXb3JrZXJTY3JpcHRMb2FkZXI6OnJlc3BvbnNlVVJMKCkgY29uc3QKQEAgLTE5MCw2
ICsxODgsOCBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzbwogICAgIG1fY2VydGlmaWNhdGVJbmZv
ID0gcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCkgPyAqcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZv
KCkgOiBDZXJ0aWZpY2F0ZUluZm8oKTsKICAgICBtX3Jlc3BvbnNlTUlNRVR5cGUgPSByZXNwb25z
ZS5taW1lVHlwZSgpOwogICAgIG1fcmVzcG9uc2VFbmNvZGluZyA9IHJlc3BvbnNlLnRleHRFbmNv
ZGluZ05hbWUoKTsKKyAgICBtX3Jlc3BvbnNlU291cmNlID0gcmVzcG9uc2Uuc291cmNlKCk7Cisg
ICAgbV9pc1JlZGlyZWN0ZWQgPSByZXNwb25zZS5pc1JlZGlyZWN0ZWQoKTsKICAgICBtX2NvbnRl
bnRTZWN1cml0eVBvbGljeSA9IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB7
IHJlc3BvbnNlIH07CiAgICAgbV9yZWZlcnJlclBvbGljeSA9IHJlc3BvbnNlLmh0dHBIZWFkZXJG
aWVsZChIVFRQSGVhZGVyTmFtZTo6UmVmZXJyZXJQb2xpY3kpOwogICAgIGlmIChtX2NsaWVudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IDdmZGQw
YjNmNmEwMWMyZGI1NzcyNGE5MGIzYmI5ODQwZjFlNjhlNWYuLmNmYTMxYTM1MzI1OWFlZWQxOThm
OTM5MWZmYzE1MTFiNDA1MGI4NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkZldGNoT3B0aW9ucy5o
IgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3Qu
aCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxv
YWRlci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDxt
ZW1vcnk+CkBAIC00Myw3ICs0NCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEV4
Y2VwdGlvbjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OwogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExv
YWRlckNsaWVudDsKQEAgLTU4LDcgKzU4LDcgQEAgY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDog
cHVibGljIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGEKICAg
ICB9CiAKICAgICBPcHRpb25hbDxFeGNlcHRpb24+IGxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBVUkwmLCBGZXRjaE9wdGlvbnM6Ok1vZGUsIEZldGNoT3B0
aW9uczo6Q2FjaGUsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJp
bmcmIGluaXRpYXRvcklkZW50aWZpZXIpOwotICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYs
IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUsIFdv
cmtlclNjcmlwdExvYWRlckNsaWVudCYpOworICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYs
IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUsIFdv
cmtlclNjcmlwdExvYWRlckNsaWVudCYsIFN0cmluZyYmIHRhc2tNb2RlKTsKIAogICAgIHZvaWQg
bm90aWZ5RXJyb3IoKTsKIApAQCAtNjcsNiArNjcsOCBAQCBjbGFzcyBXb3JrZXJTY3JpcHRMb2Fk
ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+LCBwdWJsaWMgVGhyZWFk
YQogICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3Jl
ZmVycmVyUG9saWN5OyB9CiAgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3Vy
bDsgfQogICAgIGNvbnN0IFVSTCYgcmVzcG9uc2VVUkwoKSBjb25zdDsKKyAgICBSZXNvdXJjZVJl
c3BvbnNlOjpTb3VyY2UgcmVzcG9uc2VTb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNl
U291cmNlOyB9CisgICAgYm9vbCBpc1JlZGlyZWN0ZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUmVk
aXJlY3RlZDsgfQogICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKCkg
Y29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KICAgICBjb25zdCBTdHJpbmcmIHJl
c3BvbnNlTUlNRVR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlTUlNRVR5cGU7IH0KICAg
ICBib29sIGZhaWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmFpbGVkOyB9CkBAIC0xMDcsNiArMTA5
LDggQEAgY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2Vy
U2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGEKICAgICB1bnNpZ25lZCBsb25nIG1faWRlbnRp
ZmllciB7IDAgfTsKICAgICBib29sIG1fZmFpbGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZmlu
aXNoaW5nIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNSZWRpcmVjdGVkIHsgZmFsc2UgfTsKKyAg
ICBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2UgbV9yZXNwb25zZVNvdXJjZSB7IFJlc291cmNlUmVz
cG9uc2U6OlNvdXJjZTo6VW5rbm93biB9OwogICAgIFJlc291cmNlRXJyb3IgbV9lcnJvcjsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMy
MjYxOWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1NzgzLi5mMmE3NjU5ZmM1NjFlYWQxNmIxMmEzNDll
ZDFlZjA3ZTBkYTA3NjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3Bw
CkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTb2NrZXRQcm92aWRlci5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCisjaW5j
bHVkZSAiV29ya2VyU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Nj
cmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNTUsNiArNTcsOCBAQCBXb3JrZXJQYXJhbWV0ZXJzIFdvcmtlclBhcmFt
ZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgICAgIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgdGltZU9yaWdpbiwKICAgICAgICAgcmVm
ZXJyZXJQb2xpY3ksCisgICAgICAgIHdvcmtlclR5cGUsCisgICAgICAgIGNyZWRlbnRpYWxzLAog
ICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKQogICAgIH07CiB9CkBAIC0xMjMs
OSArMTI3LDMzIEBAIGJvb2wgV29ya2VyVGhyZWFkOjpzaG91bGRXYWl0Rm9yV2ViSW5zcGVjdG9y
T25TdGFydHVwKCkgY29uc3QKIAogdm9pZCBXb3JrZXJUaHJlYWQ6OmV2YWx1YXRlU2NyaXB0SWZO
ZWNlc3NhcnkoU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKQogewotICAgIGdsb2JhbFNjb3BlKCkt
PnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJj
ZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25N
ZXNzYWdlKTsKLQotICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAgIC8vIFdlIGFy
ZSBjdXJyZW50bHkgaG9sZGluZyBvbmx5IHRoZSBpbml0aWFsIHNjcmlwdCBjb2RlLiBJZiB0aGUg
V29ya2VyVHlwZSBpcyBNb2R1bGUsIHdlIHNob3VsZCBmZXRjaCB0aGUgZW50aXJlIGdyYXBoIGJl
Zm9yZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2YgdGhpcy4KKyAgICAvLyBXZSBpbnZva2UgbW9kdWxl
IGxvYWRlciBhcyBpZiB3ZSBhcmUgZXhlY3V0aW5nIGlubGluZSBtb2R1bGUgc2NyaXB0IHRhZyBp
biBEb2N1bWVudC4KKworICAgIGlmIChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMud29ya2VyVHlwZSA9
PSBXb3JrZXJUeXBlOjpDbGFzc2ljKSB7CisgICAgICAgIGdsb2JhbFNjb3BlKCktPnNjcmlwdCgp
LT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUsIFVS
TChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25NZXNzYWdlKTsK
KyAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgLy8gRklYTUUgY3Jvc3NPcmlnaW4gbW9kZSBzaG91bGQgYmUgY29udmVydGVkLgorICAgICAg
ICAvLyBGSVhNRSBmaXggaW5pdGlhdG9yIG5hbWUuCisgICAgICAgIC8vIEZJWE1FIHBhc3MgVVJM
IHRvIG1vZHVsZSBsb2FkZXIuCisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZSht
X3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlw
dFVSTCksIHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSk7CisgICAg
ICAgIGF1dG8gc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZldGNoZXI6OmNyZWF0ZShnbG9i
YWxTY29wZSgpLT5jcmVkZW50aWFscygpKTsKKyAgICAgICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3Vs
dCByZXN1bHQgPSBnbG9iYWxTY29wZSgpLT5zY3JpcHQoKS0+bG9hZE1vZHVsZVN5bmNocm9ub3Vz
bHkoc2NyaXB0RmV0Y2hlci5nZXQoKSwgc291cmNlQ29kZSk7CisgICAgICAgIGlmIChyZXN1bHQg
IT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICAgICAgaWYgKE9wdGlvbmFsPExv
YWRhYmxlU2NyaXB0OjpFcnJvcj4gZXJyb3IgPSBzY3JpcHRGZXRjaGVyLT5lcnJvcigpKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2Fn
ZT4gbWVzc2FnZSA9IGVycm9yLT5jb25zb2xlTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAg
ZXhjZXB0aW9uTWVzc2FnZSA9IG1lc3NhZ2UtPm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gIkltcG9ydGluZyBhIG1v
ZHVsZSBzY3JpcHQgZmFpbGVkLiJfczsKKyAgICAgICAgICAgICAgICBnbG9iYWxTY29wZSgpLT5y
ZXBvcnRFeGNlcHRpb24oZXhjZXB0aW9uTWVzc2FnZSwgeyB9LCB7IH0sIHsgfSwgeyB9LCB7IH0p
OworICAgICAgICAgICAgfSBlbHNlIGlmICghc2NyaXB0RmV0Y2hlci0+d2FzQ2FuY2VsZWQoKSkg
eworICAgICAgICAgICAgICAgIC8vIEV2YWx1YXRlLgorICAgICAgICAgICAgICAgIGdsb2JhbFNj
b3BlKCktPnNjcmlwdCgpLT5saW5rQW5kRXZhbHVhdGVNb2R1bGUoc2NyaXB0RmV0Y2hlci5nZXQo
KSwgc291cmNlQ29kZSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICAgICAgICAgIGZpbmlz
aGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQog
CiAgICAgLy8gRnJlZSB0aGUgc3RhcnR1cCBkYXRhIHRvIGNhdXNlIGl0cyBtZW1iZXIgdmFyaWFi
bGUgZGVyZWYncyBoYXBwZW4gb24gdGhlIHdvcmtlcidzIHRocmVhZCAoc2luY2UKICAgICAvLyBh
bGwgcmVmL2RlcmVmcyBvZiB0aGVzZSBvYmplY3RzIGFyZSBoYXBwZW5pbmcgb24gdGhlIHRocmVh
ZCBhdCB0aGlzIHBvaW50KS4gTm90ZSB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaAppbmRleCA4ODkwNzkwOGU3YTliODA5ZThmMmE0ZTQ3M2Q3NTJkMTFkMjkzN2MwLi45NTEy
ZWZkYjE4ZjMyYTUwZWNiN2ZiNTY5NTlkNjFlODg3MmZhMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmgKQEAgLTI2LDcgKzI2LDEwIEBACiAjcHJhZ21hIG9uY2UKIAogI2lu
Y2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgorI2luY2x1ZGUg
IkZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0VGhy
ZWFkLmgiCisjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDxt
ZW1vcnk+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNjMsNiArNjYsOCBAQCBzdHJ1Y3QgV29y
a2VyUGFyYW1ldGVycyB7CiAgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3k7CiAgICAgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luOwogICAgIFJlZmVycmVy
UG9saWN5IHJlZmVycmVyUG9saWN5OworICAgIFdvcmtlclR5cGUgd29ya2VyVHlwZTsKKyAgICBG
ZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFsczsKICAgICBTZXR0aW5nczo6VmFsdWVz
IHNldHRpbmdzVmFsdWVzOwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRlZENvcHkoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKaW5kZXggMGIwZWQ4NjBkOWM3MTQy
MzhhMmE1YmI5ZmRmNDM4NDAyZDE2ZWJmMC4uMWMxYmI5NDQ4NjdhZGY0ZWQ1NzhhMjgxNGZhMzMy
MzI2YWVkOGE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKQEAgLTI3LDcgKzI3
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFdvcmtlclR5cGUgewor
ZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogdWludDhfdCB7CiAgICAgQ2xhc3NpYywKICAgICBNb2R1
bGUsCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggZWJiZTk1ZTg5MjRjOGYxZDczNzUyNWRlYTE2MzBi
MWZhZDU2ZmIyNy4uNGM3ZGRmNGE0YzEzMWUwZGNkNmJhMDk1MDlhYjJkOTc1NzVmMzBjMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIE5hdmlnYXRvckJhc2U7CiBjbGFz
cyBTZXJ2aWNlV29ya2VyOwogCiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNo
ZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVtIGNsYXNzIFdvcmtlclR5
cGUgOiB1aW50OF90OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9t
aXNlUHJveHk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VySm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iLmNwcAppbmRleCBlYzM5YzBmODQ5YTU0ZTFiNmQwYmVlMzRhOGQ3ZDE5Y2Jh
NDVlMjg4Li5mOTUxMGNiZjZmZGY3MDQ2ZjdkMWI5MjIzNjkxNzRkMDFmYTBiZTA5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3Bw
CkBAIC0xMTAsNyArMTEwLDggQEAgdm9pZCBTZXJ2aWNlV29ya2VySm9iOjpmZXRjaFNjcmlwdFdp
dGhDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEYKICAgICBvcHRpb25z
LmNhY2hlID0gY2FjaGVQb2xpY3k7CiAgICAgb3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9u
czo6UmVkaXJlY3Q6OkVycm9yOwogICAgIG9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpTZXJ2aWNld29ya2VyOwotICAgIG1fc2NyaXB0TG9hZGVyLT5sb2Fk
QXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25z
KSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSwgU2Vydmlj
ZVdvcmtlcnNNb2RlOjpOb25lLCAqdGhpcyk7CisgICAgb3B0aW9ucy5jcmVkZW50aWFscyA9IEZl
dGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW47CisgICAgbV9zY3JpcHRMb2FkZXIt
PmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9w
dGlvbnMpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlLCBT
ZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmUsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9k
ZSgpKTsKIH0KIAogUmVzb3VyY2VFcnJvciBTZXJ2aWNlV29ya2VySm9iOjp2YWxpZGF0ZVNlcnZp
Y2VXb3JrZXJSZXNwb25zZShjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9iRGF0YSwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0
aW9ucy5oCmluZGV4IDlkNTAwZjg1YWNiMTg4NDFjYzU1YmVhODIxMWRiMTRmYWRjOTc0NzUuLjJl
MzU1N2ZhN2RmNjdmMWJmOThjN2I3YTVkZTRiMGE1YTdiY2NjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9u
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uT3B0aW9ucy5oCkBAIC0zMiw3ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGVudW0gY2xhc3MgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIDogdWludDhfdDsKLWVu
dW0gY2xhc3MgV29ya2VyVHlwZTsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3Q7CiAK
IHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucyB7CiAgICAgU3RyaW5nIHNj
b3BlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
Y29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCBjOGE3YTk5NzJmOWNjOGMxNmE3
OTY3NTExNTUyZjU0OTNhNjg2Zjk4Li4zM2NhMGVjMjNiNThhNTUxMTg3Njg0NmJhMDcxODM1MzJi
NWM0N2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNzMsOCArNzMsOSBAQCBj
bGFzcyBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSA6IHB1YmxpYyBXb3JrZXJPYmplY3RQ
cm94eSB7CiAvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2VyT2JqZWN0UHJveHkKIC8vIEZJWE1F
OiBVc2UgdmFsaWQgcnVudGltZSBmbGFncwogCisvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2Vy
VHlwZSBhbmQgQ3JlZGVudGFpbHMgZm9yIG1vZHVsZSBzZXJ2aWNlIHdvcmtlcnMuCiBTZXJ2aWNl
V29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YSYgZGF0YSwgU3RyaW5nJiYgdXNlckFnZW50LCBjb25zdCBTZXR0aW5nczo6VmFsdWVz
JiBzZXR0aW5nc1ZhbHVlcywgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBXb3JrZXJE
ZWJ1Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94
eSogaWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0g
ICAgOiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZp
Y2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlm
aWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0
cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwg
TW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0YS5zY3JpcHQs
IGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94
eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLnJlZ2lzdHJh
dGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRiQ29ubmVjdGlv
blByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJs
ZWQoKSkKKyAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygp
LCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0
ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+
bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ks
IGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBXb3JrZXJUeXBlOjpDbGFzc2ljLCBG
ZXRjaFJlcXVlc3RDcmVkZW50aWFsczo6U2FtZU9yaWdpbiwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0
YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJU
aHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRh
LnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRi
Q29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0
ZUFsbEVuYWJsZWQoKSkKICAgICAsIG1fZGF0YShkYXRhLmlzb2xhdGVkQ29weSgpKQogICAgICwg
bV93b3JrZXJPYmplY3RQcm94eShEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVk
KCkpCiAgICAgLCBtX2hlYXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9u
KCkuY29ubmVjdGlvbigpLT5zaG91bGRVc2VTaG9ydFRpbWVvdXQoKSA/IGhlYXJ0QmVhdFRpbWVv
dXRGb3JUZXN0IDogaGVhcnRCZWF0VGltZW91dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAppbmRleCAyZGRkYjNiNWI0
MWVkODdiZDYxNGEwYjk0ZDA5Yjc2MTI5M2Q3NjA3Li4zNzhmYmE2NTdlOGJiZjQ4NDFlNTZjYmY4
NjU2MWY4ZWNjMzExMDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCkBAIC01MCw3ICs1MCw3IEBAIHN0cnVjdCBT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50
UXVlcnlPcHRpb25zOwogc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTsKIHN0cnVjdCBT
ZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXI7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7Citl
bnVtIGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90OwogCiBjbGFzcyBTV1NlcnZlcldvcmtlciA6
IHB1YmxpYyBSZWZDb3VudGVkPFNXU2VydmVyV29ya2VyPiB7CiBwdWJsaWM6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCBkNzA0ODg2NjQ4
YzBlZmFhNmI3ODA4NGM1Mzg3MjAxY2EyYjFjNTQzLi4yYWUwZTMzODkxZGJjODlmMTQ2ODdkNDE0
ODAyYWFhMTJkMGQ4NGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3Jr
bGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRH
bG9iYWxTY29wZS5jcHAKQEAgLTE1OCw3MiArMTU4LDcgQEAgUmVmZXJyZXJQb2xpY3kgV29ya2xl
dEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0CiB2b2lkIFdvcmtsZXRHbG9iYWxT
Y29wZTo6ZmV0Y2hBbmRJbnZva2VTY3JpcHQoY29uc3QgVVJMJiBtb2R1bGVVUkwsIEZldGNoUmVx
dWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlv
bmFsPEV4Y2VwdGlvbj4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKCFp
c01haW5UaHJlYWQoKSk7Ci0gICAgbV9zY3JpcHRGZXRjaEpvYnMuYXBwZW5kKHsgbW9kdWxlVVJM
LCBjcmVkZW50aWFscywgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikgfSk7Ci0gICAgcHJvY2Vz
c05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKCk7Ci19Ci0KLXZvaWQgV29ya2xldEdsb2JhbFNj
b3BlOjpwcm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKQotewotICAgIGlmIChtX3Nj
cmlwdEZldGNoSm9icy5pc0VtcHR5KCkgfHwgbV9zY3JpcHRMb2FkZXIpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIGF1dG8mIHNjcmlwdEZldGNoSm9iID0gbV9zY3JpcHRGZXRjaEpvYnMuZmlyc3Qo
KTsKLQotICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0IHsgc2NyaXB0RmV0Y2hKb2IubW9kdWxl
VVJMIH07Ci0KLSAgICBGZXRjaE9wdGlvbnMgZmV0Y2hPcHRpb25zOwotICAgIGZldGNoT3B0aW9u
cy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpDb3JzOwotICAgIGZldGNoT3B0aW9ucy5jYWNo
ZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1bHQ7Ci0gICAgZmV0Y2hPcHRpb25zLnJlZGly
ZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6Rm9sbG93OwotICAgIGZldGNoT3B0aW9ucy5j
cmVkZW50aWFscyA9IHNjcmlwdEZldGNoSm9iLmNyZWRlbnRpYWxzOwotI2lmIEVOQUJMRShXRUJf
QVVESU8pCi0gICAgaWYgKGlzQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUoKSkKLSAgICAgICAgZmV0
Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6QXVkaW93
b3JrbGV0OwotI2VuZGlmCi0jaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCi0gICAgaWYgKGlz
UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUoKSkKLSAgICAgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0
aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6UGFpbnR3b3JrbGV0OwotI2VuZGlmCi0K
LSAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlIDogQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQ6OkVuZm9yY2VDaGlsZFNyY0RpcmVjdGl2ZTsKLQotICAgIG1fc2NyaXB0TG9hZGVyID0gV29y
a2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKTsKLSAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5j
aHJvbm91c2x5KCp0aGlzLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyks
IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFs
bCwgKnRoaXMpOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKQotewotfQotCi12b2lk
IFdvcmtsZXRHbG9iYWxTY29wZTo6bm90aWZ5RmluaXNoZWQoKQotewotICAgIGF1dG8gY29tcGxl
dGVkSm9iID0gbV9zY3JpcHRGZXRjaEpvYnMudGFrZUZpcnN0KCk7Ci0KLSAgICBpZiAobV9zY3Jp
cHRMb2FkZXItPmZhaWxlZCgpKSB7Ci0gICAgICAgIGRpZENvbXBsZXRlU2NyaXB0RmV0Y2hKb2Io
V1RGTW92ZShjb21wbGV0ZWRKb2IpLCBFeGNlcHRpb24geyBBYm9ydEVycm9yLCBtYWtlU3RyaW5n
KCJGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogIiwgbV9zY3JpcHRMb2FkZXItPmVycm9y
KCkubG9jYWxpemVkRGVzY3JpcHRpb24oKSkgfSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmVhbGx5IGJlIHJ1biBhcyBhIG1vZHVsZSBzY3Jp
cHQgYnV0IHdlIGRvbid0IHN1cHBvcnQgdGhpcyBpbiB3b3JrZXJzIHlldC4KLSAgICBVUkwgbW9k
dWxlVVJMKG1fc2NyaXB0TG9hZGVyLT5yZXNwb25zZVVSTCgpKTsKLSAgICBhdXRvIGFkZFJlc3Vs
dCA9IG1fZXZhbHVhdGVkTW9kdWxlcy5hZGQobW9kdWxlVVJMKTsKLSAgICBpZiAoYWRkUmVzdWx0
LmlzTmV3RW50cnkpIHsKLSAgICAgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IGV4Y2VwdGlv
bjsKLSAgICAgICAgc2NyaXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zY3JpcHRM
b2FkZXItPnNjcmlwdCgpLCBXVEZNb3ZlKG1vZHVsZVVSTCkpLCBleGNlcHRpb24pOwotICAgICAg
ICBpZiAoZXhjZXB0aW9uKQotICAgICAgICAgICAgc2NyaXB0KCktPnNldEV4Y2VwdGlvbihleGNl
cHRpb24pOwotICAgIH0KLQotICAgIGRpZENvbXBsZXRlU2NyaXB0RmV0Y2hKb2IoV1RGTW92ZShj
b21wbGV0ZWRKb2IpLCB7IH0pOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6ZGlkQ29t
cGxldGVTY3JpcHRGZXRjaEpvYihTY3JpcHRGZXRjaEpvYiYmIGpvYiwgT3B0aW9uYWw8RXhjZXB0
aW9uPiByZXN1bHQpCi17Ci0gICAgbV9zY3JpcHRMb2FkZXIgPSBudWxscHRyOwotCi0gICAgam9i
LmNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocmVzdWx0KSk7Ci0KLSAgICBwcm9jZXNzTmV4dFNj
cmlwdEZldGNoSm9iSWZOZWVkZWQoKTsKKyAgICBzY3JpcHQoKS0+bG9hZEFuZEV2YWx1YXRlTW9k
dWxlKG1vZHVsZVVSTCwgY3JlZGVudGlhbHMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
IH0KIAogTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXImIFdvcmtsZXRHbG9iYWxTY29wZTo6bWVz
c2FnZVBvcnRDaGFubmVsUHJvdmlkZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3Jr
bGV0R2xvYmFsU2NvcGUuaAppbmRleCBmMjMyMGYwZDEzMDI1Y2VhYjNiYWM1NmE0NWVjMmQxZGQz
ZmI2Y2MwLi5mZTU0Yjg1MzI1Njc5MjU4M2RlZGEwNTVhNDMzYTI1NjU0ZTg2NzUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAtMzMsNyArMzMs
NiBAQAogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJXb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXIuaCIKLSNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlTWVzc2FnZS5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL1J1bnRpbWVGbGFncy5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgpA
QCAtNTQsNyArNTMsNyBAQCBzdHJ1Y3QgV29ya2xldFBhcmFtZXRlcnM7CiBlbnVtIFdvcmtsZXRH
bG9iYWxTY29wZUlkZW50aWZpZXJUeXBlIHsgfTsKIHVzaW5nIFdvcmtsZXRHbG9iYWxTY29wZUlk
ZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFdvcmtsZXRHbG9iYWxTY29wZUlkZW50aWZpZXJU
eXBlPjsKIAotY2xhc3MgV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsKK2NsYXNzIFdv
cmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXb3JrbGV0R2xvYmFsU2NvcGUpOwogcHVibGljOgog
ICAgIHZpcnR1YWwgfldvcmtsZXRHbG9iYWxTY29wZSgpOwpAQCAtMTExLDEwICsxMTAsNiBAQCBj
bGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGUsIHB1YmxpYyBXb3JrZXJTY3JpcAogICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkLCB1
bnNpZ25lZCwgUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiYmLCBKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgdW5zaWduZWQgbG9uZykgZmluYWw7CiAgICAgdm9pZCBhZGRDb25zb2xlTWVz
c2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYsIHVuc2lnbmVk
IGxvbmcpIGZpbmFsOwogCi0gICAgLy8gV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LgotICAgIHZv
aWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYpIGZpbmFsOwotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoKSBmaW5hbDsK
LQogICAgIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZXR1cm4gdGhp
czsgfQogCiAjaWYgRU5BQkxFKFdFQl9DUllQVE8pCkBAIC0xMjUsMTUgKzEyMCw2IEBAIGNsYXNz
IFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSwg
cHVibGljIFdvcmtlclNjcmlwCiAgICAgU3RyaW5nIHVzZXJBZ2VudChjb25zdCBVUkwmKSBjb25z
dCBmaW5hbDsKICAgICBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcygpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXM7IH0KIAotICAgIHN0cnVjdCBTY3Jp
cHRGZXRjaEpvYiB7Ci0gICAgICAgIFVSTCBtb2R1bGVVUkw7Ci0gICAgICAgIEZldGNoUmVxdWVz
dENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwotICAgICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+IGNvbXBsZXRpb25IYW5kbGVyOwotICAgIH07Ci0KLSAg
ICB2b2lkIHByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCgpOwotICAgIHZvaWQgZGlk
Q29tcGxldGVTY3JpcHRGZXRjaEpvYihTY3JpcHRGZXRjaEpvYiYmLCBPcHRpb25hbDxFeGNlcHRp
b24+KTsKLQogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7CiAKICAgICBSZWY8U2Vj
dXJpdHlPcmlnaW4+IG1fdG9wT3JpZ2luOwpAQCAtMTQ0LDkgKzEzMCw2IEBAIGNsYXNzIFdvcmts
ZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSwgcHVibGlj
IFdvcmtlclNjcmlwCiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyTWVzc2FnZVBvcnRDaGFu
bmVsUHJvdmlkZXI+IG1fbWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI7CiAKLSAgICBSZWZQdHI8
V29ya2VyU2NyaXB0TG9hZGVyPiBtX3NjcmlwdExvYWRlcjsKLSAgICBEZXF1ZTxTY3JpcHRGZXRj
aEpvYj4gbV9zY3JpcHRGZXRjaEpvYnM7Ci0gICAgSGFzaFNldDxVUkw+IG1fZXZhbHVhdGVkTW9k
dWxlczsKICAgICBTZXR0aW5nczo6VmFsdWVzIG1fc2V0dGluZ3NWYWx1ZXM7CiB9OwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMmI5YTUyYjdkZjczMWU2NjVjNGYxMDI2ZDhhYzE5MzlhNGE4ODJhMy4uYjYxODlmMzgzNWM5
MWM2MjE2MzI3MThkZTI5NzFmYTU3NWZmYjM5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIx
LTAyLTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMg
TW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDItMTAgIEFtaXIgTWFyayBK
ciAgPGFtaXJfbWFya0BhcHBsZS5jb20+CiAKICAgICAgICAgW01hY09TXSBhbmltYXRpb25zL2tl
eWZyYW1lLXBzZXVkby1zaGFkb3cuaHRtbCBpcyBmbGFrZXkgZmFpbGluZy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IGQzMGU1NjI5MjJlNWE0ZDZmMzE2MjY1ZTFlYTI1NjhlOTll
N2U4MWMuLmE1MjQ2NDU2ZTYxYmM1YTcwODBkZDUzNGQyZGJlNTMzYjY1ZGZmNzUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTAyLTExICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBX
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXIt
d29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBv
cnRTY3JpcHRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWlj
LWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3Jr
ZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3Jk
ZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1w
b3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXIt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1
cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdv
cmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
YmFzZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2Jh
bFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9y
dC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRl
ZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxl
cy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJl
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRp
b25zLXR5cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVk
aW8td29ya2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xl
dC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2Vy
LW9yaWdpbi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDItMTAgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG1vZGlmaWVy
IGtleXMgaW4gdGVzdF9kcml2ZXIuc2VuZF9rZXlzKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGU4
ZDE3YjA3NzUyZDFlN2YxMjg3NDYzMGQ3OWMxZTJhZWE0ZWQyMzYuLmUxYWNjMjUwYjZkMzdmZWVh
MWQyMWFiZGNkMWYyMTczODJmYTNkOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjQyLDcgKzY0
Miw2IEBAIGZhc3QvZG9tL2Nvbm5lY3RlZC1zdWJmcmFtZS1jb3VudGVyLW92ZXJmbG93Lmh0bWwg
WyBTbG93IF0KIFsgRGVidWcgXSBodHRwL3Rlc3RzL3dvcmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0
LTIuaHRtbCBbIFNsb3cgXQogCiAjIFNraXAgd29ya2VycyB0ZXN0cyB0aGF0IGFyZSB0aW1pbmcg
b3V0IG9yIGFyZSBTaGFyZWRXb3JrZXIgcmVsYXRlZCBvbmx5Ci1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi5odG1s
IFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZGF0YS11
cmwtc2hhcmVkLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9leGFtcGxlcy9vbmNvbm5lY3QuYW55Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9leGFtcGxlcy9vbmNvbm5lY3QuYW55Lndvcmtl
ci5odG1sIFsgU2tpcCBdCkBAIC02NjUsNyArNjY0LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlci1yZXBsYWNlLUV2ZW50SGFuZGxlci5hbnku
aHQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9TaGFyZWRXb3JrZXIt
cmVwbGFjZS1FdmVudEhhbmRsZXIuYW55Lndvcmtlci5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyLXNjcmlwdC1lcnJvci5o
dG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hh
cmVkV29ya2VyLXNpbXBsZS5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci5o
dG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtY3JlZGVudGlhbHMuaHRtbCBbIFNraXAgXQog
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1No
YXJlZFdvcmtlciBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9u
b24tb2JqZWN0LnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA0OTI2OWIz
YjUwYjkxNzVjYjYyZWNhMzEyZTU4NmIzYjE2NjJhMjU5Li4yY2FlNWY3ZTM1YTMyZmVjZWIyNjhm
MjkwMDAwZTRlNTU1NmM2ODYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVs
ZS9ub24tb2JqZWN0LnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsx
LDcgQEAKIAotRkFJTCBOb24tb2JqZWN0OiBudWxsIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBt
b2R1bGUgJy4vbnVsbC5qc29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6IHRydWUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5v
dCBpbXBvcnQgdGhlIG1vZHVsZSAnLi90cnVlLmpzb24nLiIKLUZBSUwgTm9uLW9iamVjdDogZmFs
c2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
RXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9mYWxzZS5qc29uJy4iCi1GQUlM
IE5vbi1vYmplY3Q6IHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL3N0
cmluZy5qc29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0
IHRoZSBtb2R1bGUgJy4vYXJyYXkuanNvbicuIgorRkFJTCBOb24tb2JqZWN0OiBudWxsIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBl
LiIKK0ZBSUwgTm9uLW9iamVjdDogdHJ1ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBu
b3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGZhbHNl
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlN
RSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVjdDogc3RyaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pz
b24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVj
dDogYXJyYXkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNj
cmlwdCBNSU1FIHR5cGUuIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25l
cnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3It
bW9kdWxlLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0
YzFkY2IzYTVmLi5mNjhjYzczYjRkNjc0YzU0ZGZhZmU1MjIxMmI2NDNjNDAzMGZkNDJjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNr
cG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2tw
b2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQK
QEAgLTEsNCArMSw0IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVs
bAotCitGQUlMIFByb21pc2UgcmVzb2x2ZWQgZHVyaW5nICNyZXBvcnQtdGhlLWVycm9yIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbImhhbmRsZXIg
MSIsICJoYW5kbGVyIDIiLCAiaGFuZGxlciAxIHByb21pc2UiLCAiaGFuZGxlciAyIHByb21pc2Ui
XSBsZW5ndGggNCwgZ290IFtdIGxlbmd0aCAwCitQQVNTIFByb21pc2UgcmVzb2x2ZWQgZHVyaW5n
IGV2ZW50IGhhbmRsZXJzIG90aGVyIHRoYW4gZXJyb3IKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2Ut
dXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3Jr
ZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQKaW5kZXggNTFkNjEwMGU2MTIyYTk3YzM2NGIz
Y2ViMWQ3ZmQwN2UwZTE1NjExNy4uYTgwNTBjMDc4Y2Y4Yjg4ZDU2OGFmZmUwZDU1Y2MzMTkwYzM2
NTQ3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHlu
YW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gc2FtZS1v
cmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4v
aW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJl
bD1yZWxhdGl2ZS1jcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpJy4iCi1GQUlMIEFic29sdXRl
IFVSTC1saWtlIGZyb20gc2FtZS1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3Qg
aW1wb3J0IHRoZSBtb2R1bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2dhbW1h
L2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFi
ZWw9YWJzb2x1dGUtY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgotUEFTUyBSZWxhdGl2
ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKLUZBSUwgQWJzb2x1
dGUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBu
b3QgaW1wb3J0IHRoZSBtb2R1bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2dh
bW1hL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikm
bGFiZWw9YWJzb2x1dGUtY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgorUEFTUyBSZWxh
dGl2ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQorUEFTUyBBYnNv
bHV0ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQorRkFJTCBSZWxh
dGl2ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkgYXNzZXJ0X2Vx
dWFsczogUmVsYXRpdmUgVVJMLWxpa2Ugc3BlY2lmaWVyIHJlc29sdXRpb24gc2hvdWxkIGZhaWwg
ZXhwZWN0ZWQgIih1bnJlYWNoZWQpIiBidXQgZ290ICJnYW1tYS9pbXBvcnQuanMiCitQQVNTIEFi
c29sdXRlIFVSTC1saWtlIGZyb20gY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1p
bXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGlu
Zy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11
cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQKaW5kZXggODY2ZWJiMjI3YWQyNmFhY2UxYTU3OGJh
ZWE2YTgxZGMwZTZlNzdmMC4uNWU3MDYzNDkwZTJkZmZlY2U4NWVhNzY1YWViZGRlNGIxNmViMGZj
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5
bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9h
bHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAot
RkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBD
b3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vaW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vz
cy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1yZWxhdGl2ZS13b3JrZXIgdG9wLWxldmVs
IHNjcmlwdCcuIgotRkFJTCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwg
c2NyaXB0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6
ODgwMC9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2R5bmFtaWMtaW1wb3J0L2dhbW1hL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9YWJzb2x1dGUtd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQn
LiIKK1BBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdAor
UEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0
aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtl
ci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNi
M2E1Zi4uMmYxMmEyMzQyZmFkMjI0ZTNhMThhNmZiNWQ4NDgzMjVlYTY3NzZmZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3Jk
ZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBt
ZXNzYWdlID0gbnVsbAotCitQQVNTIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFs
dWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4
dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi5iODYxZjcw
MWY5NDhmYjEzMjc2OTMyMmMzODM2NmYyZDEzOGYwNGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGlu
Zy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAog
Ci1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBUZXN0IGV2
YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRp
ZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJnbG9iYWwtZXJy
b3IiLCAiZXJyb3IiLCAibWljcm90YXNrIl0gbGVuZ3RoIDUsIGdvdCBbInN0ZXAtMS0xIiwgInN0
ZXAtMS0yIiwgIm1pY3JvdGFzayJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5
MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLmMxZDM4YmRlNTBjNTllNWQ1
OTQxNzNkOTZmOWNkMTllYjEwN2M5YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2
YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMg
QEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZBSUwgVGVz
dCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3Ro
cyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsic3RlcC0yLjItMSIsICJzdGVwLTIuMi0yIiwgImds
b2JhbC1lcnJvciIsICJlcnJvciIsICJtaWNyb3Rhc2stMi4yIl0gbGVuZ3RoIDUsIGdvdCBbInN0
ZXAtMi4yLTEiLCAic3RlcC0yLjItMiIsICJtaWNyb3Rhc2stMi4yIl0gbGVuZ3RoIDMKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRp
b24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3Ro
ZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2Vy
LWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2Iz
YTVmLi4yZjEyYTIzNDJmYWQyMjRlM2ExOGE2ZmI1ZDg0ODMyNWVhNjc3NmZlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRl
ci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCi0KK1BBU1MgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggMTJkOTRhOTFlZjFmOGFiMGExODdjNzQ5YjBkZGVjNjk2
ZDExODhlNy4uYjRkNjhhZjA1NmVlZjYyMmEzM2Q1NGYwNzZmMzgxZDRlMWJiMjlhMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0yLDggKzIsOCBAQAogRkFJTCBTdGF0aWMgaW1wb3J0LiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0
cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCiBGQUlMIE5lc3RlZCBzdGF0aWMgaW1wb3J0LiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0
cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCiBGQUlMIFN0YXRpYyBpbXBvcnQgYW5kIHRoZW4gZHlu
YW1pYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBp
bXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBp
bXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1p
YyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9u
LWxvYWQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBOZXN0ZWQgZHluYW1pYyBp
bXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1p
YyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9u
LWR5bmFtaWMtaW1wb3J0LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgRHluYW1p
YyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFs
dWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBv
cnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tc3RhdGljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4
cGVjdGVkIGFycmF5Ci1GQUlMIGV2YWwoaW1wb3J0KCkpLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2
YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGlt
cG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQg
YXJyYXkKK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4K
K1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChp
bXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50
eHQKaW5kZXggZGQ5YWYzOGZmMDlmYmVjMWZhYzBiOGY1ZWE5YmFkNmUzMTYzNjQ5ZC4uNTFlYjM2
NjM4YzFjYTdkMDYwYjc2NzU5MjZmY2M3MGM1YmYwNzZlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEv
aW1wb3J0LWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0
LWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1F
U1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ3InLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1GQUlMIEJhc2UgVVJMIGluIG1vZHVs
ZSBkZWRpY2F0ZWQgd29ya2VyczogaW1wb3J0IGFzc2VydF91bnJlYWNoZWQ6IEdvdCBlcnJvciBl
dmVudCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQmFzZSBVUkwgaW4gbW9kdWxlIGRl
ZGljYXRlZCB3b3JrZXJzOiBpbXBvcnQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2Ny
aXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13
b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGFiNWE3ZmI4OTAyMGYyOWZkODkzYTc1NjgwZmZlMTdk
M2QzNTBmN2MuLmFiNTNiODA1OTlhZTAxOTU3ODA4NWVlNDRhYWVmYTRjNzk1NTI2ODQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFz
ZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSwzIEBACiAKLUZBSUwgaW1wb3J0U2NyaXB0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2Ft
bWEvc2NyaXB0LmpzIiBidXQgZ290ICJiZXRhL3NjcmlwdC5qcyIKK1BBU1MgaW1wb3J0U2NyaXB0
cwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9i
YXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDgzZjM2
N2YyY2YzYTY2YzY0YTYyNjQyOTQ2NTZkNWU4ODFkMWMxMWMuLjI4YjBjYjQwMDEzOTJkMDg4N2E0
ZmViZTY4MWMxZTE1MWQwZGYxOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRp
Y2F0ZWQgd29ya2VyczogWEhSIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYVxuIiBidXQg
Z290ICJiZXRhXG4iCitQQVNTIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2Vyczog
WEhSCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1
cmwvYWxwaGEveGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZDZiMDhlZWRhZTZmNjk2
YzdhNGJmYTY1NWUxM2I1ZWQ0NjA3ZWEwMS4uZWExNDU0ZDliM2YyMGY4NWQ5MDE2YzUwNmExNTQ2
YWY2MTc4NDJkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXdvcmtlci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgeGhyLXdvcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWFcbiIg
YnV0IGdvdCAiYmV0YVxuIgorUEFTUyB4aHItd29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
V29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3Jp
Z2luLWV4cGVjdGVkLnR4dAppbmRleCA4MzFmMGM1OGM2OTRjMmQ0ZmViZDZkOGQwYWYzMDdiMTA5
NDQyYTZlLi5kNTU1ZWU3Y2YzZmM3MmVmYjgyZGY5ZGI3ZGFkMzY3ZjlhYjdmZmJmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
Y29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9y
cy9Xb3JrZXIvc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDExIEBACiAKLUhh
cm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCiBQQVNTIHVuc3VwcG9ydGVk
X3NjaGVtZQogRkFJTCBkYXRhX3VybCBUaGUgb3BlcmF0aW9uIGlzIGluc2VjdXJlLgotVElNRU9V
VCBhYm91dF9ibGFuayBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBleGFtcGxlX2ludmFsaWQgVGVz
dCB0aW1lZCBvdXQKLVRJTUVPVVQgcG9ydF84MSBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBodHRw
c19wb3J0XzgwIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIGh0dHBzX3BvcnRfODAwMCBUZXN0IHRp
bWVkIG91dAotVElNRU9VVCBodHRwX3Bvc3RfODAxMiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBq
YXZhc2NyaXB0X3VybCBUZXN0IHRpbWVkIG91dAorUEFTUyBhYm91dF9ibGFuaworUEFTUyBleGFt
cGxlX2ludmFsaWQKK1BBU1MgcG9ydF84MQorUEFTUyBodHRwc19wb3J0XzgwCitQQVNTIGh0dHBz
X3BvcnRfODAwMAorUEFTUyBodHRwX3Bvc3RfODAxMgorUEFTUyBqYXZhc2NyaXB0X3VybAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBl
Y3RlZC50eHQKaW5kZXggZjE3NDFmOWQ4YmYwNzAzMjcwZDJlMzc2MmRiY2JlMjZjMGI5MDA1OS4u
M2IwZGZiMzVlNTFjZDFhODU0NTUzMDE5YzBlNDAzZGJlMmYxZDMzZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogY2xh
c3NpYyBkZWRpY2F0ZWQgd29ya2VycyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlv
bi9wb3N0LWxvY2F0aW9uLW1lbWJlcnMuanM/YSIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4
ODAwL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9oZWxwZXIt
cmVkaXJlY3QucHk/ZmFpbCIKK1BBU1MgV29ya2VyTG9jYXRpb24gd2l0aCByZWRpcmVjdHM6IGNs
YXNzaWMgZGVkaWNhdGVkIHdvcmtlcnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFs
U2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtl
ckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXgg
ZGMyZTJlMjA3ZGIwMDFlZTcwZTczMzA3ZDI3YmIzMzU3MjBmZDU1OS4uYjNiZjgxZWU4NjgxYjlk
YzA4MGY1ODAyNzFlOGI4ZjM5MDk2NTQ5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFs
U2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9X
b3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBtb2R1
bGUgZGVkaWNhdGVkIHdvcmtlcnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6Ly9sb2Nh
bGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24v
cG9zdC1sb2NhdGlvbi1tZW1iZXJzLmpzP2EiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vaGVscGVyLXJl
ZGlyZWN0LnB5P2ZhaWwiCitQQVNTIFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBtb2R1
bGUgZGVkaWNhdGVkIHdvcmtlcnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1p
bXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1w
b3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQKaW5kZXggMjBhYzE3ZDU2M2M0YjNhNDYxZjBj
YWFmYmVhZWViZDcxM2Y5NzA4MS4uZGNjZWRjY2QzNjhlMWZmMTdiMWRkMTM2ZTQ1M2ZlYzRmZTEw
YmM4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5h
bnktZXhwZWN0ZWQudHh0CkBAIC0xLDE4ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93
b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0
IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdvcmtlci5q
cyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1F
U1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9j
YWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0aWMtaW1wb3J0LWFuZC10
aGVuLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3Rs
eSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jl
c291cmNlcy9keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxl
cy9yZXNvdXJjZXMvbmVzdGVkLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxs
IGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29y
a2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9ydC1hbmQtdGhlbi1zdGF0aWMtaW1w
b3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
Ci1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFs
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9ldmFsLWR5
bmFtaWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQt
d29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLQot
RkFJTCBTdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDov
L2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvc3RhdGljLWltcG9ydC13
b3JrZXIuanNcIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1G
QUlMIE5lc3RlZCBzdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwi
aHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLXN0
YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuIgotRkFJTCBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtl
cnMvbW9kdWxlcy9yZXNvdXJjZXMvc3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWltcG9y
dC13b3JrZXIuanNcIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4i
Ci1GQUlMIER5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0
cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBv
cnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
IgotRkFJTCBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVy
YWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9uZXN0
ZWQtZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3Rs
eSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1w
b3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAw
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtYW5kLXRoZW4tc3RhdGlj
LWltcG9ydC13b3JrZXIuanNcIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1
bWVudC4iCi1GQUlMIGV2YWwoaW1wb3J0KCkpLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFs
IFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXZhbC1k
eW5hbWljLWltcG9ydC13b3JrZXIuanNcIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9u
ZSBhcmd1bWVudC4iCitQQVNTIFN0YXRpYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBzdGF0aWMgaW1w
b3J0LgorUEFTUyBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBE
eW5hbWljIGltcG9ydC4KK1BBU1MgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBEeW5hbWlj
IGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0LgorUEFTUyBldmFsKGltcG9ydCgpKS4KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1
bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQKaW5kZXggMWRhNDZi
OTI2YmUwODk2ZWU4Zjc1YTc4ZGNhZTRmMjY5YjA1MDkyYi4uMjM5Y2M5Y2UxNTMwMWY3ZWVkODNk
NWViMjIzMGE5ZGUyOTRlYTJlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtY3NwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1jc3At
ZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDIyIEBACiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2du
aXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQz
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiBDT05T
T0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3Rp
dmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6
Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9u
LWxvYWQtc2NyaXB0LmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93
d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxv
YWQtc2NyaXB0LmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cx
LmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQt
c2NyaXB0LmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5
LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNv
dXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2du
aXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQz
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCitCbG9j
a2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dv
cmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCitCbG9ja2Vk
IGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtl
cnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiBDT05TT0xFIE1F
U1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dv
cmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cx
LmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQt
c2NyaXB0LmpzCiAKIFBBU1Mgd29ya2VyLXNyYyAnc2VsZicgZGlyZWN0aXZlIHNob3VsZCBkaXNh
bGxvdyBjcm9zcyBvcmlnaW4gc3RhdGljIGltcG9ydC4KIEZBSUwgd29ya2VyLXNyYyAqIGRpcmVj
dGl2ZSBzaG91bGQgYWxsb3cgY3Jvc3Mgb3JpZ2luIHN0YXRpYyBpbXBvcnQuIGFzc2VydF9hcnJh
eV9lcXVhbHM6IGV4cGVjdGVkIHByb3BlcnR5IDAgdG8gYmUgImV4cG9ydC1vbi1sb2FkLXNjcmlw
dC5qcyIgYnV0IGdvdCAiRVJST1IiIChleHBlY3RlZCBhcnJheSBbImV4cG9ydC1vbi1sb2FkLXNj
cmlwdC5qcyJdIGdvdCBbIkVSUk9SIl0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0
LWZhaWx1cmUtZXhwZWN0ZWQudHh0CmluZGV4IDk1YzZkMTVkZjQ0ZTE4YTM1ZGZlYjBmYTM5Yzhk
Mzg0NDIwYzJjMTMuLmU5NTU3OGU3MWIxYzUwYTRlMDQ3MWIwMzcxNTRiMzg2YjM3YWVkNzQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBA
IC0xLDkgKzEsOSBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBz
dHJpbmcgbGl0ZXJhbCAnLi9ub24tZXhpc3RlbnQtc2NyaXB0LmpzJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KK0NPTlNPTEUgTUVTU0FHRTogSW1wb3J0aW5nIGEg
bW9kdWxlIHNjcmlwdCBmYWlsZWQuCiAKLUZBSUwgaW1wb3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3
b3JrZXIgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
IlR5cGVFcnJvciIgYnV0IGdvdCAiTE9BREVEIgorUEFTUyBpbXBvcnRTY3JpcHRzKCkgb24gbW9k
dWxlIHdvcmtlciBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLgogUEFTUyBXb3JrZXIgY29uc3Ry
dWN0aW9uIGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCBkaXNwYXRjaCBhbiBFcnJvckV2
ZW50LgogUEFTUyBTdGF0aWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCBk
aXNwYXRjaCBhbiBFcnJvckV2ZW50LgotRkFJTCBEeW5hbWljIGltcG9ydCBmb3Igbm9uLWV4aXN0
ZW50IHNjcmlwdCBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiVHlwZUVycm9yIiBidXQgZ290ICJFcnJvciIKK1BBU1MgRHluYW1pYyBpbXBvcnQgZm9y
IG5vbi1leGlzdGVudCBzY3JpcHQgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIFBBU1MgV29y
a2VyIGNvbnN0cnVjdGlvbiBmb3IgYW4gaW52YWxpZCBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2Vw
dGlvbi4KIFBBU1MgV29ya2VyIGNvbnN0cnVjdGlvbiBmb3IgYSBmaWxlIFVSTCBzaG91bGQgdGhy
b3cgYW4gZXhjZXB0aW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9y
dC1tZXRhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEtZXhw
ZWN0ZWQudHh0CmluZGV4IGQ1ODA2MjA0MWMzZTY5NTE1YjgxNWUwMmQ3YzM4Njg0ZDc3Yzc2Yjcu
Ljc3MjkxYmFhMWE0MTg0YmViZTdhZDdiNWQ5ZjExOWM3MWE3OGRlNGYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItaW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNSBAQAotQ09O
U09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogaW1wb3J0Lm1ldGEgaXMgb25seSB2YWxpZCBpbnNp
ZGUgbW9kdWxlcy4KIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJv
cjogaW1wb3J0Lm1ldGEgaXMgb25seSB2YWxpZCBpbnNpZGUgbW9kdWxlcy4KLQotRkFJTCBUZXN0
IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IGltcG9y
dC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuIgotRkFJTCBUZXN0IGltcG9ydC5t
ZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdC4gYXNzZXJ0X3RydWU6IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBv
cnRlZCBtb2R1bGUgc2NyaXB0IHdpdGggYSBmcmFnbWVudC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitQQVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSB0b3AtbGV2
ZWwgbW9kdWxlIHNjcmlwdC4KK1BBU1MgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9y
dGVkIG1vZHVsZSBzY3JpcHQuCitQQVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBv
cnRlZCBtb2R1bGUgc2NyaXB0IHdpdGggYSBmcmFnbWVudC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtbWV0YS5odG1sCmluZGV4IGNmZjhlOTE0ODhlODIzOWFiZTIxMzYxOWQxMmQ1YTYwMzA3MmZi
ZWEuLmVkZTI2OTJlMWM2MzQxYmVmZmM5MDEwYzQxYjhmNGNmZTQzODMyOWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1
bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC1tZXRhLmh0bWwKQEAgLTUzLDcgKzUzLDcgQEAKICAgICAgICAgd29ya2Vy
LnBvc3RNZXNzYWdlKCcuLycgKyBzY3JpcHRfdXJsICsgJyMxJyk7CiAgICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHdvcmtlci5vbm1lc3NhZ2UgPSByZXNvbHZlKTsKICAgICAg
IH0pCi0gICAgICAudGhlbihtc2dfZXZlbnQgPT4gYXNzZXJ0X3RydWUobXNnX2V2ZW50LmRhdGEu
ZW5kc1dpdGgoc2NyaXB0X3VybCkpKTsKKyAgICAgIC50aGVuKG1zZ19ldmVudCA9PiBhc3NlcnRf
dHJ1ZShtc2dfZXZlbnQuZGF0YS5lbmRzV2l0aChzY3JpcHRfdXJsICsgJyMxJykpKTsKIH0sICdU
ZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEg
ZnJhZ21lbnQuJyk7CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtl
ci1pbXBvcnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0CmluZGV4IDZkYzQyYzFjZmQzMzQ4YWZkZDFkZmQzYjEw
YTUwNDcwNTUzMDE5NmEuLmZlMWI5ZDkzYzA4MDExYjUwZTk0MWY0ZTEyMzYwNjdhYmJkM2YyM2Ug
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50
eHQKQEAgLTEsMTkgKzEsMjMgQEAKLQotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2Ug
PSBudWxsCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2Fs
aG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNr
ZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxo
b3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tl
ci5weQorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhv
c3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2Vy
LnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9z
dDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIu
cHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0
Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5w
eQorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6
OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5
CiAKIFBBU1MgU2FtZS1vcmlnaW4gdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQgbG9hZGluZyB3aXRo
ICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5CiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZl
bCBtb2R1bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kKIFBB
U1MgU2FtZS1vcmlnaW4gdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQgbG9hZGluZyB3aXRoICJzYW1l
LW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5Ci1GQUlMIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQg
d2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgot
RkFJTCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9s
aWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCi1GQUlMIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQg
d2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgor
UEFTUyBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJl
ciBwb2xpY3kuCitQQVNTIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAib3JpZ2luIiBy
ZWZlcnJlciBwb2xpY3kuCitQQVNTIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2Ft
ZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBv
cnQgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9y
IgogRkFJTCBDcm9zcy1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVy
IHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgogRkFJTCBDcm9zcy1vcmlnaW4gc3RhdGljIGlt
cG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJy
b3IiCi1USU1FT1VUIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVy
IiByZWZlcnJlciBwb2xpY3kuIFRlc3QgdGltZWQgb3V0Ci1OT1RSVU4gU2FtZS1vcmlnaW4gZHlu
YW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gU2FtZS1v
cmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4K
LU5PVFJVTiBDcm9zcy1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAibm8tcmVmZXJyZXIiIHJl
ZmVycmVyIHBvbGljeS4KLU5PVFJVTiBDcm9zcy1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAi
b3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1w
b3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCitGQUlMIFNhbWUtb3JpZ2lu
IGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICIiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3Jr
ZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LXNhbWUtb3JpZ2luLXJlZmVycmVy
LWNoZWNrZXItd29ya2VyLmpzIgorRkFJTCBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRo
ICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LXNhbWUtb3JpZ2luLXJlZmVycmVyLWNo
ZWNrZXItd29ya2VyLmpzIgorUEFTUyBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJz
YW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgorRkFJTCBDcm9zcy1vcmlnaW4gZHluYW1pYyBp
bXBvcnQgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVy
cm9yIgorRkFJTCBDcm9zcy1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZl
cnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFt
aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlw
ZSBlcnJvciIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQK
aW5kZXggYTIzYTU1NzVkYjQyNzQyN2Y4NWJkNmI2MzU0ZGU4ODM4MzFmZTJiNC4uZGNjZWRjY2Qz
NjhlMWZmMTdiMWRkMTM2ZTQ1M2ZlYzRmZTEwYmM4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LWltcG9ydC5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDE0ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FH
RTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3Rz
IGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1l
bnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4g
aW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAotSGFybmVzcyBFcnJv
ciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUZBSUwgU3RhdGljIGlt
cG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3Rs
eSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgot
RkFJTCBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1G
QUlMIER5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVk
IHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxl
ICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgTmVz
dGVkIGR5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVk
IHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxl
ICcuL2V4cG9ydC1vbi1keW5hbWljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5
Ci1GQUlMIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuIGFzc2VydF9hcnJh
eV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBD
b3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLXN0YXRpYy1pbXBvcnQtc2Ny
aXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBldmFsKGltcG9ydCgpKS4gYXNzZXJ0X2Fy
cmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6
IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMn
LiIsIGV4cGVjdGVkIGFycmF5CitQQVNTIFN0YXRpYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBzdGF0
aWMgaW1wb3J0LgorUEFTUyBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0Lgor
UEFTUyBEeW5hbWljIGltcG9ydC4KK1BBU1MgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBE
eW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0LgorUEFTUyBldmFsKGltcG9ydCgp
KS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGRhMGU0ZWI2NzU4ZDE0YTM3YTM5OGQwYjZmYzcxYWQzODc2YmQyNmIuLjFmYzBjNjZmZGY3
MjRjMmFhM2I5MTA2OTgwYmZiZTdlOTg4Zjk3NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQKQEAgLTIsMTEgKzIsNiBAQAogUEFTUyBUZXN0IHdv
cmtlciBjb25zdHJ1Y3Rpb24gd2l0aCB0aGUgZGVmYXVsdCB3b3JrZXIgdHlwZS4KIFBBU1MgVGVz
dCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggdGhlICJjbGFzc2ljIiB3b3JrZXIgdHlwZS4KIFBB
U1MgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggdGhlICJtb2R1bGUiIHdvcmtlciB0eXBl
LgotRkFJTCBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiBlbXB0eSB3b3JrZXIgdHlw
ZS4gYXNzZXJ0X3Rocm93c19qczogV29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIGVtcHR5IHR5
cGUgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgICBu
ZXcgV29ya2VyKCdyZXNvdXJjZXMvcG9zdC1tZXNzYWdlLW9uLWxvYWQtd29ya2VyLmpzJywgeyB0
eXBlOiAnJyB9KTsKLSAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgVGVzdCB3b3JrZXIgY29u
c3RydWN0aW9uIHdpdGggYW4gdW5rbm93biB3b3JrZXIgdHlwZS4gYXNzZXJ0X3Rocm93c19qczog
V29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVua25vd24gdHlwZSBzaG91bGQgdGhyb3cgYW4g
ZXhjZXB0aW9uIGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICAgIG5ldyBXb3JrZXIoJ3Jlc291cmNl
cy9wb3N0LW1lc3NhZ2Utb24tbG9hZC13b3JrZXIuanMnLAotICAgICAgICAgICAgICAgICAgIHsg
dHlwZTogJ3Vua25vd24nIH0pOwotICAgICAgfSIgZGlkIG5vdCB0aHJvdworUEFTUyBUZXN0IHdv
cmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiBlbXB0eSB3b3JrZXIgdHlwZS4KK1BBU1MgVGVzdCB3
b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gdW5rbm93biB3b3JrZXIgdHlwZS4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQK
aW5kZXggZThlYjU0MGJkMzM5MjQwMGE4ZGJmZDkzODY0OGE2NDkyMzljMGQ5ZS4uZDFhNTBmN2Vh
M2NkNmRjMjk4ZWY3NTQxNDc3NjJjNjljNTdkNzNiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsMTQg
QEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBp
bXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgorQ09OU09MRSBNRVNTQUdF
OiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnOycKK0NPTlNPTEUgTUVTU0FHRTogU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzsnCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBt
ZXNzYWdlID0gRXJyb3I6IGFzc2VydF9pbXBsZW1lbnRzOiBTdGF0aWMgaW1wb3J0IG11c3QgYmUg
c3VwcG9ydGVkIG9uIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VyIHRvIHJ1biB0aGlzIHRlc3QuIHVu
ZGVmaW5lZAotCi1OT1RSVU4gTW9kdWxlIHdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIHNjcmlwdCB3
aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlzcGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuCi1O
T1RSVU4gU3RhdGljIGltcG9ydCBvbiBtb2R1bGUgd29ya2VyIGZvciBzY3JpcHQgd2l0aCBzeW50
YXggZXJyb3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9yLgorRkFJTCBNb2R1
bGUgd29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3Vs
ZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
ZnVuY3Rpb24gImZ1bmN0aW9uIEV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBn
b3QgZnVuY3Rpb24gImZ1bmN0aW9uIEVycm9yRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQor
fSIKK0ZBSUwgU3RhdGljIGltcG9ydCBvbiBtb2R1bGUgd29ya2VyIGZvciBzY3JpcHQgd2l0aCBz
eW50YXggZXJyb3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9yLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gRXZlbnQoKSB7CisgICAgW25hdGl2
ZSBjb2RlXQorfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gRXJyb3JFdmVudCgpIHsKKyAg
ICBbbmF0aXZlIGNvZGVdCit9IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFt
ZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKaW5kZXggNjM5ODQ3MTIxNDU5YTdhYjM3YjlmMDlhNjhi
YTY0ZWE4YTllZDU3Yy4uZTk0Njk0N2IxNGFlZjNlNTI5OWEwYWJhM2FlNGIxY2Y5ZmNkOTU3MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVk
LnR4dApAQCAtMSw3ICsxLDggQEAKIENPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2Ug
UmVqZWN0aW9uOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCiAKLUZBSUwgVGVzdCB0aGUgbmFtZSBwcm9wZXJ0eSBvZiBzaGFyZWQgYW5kIGRlZGljYXRl
ZCB3b3JrZXJzIHZpYSB0aGUgbmFtZSBjb25zdHJ1Y3RvciBvcHRpb24gQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU2hhcmVkV29ya2VyCi1QQVNTIERlY2xhcmluZyBuYW1lIGFzIGFuIGFjY2lkZW50YWwg
Z2xvYmFsIG11c3Qgbm90IGNhdXNlIGEgaGFybmVzcyBlcnJvciBmb3IgRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUKK0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJl
amVjdGlvbjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKIFBBU1MgbmFtZSBw
cm9wZXJ0eSB2YWx1ZSBmb3IgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKIFBBU1MgbmFtZSBw
cm9wZXJ0eSBpcyByZXBsYWNlYWJsZSBmb3IgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKK1BB
U1MgRGVjbGFyaW5nIG5hbWUgYXMgYW4gYWNjaWRlbnRhbCBnbG9iYWwgbXVzdCBub3QgY2F1c2Ug
YSBoYXJuZXNzIGVycm9yIGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRz
L2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0
LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmMDY5MWFhMDljYzQ5Y2RmN2Yy
YTk0Mzc0YzZlNjIyMjBmOTNiOGUyLi4wZGYyMzM0NmM3Y2Q5Zjg0Yzg0ZjRkZDM5MzQyZjUxYmY2
YmM2ZDk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEs
MTEgKzEsMTEgQEAKIENPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgogCi1GQUlM
IEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIHRoZSBkZWZhdWx0IFdvcmtsZXRP
cHRpb25zIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBGYWlsZWQgdG8gZmV0
Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90IDJ4eCIKK0ZBSUwgSW1wb3J0aW5nIGEg
c2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggdGhlIGRlZmF1bHQgV29ya2xldE9wdGlvbnMgc2hvdWxk
IHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IFRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQu
IgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIHRoZSBkZWZhdWx0
IFdvcmtsZXRPcHRpb25zIHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlhbHMKLUZBSUwgSW1w
b3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91bGQg
bm90IHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUs
IGVycm9yOiBSZXNwb25zZSBpcyBub3QgMnh4IgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdp
biBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1vbWl0IHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVu
dGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiQWJvcnRFcnJvcjogVGhlIG9wZXJhdGlvbiB3YXMgYWJvcnRlZC4iCiBQQVNTIEltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91bGQgbm90
IHNlbmQgdGhlIGNyZWRlbnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlw
dCB3aXRoIGNyZWRlbnRpYWxzPXNhbWUtb3JpZ2luIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFs
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJB
Ym9ydEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90
IDJ4eCIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlh
bHM9c2FtZS1vcmlnaW4gc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IFRoZSBv
cGVyYXRpb24gd2FzIGFib3J0ZWQuIgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNj
cmlwdCB3aXRoIGNyZWRlbnRpYWxzPXNhbWUtb3JpZ2luIHNob3VsZCBub3Qgc2VuZCB0aGUgY3Jl
ZGVudGlhbHMKLUZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVu
dGlhbHM9aW5jbHVkZSBzaG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVk
IHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgiCi1GQUlMIEltcG9y
dGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5jbHVkZSBzaG91
bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwg
ZXJyb3I6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFj
Y2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2lu
IHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRp
YWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IkFib3J0RXJyb3I6IFRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQuIgorRkFJTCBJbXBvcnRpbmcg
YSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNl
bmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IENyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5p
ZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9h
dWRpby13b3JrbGV0LWNzcC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCBiZjMzNWNmMzA1NWUwNjViMzg5ODliNDFhYTFlMjM2ZmViNGFj
MjlkLi4yNzViMzQzN2ZhZDk3NTNhNmVjZTI0MjAwZWFiZjI1N2ZmZDYyNzJhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1
ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0MCArMSw1MiBAQAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMv
ZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNv
dXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0
cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxv
Y2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93
b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5q
cworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6
OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhl
YWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2Nh
bGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1j
b3JzLWhlYWRlci5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1
cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAogQ09OU09MRSBNRVNTQUdFOiBV
bnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3Jj
Jy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhv
c3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3Jz
LWhlYWRlci5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0
eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAogQ09OU09MRSBNRVNTQUdFOiBVbnJl
Y29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4K
IAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kg
ZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29y
a2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcwogQ09OU09MRSBNRVNTQUdFOiBbYmxvY2tl
ZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMv
YWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBkaXNwbGF5IGluc2VjdXJl
IGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2xldHMvcmVzb3VyY2VzL2Vt
cHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMuCiAKIENPTlNPTEUgTUVTU0FH
RTogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvd29ya2xldHMv
cmVzb3VyY2VzL2FkZG1vZHVsZS13aW5kb3cuaHRtbCB3YXMgbm90IGFsbG93ZWQgdG8gZGlzcGxh
eSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtsZXRzL3Jl
c291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzLgogCitDT05T
T0xFIE1FU1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2FsaG9zdDo5NDQz
L3dvcmtsZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2Vk
IHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6OTQ0My93
b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5q
cy4KKworQ09OU09MRSBNRVNTQUdFOiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBu
b3QgYWxsb3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxo
b3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29y
cy1oZWFkZXIuanMuCisKIAogRkFJTCBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgYmUg
YmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgotRkFJTCBBIHNhbWUtb3Jp
Z2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJs
b2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKK1BBU1MgQSBzYW1lLW9yaWdp
biB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBiZSBibG9j
a2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuCiBGQUlMIEEgcmVtb3RlLW9y
aWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBiZSBi
bG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCiBGQUlMIEEgcmVtb3RlLW9y
aWdpbi1yZWRpcmVjdGVkIHdvcmtsZXQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1z
cmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBi
dXQgZ290ICJSRVNPTFZFRCIKLUZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBh
IHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhl
IHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJF
SkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKK1BBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGlt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIGJlIGJsb2Nr
ZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4KIFBBU1MgQSByZW1vdGUtb3Jp
Z2luIHdvcmtsZXQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMg
ZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuCi1QQVNTIEEgc2FtZS1v
cmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90
IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0
aGUgb3JpZ2luIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRo
ZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFT
UyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlw
dCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUg
c3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KIFBBU1MgQSByZW1vdGUtb3JpZ2luLXJl
ZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0
LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KLVBBU1MgQSBz
YW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBz
Y3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0
aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuCitGQUlMIEEgc2FtZS1vcmlnaW4g
d29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3Vs
ZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5
aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xW
RUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzaG91
bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxv
d3MgaXQuCi1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3Jp
Z2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAq
IGRpcmVjdGl2ZSBhbGxvd3MgaXQuCitGQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRp
bmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0
aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3
b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxv
Y2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KIFBBU1Mg
QSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQg
YmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuCi1QQVNTIEEgc2Ft
ZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2Ny
aXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0
aXZlIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1
c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBIHJlbW90ZS1vcmln
aW4gd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0
aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuCi1QQVNT
IEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBz
aG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ug
d29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuCitGQUlMIEEgc2FtZS1vcmln
aW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJl
IGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMgb2Jl
eSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNP
TFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IGlt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0
aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQt
c3JjIGRpcmVjdGl2ZS4KIFBBU1MgQSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xldCBz
aG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ug
d29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuCi1QQVNTIEEgc2FtZS1vcmln
aW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNo
b3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3
b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KK0ZBSUwgQSBzYW1lLW9yaWdp
biB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hv
dWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdv
cmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBbiBpbnNlY3VyZS1vcmln
aW4gd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgog
UEFTUyBBbiBpbnNlY3VyZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBiZSBibG9j
a2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuCi1GQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xl
dCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBi
ZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNU
RUQiIGJ1dCBnb3QgIlJFU09MVkVEIgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0
aW5nIGFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tl
ZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVK
RUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1w
b3J0aW5nIGFuIGluc2VjdXJlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVz
ZSBvZiBtaXhlZCBjb250ZW50cy4KK1BBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGlu
ZyBhbiBpbnNlY3VyZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQg
YmVjYXVzZSBvZiBtaXhlZCBjb250ZW50cy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWltcG9y
dC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4
dAppbmRleCBmZTg5NjVhZWY2Y2FkYTIyMTllZjhlMzA4ODhiYTkxZTI0MDE3YWMwLi40YmEwMThm
MmQ4MGY5NGNjOGNhNTQzNTAyN2JiNWI5NjRjMzZkMjNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQt
aW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMTYsNyArMTYsMTMgQEAgUEFTUyBJbXBvcnRpbmcgYSBjcm9zcyBvcmln
aW4gcmVzb3VyY2Ugd2l0aCB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWQKIFBB
U1MgSW1wb3J0aW5nIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlIHdpdGhvdXQgdGhlIEFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbiBoZWFkZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlz
ZQogUEFTUyBJbXBvcnRpbmcgYSBjcm9zcy1vcmlnaW4tcmVkaXJlY3RlZCByZXNvdXJjZSB3aXRo
IHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZXNvbHZlIHRo
ZSBnaXZlbiBwcm9taXNlCiBQQVNTIEltcG9ydGluZyBhIGNyb3NzLW9yaWdpbi1yZWRpcmVjdGVk
IHJlc291cmNlIHdpdGhvdXQgdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBoZWFkZXIg
c2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZQotRkFJTCBJbXBvcnRpbmcgYSBzY3JpcHQg
dGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4g
YXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgSW1wb3J0aW5nIGEgbmVzdGVkIHNjcmlwdCB0aGF0IGhh
cyBhIHN5bnRheCBlcnJvciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlLiBhc3NlcnRf
dW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZQotRkFJTCBJbXBvcnRpbmcgYSBzY3JpcHQgdGhhdCBpbXBvcnRzIGFuIGludmFs
aWQgaWRlbnRpZmllciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlLiBhc3NlcnRfdW5y
ZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQorRkFJTCBJbXBvcnRpbmcgYSBzY3JpcHQgdGhhdCBoYXMgYSBzeW50YXggZXJyb3Ig
c2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4gcHJvbWlzZV9yZWplY3RzX2pzOiBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJyknIiAoIlN5bnRheEVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ug
b2YgZnVuY3Rpb24gImZ1bmN0aW9uIFN5bnRheEVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0K
K30iICgiU3ludGF4RXJyb3IiKQorRkFJTCBJbXBvcnRpbmcgYSBuZXN0ZWQgc2NyaXB0IHRoYXQg
aGFzIGEgc3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuIHByb21p
c2VfcmVqZWN0c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBv
YmplY3QgIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJyIgKCJTeW50YXhFcnJvciIp
IGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBTeW50YXhFcnJvcigpIHsK
KyAgICBbbmF0aXZlIGNvZGVdCit9IiAoIlN5bnRheEVycm9yIikKK0ZBSUwgSW1wb3J0aW5nIGEg
c2NyaXB0IHRoYXQgaW1wb3J0cyBhbiBpbnZhbGlkIGlkZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0
aGUgZ2l2ZW4gcHJvbWlzZS4gcHJvbWlzZV9yZWplY3RzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiQWJvcnRFcnJvcjogTW9kdWxlIHNwZWNpZmll
ciwgJ2ludmFsaWQtc3BlY2lmaWVyLmpzJyBkb2VzIG5vdCBzdGFydCB3aXRoICIvIiwgIi4vIiwg
b3IgIi4uLyIuIFJlZmVyZW5jZWQgZnJvbSBibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvZDE2
YzRlNWYtYWRkYi00YmRhLTlmZmEtZjdmYmZkZjA4OTI0IiAoIkFib3J0RXJyb3IiKSBleHBlY3Rl
ZCBpbnN0YW5jZSBvZiBmdW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVycm9yKCkgeworICAgIFtuYXRp
dmUgY29kZV0KK30iICgiVHlwZUVycm9yIikKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVy
cmVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggMjRkNDk5YzE0MWNlZTZkYzliMmViZTI0YmZiNGZmNGMwM2EwYTk3My4uNjRi
OWM2NTI4MGNiNWViNGI3MDE1NmM4N2ExZjcyMDU0ZjJhYjQ2MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3Jr
bGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtcmVmZXJyZXIu
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsOCBAQAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMv
cmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9bm8tcmVmZXJyZXImZXhwZWN0ZWRf
cmVmZXJyZXI9CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxv
Y2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9yZWZlcnJlci1jaGVja2VyLnB5P3JlZmVy
cmVyX3BvbGljeT1vcmlnaW4mZXhwZWN0ZWRfcmVmZXJyZXI9aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My8KK0NPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90
IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNv
dXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9c2FtZS1vcmlnaW4mZXhw
ZWN0ZWRfcmVmZXJyZXI9CitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9z
dDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIAog
UEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMg
Im5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgog
UEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhh
cyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIu
CkBAIC02LDE1ICsxMSwxNSBAQCBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0
IGZyb20gYSBwYWdlIHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbAogUEFTUyBJbXBvcnRp
bmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgInNhbWUtb3JpZ2lu
IiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBh
IHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJzYW1lLW9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4KIFBBU1MgSW1wb3J0aW5n
IGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0
aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVm
ZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1l
LW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBv
bGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1v
cmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAi
bm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNj
cmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3ku
IgogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmln
aW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kg
c2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2lu
IHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8t
cmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCiBQQVNT
IEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xl
dCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJl
ZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2Ft
ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3Jp
cHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBy
ZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0
aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1Q
QVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29y
a2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxk
IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZy
b20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJl
ZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBh
IHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0
aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVm
ZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1v
dGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIg
cG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgorRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3Jp
Z2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9y
aWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBk
ZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1w
b3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQg
c2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZl
cnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJUaGUgb3Bl
cmF0aW9uIHdhcyBhYm9ydGVkLiIKK0ZBSUwgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3Jp
cHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQg
YnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5n
IGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0
aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJl
ci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJUaGUgb3BlcmF0
aW9uIHdhcyBhYm9ydGVkLiIKK0ZBSUwgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQg
ZnJvbSBhIHNhbWUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVu
aWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iCitGQUlMIEltcG9y
dGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNj
cmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNl
bmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAi
VGhlIG9wZXJhdGlvbiB3YXMgYWJvcnRlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmln
aW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJz
YW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQg
bG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvb3Blbi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGly
ZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggMWUyZDM5OTJmNmQ1ZGYzMjIw
N2E2YjBmNjE5YTZkNzExODEyNDAwZC4uN2E3YTkxN2VhYTk4ZTkyZWUwM2VjMjhhMTFlNzgwODRk
MjM0Yjg4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9v
cGVuLXVybC1yZWRpcmVjdGVkLXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEs
NiBAQAogQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cyLmxvY2FsaG9z
dDo4ODAwL3hoci9yZXNvdXJjZXMvaW5zcGVjdC1oZWFkZXJzLnB5P2ZpbHRlcl9uYW1lPW9yaWdp
biZjb3JzCiAKLUZBSUwgUmVmZXJlciBoZWFkZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJl
ZmVyZXI6IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL3dvcmtlcnhoci1vcmln
aW4tcmVmZXJyZXIuanNcbiIgYnV0IGdvdCAiUmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAw
L3hoci9yZXNvdXJjZXMvcmVkaXJlY3QucHk/bG9jYXRpb249d29ya2VyeGhyLW9yaWdpbi1yZWZl
cnJlci5qc1xuIgorUEFTUyBSZWZlcmVyIGhlYWRlcgogRkFJTCBPcmlnaW4gaGVhZGVyIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJPcmlnaW46IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMFxuIiBidXQg
Z290ICIiCiBQQVNTIFJlcXVlc3QgVVJMIHRlc3QKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420084</attachid>
            <date>2021-02-11 20:18:34 -0800</date>
            <delta_ts>2021-02-11 20:26:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210211201834.patch</filename>
            <type>text/plain</type>
            <size>235622</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
MDMzNjA1Y2FjMDYxMTJjMzYzYWMwMjlmMjYxZDc2OGRjNDEzZmRjLi42ZWUzOWExOTY5ZTA0YjY4
NDIxM2NkY2Q0MGE2NDVmYjBkNzNlZTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcDoK
KyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9yKToKKyAgICAgICAg
KiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRlRXJyb3IpOgorICAgICAg
ICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVSYW5nZUVycm9y
KToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3IpOgorICAgICAgICAoSlNDOjpj
cmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVR5cGVFcnJvcik6CisgICAg
ICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlR2V0dGVyVHlw
ZUVycm9yKToKKyAgICAgICAgKEpTQzo6dGhyb3dTeW50YXhFcnJvcik6CisgICAgICAgICogcnVu
dGltZS9FcnJvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogcnVudGlt
ZS9FcnJvckluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6RXJyb3JJ
bnN0YW5jZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OmNyZWF0ZSk6CisgICAgICAg
IChKU0M6OkVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmcpOgorICAgICAgICAo
SlNDOjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5nKToKKyAgICAgICAgKEpTQzo6
RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvRXJy
b3JJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGUpOgorICAg
ICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjplcnJvclR5cGUgY29uc3QpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBl
Pjo6Y29uc3RydWN0SW1wbCk6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8
ZXJyb3JUeXBlPjo6Y2FsbEltcGwpOgorICAgICAgICAqIHJ1bnRpbWUvTnVsbFNldHRlckZ1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TnVsbFNldHRlckZ1bmN0aW9uSW50ZXJuYWw6OkpTQ19E
RUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29t
cGlsZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6
SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TGlua0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6
SlNXZWJBc3NlbWJseUxpbmtFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
cjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3Nl
bWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04p
OgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisKIDIwMjEtMDIt
MTEgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogIlNob3cgRXh0ZW5kZWQgR3JpZGxpbmVzIiBvcHRpb24gZm9yIGdyaWQgb3Zl
cmxheSBkb2VzIG5vdCB3b3JrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjExZTgzZTAzMDYxMjc3ODNkZjI4NzM0
MDc5MGZlYjJhOTliMjg2ZS4uYTY1Y2RkMzMyYjMyMWI1Y2NmNDZkZWFiYTU3MTkzMmQ4YjJlMTcx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMiBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBIZWFkZXJz
LmNtYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
OjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlw
dEZldGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdFNjcmlwdFdpdGhDYWNoZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01F
eGNlcHRpb25IYW5kbGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXRyaWV2ZUVycm9yTWVz
c2FnZVdpdGhvdXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZURPTUV4Y2VwdGlvbik6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnNjcmlwdE1vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVj
dDo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxP
YmplY3Q6Om1vZHVsZUxvYWRlckV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xv
YmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVz
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RP
TVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJlc29sdmUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRjaCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckV2YWx1YXRlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1w
b3J0TW9kdWxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6
bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOiBEZWxldGVkLgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL01vZHVsZVNj
cmlwdExvYWRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5
cGUuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6Y2xlYXJDbGllbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpzY3JpcHRGZXRjaGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6cGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpNb2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6Cisg
ICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1
bGVMb2FkZXI6Om1vZHVsZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2Fk
ZXI6OnJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
TW9kdWxlTG9hZGVyOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVM
b2FkZXI6OmltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVM
b2FkZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlOjpTY3JpcHRTb3VyY2VDb2RlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6fldv
cmtlck1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXI6OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVHlwZS5oLgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaDog
QWRkZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRXhjZXB0
aW9uQ29kZS5oOgorICAgICAgICAqIGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZCk6IERlbGV0ZWQuCisgICAg
ICAgICogZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0Lmg6CisgICAgICAgICogZG9tL1NjcmlwdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVs
ZVNjcmlwdCk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBsb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6
Y3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXI6Oldvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmlkbDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckds
b2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0cyk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmNyZWRlbnRp
YWxzIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2FkZXIpOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9u
b3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVsZSk6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2Ny
aXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
U2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6
OnJlc3BvbnNlU291cmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExv
YWRlcjo6aXNSZWRpcmVjdGVkIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRlZENvcHkg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0ZVNjcmlwdElm
TmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyVHlwZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYjo6ZmV0Y2hTY3Jp
cHRXaXRoQ29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25PcHRpb25zLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
VGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyV29ya2VyLmg6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2Jh
bFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6ZmV0Y2hB
bmRJbnZva2VTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpw
cm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpkaWRSZWNlaXZlUmVzcG9uc2UpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpub3RpZnlGaW5pc2hlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OmRpZENvbXBsZXRl
U2NyaXB0RmV0Y2hKb2IpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5oOgorCiAyMDIxLTAyLTExICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIyNzI3NTg7IGluY2x1ZGUg
bWlzc2luZyBjaGFuZ2UgdG8gUnVudGltZUVuYWJsZWRGZWF0dXJlcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcAppbmRleCA3NTlhNWIyNGEw
ZWQwODY4MGNjYWE2MzQwZDJlOTVkNDUwYjgwZmQ2Li4yOTZjODVjYzkwZTA1YjU0NTQ3ZjY2MmE3
ZTJmOGExZTEzMGE0NmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BZ2dyZWdhdGVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QWdncmVnYXRlRXJyb3IuY3BwCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogY29u
c3QgQ2xhc3NJbmZvIEFnZ3JlZ2F0ZUVycm9yOjpzX2luZm8gPSB7ICJBZ2dyZWdhdGVFcnJvciIs
ICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoQWdn
cmVnYXRlRXJyb3IpIH07CiAKIEFnZ3JlZ2F0ZUVycm9yOjpBZ2dyZWdhdGVFcnJvcihWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDog
QmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5cGU6OkFnZ3JlZ2F0ZUVycm9yKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKaW5kZXggZjQ3M2I4MTgxZWMyZjAy
YTBjYzc4YTI2YzBjMjBkYzk2MzFmZGM3NC4uZmNhY2YxZTMyMmViMjcyNzg3NGZmMjUyNjI0MWVk
N2JlOThjZTUzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcApAQCAt
MzUsMzcgKzM1LDM3IEBAIG5hbWVzcGFjZSBKU0MgewogSlNPYmplY3QqIGNyZWF0ZUVycm9yKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJ
bnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdl
LmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpLCBt
ZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJldHVybiBFcnJvcklu
c3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9i
amVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBF
cnJvclR5cGU6OkVycm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZUV2YWxFcnJvcihK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9y
SW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2Fn
ZS5pc0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJy
b3JUeXBlOjpFdmFsRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUp
OworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxP
YmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpFdmFs
RXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXZhbEVy
cm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVJhbmdlRXJyb3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpT
b3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgp
KTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFs
T2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmFu
Z2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0
dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0o
KSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJhbmdlRXJyb3IpLCBt
ZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6UmFuZ2VFcnJvciwgdHJ1
ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVSZWZlcmVuY2VFcnJvcihKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6OlNvdXJj
ZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkpOwot
ICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmpl
Y3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpSZWZlcmVu
Y2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0
dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0o
KSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJlZmVyZW5jZUVycm9y
KSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlJlZmVyZW5jZUVy
cm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6
U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHko
KSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2Jh
bE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlN5
bnRheEVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsKKyAgICBy
ZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52
bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6U3ludGF4RXJyb3Ip
LCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6U3ludGF4RXJyb3Is
IHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNl
QXBwZW5kZXIgYXBwZW5kZXIsIFJ1bnRpbWVUeXBlIHR5cGUpCiB7CiAgICAgQVNTRVJUKCFtZXNz
YWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShF
cnJvclR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCB0eXBlLCB0cnVlKTsKKyAg
ICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0
LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9y
KSwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIEVycm9yVHlwZTo6VHlwZUVycm9yLCB0cnVlKTsK
IH0KIAogSlNPYmplY3QqIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVy
KQpAQCAtNzYsNyArNzYsNyBAQCBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJy
b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JJbnN0YQogSlNPYmplY3QqIGNy
ZWF0ZVVSSUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAg
QVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNy
ZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJv
clN0cnVjdHVyZShFcnJvclR5cGU6OlVSSUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVO
b3RoaW5nLCB0cnVlKTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVy
cm9yVHlwZTo6VVJJRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9y
VHlwZTo6VVJJRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlRXJyb3IoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JUeXBlIGVycm9yVHlwZSwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQpAQCAtMTEzLDcgKzExMyw3IEBAIEpTT2JqZWN0KiBjcmVhdGVFcnJvcihKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvclR5cGVXaXRoRXh0ZW5zaW9uIGVycm9yCiBK
U09iamVjdCogY3JlYXRlR2V0dGVyVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0
eSgpKTsKLSAgICBhdXRvKiBlcnJvciA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJv
clR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UpOworICAgIGF1dG8qIGVycm9yID0gRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6VHlwZUVycm9yKTsKICAgICBlcnJvci0+c2V0TmF0
aXZlR2V0dGVyVHlwZUVycm9yKCk7CiAgICAgcmV0dXJuIGVycm9yOwogfQpAQCAtMjc0LDcgKzI3
NCw3IEBAIEV4Y2VwdGlvbiogdGhyb3dUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGhyb3dTY29wZSYgc2NvcGUsIGNvbnN0CiAKIEV4Y2VwdGlvbiogdGhyb3dTeW50YXhF
cnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUaHJvd1Njb3BlJiBzY29wZSkKIHsK
LSAgICByZXR1cm4gdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSwgY3JlYXRlU3lu
dGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCAiU3ludGF4IGVycm9yIl9zKSk7CisgICAgcmV0dXJuIHRo
cm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUsIGNyZWF0ZVN5bnRheEVycm9yKGdsb2Jh
bE9iamVjdCkpOwogfQogCiBFeGNlcHRpb24qIHRocm93U3ludGF4RXJyb3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgVGhyb3dTY29wZSYgc2NvcGUsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKQEAgLTMxNyw2ICszMTcsMTEgQEAgSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICByZXR1
cm4gY3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCBtZXNzYWdlLCBudWxscHRyKTsKIH0K
IAorSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgcmV0dXJuIGNyZWF0ZVN5bnRheEVycm9yKGdsb2JhbE9iamVjdCwgIlN5bnRh
eCBlcnJvciJfcywgbnVsbHB0cik7Cit9CisKIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJyb3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICByZXR1cm4gY3JlYXRlVHlwZUVycm9y
KGdsb2JhbE9iamVjdCwgIlR5cGUgZXJyb3IiX3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yLmgKaW5kZXggNmRhYTE1NDIxNTY2NjEwZTRhY2U2ZGUzMzVmMzRkM2JmN2M3NDQ0ZC4u
ZGM4MjUyODJjMzU2NDg3MTMyNTQ1NDRiYzhkODE4ODg0MDBlNDM4YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvci5oCkBAIC01NSw2ICs1NSw3IEBAIEpTX0VYUE9SVF9QUklWQVRF
IEpTT2JqZWN0KiBjcmVhdGVFdmFsRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcm
KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVSYW5nZUVycm9yKEpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3Jl
YXRlUmVmZXJlbmNlRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmKTsKIEpTX0VY
UE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0dsb2JhbE9iamVjdCos
IGNvbnN0IFN0cmluZyYpOworSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVN5bnRh
eEVycm9yKEpTR2xvYmFsT2JqZWN0Kik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3Jl
YXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0Kik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVj
dCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19F
WFBPUlRfUFJJVkFURSBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoSlNH
bG9iYWxPYmplY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMGYyZjVhMzE4NDAyZmJiN2M3ZDg4MDJiNmQ3ODQyZWZl
NDA2Yzg0Ni4uOWJlOTMwY2YxYzNjOWE0MGU2MDg1OTgzNTU4YTFhNTliYzc4YjYyZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAK
QEAgLTYwLDE0ICs2MCwxNCBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RXJy
b3JDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogICAgICAgICA6IElu
dGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKGdsb2JhbE9iamVjdCwgbmV3
VGFyZ2V0LCBnZXRGdW5jdGlvblJlYWxtKHZtLCBuZXdUYXJnZXQpLT5lcnJvclN0cnVjdHVyZSgp
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgUkVMRUFTRV9B
TkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5n
LCBmYWxzZSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29k
ZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVz
c2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSkpOwog
fQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEVycm9yQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAgICAg
SlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUq
IGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
ZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJv
clR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBib29sIEVycm9yQ29uc3RydWN0b3I6OnB1dChK
U0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKaW5kZXggMmU0
ZWMzOWYxMjA1OGIyNTA4NzIyZTBiODI1MjI0N2JlYjAzMTllNi4uMGY4NmUyMmI5MmRkZDZkMTM5
ODU4Yjg2ZTU2Y2VhZGNhZWNlMGQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKQEAgLTM0LDE4ICszNCwyMyBAQCBuYW1lc3BhY2UgSlND
IHsKIAogY29uc3QgQ2xhc3NJbmZvIEVycm9ySW5zdGFuY2U6OnNfaW5mbyA9IHsgIkVycm9yIiwg
JkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhP
RF9UQUJMRShFcnJvckluc3RhbmNlKSB9OwogCi1FcnJvckluc3RhbmNlOjpFcnJvckluc3RhbmNl
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitFcnJvckluc3RhbmNlOjpFcnJvckluc3Rh
bmNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVycm9yVHlwZSBlcnJvclR5cGUpCiAg
ICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgLCBtX2Vycm9yVHlwZShlcnJvclR5cGUpCisg
ICAgLCBtX3N0YWNrT3ZlcmZsb3dFcnJvcihmYWxzZSkKKyAgICAsIG1fb3V0T2ZNZW1vcnlFcnJv
cihmYWxzZSkKKyAgICAsIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkKGZhbHNlKQorICAgICwgbV9u
YXRpdmVHZXR0ZXJUeXBlRXJyb3IoZmFsc2UpCiB7CiB9CiAKLUVycm9ySW5zdGFuY2UqIEVycm9y
SW5zdGFuY2U6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNWYWx1ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRlciwgUnVu
dGltZVR5cGUgdHlwZSwgYm9vbCB1c2VDdXJyZW50RnJhbWUpCitFcnJvckluc3RhbmNlKiBFcnJv
ckluc3RhbmNlOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTVmFsdWUgbWVzc2FnZSwgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1
bnRpbWVUeXBlIHR5cGUsIEVycm9yVHlwZSBlcnJvclR5cGUsIGJvb2wgdXNlQ3VycmVudEZyYW1l
KQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcgPSBtZXNz
YWdlLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoKSA6IG1lc3NhZ2UudG9XVEZTdHJpbmcoZ2xvYmFs
T2JqZWN0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLSAgICBy
ZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbWVzc2FnZVN0cmluZywg
YXBwZW5kZXIsIHR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CisgICAgcmV0dXJuIGNyZWF0ZShnbG9i
YWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGFwcGVuZGVyLCB0eXBlLCBl
cnJvclR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwZW5kU291
cmNlVG9FcnJvck1lc3NhZ2UoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEVycm9ySW5zdGFuY2UqIGV4
Y2VwdGlvbiwgQnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4LCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCkBAIC0xMzEsNyArMTM2LDI1IEBAIHZvaWQgRXJyb3JJbnN0YW5jZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTCiAvLyBCYXNl
ZCBvbiBFcnJvclByb3RvdHlwZSdzIGVycm9yUHJvdG9GdW5jVG9TdHJpbmcoKSwgYnV0IGlzIG1v
ZGlmaWVkIHRvCiAvLyBoYXZlIG5vIG9ic2VydmFibGUgc2lkZSBlZmZlY3RzIHRvIHRoZSB1c2Vy
IChpLmUuIGRvZXMgbm90IGNhbGwgcHJveGllcywKIC8vIGFuZCBnZXR0ZXJzKS4KLVN0cmluZyBF
cnJvckluc3RhbmNlOjpzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQorU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmcoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZt
KCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEludGVn
cml0eTo6YXVkaXRTdHJ1Y3R1cmVJRCh2bSwgc3RydWN0dXJlSUQoKSk7CisKKyAgICBKU1ZhbHVl
IG1lc3NhZ2VWYWx1ZTsKKyAgICBhdXRvIG1lc3NhZ2VQcm9wZXJ0TmFtZSA9IHZtLnByb3BlcnR5
TmFtZXMtPm1lc3NhZ2U7CisgICAgUHJvcGVydHlTbG90IG1lc3NhZ2VTbG90KHRoaXMsIFByb3Bl
cnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnksICZ2bSk7CisgICAgaWYgKEpT
T2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZ2xvYmFsT2JqZWN0LCBtZXNzYWdlUHJv
cGVydE5hbWUsIG1lc3NhZ2VTbG90KSAmJiBtZXNzYWdlU2xvdC5pc1ZhbHVlKCkpCisgICAgICAg
IG1lc3NhZ2VWYWx1ZSA9IG1lc3NhZ2VTbG90LmdldFZhbHVlKGdsb2JhbE9iamVjdCwgbWVzc2Fn
ZVByb3BlcnROYW1lKTsKKyAgICBzY29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOworCisgICAgaWYg
KCFtZXNzYWdlVmFsdWUpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBSRUxFQVNFX0FO
RF9SRVRVUk4oc2NvcGUsIG1lc3NhZ2VWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpKTsK
K30KKworU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZE5hbWVTdHJpbmcoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtMTU3LDI4ICsx
ODAsMjIgQEAgU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZFRvU3RyaW5nKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgfQogICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9u
KCk7CiAKLSAgICBTdHJpbmcgbmFtZVN0cmluZzsKICAgICBpZiAoIW5hbWVWYWx1ZSkKLSAgICAg
ICAgbmFtZVN0cmluZyA9ICJFcnJvciJfczsKLSAgICBlbHNlIHsKLSAgICAgICAgbmFtZVN0cmlu
ZyA9IG5hbWVWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpOwotICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7Ci0gICAgfQorICAgICAgICByZXR1cm4gIkVy
cm9yIl9zOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbmFtZVZhbHVlLnRvV1RGU3Ry
aW5nKGdsb2JhbE9iamVjdCkpOworfQogCi0gICAgSlNWYWx1ZSBtZXNzYWdlVmFsdWU7Ci0gICAg
YXV0byBtZXNzYWdlUHJvcGVydE5hbWUgPSB2bS5wcm9wZXJ0eU5hbWVzLT5tZXNzYWdlOwotICAg
IFByb3BlcnR5U2xvdCBtZXNzYWdlU2xvdCh0aGlzLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0
aG9kVHlwZTo6Vk1JbnF1aXJ5LCAmdm0pOwotICAgIGlmIChKU09iamVjdDo6Z2V0T3duUHJvcGVy
dHlTbG90KHRoaXMsIGdsb2JhbE9iamVjdCwgbWVzc2FnZVByb3BlcnROYW1lLCBtZXNzYWdlU2xv
dCkgJiYgbWVzc2FnZVNsb3QuaXNWYWx1ZSgpKQotICAgICAgICBtZXNzYWdlVmFsdWUgPSBtZXNz
YWdlU2xvdC5nZXRWYWx1ZShnbG9iYWxPYmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSk7Ci0gICAg
c2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKK1N0cmluZyBFcnJvckluc3RhbmNlOjpzYW5pdGl6
ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7CisgICAgSW50ZWdyaXR5OjphdWRpdFN0cnVjdHVyZUlEKHZtLCBzdHJ1Y3R1cmVJRCgp
KTsKIAotICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nOwotICAgIGlmICghbWVzc2FnZVZhbHVlKQot
ICAgICAgICBtZXNzYWdlU3RyaW5nID0gU3RyaW5nKCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG1l
c3NhZ2VTdHJpbmcgPSBtZXNzYWdlVmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKLSAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOwotICAgIH0KKyAgICBT
dHJpbmcgbmFtZVN0cmluZyA9IHNhbml0aXplZE5hbWVTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKKyAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7CisKKyAgICBTdHJpbmcgbWVz
c2FnZVN0cmluZyA9IHNhbml0aXplZE1lc3NhZ2VTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKKyAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7CiAKICAgICBpZiAoIW5hbWVTdHJp
bmcubGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBtZXNzYWdlU3RyaW5nOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCmluZGV4IGRhNjZlYjc2ZTdhZGU5
MGZkNDFiYjE2MjcwNzI1YTdkMTQ3MGFkMzguLjk4NzEzNTcyMWIzMDU2NjIzMGQyNjFjODMzYWQ4
ZGVjYTU0NjE0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9ySW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvcklu
c3RhbmNlLmgKQEAgLTIwLDYgKzIwLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJF
cnJvclR5cGUuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVUeXBl
LmgiCiAjaW5jbHVkZSAiU3RhY2tGcmFtZS5oIgpAQCAtNTMsMTQgKzU0LDE0IEBAIGNsYXNzIEVy
cm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgICAgIHJldHVybiBT
dHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEVy
cm9ySW5zdGFuY2VUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi0gICAg
c3RhdGljIEVycm9ySW5zdGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFNv
dXJjZUFwcGVuZGVyIGFwcGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVO
b3RoaW5nLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUpCisgICAgc3RhdGljIEVycm9ySW5z
dGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyIGFw
cGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVOb3RoaW5nLCBFcnJvclR5
cGUgZXJyb3JUeXBlID0gRXJyb3JUeXBlOjpFcnJvciwgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0
cnVlKQogICAgIHsKLSAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJbnN0YW5jZSh2
bSwgc3RydWN0dXJlKTsKKyAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJbnN0YW5j
ZSh2bSwgc3RydWN0dXJlLCBlcnJvclR5cGUpOwogICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3Jl
YXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIHVzZUN1cnJl
bnRGcmFtZSk7CiAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICB9CiAKLSAgICBzdGF0aWMg
RXJyb3JJbnN0YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNWYWx1
ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlID0gVHlwZU5v
dGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSk7CisgICAgc3RhdGljIEVycm9ySW5z
dGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTVmFsdWUgbWVzc2Fn
ZSwgU291cmNlQXBwZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVOb3RoaW5nLCBF
cnJvclR5cGUgPSBFcnJvclR5cGU6OkVycm9yLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUp
OwogCiAgICAgYm9vbCBoYXNTb3VyY2VBcHBlbmRlcigpIGNvbnN0IHsgcmV0dXJuICEhbV9zb3Vy
Y2VBcHBlbmRlcjsgfQogICAgIFNvdXJjZUFwcGVuZGVyIHNvdXJjZUFwcGVuZGVyKCkgY29uc3Qg
eyByZXR1cm4gbV9zb3VyY2VBcHBlbmRlcjsgfQpAQCAtNzAsNiArNzEsNyBAQCBjbGFzcyBFcnJv
ckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIFJ1bnRpbWVUeXBlIHJ1
bnRpbWVUeXBlRm9yQ2F1c2UoKSBjb25zdCB7IHJldHVybiBtX3J1bnRpbWVUeXBlRm9yQ2F1c2U7
IH0KICAgICB2b2lkIGNsZWFyUnVudGltZVR5cGVGb3JDYXVzZSgpIHsgbV9ydW50aW1lVHlwZUZv
ckNhdXNlID0gVHlwZU5vdGhpbmc7IH0KIAorICAgIEVycm9yVHlwZSBlcnJvclR5cGUoKSBjb25z
dCB7IHJldHVybiBtX2Vycm9yVHlwZTsgfQogICAgIHZvaWQgc2V0U3RhY2tPdmVyZmxvd0Vycm9y
KCkgeyBtX3N0YWNrT3ZlcmZsb3dFcnJvciA9IHRydWU7IH0KICAgICBib29sIGlzU3RhY2tPdmVy
Zmxvd0Vycm9yKCkgY29uc3QgeyByZXR1cm4gbV9zdGFja092ZXJmbG93RXJyb3I7IH0KICAgICB2
b2lkIHNldE91dE9mTWVtb3J5RXJyb3IoKSB7IG1fb3V0T2ZNZW1vcnlFcnJvciA9IHRydWU7IH0K
QEAgLTc5LDYgKzgxLDggQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05vbkZpbmFs
T2JqZWN0IHsKICAgICBib29sIGlzTmF0aXZlR2V0dGVyVHlwZUVycm9yKCkgY29uc3QgeyByZXR1
cm4gbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3I7IH0KIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0
cmluZyBzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCopOworICAgIEpTX0VYUE9SVF9Q
UklWQVRFIFN0cmluZyBzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKEpTR2xvYmFsT2JqZWN0Kik7Cisg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIHNhbml0aXplZE5hbWVTdHJpbmcoSlNHbG9iYWxP
YmplY3QqKTsKICAgICAKICAgICBWZWN0b3I8U3RhY2tGcmFtZT4qIHN0YWNrVHJhY2UoKSB7IHJl
dHVybiBtX3N0YWNrVHJhY2UuZ2V0KCk7IH0KIApAQCAtODgsNyArOTIsNyBAQCBjbGFzcyBFcnJv
ckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIHZvaWQgZmluYWxpemVV
bmNvbmRpdGlvbmFsbHkoVk0mKTsKIAogcHJvdGVjdGVkOgotICAgIGV4cGxpY2l0IEVycm9ySW5z
dGFuY2UoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICBleHBsaWNpdCBFcnJvckluc3RhbmNlKFZNJiwg
U3RydWN0dXJlKiwgRXJyb3JUeXBlKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBK
U0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYsIFNvdXJjZUFwcGVuZGVyID0gbnVsbHB0ciwg
UnVudGltZVR5cGUgPSBUeXBlTm90aGluZywgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKTsK
IApAQCAtMTA4LDEwICsxMTIsMTEgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKICAgICBTdHJpbmcgbV9zb3VyY2VVUkw7CiAgICAgU3RyaW5nIG1fc3Rh
Y2tTdHJpbmc7CiAgICAgUnVudGltZVR5cGUgbV9ydW50aW1lVHlwZUZvckNhdXNlIHsgVHlwZU5v
dGhpbmcgfTsKLSAgICBib29sIG1fc3RhY2tPdmVyZmxvd0Vycm9yIHsgZmFsc2UgfTsKLSAgICBi
b29sIG1fb3V0T2ZNZW1vcnlFcnJvciB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2Vycm9ySW5mb01h
dGVyaWFsaXplZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX25hdGl2ZUdldHRlclR5cGVFcnJvciB7
IGZhbHNlIH07CisgICAgRXJyb3JUeXBlIG1fZXJyb3JUeXBlIHsgRXJyb3JUeXBlOjpFcnJvciB9
OworICAgIGJvb2wgbV9zdGFja092ZXJmbG93RXJyb3IgOiAxOworICAgIGJvb2wgbV9vdXRPZk1l
bW9yeUVycm9yIDogMTsKKyAgICBib29sIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkIDogMTsKKyAg
ICBib29sIG1fbmF0aXZlR2V0dGVyVHlwZUVycm9yIDogMTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3RGdW5jdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuY3BwCmluZGV4IDQwMjFmYzdlMGFkYWY3YTBhOWUwZWY2Y2ZkMjI1
ODM4YjViZjg3ODMuLmFmNzI2MjgzMWNhMWJiNzVjNmFlNTU0MTFkZTRjZDg1YTgxMzdkYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVu
Y3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdEZ1bmN0aW9ucy5jcHAKQEAgLTY5NCw3ICs2OTQsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVO
Q1RJT04oZ2xvYmFsRnVuY1Rocm93VHlwZUVycm9yQXJndW1lbnRzQ2FsbGVlQW5kQ2FsbGVyLCAo
SlNHbAogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNNYWtlVHlwZUVycm9yLCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewog
ICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0
dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVy
cm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBjYWxsRnJh
bWUtPmFyZ3VtZW50KDApLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVy
cm9yU3RydWN0dXJlLCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApLCBudWxscHRyLCBUeXBlTm90aGlu
ZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIGZhbHNlKSk7CiB9CiAKIEpTQ19ERUZJTkVfSE9TVF9G
VU5DVElPTihnbG9iYWxGdW5jUHJvdG9HZXR0ZXIsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDdjYzExYjVm
NWUxMjk3MjIwMTZiODY3MWYxMzdjNmJiMTcyMTM4NDAuLmI2ZTdlZGVmZDQyZWRjNjM1ZDkwYjdl
MGU4YzdiNGZjMGMyNDNkMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC01OCw3ICs1OCw3IEBAIGlu
bGluZSBFbmNvZGVkSlNWYWx1ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNv
bnN0cnVjdEltcGwoSlNHbG9iYWxPCiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9
KTsKICAgICBBU1NFUlQoZXJyb3JTdHJ1Y3R1cmUpOwogCi0gICAgUkVMRUFTRV9BTkRfUkVUVVJO
KHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkp
KTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShFcnJvcklu
c3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVs
bHB0ciwgVHlwZU5vdGhpbmcsIGVycm9yVHlwZSwgZmFsc2UpKSk7CiB9CiAKIHRlbXBsYXRlPEVy
cm9yVHlwZSBlcnJvclR5cGU+CkBAIC02Niw3ICs2Niw3IEBAIGlubGluZSBFbmNvZGVkSlNWYWx1
ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNhbGxJbXBsKEpTR2xvYmFsT2Jq
ZWN0CiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAg
ICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVy
ZShlcnJvclR5cGUpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6
Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5
cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxw
dHIsIFR5cGVOb3RoaW5nLCBlcnJvclR5cGUsIGZhbHNlKSk7CiB9CiAKIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihjYWxsRXZhbEVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5jcHAKaW5kZXggMjZmM2I2YThmOWRiNjc4Y2Q5NGQw
NWFlODhiMTFiODllNjFjMGViYy4uMGRkYjJjNmE1MGY0NmJjNjM2OTk1Y2E0NmQ3ZjE4ZTViMjY4
NjNlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRl
ckZ1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsU2V0
dGVyRnVuY3Rpb24uY3BwCkBAIC05NCw3ICs5NCw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElP
TihjYWxsVGhyb3dFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFt
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIC8vIFRoaXMg
ZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgZnJvbSBJQy4gQW5kIHdlIGRvIG5vdCB3YW50IHRvIGlu
Y2x1ZGUgdGhpcyBmcmFtZSBpbiBFcnJvcidzIHN0YWNrLgogICAgIGNvbnN0ZXhwciBib29sIHVz
ZUN1cnJlbnRGcmFtZSA9IGZhbHNlOwotICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwg
c2NvcGUsIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgUmVhZG9ubHlQcm9wZXJ0
eVdyaXRlRXJyb3IsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCB1c2VDdXJyZW50RnJhbWUpKTsKKyAg
ICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlLCBFcnJvckluc3RhbmNlOjpjcmVh
dGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5
cGU6OlR5cGVFcnJvciksIFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yLCBudWxscHRyLCBUeXBl
Tm90aGluZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIHVzZUN1cnJlbnRGcmFtZSkpOwogICAgIHJl
dHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKaW5kZXggMzgzNzNhNzYwZDU5ZDBl
ZWRiNDk0ZGI4OGQ4NTI0ZmFiOWE1MTU0ZS4uOWViZDNkNDQ2YTlkYTlhZDE5ZDdiYTQxOTkwMDYz
ZmM1YTYzMjhmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgSlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvciogSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6Y3JlYXRl
KEpTR2xvYmFsT2JqZWN0KiBnbG8KIH0KIAogSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6SlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAg
IDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5
cGU6OkVycm9yKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCmluZGV4IGVhZGUwMzQxM2U0Y2UzNjBi
YTA4OWY4YzUzZDE4Y2Y4ZDZkNzAyMzUuLjliMjAwNThlY2YzNGFmOTFiNmIxOGQxNWY2NTE1Nzg1
YzIxNzJlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlMaW5rRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEpTV2ViQXNzZW1i
bHlMaW5rRXJyb3IqIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OmNyZWF0ZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqCiB9CiAKIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OkpTV2ViQXNzZW1ibHlM
aW5rRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0sIHN0
cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikKIHsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5UnVudGltZUVycm9yLmNwcAppbmRleCBiZTFmOTI4NjAzMDQ1ZDdjZjcyOTMyNGVl
NGE3N2FlODNmY2U5Y2JlLi4xOTMzYTZlMzg4OGZiZWFjY2YwN2FjMmIzN2M3NDUwNDg0ZmE1MWYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5UnVudGltZUVycm9yLmNwcApAQCAtNDEsNyArNDEsNyBAQCBKU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yKiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpjcmVhdGUoSlNHbG9iYWxP
YmplY3QqIGdsbwogfQogCiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpKU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZt
LCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3Ip
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNWNk
MDAzNWEwMWZkYjc4ZGRjMzVmYzQ3YjZiODU4MGJlNDVkMzU5Ny4uYzNhMGQzOTdmNTA0ZTI1OGYx
ZDcwZjhiNDgyYjc5YTFkOWU3MjY2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxK
U1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAg
ICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVy
ZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5Q29tcGlsZUVycm9y
U3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlw
ZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3Rh
bmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdlYkFzc2Vt
Ymx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3Ry
dWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3NlbWJseUNv
bXBpbGVFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggOTQ2ZGVmNGYxMTUyMjlhMjI1YmU5MzJhYzllNjQzNWI2YzhhYjJh
OS4uMmM1ZjZhMjkzMWYxNTIxNTg1YWFhOTM1ZTU2YjRiZDJmMTljMTZiMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlM
aW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5TGlua0Vycm9yLCAoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamUKIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDAp
OwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndlYkFzc2Vt
Ymx5TGlua0Vycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJv
ckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwg
bnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVz
c2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9
CiAKIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3Nl
bWJseUxpbmtFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2RmZDkxNTY3YjYwYTU4ZGQ5YWE2ODQyZmY2Nzkw
MjFmNWNiOTI1Mi4uYTg1NjY5YzUxOGIxZTlhYTY4Yzk1YWQwNTY2ZWJmZDZmYzNkZmE4YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTY3LDcgKzY3LDcgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJh
bWUtPmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxP
YmplY3QtPndlYkFzc2VtYmx5UnVudGltZUVycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0
cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBl
cnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6
RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3Iq
IFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZSogdGhpc1By
b3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGY4ODU5MTVmZThiZTc5ZTUxMjU4ZmZmOGQ4
MzE4MmM5NWQ3ZDMyY2IuLjlkYjk3ZWQ3MTIwZjM3YjJmYmJmNWZiN2MyZGVjNDQ3ZDg4ZmY2YmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMzAsNiArMzAsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1bWVy
LmgKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keVNvdXJjZS5oCisgICAgTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRl
cnMuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hJZGVudGlmaWVyLmgKICAgICBNb2R1bGVzL2Zl
dGNoL0ZldGNoTG9hZGVyLmgKQEAgLTI4Nyw2ICsyODgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAgICAgYmluZGluZ3MvanMvV2ViQ29yZUpJVE9wZXJhdGlvbnMu
aAogICAgIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oCiAgICAgYmlu
ZGluZ3MvanMvV2luZG93UHJveHkuaAorICAgIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNo
ZXIuaAogCiAgICAgYnJpZGdlL0JyaWRnZS5oCiAgICAgYnJpZGdlL0lkZW50aWZpZXJSZXAuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAppbmRleCAwNDVjZjI3MDZjMDM2N2U0Y2Y5MGIzMmRkZDc5MTQ2ZDVmYTExZGZm
Li43ODBmNzMxNzdkNTQ2Y2Y4YmE0ZjM0NWEzOTBkNzcxZmQ0ZjY1MzY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dApAQCAtNjM5LDYgKzYzOSw3IEBAIGJpbmRpbmdzL2pzL1N0cnVjdHVyZWRDbG9uZS5jcHAKIGJp
bmRpbmdzL2pzL1dlYkNvcmVKSVRPcGVyYXRpb25zLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZUpT
Q2xpZW50RGF0YS5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5j
cHAKK2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKIGJpbmRpbmdzL2pz
L1dpbmRvd1Byb3h5LmNwcAogYmluZGluZ3MvanMvV3JpdGFibGVTdHJlYW0uY3BwCiBicmlkZ2Uv
SWRlbnRpZmllclJlcC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA4YzE1ZWI2NDgwMzczMDU4MDdiNzAzZDBiZGJhYjNmM2Jm
YTU3MTViLi4yM2U5MGI1ZWVlNzY4MTJiOTNkMWNjNTdkNmE3NzhkMTY1MjcwYzVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
MDY5LDE1ICs1MDY5LDE4IEBACiAJCUUzMDU5MjY0MUUyN0EzQUQwMEQ1N0M5OCAvKiBJbmxpbmVD
bGFzc2ljU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzA1OTI2MjFFMjdBMzhDMDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDU5MjY4
MUUyN0EzRDEwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTgg
LyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUUzMDdERUQwMUQ4MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzMDdERUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlF
MzA3REVEMTFEODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVD
ODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMwN0RFRDUx
RDgxRTRGMjAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYg
LyogTG9hZGFibGVNb2R1bGVTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzE1MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVs
cGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMx
NTBFQTUxREE3MjE4RDAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCAqLzsgfTsKIAkJRTMyMDFD
MUExRjhFODIxMzAwNzZBMDMyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4RDA2MDkxRjhFODExOTAwNjQ5
Q0YyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMjNDRkZBMUU1QUY2QUYwMEYwQjRBMCAvKiBKU0RP
TUNvbnZlcnRQcm9taXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzIzQ0ZGOTFFNUFGNkE1MDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzNDMy
REU0MjVEMzc3RTMwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNDMyREUwMjVEMzc3RTIw
MDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgfTsKKwkJRTM0N0U1RkEy
NUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNDdFNUY4MjVENEYwMDAwMEYxN0E1QyAv
KiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRTM1MTg4QjQyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUz
NTY1QjdCMURDMkQ2QzkwMDIxN0RCRCAvKiBKU0V2ZW50Q3VzdG9tLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMg
LyogSlNFdmVudEN1c3RvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUUzNTgwMkI2MURDODQzNUQwMEE5NzczQyAvKiBET01KSVRJRExUeXBlRmls
dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzU4
MDJCNTFEQzg0MzU4MDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTgyQzI4MjUyN0Y2Njkw
MEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNv
cmVKSVRPcGVyYXRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTM1QjkwN0YyM0Y2MEE1MDAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1v
ZGVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzVC
OTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzY0MzIxQzI1RDM3QTY3
MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxl
U2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTM3N0ZFNEQxREFERTE2NTAwQ0REMDI1IC8qIE5vZGVDb25zdGFudHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDA0OTkzMURBREMw
NDUwMDcxOEYzQyAvKiBOb2RlQ29uc3RhbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM3Qzg2NTAxRUI2M0UzRjAwODdDNkNBIC8qIEpTRE9N
UHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzOTYyOEJGMjM5NTcyOEYwMDY1
OEVDRCAvKiBEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhCRDIzOTU3MjhFMDA2NThFQ0Qg
LyogRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjE5NSw3ICsxNjE5OCw2IEBACiAJCUUz
MDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFNjcmlwdEZldGNoZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFQzYxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMzA3REVDODFEODFFNDQ4MDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVEMjFEODFFNEVEMDAxNDFDQUYgLyogTG9h
ZGFibGVNb2R1bGVTY3JpcHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMxNTBFQTUxREE3MjE4RDAwMTk0MDEyIC8qIERP
TUpJVEhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUSGVs
cGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYyMDgsMTIgKzE2MjEwLDE3
IEBACiAJCUUzMjkyNzYzMjI1NDNGNTkwMDMwOEE5QSAvKiBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFR5cGVkT01DU1NVbml0VmFsdWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzI5Mjc2NjIyNTQzRkRFMDAzMDhBOUEgLyogRE9NUmVjdFJl
YWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVJlY3RSZWFkT25seS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMzQ4MjVFMURDOTNBQTAwMDlDOTU0NCAvKiBET01K
SVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IERPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2Vy
TW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlck1vZHVsZVNjcmlwdExv
YWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNDdFNUY4MjVENEYwMDAw
MEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdvcmtlclNjcmlwdEZldGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZlbnRDdXN0b20uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudEN1c3RvbS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MDJC
NTFEQzg0MzU4MDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRJRExUeXBlRmlsdGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzNTgyQzI0MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3Bl
cmF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3Jl
SklUT3BlcmF0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNTgyQzI2
MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlSklUT3BlcmF0aW9ucy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzVCOTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2
aWNlTW9kZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxpemVkRGV2
aWNlTW9kZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1QjkwN0UyM0Y2MDY3
NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxpemVkRGV2aWNlTW9kZWwubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3Jp
cHRMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlU2NyaXB0
TG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzN0M4NjRGMUVCNjNFMkQw
MDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNET01Qcm9taXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzODgzODk0
MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0TW9kdWxlTG9hZGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM4ODM4OTUxQkFEMTQ1RjAwRDYyRUUzIC8qIFNjcmlwdE1v
ZHVsZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRNb2R1
bGVMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MDA5LDcgKzI3MDE2
LDYgQEAKIAkJCQkyREZBNDg4RTFEQjU0MUMyMDAzNjJCOTkgLyogQnVmZmVyU291cmNlLmggKi8s
CiAJCQkJRTMwN0RFQzYxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5jcHAgKi8sCiAJCQkJRTMwN0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5oICovLAotCQkJCUUzMDdERUM4MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLywKIAkJCQlFMzA1OTI2NTFFMjdBM0M2MDBENTdD
OTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAgKi8sCiAJCQkJRTMwNTkyNjYxRTI3QTNDNjAw
RDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuaCAqLywKIAkJCQlCQ0Q1MzM2MzBFRDY4NDg5
MDA4ODc0NjggLyogQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCAqLywKQEAgLTI3MDgzLDYg
KzI3MDg5LDggQEAKIAkJCQk0QkRFQTMyRDIxODAzNDA1MDA1MkRGQ0QgLyogSlNXb3JrbGV0R2xv
YmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQk0QkRFQTMyQjIxODAzM0VCMDA1MkRGQ0QgLyogSlNX
b3JrbGV0R2xvYmFsU2NvcGVCYXNlLmggKi8sCiAJCQkJNzA5QTAxRkQxRTNEMEJDQzAwNkIwRDRD
IC8qIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCAqLywKKwkJCQlFMzY0MzIxQTI1RDM3QTY2MDBG
OTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCisJCQkJRTM1MTg4QjMyNUQzODdDRjAw
QTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovLAogCQkJCTQxQjQ1OUVEMUY1
NUVCQzcwMDAwRjZGRCAvKiBSZWFkYWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDFCNDU5REExRjRD
QURCOTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmggKi8sCiAJCQkJNDE4QzM5NUUxQzhGMEFB
QjAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuY3BwICovLApAQCAt
MjcxMTQsNiArMjcxMjIsOSBAQAogCQkJCTBGMDk5RDA3MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJD
b3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLywKIAkJCQk0NjM1MjFBQzIwODEwOTBFMDBDMjg5
MjIgLyogV2luZG93UHJveHkuY3BwICovLAogCQkJCTQ2MzUyMUFBMjA4MTA5MEIwMEMyODkyMiAv
KiBXaW5kb3dQcm94eS5oICovLAorCQkJCUUzNDMyREUzMjVEMzc3RTMwMDU4RTYxMiAvKiBXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwICovLAorCQkJCUUzNDMyREUwMjVEMzc3RTIwMDU4RTYx
MiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLywKKwkJCQlFMzQ3RTVGODI1RDRGMDAw
MDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oICovLAogCQkJCTQxNDE4QTAzMjU2NDNF
MTIwMDM2MzQxNyAvKiBXcml0YWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDE0MThBMDQyNTY0M0Ux
MzAwMzYzNDE3IC8qIFdyaXRhYmxlU3RyZWFtLmggKi8sCiAJCQkpOwpAQCAtMzEzODcsNyArMzEz
OTgsNiBAQAogCQkJCUJDQjE2QzFDMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRJbWFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzE5RkJENUYxNUQyRjQ2NDAwOTY0MEE2IC8qIENhY2hlZEltYWdl
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzA3REVEMDFEODFFNEM3MDAxNDFDQUYgLyog
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMzA3REVEMTFE
ODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTAxODQ2OTBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRDBFREE3NzUxNDNFMzAzQzAwMjhFMzgzIC8qIENhY2hlZFJhd1Jl
c291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUI1MzM0OTE3MTdERUUzMDBGMjA1RjkgLyog
Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzM4NjIsNiArMzM4
NzIsOCBAQAogCQkJCUM2RDc0QUQ1MDlBQTI4MkUwMDBCMEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25M
aXN0TGV2ZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTcwOUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAv
KiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzIwMUMxQTFG
OEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlFMzY0MzIxQzI1RDM3QTY3MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQlFMzUxODhCNDI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RDNjEyNTFGMTJEMDAzRUYy
NjkgLyogTW9udGhJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzOTYyOEMxMjM5NTc0
MzEwMDY1OEVDRCAvKiBNb3Rpb25NYW5hZ2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NTAzMUI0NjBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zNTUxMiw2ICszNTUyNCw3IEBACiAJCQkJMThGODMxQjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdv
cmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0RDBGNTQ2QTgyMDBC
MEYxQkEgLyogV29ya2VyTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUwMEY1
NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJNZXNzYWdpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJRTM0MzJERTQyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNzFBMEIwRUVFQzc3QTAwRjYxMjEzIC8qIFdvcmtlck5h
dmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVDQjA1MjUxRkI1MUYzQTAwMDg5Qjk3IC8q
IFdvcmtlck5ldHdvcmtBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTEwRjU0NkE4
MjAwQjBGMUJBIC8qIFdvcmtlck9iamVjdFByb3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NTIx
LDYgKzM1NTM0LDcgQEAKIAkJCQk0MTZFMjlBNjEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVw
b3J0aW5nUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUzMEY1NDZBODIwMEIwRjFC
QSAvKiBXb3JrZXJSdW5Mb29wLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUI4MUNDRjFGQUE0NERF
MDAzN0QxRTYgLyogV29ya2VyUnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzQ3
RTVGQTI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTdENkIzNDkwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkVBNzY4MDQwRkU3MTI2NDAwQUI5QzhBIC8qIFdvcmtlclNj
cmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTUwRjU0NkE4MjAw
QjBGMUJBIC8qIFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAppbmRl
eCAzNTJkY2M0YWNmNzUxNzZkOThhZDM0MTBiZTE1MTYwODAxMDg4NTI0Li4yNzdmNjJhN2MxMzNm
ZTE1NmM2Y2NlOTg1NTM1NTBlZGIxMzZkMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKQEAgLTQwLDE2ICs0
MCwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI+IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNj
cmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+
JiYgcGFyYW1ldGVycykKK1JlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcjo6Y3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBE
ZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNo
ZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKIHsKICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9t
aXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKSk7CiB9CiAKLUNhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hl
ZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRl
cnM+JiYgcGFyYW1ldGVycykKLSAgICA6IG1fY2xpZW50KCZjbGllbnQpCi0gICAgLCBtX3Byb21p
c2UoJnByb21pc2UpCi0gICAgLCBtX3NjcmlwdEZldGNoZXIoc2NyaXB0RmV0Y2hlcikKLSAgICAs
IG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRlcnMpKQorQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBj
bGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2Ny
aXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQor
ICAgIDogTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwg
V1RGTW92ZShwYXJhbWV0ZXJzKSkKIHsKIH0KIApAQCAtNjEsMTQgKzU4LDE1IEBAIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcjo6fkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcigpCiAgICAgfQogfQog
Ci1ib29sIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQs
IGNvbnN0IFVSTCYgc291cmNlVVJMKQorYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6Omxv
YWQoRG9jdW1lbnQmIGRvY3VtZW50LCBVUkwmJiBzb3VyY2VVUkwpCiB7CisgICAgQVNTRVJUKG1f
cHJvbWlzZSk7CiAgICAgQVNTRVJUKCFtX2NhY2hlZFNjcmlwdCk7CiAgICAgU3RyaW5nIGludGVn
cml0eSA9IG1fcGFyYW1ldGVycyA/IG1fcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkgOiBTdHJpbmcg
eyB9OwotICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9zY3JpcHRGZXRjaGVyLT5yZXF1ZXN0TW9kdWxl
U2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkwsIFdURk1vdmUoaW50ZWdyaXR5KSk7CisgICAgbV9j
YWNoZWRTY3JpcHQgPSBzY3JpcHRGZXRjaGVyKCkucmVxdWVzdE1vZHVsZVNjcmlwdChkb2N1bWVu
dCwgc291cmNlVVJMLCBXVEZNb3ZlKGludGVncml0eSkpOwogICAgIGlmICghbV9jYWNoZWRTY3Jp
cHQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBtX3NvdXJjZVVSTCA9IHNvdXJjZVVSTDsK
KyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291cmNlVVJMKTsKIAogICAgIC8vIElmIHRoZSBj
b250ZW50IGlzIGFscmVhZHkgY2FjaGVkLCB0aGlzIGltbWVkaWF0ZWx5IGNhbGxzIG5vdGlmeUZp
bmlzaGVkLgogICAgIG1fY2FjaGVkU2NyaXB0LT5hZGRDbGllbnQoKnRoaXMpOwpAQCAtODMsNyAr
ODEsNyBAQCB2b2lkIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZQogCiAgICAgUmVmPENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAgICAgaWYgKG1fY2xpZW50KQotICAg
ICAgICBtX2NsaWVudC0+bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9wcm9taXNlKSk7
CisgICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJj
ZVVSTCksIG1fcHJvbWlzZS5yZWxlYXNlTm9uTnVsbCgpKTsKIAogICAgIC8vIFJlbW92ZSB0aGUg
Y2xpZW50IGFmdGVyIGNhbGxpbmcgbm90aWZ5RmluaXNoZWQgdG8ga2VlcCB0aGUgZGF0YSBidWZm
ZXIgaW4KICAgICAvLyBDYWNoZWRSZXNvdXJjZSBhbGl2ZSB3aGlsZSBub3RpZnlGaW5pc2hlZCBw
cm9jZXNzZXMgdGhlIHJlc291cmNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaAppbmRleCA0M2FiZDg3NWIyNDNmYWY1ZmNk
NGQ5OGVjM2M1ZDI0ZTc5MGI1NzJlLi5hNDg3NTVmOTNkMDVlZjM1M2QyYjNlMjI4ZDgyMTlmZTg5
MWU2NzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuaApAQCAtMjcsNiArMjcsOCBAQAogCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgorI2lu
Y2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zNCw0MiArMzYsMjkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFz
cyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CiBjbGFzcyBDYWNoZWRTY3JpcHQ7Ci1jbGFzcyBD
YWNoZWRTY3JpcHRGZXRjaGVyOwogY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRG9jdW1l
bnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKIGNsYXNzIE1vZHVsZUZldGNoUGFyYW1ldGVy
czsKIAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWQ8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CitjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgTW9k
dWxlU2NyaXB0TG9hZGVyLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZl
dGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBzdGF0aWMgUmVm
PENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcigpOwogCi0gICAgYm9vbCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiBzb3VyY2VVUkwp
OworICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIFVSTCYmIHNvdXJjZVVSTCk7CiAKLSAgICBDYWNo
ZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyKCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVy
LmdldCgpOyB9CiAgICAgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQoKSB7IHJldHVybiBtX2Nh
Y2hlZFNjcmlwdC5nZXQoKTsgfQotICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyogcGFyYW1ldGVy
cygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQotICAgIGNvbnN0IFVSTCYgc291cmNl
VVJMKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VVUkw7IH0KLQotICAgIHZvaWQgY2xlYXJDbGll
bnQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICAgICAgbV9jbGllbnQg
PSBudWxscHRyOwotICAgIH0KKyAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVy
KCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlciY+KE1vZHVsZVNjcmlw
dExvYWRlcjo6c2NyaXB0RmV0Y2hlcigpKTsgfQogCiBwcml2YXRlOgotICAgIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFBy
b21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVy
cz4mJik7CisgICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNs
aWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9k
dWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVk
UmVzb3VyY2UmLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbDsKIAotICAgIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCogbV9jbGllbnQgeyBudWxscHRyIH07Ci0gICAgUmVm
UHRyPERlZmVycmVkUHJvbWlzZT4gbV9wcm9taXNlOwotICAgIFJlZjxDYWNoZWRTY3JpcHRGZXRj
aGVyPiBtX3NjcmlwdEZldGNoZXI7Ci0gICAgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4g
bV9wYXJhbWV0ZXJzOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gbV9j
YWNoZWRTY3JpcHQ7CiAgICAgVVJMIG1fc291cmNlVVJMOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2ODhhZDkwZGFlM2VjZTk0OWVhMDli
MWVmZWU1ZGEyNmY5NGM3ODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjsKLWNsYXNzIERl
ZmVycmVkUHJvbWlzZTsKLQotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsK
LXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQoKSA9
IGRlZmF1bHQ7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4pID0gMDsKLX07Ci0KLX0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAK
aW5kZXggYTQzMzc1ODY1YmJmMWVjNTk3M2JmMTcyYzkxYTM4NTMyMzRlMzc0ZC4uZGYzYzZiNmVi
Yjg0YWY3MmVkMjk1NWY5OTExZDA3YTg3YWIzNTMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Nyw2ICs0OCw3IEBAIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdE1vZHVsZVNjcmlwdChEb2N1CiAKIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlw
dD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNoZShEb2N1bWVudCYg
ZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNlVVJMLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2lu
TW9kZSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBPcHRpb25hbDxSZXNvdXJjZUxvYWRQcmlvcml0eT4g
cmVzb3VyY2VMb2FkUHJpb3JpdHkpIGNvbnN0CiB7CisgICAgLy8gV2l0aG91dCBzY3JpcHRpbmcs
IHRoZXJlIGlzIG5vIHdheSB0byBzdGFydCBXb3JrZXJzLgogICAgIGlmICghZG9jdW1lbnQuc2V0
dGluZ3MoKS5pc1NjcmlwdEVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGlu
Zy5jcHAKaW5kZXggZGY3ZjNkNzQ2ZDVlMzJhYmFiNTE0NzZjOWRkYWNhNjNhNDM1MTM2Yy4uZWVm
MjEwMzg4NDlmZDg5ODQ5YWZjZWQ3MDMxODVmZjg5NGM0MGM3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKQEAgLTUy
LDYgKzUyLDI1IEBAIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlCiAgICAgcmVwb3J0RXhjZXB0aW9u
KGxleGljYWxHbG9iYWxPYmplY3QsIGV4Y2VwdGlvbiwgY2FjaGVkU2NyaXB0KTsKIH0KIAorU3Ry
aW5nIHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIFZNJiB2bSwgSlNWYWx1ZSBleGNlcHRpb24sIENhdGNoU2NvcGUmIGNh
dGNoU2NvcGUpCit7CisgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNTA4Nz4g
V2ViIEluc3BlY3RvcjogV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9uIHNob3VsZCBub3QgZXZhbHVh
dGUgSmF2YVNjcmlwdCBoYW5kbGluZyBleGNlcHRpb25zCisgICAgLy8gSWYgdGhpcyBpcyBhIGN1
c3RvbSBleGNlcHRpb24gb2JqZWN0LCBjYWxsIHRvU3RyaW5nIG9uIGl0IHRvIHRyeSBhbmQgZ2V0
IGEgbmljZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBleGNlcHRpb24uCisgICAgU3Ry
aW5nIGVycm9yTWVzc2FnZTsKKyAgICBpZiAoYXV0byogZXJyb3IgPSBqc0R5bmFtaWNDYXN0PEVy
cm9ySW5zdGFuY2UqPih2bSwgZXhjZXB0aW9uKSkKKyAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJy
b3ItPnNhbml0aXplZE1lc3NhZ2VTdHJpbmcoJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIGVs
c2UgaWYgKGF1dG8qIGVycm9yID0ganNEeW5hbWljQ2FzdDxKU0RPTUV4Y2VwdGlvbio+KHZtLCBl
eGNlcHRpb24pKQorICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci0+d3JhcHBlZCgpLm1lc3Nh
Z2UoKTsKKyAgICBlbHNlCisgICAgICAgIGVycm9yTWVzc2FnZSA9IGV4Y2VwdGlvbi50b1dURlN0
cmluZygmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisKKyAgICAvLyBXZSBuZWVkIHRvIGNsZWFyIGFu
eSBuZXcgZXhjZXB0aW9uIHRoYXQgbWF5IGJlIHRocm93biBpbiB0aGUgdG9TdHJpbmcoKSBjYWxs
IGFib3ZlLgorICAgIC8vIHJlcG9ydEV4Y2VwdGlvbigpIGlzIG5vdCBzdXBwb3NlZCB0byBiZSBt
YWtpbmcgbmV3IGV4Y2VwdGlvbnMuCisgICAgY2F0Y2hTY29wZS5jbGVhckV4Y2VwdGlvbigpOwor
ICAgIHZtLmNsZWFyTGFzdEV4Y2VwdGlvbigpOworICAgIHJldHVybiBlcnJvck1lc3NhZ2U7Cit9
CisKIFN0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZShKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgVk0mIHZtLCBKU1ZhbHVlIGV4Y2VwdGlvbiwgQ2F0Y2hTY29wZSYgY2F0Y2hT
Y29wZSkKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE1MDg3PiBXZWIg
SW5zcGVjdG9yOiBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24gc2hvdWxkIG5vdCBldmFsdWF0ZSBK
YXZhU2NyaXB0IGhhbmRsaW5nIGV4Y2VwdGlvbnMKQEAgLTEyMSwzNiArMTQwLDQ1IEBAIHZvaWQg
cmVwb3J0Q3VycmVudEV4Y2VwdGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCkKIAogSlNWYWx1ZSBjcmVhdGVET01FeGNlcHRpb24oSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEV4Y2VwdGlvbkNvZGUgZWMsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsK
LSAgICBpZiAoZWMgPT0gRXhpc3RpbmdFeGNlcHRpb25FcnJvcikKKyAgICBzd2l0Y2ggKGVjKSB7
CisgICAgY2FzZSBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yOgogICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKIAogICAgIC8vIEZJWE1FOiBIYW5kbGUgb3RoZXIgV2ViSURMIGV4Y2VwdGlvbiB0
eXBlcy4KLSAgICBpZiAoZWMgPT0gVHlwZUVycm9yKSB7CisgICAgY2FzZSBUeXBlRXJyb3I6CiAg
ICAgICAgIGlmIChtZXNzYWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVU
eXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVUeXBl
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7Ci0gICAgfQogCi0gICAgaWYgKGVj
ID09IFJhbmdlRXJyb3IpIHsKKyAgICBjYXNlIFJhbmdlRXJyb3I6CiAgICAgICAgIGlmIChtZXNz
YWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVSYW5nZUVycm9yKGxleGlj
YWxHbG9iYWxPYmplY3QsICJCYWQgdmFsdWUiX3MpOwogICAgICAgICByZXR1cm4gY3JlYXRlUmFu
Z2VFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBtZXNzYWdlKTsKLSAgICB9CiAKLSAgICBpZiAo
ZWMgPT0gU3RhY2tPdmVyZmxvd0Vycm9yKQorICAgIGNhc2UgSlNTeW50YXhFcnJvcjoKKyAgICAg
ICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVN5bnRh
eEVycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gY3JlYXRlU3ludGF4
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7CisKKyAgICBjYXNlIFN0YWNrT3Zl
cmZsb3dFcnJvcjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihsZXhp
Y2FsR2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoZWMgPT0gT3V0T2ZNZW1vcnlFcnJvcikKKworICAg
IGNhc2UgT3V0T2ZNZW1vcnlFcnJvcjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZU91dE9mTWVtb3J5
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CiAKLSAgICAvLyBGSVhNRTogQWxsIGNhbGxlcnMg
dG8gY3JlYXRlRE9NRXhjZXB0aW9uIG5lZWQgdG8gcGFzcyBpbiB0aGUgY29ycmVjdCBnbG9iYWwg
b2JqZWN0LgotICAgIC8vIEZvciBub3csIHdlJ3JlIGdvaW5nIHRvIGFzc3VtZSB0aGUgbGV4aWNh
bEdsb2JhbE9iamVjdC4gV2hpY2ggaXMgd3JvbmcgaW4gY2FzZXMgbGlrZSB0aGlzOgotICAgIC8v
IGZyYW1lc1swXS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3Mg
YW4gZXhjZXB0aW9uIHdoaWNoIHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZSdzIHByb3RvdHlwZXMu
Ci0gICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGRlcHJlY2F0ZWRHbG9iYWxP
YmplY3RGb3JQcm90b3R5cGUobGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgSlNWYWx1ZSBlcnJv
ck9iamVjdCA9IHRvSlMobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBET01FeGNl
cHRpb246OmNyZWF0ZShlYywgbWVzc2FnZSkpOwotICAgIAotICAgIEFTU0VSVChlcnJvck9iamVj
dCk7Ci0gICAgYWRkRXJyb3JJbmZvKGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KGVycm9y
T2JqZWN0KSwgdHJ1ZSk7Ci0gICAgcmV0dXJuIGVycm9yT2JqZWN0OworICAgIGRlZmF1bHQ6IHsK
KyAgICAgICAgLy8gRklYTUU6IEFsbCBjYWxsZXJzIHRvIGNyZWF0ZURPTUV4Y2VwdGlvbiBuZWVk
IHRvIHBhc3MgaW4gdGhlIGNvcnJlY3QgZ2xvYmFsIG9iamVjdC4KKyAgICAgICAgLy8gRm9yIG5v
dywgd2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoZSBsZXhpY2FsR2xvYmFsT2JqZWN0LiBXaGljaCBp
cyB3cm9uZyBpbiBjYXNlcyBsaWtlIHRoaXM6CisgICAgICAgIC8vIGZyYW1lc1swXS5kb2N1bWVu
dC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3MgYW4gZXhjZXB0aW9uIHdoaWNo
IHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZSdzIHByb3RvdHlwZXMuCisgICAgICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90
eXBlKGxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICBKU1ZhbHVlIGVycm9yT2JqZWN0ID0g
dG9KUyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIERPTUV4Y2VwdGlvbjo6Y3Jl
YXRlKGVjLCBtZXNzYWdlKSk7CisKKyAgICAgICAgQVNTRVJUKGVycm9yT2JqZWN0KTsKKyAgICAg
ICAgYWRkRXJyb3JJbmZvKGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KGVycm9yT2JqZWN0
KSwgdHJ1ZSk7CisgICAgICAgIHJldHVybiBlcnJvck9iamVjdDsKKyAgICB9CisgICAgfQorICAg
IHJldHVybiB7IH07CiB9CiAKIEpTVmFsdWUgY3JlYXRlRE9NRXhjZXB0aW9uKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFeGNlcHRpb24mJiBleGNlcHRpb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgKaW5k
ZXggMmQzZTMxMWY2MWVlYjY4NWFhYzM1NTQ2YWFlMTYwZGE5NzkwZWY1Zi4uZDFmNmRlOTM3NDcw
Y2U2ZGYyY2NiNjQ3MjI4NDc2NmZkMDE5NTgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaApAQCAtNjUsNiArNjUsNyBAQCBX
RUJDT1JFX0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoR2V0dGVy
VHlwZUVycm9yKEpTQzo6SlNHbG9iYQogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1
ZSByZWplY3RQcm9taXNlV2l0aFRoaXNUeXBlRXJyb3IoRGVmZXJyZWRQcm9taXNlJiwgY29uc3Qg
Y2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogb3BlcmF0aW9uTmFtZSk7CiBXRUJDT1JF
X0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoVGhpc1R5cGVFcnJv
cihKU0M6OkpTR2xvYmFsT2JqZWN0JiwgY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3Qg
Y2hhciogb3BlcmF0aW9uTmFtZSk7CiAKK1N0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhv
dXROYW1lKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlIGV4Y2Vw
dGlvbiwgSlNDOjpDYXRjaFNjb3BlJik7CiBTdHJpbmcgcmV0cmlldmVFcnJvck1lc3NhZ2UoSlND
OjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Vk0mLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBKU0M6
OkNhdGNoU2NvcGUmKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBDYWNoZWRTY3JpcHQqID0g
bnVsbHB0cik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpFeGNlcHRpb24qLCBDYWNoZWRTY3JpcHQqID0gbnVsbHB0ciwgRXhj
ZXB0aW9uRGV0YWlscyogPSBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1OGI3ZGY3NjBjMDBhMzFmZjA4ZWQyMmRl
ZTIyYThjNzQ0M2FlOGRkLi45ZDY5N2Q0NTliNTYzNDVjYzgzOTYyMDI2Njc2ZTAwYTk4YmY0OWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiSlNXb3JrbGV0R2xvYmFsU2NvcGUuaCIK
ICNpbmNsdWRlICJSZWplY3RlZFByb21pc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN0cnVjdHVyZWRDbG9uZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIK
ICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtNDIyLDYgKzQyMyw3OSBAQCBKU0M6
OkpTUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Omluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsbwogfQogI2VuZGlmCiAKK3N0YXRpYyBTY3JpcHRNb2R1bGVMb2Fk
ZXIqIHNjcmlwdE1vZHVsZUxvYWRlcihKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQor
eworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0
LT5pbmhlcml0czxKU0RPTVdpbmRvd0Jhc2U+KHZtKSkgeworICAgICAgICBpZiAoYXV0byBkb2N1
bWVudCA9IGpzQ2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpLT53cmFw
cGVkKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiAmZG9jdW1lbnQtPm1vZHVsZUxv
YWRlcigpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaWYgKGdsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNSZW1vdGVET01XaW5kb3dCYXNlPih2bSkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2VyR2xvYmFs
U2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2VyR2xv
YmFsU2NvcGVCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1vZHVsZUxvYWRlcigpOwor
ICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZT4o
dm0pKQorICAgICAgICByZXR1cm4gJmpzQ2FzdDxjb25zdCBKU1dvcmtsZXRHbG9iYWxTY29wZUJh
c2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJT
ZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0Pih2bSkpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
I2VuZGlmCisgICAgZGF0YUxvZygiVW5leHBlY3RlZCBnbG9iYWwgb2JqZWN0OiAiLCBKU1ZhbHVl
KGdsb2JhbE9iamVjdCksICJcbiIpOworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTQzo6SWRlbnRpZmllciBKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6Ompz
Q2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxv
YWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxv
YWRlci0+cmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgaW1w
b3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiB7IH07Cit9CisKK0pT
Qzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFt
ZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlw
dE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNj
b3BlLCBsb2FkZXItPmZldGNoKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXks
IHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7Cisg
ICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7CisgICAgcmV0
dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
TW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6
SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAg
IEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1
bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmV2YWx1YXRlKGds
b2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0
RmV0Y2hlcik7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKworSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1N0cmluZyogbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJiBzb3VyY2VPcmlnaW4pCit7CisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6
anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byog
bG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+aW1wb3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9k
dWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VPcmlnaW4pKTsKKyAgICBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAg
ICBzY29wZS5yZWxlYXNlKCk7CisgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNV
bmRlZmluZWQoKSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNPYmplY3QqIEpT
RE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhK
U0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1v
ZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCog
bW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUds
b2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVy
KHRoaXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5jcmVhdGVJbXBvcnRNZXRhUHJv
cGVydGllcyhnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNv
cmQsIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVy
ZSgpKTsKK30KKwogSlNET01HbG9iYWxPYmplY3QmIGNhbGxlckdsb2JhbE9iamVjdChKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBjYWxsRnJhbWUpCiB7CiAg
ICAgY2xhc3MgR2V0Q2FsbGVyR2xvYmFsT2JqZWN0RnVuY3RvciB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAppbmRleCBiODQwNzJkZGQ3NDZiM2Q2
YzUxMDYwZDkwNTAxYjVjZWExYjQ5OWIxLi5mNDlhNGNkMjU3MTk3MTE4OTE3YTdkN2E0YjZjMGUx
MWZjNzZiYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmgKQEAgLTEwNSw2ICsxMDUsMTIgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNET01H
bG9iYWxPYmplY3QgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbE9iamVjdCB7CiAgICAgc3RhdGljIEpT
Qzo6SlNQcm9taXNlKiBpbnN0YW50aWF0ZVN0cmVhbWluZyhKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTT2JqZWN0Kik7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBKU0M6
OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFs
dWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1
ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUg
bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVM
b2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAgICBz
dGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0cmluZyos
IEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKKyAgICBzdGF0aWMgSlND
OjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOworCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAg
bV9zdHJ1Y3R1cmVzOwogICAgIEpTRE9NQ29uc3RydWN0b3JNYXAgbV9jb25zdHJ1Y3RvcnM7CiAg
ICAgRE9NR3VhcmRlZE9iamVjdFNldCBtX2d1YXJkZWRPYmplY3RzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggNTYzZWZhMDU3MWI1ZDQ2
MmQ5ZTY0NTA4OWYwYmQ4Zjc3ZDE5YTc2OC4uMzEyYTAxMTU4ZThjMjgwODNjMDdlNDJkYjg3MjQ1
ZmU0ZTVjNTdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCkBAIC0zMzksNTQgKzMzOSw0IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJl
RnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiAgICAg
fQogfQogCi1KU0M6OklkZW50aWZpZXIgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNv
bHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGlt
cG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RP
TVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihn
bG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09i
amVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCkucmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFt
ZSwgaW1wb3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiB7IH07Ci19
Ci0KLUpTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVy
RmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBw
YXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9N
V2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9j
dW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuZmV0Y2goZ2xvYmFs
T2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hl
cikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0
dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFs
T2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpK
U1ZhbHVlIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIs
IEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6
SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVj
dCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYg
KFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1l
bnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5ldmFsdWF0ZShn
bG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlw
dEZldGNoZXIpOwotICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxl
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciog
bW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFy
YW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKLXsKLSAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anND
YXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1
bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAg
ICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuaW1w
b3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0
ZXJzLCBzb3VyY2VPcmlnaW4pKTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNl
ID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVy
bmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcHJvbWlz
ZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7Ci0gICAgcmV0dXJuIHByb21p
c2U7Ci19Ci0KLUpTQzo6SlNPYmplY3QqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3Jl
YXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVL
ZXksIEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nh
c3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3Vt
ZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAg
ICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0
aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwg
c2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9i
amVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkp
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5oCmluZGV4IDNlZjk4MGRkMjdmNmIyMTM5ODcwMDhiYTQ3NmM4
Y2E2OWYyZjBiNjQuLjUxNDJiMWM3ZGMyNWMyMmZlOTc4OTVlNzVhZTIyZWY0ZDFlNTg5ZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC05OSwx
MiArOTksNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTVdpbmRvd0Jhc2UgOiBwdWJsaWMg
SlNET01HbG9iYWxPYmplY3QgewogcHJpdmF0ZToKICAgICB1c2luZyBSZXNwb25zZUNhbGxiYWNr
ID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IGNoYXIqLCBzaXplX3QpPjsKIAotICAgIHN0YXRp
YyBKU0M6OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2Fk
ZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpT
VmFsdWUgbW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNN
b2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsK
LSAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9k
dWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0
cmluZyosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKLSAgICBzdGF0
aWMgSlNDOjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUs
IEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwotCiAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV93cmFwcGVkOwogICAgIFJlZlB0cjxFdmVudD4gbV9jdXJyZW50RXZlbnQ7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwCmluZGV4IDQyYjI2YzlmNGVhMjE2MjA3ZGU0Yzg2ODIwYjhhODFiNjAzNWI3ZWIu
LjJkNzkzZmZmMjE4NTNhOGExYTc4ODA2NjcyNTBmNTdlNzUyZmUzZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAK
QEAgLTU5LDExICs1OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtl
ckdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZQogICAgICZqYXZhU2Ny
aXB0UnVudGltZUZsYWdzLAogICAgICZxdWV1ZU1pY3JvdGFza1RvRXZlbnRMb29wLAogICAgICZz
aG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckltcG9ydE1vZHVsZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlclJlc29sdmUK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJGZXRjaAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxl
TG9hZGVyRXZhbHVhdGUKKyAgICAmbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlLAorICAgICZtb2R1
bGVMb2FkZXJSZXNvbHZlLAorICAgICZtb2R1bGVMb2FkZXJGZXRjaCwKKyAgICAmbW9kdWxlTG9h
ZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMsCisgICAgJm1vZHVsZUxvYWRlckV2YWx1YXRl
LAogICAgICZwcm9taXNlUmVqZWN0aW9uVHJhY2tlciwKICAgICAmcmVwb3J0VW5jYXVnaHRFeGNl
cHRpb25BdEV2ZW50TG9vcCwKICAgICAmY3VycmVudFNjcmlwdEV4ZWN1dGlvbk93bmVyLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3Bl
QmFzZS5jcHAKaW5kZXggMzVmYTZlMzI3N2ZiMGQ0YmUwZTBlMWVkYzQzNzIyZWRhZGZjOGFmMi4u
OWZhZWM5NTljMzlkMTc0ODE4MWM5ODY1MDAzZDVhODZmMTdmNWUzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3Bw
CkBAIC00OSwxMSArNDksMTEgQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNXb3Jr
bGV0R2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmwKICAgICAmamF2YVNj
cmlwdFJ1bnRpbWVGbGFncywKICAgICBudWxscHRyLCAvLyBxdWV1ZU1pY3JvdGFza1RvRXZlbnRM
b29wCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9h
ZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBudWxscHRy
LCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUs
CisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNoLAorICAg
ICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9kdWxlTG9h
ZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZyZXBvcnRV
bmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhlY3V0aW9u
T3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZhOTEwZTk0OWI3YWMxYTM4ZWRlZWNiMDNkZWI2ZWU4OTRjY2ViMGQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNo
UGFyYW1ldGVycy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEZldGNoZXIuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8TW9kdWxlU2NyaXB0TG9hZGVyPiB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+TW9kdWxlU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBjbGVh
ckNsaWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQobV9jbGllbnQpOworICAgICAgICBtX2Ns
aWVudCA9IG51bGxwdHI7CisgICAgfQorCisgICAgSlNDOjpTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyKCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVyLmdldCgpOyB9CisgICAgTW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9
CisKK3Byb3RlY3RlZDoKKyAgICBNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgSlNDOjpTY3JpcHRGZXRj
aGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFt
ZXRlcnMpCisgICAgICAgIDogbV9jbGllbnQoJmNsaWVudCkKKyAgICAgICAgLCBtX3Byb21pc2Uo
JnByb21pc2UpCisgICAgICAgICwgbV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNoZXIpCisgICAg
ICAgICwgbV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCisgICAgeworICAgIH0KKwor
ICAgIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCogbV9jbGllbnQ7CisgICAgUmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4gbV9wcm9taXNlOworICAgIFJlZjxKU0M6OlNjcmlwdEZldGNoZXI+IG1fc2Ny
aXB0RmV0Y2hlcjsKKyAgICBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiBtX3BhcmFtZXRl
cnM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5
OTVmNDhlZTNkMWUwMmMxZDhjOWM5ZGEyYmQ1ODIzNmYzYmEwN2QKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaApA
QCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1vZHVs
ZVNjcmlwdExvYWRlcjsKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKKworY2xhc3MgTW9kdWxlU2Ny
aXB0TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQo
TW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSA9IDA7Cit9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1
bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9h
ZGVyLmNwcAppbmRleCBhYTViODBiNTg2Yjc5ZTBlNTc1MDFjZDUxMDc4ZGYyNWE2MjVlNWQ5Li4x
MGJkN2Y4NDkwOGI4MmQ1MDcyNTQzYmJkZmJkZjhjYzc5NGMyODVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKQEAgLTI5LDcgKzI5
LDYgQEAKICNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlICJD
YWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCi0jaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCkBAIC00MSw2ICs0MCw4IEBA
CiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlSW50
ZWdyaXR5LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgorI2luY2x1ZGUgIldv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSlNJbnRlcm5hbFByb21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU01vZHVsZVJlY29yZC5oPgpAQCAtNTIsOCArNTMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVNjcmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKERvY3VtZW50JiBk
b2N1bWVudCkKLSAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCitTY3JpcHRNb2R1bGVMb2FkZXI6
OlNjcmlwdE1vZHVsZUxvYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBPd25l
clR5cGUgb3duZXJUeXBlKQorICAgIDogbV9jb250ZXh0KGNvbnRleHQpCisgICAgLCBtX293bmVy
VHlwZShvd25lclR5cGUpCiB7CiB9CiAKQEAgLTY4LDcgKzcwLDcgQEAgc3RhdGljIGJvb2wgaXNS
b290TW9kdWxlKEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSkKICAgICByZXR1cm4gaW1w
b3J0ZXJNb2R1bGVLZXkuaXNTeW1ib2woKSB8fCBpbXBvcnRlck1vZHVsZUtleS5pc1VuZGVmaW5l
ZCgpOwogfQogCi1zdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVj
aWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHNwZWNpZmllciwgY29uc3Qg
VVJMJiBiYXNlVVJMKQorc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxl
U3BlY2lmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNjcmlwdE1vZHVsZUxv
YWRlcjo6T3duZXJUeXBlIG93bmVyVHlwZSwgY29uc3QgU3RyaW5nJiBzcGVjaWZpZXIsIGNvbnN0
IFVSTCYgYmFzZVVSTCkKIHsKICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjcmVzb2x2ZS1hLW1vZHVsZS1zcGVjaWZpZXIKIApAQCAt
NzksNyArODEsMTIgQEAgc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxl
U3BlY2lmaWVyKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3QKICAgICBpZiAoIXNwZWNpZmll
ci5zdGFydHNXaXRoKCcvJykgJiYgIXNwZWNpZmllci5zdGFydHNXaXRoKCIuLyIpICYmICFzcGVj
aWZpZXIuc3RhcnRzV2l0aCgiLi4vIikpCiAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZCht
YWtlU3RyaW5nKCJNb2R1bGUgc3BlY2lmaWVyLCAnIl9zLCBzcGVjaWZpZXIsICInIGRvZXMgbm90
IHN0YXJ0IHdpdGggXCIvXCIsIFwiLi9cIiwgb3IgXCIuLi9cIi4gUmVmZXJlbmNlZCBmcm9tICJf
cywgYmFzZVVSTC5zdHJpbmcoKSkpOwogCi0gICAgYXV0byByZXN1bHQgPSBkb2N1bWVudC5jb21w
bGV0ZVVSTChzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIFVSTCByZXN1bHQ7CisgICAgaWYgKG93
bmVyVHlwZSA9PSBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93bmVyVHlwZTo6RG9jdW1lbnQpCisgICAg
ICAgIHJlc3VsdCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KS5jb21wbGV0ZVVSTChzcGVj
aWZpZXIsIGJhc2VVUkwpOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0gVVJMKGJhc2VVUkws
IHNwZWNpZmllcik7CisKICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVy
biBtYWtlVW5leHBlY3RlZChtYWtlU3RyaW5nKCJNb2R1bGUgbmFtZSwgJyJfcywgcmVzdWx0LnN0
cmluZygpLCAiJyBkb2VzIG5vdCByZXNvbHZlIHRvIGEgdmFsaWQgVVJMLiJfcykpOwogICAgIHJl
dHVybiByZXN1bHQ7CkBAIC0xMDcsNyArMTE0LDcgQEAgSlNDOjpJZGVudGlmaWVyIFNjcmlwdE1v
ZHVsZUxvYWRlcjo6cmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE9iamVjdCwK
ICAgICBVUkwgYmFzZVVSTCA9IHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoKmpzR2xvYmFsT2Jq
ZWN0LCBpbXBvcnRlck1vZHVsZUtleSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
eyB9KTsKIAotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2RvY3Vt
ZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVs
ZVNwZWNpZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIsIGJhc2VVUkwpOwog
ICAgIGlmICghcmVzdWx0KSB7CiAgICAgICAgIEpTQzo6dGhyb3dUeXBlRXJyb3IoanNHbG9iYWxP
YmplY3QsIHNjb3BlLCByZXN1bHQuZXJyb3IoKSk7CiAgICAgICAgIHJldHVybiB7IH07CkBAIC0x
NjEsMTMgKzE2OCwxOSBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2Fk
ZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsTwogICAgIGlmIChhdXRvKiBz
Y3JpcHRGZXRjaFBhcmFtZXRlcnMgPSBKU0M6OmpzRHluYW1pY0Nhc3Q8SlNDOjpKU1NjcmlwdEZl
dGNoUGFyYW1ldGVycyo+KHZtLCBwYXJhbWV0ZXJzKSkKICAgICAgICAgdG9wTGV2ZWxGZXRjaFBh
cmFtZXRlcnMgPSBzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaFBhcmFtZXRlcnMqPigmc2NyaXB0RmV0
Y2hQYXJhbWV0ZXJzLT5wYXJhbWV0ZXJzKCkpOwogCi0gICAgYXV0byBsb2FkZXIgPSBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNf
Y2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNo
ZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFy
YW1ldGVycykpOwotICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7Ci0gICAgaWYg
KCFsb2FkZXItPmxvYWQobV9kb2N1bWVudCwgY29tcGxldGVkVVJMKSkgewotICAgICAgICBsb2Fk
ZXItPmNsZWFyQ2xpZW50KCk7Ci0gICAgICAgIG1fbG9hZGVycy5yZW1vdmUoV1RGTW92ZShsb2Fk
ZXIpKTsKLSAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoZGVmZXJyZWQuZ2V0
KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1
bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwotICAgICAgICByZXR1cm4ganNQcm9taXNlOworICAgIGlm
IChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGF1dG8gbG9h
ZGVyID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdl
dCgpLCAqc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6
SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9w
TGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKKyAgICAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29w
eVJlZigpKTsKKyAgICAgICAgaWYgKCFsb2FkZXItPmxvYWQoZG93bmNhc3Q8RG9jdW1lbnQ+KG1f
Y29udGV4dCksIFdURk1vdmUoY29tcGxldGVkVVJMKSkpIHsKKyAgICAgICAgICAgIGxvYWRlci0+
Y2xlYXJDbGllbnQoKTsKKyAgICAgICAgICAgIG1fbG9hZGVycy5yZW1vdmUoV1RGTW92ZShsb2Fk
ZXIpKTsKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKGRlZmVycmVk
LmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEg
bW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybiBqc1Byb21pc2U7
CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIGxvYWRlciA9IFdvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19j
YXN0PFdvcmtlclNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hl
cio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJh
bWV0ZXJzKSk7CisgICAgICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7CisgICAg
ICAgIGxvYWRlci0+bG9hZChtX2NvbnRleHQsIFdURk1vdmUoY29tcGxldGVkVVJMKSk7CiAgICAg
fQogCiAgICAgcmV0dXJuIGpzUHJvbWlzZTsKQEAgLTE3Niw3ICsxODksNyBAQCBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGpzR2xvYmFsTwogVVJMIFNjcmlwdE1vZHVsZUxvYWRlcjo6bW9kdWxlVVJMKEpTQzo6SlNH
bG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5VmFsdWUp
CiB7CiAgICAgaWYgKG1vZHVsZUtleVZhbHVlLmlzU3ltYm9sKCkpCi0gICAgICAgIHJldHVybiBt
X2RvY3VtZW50LnVybCgpOworICAgICAgICByZXR1cm4gbV9jb250ZXh0LnVybCgpOwogCiAgICAg
QVNTRVJUKG1vZHVsZUtleVZhbHVlLmlzU3RyaW5nKCkpOwogICAgIHJldHVybiBVUkwoVVJMKCks
IGFzU3RyaW5nKG1vZHVsZUtleVZhbHVlKS0+dmFsdWUoJmpzR2xvYmFsT2JqZWN0KSk7CkBAIC0x
ODcsOCArMjAwLDExIEBAIFVSTCBTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJMRnJvbVJl
cXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYganNHbG9iYWxPCiAgICAgSlNDOjpWTSYgdm0g
PSBqc0dsb2JhbE9iamVjdC52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKIAotICAgIGlmIChpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKQotICAgICAg
ICByZXR1cm4gbV9kb2N1bWVudC5iYXNlVVJMKCk7CisgICAgaWYgKGlzUm9vdE1vZHVsZShtb2R1
bGVLZXlWYWx1ZSkpIHsKKyAgICAgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9j
dW1lbnQpCisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCku
YmFzZVVSTCgpOworICAgICAgICByZXR1cm4gbV9jb250ZXh0LnVybCgpOworICAgIH0KIAogICAg
IEFTU0VSVCghaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSk7CiAgICAgQVNTRVJUKG1vZHVs
ZUtleVZhbHVlLmlzU3RyaW5nKCkpOwpAQCAtMjE5LDggKzIzNSwxNCBAQCBKU0M6OkpTVmFsdWUg
U2NyaXB0TW9kdWxlTG9hZGVyOjpldmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2Jh
bE9iamVjdCwgSgogICAgIGlmICghc291cmNlVVJMLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
IEpTQzo6dGhyb3dUeXBlRXJyb3IoanNHbG9iYWxPYmplY3QsIHNjb3BlLCAiTW9kdWxlIGtleSBp
cyBhbiBpbnZhbGlkIFVSTC4iX3MpOwogCi0gICAgaWYgKGF1dG8qIGZyYW1lID0gbV9kb2N1bWVu
dC5mcmFtZSgpKQotICAgICAgICByZXR1cm4gZnJhbWUtPnNjcmlwdCgpLmV2YWx1YXRlTW9kdWxl
KHNvdXJjZVVSTCwgKm1vZHVsZVJlY29yZCk7CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVy
VHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG93bmNhc3Q8RG9j
dW1lbnQ+KG1fY29udGV4dCkuZnJhbWUoKSkKKyAgICAgICAgICAgIHJldHVybiBmcmFtZS0+c2Ny
aXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBBU1NFUlQoaXM8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KG1fY29u
dGV4dCkpOworICAgICAgICBpZiAoYXV0byogc2NyaXB0ID0gZG93bmNhc3Q8V29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGU+KG1fY29udGV4dCkuc2NyaXB0KCkpCisgICAgICAgICAgICByZXR1cm4g
c2NyaXB0LT5ldmFsdWF0ZU1vZHVsZSgqbW9kdWxlUmVjb3JkKTsKKyAgICB9CiAgICAgcmV0dXJu
IEpTQzo6anNVbmRlZmluZWQoKTsKIH0KIApAQCAtMjQ4LDggKzI3MCwxMyBAQCBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiBqcwogICAgIFVSTCBiYXNlVVJMOwogICAgIFJlZlB0cjxKU0M6OlNjcmlwdEZl
dGNoZXI+IHNjcmlwdEZldGNoZXI7CiAgICAgaWYgKHNvdXJjZU9yaWdpbi5pc051bGwoKSkgewot
ICAgICAgICBiYXNlVVJMID0gbV9kb2N1bWVudC5iYXNlVVJMKCk7Ci0gICAgICAgIHNjcmlwdEZl
dGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUobV9kb2N1bWVudC5jaGFyc2V0KCkp
OworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAg
ICAgICAgICAgYmFzZVVSTCA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmJhc2VVUkwo
KTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVh
dGUoZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuY2hhcnNldCgpKTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGJhc2VVUkwgPSBtX2NvbnRleHQudXJsKCk7CisgICAgICAgICAg
ICBzY3JpcHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKEZldGNoT3B0aW9u
czo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4pOworICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgYmFzZVVSTCA9IFVSTChVUkwoKSwgc291cmNlT3JpZ2luLnN0cmluZygpKTsKICAgICAg
ICAgaWYgKCFiYXNlVVJMLmlzVmFsaWQoKSkKQEAgLTI1NywxNCArMjg0LDE5IEBAIEpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxlKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGpzCiAKICAgICAgICAgaWYgKHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpCiAg
ICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZldGNoZXIoKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6
OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisKKyAgICAgICAgaWYgKCFzY3JpcHRGZXRj
aGVyKSB7CisgICAgICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVu
dCkKKyAgICAgICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6
Y3JlYXRlKGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmNoYXJzZXQoKSk7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZl
dGNoZXI6OmNyZWF0ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luKTsKKyAg
ICAgICAgfQogICAgIH0KICAgICBBU1NFUlQoYmFzZVVSTC5pc1ZhbGlkKCkpOwogICAgIEFTU0VS
VChzY3JpcHRGZXRjaGVyKTsKIAogICAgIGF1dG8gc3BlY2lmaWVyID0gbW9kdWxlTmFtZS0+dmFs
dWUoanNHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNp
ZmllcihtX2RvY3VtZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0g
cmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIs
IGJhc2VVUkwpOwogICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gcmVqZWN0UHJvbWlz
ZShnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgcmVzdWx0LmVycm9yKCkpOwogCkBAIC0yODgsNjIg
KzMyMCwxMDcgQEAgSlNDOjpKU09iamVjdCogU2NyaXB0TW9kdWxlTG9hZGVyOjpjcmVhdGVJbXBv
cnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWMKICAgICByZXR1cm4gbWV0YVByb3Bl
cnRpZXM7CiB9CiAKLXZvaWQgU2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXImIGxvYWRlciwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4gcHJv
bWlzZSkKK3ZvaWQgU2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChNb2R1bGVTY3Jp
cHRMb2FkZXImIG1vZHVsZVNjcmlwdExvYWRlciwgVVJMJiYgc291cmNlVVJMLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiBwcm9taXNlKQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0
CiAKLSAgICBVUkwgc291cmNlVVJMID0gbG9hZGVyLnNvdXJjZVVSTCgpOwotICAgIGlmICghbV9s
b2FkZXJzLnJlbW92ZSgmbG9hZGVyKSkKKyAgICBpZiAoIW1fbG9hZGVycy5yZW1vdmUoJm1vZHVs
ZVNjcmlwdExvYWRlcikpCiAgICAgICAgIHJldHVybjsKLSAgICBsb2FkZXIuY2xlYXJDbGllbnQo
KTsKKyAgICBtb2R1bGVTY3JpcHRMb2FkZXIuY2xlYXJDbGllbnQoKTsKIAotICAgIGF1dG8mIGNh
Y2hlZFNjcmlwdCA9ICpsb2FkZXIuY2FjaGVkU2NyaXB0KCk7CisgICAgaWYgKG1fb3duZXJUeXBl
ID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgYXV0byYgbG9hZGVyID0gc3RhdGlj
X2Nhc3Q8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJj4obW9kdWxlU2NyaXB0TG9hZGVyKTsKKyAg
ICAgICAgYXV0byYgY2FjaGVkU2NyaXB0ID0gKmxvYWRlci5jYWNoZWRTY3JpcHQoKTsKIAotICAg
IGlmIChjYWNoZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7Ci0g
ICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxv
YWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iX3MpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2NyaXB0LnJlc291cmNl
RXJyb3IoKS5pc0FjY2Vzc0NvbnRyb2woKSkgeworICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0
KEFib3J0RXJyb3IsICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9y
aWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iX3MpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgewotICAg
ICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hG
YWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVk
LiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQu
ZXJyb3JPY2N1cnJlZCgpKSB7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtF
cnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAi
SW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7Ci0g
ICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKCpwcm9taXNlLCBNb2R1bGVGZXRj
aEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgaXMg
Y2FuY2VsZWQuIl9zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKGNhY2hl
ZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5l
dHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5j
ZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojpp
c1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZShjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1l
VHlwZSgpKSkgewotICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAotICAgICAg
ICAvLyBUaGUgcmVzdWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5cGUgZnJvbSByZXNwb25zZSdz
IGhlYWRlciBsaXN0IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0IE1J
TUUgdHlwZS4KLSAgICAgICAgLy8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBj
bGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29u
dHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBv
ZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgotICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9y
LCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSwgIicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNj
cmlwdE1JTUVUeXBlKGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCkpKSB7CisgICAg
ICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBh
cGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhl
IHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIg
bGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUu
CisgICAgICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNz
aWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFz
dCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEg
Y29ycmVjdCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9y
LCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSwgIicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIu
cGFyYW1ldGVycygpKSB7CisgICAgICAgICAgICBpZiAoIW1hdGNoSW50ZWdyaXR5TWV0YWRhdGEo
Y2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpIHsKKyAgICAgICAgICAgICAg
ICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJDYW5ub3QgbG9hZCBzY3Jp
cHQgIiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNoZWRTY3JpcHQsIHBhcmFtZXRl
cnMtPmludGVncml0eSgpKSkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorCisgICAgICAgIFVSTCByZXNwb25zZVVSTCA9IGNhY2hlZFNjcmlwdC5y
ZXNwb25zZSgpLnVybCgpOworICAgICAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlv
biwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBo
ZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJz
dCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KKyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0
cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRpcmVjdGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAorICAgICAgICBpZiAoIWNh
Y2hlZFNjcmlwdC5oYXNSZWRpcmVjdGlvbnMoKSAmJiBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5z
b3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAg
ICAgICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAg
ICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFn
bWVudElkZW50aWZpZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBtX3JlcXVlc3RVUkxUb1Jl
c3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwp
KTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFs
T2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3Vy
Y2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6
OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3Vy
Y2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9Lmpz
U291cmNlQ29kZSgpIH0pOworICAgICAgICB9KTsKKyAgICB9IGVsc2UgeworICAgICAgICBhdXRv
JiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVT
Y3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiB3b3JrZXJTY3JpcHRMb2FkZXIgPSBsb2FkZXIu
c2NyaXB0TG9hZGVyKCk7CiAKLSAgICBpZiAoYXV0byogcGFyYW1ldGVycyA9IGxvYWRlci5wYXJh
bWV0ZXJzKCkpIHsKLSAgICAgICAgaWYgKCFtYXRjaEludGVncml0eU1ldGFkYXRhKGNhY2hlZFNj
cmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkpKSB7Ci0gICAgICAgICAgICBwcm9taXNlLT5y
ZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJDYW5ub3QgbG9hZCBzY3JpcHQgIiwgaW50ZWdy
aXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0
eSgpKSkpOworICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmZhaWxlZCgpKSB7CisgICAg
ICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkp
IHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoQWJvcnRFcnJvciwgIkNyb3NzLW9y
aWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcg
cG9saWN5LiJfcyk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVycm9yKCkuaXNDYW5jZWxsYXRpb24o
KSkgeworICAgICAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21p
c2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5n
IGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3MpOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3Jr
RXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwg
IkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KLSAgICB9CiAKLSAgICBVUkwgcmVzcG9uc2VVUkwgPSBjYWNoZWRTY3Jp
cHQucmVzcG9uc2UoKS51cmwoKTsKLSAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlv
biwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBo
ZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJz
dCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNr
IGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAotICAgIGlmICghY2FjaGVkU2NyaXB0Lmhhc1Jl
ZGlyZWN0aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnNvdXJjZSgpICE9IFJlc291
cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgewotICAgICAgICBpZiAoc291cmNl
VVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQotICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0
RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7Ci0gICAg
fQorICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1J
TUVUeXBlKHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZU1JTUVUeXBlKCkpKSB7CisgICAgICAg
ICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlz
Lmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhlIHJl
c3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlz
dCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCisg
ICAgICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNzaWMg
c2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFzdCwg
bW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEgY29y
cmVjdCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBt
YWtlU3RyaW5nKCInIiwgd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlTUlNRVR5cGUoKSwgIicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CiAKLSAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChz
b3VyY2VVUkwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsKLSAgICBwcm9taXNlLT5y
ZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0
KSB7Ci0gICAgICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2Jq
ZWN0LnZtKCksCi0gICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2Rl
IHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwg
bG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOwotICAgIH0pOworICAg
ICAgICBVUkwgcmVzcG9uc2VVUkwgPSB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VVUkwoKTsK
KworICAgICAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNl
cnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291
cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBN
ZW1vcnlDYWNoZS4KKyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVudHMg
dGhyb3VnaCByZWRpcmVjdGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAorICAgICAgICBpZiAoIXdvcmtlclNjcmlwdExvYWRl
ci5pc1JlZGlyZWN0ZWQoKSAmJiB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VTb3VyY2UoKSAh
PSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAgICAgICAgICAg
IGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAgICAgICAgICAg
cmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50
aWZpZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJM
TWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIHJlc3BvbnNlVVJMKTsKKyAgICAgICAgcHJvbWlz
ZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9i
amVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNH
bG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3Jp
cHRTb3VyY2VDb2RlIHsgd29ya2VyU2NyaXB0TG9hZGVyLnNjcmlwdCgpLCBXVEZNb3ZlKHJlc3Bv
bnNlVVJMKSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2Fk
ZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7CisgICAgICAgIH0pOworICAg
IH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
TW9kdWxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVM
b2FkZXIuaAppbmRleCBkZTI5ZDJmNGJmMDk2YjYwYzM2OTk4MDMxNmMxNDg2YjI4MmFiZjA5Li5k
ZjM0ZDU1MWExMWNkOThmNGUyMzZhMmFhMWY0ODI3OWQ5NjRjNjg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaApAQCAtMjUsOCArMjUsOCBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5o
IgotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUg
Ik1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDUsMTYgKzQ1
LDE3IEBAIGNsYXNzIFNvdXJjZU9yaWdpbjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIAotY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVy
IGZpbmFsIDogcHJpdmF0ZSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNjcmlwdE1vZHVsZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgotICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRlcihEb2N1bWVudCYpOwor
ICAgIGVudW0gY2xhc3MgT3duZXJUeXBlIDogdWludDhfdCB7IERvY3VtZW50LCBXb3JrZXJPcldv
cmtsZXQgfTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIE93bmVyVHlwZSk7CiAgICAgflNjcmlwdE1vZHVsZUxvYWRlcigpOwogCi0gICAg
RG9jdW1lbnQmIGRvY3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudDsgfQorICAgIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQ7IH0KIAogICAgIEpT
Qzo6SWRlbnRpZmllciByZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxl
TG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1v
ZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwogICAgIEpTQzo6SlNJbnRlcm5h
bFByb21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVy
KiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6
SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKQEAgLTYzLDEzICs2NCwxNSBAQCBjbGFzcyBTY3JpcHRN
b2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dCB7CiAgICAgSlNDOjpKU09iamVjdCogY3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwogCiBwcml2YXRlOgotICAgIHZvaWQgbm90
aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVkUHJv
bWlzZT4pIGZpbmFsOworICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVy
JiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSBmaW5hbDsKKwogICAgIFVSTCBtb2R1bGVV
UkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAgICAgVVJMIHJlc3BvbnNl
VVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAK
LSAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBt
X2NvbnRleHQ7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFVSTD4gbV9yZXF1ZXN0VVJMVG9SZXNwb25z
ZVVSTE1hcDsKLSAgICBIYXNoU2V0PFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+PiBtX2xv
YWRlcnM7CisgICAgSGFzaFNldDxSZWY8TW9kdWxlU2NyaXB0TG9hZGVyPj4gbV9sb2FkZXJzOwor
ICAgIE93bmVyVHlwZSBtX293bmVyVHlwZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaAppbmRleCBj
NzA0NjI2ZmI3MzNkYjQ3MmJkYTUwMjM2MjQxYTZlNzQwZTI3ODJiLi4xMGZhN2U4YjQ0OWM4Yjg0
OWViMzdjYzFmMmM4NjZmYTg5M2FhZDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0U291cmNlQ29kZS5oCkBAIC01Nyw3ICs1Nyw3IEBAIGNsYXNzIFNjcmlwdFNvdXJj
ZUNvZGUgewogICAgIHsKICAgICB9CiAKLSAgICBTY3JpcHRTb3VyY2VDb2RlKGNvbnN0IFN0cmlu
ZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwg
SlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlwZSwgUmVmPENhY2hlZFNjcmlw
dEZldGNoZXI+JiYgc2NyaXB0RmV0Y2hlcikKKyAgICBTY3JpcHRTb3VyY2VDb2RlKGNvbnN0IFN0
cmluZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlv
biwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlwZSwgUmVmPEpTQzo6U2Ny
aXB0RmV0Y2hlcj4mJiBzY3JpcHRGZXRjaGVyKQogICAgICAgICA6IG1fcHJvdmlkZXIoSlNDOjpT
dHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgSlNDOjpTb3VyY2VPcmlnaW4geyB1
cmwsIFdURk1vdmUoc2NyaXB0RmV0Y2hlcikgfSwgdXJsLnN0cmluZygpLCBzdGFydFBvc2l0aW9u
LCBzb3VyY2VUeXBlKSkKICAgICAgICAgLCBtX2NvZGUobV9wcm92aWRlci5jb3B5UmVmKCksIHN0
YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4u
b25lQmFzZWRJbnQoKSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDI3NDkzYTYw
MTdmODA3ZDAwMWRmZjgzNmY0ZjI1MTc4YTE2ZTI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApAQCAtMCww
ICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorCisjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0RmV0Y2hl
ci5oIgorI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisj
aW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRlck9wdGlvbnMuaCIKKyNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCisjaW5jbHVk
ZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgor
I2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRM
b2FkZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyPiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBXb3JrZXJTY3JpcHRG
ZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBh
cmFtZXRlcnMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJz
KSkpOworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Oldvcmtlck1vZHVsZVNjcmlwdExv
YWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBw
cm9taXNlLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1bGVTY3JpcHRMb2FkZXIo
Y2xpZW50LCBwcm9taXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKQorICAg
ICwgbV9zY3JpcHRMb2FkZXIoV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKSkKK3sKK30KKwor
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjp+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKCkKK3sK
KyAgICBtX3NjcmlwdExvYWRlci0+Y2FuY2VsKCk7Cit9CisKK2Jvb2wgV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyOjpsb2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFVSTCYmIHNv
dXJjZVVSTCkKK3sKKyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291cmNlVVJMKTsKKworICAg
IFJlc291cmNlUmVxdWVzdCByZXF1ZXN0IHsgbV9zb3VyY2VVUkwgfTsKKworICAgIEZldGNoT3B0
aW9ucyBmZXRjaE9wdGlvbnM7CisgICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6
Ok1vZGU6OkNvcnM7CisgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNo
ZTo6RGVmYXVsdDsKKyAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJl
ZGlyZWN0OjpGb2xsb3c7CisgICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gc3RhdGljX2Nh
c3Q8V29ya2VyU2NyaXB0RmV0Y2hlciY+KHNjcmlwdEZldGNoZXIoKSkuY3JlZGVudGlhbHMoKTsK
KyAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gY29udGV4dC5zaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSA/IENvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UgOiBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudDo6RW5mb3JjZUNoaWxkU3JjRGlyZWN0aXZlOworCisgICAgU3RyaW5nIHRhc2tN
b2RlID0gImxvYWRNb2R1bGVzSW5Xb3JrZXJPcldvcmtsZXRNb2RlIl9zOworICAgIG1fc2NyaXB0
TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RG
TW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2Vy
dmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXVEZNb3ZlKHRhc2tNb2RlKSk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKK3ZvaWQgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5p
c2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisKKyAgICBhdXRvIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKTsKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50
LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJjZVVSTCksIG1fcHJvbWlzZS5y
ZWxlYXNlTm9uTnVsbCgpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTAwODBlZTkz
MWJmYjBiMzNhOWY1NDczYjI5N2NhMmRjMmU0NzU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgKQEAgLTAsMCAr
MSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTW9kdWxlU2Ny
aXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5j
bHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2Ns
YXNzIE1vZHVsZUZldGNoUGFyYW1ldGVyczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBXb3JrZXJTY3JpcHRMb2Fk
ZXI7CisKK2NsYXNzIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBNb2R1
bGVTY3JpcHRMb2FkZXIsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIFdvcmtlclNjcmlwdEZldGNo
ZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKworICAgIHZpcnR1YWwgfldv
cmtlck1vZHVsZVNjcmlwdExvYWRlcigpOworCisgICAgYm9vbCBsb2FkKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBVUkwmJiBzb3VyY2VVUkwpOworCisgICAgV29ya2VyU2NyaXB0TG9hZGVyJiBz
Y3JpcHRMb2FkZXIoKSB7IHJldHVybiBtX3NjcmlwdExvYWRlci5nZXQoKTsgfQorCitwcml2YXRl
OgorICAgIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQm
LCBEZWZlcnJlZFByb21pc2UmLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZl
dGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25l
ZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWwgeyB9CisgICAgdm9pZCBub3Rp
ZnlGaW5pc2hlZCgpIGZpbmFsOworCisgICAgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gbV9zY3Jp
cHRMb2FkZXI7CisgICAgVVJMIG1fc291cmNlVVJMOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0
RmV0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RmV0Y2hl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY2YjU0ZWY4OTRiNTMzZWFmY2ViYzFhMTRiZjI3NmEwM2VjYmExMGIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3Jp
cHRGZXRjaGVyLmgKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiTG9hZGFibGVTY3JpcHQuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9T
Y3JpcHRGZXRjaGVyLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVk
U2NyaXB0OworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIFdvcmtlclNjcmlwdEZldGNoZXIgZmlu
YWwgOiBwdWJsaWMgSlNDOjpTY3JpcHRGZXRjaGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PFdvcmtlclNjcmlwdEZldGNoZXI+IGNyZWF0ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIGNy
ZWRlbnRpYWxzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyU2Ny
aXB0RmV0Y2hlcihjcmVkZW50aWFscykpOworICAgIH0KKworICAgIEZldGNoT3B0aW9uczo6Q3Jl
ZGVudGlhbHMgY3JlZGVudGlhbHMoKSBjb25zdCB7IHJldHVybiBtX2NyZWRlbnRpYWxzOyB9CisK
KyAgICB2b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmluZ0ltcGwmIG1vZHVsZUtl
eSkKKyAgICB7CisgICAgICAgIG1fbW9kdWxlS2V5ID0gJm1vZHVsZUtleTsKKyAgICAgICAgbV9p
c0xvYWRlZCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBub3RpZnlMb2FkRmFpbGVkKExvYWRh
YmxlU2NyaXB0OjpFcnJvciYmIGVycm9yKQorICAgIHsKKyAgICAgICAgbV9lcnJvciA9IFdURk1v
dmUoZXJyb3IpOworICAgICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lk
IG5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpCisgICAgeworICAgICAgICBtX3dhc0NhbmNlbGVkID0g
dHJ1ZTsKKyAgICAgICAgbV9pc0xvYWRlZCA9IHRydWU7CisgICAgfQorCisgICAgYm9vbCBpc0xv
YWRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMb2FkZWQ7IH0KKyAgICBPcHRpb25hbDxMb2FkYWJs
ZVNjcmlwdDo6RXJyb3I+IGVycm9yKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvcjsgfQorICAgIGJv
b2wgd2FzQ2FuY2VsZWQoKSBjb25zdCB7IHJldHVybiBtX3dhc0NhbmNlbGVkOyB9CisgICAgVW5p
cXVlZFN0cmluZ0ltcGwqIG1vZHVsZUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxlS2V5Lmdl
dCgpOyB9CisKK3Byb3RlY3RlZDoKKyAgICBXb3JrZXJTY3JpcHRGZXRjaGVyKEZldGNoT3B0aW9u
czo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMpCisgICAgICAgIDogbV9jcmVkZW50aWFscyhjcmVk
ZW50aWFscykKKyAgICB7CisgICAgfQorCitwcml2YXRlOgorICAgIEZldGNoT3B0aW9uczo6Q3Jl
ZGVudGlhbHMgbV9jcmVkZW50aWFsczsKKyAgICBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+IG1f
bW9kdWxlS2V5OworICAgIE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpFcnJvcj4gbV9lcnJvcjsK
KyAgICBib29sIG1fd2FzQ2FuY2VsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0xvYWRlZCB7
IGZhbHNlIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCA0NGY5ZDBlYTUwNTJjMDE5ZTc4YmFlYmU4MDhiOGYyYzc1ZDMxOTk1Li4zYjQy
NTM4NDgwMDJhNTFkMjkwOTJjNTFhMGRhNTg3OWQ1NDIxOGFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTYxNSw3ICs2MTUsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1l
LCBjb25zdCBTZXR0aW5ncyYgc2V0dGluZ3MsIGNvbnN0IFVSTCYgdXJsLCBEb2N1bQogICAgICwg
bV9kb2N1bWVudENyZWF0aW9uVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKICNlbmRpZgogICAg
ICwgbV9zY3JpcHRSdW5uZXIobWFrZVVuaXF1ZTxTY3JpcHRSdW5uZXI+KCp0aGlzKSkKLSAgICAs
IG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhpcykpCisg
ICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMs
IFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpEb2N1bWVudCkpCiAjaWYgRU5BQkxFKFhT
TFQpCiAgICAgLCBtX2FwcGx5UGVuZGluZ1hTTFRyYW5zZm9ybXNUaW1lcigqdGhpcywgJkRvY3Vt
ZW50OjphcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zVGltZXJGaXJlZCkKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FeGNlcHRpb25Db2RlLmgKaW5kZXggZjZiNTU4ZWE4MmQ3OTM2OGU2MWFkYjA2MGNmMGI0
ZWExZGJlYTIwYy4uMTdkZTc0MzQ3MmY3NzMxYjAzYzk4ZmVjZTdiMWViMWI5NjAxZTc3YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oCkBAIC02MSw2ICs2MSw3IEBAIGVudW0gRXhjZXB0
aW9uQ29kZSB7CiAgICAgLy8gU2ltcGxlIGV4Y2VwdGlvbnMgKGh0dHBzOi8vaGV5Y2FtLmdpdGh1
Yi5pby93ZWJpZGwvI2lkbC1leGNlcHRpb25zKS4KICAgICBSYW5nZUVycm9yLAogICAgIFR5cGVF
cnJvciwKKyAgICBKU1N5bnRheEVycm9yLCAvLyBEaWZmZXJlbnQgZnJvbSBET00gU1lOVEFYX0VS
Ui4KIAogICAgIC8vIE5vbi1zdGFuZGFyZCBlcnJvci4KICAgICBTdGFja092ZXJmbG93RXJyb3Is
CkBAIC0xMTEsNiArMTEyLDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3Jl
OjpFeGNlcHRpb25Db2RlPiB7CiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6Tm90QWxsb3dl
ZEVycm9yLAogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OlJhbmdlRXJyb3IsCiAgICAgV2Vi
Q29yZTo6RXhjZXB0aW9uQ29kZTo6VHlwZUVycm9yLAorICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNv
ZGU6OkpTU3ludGF4RXJyb3IsCiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6U3RhY2tPdmVy
Zmxvd0Vycm9yLAogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OkV4aXN0aW5nRXhjZXB0aW9u
RXJyb3IKICAgICA+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9k
dWxlU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5j
cHAKaW5kZXggOWEyNWMxNjU4OGVlY2FkNjc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uNDhlYzA4
NTFhNDU3ZDliYTQ3NDczZmVjMjhkN2I0OTMxMmI3ODhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCkBAIC04OCwxNiArODgsNCBAQCB2b2lkIExvYWRh
YmxlTW9kdWxlU2NyaXB0OjpleGVjdXRlKFNjcmlwdEVsZW1lbnQmIHNjcmlwdEVsZW1lbnQpCiAg
ICAgc2NyaXB0RWxlbWVudC5leGVjdXRlTW9kdWxlU2NyaXB0KCp0aGlzKTsKIH0KIAotdm9pZCBM
b2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYg
cm9vdFVSTCkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAg
ICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgcm9vdFVSTC5zdHJp
bmcoKSwgbV9wYXJhbWV0ZXJzLmNvcHlSZWYoKSk7Ci19Ci0KLXZvaWQgTG9hZGFibGVNb2R1bGVT
Y3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBz
b3VyY2VDb2RlKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0g
ICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0aGlzLCBzb3VyY2VDb2Rl
KTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAppbmRl
eCBiYjc5OTU0ZDdiOTliMGVkMDZiZmU1NWVmODU0ZWNjZTIxZjM1ODc3Li5kMjUzNTk2M2Y2NDhi
MDJhOGEwMWZkNjNiYjFlMzgxMzg2Y2VlNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFi
bGVNb2R1bGVTY3JpcHQuaApAQCAtNTAsMTUgKzUwLDE0IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxl
U2NyaXB0IGZpbmFsIDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsKIAogICAgIHZvaWQgc2V0RXJy
b3IoRXJyb3ImJik7CiAKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHJvb3RV
UkwpOwotICAgIHZvaWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsK
LQogICAgIHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYpOwogICAg
IHZvaWQgbm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3ImJik7CiAgICAgdm9p
ZCBub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKIAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtb2R1
bGVLZXkoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQoKTsgfQogCisgICAgTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgp
OyB9CisKIHByaXZhdGU6CiAgICAgTG9hZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBu
b25jZSwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBTdHJp
bmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3Ry
aW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDA1NzU4YjYwMGM3NTIyYjQ3ZjM2NGJh
NmExOGQzNWYxNzMxMTA3ZjkuLjVlOTlmMGY1Nzc3YjNiMjE1OGRkMGZhNGJjMzgyNzc2Y2RiMzQ4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAK
ICNpbmNsdWRlICJMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJN
b2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5j
bHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHU2NyaXB0RWxl
bWVudC5oIgpAQCAtMzUxLDggKzM1MiwxMSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RN
b2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAg
ICAgICAgICAgc2NyaXB0Q2hhcnNldCgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmxvY2FsTmFt
ZSgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwot
ICAgICAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIG1vZHVsZVNjcmlwdFJv
b3RVUkwpOwogICAgICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAg
ICAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7Cisg
ICAgICAgICAgICBhdXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4o
Km1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpOworICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxv
YWRNb2R1bGVTY3JpcHQoc2NyaXB0LCBtb2R1bGVTY3JpcHRSb290VVJMLnN0cmluZygpLCBtYWtl
UmVmKHNjcmlwdC5wYXJhbWV0ZXJzKCkpKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKQEAgLTM2Nyw4ICszNzEsOSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVl
c3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQog
ICAgIGlmICghY29udGVudFNlY3VyaXR5UG9saWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVu
dC5kb2N1bWVudCgpLnVybCgpLnN0cmluZygpLCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29k
ZS5zb3VyY2UoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIGhhc0tub3duTm9uY2UpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50
KCksIHNvdXJjZUNvZGUpOwogICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7
CisgICAgaWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAg
ICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoZG93bmNhc3Q8TG9hZGFibGVN
b2R1bGVTY3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKSwgc291cmNlQ29kZSk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJl
YWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmNwcAppbmRleCAyNzE3Yzg2MWM3NGIwZjJhZWJjZGU0MDg3MDBlMmE5YTAzNzM3NTk1Li4xYjY1
MzJjM2IwZWFhODBkOWJkNDZjNmQ0MzIxMzY5NjIxYzAxOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0xMDEsMTAgKzEwMSwxMCBAQCBUaHJlYWRh
YmxlTG9hZGVyT3B0aW9ucyBUaHJlYWRhYmxlTG9hZGVyT3B0aW9uczo6aXNvbGF0ZWRDb3B5KCkg
Y29uc3QKIH0KIAogCi1SZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQmIGNsaWVudCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIFN0cmluZyYmIHJlZmVycmVyKQorUmVmUHRyPFRocmVh
ZGFibGVMb2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBjbGllbnQsIFJlc291cmNlUmVx
dWVzdCYmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBT
dHJpbmcmJiByZWZlcnJlciwgU3RyaW5nJiYgdGFza01vZGUpCiB7CiAgICAgaWYgKGlzPFdvcmtl
ckdsb2JhbFNjb3BlPihjb250ZXh0KSB8fCAoaXM8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0
KSAmJiBkb3duY2FzdDxXb3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpLndvcmtlck9yV29ya2xl
dFRocmVhZCgpKSkKLSAgICAgICAgcmV0dXJuIFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmNyZWF0
ZShzdGF0aWNfY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSY+KGNvbnRleHQpLCBjbGll
bnQsIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCksIFdURk1vdmUocmVxdWVzdCksIG9wdGlv
bnMsIFdURk1vdmUocmVmZXJyZXIpKTsKKyAgICAgICAgcmV0dXJuIFdvcmtlclRocmVhZGFibGVM
b2FkZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSY+KGNv
bnRleHQpLCBjbGllbnQsIFdURk1vdmUodGFza01vZGUpLCBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRp
b25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBudWxs
cHRyOwogICAgIGlmIChpczxXb3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggYzJiMjQ1YzNlYmI4YmM5MzBlZjRk
MTcyYmExNTA5YTE3OWYxZDdhNi4uMWFjNzA0YjRjM2I1MGIwZmZkYTAzNDI4YzNjZTdkYTE0OTg4
MjYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC03NCw3
ICs3NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoVGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBs
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJj
ZVJlcXVlc3QmJiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zJik7Ci0gICAgICAgIHN0YXRpYyBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgUmVz
b3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgU3RyaW5nJiYg
cmVmZXJyZXIgPSBTdHJpbmcoKSk7CisgICAgICAgIHN0YXRpYyBSZWZQdHI8VGhyZWFkYWJsZUxv
YWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwg
U3RyaW5nJiYgcmVmZXJyZXIgPSBTdHJpbmcoKSwgU3RyaW5nJiYgdGFza01vZGUgPSB7IH0pOwog
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSXNEb25lKCkgPSAwOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgY2FuY2VsKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IGJm
NmUyNzZhMzljMjMxNWY4ODkwYzYzMzAzMjlkNjQ0ZGZjYWVhYTUuLjA0ZmRmNTgyNzQzZWI5NzNi
NTI1ZDU0YzhhOGQ4ZjM3ZDgyNTIwZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAg
LTc0LDYgKzc0LDggQEAgaW5saW5lIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWUKICAgICAsIG1faWRlbnRpZmll
cigid29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRp
ZmllcigpKQogICAgICwgbV9jb250ZXh0UHJveHkoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6Y3Jl
YXRlKCp0aGlzKSkKICAgICAsIG1fcnVudGltZUZsYWdzKHJ1bnRpbWVGbGFncykKKyAgICAsIG1f
dHlwZShvcHRpb25zLnR5cGUpCisgICAgLCBtX2NyZWRlbnRpYWxzKG9wdGlvbnMuY3JlZGVudGlh
bHMpCiB7CiAgICAgc3RhdGljIGJvb2wgYWRkZWRMaXN0ZW5lcjsKICAgICBpZiAoIWFkZGVkTGlz
dGVuZXIpIHsKQEAgLTExNywxMCArMTE5LDE1IEBAIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBX
b3JrZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1CiAK
ICAgICBGZXRjaE9wdGlvbnMgZmV0Y2hPcHRpb25zOwogICAgIGZldGNoT3B0aW9ucy5tb2RlID0g
RmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luOworICAgIGlmICh3b3JrZXItPm1fdHlwZSA9
PSBXb3JrZXJUeXBlOjpNb2R1bGUpCisgICAgICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9
IHdvcmtlci0+bV9jcmVkZW50aWFsczsKKyAgICBlbHNlCisgICAgICAgIGZldGNoT3B0aW9ucy5j
cmVkZW50aWFscyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW47CiAgICAg
ZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKICAgICBm
ZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAg
ICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6
V29ya2VyOwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShj
b250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRT
ZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgd29ya2Vy
KTsKKyAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4
dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5nZXQo
KSwgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CisKICAgICByZXR1cm4gd29ya2VyOwog
fQogCkBAIC0yMTksNyArMjI2LDEzIEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAg
ICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlT
dHJpbmc7CiAgICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3Njcmlw
dExvYWRlci0+cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFk
ZXIpKQogICAgICAgICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7Ci0gICAgbV9jb250ZXh0UHJv
eHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwg
Y29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3Nj
cmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2Vy
Q3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9ydW50aW1lRmxhZ3MpOworCisgICAgVVJM
IHJlc3BvbnNlVVJMID0gbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlVVJMKCk7CisgICAgaWYgKCFt
X3NjcmlwdExvYWRlci0+aXNSZWRpcmVjdGVkKCkgJiYgbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNl
U291cmNlKCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7Cisg
ICAgICAgIGlmIChtX3NjcmlwdExvYWRlci0+dXJsKCkuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkp
CisgICAgICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIobV9zY3JpcHRM
b2FkZXItPnVybCgpLmZyYWdtZW50SWRlbnRpZmllcigpKTsKKyAgICB9CisgICAgbV9jb250ZXh0
UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShyZXNwb25zZVVSTCwgbV9uYW1lLCBjb250ZXh0
LT51c2VyQWdlbnQocmVzcG9uc2VVUkwpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlw
dCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVm
ZXJyZXJQb2xpY3ksIG1fdHlwZSwgbV9jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2Ny
aXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5oCmluZGV4IDUzZjVlNmZmZjI3YzlmYTNlNWMwZTAxZjBmNmM0
MmM2Y2I2ZjlkMGUuLjM4YTYyM2E5OGRiYTM1ZmY4MDEzY2Q2ZmM4Yzg1YzgxMDIwNTAyMTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaApAQCAtMjksOSArMjksMTEgQEAKICNpbmNsdWRlICJBY3Rp
dmVET01PYmplY3QuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIkZldGNoUmVxdWVz
dENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJQb3N0
TWVzc2FnZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIK
KyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGlt
ZUZsYWdzLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KQEAgLTU1LDYgKzU3LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGlj
IEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdvcmtlcik7CiBwdWJsaWM6CiAgICAgc3RydWN0IE9w
dGlvbnMgeworICAgICAgICBXb3JrZXJUeXBlIHR5cGU7CisgICAgICAgIEZldGNoUmVxdWVzdENy
ZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwogICAgICAgICBTdHJpbmcgbmFtZTsKICAgICB9OwogICAg
IHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IE9wdGlv
bnMmKTsKQEAgLTc5LDYgKzgzLDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3Ry
YWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAgICB2b2lk
IHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmKT4mJik7CiAjZW5kaWYKIAorICAgIFdvcmtlclR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdvcmtlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IE9wdGlvbnMmKTsKIApA
QCAtMTEyLDYgKzExOCw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdv
cmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBXb3JrCiAjaWYgRU5BQkxFKFdF
Ql9SVEMpCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fdHJhbnNmb3JtZXJzOwogI2VuZGlmCisgICAg
V29ya2VyVHlwZSBtX3R5cGUgeyBXb3JrZXJUeXBlOjpDbGFzc2ljIH07CisgICAgRmV0Y2hSZXF1
ZXN0Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFscyB7IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpT
YW1lT3JpZ2luIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlci5pZGwKaW5kZXggNDVkNmEwODY3ODU0ZWU0MDRkZTdlN2QwMTI0OGNlYmY0NGRjYTdl
ZC4uNzAyMTc5NmRmNTA0YWRmOGU2Yjk1ODlhY2U5ZjE0NDgyMWYyOTVmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmlkbApAQCAtMzgsNiArMzgsOCBAQAogfTsKIAogZGljdGlvbmFyeSBXb3Jr
ZXJPcHRpb25zIHsKKyAgICBXb3JrZXJUeXBlIHR5cGUgPSAiY2xhc3NpYyI7CisgICAgRmV0Y2hS
ZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMgPSAic2FtZS1vcmlnaW4iOyAvLyBjcmVkZW50
aWFscyBpcyBvbmx5IHVzZWQgaWYgdHlwZSBpcyAibW9kdWxlIgogICAgIERPTVN0cmluZyBuYW1l
ID0gIiI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCmluZGV4IGRiYWIzNDhlODBjOWRlNTBiZDIxNTc3N2ExNGEzOWEwZjcwZTQ5YzcuLmNjZGU5
MDljN2NiNTJlOTc3NzRjNWI4MTU4MjNlYmNiYmIwNzBmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC03NCw2ICs3NCw4IEBAIFdvcmtlckds
b2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIGNvbnN0
IFdvcmtlclBhcmFtZXRlCiAgICAgLCBtX3BlcmZvcm1hbmNlKFBlcmZvcm1hbmNlOjpjcmVhdGUo
dGhpcywgcGFyYW1zLnRpbWVPcmlnaW4pKQogICAgICwgbV9yZWZlcnJlclBvbGljeShwYXJhbXMu
cmVmZXJyZXJQb2xpY3kpCiAgICAgLCBtX3NldHRpbmdzVmFsdWVzKHBhcmFtcy5zZXR0aW5nc1Zh
bHVlcykKKyAgICAsIG1fd29ya2VyVHlwZShwYXJhbXMud29ya2VyVHlwZSkKKyAgICAsIG1fY3Jl
ZGVudGlhbHMocGFyYW1zLmNyZWRlbnRpYWxzKQogewogI2lmICFFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKICAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvblByb3h5KTsKQEAgLTI3NCw2ICsyNzYs
MTEgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNjcmlwdHMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMpCiB7CiAgICAgQVNTRVJUKGNvbnRlbnRTZWN1cml0
eVBvbGljeSgpKTsKIAorICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlw
YWdlL3dvcmtlcnMuaHRtbCNpbXBvcnRpbmctc2NyaXB0cy1hbmQtbGlicmFyaWVzCisgICAgLy8g
MS4gSWYgd29ya2VyIGdsb2JhbCBzY29wZSdzIHR5cGUgaXMgIm1vZHVsZSIsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgICBpZiAobV93b3JrZXJUeXBlID09IFdvcmtlclR5cGU6Ok1v
ZHVsZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgImltcG9ydFNjcmlw
dHMgY2Fubm90IGJlIHVzZWQgaWYgd29lcmtlciB0eXBlIGlzIFwibW9kdWxlXCIiX3MgfTsKKwog
ICAgIFZlY3RvcjxVUkw+IGNvbXBsZXRlZFVSTHM7CiAgICAgY29tcGxldGVkVVJMcy5yZXNlcnZl
SW5pdGlhbENhcGFjaXR5KHVybHMuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIGVudHJ5IDogdXJs
cykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDQ2
ZDQ5ZDk0YzUyMzhlNDY4OGQzOTVkODdjMjA2M2ViNTcyMGQxYmYuLjc0Nzk1ZjVjMGY5YTJhMzVk
MDA5MzAxMmFkMThmNTdlMzE3ZjgyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmgKQEAgLTEyMyw2ICsxMjMsOCBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29w
ZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNl
NgogCiAgICAgY29uc3QgU2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3NldHRpbmdzVmFsdWVzOyB9CiAKKyAgICBGZXRjaE9wdGlvbnM6OkNy
ZWRlbnRpYWxzIGNyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1cm4gbV9jcmVkZW50aWFsczsgfQor
CiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyR2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSwgY29u
c3QgV29ya2VyUGFyYW1ldGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgV29ya2VyVGhyZWFk
JiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0
aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwogCkBAIC0xNjMsOCArMTY1LDYgQEAgY2xhc3Mg
V29ya2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2Nv
cGU+LCBwdWJsaWMgQmFzZTYKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJMb2NhdGlvbj4gbV9s
b2NhdGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJOYXZpZ2F0b3I+IG1fbmF2aWdhdG9y
OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+
IG1fc2NyaXB0OwotCiAgICAgYm9vbCBtX2lzT25saW5lOwogICAgIGJvb2wgbV9zaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAKQEAgLTE4Nyw2ICsxODcsOCBAQCBj
bGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9i
YWxTY29wZT4sIHB1YmxpYyBCYXNlNgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDU1NWYWx1ZVBvb2w+
IG1fY3NzVmFsdWVQb29sOwogICAgIFJlZmVycmVyUG9saWN5IG1fcmVmZXJyZXJQb2xpY3k7CiAg
ICAgU2V0dGluZ3M6OlZhbHVlcyBtX3NldHRpbmdzVmFsdWVzOworICAgIFdvcmtlclR5cGUgbV93
b3JrZXJUeXBlOworICAgIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFsczsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNDAwMDNjM2UwMTA5OTk2MGY2NDc4NjFl
NzAxNjg3ZDBlMzcxZDcyZC4uZWQ2NzNhYzhmN2MwZWU1NGMwNjBlY2I1OTIxNjM5MGVkNzBmZTJj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50
aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRl
V29ya2VyR2xvYmFsU2NvcGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9X
b3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCAxOWQ0YmU2NDk5MmYzMGQzY2NlNzY1NDdh
M2QyMjE4YTk4Yzg0MmMzLi43ODgzNTg3YTdhZjYyMDllM2VjYzhlN2I0MWJhZDQ3YWRmNjIyNDBl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNw
cApAQCAtNzMsNyArNzMsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2lu
Z1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7
CiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVy
cmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1l
c3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJM
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBi
b29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3Rvbmlj
VGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgV29ya2VyVHlw
ZSB3b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpS
dW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8g
YmUgcmV2aXNpdGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBB
U1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNj
cmlwdFVSTCwgY29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9
IGRvY3VtZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFt
cyA9IHsgc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGRvY3Vt
ZW50LnNldHRpbmdzVmFsdWVzKCkgfTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsg
c2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUs
IGNyZWRlbnRpYWxzLCBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpIH07CiAgICAgYXV0byB0aHJl
YWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUsICp0
aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHByb3h5
LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0
ZWQodGhyZWFkLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaAppbmRleCBjNWI1NzViOWU2MTViM2YzZjU5NmJmYzNkZjY4M2M4NzdjYzYyYmFi
Li5kOWU4MWUxNTdhMGY0ODUyZTQ5YjU5ZDI1NjZhOGE4MGY1ZjgxOGFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01MCw3ICs1MCw3IEBA
IGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5IGZpbmFsIDogcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPFdvcmtlck1lc3NhZ2luZ1ByCiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9u
cyBvZiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5j
dGlvbnMgaW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2Vy
R2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAg
ICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUs
IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAg
dm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1l
c3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFs
OwogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggMjM4NGE1YThj
N2QyYTMwMmVlZTVjYjQwNWUxMDVlMDI1Yzk4NDNjYy4uZjRmNGIyNzQ2NmY5YTMwYjI4YjhiMjFm
NmYyYmVmOGJkZTkzODUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogCisj
aW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyRXZlbnRMb29w
LmgiCiAjaW5jbHVkZSAiV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCIKQEAgLTM5LDYgKzQwLDcgQEAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKTsKIAogV29y
a2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtl
clRocmVhZFR5cGUgdHlwZSwgUmVmPEpTQzo6Vk0+JiYgdm0sIFdvcmtlck9yV29ya2xldFRocmVh
ZCogdGhyZWFkKQogICAgIDogbV9zY3JpcHQobWFrZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyPih0eXBlLCBXVEZNb3ZlKHZtKSwgdGhpcykpCisgICAgLCBtX21vZHVsZUxv
YWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxv
YWRlcjo6T3duZXJUeXBlOjpXb3JrZXJPcldvcmtsZXQpKQogICAgICwgbV90aHJlYWQodGhyZWFk
KQogICAgICwgbV9pbnNwZWN0b3JDb250cm9sbGVyKG1ha2VVbmlxdWU8V29ya2VySW5zcGVjdG9y
Q29udHJvbGxlcj4oKnRoaXMpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IDZjMjQ0YTBjNDI3ZWUxYzhjNjVmZGNj
NzY1OTUyZjg3N2ZkOWIxNmIuLjU0NGYwNDdhZWMyNzgzMjc0NGQwYThhNzBhZjdlOTM5YzMzMDk5
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlLmgKQEAgLTMyLDYgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRXZlbnRMb29wVGFza0dyb3VwOworY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyOwogY2xhc3Mg
V29ya2VyRXZlbnRMb29wOwogY2xhc3MgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNz
IFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI7CkBAIC01NCw2ICs1NSw4IEBAIGNsYXNz
IFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsIHB1YmxpYyBSZWZDb3VuCiAKICAgICB1bnNpZ25lZCBsb25nIGNyZWF0ZVVuaXF1ZUlkZW50
aWZpZXIoKSB7IHJldHVybiBtX3VuaXF1ZUlkZW50aWZpZXIrKzsgfQogCisgICAgU2NyaXB0TW9k
dWxlTG9hZGVyJiBtb2R1bGVMb2FkZXIoKSB7IHJldHVybiAqbV9tb2R1bGVMb2FkZXI7IH0KKwog
ICAgIC8vIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCiAgICAgRXZlbnRMb29wVGFza0dyb3VwJiBl
dmVudExvb3AoKSBmaW5hbDsKICAgICBib29sIGlzQ29udGV4dFRocmVhZCgpIGNvbnN0IGZpbmFs
OwpAQCAtODgsNiArOTEsNyBAQCBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSA6IHB1
YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LCBwdWJsaWMgUmVmQ291bgogICAgIHZvaWQgZGVy
ZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQogCiAgICAgc3RkOjp1bmlxdWVfcHRy
PFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+IG1fc2NyaXB0OworICAgIHN0ZDo6dW5p
cXVlX3B0cjxTY3JpcHRNb2R1bGVMb2FkZXI+IG1fbW9kdWxlTG9hZGVyOwogICAgIFdvcmtlck9y
V29ya2xldFRocmVhZCogbV90aHJlYWQ7CiAgICAgUmVmUHRyPFdvcmtlckV2ZW50TG9vcD4gbV9l
dmVudExvb3A7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEV2ZW50TG9vcFRhc2tHcm91cD4gbV9kZWZh
dWx0VGFza0dyb3VwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggY2Q0ZWMyNDY4MjUyNWFhYmM2
NDJkODc3YTBkYTAxMWViZGUxMTQzMS4uOTFhOGE4Nzk0NTZlMDY3NjIyOWE4NzA4YTg3NTA5OTkz
YTJlMjQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zNSwxNSArMzUsMjMgQEAKICNpbmNs
dWRlICJKU0V4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUu
aCIKICNpbmNsdWRlICJKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIk1v
ZHVsZUZldGNoRmFpbHVyZUtpbmQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMu
aCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xp
ZW50RGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckNvbnNvbGVDbGllbnQuaCIKKyNpbmNsdWRlICJX
b3JrZXJTY3JpcHRGZXRjaGVyLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29tcGxldGlv
bi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0RlZmVycmVkV29ya1RpbWVyLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvRXhjZXB0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvRXhjZXB0aW9uSGVscGVycy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0dDQWN0aXZp
dHlDYWxsYmFjay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNl
Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNMb2NrLmg+CisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNNb2R1bGVSZWNvcmQuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU05h
dGl2ZVN0ZEZ1bmN0aW9uLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRj
aFBhcmFtZXRlcnMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1NjcmlwdEZldGNoZXIu
aD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmdJbmxpbmVzLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTIyOCw2ICsyMzYsMjQ1IEBAIHZvaWQgV29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29k
CiAgICAgfQogfQogCitzdGF0aWMgSWRlbnRpZmllciBqc1ZhbHVlVG9Nb2R1bGVLZXkoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgaWYg
KHZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVybiBJZGVudGlmaWVyOjpmcm9tVWlkKGpz
Q2FzdDxTeW1ib2wqPih2YWx1ZSktPnByaXZhdGVOYW1lKCkpOworICAgIEFTU0VSVCh2YWx1ZS5p
c1N0cmluZygpKTsKKyAgICByZXR1cm4gYXNTdHJpbmcodmFsdWUpLT50b0lkZW50aWZpZXIobGV4
aWNhbEdsb2JhbE9iamVjdCk7Cit9CisKK0pTQzo6SlNWYWx1ZSBXb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyOjpldmFsdWF0ZU1vZHVsZShKU0M6OkpTTW9kdWxlUmVjb3JkJiBtb2R1bGVS
ZWNvcmQpCit7CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVy
LmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOworICAgIEpTTG9ja0hvbGRl
ciBsb2NrIHsgdm0gfTsKKyAgICByZXR1cm4gbW9kdWxlUmVjb3JkLmV2YWx1YXRlKCZnbG9iYWxP
YmplY3QpOworfQorCitNZXNzYWdlUXVldWVXYWl0UmVzdWx0IFdvcmtlck9yV29ya2xldFNjcmlw
dENvbnRyb2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KFdvcmtlclNjcmlwdEZldGNoZXIm
IHNjcmlwdEZldGNoZXIsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCit7Cisg
ICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAgIHJldHVybiBNZXNzYWdlUXVl
dWVUZXJtaW5hdGVkOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBn
bG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisgICAg
YXV0byBwcm90ZWN0b3IgPSBtYWtlUmVmKHNjcmlwdEZldGNoZXIpOworICAgIHsKKyAgICAgICAg
YXV0byYgcHJvbWlzZSA9IEpTRXhlY1N0YXRlOjpsb2FkTW9kdWxlKGdsb2JhbE9iamVjdCwgc291
cmNlQ29kZS5qc1NvdXJjZUNvZGUoKSwgSlNDOjpKU1NjcmlwdEZldGNoZXI6OmNyZWF0ZSh2bSwg
eyAmc2NyaXB0RmV0Y2hlciB9KSk7CisKKyAgICAgICAgYXV0byYgZnVsZmlsbEhhbmRsZXIgPSAq
SlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBTdHJpbmco
KSwgW3Byb3RlY3Rvcl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBj
YWxsRnJhbWUpIC0+IEpTQzo6RW5jb2RlZEpTVmFsdWUgeworICAgICAgICAgICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9
OworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAg
ICAgICAgICAgSWRlbnRpZmllciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFs
T2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRD
b21wbGV0ZWQoKm1vZHVsZUtleS5pbXBsKCkpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVq
ZWN0SGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmpl
Y3QsIDEsIFN0cmluZygpLCBbcHJvdGVjdG9yXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2Jq
ZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAgICAg
ICAgICAgSlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKKyAgICAg
ICAgICAgIGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRv
KiBvYmplY3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAgICAgICAgICAgIGlm
IChKU1ZhbHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGlj
X2Nhc3Q8SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFp
bHVyZUtpbmRQcml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlz
IGhvc3QgcHJvcGFnYXRlZCBlcnJvciBpbiB0aGUgbW9kdWxlIGxvYWRlciBwaXBlbGluZS4KKyAg
ICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kPihmYWlsdXJlS2luZFZhbHVlLmFzSW50MzIoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAg
Y2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAgICAgICAgICAgICAg
ICAgICAgICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJv
ciB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlw
ZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdURjo6bnVsbG9w
dAorICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpX
YXNDYW5jZWxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3Rvci0+bm90aWZ5TG9h
ZFdhc0NhbmNlbGVkKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAg
ICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7Cisg
ICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAor
ICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZSB7CisgICAgICAg
ICAgICAgICAgICAgIE1lc3NhZ2VTb3VyY2U6OkpTLAorICAgICAgICAgICAgICAgICAgICBNZXNz
YWdlTGV2ZWw6OkVycm9yLAorICAgICAgICAgICAgICAgICAgICByZXRyaWV2ZUVycm9yTWVzc2Fn
ZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgc2NvcGUpLAorICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9i
YWxPYmplY3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRsZXIpOworICAgIH0KKyAgICBt
X2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOwor
CisgICAgLy8gRHJpdmUgUnVuTG9vcCB1bnRpbCB3ZSBnZXQgZWl0aGVyIG9mICJXb3JrZXIgaXMg
dGVybWluYXRlZCIsICJMb2FkaW5nIGlzIGRvbmUiLCBvciAiTG9hZGluZyBpcyBmYWlsZWQiLgor
ICAgIFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSBtX2dsb2JhbFNjb3BlLT53b3JrZXJPcldvcmts
ZXRUaHJlYWQoKS0+cnVuTG9vcCgpOworCisgICAgLy8gV2UgZG8gbm90IHdhbnQgdG8gcmVjZWl2
ZSBtZXNzYWdlcyB0aGF0IGFyZSBub3QgcmVsYXRlZCB0byBhc3luY2hyb25vdXMgcmVzb3VyY2Ug
bG9hZGluZy4KKyAgICAvLyBPdGhlcndpc2UsIGEgd29ya2VyIGRpc2NhcmRzIHNvbWUgbWVzc2Fn
ZXMgZnJvbSB0aGUgbWFpbiB0aHJlYWQgaGVyZSBpbiBhIHJhY3kgd2F5LgorICAgIC8vIEZvciBl
eGFtcGxlLCB0aGUgbWFpbiB0aHJlYWQgY2FuIHBvc3RNZXNzYWdlIGp1c3QgYWZ0ZXIgY3JlYXRp
bmcgYSBXb3JrZXIuIEluIHRoYXQgY2FzZSwgcG9zdE1lc3NhZ2UncworICAgIC8vIHRhc2sgaXMg
cXVldWVkIGluIFdvcmtlclJ1bkxvb3AgYmVmb3JlIHN0YXJ0IHJ1bm5pbmcgbW9kdWxlIHNjcmlw
dHMuIFRoaXMgdGFzayBzaG91bGQgbm90IGJlIGRpc2NhcmRlZAorICAgIC8vIGluIHRoZSBmb2xs
b3dpbmcgZHJpdmluZyBvZiB0aGUgUnVuTG9vcCB3aGljaCBtYWlubHkgYXR0ZW1wdCB0byBjb2xs
ZWN0IGluaXRpYWwgbG9hZCBvZiBtb2R1bGUgc2NyaXB0cy4KKyAgICBTdHJpbmcgdGFza01vZGUg
PSAibG9hZE1vZHVsZXNJbldvcmtlck9yV29ya2xldE1vZGUiX3M7CisgICAgTWVzc2FnZVF1ZXVl
V2FpdFJlc3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2ZWQ7CisgICAgd2hp
bGUgKCghcHJvdGVjdG9yLT5pc0xvYWRlZCgpICYmICFwcm90ZWN0b3ItPndhc0NhbmNlbGVkKCkp
ICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKSB7CisgICAgICAgIHJlc3VsdCA9
IHJ1bkxvb3AucnVuSW5Nb2RlKG1fZ2xvYmFsU2NvcGUsIHRhc2tNb2RlKTsKKyAgICAgICAgaWYg
KHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKQorICAgICAgICAgICAgbV9nbG9iYWxT
Y29wZS0+ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNrcG9pbnQoKTsKKyAgICB9CisK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVy
bmVkRXhjZXB0aW9uTWVzc2FnZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRv
JiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisg
ICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhjZXB0aW9uOworICAgIEpTRXhl
Y1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpm
cm9tVWlkKHZtLCBzY3JpcHRGZXRjaGVyLm1vZHVsZUtleSgpKSwganNVbmRlZmluZWQoKSwgcmV0
dXJuZWRFeGNlcHRpb24pOworICAgIGlmICgocmV0dXJuZWRFeGNlcHRpb24gJiYgaXNUZXJtaW5h
dGVkRXhlY3V0aW9uRXhjZXB0aW9uKHZtLCByZXR1cm5lZEV4Y2VwdGlvbikpIHx8IGlzVGVybWlu
YXRpbmdFeGVjdXRpb24oKSkgeworICAgICAgICBmb3JiaWRFeGVjdXRpb24oKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbikgeworICAgICAgICBp
ZiAobV9nbG9iYWxTY29wZS0+Y2FuSW5jbHVkZUVycm9yRGV0YWlscyhzb3VyY2VDb2RlLmNhY2hl
ZFNjcmlwdCgpLCBzb3VyY2VDb2RlLnVybCgpLnN0cmluZygpKSkgeworICAgICAgICAgICAgLy8g
RklYTUU6IEl0J3Mgbm90IGdyZWF0IHRoYXQgdGhpcyBjYW4gcnVuIGFyYml0cmFyeSBjb2RlIHRv
IHN0cmluZy1pZnkgdGhlIHZhbHVlIG9mIHRoZSBleGNlcHRpb24uCisgICAgICAgICAgICAvLyBE
byB3ZSBuZWVkIHRvIGRvIGFueXRoaW5nIHRvIGhhbmRsZSB0aGF0IHByb3Blcmx5LCBpZiBpdCwg
c2F5LCByYWlzZXMgYW5vdGhlciBleGNlcHRpb24/CisgICAgICAgICAgICBpZiAocmV0dXJuZWRF
eGNlcHRpb25NZXNzYWdlKQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3Nh
Z2UgPSByZXR1cm5lZEV4Y2VwdGlvbi0+dmFsdWUoKS50b1dURlN0cmluZygmZ2xvYmFsT2JqZWN0
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIE92ZXJ3cml0ZSB0aGUgZGV0YWls
ZWQgZXJyb3Igd2l0aCBhIGdlbmVyaWMgZXJyb3IuCisgICAgICAgICAgICBTdHJpbmcgZ2VuZXJp
Y0Vycm9yTWVzc2FnZSB7ICJTY3JpcHQgZXJyb3IuIl9zIH07CisgICAgICAgICAgICBpZiAocmV0
dXJuZWRFeGNlcHRpb25NZXNzYWdlKQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlv
bk1lc3NhZ2UgPSBnZW5lcmljRXJyb3JNZXNzYWdlOworICAgICAgICB9CisgICAgfQorfQorCit2
b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVs
ZShjb25zdCBVUkwmIG1vZHVsZVVSTCwgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50
aWFscywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxFeGNlcHRpb24+JiYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChpc0V4ZWN1dGlvbkZvcmJpZGRlbigpKSB7Cisg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKEV4Y2VwdGlvbiB7IE5vdEFsbG93ZWRFcnJvciB9KTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisg
ICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0g
fTsKKworICAgIGF1dG8gc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZldGNoZXI6OmNyZWF0
ZShjcmVkZW50aWFscyk7CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3Rh
dGU6OmxvYWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVVUkwuc3RyaW5nKCksIGpzVW5kZWZp
bmVkKCksIEpTQzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHsgc2NyaXB0RmV0Y2hlci5w
dHIoKSB9KSk7CisKKyAgICAgICAgYXV0byB0YXNrID0gY3JlYXRlU2hhcmVkVGFzazx2b2lkKE9w
dGlvbmFsPEV4Y2VwdGlvbj4mJik+KFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpXShPcHRpb25hbDxFeGNlcHRpb24+JiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsK
KyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZXhjZXB0aW9uKSk7CisgICAg
ICAgIH0pOworCisgICAgICAgIGF1dG8mIGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVu
Y3Rpb246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFt0YXNrLCBzY3Jp
cHRGZXRjaGVyXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxG
cmFtZSkgLT4gSlNDOjpFbmNvZGVkSlNWYWx1ZSB7CisgICAgICAgICAgICAvLyB0YXNrLT5ydW4o
V1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
KyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgICAgICAgICAgSWRlbnRpZmll
ciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUt
PmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsg
fSk7CisgICAgICAgICAgICBzY3JpcHRGZXRjaGVyLT5ub3RpZnlMb2FkQ29tcGxldGVkKCptb2R1
bGVLZXkuaW1wbCgpKTsKKworICAgICAgICAgICAgYXV0byogY29udGV4dCA9IGRvd25jYXN0PFdv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlPihqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgICAgICAgICAgaWYgKCFj
b250ZXh0IHx8ICFjb250ZXh0LT5zY3JpcHQoKSkgeworICAgICAgICAgICAgICAgIHRhc2stPnJ1
bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIE5ha2VkUHRyPEpT
Qzo6RXhjZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsKKyAgICAgICAgICAgIEpTRXhlY1N0YXRl
OjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoKmdsb2JhbE9iamVjdCwgbW9kdWxlS2V5LCBqc1VuZGVm
aW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgICAgICAgICBpZiAoKHJldHVybmVkRXhj
ZXB0aW9uICYmIGlzVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbih2bSwgcmV0dXJuZWRFeGNl
cHRpb24pKSB8fCBjb250ZXh0LT5zY3JpcHQoKS0+aXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7
CisgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQtPnNjcmlwdCgpKQorICAgICAgICAgICAgICAg
ICAgICBjb250ZXh0LT5zY3JpcHQoKS0+Zm9yYmlkRXhlY3V0aW9uKCk7CisgICAgICAgICAgICAg
ICAgdGFzay0+cnVuKFdURjo6bnVsbG9wdCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
aWYgKHJldHVybmVkRXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2U7
CisgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQtPmNhbkluY2x1ZGVFcnJvckRldGFpbHMobnVs
bHB0ciwgbW9kdWxlS2V5LnN0cmluZygpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGSVhN
RTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4gYXJiaXRyYXJ5IGNvZGUgdG8gc3Ry
aW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgICAgICAgICAg
Ly8gRG8gd2UgbmVlZCB0byBkbyBhbnl0aGluZyB0byBoYW5kbGUgdGhhdCBwcm9wZXJseSwgaWYg
aXQsIHNheSwgcmFpc2VzIGFub3RoZXIgZXhjZXB0aW9uPworICAgICAgICAgICAgICAgICAgICBt
ZXNzYWdlID0gcmV0dXJuZWRFeGNlcHRpb24tPnZhbHVlKCkudG9XVEZTdHJpbmcoZ2xvYmFsT2Jq
ZWN0KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAvLyBP
dmVyd3JpdGUgdGhlIGRldGFpbGVkIGVycm9yIHdpdGggYSBnZW5lcmljIGVycm9yLgorICAgICAg
ICAgICAgICAgICAgICBtZXNzYWdlID0gIlNjcmlwdCBlcnJvci4iX3M7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGNvbnRleHQtPnJlcG9ydEV4Y2VwdGlvbihtZXNzYWdlLCB7
IH0sIHsgfSwgeyB9LCB7IH0sIHsgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRh
c2stPnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFu
ZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEs
IFN0cmluZygpLCBbdGFza10oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUpIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
KyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIEpTVmFs
dWUgZXJyb3JWYWx1ZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CisgICAgICAgICAgICBpZiAo
ZXJyb3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgICAgICAgICAgYXV0byogb2JqZWN0ID0g
SlNDOjphc09iamVjdChlcnJvclZhbHVlKTsKKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0LT5n
ZXREaXJlY3Qodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhJj4oKnZtLmNsaWVudERhdGEp
LmJ1aWx0aW5OYW1lcygpLmZhaWx1cmVLaW5kUHJpdmF0ZU5hbWUoKSkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAg
ICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJvck1lc3NhZ2VXaXRo
b3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgb2JqZWN0LCBjYXRjaFNjb3BlKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IsIG1lc3NhZ2UgfSk7
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChvYmplY3QtPmluaGVy
aXRzPEVycm9ySW5zdGFuY2U+KHZtKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvKiBlcnJv
ciA9IGpzQ2FzdDxFcnJvckluc3RhbmNlKj4ob2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAg
c3dpdGNoIChlcnJvci0+ZXJyb3JUeXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBF
cnJvclR5cGU6OlR5cGVFcnJvcjogeworICAgICAgICAgICAgICAgICAgICAgICAgYXV0byBjYXRj
aFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoKmdsb2Jh
bE9iamVjdCwgdm0sIGVycm9yLCBjYXRjaFNjb3BlKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHRhc2stPnJ1bihFeGNlcHRpb24geyBUeXBlRXJyb3IsIG1lc3NhZ2UgfSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNhc2UgRXJyb3JUeXBlOjpT
eW50YXhFcnJvcjogeworICAgICAgICAgICAgICAgICAgICAgICAgYXV0byBjYXRjaFNjb3BlID0g
REVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcg
bWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoKmdsb2JhbE9iamVjdCwg
dm0sIGVycm9yLCBjYXRjaFNjb3BlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRhc2stPnJ1
bihFeGNlcHRpb24geyBKU1N5bnRheEVycm9yLCBtZXNzYWdlIH0pOworICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xB
UkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSByZXRyaWV2
ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJvclZhbHVlLCBj
YXRjaFNjb3BlKTsKKyAgICAgICAgICAgIHRhc2stPnJ1bihFeGNlcHRpb24geyBBYm9ydEVycm9y
LCBtZXNzYWdlIH0pOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxPYmpl
Y3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRsZXIpOworICAgIH0KKyAgICBtX2dsb2Jh
bFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworfQorCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBKU0dsb2JhbFNjb3BlUHJvdG90eXBlLCB0eXBlbmFtZSBKU0dsb2Jh
bFNjb3BlLCB0eXBlbmFtZSBHbG9iYWxTY29wZT4KIHZvaWQgV29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlcjo6aW5pdFNjcmlwdFdpdGhTdWJjbGFzcygpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCmlu
ZGV4IGM0OTMwMWFlZDNkZDA4OWRhNzk3MzI3NjBjYWYyZjdiNjRkYjExYjYuLjlmMDIzYTYyZjgx
NDNlN2Q5ODJmYmY3ZjU4ZWVlYWRjYTNhNWI1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw2
ICszMSw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNSdW5Mb29wVGltZXIuaD4KICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CisjaW5jbHVkZSA8
d3RmL01lc3NhZ2VRdWV1ZS5oPgogI2luY2x1ZGUgPHd0Zi9OYWtlZFB0ci5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKQEAgLTQ0LDkgKzQ1LDExIEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNzIExvYWRhYmxl
TW9kdWxlU2NyaXB0OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIGNsYXNzIFdvcmtlckNvbnNv
bGVDbGllbnQ7CiBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTsKK2NsYXNzIFdvcmtl
clNjcmlwdEZldGNoZXI7CiAKIGNsYXNzIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXIpOwpAQCAtOTQsNiArOTcsMTMgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlciB7CiAgICAgdm9pZCBldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgU3RyaW5n
KiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKICAgICB2b2lkIGV2YWx1YXRl
KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4mIHJldHVy
bmVkRXhjZXB0aW9uLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIp
OwogCisgICAgSlNDOjpKU1ZhbHVlIGV2YWx1YXRlTW9kdWxlKEpTQzo6SlNNb2R1bGVSZWNvcmQm
KTsKKworICAgIHZvaWQgbGlua0FuZEV2YWx1YXRlTW9kdWxlKFdvcmtlclNjcmlwdEZldGNoZXIm
LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3Nh
Z2UgPSBudWxscHRyKTsKKyAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IGxvYWRNb2R1bGVTeW5j
aHJvbm91c2x5KFdvcmtlclNjcmlwdEZldGNoZXImLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7
CisKKyAgICB2b2lkIGxvYWRBbmRFdmFsdWF0ZU1vZHVsZShjb25zdCBVUkwmIG1vZHVsZVVSTCwg
RmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25h
bDxFeGNlcHRpb24+JiYpPiYmKTsKKwogcHJvdGVjdGVkOgogICAgIFdvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlKiBnbG9iYWxTY29wZSgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsU2NvcGU7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4
IDNhNGRhZWZjMzkwMmJkYjJlYTg0ZmM1OGQ3ZTQyZjgzZTVmMDdlMmYuLjlmMzFkMGRmZDU5YTg3
MDdmZDRlYjU5Y2MzYzkyYTA2NjQ4MWRlMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBPcHRpb25hbDxFeGNl
cHRpb24+IFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZFN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dAogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKLXZvaWQgV29ya2VyU2Ny
aXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgUmVzb3VyY2VSZXF1ZXN0JiYgc2NyaXB0UmVxdWVzdCwgRmV0
Y2hPcHRpb25zJiYgZmV0Y2hPcHRpb25zLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVu
dCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlIHNl
cnZpY2VXb3JrZXJNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCkKK3ZvaWQg
V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmVzb3VyY2VSZXF1ZXN0JiYgc2NyaXB0UmVx
dWVzdCwgRmV0Y2hPcHRpb25zJiYgZmV0Y2hPcHRpb25zLCBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtl
cnNNb2RlIHNlcnZpY2VXb3JrZXJNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVu
dCwgU3RyaW5nJiYgdGFza01vZGUpCiB7CiAgICAgbV9jbGllbnQgPSAmY2xpZW50OwogICAgIG1f
dXJsID0gc2NyaXB0UmVxdWVzdC51cmwoKTsKQEAgLTEyMyw4ICsxMjMsNiBAQCB2b2lkIFdvcmtl
clNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IHNjcmlwdEV4ZWN1dAogICAgIEFTU0VSVChmZXRjaE9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlv
bnM6Ok1vZGU6OlNhbWVPcmlnaW4gfHwgKGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiAhPSBGZXRj
aE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTZXJ2aWNld29ya2VyICYmIGZldGNoT3B0aW9ucy5kZXN0
aW5hdGlvbiAhPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpKTsKIAogICAgIFRo
cmVhZGFibGVMb2FkZXJPcHRpb25zIG9wdGlvbnMgeyBXVEZNb3ZlKGZldGNoT3B0aW9ucykgfTsK
LSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFkZCBhbiBvcHRpb24gdG8gc2V0IGNyZWRlbnRpYWwg
bW9kZS4KLSAgICBvcHRpb25zLmNyZWRlbnRpYWxzID0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFs
czo6U2FtZU9yaWdpbjsKICAgICBvcHRpb25zLnNlbmRMb2FkQ2FsbGJhY2tzID0gU2VuZENhbGxi
YWNrUG9saWN5OjpTZW5kQ2FsbGJhY2tzOwogICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9s
aWN5RW5mb3JjZW1lbnQgPSBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDsKICAgICBp
ZiAoZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OlNlcnZpY2V3b3JrZXIpCkBAIC0xNDMsNyArMTQxLDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVj
dXQKIAogICAgIC8vIER1cmluZyBjcmVhdGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVuIHdoaWNoIHJl
bW92ZSB0aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhpcyBvYmplY3QuCiAgICAgUmVmPFdvcmtlclNj
cmlwdExvYWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7Ci0gICAgbV90aHJlYWRhYmxlTG9hZGVy
ID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICp0aGlz
LCBXVEZNb3ZlKCpyZXF1ZXN0KSwgb3B0aW9ucyk7CisgICAgbV90aHJlYWRhYmxlTG9hZGVyID0g
VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICp0aGlzLCBX
VEZNb3ZlKCpyZXF1ZXN0KSwgb3B0aW9ucywgeyB9LCBXVEZNb3ZlKHRhc2tNb2RlKSk7CiB9CiAK
IGNvbnN0IFVSTCYgV29ya2VyU2NyaXB0TG9hZGVyOjpyZXNwb25zZVVSTCgpIGNvbnN0CkBAIC0x
OTAsNiArMTg4LDggQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25z
ZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc28KICAgICBtX2NlcnRpZmljYXRl
SW5mbyA9IHJlc3BvbnNlLmNlcnRpZmljYXRlSW5mbygpID8gKnJlc3BvbnNlLmNlcnRpZmljYXRl
SW5mbygpIDogQ2VydGlmaWNhdGVJbmZvKCk7CiAgICAgbV9yZXNwb25zZU1JTUVUeXBlID0gcmVz
cG9uc2UubWltZVR5cGUoKTsKICAgICBtX3Jlc3BvbnNlRW5jb2RpbmcgPSByZXNwb25zZS50ZXh0
RW5jb2RpbmdOYW1lKCk7CisgICAgbV9yZXNwb25zZVNvdXJjZSA9IHJlc3BvbnNlLnNvdXJjZSgp
OworICAgIG1faXNSZWRpcmVjdGVkID0gcmVzcG9uc2UuaXNSZWRpcmVjdGVkKCk7CiAgICAgbV9j
b250ZW50U2VjdXJpdHlQb2xpY3kgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMgeyByZXNwb25zZSB9OwogICAgIG1fcmVmZXJyZXJQb2xpY3kgPSByZXNwb25zZS5odHRwSGVh
ZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OlJlZmVycmVyUG9saWN5KTsKICAgICBpZiAobV9jbGll
bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCA3
ZmRkMGIzZjZhMDFjMmRiNTc3MjRhOTBiM2JiOTg0MGYxZTY4ZTVmLi5jZmEzMWEzNTMyNTlhZWVk
MTk4ZjkzOTFmZmMxNTExYjQwNTBiODVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJGZXRjaE9wdGlv
bnMuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1
ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlRocmVhZGFi
bGVMb2FkZXIuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSA8bWVtb3J5PgpAQCAtNDMsNyArNDQsNiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBFeGNlcHRpb247Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiBjbGFzcyBXb3JrZXJTY3Jp
cHRMb2FkZXJDbGllbnQ7CkBAIC01OCw3ICs1OCw3IEBAIGNsYXNzIFdvcmtlclNjcmlwdExvYWRl
ciA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj4sIHB1YmxpYyBUaHJlYWRh
CiAgICAgfQogCiAgICAgT3B0aW9uYWw8RXhjZXB0aW9uPiBsb2FkU3luY2hyb25vdXNseShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgVVJMJiwgRmV0Y2hPcHRpb25zOjpNb2RlLCBGZXRj
aE9wdGlvbnM6OkNhY2hlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgY29uc3Qg
U3RyaW5nJiBpbml0aWF0b3JJZGVudGlmaWVyKTsKLSAgICB2b2lkIGxvYWRBc3luY2hyb25vdXNs
eShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZldGNoT3B0aW9u
cyYmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2Rl
LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmKTsKKyAgICB2b2lkIGxvYWRBc3luY2hyb25vdXNs
eShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZldGNoT3B0aW9u
cyYmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2Rl
LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmLCBTdHJpbmcmJiB0YXNrTW9kZSk7CiAKICAgICB2
b2lkIG5vdGlmeUVycm9yKCk7CiAKQEAgLTY3LDYgKzY3LDggQEAgY2xhc3MgV29ya2VyU2NyaXB0
TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRo
cmVhZGEKICAgICBjb25zdCBTdHJpbmcmIHJlZmVycmVyUG9saWN5KCkgY29uc3QgeyByZXR1cm4g
bV9yZWZlcnJlclBvbGljeTsgfQogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4g
bV91cmw7IH0KICAgICBjb25zdCBVUkwmIHJlc3BvbnNlVVJMKCkgY29uc3Q7CisgICAgUmVzb3Vy
Y2VSZXNwb25zZTo6U291cmNlIHJlc3BvbnNlU291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNw
b25zZVNvdXJjZTsgfQorICAgIGJvb2wgaXNSZWRpcmVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9p
c1JlZGlyZWN0ZWQ7IH0KICAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5m
bygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9CiAgICAgY29uc3QgU3RyaW5n
JiByZXNwb25zZU1JTUVUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZU1JTUVUeXBlOyB9
CiAgICAgYm9vbCBmYWlsZWQoKSBjb25zdCB7IHJldHVybiBtX2ZhaWxlZDsgfQpAQCAtMTA3LDYg
KzEwOSw4IEBAIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdv
cmtlclNjcmlwdExvYWRlcj4sIHB1YmxpYyBUaHJlYWRhCiAgICAgdW5zaWduZWQgbG9uZyBtX2lk
ZW50aWZpZXIgeyAwIH07CiAgICAgYm9vbCBtX2ZhaWxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2ZpbmlzaGluZyB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUmVkaXJlY3RlZCB7IGZhbHNlIH07
CisgICAgUmVzb3VyY2VSZXNwb25zZTo6U291cmNlIG1fcmVzcG9uc2VTb3VyY2UgeyBSZXNvdXJj
ZVJlc3BvbnNlOjpTb3VyY2U6OlVua25vd24gfTsKICAgICBSZXNvdXJjZUVycm9yIG1fZXJyb3I7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggNzI3OTBh
MDMzMjI2MTllNmVlN2U2MTZhOGJkZTE4YmQ1NTJhNTc4My4uNjNlZThjOGQzNmYzYmQ3MjQ2MzUz
YzViZGY4NDE3ZGQ4MTA3YzRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmNwcApAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSAiU29ja2V0UHJvdmlkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgor
I2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTU1LDYgKzU3LDggQEAgV29ya2VyUGFyYW1ldGVycyBXb3JrZXJQ
YXJhbWV0ZXJzOjppc29sYXRlZENvcHkoKSBjb25zdAogICAgICAgICBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksCiAgICAgICAgIHRpbWVPcmlnaW4sCiAgICAgICAg
IHJlZmVycmVyUG9saWN5LAorICAgICAgICB3b3JrZXJUeXBlLAorICAgICAgICBjcmVkZW50aWFs
cywKICAgICAgICAgc2V0dGluZ3NWYWx1ZXMuaXNvbGF0ZWRDb3B5KCkKICAgICB9OwogfQpAQCAt
MTIzLDkgKzEyNywzMSBAQCBib29sIFdvcmtlclRocmVhZDo6c2hvdWxkV2FpdEZvcldlYkluc3Bl
Y3Rvck9uU3RhcnR1cCgpIGNvbnN0CiAKIHZvaWQgV29ya2VyVGhyZWFkOjpldmFsdWF0ZVNjcmlw
dElmTmVjZXNzYXJ5KFN0cmluZyYgZXhjZXB0aW9uTWVzc2FnZSkKIHsKLSAgICBnbG9iYWxTY29w
ZSgpLT5zY3JpcHQoKS0+ZXZhbHVhdGUoU2NyaXB0U291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5z
b3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlwdFVSTCkpLCAmZXhjZXB0
aW9uTWVzc2FnZSk7Ci0KLSAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICAvLyBX
ZSBhcmUgY3VycmVudGx5IGhvbGRpbmcgb25seSB0aGUgaW5pdGlhbCBzY3JpcHQgY29kZS4gSWYg
dGhlIFdvcmtlclR5cGUgaXMgTW9kdWxlLCB3ZSBzaG91bGQgZmV0Y2ggdGhlIGVudGlyZSBncmFw
aCBiZWZvcmUgZXhlY3V0aW5nIHRoZSByZXN0IG9mIHRoaXMuCisgICAgLy8gV2UgaW52b2tlIG1v
ZHVsZSBsb2FkZXIgYXMgaWYgd2UgYXJlIGV4ZWN1dGluZyBpbmxpbmUgbW9kdWxlIHNjcmlwdCB0
YWcgaW4gRG9jdW1lbnQuCisKKyAgICBpZiAobV9zdGFydHVwRGF0YS0+cGFyYW1zLndvcmtlclR5
cGUgPT0gV29ya2VyVHlwZTo6Q2xhc3NpYykgeworICAgICAgICBnbG9iYWxTY29wZSgpLT5zY3Jp
cHQoKS0+ZXZhbHVhdGUoU2NyaXB0U291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2Rl
LCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlwdFVSTCkpLCAmZXhjZXB0aW9uTWVzc2Fn
ZSk7CisgICAgICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIC8vIEZJWE1FIGZpeCBpbml0aWF0b3IgbmFtZS4KKyAgICAgICAgU2NyaXB0U291cmNl
Q29kZSBzb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBE
YXRhLT5wYXJhbXMuc2NyaXB0VVJMKSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlw
ZTo6TW9kdWxlKTsKKyAgICAgICAgYXV0byBzY3JpcHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0
Y2hlcjo6Y3JlYXRlKGdsb2JhbFNjb3BlKCktPmNyZWRlbnRpYWxzKCkpOworICAgICAgICBNZXNz
YWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5sb2Fk
TW9kdWxlU3luY2hyb25vdXNseShzY3JpcHRGZXRjaGVyLmdldCgpLCBzb3VyY2VDb2RlKTsKKyAg
ICAgICAgaWYgKHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKSB7CisgICAgICAgICAg
ICBpZiAoT3B0aW9uYWw8TG9hZGFibGVTY3JpcHQ6OkVycm9yPiBlcnJvciA9IHNjcmlwdEZldGNo
ZXItPmVycm9yKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoT3B0aW9uYWw8TG9hZGFibGVTY3Jp
cHQ6OkNvbnNvbGVNZXNzYWdlPiBtZXNzYWdlID0gZXJyb3ItPmNvbnNvbGVNZXNzYWdlKQorICAg
ICAgICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gbWVzc2FnZS0+bWVzc2FnZTsKKyAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2Ug
PSAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zOworICAgICAgICAgICAgICAg
IGdsb2JhbFNjb3BlKCktPnJlcG9ydEV4Y2VwdGlvbihleGNlcHRpb25NZXNzYWdlLCB7IH0sIHsg
fSwgeyB9LCB7IH0sIHsgfSk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFzY3JpcHRGZXRjaGVy
LT53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gRXZhbHVhdGUuCisgICAgICAg
ICAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShz
Y3JpcHRGZXRjaGVyLmdldCgpLCBzb3VyY2VDb2RlLCAmZXhjZXB0aW9uTWVzc2FnZSk7CisgICAg
ICAgICAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9CiAKICAgICAvLyBGcmVlIHRoZSBzdGFydHVwIGRhdGEgdG8gY2F1c2Ug
aXRzIG1lbWJlciB2YXJpYWJsZSBkZXJlZidzIGhhcHBlbiBvbiB0aGUgd29ya2VyJ3MgdGhyZWFk
IChzaW5jZQogICAgIC8vIGFsbCByZWYvZGVyZWZzIG9mIHRoZXNlIG9iamVjdHMgYXJlIGhhcHBl
bmluZyBvbiB0aGUgdGhyZWFkIGF0IHRoaXMgcG9pbnQpLiBOb3RlIHRoYXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IDg4OTA3OTA4ZTdhOWI4MDllOGYyYTRlNDczZDc1
MmQxMWQyOTM3YzAuLjk1MTJlZmRiMThmMzJhNTBlY2I3ZmI1Njk1OWQ2MWU4ODcyZmExZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtMjYsNyArMjYsMTAgQEAKICNw
cmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLmgiCisjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJX
b3JrZXJPcldvcmtsZXRUaHJlYWQuaCIKKyNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCisjaW5j
bHVkZSAiV29ya2VyVHlwZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFn
cy5oPgogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CkBAIC02Myw2ICs2
Niw4IEBAIHN0cnVjdCBXb3JrZXJQYXJhbWV0ZXJzIHsKICAgICBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeTsKICAgICBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW47CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3k7CisgICAgV29ya2VyVHlwZSB3
b3JrZXJUeXBlOworICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwogICAg
IFNldHRpbmdzOjpWYWx1ZXMgc2V0dGluZ3NWYWx1ZXM7CiAKICAgICBXb3JrZXJQYXJhbWV0ZXJz
IGlzb2xhdGVkQ29weSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5cGUuaAppbmRl
eCAwYjBlZDg2MGQ5YzcxNDIzOGEyYTViYjlmZGY0Mzg0MDJkMTZlYmYwLi4xYzFiYjk0NDg2N2Fk
ZjRlZDU3OGEyODE0ZmEzMzIzMjZhZWQ4YTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5
cGUuaApAQCAtMjcsNyArMjcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gY2xh
c3MgV29ya2VyVHlwZSB7CitlbnVtIGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90IHsKICAgICBD
bGFzc2ljLAogICAgIE1vZHVsZSwKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAppbmRleCBlYmJlOTVlODkyNGM4
ZjFkNzM3NTI1ZGVhMTYzMGIxZmFkNTZmYjI3Li40YzdkZGY0YTRjMTMxZTBkY2Q2YmEwOTUwOWFi
MmQ5NzU3NWYzMGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgY2xhc3MgTmF2
aWdhdG9yQmFzZTsKIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiAKIGVudW0gY2xhc3MgU2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlIDogdWludDhfdDsKLWVudW0gY2xhc3MgV29ya2VyVHlwZTsKK2Vu
dW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3Q7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5
cGU+IGNsYXNzIERPTVByb21pc2VQcm94eTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCmluZGV4IGVjMzljMGY4NDlhNTRlMWI2
ZDBiZWUzNGE4ZDdkMTljYmE0NWUyODguLmY5NTEwY2JmNmZkZjcwNDZmN2QxYjkyMjM2OTE3NGQw
MWZhMGJlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYi5jcHAKQEAgLTExMCw3ICsxMTAsOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJK
b2I6OmZldGNoU2NyaXB0V2l0aENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgRgogICAgIG9wdGlvbnMuY2FjaGUgPSBjYWNoZVBvbGljeTsKICAgICBvcHRpb25zLnJlZGly
ZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6RXJyb3I7CiAgICAgb3B0aW9ucy5kZXN0aW5h
dGlvbiA9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNlcnZpY2V3b3JrZXI7Ci0gICAgbV9z
Y3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3Qp
LCBXVEZNb3ZlKG9wdGlvbnMpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9O
b3RFbmZvcmNlLCBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmUsICp0aGlzKTsKKyAgICBvcHRpb25z
LmNyZWRlbnRpYWxzID0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbjsKKyAg
ICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVx
dWVzdCksIFdURk1vdmUob3B0aW9ucyksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50
OjpEb05vdEVuZm9yY2UsIFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSwgKnRoaXMsIFdvcmtlclJ1
bkxvb3A6OmRlZmF1bHRNb2RlKCkpOwogfQogCiBSZXNvdXJjZUVycm9yIFNlcnZpY2VXb3JrZXJK
b2I6OnZhbGlkYXRlU2VydmljZVdvcmtlclJlc3BvbnNlKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JE
YXRhJiBqb2JEYXRhLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25PcHRpb25zLmgKaW5kZXggOWQ1MDBmODVhY2IxODg0MWNjNTViZWE4MjEx
ZGIxNGZhZGM5NzQ3NS4uMmUzNTU3ZmE3ZGY2N2YxYmY5OGM3YjdhNWRlNGIwYTVhN2JjY2NmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25PcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmgKQEAgLTMyLDcgKzMyLDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2Fj
aGUgOiB1aW50OF90OwotZW51bSBjbGFzcyBXb3JrZXJUeXBlOworZW51bSBjbGFzcyBXb3JrZXJU
eXBlIDogdWludDhfdDsKIAogc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25z
IHsKICAgICBTdHJpbmcgc2NvcGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IGM4
YTdhOTk3MmY5Y2M4YzE2YTc5Njc1MTE1NTJmNTQ5M2E2ODZmOTguLjMzY2EwZWMyM2I1OGE1NTEx
ODc2ODQ2YmEwNzE4MzUzMmI1YzQ3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBA
IC03Myw4ICs3Myw5IEBAIGNsYXNzIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5IDogcHVi
bGljIFdvcmtlck9iamVjdFByb3h5IHsKIC8vIEZJWE1FOiBVc2UgYSB2YWxpZCBXb3JrZXJPYmpl
Y3RQcm94eQogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZsYWdzCiAKKy8vIEZJWE1FOiBV
c2UgYSB2YWxpZCBXb3JrZXJUeXBlIGFuZCBDcmVkZW50YWlscyBmb3IgbW9kdWxlIHNlcnZpY2Ug
d29ya2Vycy4KIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3Qg
U2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIGNvbnN0
IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9h
ZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2VyUHJveHksIElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBz
b2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0
eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rv
cnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0
ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJp
dHlQb2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBzZXR0aW5nc1ZhbHVl
cyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2Vydmlj
ZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3Jt
YWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9yaWdpbigpLmdl
dCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFn
czo6Y3JlYXRlQWxsRW5hYmxlZCgpKQorICAgIDogV29ya2VyVGhyZWFkKHsgZGF0YS5zY3JpcHRV
UkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZp
ZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLmNvbnRl
bnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6Om5vdygpLCB7IH0sIFdvcmtl
clR5cGU6OkNsYXNzaWMsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpTYW1lT3JpZ2luLCBzZXR0
aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1
bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRN
b2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9y
aWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1
bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAgICwgbV9kYXRhKGRhdGEuaXNvbGF0
ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KER1bW15U2VydmljZVdvcmtlclRo
cmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAsIG1faGVhcnRCZWF0VGltZW91dChTV0NvbnRleHRN
YW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCktPnNob3VsZFVzZVNob3J0VGltZW91dCgp
ID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3QgOiBoZWFydEJlYXRUaW1lb3V0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5o
CmluZGV4IDJkZGRiM2I1YjQxZWQ4N2JkNjE0YTBiOTRkMDliNzYxMjkzZDc2MDcuLjM3OGZiYTY1
N2U4YmJmNDg0MWU1NmNiZjg2NTYxZjhlY2MzMTEwMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmgKQEAgLTUwLDcg
KzUwLDcgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOwogc3RydWN0IFNl
cnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnM7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNvbnRl
eHREYXRhOwogc3RydWN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllcjsKLWVudW0gY2xh
c3MgV29ya2VyVHlwZTsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3Q7CiAKIGNsYXNz
IFNXU2VydmVyV29ya2VyIDogcHVibGljIFJlZkNvdW50ZWQ8U1dTZXJ2ZXJXb3JrZXI+IHsKIHB1
YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxT
Y29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3Bw
CmluZGV4IGQ3MDQ4ODY2NDhjMGVmYWE2Yjc4MDg0YzUzODcyMDFjYTJiMWM1NDMuLjJhZTBlMzM4
OTFkYmM4OWYxNDY4N2Q0MTQ4MDJhYWExMmQwZDg0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtMTU4LDcyICsxNTgsNyBAQCBSZWZl
cnJlclBvbGljeSBXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHZv
aWQgV29ya2xldEdsb2JhbFNjb3BlOjpmZXRjaEFuZEludm9rZVNjcmlwdChjb25zdCBVUkwmIG1v
ZHVsZVVSTCwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKLSAgICBtX3NjcmlwdEZldGNoSm9icy5h
cHBlbmQoeyBtb2R1bGVVUkwsIGNyZWRlbnRpYWxzLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSB9KTsKLSAgICBwcm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKTsKLX0KLQotdm9p
ZCBXb3JrbGV0R2xvYmFsU2NvcGU6OnByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCgp
Ci17Ci0gICAgaWYgKG1fc2NyaXB0RmV0Y2hKb2JzLmlzRW1wdHkoKSB8fCBtX3NjcmlwdExvYWRl
cikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byYgc2NyaXB0RmV0Y2hKb2IgPSBtX3Njcmlw
dEZldGNoSm9icy5maXJzdCgpOwotCi0gICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgeyBzY3Jp
cHRGZXRjaEpvYi5tb2R1bGVVUkwgfTsKLQotICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7
Ci0gICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnM7Ci0gICAg
ZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKLSAgICBm
ZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7Ci0g
ICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gc2NyaXB0RmV0Y2hKb2IuY3JlZGVudGlhbHM7
Ci0jaWYgRU5BQkxFKFdFQl9BVURJTykKLSAgICBpZiAoaXNBdWRpb1dvcmtsZXRHbG9iYWxTY29w
ZSgpKQotICAgICAgICBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpBdWRpb3dvcmtsZXQ7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1BBSU5USU5H
X0FQSSkKLSAgICBpZiAoaXNQYWludFdvcmtsZXRHbG9iYWxTY29wZSgpKQotICAgICAgICBmZXRj
aE9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpQYWludHdv
cmtsZXQ7Ci0jZW5kaWYKLQotICAgIGF1dG8gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQgPSBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSA/IENvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UgOiBDb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZUNoaWxkU3JjRGlyZWN0aXZlOwotCi0gICAgbV9z
Y3JpcHRMb2FkZXIgPSBXb3JrZXJTY3JpcHRMb2FkZXI6OmNyZWF0ZSgpOwotICAgIG1fc2NyaXB0
TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoKnRoaXMsIFdURk1vdmUocmVxdWVzdCksIFdURk1v
dmUoZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZp
Y2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhpcyk7Ci19Ci0KLXZvaWQgV29ya2xldEdsb2JhbFNjb3Bl
OjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYpCi17Ci19Ci0KLXZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjpub3RpZnlGaW5pc2hlZCgpCi17
Ci0gICAgYXV0byBjb21wbGV0ZWRKb2IgPSBtX3NjcmlwdEZldGNoSm9icy50YWtlRmlyc3QoKTsK
LQotICAgIGlmIChtX3NjcmlwdExvYWRlci0+ZmFpbGVkKCkpIHsKLSAgICAgICAgZGlkQ29tcGxl
dGVTY3JpcHRGZXRjaEpvYihXVEZNb3ZlKGNvbXBsZXRlZEpvYiksIEV4Y2VwdGlvbiB7IEFib3J0
RXJyb3IsIG1ha2VTdHJpbmcoIkZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiAiLCBtX3Nj
cmlwdExvYWRlci0+ZXJyb3IoKS5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKSB9KTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCByZWFsbHkgYmUgcnVu
IGFzIGEgbW9kdWxlIHNjcmlwdCBidXQgd2UgZG9uJ3Qgc3VwcG9ydCB0aGlzIGluIHdvcmtlcnMg
eWV0LgotICAgIFVSTCBtb2R1bGVVUkwobV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlVVJMKCkpOwot
ICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9ldmFsdWF0ZWRNb2R1bGVzLmFkZChtb2R1bGVVUkwpOwot
ICAgIGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkgewotICAgICAgICBOYWtlZFB0cjxKU0M6OkV4
Y2VwdGlvbj4gZXhjZXB0aW9uOwotICAgICAgICBzY3JpcHQoKS0+ZXZhbHVhdGUoU2NyaXB0U291
cmNlQ29kZShtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIFdURk1vdmUobW9kdWxlVVJMKSksIGV4
Y2VwdGlvbik7Ci0gICAgICAgIGlmIChleGNlcHRpb24pCi0gICAgICAgICAgICBzY3JpcHQoKS0+
c2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7Ci0gICAgfQotCi0gICAgZGlkQ29tcGxldGVTY3JpcHRG
ZXRjaEpvYihXVEZNb3ZlKGNvbXBsZXRlZEpvYiksIHsgfSk7Ci19Ci0KLXZvaWQgV29ya2xldEds
b2JhbFNjb3BlOjpkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKFNjcmlwdEZldGNoSm9iJiYgam9i
LCBPcHRpb25hbDxFeGNlcHRpb24+IHJlc3VsdCkKLXsKLSAgICBtX3NjcmlwdExvYWRlciA9IG51
bGxwdHI7Ci0KLSAgICBqb2IuY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZXN1bHQpKTsKLQot
ICAgIHByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCgpOworICAgIHNjcmlwdCgpLT5s
b2FkQW5kRXZhbHVhdGVNb2R1bGUobW9kdWxlVVJMLCBjcmVkZW50aWFscywgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogfQogCiBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlciYgV29ya2xl
dEdsb2JhbFNjb3BlOjptZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IGYyMzIwZjBkMTMwMjVjZWFi
M2JhYzU2YTQ1ZWMyZDFkZDNmYjZjYzAuLmZlNTRiODUzMjU2NzkyNTgzZGVkYTA1NWE0MzNhMjU2
NTRlODY3NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29w
ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2lu
Y2x1ZGUgIldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JX
b3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIgotI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNs
aWVudC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVNZXNzYWdlLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBs
ZXRpb25IYW5kbGVyLmg+CkBAIC01NCw3ICs1Myw3IEBAIHN0cnVjdCBXb3JrbGV0UGFyYW1ldGVy
czsKIGVudW0gV29ya2xldEdsb2JhbFNjb3BlSWRlbnRpZmllclR5cGUgeyB9OwogdXNpbmcgV29y
a2xldEdsb2JhbFNjb3BlSWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8V29ya2xldEdsb2Jh
bFNjb3BlSWRlbnRpZmllclR5cGU+OwogCi1jbGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJs
aWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJTY3JpcHRMb2FkZXJD
bGllbnQgeworY2xhc3MgV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdvcmtsZXRHbG9iYWxT
Y29wZSk7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+V29ya2xldEdsb2JhbFNjb3BlKCk7CkBAIC0x
MTEsMTAgKzExMCw2IEBAIGNsYXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZSwgcHVibGljIFdvcmtlclNjcmlwCiAgICAgdm9pZCBhZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJiwgdW5zaWduZWQsIHVuc2lnbmVkLCBSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3Rh
Y2s+JiYsIEpTQzo6SlNHbG9iYWxPYmplY3QqLCB1bnNpZ25lZCBsb25nKSBmaW5hbDsKICAgICB2
b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiwgdW5zaWduZWQgbG9uZykgZmluYWw7CiAKLSAgICAvLyBXb3JrZXJTY3JpcHRMb2Fk
ZXJDbGllbnQuCi0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7Ci0gICAgdm9pZCBub3RpZnlG
aW5pc2hlZCgpIGZpbmFsOwotCiAgICAgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSBm
aW5hbCB7IHJldHVybiB0aGlzOyB9CiAKICNpZiBFTkFCTEUoV0VCX0NSWVBUTykKQEAgLTEyNSwx
NSArMTIwLDYgQEAgY2xhc3MgV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29y
a2xldEdsb2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyU2NyaXAKICAgICBTdHJpbmcgdXNlckFnZW50
KGNvbnN0IFVSTCYpIGNvbnN0IGZpbmFsOwogICAgIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNl
dHRpbmdzVmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXR0aW5nc1ZhbHVlczsgfQog
Ci0gICAgc3RydWN0IFNjcmlwdEZldGNoSm9iIHsKLSAgICAgICAgVVJMIG1vZHVsZVVSTDsKLSAg
ICAgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7Ci0gICAgICAgIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYmKT4gY29tcGxldGlvbkhhbmRs
ZXI7Ci0gICAgfTsKLQotICAgIHZvaWQgcHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVk
KCk7Ci0gICAgdm9pZCBkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKFNjcmlwdEZldGNoSm9iJiYs
IE9wdGlvbmFsPEV4Y2VwdGlvbj4pOwotCiAgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVu
dDsKIAogICAgIFJlZjxTZWN1cml0eU9yaWdpbj4gbV90b3BPcmlnaW47CkBAIC0xNDQsOSArMTMw
LDYgQEAgY2xhc3MgV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyU2NyaXAKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3Jr
ZXJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcj4gbV9tZXNzYWdlUG9ydENoYW5uZWxQcm92aWRl
cjsKIAotICAgIFJlZlB0cjxXb3JrZXJTY3JpcHRMb2FkZXI+IG1fc2NyaXB0TG9hZGVyOwotICAg
IERlcXVlPFNjcmlwdEZldGNoSm9iPiBtX3NjcmlwdEZldGNoSm9iczsKLSAgICBIYXNoU2V0PFVS
TD4gbV9ldmFsdWF0ZWRNb2R1bGVzOwogICAgIFNldHRpbmdzOjpWYWx1ZXMgbV9zZXR0aW5nc1Zh
bHVlczsKIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAxYWRjMjhhNmQ3MWVkOGEzM2ZmZGY5ZGFkMTc4YTUyYTcwNDg0
ZDJjLi42ZTYzMjBhZDhjNWM4NDY3MTAwM2U5ZmNkOGYwODFiNTQ3ZjMwYTI2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjEtMDItMTEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBKUyBNb2R1bGVzIGluIFdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDg2MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiB3ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYmF1ZGlvL3dvcmtsZXQtY3Jhc2gtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAy
LTExICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUkVHUkVTU0lPTihyMjcyMjkzKSBXZWJHTCAxLjAuMiB0ZXN0IGV4cGVjdGF0aW9ucyBzYXkg
SFRUUFMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDUxZjlkNmQyYzRhMDBjZmYz
NTNlMmVhZTUwZTY3Mzc2NmRjZDViOWEuLjRlNDBlZWQ2OWYxNmM3ZWFkOTM1NDM5YjUzZjA0NjYy
YmRiZjFlNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBA
CisyMDIxLTAyLTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAg
ICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRp
dmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tz
L2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jh
c2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90
aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1
YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9y
dC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxw
aGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29y
a2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtY3NwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLmh0bWw6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJv
ci1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQt
Y3NwLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJs
LXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDItMTEgIFNh
aWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cmV2ZXJ0aW5nIHIyNzA1NzguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3OWU5MGE5NmYwY2RiNmNl
OTEwZjJiY2U1Yzc3ODYyMzlkZjlkOTBiLi42MWFkMWQ1YmE2M2I1NmY0MjQ0ZThkZTNiYmExMDVi
OWMyNmE0OTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY0MCw3ICs2NDAsNiBAQCBmYXN0L2Rv
bS9jb25uZWN0ZWQtc3ViZnJhbWUtY291bnRlci1vdmVyZmxvdy5odG1sIFsgU2xvdyBdCiBbIERl
YnVnIF0gaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC0yLmh0bWwgWyBTbG93
IF0KIAogIyBTa2lwIHdvcmtlcnMgdGVzdHMgdGhhdCBhcmUgdGltaW5nIG91dCBvciBhcmUgU2hh
cmVkV29ya2VyIHJlbGF0ZWQgb25seQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4uaHRtbCBbIFNraXAgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2RhdGEtdXJsLXNoYXJlZC5odG1s
IFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZXhhbXBs
ZXMvb25jb25uZWN0LmFueS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvZXhhbXBsZXMvb25jb25uZWN0LmFueS53b3JrZXIuaHRtbCBbIFNraXAg
XQpAQCAtNjYzLDcgKzY2Miw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9TaGFyZWRXb3JrZXItcmVwbGFjZS1FdmVudEhhbmRsZXIuYW55Lmh0CiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyLXJlcGxhY2UtRXZlbnRI
YW5kbGVyLmFueS53b3JrZXIuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlci1zY3JpcHQtZXJyb3IuaHRtbCBbIFNraXAgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlci1zaW1w
bGUuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXIuaHRtbCBbIFNraXAgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1vcHRpb25zLWNyZWRlbnRpYWxzLmh0bWwgWyBTa2lwIF0KIAogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIgWyBT
a2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24t
bW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50
YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNDkyNjliM2I1MGI5MTc1Y2I2MmVj
YTMxMmU1ODZiM2IxNjYyYTI1OS4uMmNhZTVmN2UzNWEzMmZlY2ViMjY4ZjI5MDAwMGU0ZTU1NTZj
Njg2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1t
b2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50
ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKLUZBSUwg
Tm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL251bGwu
anNvbicuIgotRkFJTCBOb24tb2JqZWN0OiB0cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBt
b2R1bGUgJy4vdHJ1ZS5qc29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6IGZhbHNlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBu
b3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZmFsc2UuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBz
dHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9zdHJpbmcuanNvbicuIgot
RkFJTCBOb24tb2JqZWN0OiBhcnJheSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcu
L2FycmF5Lmpzb24nLiIKK0ZBSUwgTm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlv
bi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1v
YmplY3Q6IHRydWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2
YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBs
aWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlM
IE5vbi1vYmplY3Q6IHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2
YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGFycmF5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBl
LiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90
YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3Mv
Y2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3Rl
ZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uZjY4
Y2M3M2I0ZDY3NGM1NGRmYWZlNTIyMTJiNjQzYzQwMzBmZDQyYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdv
cmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29y
a2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBA
QAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBQcm9t
aXNlIHJlc29sdmVkIGR1cmluZyAjcmVwb3J0LXRoZS1lcnJvciBhc3NlcnRfYXJyYXlfZXF1YWxz
OiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJoYW5kbGVyIDEiLCAiaGFuZGxlciAy
IiwgImhhbmRsZXIgMSBwcm9taXNlIiwgImhhbmRsZXIgMiBwcm9taXNlIl0gbGVuZ3RoIDQsIGdv
dCBbXSBsZW5ndGggMAorUEFTUyBQcm9taXNlIHJlc29sdmVkIGR1cmluZyBldmVudCBoYW5kbGVy
cyBvdGhlciB0aGFuIGVycm9yCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1w
b3J0U2NyaXB0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlw
dHMtZXhwZWN0ZWQudHh0CmluZGV4IDUxZDYxMDBlNjEyMmE5N2MzNjRiM2NlYjFkN2ZkMDdlMGUx
NTYxMTcuLmE4MDUwYzA3OGNmOGI4OGQ1NjhhZmZlMGQ1NWNjMzE5MGMzNjU0N2EgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9y
dC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2Fs
cGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsx
LDYgQEAKIAotRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNj
cmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2ltcG9ydC5qcz9waXBl
PWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9cmVsYXRpdmUtY3Jv
c3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgotRkFJTCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9t
IHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9k
dWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlw
ZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLWNy
b3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCknLiIKLVBBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJv
bSBjcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZy
b20gY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUg
bW9kdWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/
cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRl
LWNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCknLiIKK1BBU1MgUmVsYXRpdmUgVVJMLWxpa2Ug
ZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2Ug
ZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKK0ZBSUwgUmVsYXRpdmUgVVJMLWxpa2Ug
ZnJvbSBjcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIGFzc2VydF9lcXVhbHM6IFJlbGF0aXZl
IFVSTC1saWtlIHNwZWNpZmllciByZXNvbHV0aW9uIHNob3VsZCBmYWlsIGV4cGVjdGVkICIodW5y
ZWFjaGVkKSIgYnV0IGdvdCAiZ2FtbWEvaW1wb3J0LmpzIgorUEFTUyBBYnNvbHV0ZSBVUkwtbGlr
ZSBmcm9tIGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jh
c2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWIt
ZXhwZWN0ZWQudHh0CmluZGV4IDg2NmViYjIyN2FkMjZhYWNlMWE1NzhiYWVhNmE4MWRjMGU2ZTc3
ZjAuLjVlNzA2MzQ5MGUyZGZmZWNlODVlYTc2NWFlYmRkZTRiMTZlYjBmYzMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9h
bHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwt
d29ya2VyLnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgUmVsYXRpdmUg
VVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9y
dCB0aGUgbW9kdWxlICcuL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxv
dy1PcmlnaW4sKikmbGFiZWw9cmVsYXRpdmUtd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQnLiIKLUZB
SUwgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9y
dC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
LCopJmxhYmVsPWFic29sdXRlLXdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0Jy4iCitQQVNTIFJlbGF0
aXZlIFVSTC1saWtlIGZyb20gd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQKK1BBU1MgQWJzb2x1dGUg
VVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5v
dGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0
CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0
MmZhZDIyNGUzYTE4YTZmYjVkODQ4MzI1ZWE2Nzc2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
LQorUEFTUyBUZXN0IGV2YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0x
LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9t
b2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3
NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uYjg2MWY3MDFmOTQ4ZmIxMzI3Njkz
MjJjMzgzNjZmMmQxMzhmMDRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9y
ZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJv
ciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9yZGVy
IG9mIG1vZHVsZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVk
IGFycmF5IFsic3RlcC0xLTEiLCAic3RlcC0xLTIiLCAiZ2xvYmFsLWVycm9yIiwgImVycm9yIiwg
Im1pY3JvdGFzayJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJtaWNy
b3Rhc2siXSBsZW5ndGggMwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24t
b3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJi
Zjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi5jMWQzOGJkZTUwYzU5ZTVkNTk0MTczZDk2ZjljZDE5
ZWIxMDdjOWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9t
b2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVy
LTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3Mg
RXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitGQUlMIFRlc3QgZXZhbHVhdGlvbiBv
cmRlciBvZiBtb2R1bGVzIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBl
Y3RlZCBhcnJheSBbInN0ZXAtMi4yLTEiLCAic3RlcC0yLjItMiIsICJnbG9iYWwtZXJyb3IiLCAi
ZXJyb3IiLCAibWljcm90YXNrLTIuMiJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTIuMi0xIiwgInN0
ZXAtMi4yLTIiLCAibWljcm90YXNrLTIuMiJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHlu
YW1pYy13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQK
aW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQy
ZmFkMjI0ZTNhMThhNmZiNWQ4NDgzMjVlYTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdv
cmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAot
CitQQVNTIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDEyZDk0YTkxZWYxZjhhYjBhMTg3Yzc0OWIwZGRlYzY5NmQxMTg4ZTcuLmI0ZDY4
YWYwNTZlZWY2MjJhMzNkNTRmMDc2ZjM4MWQ0ZTFiYjI5YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMiw4ICsyLDggQEAKIEZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuIgogRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuIgogRkFJTCBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIER5bmFtaWMgaW1wb3J0LiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJv
cjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5q
cycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJv
cjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1keW5hbWljLWltcG9y
dC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIER5bmFtaWMgaW1wb3J0IGFuZCB0
aGVuIHN0YXRpYyBpbXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQg
dG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUg
Jy4vZXhwb3J0LW9uLXN0YXRpYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQot
RkFJTCBldmFsKGltcG9ydCgpKS4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxl
ZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVs
ZSAnLi9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5CitQQVNTIER5
bmFtaWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMg
aW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNl
dXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGRkOWFm
MzhmZjA5ZmJlYzFmYWMwYjhmNWVhOWJhZDZlMzE2MzY0OWQuLjUxZWIzNjYzOGMxY2E3ZDA2MGI3
Njc1OTI2ZmNjNzBjNWJmMDc2ZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1
bGV3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdyJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFj
dGx5IG9uZSBhcmd1bWVudC4KIAotRkFJTCBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdv
cmtlcnM6IGltcG9ydCBhc3NlcnRfdW5yZWFjaGVkOiBHb3QgZXJyb3IgZXZlbnQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCitQQVNTIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2Vy
czogaW1wb3J0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVk
LnR4dAppbmRleCBhYjVhN2ZiODkwMjBmMjlmZDg5M2E3NTY4MGZmZTE3ZDNkMzUwZjdjLi5hYjUz
YjgwNTk5YWUwMTk1NzgwODVlZTQ0YWFlZmE0Yzc5NTUyNjg0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBo
YS9pbXBvcnRTY3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1w
b3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlM
IGltcG9ydFNjcmlwdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hL3NjcmlwdC5qcyIg
YnV0IGdvdCAiYmV0YS9zY3JpcHQuanMiCitQQVNTIGltcG9ydFNjcmlwdHMKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jh
c2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94
aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4M2YzNjdmMmNmM2E2NmM2NGE2
MjY0Mjk0NjU2ZDVlODgxZDFjMTFjLi4yOGIwY2I0MDAxMzkyZDA4ODdhNGZlYmU2ODFjMWUxNTFk
MGRmMThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6
IFhIUiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWFcbiIgYnV0IGdvdCAiYmV0YVxuIgor
UEFTUyBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IFhIUgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
YmFzZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1p
bi13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGQ2YjA4ZWVkYWU2ZjY5NmM3YTRiZmE2NTVlMTNi
NWVkNDYwN2VhMDEuLmVhMTQ1NGQ5YjNmMjBmODVkOTAxNmM1MDZhMTU0NmFmNjE3ODQyZDAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2Fs
cGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIHho
ci13b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hXG4iIGJ1dCBnb3QgImJldGFc
biIKK1BBU1MgeGhyLXdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9y
aWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50
eHQKaW5kZXggODMxZjBjNThjNjk0YzJkNGZlYmQ2ZDhkMGFmMzA3YjEwOTQ0MmE2ZS4uZDU1NWVl
N2NmM2ZjNzJlZmI4MmRmOWRiN2RhZDM2N2Y5YWI3ZmZiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9X
b3JrZXIvc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUt
b3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMSBAQAogCi1IYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQogUEFTUyB1bnN1cHBvcnRlZF9zY2hlbWUKIEZBSUwg
ZGF0YV91cmwgVGhlIG9wZXJhdGlvbiBpcyBpbnNlY3VyZS4KLVRJTUVPVVQgYWJvdXRfYmxhbmsg
VGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgZXhhbXBsZV9pbnZhbGlkIFRlc3QgdGltZWQgb3V0Ci1U
SU1FT1VUIHBvcnRfODEgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgaHR0cHNfcG9ydF84MCBUZXN0
IHRpbWVkIG91dAotVElNRU9VVCBodHRwc19wb3J0XzgwMDAgVGVzdCB0aW1lZCBvdXQKLVRJTUVP
VVQgaHR0cF9wb3N0XzgwMTIgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgamF2YXNjcmlwdF91cmwg
VGVzdCB0aW1lZCBvdXQKK1BBU1MgYWJvdXRfYmxhbmsKK1BBU1MgZXhhbXBsZV9pbnZhbGlkCitQ
QVNTIHBvcnRfODEKK1BBU1MgaHR0cHNfcG9ydF84MAorUEFTUyBodHRwc19wb3J0XzgwMDAKK1BB
U1MgaHR0cF9wb3N0XzgwMTIKK1BBU1MgamF2YXNjcmlwdF91cmwKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4
IGYxNzQxZjlkOGJmMDcwMzI3MGQyZTM3NjJkYmNiZTI2YzBiOTAwNTkuLjNiMGRmYjM1ZTUxY2Qx
YTg1NDU1MzAxOWMwZTQwM2RiZTJmMWQzM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2Jh
bFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJH
bG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLUZBSUwgV29ya2VyTG9jYXRpb24gd2l0aCByZWRpcmVjdHM6IGNsYXNzaWMgZGVkaWNhdGVk
IHdvcmtlcnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93
b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcG9zdC1sb2NhdGlv
bi1tZW1iZXJzLmpzP2EiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2lu
dGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5P2Zh
aWwiCitQQVNTIFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBjbGFzc2ljIGRlZGljYXRl
ZCB3b3JrZXJzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9u
L3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9s
b2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0CmluZGV4IGRjMmUyZTIwN2RiMDAx
ZWU3MGU3MzMwN2QyN2JiMzM1NzIwZmQ1NTkuLmIzYmY4MWVlODY4MWI5ZGMwODBmNTgwMjcxZThi
OGYzOTA5NjU0OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9u
L3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2Nv
cGUvbG9jYXRpb24vcmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3
b3JrZXJzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Bvc3QtbG9jYXRpb24t
bWVtYmVycy5qcz9hIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL2hlbHBlci1yZWRpcmVjdC5weT9mYWls
IgorUEFTUyBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3
b3JrZXJzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJs
LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5h
bnktZXhwZWN0ZWQudHh0CmluZGV4IDIwYWMxN2Q1NjNjNGIzYTQ2MWYwY2FhZmJlYWVlYmQ3MTNm
OTcwODEuLmRjY2VkY2NkMzY4ZTFmZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4
dApAQCAtMSwxOCArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVz
L3Jlc291cmNlcy9zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMg
ZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1
bGVzL3Jlc291cmNlcy9uZXN0ZWQtc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dv
cmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvc3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWlt
cG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJh
bCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1p
Yy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1
bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxp
dGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25l
c3RlZC1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0
bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9y
ZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtYW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIuanMi
LiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNT
QUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXZhbC1keW5hbWljLWltcG9ydC13
b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1I
YXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0
cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9keW5hbWljLWltcG9ydC1hbmQtdGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUZBSUwgU3RhdGljIGlt
cG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgc3Rh
dGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdv
cmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZB
SUwgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBz
dHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL3N0YXRpYy1pbXBvcnQtYW5kLXRoZW4tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIu
IGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWlj
IGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6
ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wi
LiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVk
IGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLWR5bmFtaWMtaW1w
b3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LiIKLUZBSUwgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2Vy
LmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBl
dmFsKGltcG9ydCgpKS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2Nh
bGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V2YWwtZHluYW1pYy1pbXBvcnQt
d29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgor
UEFTUyBTdGF0aWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3Rh
dGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQu
CitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRo
ZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC1jc3AtZXhwZWN0ZWQudHh0CmluZGV4IDFkYTQ2YjkyNmJlMDg5NmVlOGY3
NWE3OGRjYWU0ZjI2OWIwNTA5MmIuLjIzOWNjOWNlMTUzMDFmN2VlZDgzZDVlYjIyMzBhOWRlMjk0
ZWEyZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dApA
QCAtMSwxMyArMSwyMiBAQAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBV
bnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3Jj
Jy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhv
c3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5q
cworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6
OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwor
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0
My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09O
U09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0
aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBz
Oi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1v
bi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29n
bml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAor
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0
My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogCiBQ
QVNTIHdvcmtlci1zcmMgJ3NlbGYnIGRpcmVjdGl2ZSBzaG91bGQgZGlzYWxsb3cgY3Jvc3Mgb3Jp
Z2luIHN0YXRpYyBpbXBvcnQuCiBGQUlMIHdvcmtlci1zcmMgKiBkaXJlY3RpdmUgc2hvdWxkIGFs
bG93IGNyb3NzIG9yaWdpbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBleHBl
Y3RlZCBwcm9wZXJ0eSAwIHRvIGJlICJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiIGJ1dCBnb3Qg
IkVSUk9SIiAoZXhwZWN0ZWQgYXJyYXkgWyJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiXSBnb3Qg
WyJFUlJPUiJdKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVy
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVj
dGVkLnR4dAppbmRleCA5NWM2ZDE1ZGY0NGUxOGEzNWRmZWIwZmEzOWM4ZDM4NDQyMGMyYzEzLi5l
OTU1NzhlNzFiMWM1MGE0ZTA0NzFiMDM3MTU0YjM4NmIzN2FlZDc0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAK
LUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwg
Jy4vbm9uLWV4aXN0ZW50LXNjcmlwdC5qcycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBv
bmUgYXJndW1lbnQuCitDT05TT0xFIE1FU1NBR0U6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQg
ZmFpbGVkLgogCi1GQUlMIGltcG9ydFNjcmlwdHMoKSBvbiBtb2R1bGUgd29ya2VyIHNob3VsZCB0
aHJvdyBhbiBleGNlcHRpb24uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUeXBlRXJyb3IiIGJ1
dCBnb3QgIkxPQURFRCIKK1BBU1MgaW1wb3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3b3JrZXIgc2hv
dWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIFBBU1MgV29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igbm9u
LWV4aXN0ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KIFBBU1MgU3Rh
dGljIGltcG9ydCBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJy
b3JFdmVudC4KLUZBSUwgRHluYW1pYyBpbXBvcnQgZm9yIG5vbi1leGlzdGVudCBzY3JpcHQgc2hv
dWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlR5cGVFcnJv
ciIgYnV0IGdvdCAiRXJyb3IiCitQQVNTIER5bmFtaWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQg
c2NyaXB0IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rp
b24gZm9yIGFuIGludmFsaWQgVVJMIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdv
cmtlciBjb25zdHJ1Y3Rpb24gZm9yIGEgZmlsZSBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlv
bi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAppbmRl
eCBkNTgwNjIwNDFjM2U2OTUxNWI4MTVlMDJkN2MzODY4NGQ3N2M3NmI3Li43NzI5MWJhYTFhNDE4
NGJlYmU3YWQ3YjVkOWYxMTljNzFhNzhkZTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWlt
cG9ydC1tZXRhLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTog
U3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCiAK
LUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IGltcG9ydC5tZXRh
IGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCi0KLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51
cmwgb24gdGhlIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5
IHZhbGlkIGluc2lkZSBtb2R1bGVzLiIKLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhl
IGltcG9ydGVkIG1vZHVsZSBzY3JpcHQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNj
cmlwdCB3aXRoIGEgZnJhZ21lbnQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorUEFTUyBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3Jp
cHQuCitQQVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2Ny
aXB0LgorUEFTUyBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNj
cmlwdCB3aXRoIGEgZnJhZ21lbnQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LW1ldGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbApp
bmRleCBjZmY4ZTkxNDg4ZTgyMzlhYmUyMTM2MTlkMTJkNWE2MDMwNzJmYmVhLi5lZGUyNjkyZTFj
NjM0MWJlZmZjOTAxMGM0MWI4ZjRjZmU0MzgzMjliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC1tZXRhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQt
bWV0YS5odG1sCkBAIC01Myw3ICs1Myw3IEBACiAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgn
Li8nICsgc2NyaXB0X3VybCArICcjMScpOwogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0gcmVzb2x2ZSk7CiAgICAgICB9KQotICAgICAgLnRo
ZW4obXNnX2V2ZW50ID0+IGFzc2VydF90cnVlKG1zZ19ldmVudC5kYXRhLmVuZHNXaXRoKHNjcmlw
dF91cmwpKSk7CisgICAgICAudGhlbihtc2dfZXZlbnQgPT4gYXNzZXJ0X3RydWUobXNnX2V2ZW50
LmRhdGEuZW5kc1dpdGgoc2NyaXB0X3VybCArICcjMScpKSk7CiB9LCAnVGVzdCBpbXBvcnQubWV0
YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQgd2l0aCBhIGZyYWdtZW50LicpOwog
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVy
cmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4
cGVjdGVkLnR4dAppbmRleCA2ZGM0MmMxY2ZkMzM0OGFmZGQxZGZkM2IxMGE1MDQ3MDU1MzAxOTZh
Li5mZTFiOWQ5M2MwODAxMWI1MGU5NDFmNGUxMjM2MDY3YWJiZDNmMjNlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxl
cy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMv
ZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0CkBAIC0xLDE5ICsx
LDIzIEBACi0KLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3Jr
ZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2Vk
IGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtl
cnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQg
YWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vy
cy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFj
Y2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMv
bW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNj
ZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9t
b2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQogCiBQQVNTIFNhbWUt
b3JpZ2luIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAibm8tcmVmZXJyZXIi
IHJlZmVycmVyIHBvbGljeQogUEFTUyBTYW1lLW9yaWdpbiB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlw
dCBsb2FkaW5nIHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5CiBQQVNTIFNhbWUtb3JpZ2lu
IHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVy
cmVyIHBvbGljeQotRkFJTCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVy
cmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKLUZBSUwgU2FtZS1vcmln
aW4gc3RhdGljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBU
eXBlIGVycm9yIgotRkFJTCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3Jp
Z2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKK1BBU1MgU2FtZS1vcmln
aW4gc3RhdGljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LgorUEFT
UyBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
LgorUEFTUyBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZl
cnJlciBwb2xpY3kuCiBGQUlMIENyb3NzLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJl
ZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIEZBSUwgQ3Jvc3Mt
b3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogVHlwZSBlcnJvciIKIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2Ft
ZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotVElNRU9VVCBT
YW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9s
aWN5LiBUZXN0IHRpbWVkIG91dAotTk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdp
dGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgotTk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMg
aW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mt
b3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3ku
Ci1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJy
ZXIgcG9saWN5LgotTk9UUlVOIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1l
LW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgorRkFJTCBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9y
dCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jl
c291cmNlcy9keW5hbWljLWltcG9ydC1zYW1lLW9yaWdpbi1yZWZlcnJlci1jaGVja2VyLXdvcmtl
ci5qcyIKK0ZBSUwgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZl
cnJlciBwb2xpY3kuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4
MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9keW5hbWljLWltcG9ydC1zYW1lLW9yaWdpbi1yZWZlcnJlci1jaGVja2VyLXdvcmtlci5q
cyIKK1BBU1MgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJl
ZmVycmVyIHBvbGljeS4KK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5v
LXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKK0ZBSUwgQ3Jv
c3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IFR5cGUgZXJyb3IiCitGQUlMIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRo
ICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxl
cy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGEyM2E1NTc1
ZGI0Mjc0MjdmODViZDZiNjM1NGRlODgzODMxZmUyYjQuLmRjY2VkY2NkMzY4ZTFmZjE3YjFkZDEz
NmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0
LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4
cGVjdGVkLnR4dApAQCAtMSwxNCArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBh
cmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
JyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBN
RVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotCi1GQUlMIFN0YXRpYyBpbXBvcnQuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LiIKLUZBSUwgTmVzdGVkIHN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBp
bXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGlt
cG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGlt
cG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWlj
IGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24t
bG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIE5lc3RlZCBkeW5hbWljIGlt
cG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWlj
IGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24t
ZHluYW1pYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBEeW5hbWlj
IGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1
ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9y
dCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1zdGF0aWMtaW1wb3J0LXNjcmlwdC5qcycuIiwgZXhw
ZWN0ZWQgYXJyYXkKLUZBSUwgZXZhbChpbXBvcnQoKSkuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZh
bHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1w
b3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBh
cnJheQorUEFTUyBTdGF0aWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BB
U1MgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBp
bXBvcnQuCitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQg
YW5kIHRoZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dAppbmRleCBkYTBlNGViNjc1
OGQxNGEzN2EzOThkMGI2ZmM3MWFkMzg3NmJkMjZiLi4xZmMwYzY2ZmRmNzI0YzJhYTNiOTEwNjk4
MGJmYmU3ZTk4OGY5NzczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMt
dHlwZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUt
ZXhwZWN0ZWQudHh0CkBAIC0yLDExICsyLDYgQEAKIFBBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0
aW9uIHdpdGggdGhlIGRlZmF1bHQgd29ya2VyIHR5cGUuCiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0
cnVjdGlvbiB3aXRoIHRoZSAiY2xhc3NpYyIgd29ya2VyIHR5cGUuCiBQQVNTIFRlc3Qgd29ya2Vy
IGNvbnN0cnVjdGlvbiB3aXRoIHRoZSAibW9kdWxlIiB3b3JrZXIgdHlwZS4KLUZBSUwgVGVzdCB3
b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgd29ya2VyIHR5cGUuIGFzc2VydF90aHJv
d3NfanM6IFdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiBlbXB0eSB0eXBlIHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24gZnVuY3Rpb24gIigpID0+IHsKLSAgICAgICAgbmV3IFdvcmtlcigncmVz
b3VyY2VzL3Bvc3QtbWVzc2FnZS1vbi1sb2FkLXdvcmtlci5qcycsIHsgdHlwZTogJycgfSk7Ci0g
ICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRo
IGFuIHVua25vd24gd29ya2VyIHR5cGUuIGFzc2VydF90aHJvd3NfanM6IFdvcmtlciBjb25zdHJ1
Y3Rpb24gd2l0aCBhbiB1bmtub3duIHR5cGUgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiBmdW5j
dGlvbiAiKCkgPT4gewotICAgICAgICBuZXcgV29ya2VyKCdyZXNvdXJjZXMvcG9zdC1tZXNzYWdl
LW9uLWxvYWQtd29ya2VyLmpzJywKLSAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICd1bmtub3du
JyB9KTsKLSAgICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0
aW9uIHdpdGggYW4gZW1wdHkgd29ya2VyIHR5cGUuCitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVj
dGlvbiB3aXRoIGFuIHVua25vd24gd29ya2VyIHR5cGUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0CmluZGV4IGU4ZWI1NDBi
ZDMzOTI0MDBhOGRiZmQ5Mzg2NDhhNjQ5MjM5YzBkOWUuLmQxYTUwZjdlYTNjZDZkYzI5OGVmNzU0
MTQ3NzYyYzY5YzU3ZDczYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2Ut
ZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJz
ZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDE0IEBACi1DT05TT0xFIE1F
U1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KK0NPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJzsnCitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHRva2VuICc7JwogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IEVycm9y
OiBhc3NlcnRfaW1wbGVtZW50czogU3RhdGljIGltcG9ydCBtdXN0IGJlIHN1cHBvcnRlZCBvbiBt
b2R1bGUgZGVkaWNhdGVkIHdvcmtlciB0byBydW4gdGhpcyB0ZXN0LiB1bmRlZmluZWQKLQotTk9U
UlVOIE1vZHVsZSB3b3JrZXIgY29uc3RydWN0aW9uIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJy
b3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9yLgotTk9UUlVOIFN0YXRpYyBp
bXBvcnQgb24gbW9kdWxlIHdvcmtlciBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3Vs
ZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4KK0ZBSUwgTW9kdWxlIHdvcmtlciBjb25z
dHJ1Y3Rpb24gZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlzcGF0Y2ggYW4g
ZXZlbnQgbmFtZWQgZXJyb3IuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5j
dGlvbiBFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiBidXQgZ290IGZ1bmN0aW9uICJm
dW5jdGlvbiBFcnJvckV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCitGQUlMIFN0YXRp
YyBpbXBvcnQgb24gbW9kdWxlIHdvcmtlciBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNo
b3VsZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIEV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1
dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEVycm9yRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2Rl
XQorfSIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhw
ZWN0ZWQudHh0CmluZGV4IDYzOTg0NzEyMTQ1OWE3YWIzN2I5ZjA5YTY4YmE2NGVhOGE5ZWQ1N2Mu
LmU5NDY5NDdiMTRhZWYzZTUyOTlhMGFiYTNhZTRiMWNmOWZjZDk1NzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXBy
b3BlcnR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTEsNyAr
MSw4IEBACiBDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1GQUlMIFRl
c3QgdGhlIG5hbWUgcHJvcGVydHkgb2Ygc2hhcmVkIGFuZCBkZWRpY2F0ZWQgd29ya2VycyB2aWEg
dGhlIG5hbWUgY29uc3RydWN0b3Igb3B0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdv
cmtlcgotUEFTUyBEZWNsYXJpbmcgbmFtZSBhcyBhbiBhY2NpZGVudGFsIGdsb2JhbCBtdXN0IG5v
dCBjYXVzZSBhIGhhcm5lc3MgZXJyb3IgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCitI
YXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IENhbid0
IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCiBQQVNTIG5hbWUgcHJvcGVydHkgdmFsdWUg
Zm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCiBQQVNTIG5hbWUgcHJvcGVydHkgaXMgcmVw
bGFjZWFibGUgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCitQQVNTIERlY2xhcmluZyBu
YW1lIGFzIGFuIGFjY2lkZW50YWwgZ2xvYmFsIG11c3Qgbm90IGNhdXNlIGEgaGFybmVzcyBlcnJv
ciBmb3IgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0
LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggZjA2OTFhYTA5Y2M0OWNkZjdmMmE5NDM3NGM2ZTYyMjIw
ZjkzYjhlMi4uYTU3MGQ4ZDI5MmZhODU2MjEyYjA1NDc4ODIwZjEzMGY4MWQ5YmJmNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0
cy9hdWRpby13b3JrbGV0LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdv
cmtsZXQtY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiBD
T05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxv
d2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIAotRkFJTCBJbXBvcnRpbmcgYSBz
YW1lLW9yaWdpbiBzY3JpcHQgd2l0aCB0aGUgZGVmYXVsdCBXb3JrbGV0T3B0aW9ucyBzaG91bGQg
c2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJy
b3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgiCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNj
cmlwdCB3aXRoIHRoZSBkZWZhdWx0IFdvcmtsZXRPcHRpb25zIHNob3VsZCBzZW5kIHRoZSBjcmVk
ZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNT
IEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggdGhlIGRlZmF1bHQgV29ya2xl
dE9wdGlvbnMgc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscwotRkFJTCBJbXBvcnRpbmcg
YSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1vbWl0IHNob3VsZCBub3Qgc2Vu
ZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6
IFJlc3BvbnNlIGlzIG5vdCAyeHgiCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlw
dCB3aXRoIGNyZWRlbnRpYWxzPW9taXQgc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9y
dEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNTIEltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91bGQgbm90
IHNlbmQgdGhlIGNyZWRlbnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlw
dCB3aXRoIGNyZWRlbnRpYWxzPXNhbWUtb3JpZ2luIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFs
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJB
Ym9ydEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90
IDJ4eCIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlh
bHM9c2FtZS1vcmlnaW4gc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEltcG9y
dGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9y
aWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1zYW1lLW9yaWdpbiBzaG91bGQgbm90IHNlbmQg
dGhlIGNyZWRlbnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRo
IGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6
IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBSZXNwb25zZSBpcyBub3QgMnh4IgotRkFJ
TCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1
ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBt
b2R1bGUsIGVycm9yOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dl
ZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uIgorRkFJTCBJbXBvcnRpbmcgYSBzYW1l
LW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1pbmNsdWRlIHNob3VsZCBzZW5kIHRoZSBj
cmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitG
QUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5j
bHVkZSBzaG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogQ3Jvc3Mtb3JpZ2luIHNj
cmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3ku
IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29y
a2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGJmMzM1Y2YzMDU1ZTA2NWIzODk4OWI0
MWFhMWUyMzZmZWI0YWMyOWQuLjI3NWIzNDM3ZmFkOTc1M2E2ZWNlMjQyMDBlYWJmMjU3ZmZkNjI3
MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8t
d29ya2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQwICsxLDUyIEBACitCbG9ja2Vk
IGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmts
ZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQz
L3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVy
LmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9z
dDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMt
aGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxv
Y2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRo
LWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93
d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlw
dC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0
cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0
LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXpl
ZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05T
T0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3Rp
dmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6
Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNj
cmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBD
b250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05TT0xF
IE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUg
J3dvcmtlci1zcmMnLgogCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNl
Y3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291
cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1F
U1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmts
ZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRp
c3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrbGV0
cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KIAog
Q09OU09MRSBNRVNTQUdFOiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxs
b3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojg4
MDAvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFk
ZXIuanMuCiAKK0NPTlNPTEUgTUVTU0FHRTogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2FkZG1vZHVsZS13aW5kb3cuaHRtbCB3
YXMgbm90IGFsbG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xv
Y2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRo
LWNvcnMtaGVhZGVyLmpzLgorCitDT05TT0xFIE1FU1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBh
dCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2lu
ZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9t
IGh0dHA6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1z
Y3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KKwogCiBGQUlMIEEgcmVtb3RlLW9yaWdpbiB3b3Jr
bGV0IHNob3VsZCBiZSBibG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUu
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCi1G
QUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlw
dCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFT
UyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQg
c2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4KIEZB
SUwgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3Jp
cHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKIEZB
SUwgQSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBi
eSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmts
ZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUg
YmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3Jp
Z2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBz
aG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLgogUEFT
UyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0
aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4K
LVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2
ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdv
cmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9j
a2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdp
biBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAi
UkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90
ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQt
c3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgogUEFTUyBBIHJl
bW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNh
dXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dz
IGl0LgotUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdp
bi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2Ny
aXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KK0ZBSUwg
QSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3Rl
ZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGly
ZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdp
biB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICog
ZGlyZWN0aXZlIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRo
ZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3
b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxv
Y2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSBy
ZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hv
dWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxs
b3dzIGl0LgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBu
b3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBp
dC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4t
cmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlw
dC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQg
aW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90IGJl
IGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNT
IEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29y
a2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRp
cmVjdGl2ZS4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1v
cmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJl
Y3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KK0ZB
SUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0
IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVz
ZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUtb3Jp
Z2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBi
ZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9i
ZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJl
Y3RlZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJl
Y3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KLVBB
U1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJl
Y3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVj
dGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgorRkFJ
TCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVj
dGVkIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0
aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEFu
IGluc2VjdXJlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4
ZWQgY29udGVudHMuCiBQQVNTIEFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHdvcmtsZXQg
c2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVzZSBvZiBtaXhlZCBjb250ZW50cy4KLUZBSUwgQSBzYW1l
LW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhbiBpbnNlY3VyZS1vcmlnaW4gc2NyaXB0IHNob3Vs
ZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCi1GQUlMIEEgc2FtZS1vcmlnaW4g
d29ya2xldCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNo
b3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCitQQVNTIEEgc2FtZS1vcmln
aW4gd29ya2xldCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUg
YmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgorUEFTUyBBIHNhbWUtb3JpZ2luIHdv
cmtsZXQgaW1wb3J0aW5nIGFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91
bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlv
LXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZlODk2NWFlZjZjYWRhMjIxOWVmOGUzMDg4OGJhOTFlMjQw
MTdhYzAuLjY3NjQ3ZDQ2ODdiOWQzY2ZjODZlMGIyYzhmNTY4ZTIwZjViZWMzOTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMv
YXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1p
bXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xNiw3ICsxNiw3IEBAIFBBU1MgSW1wb3J0aW5n
IGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlIHdpdGggdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbiBoZWFkCiBQQVNTIEltcG9ydGluZyBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRob3V0
IHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZWplY3QgdGhl
IGdpdmVuIHByb21pc2UKIFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0ZWQg
cmVzb3VyY2Ugd2l0aCB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWRlciBzaG91
bGQgcmVzb2x2ZSB0aGUgZ2l2ZW4gcHJvbWlzZQogUEFTUyBJbXBvcnRpbmcgYSBjcm9zcy1vcmln
aW4tcmVkaXJlY3RlZCByZXNvdXJjZSB3aXRob3V0IHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4gaGVhZGVyIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UKLUZBSUwgSW1wb3J0
aW5nIGEgc2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdp
dmVuIHByb21pc2UuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRl
ZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIEltcG9ydGluZyBhIG5lc3RlZCBz
Y3JpcHQgdGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJv
bWlzZS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBS
ZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1w
b3J0cyBhbiBpbnZhbGlkIGlkZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlz
ZS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaGFzIGEg
c3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuCitQQVNTIEltcG9y
dGluZyBhIG5lc3RlZCBzY3JpcHQgdGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVj
dCB0aGUgZ2l2ZW4gcHJvbWlzZS4KK1BBU1MgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1wb3J0
cyBhbiBpbnZhbGlkIGlkZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8t
d29ya2xldC1yZWZlcnJlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjRkNDk5YzE0MWNlZTZk
YzliMmViZTI0YmZiNGZmNGMwM2EwYTk3My4uOWY2ZDExMzA1OWQ5ZmFkNTBjNjMwMDdiN2ZjZDJj
YmQ2NzI3NzY1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtsZXRzL2F1ZGlvLXdvcmtsZXQtcmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsOCBAQAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2Nh
bGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJl
cl9wb2xpY3k9bm8tcmVmZXJyZXImZXhwZWN0ZWRfcmVmZXJyZXI9CitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291
cmNlcy9yZWZlcnJlci1jaGVja2VyLnB5P3JlZmVycmVyX3BvbGljeT1vcmlnaW4mZXhwZWN0ZWRf
cmVmZXJyZXI9aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8KK0NPTlNPTEUgTUVTU0FHRTogT3JpZ2lu
IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luLgorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3
MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9y
ZWZlcnJlcl9wb2xpY3k9c2FtZS1vcmlnaW4mZXhwZWN0ZWRfcmVmZXJyZXI9CitDT05TT0xFIE1F
U1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFj
Y2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIAogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdp
biBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3Jp
Z2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBv
bGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCkBAIC02LDE1ICsxMSwxNSBAQCBQQVNTIElt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJvcmln
aW4iIHJlZmVycmVyIHBvbAogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJv
bSBhIHBhZ2UgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNl
bmQgcmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20g
YSBwYWdlIHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qg
c2VuZCByZWZlcnJlci4KIFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20g
YSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVy
cmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0
IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJy
ZXIuCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9y
aWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGlj
eSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNP
TFZFRCIgYnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1P
cmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9y
aWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMg
Im5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgog
UEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdp
biB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBz
aG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNj
cmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBy
ZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhh
dCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFT
UyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29y
a2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5k
IHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEg
cmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBw
b2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2lu
IHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUt
b3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9y
dGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNj
cmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNl
bmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEg
cmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVy
cmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRo
YXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVy
LgorRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmln
aW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3Vs
ZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBn
b3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291
cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0
IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJl
ZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4i
CitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3Jp
Z2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91
bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQg
Z290ICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNv
dXJjZSBTaGFyaW5nIHBvbGljeS4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlw
dCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2lu
IiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWls
ZWQuIgorRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1v
cmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVT
T0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1v
cmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFz
ICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBt
b2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9y
aWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBk
ZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Bl
bi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQt
d29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggMWUyZDM5OTJmNmQ1ZGYzMjIwN2E2YjBm
NjE5YTZkNzExODEyNDAwZC4uN2E3YTkxN2VhYTk4ZTkyZWUwM2VjMjhhMTFlNzgwODRkMjM0Yjg4
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvb3Blbi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVy
bC1yZWRpcmVjdGVkLXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAog
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cyLmxvY2FsaG9zdDo4ODAw
L3hoci9yZXNvdXJjZXMvaW5zcGVjdC1oZWFkZXJzLnB5P2ZpbHRlcl9uYW1lPW9yaWdpbiZjb3Jz
CiAKLUZBSUwgUmVmZXJlciBoZWFkZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJlZmVyZXI6
IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL3dvcmtlcnhoci1vcmlnaW4tcmVm
ZXJyZXIuanNcbiIgYnV0IGdvdCAiUmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3hoci9y
ZXNvdXJjZXMvcmVkaXJlY3QucHk/bG9jYXRpb249d29ya2VyeGhyLW9yaWdpbi1yZWZlcnJlci5q
c1xuIgorUEFTUyBSZWZlcmVyIGhlYWRlcgogRkFJTCBPcmlnaW4gaGVhZGVyIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJPcmlnaW46IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMFxuIiBidXQgZ290ICIi
CiBQQVNTIFJlcXVlc3QgVVJMIHRlc3QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vYXVkaW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2F1ZGlvd29ya2xldC1hZGRNb2R1bGUtZmFpbHVyZS1leHBlY3RlZC50eHQK
aW5kZXggMDhhZjExNDM2MDU1MWJmNWE4MDc5YWYwYTM4MTVjNGUwOGViZDE0My4uMGJjYTQ4NWI2
Y2FlMjViOWQ1ZTFjZWI4MjgxN2ZhNWVkMzI3MDJhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vYXVkaW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhw
ZWN0ZWQudHh0CkBAIC00LDcgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBB
U1MgY29udGV4dC5hdWRpb1dvcmtsZXQuYWRkTW9kdWxlKGludmFsaWRVUkwpOyByZWplY3RlZCBw
cm9taXNlICB3aXRoIFN5bnRheEVycm9yOiBNb2R1bGUgVVJMIGlzIGludmFsaWQuCi1QQVNTIGNv
bnRleHQuYXVkaW9Xb3JrbGV0LmFkZE1vZHVsZSgnZG9lc25vdEV4aXN0LmpzJyk7IHJlamVjdGVk
IHByb21pc2UgIHdpdGggQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6
IFRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuLgorUEFTUyBj
b250ZXh0LmF1ZGlvV29ya2xldC5hZGRNb2R1bGUoJ2RvZXNub3RFeGlzdC5qcycpOyByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIEFib3J0RXJyb3I6IFRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQuLgog
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL3dvcmtsZXQtY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDY1NGRk
ZjdmMTdlZmFiNThlNDJmYWJlMzg1MjU3OTY0YWUyYzVkNDEuLjE4NTBmZjQ3NTQ1OThlZjNjNmNh
NGI2OTkyZDVlNTZlNjUwNTdlYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dv
cmtsZXQtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dvcmts
ZXQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xICsxLDIgQEAKK0NPTlNPTEUgTUVTU0FHRTogQWJv
cnRFcnJvcjogJ3RleHQvaHRtbCcgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUu
CiBUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420086</attachid>
            <date>2021-02-11 20:26:44 -0800</date>
            <delta_ts>2021-02-11 22:52:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210211202643.patch</filename>
            <type>text/plain</type>
            <size>235629</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
MDMzNjA1Y2FjMDYxMTJjMzYzYWMwMjlmMjYxZDc2OGRjNDEzZmRjLi42ZWUzOWExOTY5ZTA0YjY4
NDIxM2NkY2Q0MGE2NDVmYjBkNzNlZTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcDoK
KyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9yKToKKyAgICAgICAg
KiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRlRXJyb3IpOgorICAgICAg
ICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVSYW5nZUVycm9y
KToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3IpOgorICAgICAgICAoSlNDOjpj
cmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVR5cGVFcnJvcik6CisgICAg
ICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlR2V0dGVyVHlw
ZUVycm9yKToKKyAgICAgICAgKEpTQzo6dGhyb3dTeW50YXhFcnJvcik6CisgICAgICAgICogcnVu
dGltZS9FcnJvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogcnVudGlt
ZS9FcnJvckluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6RXJyb3JJ
bnN0YW5jZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OmNyZWF0ZSk6CisgICAgICAg
IChKU0M6OkVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmcpOgorICAgICAgICAo
SlNDOjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5nKToKKyAgICAgICAgKEpTQzo6
RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvRXJy
b3JJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGUpOgorICAg
ICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjplcnJvclR5cGUgY29uc3QpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBl
Pjo6Y29uc3RydWN0SW1wbCk6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8
ZXJyb3JUeXBlPjo6Y2FsbEltcGwpOgorICAgICAgICAqIHJ1bnRpbWUvTnVsbFNldHRlckZ1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TnVsbFNldHRlckZ1bmN0aW9uSW50ZXJuYWw6OkpTQ19E
RUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29t
cGlsZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6
SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TGlua0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6
SlNXZWJBc3NlbWJseUxpbmtFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
cjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3Nl
bWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04p
OgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisKIDIwMjEtMDIt
MTEgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogIlNob3cgRXh0ZW5kZWQgR3JpZGxpbmVzIiBvcHRpb24gZm9yIGdyaWQgb3Zl
cmxheSBkb2VzIG5vdCB3b3JrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjExZTgzZTAzMDYxMjc3ODNkZjI4NzM0
MDc5MGZlYjJhOTliMjg2ZS4uYTY1Y2RkMzMyYjMyMWI1Y2NmNDZkZWFiYTU3MTkzMmQ4YjJlMTcx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMiBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBIZWFkZXJz
LmNtYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
OjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlw
dEZldGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdFNjcmlwdFdpdGhDYWNoZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01F
eGNlcHRpb25IYW5kbGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXRyaWV2ZUVycm9yTWVz
c2FnZVdpdGhvdXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZURPTUV4Y2VwdGlvbik6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnNjcmlwdE1vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVj
dDo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxP
YmplY3Q6Om1vZHVsZUxvYWRlckV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xv
YmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVz
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RP
TVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJlc29sdmUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRjaCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckV2YWx1YXRlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1w
b3J0TW9kdWxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6
bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOiBEZWxldGVkLgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL01vZHVsZVNj
cmlwdExvYWRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5
cGUuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6Y2xlYXJDbGllbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpzY3JpcHRGZXRjaGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6cGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpNb2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6Cisg
ICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1
bGVMb2FkZXI6Om1vZHVsZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2Fk
ZXI6OnJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
TW9kdWxlTG9hZGVyOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVM
b2FkZXI6OmltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVM
b2FkZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlOjpTY3JpcHRTb3VyY2VDb2RlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6fldv
cmtlck1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXI6OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVHlwZS5oLgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaDog
QWRkZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRXhjZXB0
aW9uQ29kZS5oOgorICAgICAgICAqIGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZCk6IERlbGV0ZWQuCisgICAg
ICAgICogZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0Lmg6CisgICAgICAgICogZG9tL1NjcmlwdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVs
ZVNjcmlwdCk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBsb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6
Y3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXI6Oldvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmlkbDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckds
b2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0cyk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmNyZWRlbnRp
YWxzIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2FkZXIpOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9u
b3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVsZSk6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2Ny
aXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
U2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6
OnJlc3BvbnNlU291cmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExv
YWRlcjo6aXNSZWRpcmVjdGVkIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRlZENvcHkg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0ZVNjcmlwdElm
TmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyVHlwZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYjo6ZmV0Y2hTY3Jp
cHRXaXRoQ29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25PcHRpb25zLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
VGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyV29ya2VyLmg6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2Jh
bFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6ZmV0Y2hB
bmRJbnZva2VTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpw
cm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpkaWRSZWNlaXZlUmVzcG9uc2UpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpub3RpZnlGaW5pc2hlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OmRpZENvbXBsZXRl
U2NyaXB0RmV0Y2hKb2IpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5oOgorCiAyMDIxLTAyLTExICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIyNzI3NTg7IGluY2x1ZGUg
bWlzc2luZyBjaGFuZ2UgdG8gUnVudGltZUVuYWJsZWRGZWF0dXJlcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcAppbmRleCA3NTlhNWIyNGEw
ZWQwODY4MGNjYWE2MzQwZDJlOTVkNDUwYjgwZmQ2Li4yOTZjODVjYzkwZTA1YjU0NTQ3ZjY2MmE3
ZTJmOGExZTEzMGE0NmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BZ2dyZWdhdGVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QWdncmVnYXRlRXJyb3IuY3BwCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogY29u
c3QgQ2xhc3NJbmZvIEFnZ3JlZ2F0ZUVycm9yOjpzX2luZm8gPSB7ICJBZ2dyZWdhdGVFcnJvciIs
ICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoQWdn
cmVnYXRlRXJyb3IpIH07CiAKIEFnZ3JlZ2F0ZUVycm9yOjpBZ2dyZWdhdGVFcnJvcihWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDog
QmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5cGU6OkFnZ3JlZ2F0ZUVycm9yKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKaW5kZXggZjQ3M2I4MTgxZWMyZjAy
YTBjYzc4YTI2YzBjMjBkYzk2MzFmZGM3NC4uZmNhY2YxZTMyMmViMjcyNzg3NGZmMjUyNjI0MWVk
N2JlOThjZTUzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcApAQCAt
MzUsMzcgKzM1LDM3IEBAIG5hbWVzcGFjZSBKU0MgewogSlNPYmplY3QqIGNyZWF0ZUVycm9yKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJ
bnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdl
LmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpLCBt
ZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJldHVybiBFcnJvcklu
c3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9i
amVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBF
cnJvclR5cGU6OkVycm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZUV2YWxFcnJvcihK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9y
SW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2Fn
ZS5pc0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJy
b3JUeXBlOjpFdmFsRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUp
OworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxP
YmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpFdmFs
RXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXZhbEVy
cm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVJhbmdlRXJyb3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpT
b3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgp
KTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFs
T2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmFu
Z2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0
dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0o
KSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJhbmdlRXJyb3IpLCBt
ZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6UmFuZ2VFcnJvciwgdHJ1
ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVSZWZlcmVuY2VFcnJvcihKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6OlNvdXJj
ZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkpOwot
ICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmpl
Y3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpSZWZlcmVu
Y2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0
dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0o
KSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJlZmVyZW5jZUVycm9y
KSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlJlZmVyZW5jZUVy
cm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6
U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHko
KSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2Jh
bE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlN5
bnRheEVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsKKyAgICBy
ZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52
bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6U3ludGF4RXJyb3Ip
LCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6U3ludGF4RXJyb3Is
IHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNl
QXBwZW5kZXIgYXBwZW5kZXIsIFJ1bnRpbWVUeXBlIHR5cGUpCiB7CiAgICAgQVNTRVJUKCFtZXNz
YWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShF
cnJvclR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCB0eXBlLCB0cnVlKTsKKyAg
ICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0
LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9y
KSwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIEVycm9yVHlwZTo6VHlwZUVycm9yLCB0cnVlKTsK
IH0KIAogSlNPYmplY3QqIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVy
KQpAQCAtNzYsNyArNzYsNyBAQCBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJy
b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JJbnN0YQogSlNPYmplY3QqIGNy
ZWF0ZVVSSUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAg
QVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNy
ZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJv
clN0cnVjdHVyZShFcnJvclR5cGU6OlVSSUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVO
b3RoaW5nLCB0cnVlKTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVy
cm9yVHlwZTo6VVJJRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9y
VHlwZTo6VVJJRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlRXJyb3IoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JUeXBlIGVycm9yVHlwZSwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQpAQCAtMTEzLDcgKzExMyw3IEBAIEpTT2JqZWN0KiBjcmVhdGVFcnJvcihKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvclR5cGVXaXRoRXh0ZW5zaW9uIGVycm9yCiBK
U09iamVjdCogY3JlYXRlR2V0dGVyVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0
eSgpKTsKLSAgICBhdXRvKiBlcnJvciA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJv
clR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UpOworICAgIGF1dG8qIGVycm9yID0gRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6VHlwZUVycm9yKTsKICAgICBlcnJvci0+c2V0TmF0
aXZlR2V0dGVyVHlwZUVycm9yKCk7CiAgICAgcmV0dXJuIGVycm9yOwogfQpAQCAtMjc0LDcgKzI3
NCw3IEBAIEV4Y2VwdGlvbiogdGhyb3dUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGhyb3dTY29wZSYgc2NvcGUsIGNvbnN0CiAKIEV4Y2VwdGlvbiogdGhyb3dTeW50YXhF
cnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUaHJvd1Njb3BlJiBzY29wZSkKIHsK
LSAgICByZXR1cm4gdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSwgY3JlYXRlU3lu
dGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCAiU3ludGF4IGVycm9yIl9zKSk7CisgICAgcmV0dXJuIHRo
cm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUsIGNyZWF0ZVN5bnRheEVycm9yKGdsb2Jh
bE9iamVjdCkpOwogfQogCiBFeGNlcHRpb24qIHRocm93U3ludGF4RXJyb3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgVGhyb3dTY29wZSYgc2NvcGUsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKQEAgLTMxNyw2ICszMTcsMTEgQEAgSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICByZXR1
cm4gY3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCBtZXNzYWdlLCBudWxscHRyKTsKIH0K
IAorSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgcmV0dXJuIGNyZWF0ZVN5bnRheEVycm9yKGdsb2JhbE9iamVjdCwgIlN5bnRh
eCBlcnJvciJfcywgbnVsbHB0cik7Cit9CisKIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJyb3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICByZXR1cm4gY3JlYXRlVHlwZUVycm9y
KGdsb2JhbE9iamVjdCwgIlR5cGUgZXJyb3IiX3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yLmgKaW5kZXggNmRhYTE1NDIxNTY2NjEwZTRhY2U2ZGUzMzVmMzRkM2JmN2M3NDQ0ZC4u
ZGM4MjUyODJjMzU2NDg3MTMyNTQ1NDRiYzhkODE4ODg0MDBlNDM4YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvci5oCkBAIC01NSw2ICs1NSw3IEBAIEpTX0VYUE9SVF9QUklWQVRF
IEpTT2JqZWN0KiBjcmVhdGVFdmFsRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcm
KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVSYW5nZUVycm9yKEpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3Jl
YXRlUmVmZXJlbmNlRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmKTsKIEpTX0VY
UE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0dsb2JhbE9iamVjdCos
IGNvbnN0IFN0cmluZyYpOworSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVN5bnRh
eEVycm9yKEpTR2xvYmFsT2JqZWN0Kik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3Jl
YXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0Kik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVj
dCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19F
WFBPUlRfUFJJVkFURSBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoSlNH
bG9iYWxPYmplY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMGYyZjVhMzE4NDAyZmJiN2M3ZDg4MDJiNmQ3ODQyZWZl
NDA2Yzg0Ni4uOWJlOTMwY2YxYzNjOWE0MGU2MDg1OTgzNTU4YTFhNTliYzc4YjYyZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAK
QEAgLTYwLDE0ICs2MCwxNCBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RXJy
b3JDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogICAgICAgICA6IElu
dGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKGdsb2JhbE9iamVjdCwgbmV3
VGFyZ2V0LCBnZXRGdW5jdGlvblJlYWxtKHZtLCBuZXdUYXJnZXQpLT5lcnJvclN0cnVjdHVyZSgp
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgUkVMRUFTRV9B
TkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5n
LCBmYWxzZSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29k
ZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVz
c2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSkpOwog
fQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEVycm9yQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAgICAg
SlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUq
IGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
ZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJv
clR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBib29sIEVycm9yQ29uc3RydWN0b3I6OnB1dChK
U0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKaW5kZXggMmU0
ZWMzOWYxMjA1OGIyNTA4NzIyZTBiODI1MjI0N2JlYjAzMTllNi4uMGY4NmUyMmI5MmRkZDZkMTM5
ODU4Yjg2ZTU2Y2VhZGNhZWNlMGQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKQEAgLTM0LDE4ICszNCwyMyBAQCBuYW1lc3BhY2UgSlND
IHsKIAogY29uc3QgQ2xhc3NJbmZvIEVycm9ySW5zdGFuY2U6OnNfaW5mbyA9IHsgIkVycm9yIiwg
JkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhP
RF9UQUJMRShFcnJvckluc3RhbmNlKSB9OwogCi1FcnJvckluc3RhbmNlOjpFcnJvckluc3RhbmNl
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitFcnJvckluc3RhbmNlOjpFcnJvckluc3Rh
bmNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVycm9yVHlwZSBlcnJvclR5cGUpCiAg
ICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgLCBtX2Vycm9yVHlwZShlcnJvclR5cGUpCisg
ICAgLCBtX3N0YWNrT3ZlcmZsb3dFcnJvcihmYWxzZSkKKyAgICAsIG1fb3V0T2ZNZW1vcnlFcnJv
cihmYWxzZSkKKyAgICAsIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkKGZhbHNlKQorICAgICwgbV9u
YXRpdmVHZXR0ZXJUeXBlRXJyb3IoZmFsc2UpCiB7CiB9CiAKLUVycm9ySW5zdGFuY2UqIEVycm9y
SW5zdGFuY2U6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNWYWx1ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRlciwgUnVu
dGltZVR5cGUgdHlwZSwgYm9vbCB1c2VDdXJyZW50RnJhbWUpCitFcnJvckluc3RhbmNlKiBFcnJv
ckluc3RhbmNlOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTVmFsdWUgbWVzc2FnZSwgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1
bnRpbWVUeXBlIHR5cGUsIEVycm9yVHlwZSBlcnJvclR5cGUsIGJvb2wgdXNlQ3VycmVudEZyYW1l
KQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcgPSBtZXNz
YWdlLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoKSA6IG1lc3NhZ2UudG9XVEZTdHJpbmcoZ2xvYmFs
T2JqZWN0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLSAgICBy
ZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbWVzc2FnZVN0cmluZywg
YXBwZW5kZXIsIHR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CisgICAgcmV0dXJuIGNyZWF0ZShnbG9i
YWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGFwcGVuZGVyLCB0eXBlLCBl
cnJvclR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwZW5kU291
cmNlVG9FcnJvck1lc3NhZ2UoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEVycm9ySW5zdGFuY2UqIGV4
Y2VwdGlvbiwgQnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4LCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCkBAIC0xMzEsNyArMTM2LDI1IEBAIHZvaWQgRXJyb3JJbnN0YW5jZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTCiAvLyBCYXNl
ZCBvbiBFcnJvclByb3RvdHlwZSdzIGVycm9yUHJvdG9GdW5jVG9TdHJpbmcoKSwgYnV0IGlzIG1v
ZGlmaWVkIHRvCiAvLyBoYXZlIG5vIG9ic2VydmFibGUgc2lkZSBlZmZlY3RzIHRvIHRoZSB1c2Vy
IChpLmUuIGRvZXMgbm90IGNhbGwgcHJveGllcywKIC8vIGFuZCBnZXR0ZXJzKS4KLVN0cmluZyBF
cnJvckluc3RhbmNlOjpzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQorU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmcoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZt
KCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEludGVn
cml0eTo6YXVkaXRTdHJ1Y3R1cmVJRCh2bSwgc3RydWN0dXJlSUQoKSk7CisKKyAgICBKU1ZhbHVl
IG1lc3NhZ2VWYWx1ZTsKKyAgICBhdXRvIG1lc3NhZ2VQcm9wZXJ0TmFtZSA9IHZtLnByb3BlcnR5
TmFtZXMtPm1lc3NhZ2U7CisgICAgUHJvcGVydHlTbG90IG1lc3NhZ2VTbG90KHRoaXMsIFByb3Bl
cnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnksICZ2bSk7CisgICAgaWYgKEpT
T2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZ2xvYmFsT2JqZWN0LCBtZXNzYWdlUHJv
cGVydE5hbWUsIG1lc3NhZ2VTbG90KSAmJiBtZXNzYWdlU2xvdC5pc1ZhbHVlKCkpCisgICAgICAg
IG1lc3NhZ2VWYWx1ZSA9IG1lc3NhZ2VTbG90LmdldFZhbHVlKGdsb2JhbE9iamVjdCwgbWVzc2Fn
ZVByb3BlcnROYW1lKTsKKyAgICBzY29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOworCisgICAgaWYg
KCFtZXNzYWdlVmFsdWUpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBSRUxFQVNFX0FO
RF9SRVRVUk4oc2NvcGUsIG1lc3NhZ2VWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpKTsK
K30KKworU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZE5hbWVTdHJpbmcoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtMTU3LDI4ICsx
ODAsMjIgQEAgU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZFRvU3RyaW5nKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgfQogICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9u
KCk7CiAKLSAgICBTdHJpbmcgbmFtZVN0cmluZzsKICAgICBpZiAoIW5hbWVWYWx1ZSkKLSAgICAg
ICAgbmFtZVN0cmluZyA9ICJFcnJvciJfczsKLSAgICBlbHNlIHsKLSAgICAgICAgbmFtZVN0cmlu
ZyA9IG5hbWVWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpOwotICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7Ci0gICAgfQorICAgICAgICByZXR1cm4gIkVy
cm9yIl9zOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbmFtZVZhbHVlLnRvV1RGU3Ry
aW5nKGdsb2JhbE9iamVjdCkpOworfQogCi0gICAgSlNWYWx1ZSBtZXNzYWdlVmFsdWU7Ci0gICAg
YXV0byBtZXNzYWdlUHJvcGVydE5hbWUgPSB2bS5wcm9wZXJ0eU5hbWVzLT5tZXNzYWdlOwotICAg
IFByb3BlcnR5U2xvdCBtZXNzYWdlU2xvdCh0aGlzLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0
aG9kVHlwZTo6Vk1JbnF1aXJ5LCAmdm0pOwotICAgIGlmIChKU09iamVjdDo6Z2V0T3duUHJvcGVy
dHlTbG90KHRoaXMsIGdsb2JhbE9iamVjdCwgbWVzc2FnZVByb3BlcnROYW1lLCBtZXNzYWdlU2xv
dCkgJiYgbWVzc2FnZVNsb3QuaXNWYWx1ZSgpKQotICAgICAgICBtZXNzYWdlVmFsdWUgPSBtZXNz
YWdlU2xvdC5nZXRWYWx1ZShnbG9iYWxPYmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSk7Ci0gICAg
c2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKK1N0cmluZyBFcnJvckluc3RhbmNlOjpzYW5pdGl6
ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7CisgICAgSW50ZWdyaXR5OjphdWRpdFN0cnVjdHVyZUlEKHZtLCBzdHJ1Y3R1cmVJRCgp
KTsKIAotICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nOwotICAgIGlmICghbWVzc2FnZVZhbHVlKQot
ICAgICAgICBtZXNzYWdlU3RyaW5nID0gU3RyaW5nKCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG1l
c3NhZ2VTdHJpbmcgPSBtZXNzYWdlVmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKLSAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOwotICAgIH0KKyAgICBT
dHJpbmcgbmFtZVN0cmluZyA9IHNhbml0aXplZE5hbWVTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKKyAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7CisKKyAgICBTdHJpbmcgbWVz
c2FnZVN0cmluZyA9IHNhbml0aXplZE1lc3NhZ2VTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKKyAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7CiAKICAgICBpZiAoIW5hbWVTdHJp
bmcubGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBtZXNzYWdlU3RyaW5nOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCmluZGV4IGRhNjZlYjc2ZTdhZGU5
MGZkNDFiYjE2MjcwNzI1YTdkMTQ3MGFkMzguLjk4NzEzNTcyMWIzMDU2NjIzMGQyNjFjODMzYWQ4
ZGVjYTU0NjE0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9ySW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvcklu
c3RhbmNlLmgKQEAgLTIwLDYgKzIwLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJF
cnJvclR5cGUuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVUeXBl
LmgiCiAjaW5jbHVkZSAiU3RhY2tGcmFtZS5oIgpAQCAtNTMsMTQgKzU0LDE0IEBAIGNsYXNzIEVy
cm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgICAgIHJldHVybiBT
dHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEVy
cm9ySW5zdGFuY2VUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi0gICAg
c3RhdGljIEVycm9ySW5zdGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFNv
dXJjZUFwcGVuZGVyIGFwcGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVO
b3RoaW5nLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUpCisgICAgc3RhdGljIEVycm9ySW5z
dGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyIGFw
cGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVOb3RoaW5nLCBFcnJvclR5
cGUgZXJyb3JUeXBlID0gRXJyb3JUeXBlOjpFcnJvciwgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0
cnVlKQogICAgIHsKLSAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJbnN0YW5jZSh2
bSwgc3RydWN0dXJlKTsKKyAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJbnN0YW5j
ZSh2bSwgc3RydWN0dXJlLCBlcnJvclR5cGUpOwogICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3Jl
YXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIHVzZUN1cnJl
bnRGcmFtZSk7CiAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICB9CiAKLSAgICBzdGF0aWMg
RXJyb3JJbnN0YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNWYWx1
ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlID0gVHlwZU5v
dGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSk7CisgICAgc3RhdGljIEVycm9ySW5z
dGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTVmFsdWUgbWVzc2Fn
ZSwgU291cmNlQXBwZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVOb3RoaW5nLCBF
cnJvclR5cGUgPSBFcnJvclR5cGU6OkVycm9yLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUp
OwogCiAgICAgYm9vbCBoYXNTb3VyY2VBcHBlbmRlcigpIGNvbnN0IHsgcmV0dXJuICEhbV9zb3Vy
Y2VBcHBlbmRlcjsgfQogICAgIFNvdXJjZUFwcGVuZGVyIHNvdXJjZUFwcGVuZGVyKCkgY29uc3Qg
eyByZXR1cm4gbV9zb3VyY2VBcHBlbmRlcjsgfQpAQCAtNzAsNiArNzEsNyBAQCBjbGFzcyBFcnJv
ckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIFJ1bnRpbWVUeXBlIHJ1
bnRpbWVUeXBlRm9yQ2F1c2UoKSBjb25zdCB7IHJldHVybiBtX3J1bnRpbWVUeXBlRm9yQ2F1c2U7
IH0KICAgICB2b2lkIGNsZWFyUnVudGltZVR5cGVGb3JDYXVzZSgpIHsgbV9ydW50aW1lVHlwZUZv
ckNhdXNlID0gVHlwZU5vdGhpbmc7IH0KIAorICAgIEVycm9yVHlwZSBlcnJvclR5cGUoKSBjb25z
dCB7IHJldHVybiBtX2Vycm9yVHlwZTsgfQogICAgIHZvaWQgc2V0U3RhY2tPdmVyZmxvd0Vycm9y
KCkgeyBtX3N0YWNrT3ZlcmZsb3dFcnJvciA9IHRydWU7IH0KICAgICBib29sIGlzU3RhY2tPdmVy
Zmxvd0Vycm9yKCkgY29uc3QgeyByZXR1cm4gbV9zdGFja092ZXJmbG93RXJyb3I7IH0KICAgICB2
b2lkIHNldE91dE9mTWVtb3J5RXJyb3IoKSB7IG1fb3V0T2ZNZW1vcnlFcnJvciA9IHRydWU7IH0K
QEAgLTc5LDYgKzgxLDggQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05vbkZpbmFs
T2JqZWN0IHsKICAgICBib29sIGlzTmF0aXZlR2V0dGVyVHlwZUVycm9yKCkgY29uc3QgeyByZXR1
cm4gbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3I7IH0KIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0
cmluZyBzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCopOworICAgIEpTX0VYUE9SVF9Q
UklWQVRFIFN0cmluZyBzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKEpTR2xvYmFsT2JqZWN0Kik7Cisg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIHNhbml0aXplZE5hbWVTdHJpbmcoSlNHbG9iYWxP
YmplY3QqKTsKICAgICAKICAgICBWZWN0b3I8U3RhY2tGcmFtZT4qIHN0YWNrVHJhY2UoKSB7IHJl
dHVybiBtX3N0YWNrVHJhY2UuZ2V0KCk7IH0KIApAQCAtODgsNyArOTIsNyBAQCBjbGFzcyBFcnJv
ckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIHZvaWQgZmluYWxpemVV
bmNvbmRpdGlvbmFsbHkoVk0mKTsKIAogcHJvdGVjdGVkOgotICAgIGV4cGxpY2l0IEVycm9ySW5z
dGFuY2UoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICBleHBsaWNpdCBFcnJvckluc3RhbmNlKFZNJiwg
U3RydWN0dXJlKiwgRXJyb3JUeXBlKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBK
U0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYsIFNvdXJjZUFwcGVuZGVyID0gbnVsbHB0ciwg
UnVudGltZVR5cGUgPSBUeXBlTm90aGluZywgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKTsK
IApAQCAtMTA4LDEwICsxMTIsMTEgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKICAgICBTdHJpbmcgbV9zb3VyY2VVUkw7CiAgICAgU3RyaW5nIG1fc3Rh
Y2tTdHJpbmc7CiAgICAgUnVudGltZVR5cGUgbV9ydW50aW1lVHlwZUZvckNhdXNlIHsgVHlwZU5v
dGhpbmcgfTsKLSAgICBib29sIG1fc3RhY2tPdmVyZmxvd0Vycm9yIHsgZmFsc2UgfTsKLSAgICBi
b29sIG1fb3V0T2ZNZW1vcnlFcnJvciB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2Vycm9ySW5mb01h
dGVyaWFsaXplZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX25hdGl2ZUdldHRlclR5cGVFcnJvciB7
IGZhbHNlIH07CisgICAgRXJyb3JUeXBlIG1fZXJyb3JUeXBlIHsgRXJyb3JUeXBlOjpFcnJvciB9
OworICAgIGJvb2wgbV9zdGFja092ZXJmbG93RXJyb3IgOiAxOworICAgIGJvb2wgbV9vdXRPZk1l
bW9yeUVycm9yIDogMTsKKyAgICBib29sIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkIDogMTsKKyAg
ICBib29sIG1fbmF0aXZlR2V0dGVyVHlwZUVycm9yIDogMTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3RGdW5jdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuY3BwCmluZGV4IDQwMjFmYzdlMGFkYWY3YTBhOWUwZWY2Y2ZkMjI1
ODM4YjViZjg3ODMuLmFmNzI2MjgzMWNhMWJiNzVjNmFlNTU0MTFkZTRjZDg1YTgxMzdkYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVu
Y3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdEZ1bmN0aW9ucy5jcHAKQEAgLTY5NCw3ICs2OTQsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVO
Q1RJT04oZ2xvYmFsRnVuY1Rocm93VHlwZUVycm9yQXJndW1lbnRzQ2FsbGVlQW5kQ2FsbGVyLCAo
SlNHbAogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNNYWtlVHlwZUVycm9yLCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewog
ICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0
dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVy
cm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBjYWxsRnJh
bWUtPmFyZ3VtZW50KDApLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVy
cm9yU3RydWN0dXJlLCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApLCBudWxscHRyLCBUeXBlTm90aGlu
ZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIGZhbHNlKSk7CiB9CiAKIEpTQ19ERUZJTkVfSE9TVF9G
VU5DVElPTihnbG9iYWxGdW5jUHJvdG9HZXR0ZXIsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDdjYzExYjVm
NWUxMjk3MjIwMTZiODY3MWYxMzdjNmJiMTcyMTM4NDAuLmI2ZTdlZGVmZDQyZWRjNjM1ZDkwYjdl
MGU4YzdiNGZjMGMyNDNkMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC01OCw3ICs1OCw3IEBAIGlu
bGluZSBFbmNvZGVkSlNWYWx1ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNv
bnN0cnVjdEltcGwoSlNHbG9iYWxPCiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9
KTsKICAgICBBU1NFUlQoZXJyb3JTdHJ1Y3R1cmUpOwogCi0gICAgUkVMRUFTRV9BTkRfUkVUVVJO
KHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkp
KTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShFcnJvcklu
c3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVs
bHB0ciwgVHlwZU5vdGhpbmcsIGVycm9yVHlwZSwgZmFsc2UpKSk7CiB9CiAKIHRlbXBsYXRlPEVy
cm9yVHlwZSBlcnJvclR5cGU+CkBAIC02Niw3ICs2Niw3IEBAIGlubGluZSBFbmNvZGVkSlNWYWx1
ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNhbGxJbXBsKEpTR2xvYmFsT2Jq
ZWN0CiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAg
ICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVy
ZShlcnJvclR5cGUpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6
Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5
cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxw
dHIsIFR5cGVOb3RoaW5nLCBlcnJvclR5cGUsIGZhbHNlKSk7CiB9CiAKIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihjYWxsRXZhbEVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5jcHAKaW5kZXggMjZmM2I2YThmOWRiNjc4Y2Q5NGQw
NWFlODhiMTFiODllNjFjMGViYy4uMGRkYjJjNmE1MGY0NmJjNjM2OTk1Y2E0NmQ3ZjE4ZTViMjY4
NjNlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRl
ckZ1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsU2V0
dGVyRnVuY3Rpb24uY3BwCkBAIC05NCw3ICs5NCw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElP
TihjYWxsVGhyb3dFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFt
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIC8vIFRoaXMg
ZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgZnJvbSBJQy4gQW5kIHdlIGRvIG5vdCB3YW50IHRvIGlu
Y2x1ZGUgdGhpcyBmcmFtZSBpbiBFcnJvcidzIHN0YWNrLgogICAgIGNvbnN0ZXhwciBib29sIHVz
ZUN1cnJlbnRGcmFtZSA9IGZhbHNlOwotICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwg
c2NvcGUsIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgUmVhZG9ubHlQcm9wZXJ0
eVdyaXRlRXJyb3IsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCB1c2VDdXJyZW50RnJhbWUpKTsKKyAg
ICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlLCBFcnJvckluc3RhbmNlOjpjcmVh
dGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5
cGU6OlR5cGVFcnJvciksIFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yLCBudWxscHRyLCBUeXBl
Tm90aGluZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIHVzZUN1cnJlbnRGcmFtZSkpOwogICAgIHJl
dHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKaW5kZXggMzgzNzNhNzYwZDU5ZDBl
ZWRiNDk0ZGI4OGQ4NTI0ZmFiOWE1MTU0ZS4uOWViZDNkNDQ2YTlkYTlhZDE5ZDdiYTQxOTkwMDYz
ZmM1YTYzMjhmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgSlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvciogSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6Y3JlYXRl
KEpTR2xvYmFsT2JqZWN0KiBnbG8KIH0KIAogSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6SlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAg
IDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5
cGU6OkVycm9yKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCmluZGV4IGVhZGUwMzQxM2U0Y2UzNjBi
YTA4OWY4YzUzZDE4Y2Y4ZDZkNzAyMzUuLjliMjAwNThlY2YzNGFmOTFiNmIxOGQxNWY2NTE1Nzg1
YzIxNzJlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlMaW5rRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEpTV2ViQXNzZW1i
bHlMaW5rRXJyb3IqIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OmNyZWF0ZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqCiB9CiAKIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OkpTV2ViQXNzZW1ibHlM
aW5rRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0sIHN0
cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikKIHsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5UnVudGltZUVycm9yLmNwcAppbmRleCBiZTFmOTI4NjAzMDQ1ZDdjZjcyOTMyNGVl
NGE3N2FlODNmY2U5Y2JlLi4xOTMzYTZlMzg4OGZiZWFjY2YwN2FjMmIzN2M3NDUwNDg0ZmE1MWYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5UnVudGltZUVycm9yLmNwcApAQCAtNDEsNyArNDEsNyBAQCBKU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yKiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpjcmVhdGUoSlNHbG9iYWxP
YmplY3QqIGdsbwogfQogCiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpKU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZt
LCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3Ip
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNWNk
MDAzNWEwMWZkYjc4ZGRjMzVmYzQ3YjZiODU4MGJlNDVkMzU5Ny4uYzNhMGQzOTdmNTA0ZTI1OGYx
ZDcwZjhiNDgyYjc5YTFkOWU3MjY2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxK
U1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAg
ICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVy
ZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5Q29tcGlsZUVycm9y
U3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlw
ZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3Rh
bmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdlYkFzc2Vt
Ymx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3Ry
dWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3NlbWJseUNv
bXBpbGVFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggOTQ2ZGVmNGYxMTUyMjlhMjI1YmU5MzJhYzllNjQzNWI2YzhhYjJh
OS4uMmM1ZjZhMjkzMWYxNTIxNTg1YWFhOTM1ZTU2YjRiZDJmMTljMTZiMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlM
aW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5TGlua0Vycm9yLCAoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamUKIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDAp
OwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndlYkFzc2Vt
Ymx5TGlua0Vycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJv
ckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwg
bnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVz
c2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9
CiAKIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3Nl
bWJseUxpbmtFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2RmZDkxNTY3YjYwYTU4ZGQ5YWE2ODQyZmY2Nzkw
MjFmNWNiOTI1Mi4uYTg1NjY5YzUxOGIxZTlhYTY4Yzk1YWQwNTY2ZWJmZDZmYzNkZmE4YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTY3LDcgKzY3LDcgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJh
bWUtPmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxP
YmplY3QtPndlYkFzc2VtYmx5UnVudGltZUVycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0
cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBl
cnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6
RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3Iq
IFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZSogdGhpc1By
b3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGY4ODU5MTVmZThiZTc5ZTUxMjU4ZmZmOGQ4
MzE4MmM5NWQ3ZDMyY2IuLjlkYjk3ZWQ3MTIwZjM3YjJmYmJmNWZiN2MyZGVjNDQ3ZDg4ZmY2YmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMzAsNiArMzAsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1bWVy
LmgKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keVNvdXJjZS5oCisgICAgTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRl
cnMuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hJZGVudGlmaWVyLmgKICAgICBNb2R1bGVzL2Zl
dGNoL0ZldGNoTG9hZGVyLmgKQEAgLTI4Nyw2ICsyODgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAgICAgYmluZGluZ3MvanMvV2ViQ29yZUpJVE9wZXJhdGlvbnMu
aAogICAgIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oCiAgICAgYmlu
ZGluZ3MvanMvV2luZG93UHJveHkuaAorICAgIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNo
ZXIuaAogCiAgICAgYnJpZGdlL0JyaWRnZS5oCiAgICAgYnJpZGdlL0lkZW50aWZpZXJSZXAuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAppbmRleCAwNDVjZjI3MDZjMDM2N2U0Y2Y5MGIzMmRkZDc5MTQ2ZDVmYTExZGZm
Li43ODBmNzMxNzdkNTQ2Y2Y4YmE0ZjM0NWEzOTBkNzcxZmQ0ZjY1MzY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dApAQCAtNjM5LDYgKzYzOSw3IEBAIGJpbmRpbmdzL2pzL1N0cnVjdHVyZWRDbG9uZS5jcHAKIGJp
bmRpbmdzL2pzL1dlYkNvcmVKSVRPcGVyYXRpb25zLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZUpT
Q2xpZW50RGF0YS5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5j
cHAKK2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKIGJpbmRpbmdzL2pz
L1dpbmRvd1Byb3h5LmNwcAogYmluZGluZ3MvanMvV3JpdGFibGVTdHJlYW0uY3BwCiBicmlkZ2Uv
SWRlbnRpZmllclJlcC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA4YzE1ZWI2NDgwMzczMDU4MDdiNzAzZDBiZGJhYjNmM2Jm
YTU3MTViLi4yM2U5MGI1ZWVlNzY4MTJiOTNkMWNjNTdkNmE3NzhkMTY1MjcwYzVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
MDY5LDE1ICs1MDY5LDE4IEBACiAJCUUzMDU5MjY0MUUyN0EzQUQwMEQ1N0M5OCAvKiBJbmxpbmVD
bGFzc2ljU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzA1OTI2MjFFMjdBMzhDMDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDU5MjY4
MUUyN0EzRDEwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTgg
LyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUUzMDdERUQwMUQ4MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzMDdERUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlF
MzA3REVEMTFEODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVD
ODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMwN0RFRDUx
RDgxRTRGMjAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYg
LyogTG9hZGFibGVNb2R1bGVTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzE1MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVs
cGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMx
NTBFQTUxREE3MjE4RDAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCAqLzsgfTsKIAkJRTMyMDFD
MUExRjhFODIxMzAwNzZBMDMyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4RDA2MDkxRjhFODExOTAwNjQ5
Q0YyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMjNDRkZBMUU1QUY2QUYwMEYwQjRBMCAvKiBKU0RP
TUNvbnZlcnRQcm9taXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzIzQ0ZGOTFFNUFGNkE1MDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzNDMy
REU0MjVEMzc3RTMwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNDMyREUwMjVEMzc3RTIw
MDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgfTsKKwkJRTM0N0U1RkEy
NUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNDdFNUY4MjVENEYwMDAwMEYxN0E1QyAv
KiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRTM1MTg4QjQyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUz
NTY1QjdCMURDMkQ2QzkwMDIxN0RCRCAvKiBKU0V2ZW50Q3VzdG9tLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMg
LyogSlNFdmVudEN1c3RvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUUzNTgwMkI2MURDODQzNUQwMEE5NzczQyAvKiBET01KSVRJRExUeXBlRmls
dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzU4
MDJCNTFEQzg0MzU4MDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTgyQzI4MjUyN0Y2Njkw
MEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNv
cmVKSVRPcGVyYXRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTM1QjkwN0YyM0Y2MEE1MDAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1v
ZGVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzVC
OTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzY0MzIxQzI1RDM3QTY3
MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxl
U2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTM3N0ZFNEQxREFERTE2NTAwQ0REMDI1IC8qIE5vZGVDb25zdGFudHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDA0OTkzMURBREMw
NDUwMDcxOEYzQyAvKiBOb2RlQ29uc3RhbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM3Qzg2NTAxRUI2M0UzRjAwODdDNkNBIC8qIEpTRE9N
UHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzOTYyOEJGMjM5NTcyOEYwMDY1
OEVDRCAvKiBEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhCRDIzOTU3MjhFMDA2NThFQ0Qg
LyogRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjE5NSw3ICsxNjE5OCw2IEBACiAJCUUz
MDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFNjcmlwdEZldGNoZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFQzYxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMzA3REVDODFEODFFNDQ4MDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVEMjFEODFFNEVEMDAxNDFDQUYgLyogTG9h
ZGFibGVNb2R1bGVTY3JpcHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMxNTBFQTUxREE3MjE4RDAwMTk0MDEyIC8qIERP
TUpJVEhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUSGVs
cGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYyMDgsMTIgKzE2MjEwLDE3
IEBACiAJCUUzMjkyNzYzMjI1NDNGNTkwMDMwOEE5QSAvKiBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFR5cGVkT01DU1NVbml0VmFsdWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzI5Mjc2NjIyNTQzRkRFMDAzMDhBOUEgLyogRE9NUmVjdFJl
YWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVJlY3RSZWFkT25seS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMzQ4MjVFMURDOTNBQTAwMDlDOTU0NCAvKiBET01K
SVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IERPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2Vy
TW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlck1vZHVsZVNjcmlwdExv
YWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNDdFNUY4MjVENEYwMDAw
MEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdvcmtlclNjcmlwdEZldGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZlbnRDdXN0b20uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudEN1c3RvbS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MDJC
NTFEQzg0MzU4MDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRJRExUeXBlRmlsdGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzNTgyQzI0MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3Bl
cmF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3Jl
SklUT3BlcmF0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNTgyQzI2
MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlSklUT3BlcmF0aW9ucy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzVCOTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2
aWNlTW9kZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxpemVkRGV2
aWNlTW9kZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1QjkwN0UyM0Y2MDY3
NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxpemVkRGV2aWNlTW9kZWwubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3Jp
cHRMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlU2NyaXB0
TG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzN0M4NjRGMUVCNjNFMkQw
MDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNET01Qcm9taXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzODgzODk0
MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0TW9kdWxlTG9hZGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM4ODM4OTUxQkFEMTQ1RjAwRDYyRUUzIC8qIFNjcmlwdE1v
ZHVsZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRNb2R1
bGVMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MDA5LDcgKzI3MDE2
LDYgQEAKIAkJCQkyREZBNDg4RTFEQjU0MUMyMDAzNjJCOTkgLyogQnVmZmVyU291cmNlLmggKi8s
CiAJCQkJRTMwN0RFQzYxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5jcHAgKi8sCiAJCQkJRTMwN0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5oICovLAotCQkJCUUzMDdERUM4MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLywKIAkJCQlFMzA1OTI2NTFFMjdBM0M2MDBENTdD
OTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAgKi8sCiAJCQkJRTMwNTkyNjYxRTI3QTNDNjAw
RDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuaCAqLywKIAkJCQlCQ0Q1MzM2MzBFRDY4NDg5
MDA4ODc0NjggLyogQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCAqLywKQEAgLTI3MDgzLDYg
KzI3MDg5LDggQEAKIAkJCQk0QkRFQTMyRDIxODAzNDA1MDA1MkRGQ0QgLyogSlNXb3JrbGV0R2xv
YmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQk0QkRFQTMyQjIxODAzM0VCMDA1MkRGQ0QgLyogSlNX
b3JrbGV0R2xvYmFsU2NvcGVCYXNlLmggKi8sCiAJCQkJNzA5QTAxRkQxRTNEMEJDQzAwNkIwRDRD
IC8qIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCAqLywKKwkJCQlFMzY0MzIxQTI1RDM3QTY2MDBG
OTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCisJCQkJRTM1MTg4QjMyNUQzODdDRjAw
QTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovLAogCQkJCTQxQjQ1OUVEMUY1
NUVCQzcwMDAwRjZGRCAvKiBSZWFkYWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDFCNDU5REExRjRD
QURCOTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmggKi8sCiAJCQkJNDE4QzM5NUUxQzhGMEFB
QjAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuY3BwICovLApAQCAt
MjcxMTQsNiArMjcxMjIsOSBAQAogCQkJCTBGMDk5RDA3MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJD
b3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLywKIAkJCQk0NjM1MjFBQzIwODEwOTBFMDBDMjg5
MjIgLyogV2luZG93UHJveHkuY3BwICovLAogCQkJCTQ2MzUyMUFBMjA4MTA5MEIwMEMyODkyMiAv
KiBXaW5kb3dQcm94eS5oICovLAorCQkJCUUzNDMyREUzMjVEMzc3RTMwMDU4RTYxMiAvKiBXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwICovLAorCQkJCUUzNDMyREUwMjVEMzc3RTIwMDU4RTYx
MiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLywKKwkJCQlFMzQ3RTVGODI1RDRGMDAw
MDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oICovLAogCQkJCTQxNDE4QTAzMjU2NDNF
MTIwMDM2MzQxNyAvKiBXcml0YWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDE0MThBMDQyNTY0M0Ux
MzAwMzYzNDE3IC8qIFdyaXRhYmxlU3RyZWFtLmggKi8sCiAJCQkpOwpAQCAtMzEzODcsNyArMzEz
OTgsNiBAQAogCQkJCUJDQjE2QzFDMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRJbWFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzE5RkJENUYxNUQyRjQ2NDAwOTY0MEE2IC8qIENhY2hlZEltYWdl
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzA3REVEMDFEODFFNEM3MDAxNDFDQUYgLyog
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMzA3REVEMTFE
ODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTAxODQ2OTBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRDBFREE3NzUxNDNFMzAzQzAwMjhFMzgzIC8qIENhY2hlZFJhd1Jl
c291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUI1MzM0OTE3MTdERUUzMDBGMjA1RjkgLyog
Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzM4NjIsNiArMzM4
NzIsOCBAQAogCQkJCUM2RDc0QUQ1MDlBQTI4MkUwMDBCMEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25M
aXN0TGV2ZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTcwOUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAv
KiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzIwMUMxQTFG
OEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlFMzY0MzIxQzI1RDM3QTY3MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQlFMzUxODhCNDI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RDNjEyNTFGMTJEMDAzRUYy
NjkgLyogTW9udGhJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzOTYyOEMxMjM5NTc0
MzEwMDY1OEVDRCAvKiBNb3Rpb25NYW5hZ2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NTAzMUI0NjBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zNTUxMiw2ICszNTUyNCw3IEBACiAJCQkJMThGODMxQjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdv
cmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0RDBGNTQ2QTgyMDBC
MEYxQkEgLyogV29ya2VyTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUwMEY1
NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJNZXNzYWdpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJRTM0MzJERTQyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNzFBMEIwRUVFQzc3QTAwRjYxMjEzIC8qIFdvcmtlck5h
dmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVDQjA1MjUxRkI1MUYzQTAwMDg5Qjk3IC8q
IFdvcmtlck5ldHdvcmtBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTEwRjU0NkE4
MjAwQjBGMUJBIC8qIFdvcmtlck9iamVjdFByb3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NTIx
LDYgKzM1NTM0LDcgQEAKIAkJCQk0MTZFMjlBNjEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVw
b3J0aW5nUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUzMEY1NDZBODIwMEIwRjFC
QSAvKiBXb3JrZXJSdW5Mb29wLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUI4MUNDRjFGQUE0NERF
MDAzN0QxRTYgLyogV29ya2VyUnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzQ3
RTVGQTI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTdENkIzNDkwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkVBNzY4MDQwRkU3MTI2NDAwQUI5QzhBIC8qIFdvcmtlclNj
cmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTUwRjU0NkE4MjAw
QjBGMUJBIC8qIFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAppbmRl
eCAzNTJkY2M0YWNmNzUxNzZkOThhZDM0MTBiZTE1MTYwODAxMDg4NTI0Li4yNzdmNjJhN2MxMzNm
ZTE1NmM2Y2NlOTg1NTM1NTBlZGIxMzZkMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKQEAgLTQwLDE2ICs0
MCwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI+IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNj
cmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+
JiYgcGFyYW1ldGVycykKK1JlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcjo6Y3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBE
ZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNo
ZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKIHsKICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9t
aXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKSk7CiB9CiAKLUNhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hl
ZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRl
cnM+JiYgcGFyYW1ldGVycykKLSAgICA6IG1fY2xpZW50KCZjbGllbnQpCi0gICAgLCBtX3Byb21p
c2UoJnByb21pc2UpCi0gICAgLCBtX3NjcmlwdEZldGNoZXIoc2NyaXB0RmV0Y2hlcikKLSAgICAs
IG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRlcnMpKQorQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBj
bGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2Ny
aXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQor
ICAgIDogTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwg
V1RGTW92ZShwYXJhbWV0ZXJzKSkKIHsKIH0KIApAQCAtNjEsMTQgKzU4LDE1IEBAIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcjo6fkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcigpCiAgICAgfQogfQog
Ci1ib29sIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQs
IGNvbnN0IFVSTCYgc291cmNlVVJMKQorYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6Omxv
YWQoRG9jdW1lbnQmIGRvY3VtZW50LCBVUkwmJiBzb3VyY2VVUkwpCiB7CisgICAgQVNTRVJUKG1f
cHJvbWlzZSk7CiAgICAgQVNTRVJUKCFtX2NhY2hlZFNjcmlwdCk7CiAgICAgU3RyaW5nIGludGVn
cml0eSA9IG1fcGFyYW1ldGVycyA/IG1fcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkgOiBTdHJpbmcg
eyB9OwotICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9zY3JpcHRGZXRjaGVyLT5yZXF1ZXN0TW9kdWxl
U2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkwsIFdURk1vdmUoaW50ZWdyaXR5KSk7CisgICAgbV9j
YWNoZWRTY3JpcHQgPSBzY3JpcHRGZXRjaGVyKCkucmVxdWVzdE1vZHVsZVNjcmlwdChkb2N1bWVu
dCwgc291cmNlVVJMLCBXVEZNb3ZlKGludGVncml0eSkpOwogICAgIGlmICghbV9jYWNoZWRTY3Jp
cHQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBtX3NvdXJjZVVSTCA9IHNvdXJjZVVSTDsK
KyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291cmNlVVJMKTsKIAogICAgIC8vIElmIHRoZSBj
b250ZW50IGlzIGFscmVhZHkgY2FjaGVkLCB0aGlzIGltbWVkaWF0ZWx5IGNhbGxzIG5vdGlmeUZp
bmlzaGVkLgogICAgIG1fY2FjaGVkU2NyaXB0LT5hZGRDbGllbnQoKnRoaXMpOwpAQCAtODMsNyAr
ODEsNyBAQCB2b2lkIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZQogCiAgICAgUmVmPENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAgICAgaWYgKG1fY2xpZW50KQotICAg
ICAgICBtX2NsaWVudC0+bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9wcm9taXNlKSk7
CisgICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJj
ZVVSTCksIG1fcHJvbWlzZS5yZWxlYXNlTm9uTnVsbCgpKTsKIAogICAgIC8vIFJlbW92ZSB0aGUg
Y2xpZW50IGFmdGVyIGNhbGxpbmcgbm90aWZ5RmluaXNoZWQgdG8ga2VlcCB0aGUgZGF0YSBidWZm
ZXIgaW4KICAgICAvLyBDYWNoZWRSZXNvdXJjZSBhbGl2ZSB3aGlsZSBub3RpZnlGaW5pc2hlZCBw
cm9jZXNzZXMgdGhlIHJlc291cmNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaAppbmRleCA0M2FiZDg3NWIyNDNmYWY1ZmNk
NGQ5OGVjM2M1ZDI0ZTc5MGI1NzJlLi5hNDg3NTVmOTNkMDVlZjM1M2QyYjNlMjI4ZDgyMTlmZTg5
MWU2NzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuaApAQCAtMjcsNiArMjcsOCBAQAogCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgorI2lu
Y2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zNCw0MiArMzYsMjkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFz
cyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CiBjbGFzcyBDYWNoZWRTY3JpcHQ7Ci1jbGFzcyBD
YWNoZWRTY3JpcHRGZXRjaGVyOwogY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRG9jdW1l
bnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKIGNsYXNzIE1vZHVsZUZldGNoUGFyYW1ldGVy
czsKIAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWQ8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CitjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgTW9k
dWxlU2NyaXB0TG9hZGVyLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZl
dGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBzdGF0aWMgUmVm
PENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcigpOwogCi0gICAgYm9vbCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiBzb3VyY2VVUkwp
OworICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIFVSTCYmIHNvdXJjZVVSTCk7CiAKLSAgICBDYWNo
ZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyKCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVy
LmdldCgpOyB9CiAgICAgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQoKSB7IHJldHVybiBtX2Nh
Y2hlZFNjcmlwdC5nZXQoKTsgfQotICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyogcGFyYW1ldGVy
cygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQotICAgIGNvbnN0IFVSTCYgc291cmNl
VVJMKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VVUkw7IH0KLQotICAgIHZvaWQgY2xlYXJDbGll
bnQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICAgICAgbV9jbGllbnQg
PSBudWxscHRyOwotICAgIH0KKyAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVy
KCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlciY+KE1vZHVsZVNjcmlw
dExvYWRlcjo6c2NyaXB0RmV0Y2hlcigpKTsgfQogCiBwcml2YXRlOgotICAgIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFBy
b21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVy
cz4mJik7CisgICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNs
aWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9k
dWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVk
UmVzb3VyY2UmLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbDsKIAotICAgIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCogbV9jbGllbnQgeyBudWxscHRyIH07Ci0gICAgUmVm
UHRyPERlZmVycmVkUHJvbWlzZT4gbV9wcm9taXNlOwotICAgIFJlZjxDYWNoZWRTY3JpcHRGZXRj
aGVyPiBtX3NjcmlwdEZldGNoZXI7Ci0gICAgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4g
bV9wYXJhbWV0ZXJzOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gbV9j
YWNoZWRTY3JpcHQ7CiAgICAgVVJMIG1fc291cmNlVVJMOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2ODhhZDkwZGFlM2VjZTk0OWVhMDli
MWVmZWU1ZGEyNmY5NGM3ODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjsKLWNsYXNzIERl
ZmVycmVkUHJvbWlzZTsKLQotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsK
LXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQoKSA9
IGRlZmF1bHQ7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4pID0gMDsKLX07Ci0KLX0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAK
aW5kZXggYTQzMzc1ODY1YmJmMWVjNTk3M2JmMTcyYzkxYTM4NTMyMzRlMzc0ZC4uZGYzYzZiNmVi
Yjg0YWY3MmVkMjk1NWY5OTExZDA3YTg3YWIzNTMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Nyw2ICs0OCw3IEBAIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdE1vZHVsZVNjcmlwdChEb2N1CiAKIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlw
dD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNoZShEb2N1bWVudCYg
ZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNlVVJMLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2lu
TW9kZSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBPcHRpb25hbDxSZXNvdXJjZUxvYWRQcmlvcml0eT4g
cmVzb3VyY2VMb2FkUHJpb3JpdHkpIGNvbnN0CiB7CisgICAgLy8gV2l0aG91dCBzY3JpcHRpbmcs
IHRoZXJlIGlzIG5vIHdheSB0byBzdGFydCBXb3JrZXJzLgogICAgIGlmICghZG9jdW1lbnQuc2V0
dGluZ3MoKS5pc1NjcmlwdEVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGlu
Zy5jcHAKaW5kZXggZGY3ZjNkNzQ2ZDVlMzJhYmFiNTE0NzZjOWRkYWNhNjNhNDM1MTM2Yy4uZWVm
MjEwMzg4NDlmZDg5ODQ5YWZjZWQ3MDMxODVmZjg5NGM0MGM3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKQEAgLTUy
LDYgKzUyLDI1IEBAIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlCiAgICAgcmVwb3J0RXhjZXB0aW9u
KGxleGljYWxHbG9iYWxPYmplY3QsIGV4Y2VwdGlvbiwgY2FjaGVkU2NyaXB0KTsKIH0KIAorU3Ry
aW5nIHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIFZNJiB2bSwgSlNWYWx1ZSBleGNlcHRpb24sIENhdGNoU2NvcGUmIGNh
dGNoU2NvcGUpCit7CisgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNTA4Nz4g
V2ViIEluc3BlY3RvcjogV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9uIHNob3VsZCBub3QgZXZhbHVh
dGUgSmF2YVNjcmlwdCBoYW5kbGluZyBleGNlcHRpb25zCisgICAgLy8gSWYgdGhpcyBpcyBhIGN1
c3RvbSBleGNlcHRpb24gb2JqZWN0LCBjYWxsIHRvU3RyaW5nIG9uIGl0IHRvIHRyeSBhbmQgZ2V0
IGEgbmljZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBleGNlcHRpb24uCisgICAgU3Ry
aW5nIGVycm9yTWVzc2FnZTsKKyAgICBpZiAoYXV0byogZXJyb3IgPSBqc0R5bmFtaWNDYXN0PEVy
cm9ySW5zdGFuY2UqPih2bSwgZXhjZXB0aW9uKSkKKyAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJy
b3ItPnNhbml0aXplZE1lc3NhZ2VTdHJpbmcoJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIGVs
c2UgaWYgKGF1dG8qIGVycm9yID0ganNEeW5hbWljQ2FzdDxKU0RPTUV4Y2VwdGlvbio+KHZtLCBl
eGNlcHRpb24pKQorICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci0+d3JhcHBlZCgpLm1lc3Nh
Z2UoKTsKKyAgICBlbHNlCisgICAgICAgIGVycm9yTWVzc2FnZSA9IGV4Y2VwdGlvbi50b1dURlN0
cmluZygmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisKKyAgICAvLyBXZSBuZWVkIHRvIGNsZWFyIGFu
eSBuZXcgZXhjZXB0aW9uIHRoYXQgbWF5IGJlIHRocm93biBpbiB0aGUgdG9TdHJpbmcoKSBjYWxs
IGFib3ZlLgorICAgIC8vIHJlcG9ydEV4Y2VwdGlvbigpIGlzIG5vdCBzdXBwb3NlZCB0byBiZSBt
YWtpbmcgbmV3IGV4Y2VwdGlvbnMuCisgICAgY2F0Y2hTY29wZS5jbGVhckV4Y2VwdGlvbigpOwor
ICAgIHZtLmNsZWFyTGFzdEV4Y2VwdGlvbigpOworICAgIHJldHVybiBlcnJvck1lc3NhZ2U7Cit9
CisKIFN0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZShKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgVk0mIHZtLCBKU1ZhbHVlIGV4Y2VwdGlvbiwgQ2F0Y2hTY29wZSYgY2F0Y2hT
Y29wZSkKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE1MDg3PiBXZWIg
SW5zcGVjdG9yOiBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24gc2hvdWxkIG5vdCBldmFsdWF0ZSBK
YXZhU2NyaXB0IGhhbmRsaW5nIGV4Y2VwdGlvbnMKQEAgLTEyMSwzNiArMTQwLDQ1IEBAIHZvaWQg
cmVwb3J0Q3VycmVudEV4Y2VwdGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCkKIAogSlNWYWx1ZSBjcmVhdGVET01FeGNlcHRpb24oSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEV4Y2VwdGlvbkNvZGUgZWMsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsK
LSAgICBpZiAoZWMgPT0gRXhpc3RpbmdFeGNlcHRpb25FcnJvcikKKyAgICBzd2l0Y2ggKGVjKSB7
CisgICAgY2FzZSBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yOgogICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKIAogICAgIC8vIEZJWE1FOiBIYW5kbGUgb3RoZXIgV2ViSURMIGV4Y2VwdGlvbiB0
eXBlcy4KLSAgICBpZiAoZWMgPT0gVHlwZUVycm9yKSB7CisgICAgY2FzZSBUeXBlRXJyb3I6CiAg
ICAgICAgIGlmIChtZXNzYWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVU
eXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVUeXBl
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7Ci0gICAgfQogCi0gICAgaWYgKGVj
ID09IFJhbmdlRXJyb3IpIHsKKyAgICBjYXNlIFJhbmdlRXJyb3I6CiAgICAgICAgIGlmIChtZXNz
YWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVSYW5nZUVycm9yKGxleGlj
YWxHbG9iYWxPYmplY3QsICJCYWQgdmFsdWUiX3MpOwogICAgICAgICByZXR1cm4gY3JlYXRlUmFu
Z2VFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBtZXNzYWdlKTsKLSAgICB9CiAKLSAgICBpZiAo
ZWMgPT0gU3RhY2tPdmVyZmxvd0Vycm9yKQorICAgIGNhc2UgSlNTeW50YXhFcnJvcjoKKyAgICAg
ICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVN5bnRh
eEVycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gY3JlYXRlU3ludGF4
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7CisKKyAgICBjYXNlIFN0YWNrT3Zl
cmZsb3dFcnJvcjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihsZXhp
Y2FsR2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoZWMgPT0gT3V0T2ZNZW1vcnlFcnJvcikKKworICAg
IGNhc2UgT3V0T2ZNZW1vcnlFcnJvcjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZU91dE9mTWVtb3J5
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CiAKLSAgICAvLyBGSVhNRTogQWxsIGNhbGxlcnMg
dG8gY3JlYXRlRE9NRXhjZXB0aW9uIG5lZWQgdG8gcGFzcyBpbiB0aGUgY29ycmVjdCBnbG9iYWwg
b2JqZWN0LgotICAgIC8vIEZvciBub3csIHdlJ3JlIGdvaW5nIHRvIGFzc3VtZSB0aGUgbGV4aWNh
bEdsb2JhbE9iamVjdC4gV2hpY2ggaXMgd3JvbmcgaW4gY2FzZXMgbGlrZSB0aGlzOgotICAgIC8v
IGZyYW1lc1swXS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3Mg
YW4gZXhjZXB0aW9uIHdoaWNoIHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZSdzIHByb3RvdHlwZXMu
Ci0gICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGRlcHJlY2F0ZWRHbG9iYWxP
YmplY3RGb3JQcm90b3R5cGUobGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgSlNWYWx1ZSBlcnJv
ck9iamVjdCA9IHRvSlMobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBET01FeGNl
cHRpb246OmNyZWF0ZShlYywgbWVzc2FnZSkpOwotICAgIAotICAgIEFTU0VSVChlcnJvck9iamVj
dCk7Ci0gICAgYWRkRXJyb3JJbmZvKGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KGVycm9y
T2JqZWN0KSwgdHJ1ZSk7Ci0gICAgcmV0dXJuIGVycm9yT2JqZWN0OworICAgIGRlZmF1bHQ6IHsK
KyAgICAgICAgLy8gRklYTUU6IEFsbCBjYWxsZXJzIHRvIGNyZWF0ZURPTUV4Y2VwdGlvbiBuZWVk
IHRvIHBhc3MgaW4gdGhlIGNvcnJlY3QgZ2xvYmFsIG9iamVjdC4KKyAgICAgICAgLy8gRm9yIG5v
dywgd2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoZSBsZXhpY2FsR2xvYmFsT2JqZWN0LiBXaGljaCBp
cyB3cm9uZyBpbiBjYXNlcyBsaWtlIHRoaXM6CisgICAgICAgIC8vIGZyYW1lc1swXS5kb2N1bWVu
dC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3MgYW4gZXhjZXB0aW9uIHdoaWNo
IHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZSdzIHByb3RvdHlwZXMuCisgICAgICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90
eXBlKGxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICBKU1ZhbHVlIGVycm9yT2JqZWN0ID0g
dG9KUyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIERPTUV4Y2VwdGlvbjo6Y3Jl
YXRlKGVjLCBtZXNzYWdlKSk7CisKKyAgICAgICAgQVNTRVJUKGVycm9yT2JqZWN0KTsKKyAgICAg
ICAgYWRkRXJyb3JJbmZvKGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KGVycm9yT2JqZWN0
KSwgdHJ1ZSk7CisgICAgICAgIHJldHVybiBlcnJvck9iamVjdDsKKyAgICB9CisgICAgfQorICAg
IHJldHVybiB7IH07CiB9CiAKIEpTVmFsdWUgY3JlYXRlRE9NRXhjZXB0aW9uKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFeGNlcHRpb24mJiBleGNlcHRpb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgKaW5k
ZXggMmQzZTMxMWY2MWVlYjY4NWFhYzM1NTQ2YWFlMTYwZGE5NzkwZWY1Zi4uZDFmNmRlOTM3NDcw
Y2U2ZGYyY2NiNjQ3MjI4NDc2NmZkMDE5NTgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaApAQCAtNjUsNiArNjUsNyBAQCBX
RUJDT1JFX0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoR2V0dGVy
VHlwZUVycm9yKEpTQzo6SlNHbG9iYQogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1
ZSByZWplY3RQcm9taXNlV2l0aFRoaXNUeXBlRXJyb3IoRGVmZXJyZWRQcm9taXNlJiwgY29uc3Qg
Y2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogb3BlcmF0aW9uTmFtZSk7CiBXRUJDT1JF
X0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoVGhpc1R5cGVFcnJv
cihKU0M6OkpTR2xvYmFsT2JqZWN0JiwgY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3Qg
Y2hhciogb3BlcmF0aW9uTmFtZSk7CiAKK1N0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhv
dXROYW1lKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlIGV4Y2Vw
dGlvbiwgSlNDOjpDYXRjaFNjb3BlJik7CiBTdHJpbmcgcmV0cmlldmVFcnJvck1lc3NhZ2UoSlND
OjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Vk0mLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBKU0M6
OkNhdGNoU2NvcGUmKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBDYWNoZWRTY3JpcHQqID0g
bnVsbHB0cik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpFeGNlcHRpb24qLCBDYWNoZWRTY3JpcHQqID0gbnVsbHB0ciwgRXhj
ZXB0aW9uRGV0YWlscyogPSBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1OGI3ZGY3NjBjMDBhMzFmZjA4ZWQyMmRl
ZTIyYThjNzQ0M2FlOGRkLi45ZDY5N2Q0NTliNTYzNDVjYzgzOTYyMDI2Njc2ZTAwYTk4YmY0OWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiSlNXb3JrbGV0R2xvYmFsU2NvcGUuaCIK
ICNpbmNsdWRlICJSZWplY3RlZFByb21pc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN0cnVjdHVyZWRDbG9uZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIK
ICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtNDIyLDYgKzQyMyw3OSBAQCBKU0M6
OkpTUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Omluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsbwogfQogI2VuZGlmCiAKK3N0YXRpYyBTY3JpcHRNb2R1bGVMb2Fk
ZXIqIHNjcmlwdE1vZHVsZUxvYWRlcihKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQor
eworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0
LT5pbmhlcml0czxKU0RPTVdpbmRvd0Jhc2U+KHZtKSkgeworICAgICAgICBpZiAoYXV0byBkb2N1
bWVudCA9IGpzQ2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpLT53cmFw
cGVkKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiAmZG9jdW1lbnQtPm1vZHVsZUxv
YWRlcigpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaWYgKGdsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNSZW1vdGVET01XaW5kb3dCYXNlPih2bSkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2VyR2xvYmFs
U2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2VyR2xv
YmFsU2NvcGVCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1vZHVsZUxvYWRlcigpOwor
ICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZT4o
dm0pKQorICAgICAgICByZXR1cm4gJmpzQ2FzdDxjb25zdCBKU1dvcmtsZXRHbG9iYWxTY29wZUJh
c2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJT
ZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0Pih2bSkpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
I2VuZGlmCisgICAgZGF0YUxvZygiVW5leHBlY3RlZCBnbG9iYWwgb2JqZWN0OiAiLCBKU1ZhbHVl
KGdsb2JhbE9iamVjdCksICJcbiIpOworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTQzo6SWRlbnRpZmllciBKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6Ompz
Q2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxv
YWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxv
YWRlci0+cmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgaW1w
b3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiB7IH07Cit9CisKK0pT
Qzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFt
ZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlw
dE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNj
b3BlLCBsb2FkZXItPmZldGNoKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXks
IHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7Cisg
ICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7CisgICAgcmV0
dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
TW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6
SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAg
IEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1
bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmV2YWx1YXRlKGds
b2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0
RmV0Y2hlcik7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKworSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1N0cmluZyogbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJiBzb3VyY2VPcmlnaW4pCit7CisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6
anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byog
bG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+aW1wb3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9k
dWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VPcmlnaW4pKTsKKyAgICBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAg
ICBzY29wZS5yZWxlYXNlKCk7CisgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNV
bmRlZmluZWQoKSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNPYmplY3QqIEpT
RE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhK
U0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1v
ZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCog
bW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUds
b2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVy
KHRoaXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5jcmVhdGVJbXBvcnRNZXRhUHJv
cGVydGllcyhnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNv
cmQsIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVy
ZSgpKTsKK30KKwogSlNET01HbG9iYWxPYmplY3QmIGNhbGxlckdsb2JhbE9iamVjdChKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBjYWxsRnJhbWUpCiB7CiAg
ICAgY2xhc3MgR2V0Q2FsbGVyR2xvYmFsT2JqZWN0RnVuY3RvciB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAppbmRleCBiODQwNzJkZGQ3NDZiM2Q2
YzUxMDYwZDkwNTAxYjVjZWExYjQ5OWIxLi5mNDlhNGNkMjU3MTk3MTE4OTE3YTdkN2E0YjZjMGUx
MWZjNzZiYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmgKQEAgLTEwNSw2ICsxMDUsMTIgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNET01H
bG9iYWxPYmplY3QgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbE9iamVjdCB7CiAgICAgc3RhdGljIEpT
Qzo6SlNQcm9taXNlKiBpbnN0YW50aWF0ZVN0cmVhbWluZyhKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTT2JqZWN0Kik7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBKU0M6
OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFs
dWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1
ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUg
bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVM
b2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAgICBz
dGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0cmluZyos
IEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKKyAgICBzdGF0aWMgSlND
OjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOworCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAg
bV9zdHJ1Y3R1cmVzOwogICAgIEpTRE9NQ29uc3RydWN0b3JNYXAgbV9jb25zdHJ1Y3RvcnM7CiAg
ICAgRE9NR3VhcmRlZE9iamVjdFNldCBtX2d1YXJkZWRPYmplY3RzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggNTYzZWZhMDU3MWI1ZDQ2
MmQ5ZTY0NTA4OWYwYmQ4Zjc3ZDE5YTc2OC4uMzEyYTAxMTU4ZThjMjgwODNjMDdlNDJkYjg3MjQ1
ZmU0ZTVjNTdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCkBAIC0zMzksNTQgKzMzOSw0IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJl
RnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiAgICAg
fQogfQogCi1KU0M6OklkZW50aWZpZXIgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNv
bHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGlt
cG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RP
TVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihn
bG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09i
amVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCkucmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFt
ZSwgaW1wb3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiB7IH07Ci19
Ci0KLUpTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVy
RmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBw
YXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9N
V2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9j
dW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuZmV0Y2goZ2xvYmFs
T2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hl
cikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0
dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFs
T2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpK
U1ZhbHVlIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIs
IEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6
SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVj
dCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYg
KFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1l
bnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5ldmFsdWF0ZShn
bG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlw
dEZldGNoZXIpOwotICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxl
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciog
bW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFy
YW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKLXsKLSAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anND
YXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1
bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAg
ICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuaW1w
b3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0
ZXJzLCBzb3VyY2VPcmlnaW4pKTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNl
ID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVy
bmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcHJvbWlz
ZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7Ci0gICAgcmV0dXJuIHByb21p
c2U7Ci19Ci0KLUpTQzo6SlNPYmplY3QqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3Jl
YXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVL
ZXksIEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nh
c3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3Vt
ZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAg
ICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0
aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwg
c2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9i
amVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkp
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5oCmluZGV4IDNlZjk4MGRkMjdmNmIyMTM5ODcwMDhiYTQ3NmM4
Y2E2OWYyZjBiNjQuLjUxNDJiMWM3ZGMyNWMyMmZlOTc4OTVlNzVhZTIyZWY0ZDFlNTg5ZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC05OSwx
MiArOTksNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTVdpbmRvd0Jhc2UgOiBwdWJsaWMg
SlNET01HbG9iYWxPYmplY3QgewogcHJpdmF0ZToKICAgICB1c2luZyBSZXNwb25zZUNhbGxiYWNr
ID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IGNoYXIqLCBzaXplX3QpPjsKIAotICAgIHN0YXRp
YyBKU0M6OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2Fk
ZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpT
VmFsdWUgbW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNN
b2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsK
LSAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9k
dWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0
cmluZyosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKLSAgICBzdGF0
aWMgSlNDOjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUs
IEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwotCiAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV93cmFwcGVkOwogICAgIFJlZlB0cjxFdmVudD4gbV9jdXJyZW50RXZlbnQ7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwCmluZGV4IDQyYjI2YzlmNGVhMjE2MjA3ZGU0Yzg2ODIwYjhhODFiNjAzNWI3ZWIu
LjJkNzkzZmZmMjE4NTNhOGExYTc4ODA2NjcyNTBmNTdlNzUyZmUzZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAK
QEAgLTU5LDExICs1OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtl
ckdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZQogICAgICZqYXZhU2Ny
aXB0UnVudGltZUZsYWdzLAogICAgICZxdWV1ZU1pY3JvdGFza1RvRXZlbnRMb29wLAogICAgICZz
aG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckltcG9ydE1vZHVsZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlclJlc29sdmUK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJGZXRjaAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxl
TG9hZGVyRXZhbHVhdGUKKyAgICAmbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlLAorICAgICZtb2R1
bGVMb2FkZXJSZXNvbHZlLAorICAgICZtb2R1bGVMb2FkZXJGZXRjaCwKKyAgICAmbW9kdWxlTG9h
ZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMsCisgICAgJm1vZHVsZUxvYWRlckV2YWx1YXRl
LAogICAgICZwcm9taXNlUmVqZWN0aW9uVHJhY2tlciwKICAgICAmcmVwb3J0VW5jYXVnaHRFeGNl
cHRpb25BdEV2ZW50TG9vcCwKICAgICAmY3VycmVudFNjcmlwdEV4ZWN1dGlvbk93bmVyLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3Bl
QmFzZS5jcHAKaW5kZXggMzVmYTZlMzI3N2ZiMGQ0YmUwZTBlMWVkYzQzNzIyZWRhZGZjOGFmMi4u
OWZhZWM5NTljMzlkMTc0ODE4MWM5ODY1MDAzZDVhODZmMTdmNWUzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3Bw
CkBAIC00OSwxMSArNDksMTEgQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNXb3Jr
bGV0R2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmwKICAgICAmamF2YVNj
cmlwdFJ1bnRpbWVGbGFncywKICAgICBudWxscHRyLCAvLyBxdWV1ZU1pY3JvdGFza1RvRXZlbnRM
b29wCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9h
ZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBudWxscHRy
LCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUs
CisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNoLAorICAg
ICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9kdWxlTG9h
ZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZyZXBvcnRV
bmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhlY3V0aW9u
T3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZhOTEwZTk0OWI3YWMxYTM4ZWRlZWNiMDNkZWI2ZWU4OTRjY2ViMGQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNo
UGFyYW1ldGVycy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEZldGNoZXIuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8TW9kdWxlU2NyaXB0TG9hZGVyPiB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+TW9kdWxlU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBjbGVh
ckNsaWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQobV9jbGllbnQpOworICAgICAgICBtX2Ns
aWVudCA9IG51bGxwdHI7CisgICAgfQorCisgICAgSlNDOjpTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyKCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVyLmdldCgpOyB9CisgICAgTW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9
CisKK3Byb3RlY3RlZDoKKyAgICBNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgSlNDOjpTY3JpcHRGZXRj
aGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFt
ZXRlcnMpCisgICAgICAgIDogbV9jbGllbnQoJmNsaWVudCkKKyAgICAgICAgLCBtX3Byb21pc2Uo
JnByb21pc2UpCisgICAgICAgICwgbV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNoZXIpCisgICAg
ICAgICwgbV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCisgICAgeworICAgIH0KKwor
ICAgIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCogbV9jbGllbnQ7CisgICAgUmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4gbV9wcm9taXNlOworICAgIFJlZjxKU0M6OlNjcmlwdEZldGNoZXI+IG1fc2Ny
aXB0RmV0Y2hlcjsKKyAgICBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiBtX3BhcmFtZXRl
cnM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5
OTVmNDhlZTNkMWUwMmMxZDhjOWM5ZGEyYmQ1ODIzNmYzYmEwN2QKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaApA
QCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1vZHVs
ZVNjcmlwdExvYWRlcjsKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKKworY2xhc3MgTW9kdWxlU2Ny
aXB0TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQo
TW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSA9IDA7Cit9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1
bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9h
ZGVyLmNwcAppbmRleCBhYTViODBiNTg2Yjc5ZTBlNTc1MDFjZDUxMDc4ZGYyNWE2MjVlNWQ5Li4x
MGJkN2Y4NDkwOGI4MmQ1MDcyNTQzYmJkZmJkZjhjYzc5NGMyODVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKQEAgLTI5LDcgKzI5
LDYgQEAKICNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlICJD
YWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCi0jaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCkBAIC00MSw2ICs0MCw4IEBA
CiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlSW50
ZWdyaXR5LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgorI2luY2x1ZGUgIldv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSlNJbnRlcm5hbFByb21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU01vZHVsZVJlY29yZC5oPgpAQCAtNTIsOCArNTMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVNjcmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKERvY3VtZW50JiBk
b2N1bWVudCkKLSAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCitTY3JpcHRNb2R1bGVMb2FkZXI6
OlNjcmlwdE1vZHVsZUxvYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBPd25l
clR5cGUgb3duZXJUeXBlKQorICAgIDogbV9jb250ZXh0KGNvbnRleHQpCisgICAgLCBtX293bmVy
VHlwZShvd25lclR5cGUpCiB7CiB9CiAKQEAgLTY4LDcgKzcwLDcgQEAgc3RhdGljIGJvb2wgaXNS
b290TW9kdWxlKEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSkKICAgICByZXR1cm4gaW1w
b3J0ZXJNb2R1bGVLZXkuaXNTeW1ib2woKSB8fCBpbXBvcnRlck1vZHVsZUtleS5pc1VuZGVmaW5l
ZCgpOwogfQogCi1zdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVj
aWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHNwZWNpZmllciwgY29uc3Qg
VVJMJiBiYXNlVVJMKQorc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxl
U3BlY2lmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNjcmlwdE1vZHVsZUxv
YWRlcjo6T3duZXJUeXBlIG93bmVyVHlwZSwgY29uc3QgU3RyaW5nJiBzcGVjaWZpZXIsIGNvbnN0
IFVSTCYgYmFzZVVSTCkKIHsKICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjcmVzb2x2ZS1hLW1vZHVsZS1zcGVjaWZpZXIKIApAQCAt
NzksNyArODEsMTIgQEAgc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxl
U3BlY2lmaWVyKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3QKICAgICBpZiAoIXNwZWNpZmll
ci5zdGFydHNXaXRoKCcvJykgJiYgIXNwZWNpZmllci5zdGFydHNXaXRoKCIuLyIpICYmICFzcGVj
aWZpZXIuc3RhcnRzV2l0aCgiLi4vIikpCiAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZCht
YWtlU3RyaW5nKCJNb2R1bGUgc3BlY2lmaWVyLCAnIl9zLCBzcGVjaWZpZXIsICInIGRvZXMgbm90
IHN0YXJ0IHdpdGggXCIvXCIsIFwiLi9cIiwgb3IgXCIuLi9cIi4gUmVmZXJlbmNlZCBmcm9tICJf
cywgYmFzZVVSTC5zdHJpbmcoKSkpOwogCi0gICAgYXV0byByZXN1bHQgPSBkb2N1bWVudC5jb21w
bGV0ZVVSTChzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIFVSTCByZXN1bHQ7CisgICAgaWYgKG93
bmVyVHlwZSA9PSBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93bmVyVHlwZTo6RG9jdW1lbnQpCisgICAg
ICAgIHJlc3VsdCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KS5jb21wbGV0ZVVSTChzcGVj
aWZpZXIsIGJhc2VVUkwpOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0gVVJMKGJhc2VVUkws
IHNwZWNpZmllcik7CisKICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVy
biBtYWtlVW5leHBlY3RlZChtYWtlU3RyaW5nKCJNb2R1bGUgbmFtZSwgJyJfcywgcmVzdWx0LnN0
cmluZygpLCAiJyBkb2VzIG5vdCByZXNvbHZlIHRvIGEgdmFsaWQgVVJMLiJfcykpOwogICAgIHJl
dHVybiByZXN1bHQ7CkBAIC0xMDcsNyArMTE0LDcgQEAgSlNDOjpJZGVudGlmaWVyIFNjcmlwdE1v
ZHVsZUxvYWRlcjo6cmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE9iamVjdCwK
ICAgICBVUkwgYmFzZVVSTCA9IHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoKmpzR2xvYmFsT2Jq
ZWN0LCBpbXBvcnRlck1vZHVsZUtleSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
eyB9KTsKIAotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2RvY3Vt
ZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVs
ZVNwZWNpZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIsIGJhc2VVUkwpOwog
ICAgIGlmICghcmVzdWx0KSB7CiAgICAgICAgIEpTQzo6dGhyb3dUeXBlRXJyb3IoanNHbG9iYWxP
YmplY3QsIHNjb3BlLCByZXN1bHQuZXJyb3IoKSk7CiAgICAgICAgIHJldHVybiB7IH07CkBAIC0x
NjEsMTMgKzE2OCwxOSBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2Fk
ZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsTwogICAgIGlmIChhdXRvKiBz
Y3JpcHRGZXRjaFBhcmFtZXRlcnMgPSBKU0M6OmpzRHluYW1pY0Nhc3Q8SlNDOjpKU1NjcmlwdEZl
dGNoUGFyYW1ldGVycyo+KHZtLCBwYXJhbWV0ZXJzKSkKICAgICAgICAgdG9wTGV2ZWxGZXRjaFBh
cmFtZXRlcnMgPSBzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaFBhcmFtZXRlcnMqPigmc2NyaXB0RmV0
Y2hQYXJhbWV0ZXJzLT5wYXJhbWV0ZXJzKCkpOwogCi0gICAgYXV0byBsb2FkZXIgPSBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNf
Y2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNo
ZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFy
YW1ldGVycykpOwotICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7Ci0gICAgaWYg
KCFsb2FkZXItPmxvYWQobV9kb2N1bWVudCwgY29tcGxldGVkVVJMKSkgewotICAgICAgICBsb2Fk
ZXItPmNsZWFyQ2xpZW50KCk7Ci0gICAgICAgIG1fbG9hZGVycy5yZW1vdmUoV1RGTW92ZShsb2Fk
ZXIpKTsKLSAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoZGVmZXJyZWQuZ2V0
KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1
bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwotICAgICAgICByZXR1cm4ganNQcm9taXNlOworICAgIGlm
IChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGF1dG8gbG9h
ZGVyID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdl
dCgpLCAqc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6
SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9w
TGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKKyAgICAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29w
eVJlZigpKTsKKyAgICAgICAgaWYgKCFsb2FkZXItPmxvYWQoZG93bmNhc3Q8RG9jdW1lbnQ+KG1f
Y29udGV4dCksIFdURk1vdmUoY29tcGxldGVkVVJMKSkpIHsKKyAgICAgICAgICAgIGxvYWRlci0+
Y2xlYXJDbGllbnQoKTsKKyAgICAgICAgICAgIG1fbG9hZGVycy5yZW1vdmUoV1RGTW92ZShsb2Fk
ZXIpKTsKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKGRlZmVycmVk
LmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEg
bW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybiBqc1Byb21pc2U7
CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIGxvYWRlciA9IFdvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19j
YXN0PFdvcmtlclNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hl
cio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJh
bWV0ZXJzKSk7CisgICAgICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7CisgICAg
ICAgIGxvYWRlci0+bG9hZChtX2NvbnRleHQsIFdURk1vdmUoY29tcGxldGVkVVJMKSk7CiAgICAg
fQogCiAgICAgcmV0dXJuIGpzUHJvbWlzZTsKQEAgLTE3Niw3ICsxODksNyBAQCBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGpzR2xvYmFsTwogVVJMIFNjcmlwdE1vZHVsZUxvYWRlcjo6bW9kdWxlVVJMKEpTQzo6SlNH
bG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5VmFsdWUp
CiB7CiAgICAgaWYgKG1vZHVsZUtleVZhbHVlLmlzU3ltYm9sKCkpCi0gICAgICAgIHJldHVybiBt
X2RvY3VtZW50LnVybCgpOworICAgICAgICByZXR1cm4gbV9jb250ZXh0LnVybCgpOwogCiAgICAg
QVNTRVJUKG1vZHVsZUtleVZhbHVlLmlzU3RyaW5nKCkpOwogICAgIHJldHVybiBVUkwoVVJMKCks
IGFzU3RyaW5nKG1vZHVsZUtleVZhbHVlKS0+dmFsdWUoJmpzR2xvYmFsT2JqZWN0KSk7CkBAIC0x
ODcsOCArMjAwLDExIEBAIFVSTCBTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJMRnJvbVJl
cXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYganNHbG9iYWxPCiAgICAgSlNDOjpWTSYgdm0g
PSBqc0dsb2JhbE9iamVjdC52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKIAotICAgIGlmIChpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKQotICAgICAg
ICByZXR1cm4gbV9kb2N1bWVudC5iYXNlVVJMKCk7CisgICAgaWYgKGlzUm9vdE1vZHVsZShtb2R1
bGVLZXlWYWx1ZSkpIHsKKyAgICAgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9j
dW1lbnQpCisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCku
YmFzZVVSTCgpOworICAgICAgICByZXR1cm4gbV9jb250ZXh0LnVybCgpOworICAgIH0KIAogICAg
IEFTU0VSVCghaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSk7CiAgICAgQVNTRVJUKG1vZHVs
ZUtleVZhbHVlLmlzU3RyaW5nKCkpOwpAQCAtMjE5LDggKzIzNSwxNCBAQCBKU0M6OkpTVmFsdWUg
U2NyaXB0TW9kdWxlTG9hZGVyOjpldmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2Jh
bE9iamVjdCwgSgogICAgIGlmICghc291cmNlVVJMLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
IEpTQzo6dGhyb3dUeXBlRXJyb3IoanNHbG9iYWxPYmplY3QsIHNjb3BlLCAiTW9kdWxlIGtleSBp
cyBhbiBpbnZhbGlkIFVSTC4iX3MpOwogCi0gICAgaWYgKGF1dG8qIGZyYW1lID0gbV9kb2N1bWVu
dC5mcmFtZSgpKQotICAgICAgICByZXR1cm4gZnJhbWUtPnNjcmlwdCgpLmV2YWx1YXRlTW9kdWxl
KHNvdXJjZVVSTCwgKm1vZHVsZVJlY29yZCk7CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVy
VHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG93bmNhc3Q8RG9j
dW1lbnQ+KG1fY29udGV4dCkuZnJhbWUoKSkKKyAgICAgICAgICAgIHJldHVybiBmcmFtZS0+c2Ny
aXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBBU1NFUlQoaXM8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KG1fY29u
dGV4dCkpOworICAgICAgICBpZiAoYXV0byogc2NyaXB0ID0gZG93bmNhc3Q8V29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGU+KG1fY29udGV4dCkuc2NyaXB0KCkpCisgICAgICAgICAgICByZXR1cm4g
c2NyaXB0LT5ldmFsdWF0ZU1vZHVsZSgqbW9kdWxlUmVjb3JkKTsKKyAgICB9CiAgICAgcmV0dXJu
IEpTQzo6anNVbmRlZmluZWQoKTsKIH0KIApAQCAtMjQ4LDggKzI3MCwxMyBAQCBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiBqcwogICAgIFVSTCBiYXNlVVJMOwogICAgIFJlZlB0cjxKU0M6OlNjcmlwdEZl
dGNoZXI+IHNjcmlwdEZldGNoZXI7CiAgICAgaWYgKHNvdXJjZU9yaWdpbi5pc051bGwoKSkgewot
ICAgICAgICBiYXNlVVJMID0gbV9kb2N1bWVudC5iYXNlVVJMKCk7Ci0gICAgICAgIHNjcmlwdEZl
dGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUobV9kb2N1bWVudC5jaGFyc2V0KCkp
OworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAg
ICAgICAgICAgYmFzZVVSTCA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmJhc2VVUkwo
KTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVh
dGUoZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuY2hhcnNldCgpKTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGJhc2VVUkwgPSBtX2NvbnRleHQudXJsKCk7CisgICAgICAgICAg
ICBzY3JpcHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKEZldGNoT3B0aW9u
czo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4pOworICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgYmFzZVVSTCA9IFVSTChVUkwoKSwgc291cmNlT3JpZ2luLnN0cmluZygpKTsKICAgICAg
ICAgaWYgKCFiYXNlVVJMLmlzVmFsaWQoKSkKQEAgLTI1NywxNCArMjg0LDE5IEBAIEpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxlKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGpzCiAKICAgICAgICAgaWYgKHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpCiAg
ICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZldGNoZXIoKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6
OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisKKyAgICAgICAgaWYgKCFzY3JpcHRGZXRj
aGVyKSB7CisgICAgICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVu
dCkKKyAgICAgICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6
Y3JlYXRlKGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmNoYXJzZXQoKSk7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZl
dGNoZXI6OmNyZWF0ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luKTsKKyAg
ICAgICAgfQogICAgIH0KICAgICBBU1NFUlQoYmFzZVVSTC5pc1ZhbGlkKCkpOwogICAgIEFTU0VS
VChzY3JpcHRGZXRjaGVyKTsKIAogICAgIGF1dG8gc3BlY2lmaWVyID0gbW9kdWxlTmFtZS0+dmFs
dWUoanNHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNp
ZmllcihtX2RvY3VtZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0g
cmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIs
IGJhc2VVUkwpOwogICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gcmVqZWN0UHJvbWlz
ZShnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgcmVzdWx0LmVycm9yKCkpOwogCkBAIC0yODgsNjIg
KzMyMCwxMDcgQEAgSlNDOjpKU09iamVjdCogU2NyaXB0TW9kdWxlTG9hZGVyOjpjcmVhdGVJbXBv
cnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWMKICAgICByZXR1cm4gbWV0YVByb3Bl
cnRpZXM7CiB9CiAKLXZvaWQgU2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXImIGxvYWRlciwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4gcHJv
bWlzZSkKK3ZvaWQgU2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChNb2R1bGVTY3Jp
cHRMb2FkZXImIG1vZHVsZVNjcmlwdExvYWRlciwgVVJMJiYgc291cmNlVVJMLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiBwcm9taXNlKQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0
CiAKLSAgICBVUkwgc291cmNlVVJMID0gbG9hZGVyLnNvdXJjZVVSTCgpOwotICAgIGlmICghbV9s
b2FkZXJzLnJlbW92ZSgmbG9hZGVyKSkKKyAgICBpZiAoIW1fbG9hZGVycy5yZW1vdmUoJm1vZHVs
ZVNjcmlwdExvYWRlcikpCiAgICAgICAgIHJldHVybjsKLSAgICBsb2FkZXIuY2xlYXJDbGllbnQo
KTsKKyAgICBtb2R1bGVTY3JpcHRMb2FkZXIuY2xlYXJDbGllbnQoKTsKIAotICAgIGF1dG8mIGNh
Y2hlZFNjcmlwdCA9ICpsb2FkZXIuY2FjaGVkU2NyaXB0KCk7CisgICAgaWYgKG1fb3duZXJUeXBl
ID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgYXV0byYgbG9hZGVyID0gc3RhdGlj
X2Nhc3Q8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJj4obW9kdWxlU2NyaXB0TG9hZGVyKTsKKyAg
ICAgICAgYXV0byYgY2FjaGVkU2NyaXB0ID0gKmxvYWRlci5jYWNoZWRTY3JpcHQoKTsKIAotICAg
IGlmIChjYWNoZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7Ci0g
ICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxv
YWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iX3MpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2NyaXB0LnJlc291cmNl
RXJyb3IoKS5pc0FjY2Vzc0NvbnRyb2woKSkgeworICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0
KEFib3J0RXJyb3IsICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9y
aWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iX3MpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgewotICAg
ICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hG
YWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVk
LiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQu
ZXJyb3JPY2N1cnJlZCgpKSB7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtF
cnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAi
SW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7Ci0g
ICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKCpwcm9taXNlLCBNb2R1bGVGZXRj
aEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgaXMg
Y2FuY2VsZWQuIl9zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKGNhY2hl
ZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5l
dHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5j
ZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojpp
c1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZShjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1l
VHlwZSgpKSkgewotICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAotICAgICAg
ICAvLyBUaGUgcmVzdWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5cGUgZnJvbSByZXNwb25zZSdz
IGhlYWRlciBsaXN0IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0IE1J
TUUgdHlwZS4KLSAgICAgICAgLy8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBj
bGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29u
dHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBv
ZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgotICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9y
LCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSwgIicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNj
cmlwdE1JTUVUeXBlKGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCkpKSB7CisgICAg
ICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBh
cGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhl
IHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIg
bGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUu
CisgICAgICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNz
aWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFz
dCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEg
Y29ycmVjdCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9y
LCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSwgIicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIu
cGFyYW1ldGVycygpKSB7CisgICAgICAgICAgICBpZiAoIW1hdGNoSW50ZWdyaXR5TWV0YWRhdGEo
Y2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpIHsKKyAgICAgICAgICAgICAg
ICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJDYW5ub3QgbG9hZCBzY3Jp
cHQgIiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNoZWRTY3JpcHQsIHBhcmFtZXRl
cnMtPmludGVncml0eSgpKSkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorCisgICAgICAgIFVSTCByZXNwb25zZVVSTCA9IGNhY2hlZFNjcmlwdC5y
ZXNwb25zZSgpLnVybCgpOworICAgICAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlv
biwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBo
ZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJz
dCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KKyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0
cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRpcmVjdGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAorICAgICAgICBpZiAoIWNh
Y2hlZFNjcmlwdC5oYXNSZWRpcmVjdGlvbnMoKSAmJiBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5z
b3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAg
ICAgICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAg
ICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFn
bWVudElkZW50aWZpZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBtX3JlcXVlc3RVUkxUb1Jl
c3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwp
KTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFs
T2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3Vy
Y2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6
OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3Vy
Y2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9Lmpz
U291cmNlQ29kZSgpIH0pOworICAgICAgICB9KTsKKyAgICB9IGVsc2UgeworICAgICAgICBhdXRv
JiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVT
Y3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiB3b3JrZXJTY3JpcHRMb2FkZXIgPSBsb2FkZXIu
c2NyaXB0TG9hZGVyKCk7CiAKLSAgICBpZiAoYXV0byogcGFyYW1ldGVycyA9IGxvYWRlci5wYXJh
bWV0ZXJzKCkpIHsKLSAgICAgICAgaWYgKCFtYXRjaEludGVncml0eU1ldGFkYXRhKGNhY2hlZFNj
cmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkpKSB7Ci0gICAgICAgICAgICBwcm9taXNlLT5y
ZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJDYW5ub3QgbG9hZCBzY3JpcHQgIiwgaW50ZWdy
aXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0
eSgpKSkpOworICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmZhaWxlZCgpKSB7CisgICAg
ICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkp
IHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoQWJvcnRFcnJvciwgIkNyb3NzLW9y
aWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcg
cG9saWN5LiJfcyk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVycm9yKCkuaXNDYW5jZWxsYXRpb24o
KSkgeworICAgICAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21p
c2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5n
IGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3MpOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3Jr
RXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwg
IkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KLSAgICB9CiAKLSAgICBVUkwgcmVzcG9uc2VVUkwgPSBjYWNoZWRTY3Jp
cHQucmVzcG9uc2UoKS51cmwoKTsKLSAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlv
biwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBo
ZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJz
dCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNr
IGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAotICAgIGlmICghY2FjaGVkU2NyaXB0Lmhhc1Jl
ZGlyZWN0aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnNvdXJjZSgpICE9IFJlc291
cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgewotICAgICAgICBpZiAoc291cmNl
VVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQotICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0
RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7Ci0gICAg
fQorICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1J
TUVUeXBlKHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZU1JTUVUeXBlKCkpKSB7CisgICAgICAg
ICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlz
Lmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhlIHJl
c3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlz
dCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCisg
ICAgICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNzaWMg
c2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFzdCwg
bW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEgY29y
cmVjdCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBt
YWtlU3RyaW5nKCInIiwgd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlTUlNRVR5cGUoKSwgIicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CiAKLSAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChz
b3VyY2VVUkwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsKLSAgICBwcm9taXNlLT5y
ZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0
KSB7Ci0gICAgICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2Jq
ZWN0LnZtKCksCi0gICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2Rl
IHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwg
bG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOwotICAgIH0pOworICAg
ICAgICBVUkwgcmVzcG9uc2VVUkwgPSB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VVUkwoKTsK
KworICAgICAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNl
cnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291
cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBN
ZW1vcnlDYWNoZS4KKyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVudHMg
dGhyb3VnaCByZWRpcmVjdGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAorICAgICAgICBpZiAoIXdvcmtlclNjcmlwdExvYWRl
ci5pc1JlZGlyZWN0ZWQoKSAmJiB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VTb3VyY2UoKSAh
PSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAgICAgICAgICAg
IGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAgICAgICAgICAg
cmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50
aWZpZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJM
TWFwLmFkZChzb3VyY2VVUkwuc3RyaW5nKCksIHJlc3BvbnNlVVJMKTsKKyAgICAgICAgcHJvbWlz
ZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9i
amVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNH
bG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3Jp
cHRTb3VyY2VDb2RlIHsgd29ya2VyU2NyaXB0TG9hZGVyLnNjcmlwdCgpLCBXVEZNb3ZlKHJlc3Bv
bnNlVVJMKSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2Fk
ZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7CisgICAgICAgIH0pOworICAg
IH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
TW9kdWxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVM
b2FkZXIuaAppbmRleCBkZTI5ZDJmNGJmMDk2YjYwYzM2OTk4MDMxNmMxNDg2YjI4MmFiZjA5Li5k
ZjM0ZDU1MWExMWNkOThmNGUyMzZhMmFhMWY0ODI3OWQ5NjRjNjg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaApAQCAtMjUsOCArMjUsOCBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5o
IgotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUg
Ik1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDUsMTYgKzQ1
LDE3IEBAIGNsYXNzIFNvdXJjZU9yaWdpbjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIAotY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVy
IGZpbmFsIDogcHJpdmF0ZSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNjcmlwdE1vZHVsZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgotICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRlcihEb2N1bWVudCYpOwor
ICAgIGVudW0gY2xhc3MgT3duZXJUeXBlIDogdWludDhfdCB7IERvY3VtZW50LCBXb3JrZXJPcldv
cmtsZXQgfTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIE93bmVyVHlwZSk7CiAgICAgflNjcmlwdE1vZHVsZUxvYWRlcigpOwogCi0gICAg
RG9jdW1lbnQmIGRvY3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudDsgfQorICAgIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQ7IH0KIAogICAgIEpT
Qzo6SWRlbnRpZmllciByZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxl
TG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1v
ZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwogICAgIEpTQzo6SlNJbnRlcm5h
bFByb21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVy
KiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6
SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKQEAgLTYzLDEzICs2NCwxNSBAQCBjbGFzcyBTY3JpcHRN
b2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dCB7CiAgICAgSlNDOjpKU09iamVjdCogY3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwogCiBwcml2YXRlOgotICAgIHZvaWQgbm90
aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVkUHJv
bWlzZT4pIGZpbmFsOworICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVy
JiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSBmaW5hbDsKKwogICAgIFVSTCBtb2R1bGVV
UkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAgICAgVVJMIHJlc3BvbnNl
VVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAK
LSAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBt
X2NvbnRleHQ7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFVSTD4gbV9yZXF1ZXN0VVJMVG9SZXNwb25z
ZVVSTE1hcDsKLSAgICBIYXNoU2V0PFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+PiBtX2xv
YWRlcnM7CisgICAgSGFzaFNldDxSZWY8TW9kdWxlU2NyaXB0TG9hZGVyPj4gbV9sb2FkZXJzOwor
ICAgIE93bmVyVHlwZSBtX293bmVyVHlwZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaAppbmRleCBj
NzA0NjI2ZmI3MzNkYjQ3MmJkYTUwMjM2MjQxYTZlNzQwZTI3ODJiLi4xMGZhN2U4YjQ0OWM4Yjg0
OWViMzdjYzFmMmM4NjZmYTg5M2FhZDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0U291cmNlQ29kZS5oCkBAIC01Nyw3ICs1Nyw3IEBAIGNsYXNzIFNjcmlwdFNvdXJj
ZUNvZGUgewogICAgIHsKICAgICB9CiAKLSAgICBTY3JpcHRTb3VyY2VDb2RlKGNvbnN0IFN0cmlu
ZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwg
SlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlwZSwgUmVmPENhY2hlZFNjcmlw
dEZldGNoZXI+JiYgc2NyaXB0RmV0Y2hlcikKKyAgICBTY3JpcHRTb3VyY2VDb2RlKGNvbnN0IFN0
cmluZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlv
biwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlwZSwgUmVmPEpTQzo6U2Ny
aXB0RmV0Y2hlcj4mJiBzY3JpcHRGZXRjaGVyKQogICAgICAgICA6IG1fcHJvdmlkZXIoSlNDOjpT
dHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgSlNDOjpTb3VyY2VPcmlnaW4geyB1
cmwsIFdURk1vdmUoc2NyaXB0RmV0Y2hlcikgfSwgdXJsLnN0cmluZygpLCBzdGFydFBvc2l0aW9u
LCBzb3VyY2VUeXBlKSkKICAgICAgICAgLCBtX2NvZGUobV9wcm92aWRlci5jb3B5UmVmKCksIHN0
YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4u
b25lQmFzZWRJbnQoKSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDI3NDkzYTYw
MTdmODA3ZDAwMWRmZjgzNmY0ZjI1MTc4YTE2ZTI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApAQCAtMCww
ICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorCisjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0RmV0Y2hl
ci5oIgorI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisj
aW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRlck9wdGlvbnMuaCIKKyNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCisjaW5jbHVk
ZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgor
I2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRM
b2FkZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyPiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBXb3JrZXJTY3JpcHRG
ZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBh
cmFtZXRlcnMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJz
KSkpOworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Oldvcmtlck1vZHVsZVNjcmlwdExv
YWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBw
cm9taXNlLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1bGVTY3JpcHRMb2FkZXIo
Y2xpZW50LCBwcm9taXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKQorICAg
ICwgbV9zY3JpcHRMb2FkZXIoV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKSkKK3sKK30KKwor
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjp+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKCkKK3sK
KyAgICBtX3NjcmlwdExvYWRlci0+Y2FuY2VsKCk7Cit9CisKK2Jvb2wgV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyOjpsb2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFVSTCYmIHNv
dXJjZVVSTCkKK3sKKyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291cmNlVVJMKTsKKworICAg
IFJlc291cmNlUmVxdWVzdCByZXF1ZXN0IHsgbV9zb3VyY2VVUkwgfTsKKworICAgIEZldGNoT3B0
aW9ucyBmZXRjaE9wdGlvbnM7CisgICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6
Ok1vZGU6OkNvcnM7CisgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNo
ZTo6RGVmYXVsdDsKKyAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJl
ZGlyZWN0OjpGb2xsb3c7CisgICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gc3RhdGljX2Nh
c3Q8V29ya2VyU2NyaXB0RmV0Y2hlciY+KHNjcmlwdEZldGNoZXIoKSkuY3JlZGVudGlhbHMoKTsK
KyAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gY29udGV4dC5zaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSA/IENvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UgOiBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudDo6RW5mb3JjZUNoaWxkU3JjRGlyZWN0aXZlOworCisgICAgU3RyaW5nIHRhc2tN
b2RlID0gImxvYWRNb2R1bGVzSW5Xb3JrZXJPcldvcmtsZXRNb2RlIl9zOworICAgIG1fc2NyaXB0
TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RG
TW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2Vy
dmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXVEZNb3ZlKHRhc2tNb2RlKSk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKK3ZvaWQgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5p
c2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisKKyAgICBhdXRvIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKTsKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50
LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJjZVVSTCksIG1fcHJvbWlzZS5y
ZWxlYXNlTm9uTnVsbCgpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTAwODBlZTkz
MWJmYjBiMzNhOWY1NDczYjI5N2NhMmRjMmU0NzU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgKQEAgLTAsMCAr
MSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTW9kdWxlU2Ny
aXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5j
bHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2Ns
YXNzIE1vZHVsZUZldGNoUGFyYW1ldGVyczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBXb3JrZXJTY3JpcHRMb2Fk
ZXI7CisKK2NsYXNzIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBNb2R1
bGVTY3JpcHRMb2FkZXIsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIFdvcmtlclNjcmlwdEZldGNo
ZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKworICAgIHZpcnR1YWwgfldv
cmtlck1vZHVsZVNjcmlwdExvYWRlcigpOworCisgICAgYm9vbCBsb2FkKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBVUkwmJiBzb3VyY2VVUkwpOworCisgICAgV29ya2VyU2NyaXB0TG9hZGVyJiBz
Y3JpcHRMb2FkZXIoKSB7IHJldHVybiBtX3NjcmlwdExvYWRlci5nZXQoKTsgfQorCitwcml2YXRl
OgorICAgIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQm
LCBEZWZlcnJlZFByb21pc2UmLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZl
dGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25l
ZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWwgeyB9CisgICAgdm9pZCBub3Rp
ZnlGaW5pc2hlZCgpIGZpbmFsOworCisgICAgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gbV9zY3Jp
cHRMb2FkZXI7CisgICAgVVJMIG1fc291cmNlVVJMOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0
RmV0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RmV0Y2hl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY2YjU0ZWY4OTRiNTMzZWFmY2ViYzFhMTRiZjI3NmEwM2VjYmExMGIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3Jp
cHRGZXRjaGVyLmgKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiTG9hZGFibGVTY3JpcHQuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9T
Y3JpcHRGZXRjaGVyLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVk
U2NyaXB0OworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIFdvcmtlclNjcmlwdEZldGNoZXIgZmlu
YWwgOiBwdWJsaWMgSlNDOjpTY3JpcHRGZXRjaGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PFdvcmtlclNjcmlwdEZldGNoZXI+IGNyZWF0ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIGNy
ZWRlbnRpYWxzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyU2Ny
aXB0RmV0Y2hlcihjcmVkZW50aWFscykpOworICAgIH0KKworICAgIEZldGNoT3B0aW9uczo6Q3Jl
ZGVudGlhbHMgY3JlZGVudGlhbHMoKSBjb25zdCB7IHJldHVybiBtX2NyZWRlbnRpYWxzOyB9CisK
KyAgICB2b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmluZ0ltcGwmIG1vZHVsZUtl
eSkKKyAgICB7CisgICAgICAgIG1fbW9kdWxlS2V5ID0gJm1vZHVsZUtleTsKKyAgICAgICAgbV9p
c0xvYWRlZCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBub3RpZnlMb2FkRmFpbGVkKExvYWRh
YmxlU2NyaXB0OjpFcnJvciYmIGVycm9yKQorICAgIHsKKyAgICAgICAgbV9lcnJvciA9IFdURk1v
dmUoZXJyb3IpOworICAgICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lk
IG5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpCisgICAgeworICAgICAgICBtX3dhc0NhbmNlbGVkID0g
dHJ1ZTsKKyAgICAgICAgbV9pc0xvYWRlZCA9IHRydWU7CisgICAgfQorCisgICAgYm9vbCBpc0xv
YWRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMb2FkZWQ7IH0KKyAgICBPcHRpb25hbDxMb2FkYWJs
ZVNjcmlwdDo6RXJyb3I+IGVycm9yKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvcjsgfQorICAgIGJv
b2wgd2FzQ2FuY2VsZWQoKSBjb25zdCB7IHJldHVybiBtX3dhc0NhbmNlbGVkOyB9CisgICAgVW5p
cXVlZFN0cmluZ0ltcGwqIG1vZHVsZUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxlS2V5Lmdl
dCgpOyB9CisKK3Byb3RlY3RlZDoKKyAgICBXb3JrZXJTY3JpcHRGZXRjaGVyKEZldGNoT3B0aW9u
czo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMpCisgICAgICAgIDogbV9jcmVkZW50aWFscyhjcmVk
ZW50aWFscykKKyAgICB7CisgICAgfQorCitwcml2YXRlOgorICAgIEZldGNoT3B0aW9uczo6Q3Jl
ZGVudGlhbHMgbV9jcmVkZW50aWFsczsKKyAgICBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+IG1f
bW9kdWxlS2V5OworICAgIE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpFcnJvcj4gbV9lcnJvcjsK
KyAgICBib29sIG1fd2FzQ2FuY2VsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0xvYWRlZCB7
IGZhbHNlIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCA0NGY5ZDBlYTUwNTJjMDE5ZTc4YmFlYmU4MDhiOGYyYzc1ZDMxOTk1Li4zYjQy
NTM4NDgwMDJhNTFkMjkwOTJjNTFhMGRhNTg3OWQ1NDIxOGFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTYxNSw3ICs2MTUsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1l
LCBjb25zdCBTZXR0aW5ncyYgc2V0dGluZ3MsIGNvbnN0IFVSTCYgdXJsLCBEb2N1bQogICAgICwg
bV9kb2N1bWVudENyZWF0aW9uVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKICNlbmRpZgogICAg
ICwgbV9zY3JpcHRSdW5uZXIobWFrZVVuaXF1ZTxTY3JpcHRSdW5uZXI+KCp0aGlzKSkKLSAgICAs
IG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhpcykpCisg
ICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMs
IFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpEb2N1bWVudCkpCiAjaWYgRU5BQkxFKFhT
TFQpCiAgICAgLCBtX2FwcGx5UGVuZGluZ1hTTFRyYW5zZm9ybXNUaW1lcigqdGhpcywgJkRvY3Vt
ZW50OjphcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zVGltZXJGaXJlZCkKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FeGNlcHRpb25Db2RlLmgKaW5kZXggZjZiNTU4ZWE4MmQ3OTM2OGU2MWFkYjA2MGNmMGI0
ZWExZGJlYTIwYy4uMTdkZTc0MzQ3MmY3NzMxYjAzYzk4ZmVjZTdiMWViMWI5NjAxZTc3YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oCkBAIC02MSw2ICs2MSw3IEBAIGVudW0gRXhjZXB0
aW9uQ29kZSB7CiAgICAgLy8gU2ltcGxlIGV4Y2VwdGlvbnMgKGh0dHBzOi8vaGV5Y2FtLmdpdGh1
Yi5pby93ZWJpZGwvI2lkbC1leGNlcHRpb25zKS4KICAgICBSYW5nZUVycm9yLAogICAgIFR5cGVF
cnJvciwKKyAgICBKU1N5bnRheEVycm9yLCAvLyBEaWZmZXJlbnQgZnJvbSBET00gU1lOVEFYX0VS
Ui4KIAogICAgIC8vIE5vbi1zdGFuZGFyZCBlcnJvci4KICAgICBTdGFja092ZXJmbG93RXJyb3Is
CkBAIC0xMTEsNiArMTEyLDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3Jl
OjpFeGNlcHRpb25Db2RlPiB7CiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6Tm90QWxsb3dl
ZEVycm9yLAogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OlJhbmdlRXJyb3IsCiAgICAgV2Vi
Q29yZTo6RXhjZXB0aW9uQ29kZTo6VHlwZUVycm9yLAorICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNv
ZGU6OkpTU3ludGF4RXJyb3IsCiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6U3RhY2tPdmVy
Zmxvd0Vycm9yLAogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OkV4aXN0aW5nRXhjZXB0aW9u
RXJyb3IKICAgICA+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9k
dWxlU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5j
cHAKaW5kZXggOWEyNWMxNjU4OGVlY2FkNjc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uNDhlYzA4
NTFhNDU3ZDliYTQ3NDczZmVjMjhkN2I0OTMxMmI3ODhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCkBAIC04OCwxNiArODgsNCBAQCB2b2lkIExvYWRh
YmxlTW9kdWxlU2NyaXB0OjpleGVjdXRlKFNjcmlwdEVsZW1lbnQmIHNjcmlwdEVsZW1lbnQpCiAg
ICAgc2NyaXB0RWxlbWVudC5leGVjdXRlTW9kdWxlU2NyaXB0KCp0aGlzKTsKIH0KIAotdm9pZCBM
b2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYg
cm9vdFVSTCkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAg
ICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgcm9vdFVSTC5zdHJp
bmcoKSwgbV9wYXJhbWV0ZXJzLmNvcHlSZWYoKSk7Ci19Ci0KLXZvaWQgTG9hZGFibGVNb2R1bGVT
Y3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBz
b3VyY2VDb2RlKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0g
ICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0aGlzLCBzb3VyY2VDb2Rl
KTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAppbmRl
eCBiYjc5OTU0ZDdiOTliMGVkMDZiZmU1NWVmODU0ZWNjZTIxZjM1ODc3Li5kMjUzNTk2M2Y2NDhi
MDJhOGEwMWZkNjNiYjFlMzgxMzg2Y2VlNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFi
bGVNb2R1bGVTY3JpcHQuaApAQCAtNTAsMTUgKzUwLDE0IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxl
U2NyaXB0IGZpbmFsIDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsKIAogICAgIHZvaWQgc2V0RXJy
b3IoRXJyb3ImJik7CiAKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHJvb3RV
UkwpOwotICAgIHZvaWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsK
LQogICAgIHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYpOwogICAg
IHZvaWQgbm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3ImJik7CiAgICAgdm9p
ZCBub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKIAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtb2R1
bGVLZXkoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQoKTsgfQogCisgICAgTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgp
OyB9CisKIHByaXZhdGU6CiAgICAgTG9hZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBu
b25jZSwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBTdHJp
bmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3Ry
aW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDA1NzU4YjYwMGM3NTIyYjQ3ZjM2NGJh
NmExOGQzNWYxNzMxMTA3ZjkuLjVlOTlmMGY1Nzc3YjNiMjE1OGRkMGZhNGJjMzgyNzc2Y2RiMzQ4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAK
ICNpbmNsdWRlICJMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJN
b2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5j
bHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHU2NyaXB0RWxl
bWVudC5oIgpAQCAtMzUxLDggKzM1MiwxMSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RN
b2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAg
ICAgICAgICAgc2NyaXB0Q2hhcnNldCgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmxvY2FsTmFt
ZSgpLAogICAgICAgICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwot
ICAgICAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIG1vZHVsZVNjcmlwdFJv
b3RVUkwpOwogICAgICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAg
ICAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7Cisg
ICAgICAgICAgICBhdXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4o
Km1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpOworICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxv
YWRNb2R1bGVTY3JpcHQoc2NyaXB0LCBtb2R1bGVTY3JpcHRSb290VVJMLnN0cmluZygpLCBtYWtl
UmVmKHNjcmlwdC5wYXJhbWV0ZXJzKCkpKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKQEAgLTM2Nyw4ICszNzEsOSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVl
c3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQog
ICAgIGlmICghY29udGVudFNlY3VyaXR5UG9saWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVu
dC5kb2N1bWVudCgpLnVybCgpLnN0cmluZygpLCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29k
ZS5zb3VyY2UoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIGhhc0tub3duTm9uY2UpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50
KCksIHNvdXJjZUNvZGUpOwogICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7
CisgICAgaWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAg
ICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoZG93bmNhc3Q8TG9hZGFibGVN
b2R1bGVTY3JpcHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKSwgc291cmNlQ29kZSk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJl
YWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmNwcAppbmRleCAyNzE3Yzg2MWM3NGIwZjJhZWJjZGU0MDg3MDBlMmE5YTAzNzM3NTk1Li4xYjY1
MzJjM2IwZWFhODBkOWJkNDZjNmQ0MzIxMzY5NjIxYzAxOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0xMDEsMTAgKzEwMSwxMCBAQCBUaHJlYWRh
YmxlTG9hZGVyT3B0aW9ucyBUaHJlYWRhYmxlTG9hZGVyT3B0aW9uczo6aXNvbGF0ZWRDb3B5KCkg
Y29uc3QKIH0KIAogCi1SZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQmIGNsaWVudCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIFN0cmluZyYmIHJlZmVycmVyKQorUmVmUHRyPFRocmVh
ZGFibGVMb2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBjbGllbnQsIFJlc291cmNlUmVx
dWVzdCYmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBT
dHJpbmcmJiByZWZlcnJlciwgU3RyaW5nJiYgdGFza01vZGUpCiB7CiAgICAgaWYgKGlzPFdvcmtl
ckdsb2JhbFNjb3BlPihjb250ZXh0KSB8fCAoaXM8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0
KSAmJiBkb3duY2FzdDxXb3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpLndvcmtlck9yV29ya2xl
dFRocmVhZCgpKSkKLSAgICAgICAgcmV0dXJuIFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmNyZWF0
ZShzdGF0aWNfY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSY+KGNvbnRleHQpLCBjbGll
bnQsIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCksIFdURk1vdmUocmVxdWVzdCksIG9wdGlv
bnMsIFdURk1vdmUocmVmZXJyZXIpKTsKKyAgICAgICAgcmV0dXJuIFdvcmtlclRocmVhZGFibGVM
b2FkZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSY+KGNv
bnRleHQpLCBjbGllbnQsIFdURk1vdmUodGFza01vZGUpLCBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRp
b25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBudWxs
cHRyOwogICAgIGlmIChpczxXb3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggYzJiMjQ1YzNlYmI4YmM5MzBlZjRk
MTcyYmExNTA5YTE3OWYxZDdhNi4uMWFjNzA0YjRjM2I1MGIwZmZkYTAzNDI4YzNjZTdkYTE0OTg4
MjYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC03NCw3
ICs3NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoVGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBs
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJj
ZVJlcXVlc3QmJiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zJik7Ci0gICAgICAgIHN0YXRpYyBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgUmVz
b3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgU3RyaW5nJiYg
cmVmZXJyZXIgPSBTdHJpbmcoKSk7CisgICAgICAgIHN0YXRpYyBSZWZQdHI8VGhyZWFkYWJsZUxv
YWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwg
U3RyaW5nJiYgcmVmZXJyZXIgPSBTdHJpbmcoKSwgU3RyaW5nJiYgdGFza01vZGUgPSB7IH0pOwog
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSXNEb25lKCkgPSAwOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgY2FuY2VsKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IGJm
NmUyNzZhMzljMjMxNWY4ODkwYzYzMzAzMjlkNjQ0ZGZjYWVhYTUuLjA0ZmRmNTgyNzQzZWI5NzNi
NTI1ZDU0YzhhOGQ4ZjM3ZDgyNTIwZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAg
LTc0LDYgKzc0LDggQEAgaW5saW5lIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWUKICAgICAsIG1faWRlbnRpZmll
cigid29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRp
ZmllcigpKQogICAgICwgbV9jb250ZXh0UHJveHkoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6Y3Jl
YXRlKCp0aGlzKSkKICAgICAsIG1fcnVudGltZUZsYWdzKHJ1bnRpbWVGbGFncykKKyAgICAsIG1f
dHlwZShvcHRpb25zLnR5cGUpCisgICAgLCBtX2NyZWRlbnRpYWxzKG9wdGlvbnMuY3JlZGVudGlh
bHMpCiB7CiAgICAgc3RhdGljIGJvb2wgYWRkZWRMaXN0ZW5lcjsKICAgICBpZiAoIWFkZGVkTGlz
dGVuZXIpIHsKQEAgLTExNywxMCArMTE5LDE1IEBAIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBX
b3JrZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1CiAK
ICAgICBGZXRjaE9wdGlvbnMgZmV0Y2hPcHRpb25zOwogICAgIGZldGNoT3B0aW9ucy5tb2RlID0g
RmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luOworICAgIGlmICh3b3JrZXItPm1fdHlwZSA9
PSBXb3JrZXJUeXBlOjpNb2R1bGUpCisgICAgICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9
IHdvcmtlci0+bV9jcmVkZW50aWFsczsKKyAgICBlbHNlCisgICAgICAgIGZldGNoT3B0aW9ucy5j
cmVkZW50aWFscyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW47CiAgICAg
ZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKICAgICBm
ZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAg
ICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6
V29ya2VyOwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShj
b250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRT
ZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgd29ya2Vy
KTsKKyAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4
dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5nZXQo
KSwgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CisKICAgICByZXR1cm4gd29ya2VyOwog
fQogCkBAIC0yMTksNyArMjI2LDEzIEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAg
ICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlT
dHJpbmc7CiAgICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3Njcmlw
dExvYWRlci0+cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFk
ZXIpKQogICAgICAgICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7Ci0gICAgbV9jb250ZXh0UHJv
eHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwg
Y29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3Nj
cmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2Vy
Q3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9ydW50aW1lRmxhZ3MpOworCisgICAgVVJM
IHJlc3BvbnNlVVJMID0gbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlVVJMKCk7CisgICAgaWYgKCFt
X3NjcmlwdExvYWRlci0+aXNSZWRpcmVjdGVkKCkgJiYgbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNl
U291cmNlKCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7Cisg
ICAgICAgIGlmIChtX3NjcmlwdExvYWRlci0+dXJsKCkuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkp
CisgICAgICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIobV9zY3JpcHRM
b2FkZXItPnVybCgpLmZyYWdtZW50SWRlbnRpZmllcigpKTsKKyAgICB9CisgICAgbV9jb250ZXh0
UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShyZXNwb25zZVVSTCwgbV9uYW1lLCBjb250ZXh0
LT51c2VyQWdlbnQocmVzcG9uc2VVUkwpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlw
dCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVm
ZXJyZXJQb2xpY3ksIG1fdHlwZSwgbV9jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2Ny
aXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5oCmluZGV4IDUzZjVlNmZmZjI3YzlmYTNlNWMwZTAxZjBmNmM0
MmM2Y2I2ZjlkMGUuLjM4YTYyM2E5OGRiYTM1ZmY4MDEzY2Q2ZmM4Yzg1YzgxMDIwNTAyMTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaApAQCAtMjksOSArMjksMTEgQEAKICNpbmNsdWRlICJBY3Rp
dmVET01PYmplY3QuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIkZldGNoUmVxdWVz
dENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJQb3N0
TWVzc2FnZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIK
KyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGlt
ZUZsYWdzLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KQEAgLTU1LDYgKzU3LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGlj
IEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdvcmtlcik7CiBwdWJsaWM6CiAgICAgc3RydWN0IE9w
dGlvbnMgeworICAgICAgICBXb3JrZXJUeXBlIHR5cGU7CisgICAgICAgIEZldGNoUmVxdWVzdENy
ZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwogICAgICAgICBTdHJpbmcgbmFtZTsKICAgICB9OwogICAg
IHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IE9wdGlv
bnMmKTsKQEAgLTc5LDYgKzgzLDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3Ry
YWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAgICB2b2lk
IHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmKT4mJik7CiAjZW5kaWYKIAorICAgIFdvcmtlclR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdvcmtlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IE9wdGlvbnMmKTsKIApA
QCAtMTEyLDYgKzExOCw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdv
cmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBXb3JrCiAjaWYgRU5BQkxFKFdF
Ql9SVEMpCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fdHJhbnNmb3JtZXJzOwogI2VuZGlmCisgICAg
V29ya2VyVHlwZSBtX3R5cGUgeyBXb3JrZXJUeXBlOjpDbGFzc2ljIH07CisgICAgRmV0Y2hSZXF1
ZXN0Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFscyB7IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpT
YW1lT3JpZ2luIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlci5pZGwKaW5kZXggNDVkNmEwODY3ODU0ZWU0MDRkZTdlN2QwMTI0OGNlYmY0NGRjYTdl
ZC4uNzAyMTc5NmRmNTA0YWRmOGU2Yjk1ODlhY2U5ZjE0NDgyMWYyOTVmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmlkbApAQCAtMzgsNiArMzgsOCBAQAogfTsKIAogZGljdGlvbmFyeSBXb3Jr
ZXJPcHRpb25zIHsKKyAgICBXb3JrZXJUeXBlIHR5cGUgPSAiY2xhc3NpYyI7CisgICAgRmV0Y2hS
ZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMgPSAic2FtZS1vcmlnaW4iOyAvLyBjcmVkZW50
aWFscyBpcyBvbmx5IHVzZWQgaWYgdHlwZSBpcyAibW9kdWxlIgogICAgIERPTVN0cmluZyBuYW1l
ID0gIiI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCmluZGV4IGRiYWIzNDhlODBjOWRlNTBiZDIxNTc3N2ExNGEzOWEwZjcwZTQ5YzcuLmNjZGU5
MDljN2NiNTJlOTc3NzRjNWI4MTU4MjNlYmNiYmIwNzBmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC03NCw2ICs3NCw4IEBAIFdvcmtlckds
b2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIGNvbnN0
IFdvcmtlclBhcmFtZXRlCiAgICAgLCBtX3BlcmZvcm1hbmNlKFBlcmZvcm1hbmNlOjpjcmVhdGUo
dGhpcywgcGFyYW1zLnRpbWVPcmlnaW4pKQogICAgICwgbV9yZWZlcnJlclBvbGljeShwYXJhbXMu
cmVmZXJyZXJQb2xpY3kpCiAgICAgLCBtX3NldHRpbmdzVmFsdWVzKHBhcmFtcy5zZXR0aW5nc1Zh
bHVlcykKKyAgICAsIG1fd29ya2VyVHlwZShwYXJhbXMud29ya2VyVHlwZSkKKyAgICAsIG1fY3Jl
ZGVudGlhbHMocGFyYW1zLmNyZWRlbnRpYWxzKQogewogI2lmICFFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKICAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvblByb3h5KTsKQEAgLTI3NCw2ICsyNzYs
MTEgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNjcmlwdHMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMpCiB7CiAgICAgQVNTRVJUKGNvbnRlbnRTZWN1cml0
eVBvbGljeSgpKTsKIAorICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlw
YWdlL3dvcmtlcnMuaHRtbCNpbXBvcnRpbmctc2NyaXB0cy1hbmQtbGlicmFyaWVzCisgICAgLy8g
MS4gSWYgd29ya2VyIGdsb2JhbCBzY29wZSdzIHR5cGUgaXMgIm1vZHVsZSIsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgICBpZiAobV93b3JrZXJUeXBlID09IFdvcmtlclR5cGU6Ok1v
ZHVsZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgImltcG9ydFNjcmlw
dHMgY2Fubm90IGJlIHVzZWQgaWYgd29lcmtlciB0eXBlIGlzIFwibW9kdWxlXCIiX3MgfTsKKwog
ICAgIFZlY3RvcjxVUkw+IGNvbXBsZXRlZFVSTHM7CiAgICAgY29tcGxldGVkVVJMcy5yZXNlcnZl
SW5pdGlhbENhcGFjaXR5KHVybHMuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIGVudHJ5IDogdXJs
cykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDQ2
ZDQ5ZDk0YzUyMzhlNDY4OGQzOTVkODdjMjA2M2ViNTcyMGQxYmYuLjc0Nzk1ZjVjMGY5YTJhMzVk
MDA5MzAxMmFkMThmNTdlMzE3ZjgyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmgKQEAgLTEyMyw2ICsxMjMsOCBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29w
ZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNl
NgogCiAgICAgY29uc3QgU2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3NldHRpbmdzVmFsdWVzOyB9CiAKKyAgICBGZXRjaE9wdGlvbnM6OkNy
ZWRlbnRpYWxzIGNyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1cm4gbV9jcmVkZW50aWFsczsgfQor
CiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyR2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSwgY29u
c3QgV29ya2VyUGFyYW1ldGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgV29ya2VyVGhyZWFk
JiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0
aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwogCkBAIC0xNjMsOCArMTY1LDYgQEAgY2xhc3Mg
V29ya2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2Nv
cGU+LCBwdWJsaWMgQmFzZTYKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJMb2NhdGlvbj4gbV9s
b2NhdGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJOYXZpZ2F0b3I+IG1fbmF2aWdhdG9y
OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+
IG1fc2NyaXB0OwotCiAgICAgYm9vbCBtX2lzT25saW5lOwogICAgIGJvb2wgbV9zaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAKQEAgLTE4Nyw2ICsxODcsOCBAQCBj
bGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9i
YWxTY29wZT4sIHB1YmxpYyBCYXNlNgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDU1NWYWx1ZVBvb2w+
IG1fY3NzVmFsdWVQb29sOwogICAgIFJlZmVycmVyUG9saWN5IG1fcmVmZXJyZXJQb2xpY3k7CiAg
ICAgU2V0dGluZ3M6OlZhbHVlcyBtX3NldHRpbmdzVmFsdWVzOworICAgIFdvcmtlclR5cGUgbV93
b3JrZXJUeXBlOworICAgIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFsczsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNDAwMDNjM2UwMTA5OTk2MGY2NDc4NjFl
NzAxNjg3ZDBlMzcxZDcyZC4uZWQ2NzNhYzhmN2MwZWU1NGMwNjBlY2I1OTIxNjM5MGVkNzBmZTJj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50
aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRl
V29ya2VyR2xvYmFsU2NvcGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9X
b3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCAxOWQ0YmU2NDk5MmYzMGQzY2NlNzY1NDdh
M2QyMjE4YTk4Yzg0MmMzLi43ODgzNTg3YTdhZjYyMDllM2VjYzhlN2I0MWJhZDQ3YWRmNjIyNDBl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNw
cApAQCAtNzMsNyArNzMsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2lu
Z1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7
CiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVy
cmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1l
c3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJM
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBi
b29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3Rvbmlj
VGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgV29ya2VyVHlw
ZSB3b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpS
dW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8g
YmUgcmV2aXNpdGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBB
U1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNj
cmlwdFVSTCwgY29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9
IGRvY3VtZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFt
cyA9IHsgc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGRvY3Vt
ZW50LnNldHRpbmdzVmFsdWVzKCkgfTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsg
c2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUs
IGNyZWRlbnRpYWxzLCBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpIH07CiAgICAgYXV0byB0aHJl
YWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUsICp0
aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHByb3h5
LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0
ZWQodGhyZWFkLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaAppbmRleCBjNWI1NzViOWU2MTViM2YzZjU5NmJmYzNkZjY4M2M4NzdjYzYyYmFi
Li5kOWU4MWUxNTdhMGY0ODUyZTQ5YjU5ZDI1NjZhOGE4MGY1ZjgxOGFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01MCw3ICs1MCw3IEBA
IGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5IGZpbmFsIDogcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPFdvcmtlck1lc3NhZ2luZ1ByCiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9u
cyBvZiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5j
dGlvbnMgaW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2Vy
R2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAg
ICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUs
IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAg
dm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1l
c3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFs
OwogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggMjM4NGE1YThj
N2QyYTMwMmVlZTVjYjQwNWUxMDVlMDI1Yzk4NDNjYy4uZjRmNGIyNzQ2NmY5YTMwYjI4YjhiMjFm
NmYyYmVmOGJkZTkzODUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogCisj
aW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyRXZlbnRMb29w
LmgiCiAjaW5jbHVkZSAiV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCIKQEAgLTM5LDYgKzQwLDcgQEAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKTsKIAogV29y
a2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtl
clRocmVhZFR5cGUgdHlwZSwgUmVmPEpTQzo6Vk0+JiYgdm0sIFdvcmtlck9yV29ya2xldFRocmVh
ZCogdGhyZWFkKQogICAgIDogbV9zY3JpcHQobWFrZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyPih0eXBlLCBXVEZNb3ZlKHZtKSwgdGhpcykpCisgICAgLCBtX21vZHVsZUxv
YWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxv
YWRlcjo6T3duZXJUeXBlOjpXb3JrZXJPcldvcmtsZXQpKQogICAgICwgbV90aHJlYWQodGhyZWFk
KQogICAgICwgbV9pbnNwZWN0b3JDb250cm9sbGVyKG1ha2VVbmlxdWU8V29ya2VySW5zcGVjdG9y
Q29udHJvbGxlcj4oKnRoaXMpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IDZjMjQ0YTBjNDI3ZWUxYzhjNjVmZGNj
NzY1OTUyZjg3N2ZkOWIxNmIuLjU0NGYwNDdhZWMyNzgzMjc0NGQwYThhNzBhZjdlOTM5YzMzMDk5
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlLmgKQEAgLTMyLDYgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRXZlbnRMb29wVGFza0dyb3VwOworY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyOwogY2xhc3Mg
V29ya2VyRXZlbnRMb29wOwogY2xhc3MgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNz
IFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI7CkBAIC01NCw2ICs1NSw4IEBAIGNsYXNz
IFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsIHB1YmxpYyBSZWZDb3VuCiAKICAgICB1bnNpZ25lZCBsb25nIGNyZWF0ZVVuaXF1ZUlkZW50
aWZpZXIoKSB7IHJldHVybiBtX3VuaXF1ZUlkZW50aWZpZXIrKzsgfQogCisgICAgU2NyaXB0TW9k
dWxlTG9hZGVyJiBtb2R1bGVMb2FkZXIoKSB7IHJldHVybiAqbV9tb2R1bGVMb2FkZXI7IH0KKwog
ICAgIC8vIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCiAgICAgRXZlbnRMb29wVGFza0dyb3VwJiBl
dmVudExvb3AoKSBmaW5hbDsKICAgICBib29sIGlzQ29udGV4dFRocmVhZCgpIGNvbnN0IGZpbmFs
OwpAQCAtODgsNiArOTEsNyBAQCBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSA6IHB1
YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LCBwdWJsaWMgUmVmQ291bgogICAgIHZvaWQgZGVy
ZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQogCiAgICAgc3RkOjp1bmlxdWVfcHRy
PFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+IG1fc2NyaXB0OworICAgIHN0ZDo6dW5p
cXVlX3B0cjxTY3JpcHRNb2R1bGVMb2FkZXI+IG1fbW9kdWxlTG9hZGVyOwogICAgIFdvcmtlck9y
V29ya2xldFRocmVhZCogbV90aHJlYWQ7CiAgICAgUmVmUHRyPFdvcmtlckV2ZW50TG9vcD4gbV9l
dmVudExvb3A7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEV2ZW50TG9vcFRhc2tHcm91cD4gbV9kZWZh
dWx0VGFza0dyb3VwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggY2Q0ZWMyNDY4MjUyNWFhYmM2
NDJkODc3YTBkYTAxMWViZGUxMTQzMS4uOTFhOGE4Nzk0NTZlMDY3NjIyOWE4NzA4YTg3NTA5OTkz
YTJlMjQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zNSwxNSArMzUsMjMgQEAKICNpbmNs
dWRlICJKU0V4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUu
aCIKICNpbmNsdWRlICJKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIk1v
ZHVsZUZldGNoRmFpbHVyZUtpbmQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMu
aCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xp
ZW50RGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckNvbnNvbGVDbGllbnQuaCIKKyNpbmNsdWRlICJX
b3JrZXJTY3JpcHRGZXRjaGVyLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29tcGxldGlv
bi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0RlZmVycmVkV29ya1RpbWVyLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvRXhjZXB0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvRXhjZXB0aW9uSGVscGVycy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0dDQWN0aXZp
dHlDYWxsYmFjay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNl
Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNMb2NrLmg+CisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNNb2R1bGVSZWNvcmQuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU05h
dGl2ZVN0ZEZ1bmN0aW9uLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRj
aFBhcmFtZXRlcnMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1NjcmlwdEZldGNoZXIu
aD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmdJbmxpbmVzLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTIyOCw2ICsyMzYsMjQ1IEBAIHZvaWQgV29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29k
CiAgICAgfQogfQogCitzdGF0aWMgSWRlbnRpZmllciBqc1ZhbHVlVG9Nb2R1bGVLZXkoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgaWYg
KHZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVybiBJZGVudGlmaWVyOjpmcm9tVWlkKGpz
Q2FzdDxTeW1ib2wqPih2YWx1ZSktPnByaXZhdGVOYW1lKCkpOworICAgIEFTU0VSVCh2YWx1ZS5p
c1N0cmluZygpKTsKKyAgICByZXR1cm4gYXNTdHJpbmcodmFsdWUpLT50b0lkZW50aWZpZXIobGV4
aWNhbEdsb2JhbE9iamVjdCk7Cit9CisKK0pTQzo6SlNWYWx1ZSBXb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyOjpldmFsdWF0ZU1vZHVsZShKU0M6OkpTTW9kdWxlUmVjb3JkJiBtb2R1bGVS
ZWNvcmQpCit7CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVy
LmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOworICAgIEpTTG9ja0hvbGRl
ciBsb2NrIHsgdm0gfTsKKyAgICByZXR1cm4gbW9kdWxlUmVjb3JkLmV2YWx1YXRlKCZnbG9iYWxP
YmplY3QpOworfQorCitNZXNzYWdlUXVldWVXYWl0UmVzdWx0IFdvcmtlck9yV29ya2xldFNjcmlw
dENvbnRyb2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KFdvcmtlclNjcmlwdEZldGNoZXIm
IHNjcmlwdEZldGNoZXIsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCit7Cisg
ICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAgIHJldHVybiBNZXNzYWdlUXVl
dWVUZXJtaW5hdGVkOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBn
bG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisgICAg
YXV0byBwcm90ZWN0b3IgPSBtYWtlUmVmKHNjcmlwdEZldGNoZXIpOworICAgIHsKKyAgICAgICAg
YXV0byYgcHJvbWlzZSA9IEpTRXhlY1N0YXRlOjpsb2FkTW9kdWxlKGdsb2JhbE9iamVjdCwgc291
cmNlQ29kZS5qc1NvdXJjZUNvZGUoKSwgSlNDOjpKU1NjcmlwdEZldGNoZXI6OmNyZWF0ZSh2bSwg
eyAmc2NyaXB0RmV0Y2hlciB9KSk7CisKKyAgICAgICAgYXV0byYgZnVsZmlsbEhhbmRsZXIgPSAq
SlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBTdHJpbmco
KSwgW3Byb3RlY3Rvcl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBj
YWxsRnJhbWUpIC0+IEpTQzo6RW5jb2RlZEpTVmFsdWUgeworICAgICAgICAgICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9
OworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAg
ICAgICAgICAgSWRlbnRpZmllciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFs
T2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRD
b21wbGV0ZWQoKm1vZHVsZUtleS5pbXBsKCkpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVq
ZWN0SGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmpl
Y3QsIDEsIFN0cmluZygpLCBbcHJvdGVjdG9yXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2Jq
ZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAgICAg
ICAgICAgSlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKKyAgICAg
ICAgICAgIGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRv
KiBvYmplY3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAgICAgICAgICAgIGlm
IChKU1ZhbHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGlj
X2Nhc3Q8SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFp
bHVyZUtpbmRQcml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlz
IGhvc3QgcHJvcGFnYXRlZCBlcnJvciBpbiB0aGUgbW9kdWxlIGxvYWRlciBwaXBlbGluZS4KKyAg
ICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kPihmYWlsdXJlS2luZFZhbHVlLmFzSW50MzIoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAg
Y2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkOgorICAgICAgICAgICAgICAg
ICAgICAgICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJv
ciB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlw
ZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdURjo6bnVsbG9w
dAorICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpX
YXNDYW5jZWxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3Rvci0+bm90aWZ5TG9h
ZFdhc0NhbmNlbGVkKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAg
ICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciB7Cisg
ICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAor
ICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpDb25zb2xlTWVzc2FnZSB7CisgICAgICAg
ICAgICAgICAgICAgIE1lc3NhZ2VTb3VyY2U6OkpTLAorICAgICAgICAgICAgICAgICAgICBNZXNz
YWdlTGV2ZWw6OkVycm9yLAorICAgICAgICAgICAgICAgICAgICByZXRyaWV2ZUVycm9yTWVzc2Fn
ZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgc2NvcGUpLAorICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9i
YWxPYmplY3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRsZXIpOworICAgIH0KKyAgICBt
X2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOwor
CisgICAgLy8gRHJpdmUgUnVuTG9vcCB1bnRpbCB3ZSBnZXQgZWl0aGVyIG9mICJXb3JrZXIgaXMg
dGVybWluYXRlZCIsICJMb2FkaW5nIGlzIGRvbmUiLCBvciAiTG9hZGluZyBpcyBmYWlsZWQiLgor
ICAgIFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSBtX2dsb2JhbFNjb3BlLT53b3JrZXJPcldvcmts
ZXRUaHJlYWQoKS0+cnVuTG9vcCgpOworCisgICAgLy8gV2UgZG8gbm90IHdhbnQgdG8gcmVjZWl2
ZSBtZXNzYWdlcyB0aGF0IGFyZSBub3QgcmVsYXRlZCB0byBhc3luY2hyb25vdXMgcmVzb3VyY2Ug
bG9hZGluZy4KKyAgICAvLyBPdGhlcndpc2UsIGEgd29ya2VyIGRpc2NhcmRzIHNvbWUgbWVzc2Fn
ZXMgZnJvbSB0aGUgbWFpbiB0aHJlYWQgaGVyZSBpbiBhIHJhY3kgd2F5LgorICAgIC8vIEZvciBl
eGFtcGxlLCB0aGUgbWFpbiB0aHJlYWQgY2FuIHBvc3RNZXNzYWdlIGp1c3QgYWZ0ZXIgY3JlYXRp
bmcgYSBXb3JrZXIuIEluIHRoYXQgY2FzZSwgcG9zdE1lc3NhZ2UncworICAgIC8vIHRhc2sgaXMg
cXVldWVkIGluIFdvcmtlclJ1bkxvb3AgYmVmb3JlIHN0YXJ0IHJ1bm5pbmcgbW9kdWxlIHNjcmlw
dHMuIFRoaXMgdGFzayBzaG91bGQgbm90IGJlIGRpc2NhcmRlZAorICAgIC8vIGluIHRoZSBmb2xs
b3dpbmcgZHJpdmluZyBvZiB0aGUgUnVuTG9vcCB3aGljaCBtYWlubHkgYXR0ZW1wdCB0byBjb2xs
ZWN0IGluaXRpYWwgbG9hZCBvZiBtb2R1bGUgc2NyaXB0cy4KKyAgICBTdHJpbmcgdGFza01vZGUg
PSAibG9hZE1vZHVsZXNJbldvcmtlck9yV29ya2xldE1vZGUiX3M7CisgICAgTWVzc2FnZVF1ZXVl
V2FpdFJlc3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2ZWQ7CisgICAgd2hp
bGUgKCghcHJvdGVjdG9yLT5pc0xvYWRlZCgpICYmICFwcm90ZWN0b3ItPndhc0NhbmNlbGVkKCkp
ICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKSB7CisgICAgICAgIHJlc3VsdCA9
IHJ1bkxvb3AucnVuSW5Nb2RlKG1fZ2xvYmFsU2NvcGUsIHRhc2tNb2RlKTsKKyAgICAgICAgaWYg
KHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKQorICAgICAgICAgICAgbV9nbG9iYWxT
Y29wZS0+ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNrcG9pbnQoKTsKKyAgICB9CisK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTdHJpbmcqIHJldHVy
bmVkRXhjZXB0aW9uTWVzc2FnZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRv
JiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisg
ICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhjZXB0aW9uOworICAgIEpTRXhl
Y1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpm
cm9tVWlkKHZtLCBzY3JpcHRGZXRjaGVyLm1vZHVsZUtleSgpKSwganNVbmRlZmluZWQoKSwgcmV0
dXJuZWRFeGNlcHRpb24pOworICAgIGlmICgocmV0dXJuZWRFeGNlcHRpb24gJiYgaXNUZXJtaW5h
dGVkRXhlY3V0aW9uRXhjZXB0aW9uKHZtLCByZXR1cm5lZEV4Y2VwdGlvbikpIHx8IGlzVGVybWlu
YXRpbmdFeGVjdXRpb24oKSkgeworICAgICAgICBmb3JiaWRFeGVjdXRpb24oKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbikgeworICAgICAgICBp
ZiAobV9nbG9iYWxTY29wZS0+Y2FuSW5jbHVkZUVycm9yRGV0YWlscyhzb3VyY2VDb2RlLmNhY2hl
ZFNjcmlwdCgpLCBzb3VyY2VDb2RlLnVybCgpLnN0cmluZygpKSkgeworICAgICAgICAgICAgLy8g
RklYTUU6IEl0J3Mgbm90IGdyZWF0IHRoYXQgdGhpcyBjYW4gcnVuIGFyYml0cmFyeSBjb2RlIHRv
IHN0cmluZy1pZnkgdGhlIHZhbHVlIG9mIHRoZSBleGNlcHRpb24uCisgICAgICAgICAgICAvLyBE
byB3ZSBuZWVkIHRvIGRvIGFueXRoaW5nIHRvIGhhbmRsZSB0aGF0IHByb3Blcmx5LCBpZiBpdCwg
c2F5LCByYWlzZXMgYW5vdGhlciBleGNlcHRpb24/CisgICAgICAgICAgICBpZiAocmV0dXJuZWRF
eGNlcHRpb25NZXNzYWdlKQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3Nh
Z2UgPSByZXR1cm5lZEV4Y2VwdGlvbi0+dmFsdWUoKS50b1dURlN0cmluZygmZ2xvYmFsT2JqZWN0
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIE92ZXJ3cml0ZSB0aGUgZGV0YWls
ZWQgZXJyb3Igd2l0aCBhIGdlbmVyaWMgZXJyb3IuCisgICAgICAgICAgICBTdHJpbmcgZ2VuZXJp
Y0Vycm9yTWVzc2FnZSB7ICJTY3JpcHQgZXJyb3IuIl9zIH07CisgICAgICAgICAgICBpZiAocmV0
dXJuZWRFeGNlcHRpb25NZXNzYWdlKQorICAgICAgICAgICAgICAgICpyZXR1cm5lZEV4Y2VwdGlv
bk1lc3NhZ2UgPSBnZW5lcmljRXJyb3JNZXNzYWdlOworICAgICAgICB9CisgICAgfQorfQorCit2
b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVs
ZShjb25zdCBVUkwmIG1vZHVsZVVSTCwgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50
aWFscywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxFeGNlcHRpb24+JiYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChpc0V4ZWN1dGlvbkZvcmJpZGRlbigpKSB7Cisg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKEV4Y2VwdGlvbiB7IE5vdEFsbG93ZWRFcnJvciB9KTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisg
ICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0g
fTsKKworICAgIGF1dG8gc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZldGNoZXI6OmNyZWF0
ZShjcmVkZW50aWFscyk7CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3Rh
dGU6OmxvYWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVVUkwuc3RyaW5nKCksIGpzVW5kZWZp
bmVkKCksIEpTQzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHsgc2NyaXB0RmV0Y2hlci5w
dHIoKSB9KSk7CisKKyAgICAgICAgYXV0byB0YXNrID0gY3JlYXRlU2hhcmVkVGFzazx2b2lkKE9w
dGlvbmFsPEV4Y2VwdGlvbj4mJik+KFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpXShPcHRpb25hbDxFeGNlcHRpb24+JiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsK
KyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZXhjZXB0aW9uKSk7CisgICAg
ICAgIH0pOworCisgICAgICAgIGF1dG8mIGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVu
Y3Rpb246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFt0YXNrLCBzY3Jp
cHRGZXRjaGVyXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxG
cmFtZSkgLT4gSlNDOjpFbmNvZGVkSlNWYWx1ZSB7CisgICAgICAgICAgICAvLyB0YXNrLT5ydW4o
V1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
KyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgICAgICAgICAgSWRlbnRpZmll
ciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUt
PmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsg
fSk7CisgICAgICAgICAgICBzY3JpcHRGZXRjaGVyLT5ub3RpZnlMb2FkQ29tcGxldGVkKCptb2R1
bGVLZXkuaW1wbCgpKTsKKworICAgICAgICAgICAgYXV0byogY29udGV4dCA9IGRvd25jYXN0PFdv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlPihqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgICAgICAgICAgaWYgKCFj
b250ZXh0IHx8ICFjb250ZXh0LT5zY3JpcHQoKSkgeworICAgICAgICAgICAgICAgIHRhc2stPnJ1
bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIE5ha2VkUHRyPEpT
Qzo6RXhjZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsKKyAgICAgICAgICAgIEpTRXhlY1N0YXRl
OjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoKmdsb2JhbE9iamVjdCwgbW9kdWxlS2V5LCBqc1VuZGVm
aW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgICAgICAgICBpZiAoKHJldHVybmVkRXhj
ZXB0aW9uICYmIGlzVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbih2bSwgcmV0dXJuZWRFeGNl
cHRpb24pKSB8fCBjb250ZXh0LT5zY3JpcHQoKS0+aXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7
CisgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQtPnNjcmlwdCgpKQorICAgICAgICAgICAgICAg
ICAgICBjb250ZXh0LT5zY3JpcHQoKS0+Zm9yYmlkRXhlY3V0aW9uKCk7CisgICAgICAgICAgICAg
ICAgdGFzay0+cnVuKFdURjo6bnVsbG9wdCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
aWYgKHJldHVybmVkRXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2U7
CisgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQtPmNhbkluY2x1ZGVFcnJvckRldGFpbHMobnVs
bHB0ciwgbW9kdWxlS2V5LnN0cmluZygpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGSVhN
RTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4gYXJiaXRyYXJ5IGNvZGUgdG8gc3Ry
aW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgICAgICAgICAg
Ly8gRG8gd2UgbmVlZCB0byBkbyBhbnl0aGluZyB0byBoYW5kbGUgdGhhdCBwcm9wZXJseSwgaWYg
aXQsIHNheSwgcmFpc2VzIGFub3RoZXIgZXhjZXB0aW9uPworICAgICAgICAgICAgICAgICAgICBt
ZXNzYWdlID0gcmV0dXJuZWRFeGNlcHRpb24tPnZhbHVlKCkudG9XVEZTdHJpbmcoZ2xvYmFsT2Jq
ZWN0KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAvLyBP
dmVyd3JpdGUgdGhlIGRldGFpbGVkIGVycm9yIHdpdGggYSBnZW5lcmljIGVycm9yLgorICAgICAg
ICAgICAgICAgICAgICBtZXNzYWdlID0gIlNjcmlwdCBlcnJvci4iX3M7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGNvbnRleHQtPnJlcG9ydEV4Y2VwdGlvbihtZXNzYWdlLCB7
IH0sIHsgfSwgeyB9LCB7IH0sIHsgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRh
c2stPnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0SGFu
ZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEs
IFN0cmluZygpLCBbdGFza10oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUpIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
KyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIEpTVmFs
dWUgZXJyb3JWYWx1ZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CisgICAgICAgICAgICBpZiAo
ZXJyb3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgICAgICAgICAgYXV0byogb2JqZWN0ID0g
SlNDOjphc09iamVjdChlcnJvclZhbHVlKTsKKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0LT5n
ZXREaXJlY3Qodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhJj4oKnZtLmNsaWVudERhdGEp
LmJ1aWx0aW5OYW1lcygpLmZhaWx1cmVLaW5kUHJpdmF0ZU5hbWUoKSkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAg
ICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJvck1lc3NhZ2VXaXRo
b3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgb2JqZWN0LCBjYXRjaFNjb3BlKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IsIG1lc3NhZ2UgfSk7
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChvYmplY3QtPmluaGVy
aXRzPEVycm9ySW5zdGFuY2U+KHZtKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvKiBlcnJv
ciA9IGpzQ2FzdDxFcnJvckluc3RhbmNlKj4ob2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAg
c3dpdGNoIChlcnJvci0+ZXJyb3JUeXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBF
cnJvclR5cGU6OlR5cGVFcnJvcjogeworICAgICAgICAgICAgICAgICAgICAgICAgYXV0byBjYXRj
aFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoKmdsb2Jh
bE9iamVjdCwgdm0sIGVycm9yLCBjYXRjaFNjb3BlKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHRhc2stPnJ1bihFeGNlcHRpb24geyBUeXBlRXJyb3IsIG1lc3NhZ2UgfSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNhc2UgRXJyb3JUeXBlOjpT
eW50YXhFcnJvcjogeworICAgICAgICAgICAgICAgICAgICAgICAgYXV0byBjYXRjaFNjb3BlID0g
REVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcg
bWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoKmdsb2JhbE9iamVjdCwg
dm0sIGVycm9yLCBjYXRjaFNjb3BlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRhc2stPnJ1
bihFeGNlcHRpb24geyBKU1N5bnRheEVycm9yLCBtZXNzYWdlIH0pOworICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xB
UkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSByZXRyaWV2
ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJvclZhbHVlLCBj
YXRjaFNjb3BlKTsKKyAgICAgICAgICAgIHRhc2stPnJ1bihFeGNlcHRpb24geyBBYm9ydEVycm9y
LCBtZXNzYWdlIH0pOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxPYmpl
Y3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRsZXIpOworICAgIH0KKyAgICBtX2dsb2Jh
bFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworfQorCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBKU0dsb2JhbFNjb3BlUHJvdG90eXBlLCB0eXBlbmFtZSBKU0dsb2Jh
bFNjb3BlLCB0eXBlbmFtZSBHbG9iYWxTY29wZT4KIHZvaWQgV29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlcjo6aW5pdFNjcmlwdFdpdGhTdWJjbGFzcygpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCmlu
ZGV4IGM0OTMwMWFlZDNkZDA4OWRhNzk3MzI3NjBjYWYyZjdiNjRkYjExYjYuLjlmMDIzYTYyZjgx
NDNlN2Q5ODJmYmY3ZjU4ZWVlYWRjYTNhNWI1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw2
ICszMSw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNSdW5Mb29wVGltZXIuaD4KICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CisjaW5jbHVkZSA8
d3RmL01lc3NhZ2VRdWV1ZS5oPgogI2luY2x1ZGUgPHd0Zi9OYWtlZFB0ci5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKQEAgLTQ0LDkgKzQ1LDExIEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNzIExvYWRhYmxl
TW9kdWxlU2NyaXB0OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIGNsYXNzIFdvcmtlckNvbnNv
bGVDbGllbnQ7CiBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTsKK2NsYXNzIFdvcmtl
clNjcmlwdEZldGNoZXI7CiAKIGNsYXNzIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXIpOwpAQCAtOTQsNiArOTcsMTMgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlciB7CiAgICAgdm9pZCBldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgU3RyaW5n
KiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKICAgICB2b2lkIGV2YWx1YXRl
KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4mIHJldHVy
bmVkRXhjZXB0aW9uLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIp
OwogCisgICAgSlNDOjpKU1ZhbHVlIGV2YWx1YXRlTW9kdWxlKEpTQzo6SlNNb2R1bGVSZWNvcmQm
KTsKKworICAgIHZvaWQgbGlua0FuZEV2YWx1YXRlTW9kdWxlKFdvcmtlclNjcmlwdEZldGNoZXIm
LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3Nh
Z2UgPSBudWxscHRyKTsKKyAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IGxvYWRNb2R1bGVTeW5j
aHJvbm91c2x5KFdvcmtlclNjcmlwdEZldGNoZXImLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7
CisKKyAgICB2b2lkIGxvYWRBbmRFdmFsdWF0ZU1vZHVsZShjb25zdCBVUkwmIG1vZHVsZVVSTCwg
RmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25h
bDxFeGNlcHRpb24+JiYpPiYmKTsKKwogcHJvdGVjdGVkOgogICAgIFdvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlKiBnbG9iYWxTY29wZSgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsU2NvcGU7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4
IDNhNGRhZWZjMzkwMmJkYjJlYTg0ZmM1OGQ3ZTQyZjgzZTVmMDdlMmYuLjlmMzFkMGRmZDU5YTg3
MDdmZDRlYjU5Y2MzYzkyYTA2NjQ4MWRlMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBPcHRpb25hbDxFeGNl
cHRpb24+IFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZFN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dAogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKLXZvaWQgV29ya2VyU2Ny
aXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgUmVzb3VyY2VSZXF1ZXN0JiYgc2NyaXB0UmVxdWVzdCwgRmV0
Y2hPcHRpb25zJiYgZmV0Y2hPcHRpb25zLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVu
dCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlIHNl
cnZpY2VXb3JrZXJNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCkKK3ZvaWQg
V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmVzb3VyY2VSZXF1ZXN0JiYgc2NyaXB0UmVx
dWVzdCwgRmV0Y2hPcHRpb25zJiYgZmV0Y2hPcHRpb25zLCBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtl
cnNNb2RlIHNlcnZpY2VXb3JrZXJNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVu
dCwgU3RyaW5nJiYgdGFza01vZGUpCiB7CiAgICAgbV9jbGllbnQgPSAmY2xpZW50OwogICAgIG1f
dXJsID0gc2NyaXB0UmVxdWVzdC51cmwoKTsKQEAgLTEyMyw4ICsxMjMsNiBAQCB2b2lkIFdvcmtl
clNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IHNjcmlwdEV4ZWN1dAogICAgIEFTU0VSVChmZXRjaE9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlv
bnM6Ok1vZGU6OlNhbWVPcmlnaW4gfHwgKGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiAhPSBGZXRj
aE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTZXJ2aWNld29ya2VyICYmIGZldGNoT3B0aW9ucy5kZXN0
aW5hdGlvbiAhPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpKTsKIAogICAgIFRo
cmVhZGFibGVMb2FkZXJPcHRpb25zIG9wdGlvbnMgeyBXVEZNb3ZlKGZldGNoT3B0aW9ucykgfTsK
LSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFkZCBhbiBvcHRpb24gdG8gc2V0IGNyZWRlbnRpYWwg
bW9kZS4KLSAgICBvcHRpb25zLmNyZWRlbnRpYWxzID0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFs
czo6U2FtZU9yaWdpbjsKICAgICBvcHRpb25zLnNlbmRMb2FkQ2FsbGJhY2tzID0gU2VuZENhbGxi
YWNrUG9saWN5OjpTZW5kQ2FsbGJhY2tzOwogICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9s
aWN5RW5mb3JjZW1lbnQgPSBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDsKICAgICBp
ZiAoZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OlNlcnZpY2V3b3JrZXIpCkBAIC0xNDMsNyArMTQxLDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVj
dXQKIAogICAgIC8vIER1cmluZyBjcmVhdGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVuIHdoaWNoIHJl
bW92ZSB0aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhpcyBvYmplY3QuCiAgICAgUmVmPFdvcmtlclNj
cmlwdExvYWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7Ci0gICAgbV90aHJlYWRhYmxlTG9hZGVy
ID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICp0aGlz
LCBXVEZNb3ZlKCpyZXF1ZXN0KSwgb3B0aW9ucyk7CisgICAgbV90aHJlYWRhYmxlTG9hZGVyID0g
VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICp0aGlzLCBX
VEZNb3ZlKCpyZXF1ZXN0KSwgb3B0aW9ucywgeyB9LCBXVEZNb3ZlKHRhc2tNb2RlKSk7CiB9CiAK
IGNvbnN0IFVSTCYgV29ya2VyU2NyaXB0TG9hZGVyOjpyZXNwb25zZVVSTCgpIGNvbnN0CkBAIC0x
OTAsNiArMTg4LDggQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25z
ZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc28KICAgICBtX2NlcnRpZmljYXRl
SW5mbyA9IHJlc3BvbnNlLmNlcnRpZmljYXRlSW5mbygpID8gKnJlc3BvbnNlLmNlcnRpZmljYXRl
SW5mbygpIDogQ2VydGlmaWNhdGVJbmZvKCk7CiAgICAgbV9yZXNwb25zZU1JTUVUeXBlID0gcmVz
cG9uc2UubWltZVR5cGUoKTsKICAgICBtX3Jlc3BvbnNlRW5jb2RpbmcgPSByZXNwb25zZS50ZXh0
RW5jb2RpbmdOYW1lKCk7CisgICAgbV9yZXNwb25zZVNvdXJjZSA9IHJlc3BvbnNlLnNvdXJjZSgp
OworICAgIG1faXNSZWRpcmVjdGVkID0gcmVzcG9uc2UuaXNSZWRpcmVjdGVkKCk7CiAgICAgbV9j
b250ZW50U2VjdXJpdHlQb2xpY3kgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMgeyByZXNwb25zZSB9OwogICAgIG1fcmVmZXJyZXJQb2xpY3kgPSByZXNwb25zZS5odHRwSGVh
ZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OlJlZmVycmVyUG9saWN5KTsKICAgICBpZiAobV9jbGll
bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCA3
ZmRkMGIzZjZhMDFjMmRiNTc3MjRhOTBiM2JiOTg0MGYxZTY4ZTVmLi5jZmEzMWEzNTMyNTlhZWVk
MTk4ZjkzOTFmZmMxNTExYjQwNTBiODVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJGZXRjaE9wdGlv
bnMuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1
ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlRocmVhZGFi
bGVMb2FkZXIuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSA8bWVtb3J5PgpAQCAtNDMsNyArNDQsNiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBFeGNlcHRpb247Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiBjbGFzcyBXb3JrZXJTY3Jp
cHRMb2FkZXJDbGllbnQ7CkBAIC01OCw3ICs1OCw3IEBAIGNsYXNzIFdvcmtlclNjcmlwdExvYWRl
ciA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj4sIHB1YmxpYyBUaHJlYWRh
CiAgICAgfQogCiAgICAgT3B0aW9uYWw8RXhjZXB0aW9uPiBsb2FkU3luY2hyb25vdXNseShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgVVJMJiwgRmV0Y2hPcHRpb25zOjpNb2RlLCBGZXRj
aE9wdGlvbnM6OkNhY2hlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgY29uc3Qg
U3RyaW5nJiBpbml0aWF0b3JJZGVudGlmaWVyKTsKLSAgICB2b2lkIGxvYWRBc3luY2hyb25vdXNs
eShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZldGNoT3B0aW9u
cyYmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2Rl
LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmKTsKKyAgICB2b2lkIGxvYWRBc3luY2hyb25vdXNs
eShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZldGNoT3B0aW9u
cyYmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2Rl
LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmLCBTdHJpbmcmJiB0YXNrTW9kZSk7CiAKICAgICB2
b2lkIG5vdGlmeUVycm9yKCk7CiAKQEAgLTY3LDYgKzY3LDggQEAgY2xhc3MgV29ya2VyU2NyaXB0
TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRo
cmVhZGEKICAgICBjb25zdCBTdHJpbmcmIHJlZmVycmVyUG9saWN5KCkgY29uc3QgeyByZXR1cm4g
bV9yZWZlcnJlclBvbGljeTsgfQogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4g
bV91cmw7IH0KICAgICBjb25zdCBVUkwmIHJlc3BvbnNlVVJMKCkgY29uc3Q7CisgICAgUmVzb3Vy
Y2VSZXNwb25zZTo6U291cmNlIHJlc3BvbnNlU291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNw
b25zZVNvdXJjZTsgfQorICAgIGJvb2wgaXNSZWRpcmVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9p
c1JlZGlyZWN0ZWQ7IH0KICAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5m
bygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9CiAgICAgY29uc3QgU3RyaW5n
JiByZXNwb25zZU1JTUVUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZU1JTUVUeXBlOyB9
CiAgICAgYm9vbCBmYWlsZWQoKSBjb25zdCB7IHJldHVybiBtX2ZhaWxlZDsgfQpAQCAtMTA3LDYg
KzEwOSw4IEBAIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdv
cmtlclNjcmlwdExvYWRlcj4sIHB1YmxpYyBUaHJlYWRhCiAgICAgdW5zaWduZWQgbG9uZyBtX2lk
ZW50aWZpZXIgeyAwIH07CiAgICAgYm9vbCBtX2ZhaWxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2ZpbmlzaGluZyB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUmVkaXJlY3RlZCB7IGZhbHNlIH07
CisgICAgUmVzb3VyY2VSZXNwb25zZTo6U291cmNlIG1fcmVzcG9uc2VTb3VyY2UgeyBSZXNvdXJj
ZVJlc3BvbnNlOjpTb3VyY2U6OlVua25vd24gfTsKICAgICBSZXNvdXJjZUVycm9yIG1fZXJyb3I7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggNzI3OTBh
MDMzMjI2MTllNmVlN2U2MTZhOGJkZTE4YmQ1NTJhNTc4My4uNjNlZThjOGQzNmYzYmQ3MjQ2MzUz
YzViZGY4NDE3ZGQ4MTA3YzRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmNwcApAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSAiU29ja2V0UHJvdmlkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgor
I2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTU1LDYgKzU3LDggQEAgV29ya2VyUGFyYW1ldGVycyBXb3JrZXJQ
YXJhbWV0ZXJzOjppc29sYXRlZENvcHkoKSBjb25zdAogICAgICAgICBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksCiAgICAgICAgIHRpbWVPcmlnaW4sCiAgICAgICAg
IHJlZmVycmVyUG9saWN5LAorICAgICAgICB3b3JrZXJUeXBlLAorICAgICAgICBjcmVkZW50aWFs
cywKICAgICAgICAgc2V0dGluZ3NWYWx1ZXMuaXNvbGF0ZWRDb3B5KCkKICAgICB9OwogfQpAQCAt
MTIzLDkgKzEyNywzMSBAQCBib29sIFdvcmtlclRocmVhZDo6c2hvdWxkV2FpdEZvcldlYkluc3Bl
Y3Rvck9uU3RhcnR1cCgpIGNvbnN0CiAKIHZvaWQgV29ya2VyVGhyZWFkOjpldmFsdWF0ZVNjcmlw
dElmTmVjZXNzYXJ5KFN0cmluZyYgZXhjZXB0aW9uTWVzc2FnZSkKIHsKLSAgICBnbG9iYWxTY29w
ZSgpLT5zY3JpcHQoKS0+ZXZhbHVhdGUoU2NyaXB0U291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5z
b3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlwdFVSTCkpLCAmZXhjZXB0
aW9uTWVzc2FnZSk7Ci0KLSAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICAvLyBX
ZSBhcmUgY3VycmVudGx5IGhvbGRpbmcgb25seSB0aGUgaW5pdGlhbCBzY3JpcHQgY29kZS4gSWYg
dGhlIFdvcmtlclR5cGUgaXMgTW9kdWxlLCB3ZSBzaG91bGQgZmV0Y2ggdGhlIGVudGlyZSBncmFw
aCBiZWZvcmUgZXhlY3V0aW5nIHRoZSByZXN0IG9mIHRoaXMuCisgICAgLy8gV2UgaW52b2tlIG1v
ZHVsZSBsb2FkZXIgYXMgaWYgd2UgYXJlIGV4ZWN1dGluZyBpbmxpbmUgbW9kdWxlIHNjcmlwdCB0
YWcgaW4gRG9jdW1lbnQuCisKKyAgICBpZiAobV9zdGFydHVwRGF0YS0+cGFyYW1zLndvcmtlclR5
cGUgPT0gV29ya2VyVHlwZTo6Q2xhc3NpYykgeworICAgICAgICBnbG9iYWxTY29wZSgpLT5zY3Jp
cHQoKS0+ZXZhbHVhdGUoU2NyaXB0U291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2Rl
LCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlwdFVSTCkpLCAmZXhjZXB0aW9uTWVzc2Fn
ZSk7CisgICAgICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIC8vIEZJWE1FIGZpeCBpbml0aWF0b3IgbmFtZS4KKyAgICAgICAgU2NyaXB0U291cmNl
Q29kZSBzb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBE
YXRhLT5wYXJhbXMuc2NyaXB0VVJMKSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlw
ZTo6TW9kdWxlKTsKKyAgICAgICAgYXV0byBzY3JpcHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0
Y2hlcjo6Y3JlYXRlKGdsb2JhbFNjb3BlKCktPmNyZWRlbnRpYWxzKCkpOworICAgICAgICBNZXNz
YWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5sb2Fk
TW9kdWxlU3luY2hyb25vdXNseShzY3JpcHRGZXRjaGVyLmdldCgpLCBzb3VyY2VDb2RlKTsKKyAg
ICAgICAgaWYgKHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKSB7CisgICAgICAgICAg
ICBpZiAoT3B0aW9uYWw8TG9hZGFibGVTY3JpcHQ6OkVycm9yPiBlcnJvciA9IHNjcmlwdEZldGNo
ZXItPmVycm9yKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoT3B0aW9uYWw8TG9hZGFibGVTY3Jp
cHQ6OkNvbnNvbGVNZXNzYWdlPiBtZXNzYWdlID0gZXJyb3ItPmNvbnNvbGVNZXNzYWdlKQorICAg
ICAgICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gbWVzc2FnZS0+bWVzc2FnZTsKKyAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2Ug
PSAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zOworICAgICAgICAgICAgICAg
IGdsb2JhbFNjb3BlKCktPnJlcG9ydEV4Y2VwdGlvbihleGNlcHRpb25NZXNzYWdlLCB7IH0sIHsg
fSwgeyB9LCB7IH0sIHsgfSk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFzY3JpcHRGZXRjaGVy
LT53YXNDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gRXZhbHVhdGUuCisgICAgICAg
ICAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShz
Y3JpcHRGZXRjaGVyLmdldCgpLCBzb3VyY2VDb2RlLCAmZXhjZXB0aW9uTWVzc2FnZSk7CisgICAg
ICAgICAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9CiAKICAgICAvLyBGcmVlIHRoZSBzdGFydHVwIGRhdGEgdG8gY2F1c2Ug
aXRzIG1lbWJlciB2YXJpYWJsZSBkZXJlZidzIGhhcHBlbiBvbiB0aGUgd29ya2VyJ3MgdGhyZWFk
IChzaW5jZQogICAgIC8vIGFsbCByZWYvZGVyZWZzIG9mIHRoZXNlIG9iamVjdHMgYXJlIGhhcHBl
bmluZyBvbiB0aGUgdGhyZWFkIGF0IHRoaXMgcG9pbnQpLiBOb3RlIHRoYXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IDg4OTA3OTA4ZTdhOWI4MDllOGYyYTRlNDczZDc1
MmQxMWQyOTM3YzAuLjk1MTJlZmRiMThmMzJhNTBlY2I3ZmI1Njk1OWQ2MWU4ODcyZmExZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtMjYsNyArMjYsMTAgQEAKICNw
cmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLmgiCisjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJX
b3JrZXJPcldvcmtsZXRUaHJlYWQuaCIKKyNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCisjaW5j
bHVkZSAiV29ya2VyVHlwZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFn
cy5oPgogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CkBAIC02Myw2ICs2
Niw4IEBAIHN0cnVjdCBXb3JrZXJQYXJhbWV0ZXJzIHsKICAgICBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeTsKICAgICBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW47CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3k7CisgICAgV29ya2VyVHlwZSB3
b3JrZXJUeXBlOworICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwogICAg
IFNldHRpbmdzOjpWYWx1ZXMgc2V0dGluZ3NWYWx1ZXM7CiAKICAgICBXb3JrZXJQYXJhbWV0ZXJz
IGlzb2xhdGVkQ29weSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5cGUuaAppbmRl
eCAwYjBlZDg2MGQ5YzcxNDIzOGEyYTViYjlmZGY0Mzg0MDJkMTZlYmYwLi4xYzFiYjk0NDg2N2Fk
ZjRlZDU3OGEyODE0ZmEzMzIzMjZhZWQ4YTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5
cGUuaApAQCAtMjcsNyArMjcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gY2xh
c3MgV29ya2VyVHlwZSB7CitlbnVtIGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90IHsKICAgICBD
bGFzc2ljLAogICAgIE1vZHVsZSwKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAppbmRleCBlYmJlOTVlODkyNGM4
ZjFkNzM3NTI1ZGVhMTYzMGIxZmFkNTZmYjI3Li40YzdkZGY0YTRjMTMxZTBkY2Q2YmEwOTUwOWFi
MmQ5NzU3NWYzMGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgY2xhc3MgTmF2
aWdhdG9yQmFzZTsKIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiAKIGVudW0gY2xhc3MgU2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlIDogdWludDhfdDsKLWVudW0gY2xhc3MgV29ya2VyVHlwZTsKK2Vu
dW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3Q7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5
cGU+IGNsYXNzIERPTVByb21pc2VQcm94eTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCmluZGV4IGVjMzljMGY4NDlhNTRlMWI2
ZDBiZWUzNGE4ZDdkMTljYmE0NWUyODguLmY5NTEwY2JmNmZkZjcwNDZmN2QxYjkyMjM2OTE3NGQw
MWZhMGJlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYi5jcHAKQEAgLTExMCw3ICsxMTAsOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJK
b2I6OmZldGNoU2NyaXB0V2l0aENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgRgogICAgIG9wdGlvbnMuY2FjaGUgPSBjYWNoZVBvbGljeTsKICAgICBvcHRpb25zLnJlZGly
ZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6RXJyb3I7CiAgICAgb3B0aW9ucy5kZXN0aW5h
dGlvbiA9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNlcnZpY2V3b3JrZXI7Ci0gICAgbV9z
Y3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3Qp
LCBXVEZNb3ZlKG9wdGlvbnMpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9O
b3RFbmZvcmNlLCBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmUsICp0aGlzKTsKKyAgICBvcHRpb25z
LmNyZWRlbnRpYWxzID0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbjsKKyAg
ICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVx
dWVzdCksIFdURk1vdmUob3B0aW9ucyksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50
OjpEb05vdEVuZm9yY2UsIFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSwgKnRoaXMsIFdvcmtlclJ1
bkxvb3A6OmRlZmF1bHRNb2RlKCkpOwogfQogCiBSZXNvdXJjZUVycm9yIFNlcnZpY2VXb3JrZXJK
b2I6OnZhbGlkYXRlU2VydmljZVdvcmtlclJlc3BvbnNlKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JE
YXRhJiBqb2JEYXRhLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25PcHRpb25zLmgKaW5kZXggOWQ1MDBmODVhY2IxODg0MWNjNTViZWE4MjEx
ZGIxNGZhZGM5NzQ3NS4uMmUzNTU3ZmE3ZGY2N2YxYmY5OGM3YjdhNWRlNGIwYTVhN2JjY2NmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25PcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmgKQEAgLTMyLDcgKzMyLDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2Fj
aGUgOiB1aW50OF90OwotZW51bSBjbGFzcyBXb3JrZXJUeXBlOworZW51bSBjbGFzcyBXb3JrZXJU
eXBlIDogdWludDhfdDsKIAogc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25z
IHsKICAgICBTdHJpbmcgc2NvcGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IGM4
YTdhOTk3MmY5Y2M4YzE2YTc5Njc1MTE1NTJmNTQ5M2E2ODZmOTguLjMzY2EwZWMyM2I1OGE1NTEx
ODc2ODQ2YmEwNzE4MzUzMmI1YzQ3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBA
IC03Myw4ICs3Myw5IEBAIGNsYXNzIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5IDogcHVi
bGljIFdvcmtlck9iamVjdFByb3h5IHsKIC8vIEZJWE1FOiBVc2UgYSB2YWxpZCBXb3JrZXJPYmpl
Y3RQcm94eQogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZsYWdzCiAKKy8vIEZJWE1FOiBV
c2UgYSB2YWxpZCBXb3JrZXJUeXBlIGFuZCBDcmVkZW50YWlscyBmb3IgbW9kdWxlIHNlcnZpY2Ug
d29ya2Vycy4KIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3Qg
U2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIGNvbnN0
IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9h
ZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2VyUHJveHksIElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBz
b2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0
eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rv
cnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0
ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJp
dHlQb2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBzZXR0aW5nc1ZhbHVl
cyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2Vydmlj
ZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3Jt
YWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9yaWdpbigpLmdl
dCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFn
czo6Y3JlYXRlQWxsRW5hYmxlZCgpKQorICAgIDogV29ya2VyVGhyZWFkKHsgZGF0YS5zY3JpcHRV
UkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZp
ZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLmNvbnRl
bnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6Om5vdygpLCB7IH0sIFdvcmtl
clR5cGU6OkNsYXNzaWMsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpTYW1lT3JpZ2luLCBzZXR0
aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1
bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRN
b2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9y
aWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1
bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAgICwgbV9kYXRhKGRhdGEuaXNvbGF0
ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KER1bW15U2VydmljZVdvcmtlclRo
cmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAsIG1faGVhcnRCZWF0VGltZW91dChTV0NvbnRleHRN
YW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCktPnNob3VsZFVzZVNob3J0VGltZW91dCgp
ID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3QgOiBoZWFydEJlYXRUaW1lb3V0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5o
CmluZGV4IDJkZGRiM2I1YjQxZWQ4N2JkNjE0YTBiOTRkMDliNzYxMjkzZDc2MDcuLjM3OGZiYTY1
N2U4YmJmNDg0MWU1NmNiZjg2NTYxZjhlY2MzMTEwMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmgKQEAgLTUwLDcg
KzUwLDcgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOwogc3RydWN0IFNl
cnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnM7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNvbnRl
eHREYXRhOwogc3RydWN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllcjsKLWVudW0gY2xh
c3MgV29ya2VyVHlwZTsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3Q7CiAKIGNsYXNz
IFNXU2VydmVyV29ya2VyIDogcHVibGljIFJlZkNvdW50ZWQ8U1dTZXJ2ZXJXb3JrZXI+IHsKIHB1
YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxT
Y29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3Bw
CmluZGV4IGQ3MDQ4ODY2NDhjMGVmYWE2Yjc4MDg0YzUzODcyMDFjYTJiMWM1NDMuLjJhZTBlMzM4
OTFkYmM4OWYxNDY4N2Q0MTQ4MDJhYWExMmQwZDg0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtMTU4LDcyICsxNTgsNyBAQCBSZWZl
cnJlclBvbGljeSBXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHZv
aWQgV29ya2xldEdsb2JhbFNjb3BlOjpmZXRjaEFuZEludm9rZVNjcmlwdChjb25zdCBVUkwmIG1v
ZHVsZVVSTCwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKLSAgICBtX3NjcmlwdEZldGNoSm9icy5h
cHBlbmQoeyBtb2R1bGVVUkwsIGNyZWRlbnRpYWxzLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSB9KTsKLSAgICBwcm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKTsKLX0KLQotdm9p
ZCBXb3JrbGV0R2xvYmFsU2NvcGU6OnByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCgp
Ci17Ci0gICAgaWYgKG1fc2NyaXB0RmV0Y2hKb2JzLmlzRW1wdHkoKSB8fCBtX3NjcmlwdExvYWRl
cikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byYgc2NyaXB0RmV0Y2hKb2IgPSBtX3Njcmlw
dEZldGNoSm9icy5maXJzdCgpOwotCi0gICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgeyBzY3Jp
cHRGZXRjaEpvYi5tb2R1bGVVUkwgfTsKLQotICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7
Ci0gICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnM7Ci0gICAg
ZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKLSAgICBm
ZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7Ci0g
ICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gc2NyaXB0RmV0Y2hKb2IuY3JlZGVudGlhbHM7
Ci0jaWYgRU5BQkxFKFdFQl9BVURJTykKLSAgICBpZiAoaXNBdWRpb1dvcmtsZXRHbG9iYWxTY29w
ZSgpKQotICAgICAgICBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpBdWRpb3dvcmtsZXQ7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1BBSU5USU5H
X0FQSSkKLSAgICBpZiAoaXNQYWludFdvcmtsZXRHbG9iYWxTY29wZSgpKQotICAgICAgICBmZXRj
aE9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpQYWludHdv
cmtsZXQ7Ci0jZW5kaWYKLQotICAgIGF1dG8gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQgPSBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSA/IENvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UgOiBDb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZUNoaWxkU3JjRGlyZWN0aXZlOwotCi0gICAgbV9z
Y3JpcHRMb2FkZXIgPSBXb3JrZXJTY3JpcHRMb2FkZXI6OmNyZWF0ZSgpOwotICAgIG1fc2NyaXB0
TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoKnRoaXMsIFdURk1vdmUocmVxdWVzdCksIFdURk1v
dmUoZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZp
Y2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhpcyk7Ci19Ci0KLXZvaWQgV29ya2xldEdsb2JhbFNjb3Bl
OjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYpCi17Ci19Ci0KLXZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjpub3RpZnlGaW5pc2hlZCgpCi17
Ci0gICAgYXV0byBjb21wbGV0ZWRKb2IgPSBtX3NjcmlwdEZldGNoSm9icy50YWtlRmlyc3QoKTsK
LQotICAgIGlmIChtX3NjcmlwdExvYWRlci0+ZmFpbGVkKCkpIHsKLSAgICAgICAgZGlkQ29tcGxl
dGVTY3JpcHRGZXRjaEpvYihXVEZNb3ZlKGNvbXBsZXRlZEpvYiksIEV4Y2VwdGlvbiB7IEFib3J0
RXJyb3IsIG1ha2VTdHJpbmcoIkZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiAiLCBtX3Nj
cmlwdExvYWRlci0+ZXJyb3IoKS5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKSB9KTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCByZWFsbHkgYmUgcnVu
IGFzIGEgbW9kdWxlIHNjcmlwdCBidXQgd2UgZG9uJ3Qgc3VwcG9ydCB0aGlzIGluIHdvcmtlcnMg
eWV0LgotICAgIFVSTCBtb2R1bGVVUkwobV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlVVJMKCkpOwot
ICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9ldmFsdWF0ZWRNb2R1bGVzLmFkZChtb2R1bGVVUkwpOwot
ICAgIGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkgewotICAgICAgICBOYWtlZFB0cjxKU0M6OkV4
Y2VwdGlvbj4gZXhjZXB0aW9uOwotICAgICAgICBzY3JpcHQoKS0+ZXZhbHVhdGUoU2NyaXB0U291
cmNlQ29kZShtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIFdURk1vdmUobW9kdWxlVVJMKSksIGV4
Y2VwdGlvbik7Ci0gICAgICAgIGlmIChleGNlcHRpb24pCi0gICAgICAgICAgICBzY3JpcHQoKS0+
c2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7Ci0gICAgfQotCi0gICAgZGlkQ29tcGxldGVTY3JpcHRG
ZXRjaEpvYihXVEZNb3ZlKGNvbXBsZXRlZEpvYiksIHsgfSk7Ci19Ci0KLXZvaWQgV29ya2xldEds
b2JhbFNjb3BlOjpkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKFNjcmlwdEZldGNoSm9iJiYgam9i
LCBPcHRpb25hbDxFeGNlcHRpb24+IHJlc3VsdCkKLXsKLSAgICBtX3NjcmlwdExvYWRlciA9IG51
bGxwdHI7Ci0KLSAgICBqb2IuY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZXN1bHQpKTsKLQot
ICAgIHByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCgpOworICAgIHNjcmlwdCgpLT5s
b2FkQW5kRXZhbHVhdGVNb2R1bGUobW9kdWxlVVJMLCBjcmVkZW50aWFscywgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogfQogCiBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlciYgV29ya2xl
dEdsb2JhbFNjb3BlOjptZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IGYyMzIwZjBkMTMwMjVjZWFi
M2JhYzU2YTQ1ZWMyZDFkZDNmYjZjYzAuLmZlNTRiODUzMjU2NzkyNTgzZGVkYTA1NWE0MzNhMjU2
NTRlODY3NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29w
ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2lu
Y2x1ZGUgIldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JX
b3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIgotI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNs
aWVudC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVNZXNzYWdlLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBs
ZXRpb25IYW5kbGVyLmg+CkBAIC01NCw3ICs1Myw3IEBAIHN0cnVjdCBXb3JrbGV0UGFyYW1ldGVy
czsKIGVudW0gV29ya2xldEdsb2JhbFNjb3BlSWRlbnRpZmllclR5cGUgeyB9OwogdXNpbmcgV29y
a2xldEdsb2JhbFNjb3BlSWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8V29ya2xldEdsb2Jh
bFNjb3BlSWRlbnRpZmllclR5cGU+OwogCi1jbGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJs
aWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJTY3JpcHRMb2FkZXJD
bGllbnQgeworY2xhc3MgV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdvcmtsZXRHbG9iYWxT
Y29wZSk7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+V29ya2xldEdsb2JhbFNjb3BlKCk7CkBAIC0x
MTEsMTAgKzExMCw2IEBAIGNsYXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZSwgcHVibGljIFdvcmtlclNjcmlwCiAgICAgdm9pZCBhZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJiwgdW5zaWduZWQsIHVuc2lnbmVkLCBSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3Rh
Y2s+JiYsIEpTQzo6SlNHbG9iYWxPYmplY3QqLCB1bnNpZ25lZCBsb25nKSBmaW5hbDsKICAgICB2
b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiwgdW5zaWduZWQgbG9uZykgZmluYWw7CiAKLSAgICAvLyBXb3JrZXJTY3JpcHRMb2Fk
ZXJDbGllbnQuCi0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7Ci0gICAgdm9pZCBub3RpZnlG
aW5pc2hlZCgpIGZpbmFsOwotCiAgICAgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSBm
aW5hbCB7IHJldHVybiB0aGlzOyB9CiAKICNpZiBFTkFCTEUoV0VCX0NSWVBUTykKQEAgLTEyNSwx
NSArMTIwLDYgQEAgY2xhc3MgV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29y
a2xldEdsb2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyU2NyaXAKICAgICBTdHJpbmcgdXNlckFnZW50
KGNvbnN0IFVSTCYpIGNvbnN0IGZpbmFsOwogICAgIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNl
dHRpbmdzVmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXR0aW5nc1ZhbHVlczsgfQog
Ci0gICAgc3RydWN0IFNjcmlwdEZldGNoSm9iIHsKLSAgICAgICAgVVJMIG1vZHVsZVVSTDsKLSAg
ICAgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7Ci0gICAgICAgIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYmKT4gY29tcGxldGlvbkhhbmRs
ZXI7Ci0gICAgfTsKLQotICAgIHZvaWQgcHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVk
KCk7Ci0gICAgdm9pZCBkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKFNjcmlwdEZldGNoSm9iJiYs
IE9wdGlvbmFsPEV4Y2VwdGlvbj4pOwotCiAgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVu
dDsKIAogICAgIFJlZjxTZWN1cml0eU9yaWdpbj4gbV90b3BPcmlnaW47CkBAIC0xNDQsOSArMTMw
LDYgQEAgY2xhc3MgV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyU2NyaXAKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3Jr
ZXJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcj4gbV9tZXNzYWdlUG9ydENoYW5uZWxQcm92aWRl
cjsKIAotICAgIFJlZlB0cjxXb3JrZXJTY3JpcHRMb2FkZXI+IG1fc2NyaXB0TG9hZGVyOwotICAg
IERlcXVlPFNjcmlwdEZldGNoSm9iPiBtX3NjcmlwdEZldGNoSm9iczsKLSAgICBIYXNoU2V0PFVS
TD4gbV9ldmFsdWF0ZWRNb2R1bGVzOwogICAgIFNldHRpbmdzOjpWYWx1ZXMgbV9zZXR0aW5nc1Zh
bHVlczsKIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAxYWRjMjhhNmQ3MWVkOGEzM2ZmZGY5ZGFkMTc4YTUyYTcwNDg0
ZDJjLi42ZTYzMjBhZDhjNWM4NDY3MTAwM2U5ZmNkOGYwODFiNTQ3ZjMwYTI2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjEtMDItMTEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBKUyBNb2R1bGVzIGluIFdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDg2MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiB3ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYmF1ZGlvL3dvcmtsZXQtY3Jhc2gtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAy
LTExICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUkVHUkVTU0lPTihyMjcyMjkzKSBXZWJHTCAxLjAuMiB0ZXN0IGV4cGVjdGF0aW9ucyBzYXkg
SFRUUFMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDUxZjlkNmQyYzRhMDBjZmYz
NTNlMmVhZTUwZTY3Mzc2NmRjZDViOWEuLjRlNDBlZWQ2OWYxNmM3ZWFkOTM1NDM5YjUzZjA0NjYy
YmRiZjFlNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBA
CisyMDIxLTAyLTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAg
ICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRp
dmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tz
L2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jh
c2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90
aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1
YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9y
dC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxw
aGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29y
a2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtY3NwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLmh0bWw6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJv
ci1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQt
Y3NwLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJs
LXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDItMTEgIFNh
aWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cmV2ZXJ0aW5nIHIyNzA1NzguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3OWU5MGE5NmYwY2RiNmNl
OTEwZjJiY2U1Yzc3ODYyMzlkZjlkOTBiLi42MWFkMWQ1YmE2M2I1NmY0MjQ0ZThkZTNiYmExMDVi
OWMyNmE0OTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY0MCw3ICs2NDAsNiBAQCBmYXN0L2Rv
bS9jb25uZWN0ZWQtc3ViZnJhbWUtY291bnRlci1vdmVyZmxvdy5odG1sIFsgU2xvdyBdCiBbIERl
YnVnIF0gaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC0yLmh0bWwgWyBTbG93
IF0KIAogIyBTa2lwIHdvcmtlcnMgdGVzdHMgdGhhdCBhcmUgdGltaW5nIG91dCBvciBhcmUgU2hh
cmVkV29ya2VyIHJlbGF0ZWQgb25seQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4uaHRtbCBbIFNraXAgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2RhdGEtdXJsLXNoYXJlZC5odG1s
IFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZXhhbXBs
ZXMvb25jb25uZWN0LmFueS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvZXhhbXBsZXMvb25jb25uZWN0LmFueS53b3JrZXIuaHRtbCBbIFNraXAg
XQpAQCAtNjYzLDcgKzY2Miw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9TaGFyZWRXb3JrZXItcmVwbGFjZS1FdmVudEhhbmRsZXIuYW55Lmh0CiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyLXJlcGxhY2UtRXZlbnRI
YW5kbGVyLmFueS53b3JrZXIuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlci1zY3JpcHQtZXJyb3IuaHRtbCBbIFNraXAgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlci1zaW1w
bGUuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXIuaHRtbCBbIFNraXAgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1vcHRpb25zLWNyZWRlbnRpYWxzLmh0bWwgWyBTa2lwIF0KIAogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIgWyBT
a2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24t
bW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50
YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNDkyNjliM2I1MGI5MTc1Y2I2MmVj
YTMxMmU1ODZiM2IxNjYyYTI1OS4uMmNhZTVmN2UzNWEzMmZlY2ViMjY4ZjI5MDAwMGU0ZTU1NTZj
Njg2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1t
b2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50
ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKLUZBSUwg
Tm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL251bGwu
anNvbicuIgotRkFJTCBOb24tb2JqZWN0OiB0cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBt
b2R1bGUgJy4vdHJ1ZS5qc29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6IGZhbHNlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBu
b3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZmFsc2UuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBz
dHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9zdHJpbmcuanNvbicuIgot
RkFJTCBOb24tb2JqZWN0OiBhcnJheSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcu
L2FycmF5Lmpzb24nLiIKK0ZBSUwgTm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlv
bi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1v
YmplY3Q6IHRydWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2
YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBs
aWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlM
IE5vbi1vYmplY3Q6IHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2
YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGFycmF5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBl
LiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90
YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3Mv
Y2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3Rl
ZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uZjY4
Y2M3M2I0ZDY3NGM1NGRmYWZlNTIyMTJiNjQzYzQwMzBmZDQyYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdv
cmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29y
a2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBA
QAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBQcm9t
aXNlIHJlc29sdmVkIGR1cmluZyAjcmVwb3J0LXRoZS1lcnJvciBhc3NlcnRfYXJyYXlfZXF1YWxz
OiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJoYW5kbGVyIDEiLCAiaGFuZGxlciAy
IiwgImhhbmRsZXIgMSBwcm9taXNlIiwgImhhbmRsZXIgMiBwcm9taXNlIl0gbGVuZ3RoIDQsIGdv
dCBbXSBsZW5ndGggMAorUEFTUyBQcm9taXNlIHJlc29sdmVkIGR1cmluZyBldmVudCBoYW5kbGVy
cyBvdGhlciB0aGFuIGVycm9yCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1w
b3J0U2NyaXB0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlw
dHMtZXhwZWN0ZWQudHh0CmluZGV4IDUxZDYxMDBlNjEyMmE5N2MzNjRiM2NlYjFkN2ZkMDdlMGUx
NTYxMTcuLmE4MDUwYzA3OGNmOGI4OGQ1NjhhZmZlMGQ1NWNjMzE5MGMzNjU0N2EgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9y
dC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2Fs
cGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsx
LDYgQEAKIAotRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNj
cmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2ltcG9ydC5qcz9waXBl
PWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9cmVsYXRpdmUtY3Jv
c3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgotRkFJTCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9t
IHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9k
dWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlw
ZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLWNy
b3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCknLiIKLVBBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJv
bSBjcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZy
b20gY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUg
bW9kdWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/
cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRl
LWNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCknLiIKK1BBU1MgUmVsYXRpdmUgVVJMLWxpa2Ug
ZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2Ug
ZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKK0ZBSUwgUmVsYXRpdmUgVVJMLWxpa2Ug
ZnJvbSBjcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIGFzc2VydF9lcXVhbHM6IFJlbGF0aXZl
IFVSTC1saWtlIHNwZWNpZmllciByZXNvbHV0aW9uIHNob3VsZCBmYWlsIGV4cGVjdGVkICIodW5y
ZWFjaGVkKSIgYnV0IGdvdCAiZ2FtbWEvaW1wb3J0LmpzIgorUEFTUyBBYnNvbHV0ZSBVUkwtbGlr
ZSBmcm9tIGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jh
c2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWIt
ZXhwZWN0ZWQudHh0CmluZGV4IDg2NmViYjIyN2FkMjZhYWNlMWE1NzhiYWVhNmE4MWRjMGU2ZTc3
ZjAuLjVlNzA2MzQ5MGUyZGZmZWNlODVlYTc2NWFlYmRkZTRiMTZlYjBmYzMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9h
bHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwt
d29ya2VyLnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgUmVsYXRpdmUg
VVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9y
dCB0aGUgbW9kdWxlICcuL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxv
dy1PcmlnaW4sKikmbGFiZWw9cmVsYXRpdmUtd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQnLiIKLUZB
SUwgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9y
dC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
LCopJmxhYmVsPWFic29sdXRlLXdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0Jy4iCitQQVNTIFJlbGF0
aXZlIFVSTC1saWtlIGZyb20gd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQKK1BBU1MgQWJzb2x1dGUg
VVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5v
dGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0
CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0
MmZhZDIyNGUzYTE4YTZmYjVkODQ4MzI1ZWE2Nzc2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
LQorUEFTUyBUZXN0IGV2YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0x
LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9t
b2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3
NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uYjg2MWY3MDFmOTQ4ZmIxMzI3Njkz
MjJjMzgzNjZmMmQxMzhmMDRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9y
ZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJv
ciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9yZGVy
IG9mIG1vZHVsZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVk
IGFycmF5IFsic3RlcC0xLTEiLCAic3RlcC0xLTIiLCAiZ2xvYmFsLWVycm9yIiwgImVycm9yIiwg
Im1pY3JvdGFzayJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJtaWNy
b3Rhc2siXSBsZW5ndGggMwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24t
b3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJi
Zjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi5jMWQzOGJkZTUwYzU5ZTVkNTk0MTczZDk2ZjljZDE5
ZWIxMDdjOWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9t
b2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVy
LTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3Mg
RXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitGQUlMIFRlc3QgZXZhbHVhdGlvbiBv
cmRlciBvZiBtb2R1bGVzIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBl
Y3RlZCBhcnJheSBbInN0ZXAtMi4yLTEiLCAic3RlcC0yLjItMiIsICJnbG9iYWwtZXJyb3IiLCAi
ZXJyb3IiLCAibWljcm90YXNrLTIuMiJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTIuMi0xIiwgInN0
ZXAtMi4yLTIiLCAibWljcm90YXNrLTIuMiJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHlu
YW1pYy13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQK
aW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQy
ZmFkMjI0ZTNhMThhNmZiNWQ4NDgzMjVlYTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdv
cmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAot
CitQQVNTIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDEyZDk0YTkxZWYxZjhhYjBhMTg3Yzc0OWIwZGRlYzY5NmQxMTg4ZTcuLmI0ZDY4
YWYwNTZlZWY2MjJhMzNkNTRmMDc2ZjM4MWQ0ZTFiYjI5YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMiw4ICsyLDggQEAKIEZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuIgogRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuIgogRkFJTCBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIER5bmFtaWMgaW1wb3J0LiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJv
cjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5q
cycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJv
cjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1keW5hbWljLWltcG9y
dC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIER5bmFtaWMgaW1wb3J0IGFuZCB0
aGVuIHN0YXRpYyBpbXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQg
dG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUg
Jy4vZXhwb3J0LW9uLXN0YXRpYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQot
RkFJTCBldmFsKGltcG9ydCgpKS4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxl
ZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVs
ZSAnLi9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5CitQQVNTIER5
bmFtaWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMg
aW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNl
dXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGRkOWFm
MzhmZjA5ZmJlYzFmYWMwYjhmNWVhOWJhZDZlMzE2MzY0OWQuLjUxZWIzNjYzOGMxY2E3ZDA2MGI3
Njc1OTI2ZmNjNzBjNWJmMDc2ZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1
bGV3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdyJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFj
dGx5IG9uZSBhcmd1bWVudC4KIAotRkFJTCBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdv
cmtlcnM6IGltcG9ydCBhc3NlcnRfdW5yZWFjaGVkOiBHb3QgZXJyb3IgZXZlbnQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCitQQVNTIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2Vy
czogaW1wb3J0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVk
LnR4dAppbmRleCBhYjVhN2ZiODkwMjBmMjlmZDg5M2E3NTY4MGZmZTE3ZDNkMzUwZjdjLi5hYjUz
YjgwNTk5YWUwMTk1NzgwODVlZTQ0YWFlZmE0Yzc5NTUyNjg0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBo
YS9pbXBvcnRTY3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1w
b3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlM
IGltcG9ydFNjcmlwdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hL3NjcmlwdC5qcyIg
YnV0IGdvdCAiYmV0YS9zY3JpcHQuanMiCitQQVNTIGltcG9ydFNjcmlwdHMKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jh
c2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94
aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4M2YzNjdmMmNmM2E2NmM2NGE2
MjY0Mjk0NjU2ZDVlODgxZDFjMTFjLi4yOGIwY2I0MDAxMzkyZDA4ODdhNGZlYmU2ODFjMWUxNTFk
MGRmMThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6
IFhIUiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWFcbiIgYnV0IGdvdCAiYmV0YVxuIgor
UEFTUyBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IFhIUgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
YmFzZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1p
bi13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGQ2YjA4ZWVkYWU2ZjY5NmM3YTRiZmE2NTVlMTNi
NWVkNDYwN2VhMDEuLmVhMTQ1NGQ5YjNmMjBmODVkOTAxNmM1MDZhMTU0NmFmNjE3ODQyZDAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2Fs
cGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIHho
ci13b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hXG4iIGJ1dCBnb3QgImJldGFc
biIKK1BBU1MgeGhyLXdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9y
aWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50
eHQKaW5kZXggODMxZjBjNThjNjk0YzJkNGZlYmQ2ZDhkMGFmMzA3YjEwOTQ0MmE2ZS4uZDU1NWVl
N2NmM2ZjNzJlZmI4MmRmOWRiN2RhZDM2N2Y5YWI3ZmZiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9X
b3JrZXIvc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUt
b3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMSBAQAogCi1IYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQogUEFTUyB1bnN1cHBvcnRlZF9zY2hlbWUKIEZBSUwg
ZGF0YV91cmwgVGhlIG9wZXJhdGlvbiBpcyBpbnNlY3VyZS4KLVRJTUVPVVQgYWJvdXRfYmxhbmsg
VGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgZXhhbXBsZV9pbnZhbGlkIFRlc3QgdGltZWQgb3V0Ci1U
SU1FT1VUIHBvcnRfODEgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgaHR0cHNfcG9ydF84MCBUZXN0
IHRpbWVkIG91dAotVElNRU9VVCBodHRwc19wb3J0XzgwMDAgVGVzdCB0aW1lZCBvdXQKLVRJTUVP
VVQgaHR0cF9wb3N0XzgwMTIgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgamF2YXNjcmlwdF91cmwg
VGVzdCB0aW1lZCBvdXQKK1BBU1MgYWJvdXRfYmxhbmsKK1BBU1MgZXhhbXBsZV9pbnZhbGlkCitQ
QVNTIHBvcnRfODEKK1BBU1MgaHR0cHNfcG9ydF84MAorUEFTUyBodHRwc19wb3J0XzgwMDAKK1BB
U1MgaHR0cF9wb3N0XzgwMTIKK1BBU1MgamF2YXNjcmlwdF91cmwKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4
IGYxNzQxZjlkOGJmMDcwMzI3MGQyZTM3NjJkYmNiZTI2YzBiOTAwNTkuLjNiMGRmYjM1ZTUxY2Qx
YTg1NDU1MzAxOWMwZTQwM2RiZTJmMWQzM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2Jh
bFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJH
bG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLUZBSUwgV29ya2VyTG9jYXRpb24gd2l0aCByZWRpcmVjdHM6IGNsYXNzaWMgZGVkaWNhdGVk
IHdvcmtlcnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93
b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcG9zdC1sb2NhdGlv
bi1tZW1iZXJzLmpzP2EiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2lu
dGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5P2Zh
aWwiCitQQVNTIFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBjbGFzc2ljIGRlZGljYXRl
ZCB3b3JrZXJzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9u
L3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9s
b2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0CmluZGV4IGRjMmUyZTIwN2RiMDAx
ZWU3MGU3MzMwN2QyN2JiMzM1NzIwZmQ1NTkuLmIzYmY4MWVlODY4MWI5ZGMwODBmNTgwMjcxZThi
OGYzOTA5NjU0OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9u
L3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2Nv
cGUvbG9jYXRpb24vcmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3
b3JrZXJzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Bvc3QtbG9jYXRpb24t
bWVtYmVycy5qcz9hIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL2hlbHBlci1yZWRpcmVjdC5weT9mYWls
IgorUEFTUyBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3
b3JrZXJzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJs
LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5h
bnktZXhwZWN0ZWQudHh0CmluZGV4IDIwYWMxN2Q1NjNjNGIzYTQ2MWYwY2FhZmJlYWVlYmQ3MTNm
OTcwODEuLmRjY2VkY2NkMzY4ZTFmZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4
dApAQCAtMSwxOCArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVz
L3Jlc291cmNlcy9zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMg
ZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1
bGVzL3Jlc291cmNlcy9uZXN0ZWQtc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dv
cmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvc3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWlt
cG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJh
bCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1p
Yy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1
bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxp
dGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25l
c3RlZC1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0
bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9y
ZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtYW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIuanMi
LiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNT
QUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXZhbC1keW5hbWljLWltcG9ydC13
b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1I
YXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0
cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9keW5hbWljLWltcG9ydC1hbmQtdGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUZBSUwgU3RhdGljIGlt
cG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgc3Rh
dGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdv
cmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZB
SUwgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBz
dHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL3N0YXRpYy1pbXBvcnQtYW5kLXRoZW4tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIu
IGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWlj
IGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6
ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wi
LiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVk
IGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLWR5bmFtaWMtaW1w
b3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LiIKLUZBSUwgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2Vy
LmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBl
dmFsKGltcG9ydCgpKS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2Nh
bGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V2YWwtZHluYW1pYy1pbXBvcnQt
d29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgor
UEFTUyBTdGF0aWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3Rh
dGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQu
CitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRo
ZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC1jc3AtZXhwZWN0ZWQudHh0CmluZGV4IDFkYTQ2YjkyNmJlMDg5NmVlOGY3
NWE3OGRjYWU0ZjI2OWIwNTA5MmIuLjIzOWNjOWNlMTUzMDFmN2VlZDgzZDVlYjIyMzBhOWRlMjk0
ZWEyZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dApA
QCAtMSwxMyArMSwyMiBAQAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBV
bnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3Jj
Jy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhv
c3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5q
cworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6
OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwor
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0
My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09O
U09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0
aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBz
Oi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1v
bi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29n
bml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAor
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0
My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogCiBQ
QVNTIHdvcmtlci1zcmMgJ3NlbGYnIGRpcmVjdGl2ZSBzaG91bGQgZGlzYWxsb3cgY3Jvc3Mgb3Jp
Z2luIHN0YXRpYyBpbXBvcnQuCiBGQUlMIHdvcmtlci1zcmMgKiBkaXJlY3RpdmUgc2hvdWxkIGFs
bG93IGNyb3NzIG9yaWdpbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBleHBl
Y3RlZCBwcm9wZXJ0eSAwIHRvIGJlICJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiIGJ1dCBnb3Qg
IkVSUk9SIiAoZXhwZWN0ZWQgYXJyYXkgWyJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiXSBnb3Qg
WyJFUlJPUiJdKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVy
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVj
dGVkLnR4dAppbmRleCA5NWM2ZDE1ZGY0NGUxOGEzNWRmZWIwZmEzOWM4ZDM4NDQyMGMyYzEzLi5l
OTU1NzhlNzFiMWM1MGE0ZTA0NzFiMDM3MTU0YjM4NmIzN2FlZDc0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAK
LUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwg
Jy4vbm9uLWV4aXN0ZW50LXNjcmlwdC5qcycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBv
bmUgYXJndW1lbnQuCitDT05TT0xFIE1FU1NBR0U6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQg
ZmFpbGVkLgogCi1GQUlMIGltcG9ydFNjcmlwdHMoKSBvbiBtb2R1bGUgd29ya2VyIHNob3VsZCB0
aHJvdyBhbiBleGNlcHRpb24uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUeXBlRXJyb3IiIGJ1
dCBnb3QgIkxPQURFRCIKK1BBU1MgaW1wb3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3b3JrZXIgc2hv
dWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIFBBU1MgV29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igbm9u
LWV4aXN0ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KIFBBU1MgU3Rh
dGljIGltcG9ydCBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJy
b3JFdmVudC4KLUZBSUwgRHluYW1pYyBpbXBvcnQgZm9yIG5vbi1leGlzdGVudCBzY3JpcHQgc2hv
dWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlR5cGVFcnJv
ciIgYnV0IGdvdCAiRXJyb3IiCitQQVNTIER5bmFtaWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQg
c2NyaXB0IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rp
b24gZm9yIGFuIGludmFsaWQgVVJMIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdv
cmtlciBjb25zdHJ1Y3Rpb24gZm9yIGEgZmlsZSBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlv
bi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAppbmRl
eCBkNTgwNjIwNDFjM2U2OTUxNWI4MTVlMDJkN2MzODY4NGQ3N2M3NmI3Li43NzI5MWJhYTFhNDE4
NGJlYmU3YWQ3YjVkOWYxMTljNzFhNzhkZTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWlt
cG9ydC1tZXRhLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTog
U3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCiAK
LUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IGltcG9ydC5tZXRh
IGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCi0KLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51
cmwgb24gdGhlIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5
IHZhbGlkIGluc2lkZSBtb2R1bGVzLiIKLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhl
IGltcG9ydGVkIG1vZHVsZSBzY3JpcHQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNj
cmlwdCB3aXRoIGEgZnJhZ21lbnQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorUEFTUyBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3Jp
cHQuCitQQVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2Ny
aXB0LgorUEFTUyBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNj
cmlwdCB3aXRoIGEgZnJhZ21lbnQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LW1ldGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbApp
bmRleCBjZmY4ZTkxNDg4ZTgyMzlhYmUyMTM2MTlkMTJkNWE2MDMwNzJmYmVhLi5lZGUyNjkyZTFj
NjM0MWJlZmZjOTAxMGM0MWI4ZjRjZmU0MzgzMjliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC1tZXRhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQt
bWV0YS5odG1sCkBAIC01Myw3ICs1Myw3IEBACiAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgn
Li8nICsgc2NyaXB0X3VybCArICcjMScpOwogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0gcmVzb2x2ZSk7CiAgICAgICB9KQotICAgICAgLnRo
ZW4obXNnX2V2ZW50ID0+IGFzc2VydF90cnVlKG1zZ19ldmVudC5kYXRhLmVuZHNXaXRoKHNjcmlw
dF91cmwpKSk7CisgICAgICAudGhlbihtc2dfZXZlbnQgPT4gYXNzZXJ0X3RydWUobXNnX2V2ZW50
LmRhdGEuZW5kc1dpdGgoc2NyaXB0X3VybCArICcjMScpKSk7CiB9LCAnVGVzdCBpbXBvcnQubWV0
YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQgd2l0aCBhIGZyYWdtZW50LicpOwog
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVy
cmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4
cGVjdGVkLnR4dAppbmRleCA2ZGM0MmMxY2ZkMzM0OGFmZGQxZGZkM2IxMGE1MDQ3MDU1MzAxOTZh
Li5mZTFiOWQ5M2MwODAxMWI1MGU5NDFmNGUxMjM2MDY3YWJiZDNmMjNlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxl
cy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMv
ZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0CkBAIC0xLDE5ICsx
LDIzIEBACi0KLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3Jr
ZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2Vk
IGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtl
cnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQg
YWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vy
cy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFj
Y2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMv
bW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNj
ZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9t
b2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQogCiBQQVNTIFNhbWUt
b3JpZ2luIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAibm8tcmVmZXJyZXIi
IHJlZmVycmVyIHBvbGljeQogUEFTUyBTYW1lLW9yaWdpbiB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlw
dCBsb2FkaW5nIHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5CiBQQVNTIFNhbWUtb3JpZ2lu
IHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVy
cmVyIHBvbGljeQotRkFJTCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVy
cmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKLUZBSUwgU2FtZS1vcmln
aW4gc3RhdGljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBU
eXBlIGVycm9yIgotRkFJTCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3Jp
Z2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKK1BBU1MgU2FtZS1vcmln
aW4gc3RhdGljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LgorUEFT
UyBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
LgorUEFTUyBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZl
cnJlciBwb2xpY3kuCiBGQUlMIENyb3NzLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJl
ZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIEZBSUwgQ3Jvc3Mt
b3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogVHlwZSBlcnJvciIKIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2Ft
ZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotVElNRU9VVCBT
YW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9s
aWN5LiBUZXN0IHRpbWVkIG91dAotTk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdp
dGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgotTk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMg
aW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mt
b3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3ku
Ci1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJy
ZXIgcG9saWN5LgotTk9UUlVOIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1l
LW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgorRkFJTCBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9y
dCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jl
c291cmNlcy9keW5hbWljLWltcG9ydC1zYW1lLW9yaWdpbi1yZWZlcnJlci1jaGVja2VyLXdvcmtl
ci5qcyIKK0ZBSUwgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZl
cnJlciBwb2xpY3kuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4
MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9keW5hbWljLWltcG9ydC1zYW1lLW9yaWdpbi1yZWZlcnJlci1jaGVja2VyLXdvcmtlci5q
cyIKK1BBU1MgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJl
ZmVycmVyIHBvbGljeS4KK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5v
LXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKK0ZBSUwgQ3Jv
c3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IFR5cGUgZXJyb3IiCitGQUlMIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRo
ICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxl
cy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGEyM2E1NTc1
ZGI0Mjc0MjdmODViZDZiNjM1NGRlODgzODMxZmUyYjQuLmRjY2VkY2NkMzY4ZTFmZjE3YjFkZDEz
NmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0
LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4
cGVjdGVkLnR4dApAQCAtMSwxNCArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBh
cmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
JyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBN
RVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotCi1GQUlMIFN0YXRpYyBpbXBvcnQuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LiIKLUZBSUwgTmVzdGVkIHN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBp
bXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGlt
cG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGlt
cG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWlj
IGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24t
bG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIE5lc3RlZCBkeW5hbWljIGlt
cG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWlj
IGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24t
ZHluYW1pYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBEeW5hbWlj
IGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1
ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9y
dCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1zdGF0aWMtaW1wb3J0LXNjcmlwdC5qcycuIiwgZXhw
ZWN0ZWQgYXJyYXkKLUZBSUwgZXZhbChpbXBvcnQoKSkuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZh
bHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1w
b3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBh
cnJheQorUEFTUyBTdGF0aWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BB
U1MgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBp
bXBvcnQuCitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQg
YW5kIHRoZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dAppbmRleCBkYTBlNGViNjc1
OGQxNGEzN2EzOThkMGI2ZmM3MWFkMzg3NmJkMjZiLi4xZmMwYzY2ZmRmNzI0YzJhYTNiOTEwNjk4
MGJmYmU3ZTk4OGY5NzczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMt
dHlwZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUt
ZXhwZWN0ZWQudHh0CkBAIC0yLDExICsyLDYgQEAKIFBBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0
aW9uIHdpdGggdGhlIGRlZmF1bHQgd29ya2VyIHR5cGUuCiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0
cnVjdGlvbiB3aXRoIHRoZSAiY2xhc3NpYyIgd29ya2VyIHR5cGUuCiBQQVNTIFRlc3Qgd29ya2Vy
IGNvbnN0cnVjdGlvbiB3aXRoIHRoZSAibW9kdWxlIiB3b3JrZXIgdHlwZS4KLUZBSUwgVGVzdCB3
b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgd29ya2VyIHR5cGUuIGFzc2VydF90aHJv
d3NfanM6IFdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiBlbXB0eSB0eXBlIHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24gZnVuY3Rpb24gIigpID0+IHsKLSAgICAgICAgbmV3IFdvcmtlcigncmVz
b3VyY2VzL3Bvc3QtbWVzc2FnZS1vbi1sb2FkLXdvcmtlci5qcycsIHsgdHlwZTogJycgfSk7Ci0g
ICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRo
IGFuIHVua25vd24gd29ya2VyIHR5cGUuIGFzc2VydF90aHJvd3NfanM6IFdvcmtlciBjb25zdHJ1
Y3Rpb24gd2l0aCBhbiB1bmtub3duIHR5cGUgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiBmdW5j
dGlvbiAiKCkgPT4gewotICAgICAgICBuZXcgV29ya2VyKCdyZXNvdXJjZXMvcG9zdC1tZXNzYWdl
LW9uLWxvYWQtd29ya2VyLmpzJywKLSAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICd1bmtub3du
JyB9KTsKLSAgICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0
aW9uIHdpdGggYW4gZW1wdHkgd29ya2VyIHR5cGUuCitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVj
dGlvbiB3aXRoIGFuIHVua25vd24gd29ya2VyIHR5cGUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0CmluZGV4IGU4ZWI1NDBi
ZDMzOTI0MDBhOGRiZmQ5Mzg2NDhhNjQ5MjM5YzBkOWUuLmQxYTUwZjdlYTNjZDZkYzI5OGVmNzU0
MTQ3NzYyYzY5YzU3ZDczYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2Ut
ZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJz
ZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDE0IEBACi1DT05TT0xFIE1F
U1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KK0NPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJzsnCitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHRva2VuICc7JwogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IEVycm9y
OiBhc3NlcnRfaW1wbGVtZW50czogU3RhdGljIGltcG9ydCBtdXN0IGJlIHN1cHBvcnRlZCBvbiBt
b2R1bGUgZGVkaWNhdGVkIHdvcmtlciB0byBydW4gdGhpcyB0ZXN0LiB1bmRlZmluZWQKLQotTk9U
UlVOIE1vZHVsZSB3b3JrZXIgY29uc3RydWN0aW9uIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJy
b3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9yLgotTk9UUlVOIFN0YXRpYyBp
bXBvcnQgb24gbW9kdWxlIHdvcmtlciBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3Vs
ZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4KK0ZBSUwgTW9kdWxlIHdvcmtlciBjb25z
dHJ1Y3Rpb24gZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlzcGF0Y2ggYW4g
ZXZlbnQgbmFtZWQgZXJyb3IuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5j
dGlvbiBFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiBidXQgZ290IGZ1bmN0aW9uICJm
dW5jdGlvbiBFcnJvckV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCitGQUlMIFN0YXRp
YyBpbXBvcnQgb24gbW9kdWxlIHdvcmtlciBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNo
b3VsZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIEV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1
dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEVycm9yRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2Rl
XQorfSIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhw
ZWN0ZWQudHh0CmluZGV4IDYzOTg0NzEyMTQ1OWE3YWIzN2I5ZjA5YTY4YmE2NGVhOGE5ZWQ1N2Mu
LmU5NDY5NDdiMTRhZWYzZTUyOTlhMGFiYTNhZTRiMWNmOWZjZDk1NzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXBy
b3BlcnR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTEsNyAr
MSw4IEBACiBDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1GQUlMIFRl
c3QgdGhlIG5hbWUgcHJvcGVydHkgb2Ygc2hhcmVkIGFuZCBkZWRpY2F0ZWQgd29ya2VycyB2aWEg
dGhlIG5hbWUgY29uc3RydWN0b3Igb3B0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdv
cmtlcgotUEFTUyBEZWNsYXJpbmcgbmFtZSBhcyBhbiBhY2NpZGVudGFsIGdsb2JhbCBtdXN0IG5v
dCBjYXVzZSBhIGhhcm5lc3MgZXJyb3IgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCitI
YXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IENhbid0
IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCiBQQVNTIG5hbWUgcHJvcGVydHkgdmFsdWUg
Zm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCiBQQVNTIG5hbWUgcHJvcGVydHkgaXMgcmVw
bGFjZWFibGUgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCitQQVNTIERlY2xhcmluZyBu
YW1lIGFzIGFuIGFjY2lkZW50YWwgZ2xvYmFsIG11c3Qgbm90IGNhdXNlIGEgaGFybmVzcyBlcnJv
ciBmb3IgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0
LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggZjA2OTFhYTA5Y2M0OWNkZjdmMmE5NDM3NGM2ZTYyMjIw
ZjkzYjhlMi4uYTU3MGQ4ZDI5MmZhODU2MjEyYjA1NDc4ODIwZjEzMGY4MWQ5YmJmNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0
cy9hdWRpby13b3JrbGV0LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdv
cmtsZXQtY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiBD
T05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxv
d2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIAotRkFJTCBJbXBvcnRpbmcgYSBz
YW1lLW9yaWdpbiBzY3JpcHQgd2l0aCB0aGUgZGVmYXVsdCBXb3JrbGV0T3B0aW9ucyBzaG91bGQg
c2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJy
b3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgiCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNj
cmlwdCB3aXRoIHRoZSBkZWZhdWx0IFdvcmtsZXRPcHRpb25zIHNob3VsZCBzZW5kIHRoZSBjcmVk
ZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNT
IEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggdGhlIGRlZmF1bHQgV29ya2xl
dE9wdGlvbnMgc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscwotRkFJTCBJbXBvcnRpbmcg
YSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1vbWl0IHNob3VsZCBub3Qgc2Vu
ZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6
IFJlc3BvbnNlIGlzIG5vdCAyeHgiCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlw
dCB3aXRoIGNyZWRlbnRpYWxzPW9taXQgc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9y
dEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNTIEltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91bGQgbm90
IHNlbmQgdGhlIGNyZWRlbnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlw
dCB3aXRoIGNyZWRlbnRpYWxzPXNhbWUtb3JpZ2luIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFs
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJB
Ym9ydEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90
IDJ4eCIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlh
bHM9c2FtZS1vcmlnaW4gc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEltcG9y
dGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9y
aWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1zYW1lLW9yaWdpbiBzaG91bGQgbm90IHNlbmQg
dGhlIGNyZWRlbnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRo
IGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6
IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBSZXNwb25zZSBpcyBub3QgMnh4IgotRkFJ
TCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1
ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBt
b2R1bGUsIGVycm9yOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dl
ZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uIgorRkFJTCBJbXBvcnRpbmcgYSBzYW1l
LW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1pbmNsdWRlIHNob3VsZCBzZW5kIHRoZSBj
cmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitG
QUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5j
bHVkZSBzaG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogQ3Jvc3Mtb3JpZ2luIHNj
cmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3ku
IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29y
a2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGJmMzM1Y2YzMDU1ZTA2NWIzODk4OWI0
MWFhMWUyMzZmZWI0YWMyOWQuLjI3NWIzNDM3ZmFkOTc1M2E2ZWNlMjQyMDBlYWJmMjU3ZmZkNjI3
MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8t
d29ya2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQwICsxLDUyIEBACitCbG9ja2Vk
IGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmts
ZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQz
L3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVy
LmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9z
dDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMt
aGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxv
Y2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRo
LWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93
d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlw
dC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0
cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0
LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXpl
ZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05T
T0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3Rp
dmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6
Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNj
cmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBD
b250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05TT0xF
IE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUg
J3dvcmtlci1zcmMnLgogCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNl
Y3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291
cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1F
U1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmts
ZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRp
c3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrbGV0
cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KIAog
Q09OU09MRSBNRVNTQUdFOiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxs
b3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojg4
MDAvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFk
ZXIuanMuCiAKK0NPTlNPTEUgTUVTU0FHRTogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2FkZG1vZHVsZS13aW5kb3cuaHRtbCB3
YXMgbm90IGFsbG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xv
Y2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRo
LWNvcnMtaGVhZGVyLmpzLgorCitDT05TT0xFIE1FU1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBh
dCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2lu
ZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9t
IGh0dHA6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1z
Y3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KKwogCiBGQUlMIEEgcmVtb3RlLW9yaWdpbiB3b3Jr
bGV0IHNob3VsZCBiZSBibG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUu
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCi1G
QUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlw
dCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFT
UyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQg
c2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4KIEZB
SUwgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3Jp
cHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKIEZB
SUwgQSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBi
eSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmts
ZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUg
YmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3Jp
Z2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBz
aG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLgogUEFT
UyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0
aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4K
LVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2
ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdv
cmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9j
a2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdp
biBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAi
UkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90
ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQt
c3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgogUEFTUyBBIHJl
bW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNh
dXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dz
IGl0LgotUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdp
bi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2Ny
aXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KK0ZBSUwg
QSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3Rl
ZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGly
ZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdp
biB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICog
ZGlyZWN0aXZlIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRo
ZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3
b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxv
Y2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSBy
ZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hv
dWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxs
b3dzIGl0LgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBu
b3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBp
dC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4t
cmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlw
dC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQg
aW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90IGJl
IGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNT
IEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29y
a2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRp
cmVjdGl2ZS4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1v
cmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJl
Y3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KK0ZB
SUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0
IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVz
ZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUtb3Jp
Z2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBi
ZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9i
ZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJl
Y3RlZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJl
Y3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KLVBB
U1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJl
Y3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVj
dGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgorRkFJ
TCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVj
dGVkIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0
aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEFu
IGluc2VjdXJlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4
ZWQgY29udGVudHMuCiBQQVNTIEFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHdvcmtsZXQg
c2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVzZSBvZiBtaXhlZCBjb250ZW50cy4KLUZBSUwgQSBzYW1l
LW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhbiBpbnNlY3VyZS1vcmlnaW4gc2NyaXB0IHNob3Vs
ZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCi1GQUlMIEEgc2FtZS1vcmlnaW4g
d29ya2xldCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNo
b3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCitQQVNTIEEgc2FtZS1vcmln
aW4gd29ya2xldCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUg
YmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgorUEFTUyBBIHNhbWUtb3JpZ2luIHdv
cmtsZXQgaW1wb3J0aW5nIGFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91
bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlv
LXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZlODk2NWFlZjZjYWRhMjIxOWVmOGUzMDg4OGJhOTFlMjQw
MTdhYzAuLjY3NjQ3ZDQ2ODdiOWQzY2ZjODZlMGIyYzhmNTY4ZTIwZjViZWMzOTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMv
YXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1p
bXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xNiw3ICsxNiw3IEBAIFBBU1MgSW1wb3J0aW5n
IGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlIHdpdGggdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbiBoZWFkCiBQQVNTIEltcG9ydGluZyBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRob3V0
IHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZWplY3QgdGhl
IGdpdmVuIHByb21pc2UKIFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0ZWQg
cmVzb3VyY2Ugd2l0aCB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWRlciBzaG91
bGQgcmVzb2x2ZSB0aGUgZ2l2ZW4gcHJvbWlzZQogUEFTUyBJbXBvcnRpbmcgYSBjcm9zcy1vcmln
aW4tcmVkaXJlY3RlZCByZXNvdXJjZSB3aXRob3V0IHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4gaGVhZGVyIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UKLUZBSUwgSW1wb3J0
aW5nIGEgc2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdp
dmVuIHByb21pc2UuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRl
ZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIEltcG9ydGluZyBhIG5lc3RlZCBz
Y3JpcHQgdGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJv
bWlzZS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBS
ZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1w
b3J0cyBhbiBpbnZhbGlkIGlkZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlz
ZS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaGFzIGEg
c3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuCitQQVNTIEltcG9y
dGluZyBhIG5lc3RlZCBzY3JpcHQgdGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVj
dCB0aGUgZ2l2ZW4gcHJvbWlzZS4KK1BBU1MgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1wb3J0
cyBhbiBpbnZhbGlkIGlkZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8t
d29ya2xldC1yZWZlcnJlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjRkNDk5YzE0MWNlZTZk
YzliMmViZTI0YmZiNGZmNGMwM2EwYTk3My4uOWY2ZDExMzA1OWQ5ZmFkNTBjNjMwMDdiN2ZjZDJj
YmQ2NzI3NzY1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtsZXRzL2F1ZGlvLXdvcmtsZXQtcmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsOCBAQAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2Nh
bGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJl
cl9wb2xpY3k9bm8tcmVmZXJyZXImZXhwZWN0ZWRfcmVmZXJyZXI9CitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291
cmNlcy9yZWZlcnJlci1jaGVja2VyLnB5P3JlZmVycmVyX3BvbGljeT1vcmlnaW4mZXhwZWN0ZWRf
cmVmZXJyZXI9aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8KK0NPTlNPTEUgTUVTU0FHRTogT3JpZ2lu
IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luLgorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3
MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9y
ZWZlcnJlcl9wb2xpY3k9c2FtZS1vcmlnaW4mZXhwZWN0ZWRfcmVmZXJyZXI9CitDT05TT0xFIE1F
U1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFj
Y2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIAogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdp
biBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3Jp
Z2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBv
bGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCkBAIC02LDE1ICsxMSwxNSBAQCBQQVNTIElt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJvcmln
aW4iIHJlZmVycmVyIHBvbAogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJv
bSBhIHBhZ2UgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNl
bmQgcmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20g
YSBwYWdlIHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qg
c2VuZCByZWZlcnJlci4KIFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20g
YSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVy
cmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0
IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJy
ZXIuCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9y
aWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGlj
eSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNP
TFZFRCIgYnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1P
cmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9y
aWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMg
Im5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgog
UEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdp
biB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBz
aG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNj
cmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBy
ZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhh
dCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFT
UyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29y
a2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5k
IHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEg
cmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBw
b2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2lu
IHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUt
b3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9y
dGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNj
cmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNl
bmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEg
cmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVy
cmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRo
YXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVy
LgorRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmln
aW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3Vs
ZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBn
b3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291
cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0
IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJl
ZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4i
CitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3Jp
Z2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91
bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQg
Z290ICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNv
dXJjZSBTaGFyaW5nIHBvbGljeS4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlw
dCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2lu
IiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWls
ZWQuIgorRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1v
cmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVT
T0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1v
cmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFz
ICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBt
b2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9y
aWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBk
ZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Bl
bi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQt
d29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggMWUyZDM5OTJmNmQ1ZGYzMjIwN2E2YjBm
NjE5YTZkNzExODEyNDAwZC4uN2E3YTkxN2VhYTk4ZTkyZWUwM2VjMjhhMTFlNzgwODRkMjM0Yjg4
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvb3Blbi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVy
bC1yZWRpcmVjdGVkLXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAog
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cyLmxvY2FsaG9zdDo4ODAw
L3hoci9yZXNvdXJjZXMvaW5zcGVjdC1oZWFkZXJzLnB5P2ZpbHRlcl9uYW1lPW9yaWdpbiZjb3Jz
CiAKLUZBSUwgUmVmZXJlciBoZWFkZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJlZmVyZXI6
IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL3dvcmtlcnhoci1vcmlnaW4tcmVm
ZXJyZXIuanNcbiIgYnV0IGdvdCAiUmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3hoci9y
ZXNvdXJjZXMvcmVkaXJlY3QucHk/bG9jYXRpb249d29ya2VyeGhyLW9yaWdpbi1yZWZlcnJlci5q
c1xuIgorUEFTUyBSZWZlcmVyIGhlYWRlcgogRkFJTCBPcmlnaW4gaGVhZGVyIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJPcmlnaW46IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMFxuIiBidXQgZ290ICIi
CiBQQVNTIFJlcXVlc3QgVVJMIHRlc3QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vYXVkaW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2F1ZGlvd29ya2xldC1hZGRNb2R1bGUtZmFpbHVyZS1leHBlY3RlZC50eHQK
aW5kZXggMDhhZjExNDM2MDU1MWJmNWE4MDc5YWYwYTM4MTVjNGUwOGViZDE0My4uZGVmMzNhZDg2
OTFiNjk0MzZlMGUxODFjNWJkMDA0ODM1NDgzNTFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vYXVkaW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhw
ZWN0ZWQudHh0CkBAIC00LDcgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBB
U1MgY29udGV4dC5hdWRpb1dvcmtsZXQuYWRkTW9kdWxlKGludmFsaWRVUkwpOyByZWplY3RlZCBw
cm9taXNlICB3aXRoIFN5bnRheEVycm9yOiBNb2R1bGUgVVJMIGlzIGludmFsaWQuCi1QQVNTIGNv
bnRleHQuYXVkaW9Xb3JrbGV0LmFkZE1vZHVsZSgnZG9lc25vdEV4aXN0LmpzJyk7IHJlamVjdGVk
IHByb21pc2UgIHdpdGggQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6
IFRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuLgorUEFTUyBj
b250ZXh0LmF1ZGlvV29ya2xldC5hZGRNb2R1bGUoJ2RvZXNub3RFeGlzdC5qcycpOyByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIEFib3J0RXJyb3I6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFp
bGVkLi4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd29ya2xldC1jcmFzaC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dAppbmRl
eCA2NTRkZGY3ZjE3ZWZhYjU4ZTQyZmFiZTM4NTI1Nzk2NGFlMmM1ZDQxLi4xODUwZmY0NzU0NTk4
ZWYzYzZjYTRiNjk5MmQ1ZTU2ZTY1MDU3ZWM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJh
dWRpby93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRp
by93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMSArMSwyIEBACitDT05TT0xFIE1FU1NB
R0U6IEFib3J0RXJyb3I6ICd0ZXh0L2h0bWwnIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlN
RSB0eXBlLgogVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420100</attachid>
            <date>2021-02-11 22:52:30 -0800</date>
            <delta_ts>2021-02-12 01:12:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210211225229.patch</filename>
            <type>text/plain</type>
            <size>235734</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
MDMzNjA1Y2FjMDYxMTJjMzYzYWMwMjlmMjYxZDc2OGRjNDEzZmRjLi42ZWUzOWExOTY5ZTA0YjY4
NDIxM2NkY2Q0MGE2NDVmYjBkNzNlZTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcDoK
KyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9yKToKKyAgICAgICAg
KiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRlRXJyb3IpOgorICAgICAg
ICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVSYW5nZUVycm9y
KToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3IpOgorICAgICAgICAoSlNDOjpj
cmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVR5cGVFcnJvcik6CisgICAg
ICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlR2V0dGVyVHlw
ZUVycm9yKToKKyAgICAgICAgKEpTQzo6dGhyb3dTeW50YXhFcnJvcik6CisgICAgICAgICogcnVu
dGltZS9FcnJvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogcnVudGlt
ZS9FcnJvckluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6RXJyb3JJ
bnN0YW5jZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OmNyZWF0ZSk6CisgICAgICAg
IChKU0M6OkVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmcpOgorICAgICAgICAo
SlNDOjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5nKToKKyAgICAgICAgKEpTQzo6
RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvRXJy
b3JJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGUpOgorICAg
ICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjplcnJvclR5cGUgY29uc3QpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBl
Pjo6Y29uc3RydWN0SW1wbCk6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8
ZXJyb3JUeXBlPjo6Y2FsbEltcGwpOgorICAgICAgICAqIHJ1bnRpbWUvTnVsbFNldHRlckZ1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TnVsbFNldHRlckZ1bmN0aW9uSW50ZXJuYWw6OkpTQ19E
RUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29t
cGlsZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6
SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TGlua0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6
SlNXZWJBc3NlbWJseUxpbmtFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
cjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3Nl
bWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04p
OgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisKIDIwMjEtMDIt
MTEgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogIlNob3cgRXh0ZW5kZWQgR3JpZGxpbmVzIiBvcHRpb24gZm9yIGdyaWQgb3Zl
cmxheSBkb2VzIG5vdCB3b3JrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjExZTgzZTAzMDYxMjc3ODNkZjI4NzM0
MDc5MGZlYjJhOTliMjg2ZS4uYTY1Y2RkMzMyYjMyMWI1Y2NmNDZkZWFiYTU3MTkzMmQ4YjJlMTcx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMiBAQAorMjAyMS0wMi0xMSAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBIZWFkZXJz
LmNtYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
OjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlw
dEZldGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdFNjcmlwdFdpdGhDYWNoZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01F
eGNlcHRpb25IYW5kbGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXRyaWV2ZUVycm9yTWVz
c2FnZVdpdGhvdXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZURPTUV4Y2VwdGlvbik6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnNjcmlwdE1vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVj
dDo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxP
YmplY3Q6Om1vZHVsZUxvYWRlckV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xv
YmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVz
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RP
TVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJlc29sdmUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRjaCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckV2YWx1YXRlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1w
b3J0TW9kdWxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6
bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOiBEZWxldGVkLgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL01vZHVsZVNj
cmlwdExvYWRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5
cGUuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6Y2xlYXJDbGllbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpzY3JpcHRGZXRjaGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6cGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpNb2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6Cisg
ICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1
bGVMb2FkZXI6Om1vZHVsZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2Fk
ZXI6OnJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
TW9kdWxlTG9hZGVyOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVM
b2FkZXI6OmltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVM
b2FkZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlOjpTY3JpcHRTb3VyY2VDb2RlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6fldv
cmtlck1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXI6OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVHlwZS5oLgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaDog
QWRkZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRXhjZXB0
aW9uQ29kZS5oOgorICAgICAgICAqIGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZCk6IERlbGV0ZWQuCisgICAg
ICAgICogZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0Lmg6CisgICAgICAgICogZG9tL1NjcmlwdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVs
ZVNjcmlwdCk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBsb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6
Y3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXI6Oldvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmlkbDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckds
b2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0cyk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmNyZWRlbnRp
YWxzIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2FkZXIpOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9u
b3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVsZSk6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2Ny
aXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
U2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6
OnJlc3BvbnNlU291cmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExv
YWRlcjo6aXNSZWRpcmVjdGVkIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRlZENvcHkg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0ZVNjcmlwdElm
TmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyVHlwZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYjo6ZmV0Y2hTY3Jp
cHRXaXRoQ29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25PcHRpb25zLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
VGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyV29ya2VyLmg6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2Jh
bFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6ZmV0Y2hB
bmRJbnZva2VTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpw
cm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpkaWRSZWNlaXZlUmVzcG9uc2UpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpub3RpZnlGaW5pc2hlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OmRpZENvbXBsZXRl
U2NyaXB0RmV0Y2hKb2IpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5oOgorCiAyMDIxLTAyLTExICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIyNzI3NTg7IGluY2x1ZGUg
bWlzc2luZyBjaGFuZ2UgdG8gUnVudGltZUVuYWJsZWRGZWF0dXJlcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcAppbmRleCA3NTlhNWIyNGEw
ZWQwODY4MGNjYWE2MzQwZDJlOTVkNDUwYjgwZmQ2Li4yOTZjODVjYzkwZTA1YjU0NTQ3ZjY2MmE3
ZTJmOGExZTEzMGE0NmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BZ2dyZWdhdGVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QWdncmVnYXRlRXJyb3IuY3BwCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogY29u
c3QgQ2xhc3NJbmZvIEFnZ3JlZ2F0ZUVycm9yOjpzX2luZm8gPSB7ICJBZ2dyZWdhdGVFcnJvciIs
ICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoQWdn
cmVnYXRlRXJyb3IpIH07CiAKIEFnZ3JlZ2F0ZUVycm9yOjpBZ2dyZWdhdGVFcnJvcihWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDog
QmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5cGU6OkFnZ3JlZ2F0ZUVycm9yKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKaW5kZXggZjQ3M2I4MTgxZWMyZjAy
YTBjYzc4YTI2YzBjMjBkYzk2MzFmZGM3NC4uZmNhY2YxZTMyMmViMjcyNzg3NGZmMjUyNjI0MWVk
N2JlOThjZTUzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcApAQCAt
MzUsMzcgKzM1LDM3IEBAIG5hbWVzcGFjZSBKU0MgewogSlNPYmplY3QqIGNyZWF0ZUVycm9yKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJ
bnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdl
LmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpLCBt
ZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJldHVybiBFcnJvcklu
c3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9i
amVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBF
cnJvclR5cGU6OkVycm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZUV2YWxFcnJvcihK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9y
SW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2Fn
ZS5pc0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJy
b3JUeXBlOjpFdmFsRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUp
OworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxP
YmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpFdmFs
RXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXZhbEVy
cm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVJhbmdlRXJyb3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpT
b3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgp
KTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFs
T2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmFu
Z2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0
dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0o
KSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJhbmdlRXJyb3IpLCBt
ZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6UmFuZ2VFcnJvciwgdHJ1
ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVSZWZlcmVuY2VFcnJvcihKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6OlNvdXJj
ZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkpOwot
ICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmpl
Y3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpSZWZlcmVu
Y2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0
dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0o
KSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJlZmVyZW5jZUVycm9y
KSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlJlZmVyZW5jZUVy
cm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6
U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHko
KSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2Jh
bE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlN5
bnRheEVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsKKyAgICBy
ZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52
bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6U3ludGF4RXJyb3Ip
LCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6U3ludGF4RXJyb3Is
IHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNl
QXBwZW5kZXIgYXBwZW5kZXIsIFJ1bnRpbWVUeXBlIHR5cGUpCiB7CiAgICAgQVNTRVJUKCFtZXNz
YWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShF
cnJvclR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCB0eXBlLCB0cnVlKTsKKyAg
ICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0
LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9y
KSwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIEVycm9yVHlwZTo6VHlwZUVycm9yLCB0cnVlKTsK
IH0KIAogSlNPYmplY3QqIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVy
KQpAQCAtNzYsNyArNzYsNyBAQCBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJy
b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JJbnN0YQogSlNPYmplY3QqIGNy
ZWF0ZVVSSUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAg
QVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNy
ZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJv
clN0cnVjdHVyZShFcnJvclR5cGU6OlVSSUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVO
b3RoaW5nLCB0cnVlKTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVy
cm9yVHlwZTo6VVJJRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9y
VHlwZTo6VVJJRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlRXJyb3IoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JUeXBlIGVycm9yVHlwZSwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQpAQCAtMTEzLDcgKzExMyw3IEBAIEpTT2JqZWN0KiBjcmVhdGVFcnJvcihKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvclR5cGVXaXRoRXh0ZW5zaW9uIGVycm9yCiBK
U09iamVjdCogY3JlYXRlR2V0dGVyVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0
eSgpKTsKLSAgICBhdXRvKiBlcnJvciA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJv
clR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UpOworICAgIGF1dG8qIGVycm9yID0gRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6VHlwZUVycm9yKTsKICAgICBlcnJvci0+c2V0TmF0
aXZlR2V0dGVyVHlwZUVycm9yKCk7CiAgICAgcmV0dXJuIGVycm9yOwogfQpAQCAtMjc0LDcgKzI3
NCw3IEBAIEV4Y2VwdGlvbiogdGhyb3dUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGhyb3dTY29wZSYgc2NvcGUsIGNvbnN0CiAKIEV4Y2VwdGlvbiogdGhyb3dTeW50YXhF
cnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUaHJvd1Njb3BlJiBzY29wZSkKIHsK
LSAgICByZXR1cm4gdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSwgY3JlYXRlU3lu
dGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCAiU3ludGF4IGVycm9yIl9zKSk7CisgICAgcmV0dXJuIHRo
cm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUsIGNyZWF0ZVN5bnRheEVycm9yKGdsb2Jh
bE9iamVjdCkpOwogfQogCiBFeGNlcHRpb24qIHRocm93U3ludGF4RXJyb3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgVGhyb3dTY29wZSYgc2NvcGUsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKQEAgLTMxNyw2ICszMTcsMTEgQEAgSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICByZXR1
cm4gY3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCBtZXNzYWdlLCBudWxscHRyKTsKIH0K
IAorSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgcmV0dXJuIGNyZWF0ZVN5bnRheEVycm9yKGdsb2JhbE9iamVjdCwgIlN5bnRh
eCBlcnJvciJfcywgbnVsbHB0cik7Cit9CisKIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJyb3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICByZXR1cm4gY3JlYXRlVHlwZUVycm9y
KGdsb2JhbE9iamVjdCwgIlR5cGUgZXJyb3IiX3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yLmgKaW5kZXggNmRhYTE1NDIxNTY2NjEwZTRhY2U2ZGUzMzVmMzRkM2JmN2M3NDQ0ZC4u
ZGM4MjUyODJjMzU2NDg3MTMyNTQ1NDRiYzhkODE4ODg0MDBlNDM4YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvci5oCkBAIC01NSw2ICs1NSw3IEBAIEpTX0VYUE9SVF9QUklWQVRF
IEpTT2JqZWN0KiBjcmVhdGVFdmFsRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcm
KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVSYW5nZUVycm9yKEpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3Jl
YXRlUmVmZXJlbmNlRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmKTsKIEpTX0VY
UE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0dsb2JhbE9iamVjdCos
IGNvbnN0IFN0cmluZyYpOworSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVN5bnRh
eEVycm9yKEpTR2xvYmFsT2JqZWN0Kik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3Jl
YXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0Kik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVj
dCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19F
WFBPUlRfUFJJVkFURSBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoSlNH
bG9iYWxPYmplY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMGYyZjVhMzE4NDAyZmJiN2M3ZDg4MDJiNmQ3ODQyZWZl
NDA2Yzg0Ni4uOWJlOTMwY2YxYzNjOWE0MGU2MDg1OTgzNTU4YTFhNTliYzc4YjYyZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAK
QEAgLTYwLDE0ICs2MCwxNCBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RXJy
b3JDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogICAgICAgICA6IElu
dGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKGdsb2JhbE9iamVjdCwgbmV3
VGFyZ2V0LCBnZXRGdW5jdGlvblJlYWxtKHZtLCBuZXdUYXJnZXQpLT5lcnJvclN0cnVjdHVyZSgp
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgUkVMRUFTRV9B
TkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5n
LCBmYWxzZSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29k
ZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVz
c2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSkpOwog
fQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEVycm9yQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAgICAg
SlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUq
IGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
ZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJv
clR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBib29sIEVycm9yQ29uc3RydWN0b3I6OnB1dChK
U0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKaW5kZXggMmU0
ZWMzOWYxMjA1OGIyNTA4NzIyZTBiODI1MjI0N2JlYjAzMTllNi4uMGY4NmUyMmI5MmRkZDZkMTM5
ODU4Yjg2ZTU2Y2VhZGNhZWNlMGQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKQEAgLTM0LDE4ICszNCwyMyBAQCBuYW1lc3BhY2UgSlND
IHsKIAogY29uc3QgQ2xhc3NJbmZvIEVycm9ySW5zdGFuY2U6OnNfaW5mbyA9IHsgIkVycm9yIiwg
JkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhP
RF9UQUJMRShFcnJvckluc3RhbmNlKSB9OwogCi1FcnJvckluc3RhbmNlOjpFcnJvckluc3RhbmNl
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitFcnJvckluc3RhbmNlOjpFcnJvckluc3Rh
bmNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVycm9yVHlwZSBlcnJvclR5cGUpCiAg
ICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgLCBtX2Vycm9yVHlwZShlcnJvclR5cGUpCisg
ICAgLCBtX3N0YWNrT3ZlcmZsb3dFcnJvcihmYWxzZSkKKyAgICAsIG1fb3V0T2ZNZW1vcnlFcnJv
cihmYWxzZSkKKyAgICAsIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkKGZhbHNlKQorICAgICwgbV9u
YXRpdmVHZXR0ZXJUeXBlRXJyb3IoZmFsc2UpCiB7CiB9CiAKLUVycm9ySW5zdGFuY2UqIEVycm9y
SW5zdGFuY2U6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNWYWx1ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRlciwgUnVu
dGltZVR5cGUgdHlwZSwgYm9vbCB1c2VDdXJyZW50RnJhbWUpCitFcnJvckluc3RhbmNlKiBFcnJv
ckluc3RhbmNlOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTVmFsdWUgbWVzc2FnZSwgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1
bnRpbWVUeXBlIHR5cGUsIEVycm9yVHlwZSBlcnJvclR5cGUsIGJvb2wgdXNlQ3VycmVudEZyYW1l
KQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcgPSBtZXNz
YWdlLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoKSA6IG1lc3NhZ2UudG9XVEZTdHJpbmcoZ2xvYmFs
T2JqZWN0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLSAgICBy
ZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbWVzc2FnZVN0cmluZywg
YXBwZW5kZXIsIHR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CisgICAgcmV0dXJuIGNyZWF0ZShnbG9i
YWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGFwcGVuZGVyLCB0eXBlLCBl
cnJvclR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwZW5kU291
cmNlVG9FcnJvck1lc3NhZ2UoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEVycm9ySW5zdGFuY2UqIGV4
Y2VwdGlvbiwgQnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4LCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCkBAIC0xMzEsNyArMTM2LDI1IEBAIHZvaWQgRXJyb3JJbnN0YW5jZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTCiAvLyBCYXNl
ZCBvbiBFcnJvclByb3RvdHlwZSdzIGVycm9yUHJvdG9GdW5jVG9TdHJpbmcoKSwgYnV0IGlzIG1v
ZGlmaWVkIHRvCiAvLyBoYXZlIG5vIG9ic2VydmFibGUgc2lkZSBlZmZlY3RzIHRvIHRoZSB1c2Vy
IChpLmUuIGRvZXMgbm90IGNhbGwgcHJveGllcywKIC8vIGFuZCBnZXR0ZXJzKS4KLVN0cmluZyBF
cnJvckluc3RhbmNlOjpzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQorU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmcoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZt
KCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEludGVn
cml0eTo6YXVkaXRTdHJ1Y3R1cmVJRCh2bSwgc3RydWN0dXJlSUQoKSk7CisKKyAgICBKU1ZhbHVl
IG1lc3NhZ2VWYWx1ZTsKKyAgICBhdXRvIG1lc3NhZ2VQcm9wZXJ0TmFtZSA9IHZtLnByb3BlcnR5
TmFtZXMtPm1lc3NhZ2U7CisgICAgUHJvcGVydHlTbG90IG1lc3NhZ2VTbG90KHRoaXMsIFByb3Bl
cnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnksICZ2bSk7CisgICAgaWYgKEpT
T2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZ2xvYmFsT2JqZWN0LCBtZXNzYWdlUHJv
cGVydE5hbWUsIG1lc3NhZ2VTbG90KSAmJiBtZXNzYWdlU2xvdC5pc1ZhbHVlKCkpCisgICAgICAg
IG1lc3NhZ2VWYWx1ZSA9IG1lc3NhZ2VTbG90LmdldFZhbHVlKGdsb2JhbE9iamVjdCwgbWVzc2Fn
ZVByb3BlcnROYW1lKTsKKyAgICBzY29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOworCisgICAgaWYg
KCFtZXNzYWdlVmFsdWUpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBSRUxFQVNFX0FO
RF9SRVRVUk4oc2NvcGUsIG1lc3NhZ2VWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpKTsK
K30KKworU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZE5hbWVTdHJpbmcoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtMTU3LDI4ICsx
ODAsMjIgQEAgU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZFRvU3RyaW5nKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgfQogICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9u
KCk7CiAKLSAgICBTdHJpbmcgbmFtZVN0cmluZzsKICAgICBpZiAoIW5hbWVWYWx1ZSkKLSAgICAg
ICAgbmFtZVN0cmluZyA9ICJFcnJvciJfczsKLSAgICBlbHNlIHsKLSAgICAgICAgbmFtZVN0cmlu
ZyA9IG5hbWVWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpOwotICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7Ci0gICAgfQorICAgICAgICByZXR1cm4gIkVy
cm9yIl9zOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbmFtZVZhbHVlLnRvV1RGU3Ry
aW5nKGdsb2JhbE9iamVjdCkpOworfQogCi0gICAgSlNWYWx1ZSBtZXNzYWdlVmFsdWU7Ci0gICAg
YXV0byBtZXNzYWdlUHJvcGVydE5hbWUgPSB2bS5wcm9wZXJ0eU5hbWVzLT5tZXNzYWdlOwotICAg
IFByb3BlcnR5U2xvdCBtZXNzYWdlU2xvdCh0aGlzLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0
aG9kVHlwZTo6Vk1JbnF1aXJ5LCAmdm0pOwotICAgIGlmIChKU09iamVjdDo6Z2V0T3duUHJvcGVy
dHlTbG90KHRoaXMsIGdsb2JhbE9iamVjdCwgbWVzc2FnZVByb3BlcnROYW1lLCBtZXNzYWdlU2xv
dCkgJiYgbWVzc2FnZVNsb3QuaXNWYWx1ZSgpKQotICAgICAgICBtZXNzYWdlVmFsdWUgPSBtZXNz
YWdlU2xvdC5nZXRWYWx1ZShnbG9iYWxPYmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSk7Ci0gICAg
c2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKK1N0cmluZyBFcnJvckluc3RhbmNlOjpzYW5pdGl6
ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7CisgICAgSW50ZWdyaXR5OjphdWRpdFN0cnVjdHVyZUlEKHZtLCBzdHJ1Y3R1cmVJRCgp
KTsKIAotICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nOwotICAgIGlmICghbWVzc2FnZVZhbHVlKQot
ICAgICAgICBtZXNzYWdlU3RyaW5nID0gU3RyaW5nKCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG1l
c3NhZ2VTdHJpbmcgPSBtZXNzYWdlVmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKLSAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOwotICAgIH0KKyAgICBT
dHJpbmcgbmFtZVN0cmluZyA9IHNhbml0aXplZE5hbWVTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKKyAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7CisKKyAgICBTdHJpbmcgbWVz
c2FnZVN0cmluZyA9IHNhbml0aXplZE1lc3NhZ2VTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKKyAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7CiAKICAgICBpZiAoIW5hbWVTdHJp
bmcubGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBtZXNzYWdlU3RyaW5nOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCmluZGV4IGRhNjZlYjc2ZTdhZGU5
MGZkNDFiYjE2MjcwNzI1YTdkMTQ3MGFkMzguLjk4NzEzNTcyMWIzMDU2NjIzMGQyNjFjODMzYWQ4
ZGVjYTU0NjE0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9ySW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvcklu
c3RhbmNlLmgKQEAgLTIwLDYgKzIwLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJF
cnJvclR5cGUuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVUeXBl
LmgiCiAjaW5jbHVkZSAiU3RhY2tGcmFtZS5oIgpAQCAtNTMsMTQgKzU0LDE0IEBAIGNsYXNzIEVy
cm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgICAgIHJldHVybiBT
dHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEVy
cm9ySW5zdGFuY2VUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi0gICAg
c3RhdGljIEVycm9ySW5zdGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFNv
dXJjZUFwcGVuZGVyIGFwcGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVO
b3RoaW5nLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUpCisgICAgc3RhdGljIEVycm9ySW5z
dGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyIGFw
cGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVOb3RoaW5nLCBFcnJvclR5
cGUgZXJyb3JUeXBlID0gRXJyb3JUeXBlOjpFcnJvciwgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0
cnVlKQogICAgIHsKLSAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJbnN0YW5jZSh2
bSwgc3RydWN0dXJlKTsKKyAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJbnN0YW5j
ZSh2bSwgc3RydWN0dXJlLCBlcnJvclR5cGUpOwogICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3Jl
YXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIHVzZUN1cnJl
bnRGcmFtZSk7CiAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICB9CiAKLSAgICBzdGF0aWMg
RXJyb3JJbnN0YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNWYWx1
ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlID0gVHlwZU5v
dGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSk7CisgICAgc3RhdGljIEVycm9ySW5z
dGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTVmFsdWUgbWVzc2Fn
ZSwgU291cmNlQXBwZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVOb3RoaW5nLCBF
cnJvclR5cGUgPSBFcnJvclR5cGU6OkVycm9yLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUp
OwogCiAgICAgYm9vbCBoYXNTb3VyY2VBcHBlbmRlcigpIGNvbnN0IHsgcmV0dXJuICEhbV9zb3Vy
Y2VBcHBlbmRlcjsgfQogICAgIFNvdXJjZUFwcGVuZGVyIHNvdXJjZUFwcGVuZGVyKCkgY29uc3Qg
eyByZXR1cm4gbV9zb3VyY2VBcHBlbmRlcjsgfQpAQCAtNzAsNiArNzEsNyBAQCBjbGFzcyBFcnJv
ckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIFJ1bnRpbWVUeXBlIHJ1
bnRpbWVUeXBlRm9yQ2F1c2UoKSBjb25zdCB7IHJldHVybiBtX3J1bnRpbWVUeXBlRm9yQ2F1c2U7
IH0KICAgICB2b2lkIGNsZWFyUnVudGltZVR5cGVGb3JDYXVzZSgpIHsgbV9ydW50aW1lVHlwZUZv
ckNhdXNlID0gVHlwZU5vdGhpbmc7IH0KIAorICAgIEVycm9yVHlwZSBlcnJvclR5cGUoKSBjb25z
dCB7IHJldHVybiBtX2Vycm9yVHlwZTsgfQogICAgIHZvaWQgc2V0U3RhY2tPdmVyZmxvd0Vycm9y
KCkgeyBtX3N0YWNrT3ZlcmZsb3dFcnJvciA9IHRydWU7IH0KICAgICBib29sIGlzU3RhY2tPdmVy
Zmxvd0Vycm9yKCkgY29uc3QgeyByZXR1cm4gbV9zdGFja092ZXJmbG93RXJyb3I7IH0KICAgICB2
b2lkIHNldE91dE9mTWVtb3J5RXJyb3IoKSB7IG1fb3V0T2ZNZW1vcnlFcnJvciA9IHRydWU7IH0K
QEAgLTc5LDYgKzgxLDggQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05vbkZpbmFs
T2JqZWN0IHsKICAgICBib29sIGlzTmF0aXZlR2V0dGVyVHlwZUVycm9yKCkgY29uc3QgeyByZXR1
cm4gbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3I7IH0KIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0
cmluZyBzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCopOworICAgIEpTX0VYUE9SVF9Q
UklWQVRFIFN0cmluZyBzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKEpTR2xvYmFsT2JqZWN0Kik7Cisg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIHNhbml0aXplZE5hbWVTdHJpbmcoSlNHbG9iYWxP
YmplY3QqKTsKICAgICAKICAgICBWZWN0b3I8U3RhY2tGcmFtZT4qIHN0YWNrVHJhY2UoKSB7IHJl
dHVybiBtX3N0YWNrVHJhY2UuZ2V0KCk7IH0KIApAQCAtODgsNyArOTIsNyBAQCBjbGFzcyBFcnJv
ckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIHZvaWQgZmluYWxpemVV
bmNvbmRpdGlvbmFsbHkoVk0mKTsKIAogcHJvdGVjdGVkOgotICAgIGV4cGxpY2l0IEVycm9ySW5z
dGFuY2UoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICBleHBsaWNpdCBFcnJvckluc3RhbmNlKFZNJiwg
U3RydWN0dXJlKiwgRXJyb3JUeXBlKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBK
U0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYsIFNvdXJjZUFwcGVuZGVyID0gbnVsbHB0ciwg
UnVudGltZVR5cGUgPSBUeXBlTm90aGluZywgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKTsK
IApAQCAtMTA4LDEwICsxMTIsMTEgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKICAgICBTdHJpbmcgbV9zb3VyY2VVUkw7CiAgICAgU3RyaW5nIG1fc3Rh
Y2tTdHJpbmc7CiAgICAgUnVudGltZVR5cGUgbV9ydW50aW1lVHlwZUZvckNhdXNlIHsgVHlwZU5v
dGhpbmcgfTsKLSAgICBib29sIG1fc3RhY2tPdmVyZmxvd0Vycm9yIHsgZmFsc2UgfTsKLSAgICBi
b29sIG1fb3V0T2ZNZW1vcnlFcnJvciB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2Vycm9ySW5mb01h
dGVyaWFsaXplZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX25hdGl2ZUdldHRlclR5cGVFcnJvciB7
IGZhbHNlIH07CisgICAgRXJyb3JUeXBlIG1fZXJyb3JUeXBlIHsgRXJyb3JUeXBlOjpFcnJvciB9
OworICAgIGJvb2wgbV9zdGFja092ZXJmbG93RXJyb3IgOiAxOworICAgIGJvb2wgbV9vdXRPZk1l
bW9yeUVycm9yIDogMTsKKyAgICBib29sIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkIDogMTsKKyAg
ICBib29sIG1fbmF0aXZlR2V0dGVyVHlwZUVycm9yIDogMTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3RGdW5jdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuY3BwCmluZGV4IDQwMjFmYzdlMGFkYWY3YTBhOWUwZWY2Y2ZkMjI1
ODM4YjViZjg3ODMuLmFmNzI2MjgzMWNhMWJiNzVjNmFlNTU0MTFkZTRjZDg1YTgxMzdkYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVu
Y3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdEZ1bmN0aW9ucy5jcHAKQEAgLTY5NCw3ICs2OTQsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVO
Q1RJT04oZ2xvYmFsRnVuY1Rocm93VHlwZUVycm9yQXJndW1lbnRzQ2FsbGVlQW5kQ2FsbGVyLCAo
SlNHbAogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNNYWtlVHlwZUVycm9yLCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewog
ICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0
dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVy
cm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBjYWxsRnJh
bWUtPmFyZ3VtZW50KDApLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVy
cm9yU3RydWN0dXJlLCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApLCBudWxscHRyLCBUeXBlTm90aGlu
ZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIGZhbHNlKSk7CiB9CiAKIEpTQ19ERUZJTkVfSE9TVF9G
VU5DVElPTihnbG9iYWxGdW5jUHJvdG9HZXR0ZXIsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDdjYzExYjVm
NWUxMjk3MjIwMTZiODY3MWYxMzdjNmJiMTcyMTM4NDAuLmI2ZTdlZGVmZDQyZWRjNjM1ZDkwYjdl
MGU4YzdiNGZjMGMyNDNkMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC01OCw3ICs1OCw3IEBAIGlu
bGluZSBFbmNvZGVkSlNWYWx1ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNv
bnN0cnVjdEltcGwoSlNHbG9iYWxPCiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9
KTsKICAgICBBU1NFUlQoZXJyb3JTdHJ1Y3R1cmUpOwogCi0gICAgUkVMRUFTRV9BTkRfUkVUVVJO
KHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkp
KTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShFcnJvcklu
c3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVs
bHB0ciwgVHlwZU5vdGhpbmcsIGVycm9yVHlwZSwgZmFsc2UpKSk7CiB9CiAKIHRlbXBsYXRlPEVy
cm9yVHlwZSBlcnJvclR5cGU+CkBAIC02Niw3ICs2Niw3IEBAIGlubGluZSBFbmNvZGVkSlNWYWx1
ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNhbGxJbXBsKEpTR2xvYmFsT2Jq
ZWN0CiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAg
ICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVy
ZShlcnJvclR5cGUpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6
Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5
cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxw
dHIsIFR5cGVOb3RoaW5nLCBlcnJvclR5cGUsIGZhbHNlKSk7CiB9CiAKIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihjYWxsRXZhbEVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5jcHAKaW5kZXggMjZmM2I2YThmOWRiNjc4Y2Q5NGQw
NWFlODhiMTFiODllNjFjMGViYy4uMGRkYjJjNmE1MGY0NmJjNjM2OTk1Y2E0NmQ3ZjE4ZTViMjY4
NjNlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRl
ckZ1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsU2V0
dGVyRnVuY3Rpb24uY3BwCkBAIC05NCw3ICs5NCw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElP
TihjYWxsVGhyb3dFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFt
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIC8vIFRoaXMg
ZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgZnJvbSBJQy4gQW5kIHdlIGRvIG5vdCB3YW50IHRvIGlu
Y2x1ZGUgdGhpcyBmcmFtZSBpbiBFcnJvcidzIHN0YWNrLgogICAgIGNvbnN0ZXhwciBib29sIHVz
ZUN1cnJlbnRGcmFtZSA9IGZhbHNlOwotICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwg
c2NvcGUsIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgUmVhZG9ubHlQcm9wZXJ0
eVdyaXRlRXJyb3IsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCB1c2VDdXJyZW50RnJhbWUpKTsKKyAg
ICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlLCBFcnJvckluc3RhbmNlOjpjcmVh
dGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5
cGU6OlR5cGVFcnJvciksIFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yLCBudWxscHRyLCBUeXBl
Tm90aGluZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIHVzZUN1cnJlbnRGcmFtZSkpOwogICAgIHJl
dHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKaW5kZXggMzgzNzNhNzYwZDU5ZDBl
ZWRiNDk0ZGI4OGQ4NTI0ZmFiOWE1MTU0ZS4uOWViZDNkNDQ2YTlkYTlhZDE5ZDdiYTQxOTkwMDYz
ZmM1YTYzMjhmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgSlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvciogSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6Y3JlYXRl
KEpTR2xvYmFsT2JqZWN0KiBnbG8KIH0KIAogSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6SlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAg
IDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5
cGU6OkVycm9yKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCmluZGV4IGVhZGUwMzQxM2U0Y2UzNjBi
YTA4OWY4YzUzZDE4Y2Y4ZDZkNzAyMzUuLjliMjAwNThlY2YzNGFmOTFiNmIxOGQxNWY2NTE1Nzg1
YzIxNzJlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlMaW5rRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEpTV2ViQXNzZW1i
bHlMaW5rRXJyb3IqIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OmNyZWF0ZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqCiB9CiAKIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OkpTV2ViQXNzZW1ibHlM
aW5rRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0sIHN0
cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikKIHsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5UnVudGltZUVycm9yLmNwcAppbmRleCBiZTFmOTI4NjAzMDQ1ZDdjZjcyOTMyNGVl
NGE3N2FlODNmY2U5Y2JlLi4xOTMzYTZlMzg4OGZiZWFjY2YwN2FjMmIzN2M3NDUwNDg0ZmE1MWYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5UnVudGltZUVycm9yLmNwcApAQCAtNDEsNyArNDEsNyBAQCBKU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yKiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpjcmVhdGUoSlNHbG9iYWxP
YmplY3QqIGdsbwogfQogCiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpKU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZt
LCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3Ip
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNWNk
MDAzNWEwMWZkYjc4ZGRjMzVmYzQ3YjZiODU4MGJlNDVkMzU5Ny4uYzNhMGQzOTdmNTA0ZTI1OGYx
ZDcwZjhiNDgyYjc5YTFkOWU3MjY2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxK
U1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAg
ICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVy
ZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5Q29tcGlsZUVycm9y
U3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlw
ZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3Rh
bmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdlYkFzc2Vt
Ymx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3Ry
dWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3NlbWJseUNv
bXBpbGVFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggOTQ2ZGVmNGYxMTUyMjlhMjI1YmU5MzJhYzllNjQzNWI2YzhhYjJh
OS4uMmM1ZjZhMjkzMWYxNTIxNTg1YWFhOTM1ZTU2YjRiZDJmMTljMTZiMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlM
aW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5TGlua0Vycm9yLCAoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamUKIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDAp
OwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndlYkFzc2Vt
Ymx5TGlua0Vycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJv
ckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwg
bnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVz
c2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9
CiAKIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3Nl
bWJseUxpbmtFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2RmZDkxNTY3YjYwYTU4ZGQ5YWE2ODQyZmY2Nzkw
MjFmNWNiOTI1Mi4uYTg1NjY5YzUxOGIxZTlhYTY4Yzk1YWQwNTY2ZWJmZDZmYzNkZmE4YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTY3LDcgKzY3LDcgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJh
bWUtPmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxP
YmplY3QtPndlYkFzc2VtYmx5UnVudGltZUVycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0
cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBl
cnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6
RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3Iq
IFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZSogdGhpc1By
b3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGY4ODU5MTVmZThiZTc5ZTUxMjU4ZmZmOGQ4
MzE4MmM5NWQ3ZDMyY2IuLjlkYjk3ZWQ3MTIwZjM3YjJmYmJmNWZiN2MyZGVjNDQ3ZDg4ZmY2YmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMzAsNiArMzAsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1bWVy
LmgKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keVNvdXJjZS5oCisgICAgTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRl
cnMuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hJZGVudGlmaWVyLmgKICAgICBNb2R1bGVzL2Zl
dGNoL0ZldGNoTG9hZGVyLmgKQEAgLTI4Nyw2ICsyODgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAgICAgYmluZGluZ3MvanMvV2ViQ29yZUpJVE9wZXJhdGlvbnMu
aAogICAgIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oCiAgICAgYmlu
ZGluZ3MvanMvV2luZG93UHJveHkuaAorICAgIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNo
ZXIuaAogCiAgICAgYnJpZGdlL0JyaWRnZS5oCiAgICAgYnJpZGdlL0lkZW50aWZpZXJSZXAuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAppbmRleCAwNDVjZjI3MDZjMDM2N2U0Y2Y5MGIzMmRkZDc5MTQ2ZDVmYTExZGZm
Li43ODBmNzMxNzdkNTQ2Y2Y4YmE0ZjM0NWEzOTBkNzcxZmQ0ZjY1MzY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dApAQCAtNjM5LDYgKzYzOSw3IEBAIGJpbmRpbmdzL2pzL1N0cnVjdHVyZWRDbG9uZS5jcHAKIGJp
bmRpbmdzL2pzL1dlYkNvcmVKSVRPcGVyYXRpb25zLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZUpT
Q2xpZW50RGF0YS5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5j
cHAKK2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKIGJpbmRpbmdzL2pz
L1dpbmRvd1Byb3h5LmNwcAogYmluZGluZ3MvanMvV3JpdGFibGVTdHJlYW0uY3BwCiBicmlkZ2Uv
SWRlbnRpZmllclJlcC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA4YzE1ZWI2NDgwMzczMDU4MDdiNzAzZDBiZGJhYjNmM2Jm
YTU3MTViLi4yM2U5MGI1ZWVlNzY4MTJiOTNkMWNjNTdkNmE3NzhkMTY1MjcwYzVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
MDY5LDE1ICs1MDY5LDE4IEBACiAJCUUzMDU5MjY0MUUyN0EzQUQwMEQ1N0M5OCAvKiBJbmxpbmVD
bGFzc2ljU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzA1OTI2MjFFMjdBMzhDMDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDU5MjY4
MUUyN0EzRDEwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTgg
LyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUUzMDdERUQwMUQ4MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzMDdERUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlF
MzA3REVEMTFEODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVD
ODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMwN0RFRDUx
RDgxRTRGMjAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYg
LyogTG9hZGFibGVNb2R1bGVTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzE1MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVs
cGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMx
NTBFQTUxREE3MjE4RDAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCAqLzsgfTsKIAkJRTMyMDFD
MUExRjhFODIxMzAwNzZBMDMyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4RDA2MDkxRjhFODExOTAwNjQ5
Q0YyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMjNDRkZBMUU1QUY2QUYwMEYwQjRBMCAvKiBKU0RP
TUNvbnZlcnRQcm9taXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzIzQ0ZGOTFFNUFGNkE1MDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzNDMy
REU0MjVEMzc3RTMwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNDMyREUwMjVEMzc3RTIw
MDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgfTsKKwkJRTM0N0U1RkEy
NUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNDdFNUY4MjVENEYwMDAwMEYxN0E1QyAv
KiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRTM1MTg4QjQyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUz
NTY1QjdCMURDMkQ2QzkwMDIxN0RCRCAvKiBKU0V2ZW50Q3VzdG9tLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMg
LyogSlNFdmVudEN1c3RvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUUzNTgwMkI2MURDODQzNUQwMEE5NzczQyAvKiBET01KSVRJRExUeXBlRmls
dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzU4
MDJCNTFEQzg0MzU4MDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTgyQzI4MjUyN0Y2Njkw
MEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNv
cmVKSVRPcGVyYXRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTM1QjkwN0YyM0Y2MEE1MDAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1v
ZGVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzVC
OTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzY0MzIxQzI1RDM3QTY3
MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxl
U2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTM3N0ZFNEQxREFERTE2NTAwQ0REMDI1IC8qIE5vZGVDb25zdGFudHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDA0OTkzMURBREMw
NDUwMDcxOEYzQyAvKiBOb2RlQ29uc3RhbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM3Qzg2NTAxRUI2M0UzRjAwODdDNkNBIC8qIEpTRE9N
UHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzOTYyOEJGMjM5NTcyOEYwMDY1
OEVDRCAvKiBEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhCRDIzOTU3MjhFMDA2NThFQ0Qg
LyogRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjE5NSw3ICsxNjE5OCw2IEBACiAJCUUz
MDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFNjcmlwdEZldGNoZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFQzYxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMzA3REVDODFEODFFNDQ4MDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVEMjFEODFFNEVEMDAxNDFDQUYgLyogTG9h
ZGFibGVNb2R1bGVTY3JpcHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMxNTBFQTUxREE3MjE4RDAwMTk0MDEyIC8qIERP
TUpJVEhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUSGVs
cGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYyMDgsMTIgKzE2MjEwLDE3
IEBACiAJCUUzMjkyNzYzMjI1NDNGNTkwMDMwOEE5QSAvKiBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFR5cGVkT01DU1NVbml0VmFsdWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzI5Mjc2NjIyNTQzRkRFMDAzMDhBOUEgLyogRE9NUmVjdFJl
YWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVJlY3RSZWFkT25seS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMzQ4MjVFMURDOTNBQTAwMDlDOTU0NCAvKiBET01K
SVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IERPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2Vy
TW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlck1vZHVsZVNjcmlwdExv
YWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNDdFNUY4MjVENEYwMDAw
MEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdvcmtlclNjcmlwdEZldGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZlbnRDdXN0b20uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudEN1c3RvbS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MDJC
NTFEQzg0MzU4MDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRJRExUeXBlRmlsdGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzNTgyQzI0MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3Bl
cmF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3Jl
SklUT3BlcmF0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNTgyQzI2
MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlSklUT3BlcmF0aW9ucy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzVCOTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2
aWNlTW9kZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxpemVkRGV2
aWNlTW9kZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1QjkwN0UyM0Y2MDY3
NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxpemVkRGV2aWNlTW9kZWwubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3Jp
cHRMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlU2NyaXB0
TG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzN0M4NjRGMUVCNjNFMkQw
MDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNET01Qcm9taXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzODgzODk0
MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0TW9kdWxlTG9hZGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM4ODM4OTUxQkFEMTQ1RjAwRDYyRUUzIC8qIFNjcmlwdE1v
ZHVsZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRNb2R1
bGVMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MDA5LDcgKzI3MDE2
LDYgQEAKIAkJCQkyREZBNDg4RTFEQjU0MUMyMDAzNjJCOTkgLyogQnVmZmVyU291cmNlLmggKi8s
CiAJCQkJRTMwN0RFQzYxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5jcHAgKi8sCiAJCQkJRTMwN0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5oICovLAotCQkJCUUzMDdERUM4MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLywKIAkJCQlFMzA1OTI2NTFFMjdBM0M2MDBENTdD
OTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAgKi8sCiAJCQkJRTMwNTkyNjYxRTI3QTNDNjAw
RDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuaCAqLywKIAkJCQlCQ0Q1MzM2MzBFRDY4NDg5
MDA4ODc0NjggLyogQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCAqLywKQEAgLTI3MDgzLDYg
KzI3MDg5LDggQEAKIAkJCQk0QkRFQTMyRDIxODAzNDA1MDA1MkRGQ0QgLyogSlNXb3JrbGV0R2xv
YmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQk0QkRFQTMyQjIxODAzM0VCMDA1MkRGQ0QgLyogSlNX
b3JrbGV0R2xvYmFsU2NvcGVCYXNlLmggKi8sCiAJCQkJNzA5QTAxRkQxRTNEMEJDQzAwNkIwRDRD
IC8qIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCAqLywKKwkJCQlFMzY0MzIxQTI1RDM3QTY2MDBG
OTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCisJCQkJRTM1MTg4QjMyNUQzODdDRjAw
QTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovLAogCQkJCTQxQjQ1OUVEMUY1
NUVCQzcwMDAwRjZGRCAvKiBSZWFkYWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDFCNDU5REExRjRD
QURCOTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmggKi8sCiAJCQkJNDE4QzM5NUUxQzhGMEFB
QjAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuY3BwICovLApAQCAt
MjcxMTQsNiArMjcxMjIsOSBAQAogCQkJCTBGMDk5RDA3MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJD
b3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLywKIAkJCQk0NjM1MjFBQzIwODEwOTBFMDBDMjg5
MjIgLyogV2luZG93UHJveHkuY3BwICovLAogCQkJCTQ2MzUyMUFBMjA4MTA5MEIwMEMyODkyMiAv
KiBXaW5kb3dQcm94eS5oICovLAorCQkJCUUzNDMyREUzMjVEMzc3RTMwMDU4RTYxMiAvKiBXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwICovLAorCQkJCUUzNDMyREUwMjVEMzc3RTIwMDU4RTYx
MiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLywKKwkJCQlFMzQ3RTVGODI1RDRGMDAw
MDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oICovLAogCQkJCTQxNDE4QTAzMjU2NDNF
MTIwMDM2MzQxNyAvKiBXcml0YWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDE0MThBMDQyNTY0M0Ux
MzAwMzYzNDE3IC8qIFdyaXRhYmxlU3RyZWFtLmggKi8sCiAJCQkpOwpAQCAtMzEzODcsNyArMzEz
OTgsNiBAQAogCQkJCUJDQjE2QzFDMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRJbWFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzE5RkJENUYxNUQyRjQ2NDAwOTY0MEE2IC8qIENhY2hlZEltYWdl
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzA3REVEMDFEODFFNEM3MDAxNDFDQUYgLyog
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMzA3REVEMTFE
ODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTAxODQ2OTBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRDBFREE3NzUxNDNFMzAzQzAwMjhFMzgzIC8qIENhY2hlZFJhd1Jl
c291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUI1MzM0OTE3MTdERUUzMDBGMjA1RjkgLyog
Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzM4NjIsNiArMzM4
NzIsOCBAQAogCQkJCUM2RDc0QUQ1MDlBQTI4MkUwMDBCMEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25M
aXN0TGV2ZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTcwOUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAv
KiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzIwMUMxQTFG
OEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlFMzY0MzIxQzI1RDM3QTY3MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQlFMzUxODhCNDI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RDNjEyNTFGMTJEMDAzRUYy
NjkgLyogTW9udGhJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzOTYyOEMxMjM5NTc0
MzEwMDY1OEVDRCAvKiBNb3Rpb25NYW5hZ2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NTAzMUI0NjBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zNTUxMiw2ICszNTUyNCw3IEBACiAJCQkJMThGODMxQjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdv
cmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0RDBGNTQ2QTgyMDBC
MEYxQkEgLyogV29ya2VyTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUwMEY1
NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJNZXNzYWdpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJRTM0MzJERTQyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNzFBMEIwRUVFQzc3QTAwRjYxMjEzIC8qIFdvcmtlck5h
dmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVDQjA1MjUxRkI1MUYzQTAwMDg5Qjk3IC8q
IFdvcmtlck5ldHdvcmtBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTEwRjU0NkE4
MjAwQjBGMUJBIC8qIFdvcmtlck9iamVjdFByb3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NTIx
LDYgKzM1NTM0LDcgQEAKIAkJCQk0MTZFMjlBNjEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVw
b3J0aW5nUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUzMEY1NDZBODIwMEIwRjFC
QSAvKiBXb3JrZXJSdW5Mb29wLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUI4MUNDRjFGQUE0NERF
MDAzN0QxRTYgLyogV29ya2VyUnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzQ3
RTVGQTI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTdENkIzNDkwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkVBNzY4MDQwRkU3MTI2NDAwQUI5QzhBIC8qIFdvcmtlclNj
cmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTUwRjU0NkE4MjAw
QjBGMUJBIC8qIFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAppbmRl
eCAzNTJkY2M0YWNmNzUxNzZkOThhZDM0MTBiZTE1MTYwODAxMDg4NTI0Li4yNzdmNjJhN2MxMzNm
ZTE1NmM2Y2NlOTg1NTM1NTBlZGIxMzZkMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKQEAgLTQwLDE2ICs0
MCwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI+IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNj
cmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+
JiYgcGFyYW1ldGVycykKK1JlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcjo6Y3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBE
ZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNo
ZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKIHsKICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9t
aXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKSk7CiB9CiAKLUNhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hl
ZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRl
cnM+JiYgcGFyYW1ldGVycykKLSAgICA6IG1fY2xpZW50KCZjbGllbnQpCi0gICAgLCBtX3Byb21p
c2UoJnByb21pc2UpCi0gICAgLCBtX3NjcmlwdEZldGNoZXIoc2NyaXB0RmV0Y2hlcikKLSAgICAs
IG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRlcnMpKQorQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBj
bGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2Ny
aXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQor
ICAgIDogTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwg
V1RGTW92ZShwYXJhbWV0ZXJzKSkKIHsKIH0KIApAQCAtNjEsMTQgKzU4LDE1IEBAIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcjo6fkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcigpCiAgICAgfQogfQog
Ci1ib29sIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQs
IGNvbnN0IFVSTCYgc291cmNlVVJMKQorYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6Omxv
YWQoRG9jdW1lbnQmIGRvY3VtZW50LCBVUkwmJiBzb3VyY2VVUkwpCiB7CisgICAgQVNTRVJUKG1f
cHJvbWlzZSk7CiAgICAgQVNTRVJUKCFtX2NhY2hlZFNjcmlwdCk7CiAgICAgU3RyaW5nIGludGVn
cml0eSA9IG1fcGFyYW1ldGVycyA/IG1fcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkgOiBTdHJpbmcg
eyB9OwotICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9zY3JpcHRGZXRjaGVyLT5yZXF1ZXN0TW9kdWxl
U2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkwsIFdURk1vdmUoaW50ZWdyaXR5KSk7CisgICAgbV9j
YWNoZWRTY3JpcHQgPSBzY3JpcHRGZXRjaGVyKCkucmVxdWVzdE1vZHVsZVNjcmlwdChkb2N1bWVu
dCwgc291cmNlVVJMLCBXVEZNb3ZlKGludGVncml0eSkpOwogICAgIGlmICghbV9jYWNoZWRTY3Jp
cHQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBtX3NvdXJjZVVSTCA9IHNvdXJjZVVSTDsK
KyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291cmNlVVJMKTsKIAogICAgIC8vIElmIHRoZSBj
b250ZW50IGlzIGFscmVhZHkgY2FjaGVkLCB0aGlzIGltbWVkaWF0ZWx5IGNhbGxzIG5vdGlmeUZp
bmlzaGVkLgogICAgIG1fY2FjaGVkU2NyaXB0LT5hZGRDbGllbnQoKnRoaXMpOwpAQCAtODMsNyAr
ODEsNyBAQCB2b2lkIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZQogCiAgICAgUmVmPENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAgICAgaWYgKG1fY2xpZW50KQotICAg
ICAgICBtX2NsaWVudC0+bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9wcm9taXNlKSk7
CisgICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJj
ZVVSTCksIG1fcHJvbWlzZS5yZWxlYXNlTm9uTnVsbCgpKTsKIAogICAgIC8vIFJlbW92ZSB0aGUg
Y2xpZW50IGFmdGVyIGNhbGxpbmcgbm90aWZ5RmluaXNoZWQgdG8ga2VlcCB0aGUgZGF0YSBidWZm
ZXIgaW4KICAgICAvLyBDYWNoZWRSZXNvdXJjZSBhbGl2ZSB3aGlsZSBub3RpZnlGaW5pc2hlZCBw
cm9jZXNzZXMgdGhlIHJlc291cmNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaAppbmRleCA0M2FiZDg3NWIyNDNmYWY1ZmNk
NGQ5OGVjM2M1ZDI0ZTc5MGI1NzJlLi5hNDg3NTVmOTNkMDVlZjM1M2QyYjNlMjI4ZDgyMTlmZTg5
MWU2NzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuaApAQCAtMjcsNiArMjcsOCBAQAogCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgorI2lu
Y2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zNCw0MiArMzYsMjkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFz
cyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CiBjbGFzcyBDYWNoZWRTY3JpcHQ7Ci1jbGFzcyBD
YWNoZWRTY3JpcHRGZXRjaGVyOwogY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRG9jdW1l
bnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKIGNsYXNzIE1vZHVsZUZldGNoUGFyYW1ldGVy
czsKIAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWQ8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CitjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgTW9k
dWxlU2NyaXB0TG9hZGVyLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZl
dGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBzdGF0aWMgUmVm
PENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcigpOwogCi0gICAgYm9vbCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiBzb3VyY2VVUkwp
OworICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIFVSTCYmIHNvdXJjZVVSTCk7CiAKLSAgICBDYWNo
ZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyKCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVy
LmdldCgpOyB9CiAgICAgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQoKSB7IHJldHVybiBtX2Nh
Y2hlZFNjcmlwdC5nZXQoKTsgfQotICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyogcGFyYW1ldGVy
cygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQotICAgIGNvbnN0IFVSTCYgc291cmNl
VVJMKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VVUkw7IH0KLQotICAgIHZvaWQgY2xlYXJDbGll
bnQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICAgICAgbV9jbGllbnQg
PSBudWxscHRyOwotICAgIH0KKyAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVy
KCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlciY+KE1vZHVsZVNjcmlw
dExvYWRlcjo6c2NyaXB0RmV0Y2hlcigpKTsgfQogCiBwcml2YXRlOgotICAgIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFBy
b21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVy
cz4mJik7CisgICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNs
aWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9k
dWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVk
UmVzb3VyY2UmLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbDsKIAotICAgIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCogbV9jbGllbnQgeyBudWxscHRyIH07Ci0gICAgUmVm
UHRyPERlZmVycmVkUHJvbWlzZT4gbV9wcm9taXNlOwotICAgIFJlZjxDYWNoZWRTY3JpcHRGZXRj
aGVyPiBtX3NjcmlwdEZldGNoZXI7Ci0gICAgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4g
bV9wYXJhbWV0ZXJzOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gbV9j
YWNoZWRTY3JpcHQ7CiAgICAgVVJMIG1fc291cmNlVVJMOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2ODhhZDkwZGFlM2VjZTk0OWVhMDli
MWVmZWU1ZGEyNmY5NGM3ODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjsKLWNsYXNzIERl
ZmVycmVkUHJvbWlzZTsKLQotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsK
LXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQoKSA9
IGRlZmF1bHQ7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4pID0gMDsKLX07Ci0KLX0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAK
aW5kZXggYTQzMzc1ODY1YmJmMWVjNTk3M2JmMTcyYzkxYTM4NTMyMzRlMzc0ZC4uZGYzYzZiNmVi
Yjg0YWY3MmVkMjk1NWY5OTExZDA3YTg3YWIzNTMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Nyw2ICs0OCw3IEBAIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdE1vZHVsZVNjcmlwdChEb2N1CiAKIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlw
dD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNoZShEb2N1bWVudCYg
ZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNlVVJMLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2lu
TW9kZSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBPcHRpb25hbDxSZXNvdXJjZUxvYWRQcmlvcml0eT4g
cmVzb3VyY2VMb2FkUHJpb3JpdHkpIGNvbnN0CiB7CisgICAgLy8gV2l0aG91dCBzY3JpcHRpbmcs
IHRoZXJlIGlzIG5vIHdheSB0byBzdGFydCBXb3JrZXJzLgogICAgIGlmICghZG9jdW1lbnQuc2V0
dGluZ3MoKS5pc1NjcmlwdEVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGlu
Zy5jcHAKaW5kZXggZGY3ZjNkNzQ2ZDVlMzJhYmFiNTE0NzZjOWRkYWNhNjNhNDM1MTM2Yy4uZWVm
MjEwMzg4NDlmZDg5ODQ5YWZjZWQ3MDMxODVmZjg5NGM0MGM3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKQEAgLTUy
LDYgKzUyLDI1IEBAIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlCiAgICAgcmVwb3J0RXhjZXB0aW9u
KGxleGljYWxHbG9iYWxPYmplY3QsIGV4Y2VwdGlvbiwgY2FjaGVkU2NyaXB0KTsKIH0KIAorU3Ry
aW5nIHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIFZNJiB2bSwgSlNWYWx1ZSBleGNlcHRpb24sIENhdGNoU2NvcGUmIGNh
dGNoU2NvcGUpCit7CisgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNTA4Nz4g
V2ViIEluc3BlY3RvcjogV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9uIHNob3VsZCBub3QgZXZhbHVh
dGUgSmF2YVNjcmlwdCBoYW5kbGluZyBleGNlcHRpb25zCisgICAgLy8gSWYgdGhpcyBpcyBhIGN1
c3RvbSBleGNlcHRpb24gb2JqZWN0LCBjYWxsIHRvU3RyaW5nIG9uIGl0IHRvIHRyeSBhbmQgZ2V0
IGEgbmljZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBleGNlcHRpb24uCisgICAgU3Ry
aW5nIGVycm9yTWVzc2FnZTsKKyAgICBpZiAoYXV0byogZXJyb3IgPSBqc0R5bmFtaWNDYXN0PEVy
cm9ySW5zdGFuY2UqPih2bSwgZXhjZXB0aW9uKSkKKyAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJy
b3ItPnNhbml0aXplZE1lc3NhZ2VTdHJpbmcoJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIGVs
c2UgaWYgKGF1dG8qIGVycm9yID0ganNEeW5hbWljQ2FzdDxKU0RPTUV4Y2VwdGlvbio+KHZtLCBl
eGNlcHRpb24pKQorICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci0+d3JhcHBlZCgpLm1lc3Nh
Z2UoKTsKKyAgICBlbHNlCisgICAgICAgIGVycm9yTWVzc2FnZSA9IGV4Y2VwdGlvbi50b1dURlN0
cmluZygmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisKKyAgICAvLyBXZSBuZWVkIHRvIGNsZWFyIGFu
eSBuZXcgZXhjZXB0aW9uIHRoYXQgbWF5IGJlIHRocm93biBpbiB0aGUgdG9TdHJpbmcoKSBjYWxs
IGFib3ZlLgorICAgIC8vIHJlcG9ydEV4Y2VwdGlvbigpIGlzIG5vdCBzdXBwb3NlZCB0byBiZSBt
YWtpbmcgbmV3IGV4Y2VwdGlvbnMuCisgICAgY2F0Y2hTY29wZS5jbGVhckV4Y2VwdGlvbigpOwor
ICAgIHZtLmNsZWFyTGFzdEV4Y2VwdGlvbigpOworICAgIHJldHVybiBlcnJvck1lc3NhZ2U7Cit9
CisKIFN0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZShKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgVk0mIHZtLCBKU1ZhbHVlIGV4Y2VwdGlvbiwgQ2F0Y2hTY29wZSYgY2F0Y2hT
Y29wZSkKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE1MDg3PiBXZWIg
SW5zcGVjdG9yOiBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24gc2hvdWxkIG5vdCBldmFsdWF0ZSBK
YXZhU2NyaXB0IGhhbmRsaW5nIGV4Y2VwdGlvbnMKQEAgLTEyMSwzNiArMTQwLDQ1IEBAIHZvaWQg
cmVwb3J0Q3VycmVudEV4Y2VwdGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCkKIAogSlNWYWx1ZSBjcmVhdGVET01FeGNlcHRpb24oSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEV4Y2VwdGlvbkNvZGUgZWMsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsK
LSAgICBpZiAoZWMgPT0gRXhpc3RpbmdFeGNlcHRpb25FcnJvcikKKyAgICBzd2l0Y2ggKGVjKSB7
CisgICAgY2FzZSBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yOgogICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKIAogICAgIC8vIEZJWE1FOiBIYW5kbGUgb3RoZXIgV2ViSURMIGV4Y2VwdGlvbiB0
eXBlcy4KLSAgICBpZiAoZWMgPT0gVHlwZUVycm9yKSB7CisgICAgY2FzZSBUeXBlRXJyb3I6CiAg
ICAgICAgIGlmIChtZXNzYWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVU
eXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVUeXBl
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7Ci0gICAgfQogCi0gICAgaWYgKGVj
ID09IFJhbmdlRXJyb3IpIHsKKyAgICBjYXNlIFJhbmdlRXJyb3I6CiAgICAgICAgIGlmIChtZXNz
YWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVSYW5nZUVycm9yKGxleGlj
YWxHbG9iYWxPYmplY3QsICJCYWQgdmFsdWUiX3MpOwogICAgICAgICByZXR1cm4gY3JlYXRlUmFu
Z2VFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBtZXNzYWdlKTsKLSAgICB9CiAKLSAgICBpZiAo
ZWMgPT0gU3RhY2tPdmVyZmxvd0Vycm9yKQorICAgIGNhc2UgSlNTeW50YXhFcnJvcjoKKyAgICAg
ICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVN5bnRh
eEVycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gY3JlYXRlU3ludGF4
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7CisKKyAgICBjYXNlIFN0YWNrT3Zl
cmZsb3dFcnJvcjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihsZXhp
Y2FsR2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoZWMgPT0gT3V0T2ZNZW1vcnlFcnJvcikKKworICAg
IGNhc2UgT3V0T2ZNZW1vcnlFcnJvcjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZU91dE9mTWVtb3J5
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CiAKLSAgICAvLyBGSVhNRTogQWxsIGNhbGxlcnMg
dG8gY3JlYXRlRE9NRXhjZXB0aW9uIG5lZWQgdG8gcGFzcyBpbiB0aGUgY29ycmVjdCBnbG9iYWwg
b2JqZWN0LgotICAgIC8vIEZvciBub3csIHdlJ3JlIGdvaW5nIHRvIGFzc3VtZSB0aGUgbGV4aWNh
bEdsb2JhbE9iamVjdC4gV2hpY2ggaXMgd3JvbmcgaW4gY2FzZXMgbGlrZSB0aGlzOgotICAgIC8v
IGZyYW1lc1swXS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3Mg
YW4gZXhjZXB0aW9uIHdoaWNoIHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZSdzIHByb3RvdHlwZXMu
Ci0gICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGRlcHJlY2F0ZWRHbG9iYWxP
YmplY3RGb3JQcm90b3R5cGUobGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgSlNWYWx1ZSBlcnJv
ck9iamVjdCA9IHRvSlMobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBET01FeGNl
cHRpb246OmNyZWF0ZShlYywgbWVzc2FnZSkpOwotICAgIAotICAgIEFTU0VSVChlcnJvck9iamVj
dCk7Ci0gICAgYWRkRXJyb3JJbmZvKGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KGVycm9y
T2JqZWN0KSwgdHJ1ZSk7Ci0gICAgcmV0dXJuIGVycm9yT2JqZWN0OworICAgIGRlZmF1bHQ6IHsK
KyAgICAgICAgLy8gRklYTUU6IEFsbCBjYWxsZXJzIHRvIGNyZWF0ZURPTUV4Y2VwdGlvbiBuZWVk
IHRvIHBhc3MgaW4gdGhlIGNvcnJlY3QgZ2xvYmFsIG9iamVjdC4KKyAgICAgICAgLy8gRm9yIG5v
dywgd2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoZSBsZXhpY2FsR2xvYmFsT2JqZWN0LiBXaGljaCBp
cyB3cm9uZyBpbiBjYXNlcyBsaWtlIHRoaXM6CisgICAgICAgIC8vIGZyYW1lc1swXS5kb2N1bWVu
dC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3MgYW4gZXhjZXB0aW9uIHdoaWNo
IHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZSdzIHByb3RvdHlwZXMuCisgICAgICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90
eXBlKGxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICBKU1ZhbHVlIGVycm9yT2JqZWN0ID0g
dG9KUyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIERPTUV4Y2VwdGlvbjo6Y3Jl
YXRlKGVjLCBtZXNzYWdlKSk7CisKKyAgICAgICAgQVNTRVJUKGVycm9yT2JqZWN0KTsKKyAgICAg
ICAgYWRkRXJyb3JJbmZvKGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KGVycm9yT2JqZWN0
KSwgdHJ1ZSk7CisgICAgICAgIHJldHVybiBlcnJvck9iamVjdDsKKyAgICB9CisgICAgfQorICAg
IHJldHVybiB7IH07CiB9CiAKIEpTVmFsdWUgY3JlYXRlRE9NRXhjZXB0aW9uKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFeGNlcHRpb24mJiBleGNlcHRpb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgKaW5k
ZXggMmQzZTMxMWY2MWVlYjY4NWFhYzM1NTQ2YWFlMTYwZGE5NzkwZWY1Zi4uZDFmNmRlOTM3NDcw
Y2U2ZGYyY2NiNjQ3MjI4NDc2NmZkMDE5NTgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaApAQCAtNjUsNiArNjUsNyBAQCBX
RUJDT1JFX0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoR2V0dGVy
VHlwZUVycm9yKEpTQzo6SlNHbG9iYQogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1
ZSByZWplY3RQcm9taXNlV2l0aFRoaXNUeXBlRXJyb3IoRGVmZXJyZWRQcm9taXNlJiwgY29uc3Qg
Y2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogb3BlcmF0aW9uTmFtZSk7CiBXRUJDT1JF
X0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoVGhpc1R5cGVFcnJv
cihKU0M6OkpTR2xvYmFsT2JqZWN0JiwgY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3Qg
Y2hhciogb3BlcmF0aW9uTmFtZSk7CiAKK1N0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhv
dXROYW1lKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlIGV4Y2Vw
dGlvbiwgSlNDOjpDYXRjaFNjb3BlJik7CiBTdHJpbmcgcmV0cmlldmVFcnJvck1lc3NhZ2UoSlND
OjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Vk0mLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBKU0M6
OkNhdGNoU2NvcGUmKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBDYWNoZWRTY3JpcHQqID0g
bnVsbHB0cik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpFeGNlcHRpb24qLCBDYWNoZWRTY3JpcHQqID0gbnVsbHB0ciwgRXhj
ZXB0aW9uRGV0YWlscyogPSBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1OGI3ZGY3NjBjMDBhMzFmZjA4ZWQyMmRl
ZTIyYThjNzQ0M2FlOGRkLi45ZDY5N2Q0NTliNTYzNDVjYzgzOTYyMDI2Njc2ZTAwYTk4YmY0OWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiSlNXb3JrbGV0R2xvYmFsU2NvcGUuaCIK
ICNpbmNsdWRlICJSZWplY3RlZFByb21pc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN0cnVjdHVyZWRDbG9uZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIK
ICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtNDIyLDYgKzQyMyw3OSBAQCBKU0M6
OkpTUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Omluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsbwogfQogI2VuZGlmCiAKK3N0YXRpYyBTY3JpcHRNb2R1bGVMb2Fk
ZXIqIHNjcmlwdE1vZHVsZUxvYWRlcihKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQor
eworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0
LT5pbmhlcml0czxKU0RPTVdpbmRvd0Jhc2U+KHZtKSkgeworICAgICAgICBpZiAoYXV0byBkb2N1
bWVudCA9IGpzQ2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpLT53cmFw
cGVkKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiAmZG9jdW1lbnQtPm1vZHVsZUxv
YWRlcigpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaWYgKGdsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNSZW1vdGVET01XaW5kb3dCYXNlPih2bSkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2VyR2xvYmFs
U2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2VyR2xv
YmFsU2NvcGVCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1vZHVsZUxvYWRlcigpOwor
ICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZT4o
dm0pKQorICAgICAgICByZXR1cm4gJmpzQ2FzdDxjb25zdCBKU1dvcmtsZXRHbG9iYWxTY29wZUJh
c2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJT
ZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0Pih2bSkpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
I2VuZGlmCisgICAgZGF0YUxvZygiVW5leHBlY3RlZCBnbG9iYWwgb2JqZWN0OiAiLCBKU1ZhbHVl
KGdsb2JhbE9iamVjdCksICJcbiIpOworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTQzo6SWRlbnRpZmllciBKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6Ompz
Q2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxv
YWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxv
YWRlci0+cmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgaW1w
b3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiB7IH07Cit9CisKK0pT
Qzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFt
ZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlw
dE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNj
b3BlLCBsb2FkZXItPmZldGNoKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXks
IHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7Cisg
ICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7CisgICAgcmV0
dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
TW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6
SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAg
IEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1
bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmV2YWx1YXRlKGds
b2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0
RmV0Y2hlcik7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKworSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1N0cmluZyogbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJiBzb3VyY2VPcmlnaW4pCit7CisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6
anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byog
bG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+aW1wb3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9k
dWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VPcmlnaW4pKTsKKyAgICBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAg
ICBzY29wZS5yZWxlYXNlKCk7CisgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNV
bmRlZmluZWQoKSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNPYmplY3QqIEpT
RE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhK
U0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1v
ZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCog
bW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUds
b2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVy
KHRoaXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5jcmVhdGVJbXBvcnRNZXRhUHJv
cGVydGllcyhnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNv
cmQsIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVy
ZSgpKTsKK30KKwogSlNET01HbG9iYWxPYmplY3QmIGNhbGxlckdsb2JhbE9iamVjdChKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBjYWxsRnJhbWUpCiB7CiAg
ICAgY2xhc3MgR2V0Q2FsbGVyR2xvYmFsT2JqZWN0RnVuY3RvciB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAppbmRleCBiODQwNzJkZGQ3NDZiM2Q2
YzUxMDYwZDkwNTAxYjVjZWExYjQ5OWIxLi5mNDlhNGNkMjU3MTk3MTE4OTE3YTdkN2E0YjZjMGUx
MWZjNzZiYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmgKQEAgLTEwNSw2ICsxMDUsMTIgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNET01H
bG9iYWxPYmplY3QgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbE9iamVjdCB7CiAgICAgc3RhdGljIEpT
Qzo6SlNQcm9taXNlKiBpbnN0YW50aWF0ZVN0cmVhbWluZyhKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTT2JqZWN0Kik7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBKU0M6
OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFs
dWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1
ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUg
bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVM
b2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAgICBz
dGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0cmluZyos
IEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKKyAgICBzdGF0aWMgSlND
OjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOworCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAg
bV9zdHJ1Y3R1cmVzOwogICAgIEpTRE9NQ29uc3RydWN0b3JNYXAgbV9jb25zdHJ1Y3RvcnM7CiAg
ICAgRE9NR3VhcmRlZE9iamVjdFNldCBtX2d1YXJkZWRPYmplY3RzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggNTYzZWZhMDU3MWI1ZDQ2
MmQ5ZTY0NTA4OWYwYmQ4Zjc3ZDE5YTc2OC4uMzEyYTAxMTU4ZThjMjgwODNjMDdlNDJkYjg3MjQ1
ZmU0ZTVjNTdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCkBAIC0zMzksNTQgKzMzOSw0IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJl
RnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiAgICAg
fQogfQogCi1KU0M6OklkZW50aWZpZXIgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNv
bHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGlt
cG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RP
TVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihn
bG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09i
amVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCkucmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFt
ZSwgaW1wb3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiB7IH07Ci19
Ci0KLUpTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVy
RmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBw
YXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9N
V2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9j
dW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuZmV0Y2goZ2xvYmFs
T2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hl
cikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0
dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFs
T2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpK
U1ZhbHVlIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIs
IEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6
SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVj
dCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYg
KFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1l
bnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5ldmFsdWF0ZShn
bG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlw
dEZldGNoZXIpOwotICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxl
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciog
bW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFy
YW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKLXsKLSAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anND
YXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1
bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAg
ICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuaW1w
b3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0
ZXJzLCBzb3VyY2VPcmlnaW4pKTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNl
ID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVy
bmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcHJvbWlz
ZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7Ci0gICAgcmV0dXJuIHByb21p
c2U7Ci19Ci0KLUpTQzo6SlNPYmplY3QqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3Jl
YXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVL
ZXksIEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nh
c3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3Vt
ZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAg
ICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0
aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwg
c2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9i
amVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkp
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5oCmluZGV4IDNlZjk4MGRkMjdmNmIyMTM5ODcwMDhiYTQ3NmM4
Y2E2OWYyZjBiNjQuLjUxNDJiMWM3ZGMyNWMyMmZlOTc4OTVlNzVhZTIyZWY0ZDFlNTg5ZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC05OSwx
MiArOTksNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTVdpbmRvd0Jhc2UgOiBwdWJsaWMg
SlNET01HbG9iYWxPYmplY3QgewogcHJpdmF0ZToKICAgICB1c2luZyBSZXNwb25zZUNhbGxiYWNr
ID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IGNoYXIqLCBzaXplX3QpPjsKIAotICAgIHN0YXRp
YyBKU0M6OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2Fk
ZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpT
VmFsdWUgbW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNN
b2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsK
LSAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9k
dWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0
cmluZyosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKLSAgICBzdGF0
aWMgSlNDOjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUs
IEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwotCiAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV93cmFwcGVkOwogICAgIFJlZlB0cjxFdmVudD4gbV9jdXJyZW50RXZlbnQ7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwCmluZGV4IDQyYjI2YzlmNGVhMjE2MjA3ZGU0Yzg2ODIwYjhhODFiNjAzNWI3ZWIu
LjJkNzkzZmZmMjE4NTNhOGExYTc4ODA2NjcyNTBmNTdlNzUyZmUzZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAK
QEAgLTU5LDExICs1OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtl
ckdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZQogICAgICZqYXZhU2Ny
aXB0UnVudGltZUZsYWdzLAogICAgICZxdWV1ZU1pY3JvdGFza1RvRXZlbnRMb29wLAogICAgICZz
aG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckltcG9ydE1vZHVsZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlclJlc29sdmUK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJGZXRjaAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxl
TG9hZGVyRXZhbHVhdGUKKyAgICAmbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlLAorICAgICZtb2R1
bGVMb2FkZXJSZXNvbHZlLAorICAgICZtb2R1bGVMb2FkZXJGZXRjaCwKKyAgICAmbW9kdWxlTG9h
ZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMsCisgICAgJm1vZHVsZUxvYWRlckV2YWx1YXRl
LAogICAgICZwcm9taXNlUmVqZWN0aW9uVHJhY2tlciwKICAgICAmcmVwb3J0VW5jYXVnaHRFeGNl
cHRpb25BdEV2ZW50TG9vcCwKICAgICAmY3VycmVudFNjcmlwdEV4ZWN1dGlvbk93bmVyLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3Bl
QmFzZS5jcHAKaW5kZXggMzVmYTZlMzI3N2ZiMGQ0YmUwZTBlMWVkYzQzNzIyZWRhZGZjOGFmMi4u
OWZhZWM5NTljMzlkMTc0ODE4MWM5ODY1MDAzZDVhODZmMTdmNWUzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3Bw
CkBAIC00OSwxMSArNDksMTEgQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNXb3Jr
bGV0R2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmwKICAgICAmamF2YVNj
cmlwdFJ1bnRpbWVGbGFncywKICAgICBudWxscHRyLCAvLyBxdWV1ZU1pY3JvdGFza1RvRXZlbnRM
b29wCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9h
ZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBudWxscHRy
LCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUs
CisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNoLAorICAg
ICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9kdWxlTG9h
ZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZyZXBvcnRV
bmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhlY3V0aW9u
T3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZhOTEwZTk0OWI3YWMxYTM4ZWRlZWNiMDNkZWI2ZWU4OTRjY2ViMGQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNo
UGFyYW1ldGVycy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEZldGNoZXIuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8TW9kdWxlU2NyaXB0TG9hZGVyPiB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+TW9kdWxlU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBjbGVh
ckNsaWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQobV9jbGllbnQpOworICAgICAgICBtX2Ns
aWVudCA9IG51bGxwdHI7CisgICAgfQorCisgICAgSlNDOjpTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyKCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVyLmdldCgpOyB9CisgICAgTW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9
CisKK3Byb3RlY3RlZDoKKyAgICBNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgSlNDOjpTY3JpcHRGZXRj
aGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFt
ZXRlcnMpCisgICAgICAgIDogbV9jbGllbnQoJmNsaWVudCkKKyAgICAgICAgLCBtX3Byb21pc2Uo
JnByb21pc2UpCisgICAgICAgICwgbV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNoZXIpCisgICAg
ICAgICwgbV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCisgICAgeworICAgIH0KKwor
ICAgIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCogbV9jbGllbnQ7CisgICAgUmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4gbV9wcm9taXNlOworICAgIFJlZjxKU0M6OlNjcmlwdEZldGNoZXI+IG1fc2Ny
aXB0RmV0Y2hlcjsKKyAgICBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiBtX3BhcmFtZXRl
cnM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5
OTVmNDhlZTNkMWUwMmMxZDhjOWM5ZGEyYmQ1ODIzNmYzYmEwN2QKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaApA
QCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1vZHVs
ZVNjcmlwdExvYWRlcjsKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKKworY2xhc3MgTW9kdWxlU2Ny
aXB0TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQo
TW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSA9IDA7Cit9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1
bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9h
ZGVyLmNwcAppbmRleCBhYTViODBiNTg2Yjc5ZTBlNTc1MDFjZDUxMDc4ZGYyNWE2MjVlNWQ5Li5k
NWEyZjIzMThjMjBhNDE4N2Y3Y2E2ODFjODExNWNjNGY5YmExMzYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKQEAgLTI5LDcgKzI5
LDYgQEAKICNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlICJD
YWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCi0jaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCkBAIC00MSw2ICs0MCw4IEBA
CiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlSW50
ZWdyaXR5LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgorI2luY2x1ZGUgIldv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSlNJbnRlcm5hbFByb21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU01vZHVsZVJlY29yZC5oPgpAQCAtNTIsOCArNTMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVNjcmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKERvY3VtZW50JiBk
b2N1bWVudCkKLSAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCitTY3JpcHRNb2R1bGVMb2FkZXI6
OlNjcmlwdE1vZHVsZUxvYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBPd25l
clR5cGUgb3duZXJUeXBlKQorICAgIDogbV9jb250ZXh0KGNvbnRleHQpCisgICAgLCBtX293bmVy
VHlwZShvd25lclR5cGUpCiB7CiB9CiAKQEAgLTY4LDcgKzcwLDcgQEAgc3RhdGljIGJvb2wgaXNS
b290TW9kdWxlKEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSkKICAgICByZXR1cm4gaW1w
b3J0ZXJNb2R1bGVLZXkuaXNTeW1ib2woKSB8fCBpbXBvcnRlck1vZHVsZUtleS5pc1VuZGVmaW5l
ZCgpOwogfQogCi1zdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVj
aWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHNwZWNpZmllciwgY29uc3Qg
VVJMJiBiYXNlVVJMKQorc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxl
U3BlY2lmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNjcmlwdE1vZHVsZUxv
YWRlcjo6T3duZXJUeXBlIG93bmVyVHlwZSwgY29uc3QgU3RyaW5nJiBzcGVjaWZpZXIsIGNvbnN0
IFVSTCYgYmFzZVVSTCkKIHsKICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjcmVzb2x2ZS1hLW1vZHVsZS1zcGVjaWZpZXIKIApAQCAt
NzksNyArODEsMTIgQEAgc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxl
U3BlY2lmaWVyKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3QKICAgICBpZiAoIXNwZWNpZmll
ci5zdGFydHNXaXRoKCcvJykgJiYgIXNwZWNpZmllci5zdGFydHNXaXRoKCIuLyIpICYmICFzcGVj
aWZpZXIuc3RhcnRzV2l0aCgiLi4vIikpCiAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZCht
YWtlU3RyaW5nKCJNb2R1bGUgc3BlY2lmaWVyLCAnIl9zLCBzcGVjaWZpZXIsICInIGRvZXMgbm90
IHN0YXJ0IHdpdGggXCIvXCIsIFwiLi9cIiwgb3IgXCIuLi9cIi4gUmVmZXJlbmNlZCBmcm9tICJf
cywgYmFzZVVSTC5zdHJpbmcoKSkpOwogCi0gICAgYXV0byByZXN1bHQgPSBkb2N1bWVudC5jb21w
bGV0ZVVSTChzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIFVSTCByZXN1bHQ7CisgICAgaWYgKG93
bmVyVHlwZSA9PSBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93bmVyVHlwZTo6RG9jdW1lbnQpCisgICAg
ICAgIHJlc3VsdCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KS5jb21wbGV0ZVVSTChzcGVj
aWZpZXIsIGJhc2VVUkwpOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0gVVJMKGJhc2VVUkws
IHNwZWNpZmllcik7CisKICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVy
biBtYWtlVW5leHBlY3RlZChtYWtlU3RyaW5nKCJNb2R1bGUgbmFtZSwgJyJfcywgcmVzdWx0LnN0
cmluZygpLCAiJyBkb2VzIG5vdCByZXNvbHZlIHRvIGEgdmFsaWQgVVJMLiJfcykpOwogICAgIHJl
dHVybiByZXN1bHQ7CkBAIC0xMDcsNyArMTE0LDcgQEAgSlNDOjpJZGVudGlmaWVyIFNjcmlwdE1v
ZHVsZUxvYWRlcjo6cmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE9iamVjdCwK
ICAgICBVUkwgYmFzZVVSTCA9IHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoKmpzR2xvYmFsT2Jq
ZWN0LCBpbXBvcnRlck1vZHVsZUtleSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
eyB9KTsKIAotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2RvY3Vt
ZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVs
ZVNwZWNpZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIsIGJhc2VVUkwpOwog
ICAgIGlmICghcmVzdWx0KSB7CiAgICAgICAgIEpTQzo6dGhyb3dUeXBlRXJyb3IoanNHbG9iYWxP
YmplY3QsIHNjb3BlLCByZXN1bHQuZXJyb3IoKSk7CiAgICAgICAgIHJldHVybiB7IH07CkBAIC0x
NjEsMTMgKzE2OCwxOSBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2Fk
ZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsTwogICAgIGlmIChhdXRvKiBz
Y3JpcHRGZXRjaFBhcmFtZXRlcnMgPSBKU0M6OmpzRHluYW1pY0Nhc3Q8SlNDOjpKU1NjcmlwdEZl
dGNoUGFyYW1ldGVycyo+KHZtLCBwYXJhbWV0ZXJzKSkKICAgICAgICAgdG9wTGV2ZWxGZXRjaFBh
cmFtZXRlcnMgPSBzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaFBhcmFtZXRlcnMqPigmc2NyaXB0RmV0
Y2hQYXJhbWV0ZXJzLT5wYXJhbWV0ZXJzKCkpOwogCi0gICAgYXV0byBsb2FkZXIgPSBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNf
Y2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNo
ZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFy
YW1ldGVycykpOwotICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7Ci0gICAgaWYg
KCFsb2FkZXItPmxvYWQobV9kb2N1bWVudCwgY29tcGxldGVkVVJMKSkgewotICAgICAgICBsb2Fk
ZXItPmNsZWFyQ2xpZW50KCk7Ci0gICAgICAgIG1fbG9hZGVycy5yZW1vdmUoV1RGTW92ZShsb2Fk
ZXIpKTsKLSAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoZGVmZXJyZWQuZ2V0
KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1
bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwotICAgICAgICByZXR1cm4ganNQcm9taXNlOworICAgIGlm
IChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGF1dG8gbG9h
ZGVyID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdl
dCgpLCAqc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6
SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9w
TGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKKyAgICAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29w
eVJlZigpKTsKKyAgICAgICAgaWYgKCFsb2FkZXItPmxvYWQoZG93bmNhc3Q8RG9jdW1lbnQ+KG1f
Y29udGV4dCksIFdURk1vdmUoY29tcGxldGVkVVJMKSkpIHsKKyAgICAgICAgICAgIGxvYWRlci0+
Y2xlYXJDbGllbnQoKTsKKyAgICAgICAgICAgIG1fbG9hZGVycy5yZW1vdmUoV1RGTW92ZShsb2Fk
ZXIpKTsKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKGRlZmVycmVk
LmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEg
bW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybiBqc1Byb21pc2U7
CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIGxvYWRlciA9IFdvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19j
YXN0PFdvcmtlclNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hl
cio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJh
bWV0ZXJzKSk7CisgICAgICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7CisgICAg
ICAgIGxvYWRlci0+bG9hZChtX2NvbnRleHQsIFdURk1vdmUoY29tcGxldGVkVVJMKSk7CiAgICAg
fQogCiAgICAgcmV0dXJuIGpzUHJvbWlzZTsKQEAgLTE3Niw3ICsxODksNyBAQCBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGpzR2xvYmFsTwogVVJMIFNjcmlwdE1vZHVsZUxvYWRlcjo6bW9kdWxlVVJMKEpTQzo6SlNH
bG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5VmFsdWUp
CiB7CiAgICAgaWYgKG1vZHVsZUtleVZhbHVlLmlzU3ltYm9sKCkpCi0gICAgICAgIHJldHVybiBt
X2RvY3VtZW50LnVybCgpOworICAgICAgICByZXR1cm4gbV9jb250ZXh0LnVybCgpOwogCiAgICAg
QVNTRVJUKG1vZHVsZUtleVZhbHVlLmlzU3RyaW5nKCkpOwogICAgIHJldHVybiBVUkwoVVJMKCks
IGFzU3RyaW5nKG1vZHVsZUtleVZhbHVlKS0+dmFsdWUoJmpzR2xvYmFsT2JqZWN0KSk7CkBAIC0x
ODcsOCArMjAwLDExIEBAIFVSTCBTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJMRnJvbVJl
cXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYganNHbG9iYWxPCiAgICAgSlNDOjpWTSYgdm0g
PSBqc0dsb2JhbE9iamVjdC52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKIAotICAgIGlmIChpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKQotICAgICAg
ICByZXR1cm4gbV9kb2N1bWVudC5iYXNlVVJMKCk7CisgICAgaWYgKGlzUm9vdE1vZHVsZShtb2R1
bGVLZXlWYWx1ZSkpIHsKKyAgICAgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9j
dW1lbnQpCisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCku
YmFzZVVSTCgpOworICAgICAgICByZXR1cm4gbV9jb250ZXh0LnVybCgpOworICAgIH0KIAogICAg
IEFTU0VSVCghaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSk7CiAgICAgQVNTRVJUKG1vZHVs
ZUtleVZhbHVlLmlzU3RyaW5nKCkpOwpAQCAtMjE5LDggKzIzNSwxNCBAQCBKU0M6OkpTVmFsdWUg
U2NyaXB0TW9kdWxlTG9hZGVyOjpldmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2Jh
bE9iamVjdCwgSgogICAgIGlmICghc291cmNlVVJMLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
IEpTQzo6dGhyb3dUeXBlRXJyb3IoanNHbG9iYWxPYmplY3QsIHNjb3BlLCAiTW9kdWxlIGtleSBp
cyBhbiBpbnZhbGlkIFVSTC4iX3MpOwogCi0gICAgaWYgKGF1dG8qIGZyYW1lID0gbV9kb2N1bWVu
dC5mcmFtZSgpKQotICAgICAgICByZXR1cm4gZnJhbWUtPnNjcmlwdCgpLmV2YWx1YXRlTW9kdWxl
KHNvdXJjZVVSTCwgKm1vZHVsZVJlY29yZCk7CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVy
VHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG93bmNhc3Q8RG9j
dW1lbnQ+KG1fY29udGV4dCkuZnJhbWUoKSkKKyAgICAgICAgICAgIHJldHVybiBmcmFtZS0+c2Ny
aXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBBU1NFUlQoaXM8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KG1fY29u
dGV4dCkpOworICAgICAgICBpZiAoYXV0byogc2NyaXB0ID0gZG93bmNhc3Q8V29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGU+KG1fY29udGV4dCkuc2NyaXB0KCkpCisgICAgICAgICAgICByZXR1cm4g
c2NyaXB0LT5ldmFsdWF0ZU1vZHVsZSgqbW9kdWxlUmVjb3JkKTsKKyAgICB9CiAgICAgcmV0dXJu
IEpTQzo6anNVbmRlZmluZWQoKTsKIH0KIApAQCAtMjQ4LDggKzI3MCwxMyBAQCBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiBqcwogICAgIFVSTCBiYXNlVVJMOwogICAgIFJlZlB0cjxKU0M6OlNjcmlwdEZl
dGNoZXI+IHNjcmlwdEZldGNoZXI7CiAgICAgaWYgKHNvdXJjZU9yaWdpbi5pc051bGwoKSkgewot
ICAgICAgICBiYXNlVVJMID0gbV9kb2N1bWVudC5iYXNlVVJMKCk7Ci0gICAgICAgIHNjcmlwdEZl
dGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUobV9kb2N1bWVudC5jaGFyc2V0KCkp
OworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAg
ICAgICAgICAgYmFzZVVSTCA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmJhc2VVUkwo
KTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVh
dGUoZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuY2hhcnNldCgpKTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGJhc2VVUkwgPSBtX2NvbnRleHQudXJsKCk7CisgICAgICAgICAg
ICBzY3JpcHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKEZldGNoT3B0aW9u
czo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4pOworICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgYmFzZVVSTCA9IFVSTChVUkwoKSwgc291cmNlT3JpZ2luLnN0cmluZygpKTsKICAgICAg
ICAgaWYgKCFiYXNlVVJMLmlzVmFsaWQoKSkKQEAgLTI1NywxNCArMjg0LDE5IEBAIEpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxlKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGpzCiAKICAgICAgICAgaWYgKHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpCiAg
ICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZldGNoZXIoKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6
OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisKKyAgICAgICAgaWYgKCFzY3JpcHRGZXRj
aGVyKSB7CisgICAgICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVu
dCkKKyAgICAgICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6
Y3JlYXRlKGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmNoYXJzZXQoKSk7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZl
dGNoZXI6OmNyZWF0ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luKTsKKyAg
ICAgICAgfQogICAgIH0KICAgICBBU1NFUlQoYmFzZVVSTC5pc1ZhbGlkKCkpOwogICAgIEFTU0VS
VChzY3JpcHRGZXRjaGVyKTsKIAogICAgIGF1dG8gc3BlY2lmaWVyID0gbW9kdWxlTmFtZS0+dmFs
dWUoanNHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNp
ZmllcihtX2RvY3VtZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0g
cmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIs
IGJhc2VVUkwpOwogICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gcmVqZWN0UHJvbWlz
ZShnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgcmVzdWx0LmVycm9yKCkpOwogCkBAIC0yODgsNjIg
KzMyMCwxMDcgQEAgSlNDOjpKU09iamVjdCogU2NyaXB0TW9kdWxlTG9hZGVyOjpjcmVhdGVJbXBv
cnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWMKICAgICByZXR1cm4gbWV0YVByb3Bl
cnRpZXM7CiB9CiAKLXZvaWQgU2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXImIGxvYWRlciwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4gcHJv
bWlzZSkKK3ZvaWQgU2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChNb2R1bGVTY3Jp
cHRMb2FkZXImIG1vZHVsZVNjcmlwdExvYWRlciwgVVJMJiYgc291cmNlVVJMLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiBwcm9taXNlKQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0
CiAKLSAgICBVUkwgc291cmNlVVJMID0gbG9hZGVyLnNvdXJjZVVSTCgpOwotICAgIGlmICghbV9s
b2FkZXJzLnJlbW92ZSgmbG9hZGVyKSkKKyAgICBpZiAoIW1fbG9hZGVycy5yZW1vdmUoJm1vZHVs
ZVNjcmlwdExvYWRlcikpCiAgICAgICAgIHJldHVybjsKLSAgICBsb2FkZXIuY2xlYXJDbGllbnQo
KTsKKyAgICBtb2R1bGVTY3JpcHRMb2FkZXIuY2xlYXJDbGllbnQoKTsKIAotICAgIGF1dG8mIGNh
Y2hlZFNjcmlwdCA9ICpsb2FkZXIuY2FjaGVkU2NyaXB0KCk7CisgICAgaWYgKG1fb3duZXJUeXBl
ID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgYXV0byYgbG9hZGVyID0gc3RhdGlj
X2Nhc3Q8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJj4obW9kdWxlU2NyaXB0TG9hZGVyKTsKKyAg
ICAgICAgYXV0byYgY2FjaGVkU2NyaXB0ID0gKmxvYWRlci5jYWNoZWRTY3JpcHQoKTsKIAotICAg
IGlmIChjYWNoZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7Ci0g
ICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxv
YWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iX3MpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2NyaXB0LnJlc291cmNl
RXJyb3IoKS5pc0FjY2Vzc0NvbnRyb2woKSkgeworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdh
dGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2Fz
RXJyb3JlZCwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2lu
IFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KIAotICAgIGlmIChjYWNoZWRTY3JpcHQuZXJyb3JPY2N1cnJlZCgpKSB7Ci0gICAgICAg
IHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKCpwcm9taXNlLCBNb2R1bGVGZXRjaEZhaWx1
cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9z
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKGNhY2hlZFNjcmlwdC5lcnJv
ck9jY3VycmVkKCkpIHsKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9y
KHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBv
cnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0Lndhc0NhbmNlbGVkKCkpIHsKLSAgICAg
ICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoKnByb21pc2UsIE1vZHVsZUZldGNoRmFp
bHVyZUtpbmQ6Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5j
ZWxlZC4iX3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2Ny
aXB0Lndhc0NhbmNlbGVkKCkpIHsKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29y
a0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVk
LCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3MpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3Vw
cG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBl
KCkpKSB7Ci0gICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0Ci0gICAgICAgIC8v
IFRoZSByZXN1bHQgb2YgZXh0cmFjdGluZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVh
ZGVyIGxpc3QgKGlnbm9yaW5nIHBhcmFtZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0
eXBlLgotICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNz
aWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFz
dCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEg
Y29ycmVjdCBNSU1FIHR5cGUuCi0gICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1h
a2VTdHJpbmcoIiciLCBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpLCAiJyBpcyBu
b3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iKSk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9CisgICAgICAgIGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0
TUlNRVR5cGUoY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSkpIHsKKyAgICAgICAg
ICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMu
aHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0CisgICAgICAgICAgICAvLyBUaGUgcmVz
dWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5cGUgZnJvbSByZXNwb25zZSdzIGhlYWRlciBsaXN0
IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZS4KKyAg
ICAgICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIGZldGNoaW5nIGEgY2xhc3NpYyBz
Y3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5cGUgY2hlY2tpbmcuIEluIGNvbnRyYXN0LCBt
b2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9hZCBpZiB0aGV5IGFyZSBub3Qgb2YgYSBjb3Jy
ZWN0IE1JTUUgdHlwZS4KKyAgICAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1h
a2VTdHJpbmcoIiciLCBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpLCAiJyBpcyBu
b3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iKSk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKworICAgICAgICBpZiAoYXV0byogcGFyYW1ldGVycyA9IGxvYWRlci5wYXJh
bWV0ZXJzKCkpIHsKKyAgICAgICAgICAgIGlmICghbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShjYWNo
ZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkgeworICAgICAgICAgICAgICAgIHBy
b21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIkNhbm5vdCBsb2FkIHNjcmlwdCAi
LCBpbnRlZ3JpdHlNaXNtYXRjaERlc2NyaXB0aW9uKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+
aW50ZWdyaXR5KCkpKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisKKyAgICAgICAgVVJMIHJlc3BvbnNlVVJMID0gY2FjaGVkU2NyaXB0LnJlc3Bv
bnNlKCkudXJsKCk7CisgICAgICAgIC8vIElmIHdlIGRvIG5vdCBoYXZlIHJlZGlyZWN0aW9uLCB3
ZSBtdXN0IHJlc2VydmUgdGhlIHNvdXJjZSBVUkwncyBmcmFnbWVudCBleHBsaWNpdGx5IGhlcmUg
c2luY2UgUmVzb3VyY2VSZXNwb25zZTo6dXJsKCkgaXMgdGhlIG9uZSB3aGVuIHdlIGZpcnN0IGNh
Y2hlIGl0IHRvIE1lbW9yeUNhY2hlLgorICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNr
IGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODQyMAorICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNDkwCisgICAgICAgIGlmICghY2FjaGVk
U2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnNvdXJj
ZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgeworICAgICAg
ICAgICAgaWYgKHNvdXJjZVVSTC5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkKKyAgICAgICAgICAg
ICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIoc291cmNlVVJMLmZyYWdtZW50
SWRlbnRpZmllcigpKTsKKyAgICAgICAgfQorCisgICAgICAgIG1fcmVxdWVzdFVSTFRvUmVzcG9u
c2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwgV1RGTW92ZShyZXNwb25zZVVSTCkpOwor
ICAgICAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmpl
Y3QmIGpzR2xvYmFsT2JqZWN0KSB7CisgICAgICAgICAgICByZXR1cm4gSlNDOjpKU1NvdXJjZUNv
ZGU6OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52bSgpLAorICAgICAgICAgICAgICAgIEpTQzo6U291
cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyAmY2FjaGVkU2NyaXB0LCBKU0M6OlNvdXJjZVBy
b3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3Vy
Y2VDb2RlKCkgfSk7CisgICAgICAgIH0pOworICAgIH0gZWxzZSB7CisgICAgICAgIGF1dG8mIGxv
YWRlciA9IHN0YXRpY19jYXN0PFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciY+KG1vZHVsZVNjcmlw
dExvYWRlcik7CisgICAgICAgIGF1dG8mIHdvcmtlclNjcmlwdExvYWRlciA9IGxvYWRlci5zY3Jp
cHRMb2FkZXIoKTsKIAotICAgIGlmIChhdXRvKiBwYXJhbWV0ZXJzID0gbG9hZGVyLnBhcmFtZXRl
cnMoKSkgewotICAgICAgICBpZiAoIW1hdGNoSW50ZWdyaXR5TWV0YWRhdGEoY2FjaGVkU2NyaXB0
LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpIHsKLSAgICAgICAgICAgIHByb21pc2UtPnJlamVj
dChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIkNhbm5vdCBsb2FkIHNjcmlwdCAiLCBpbnRlZ3JpdHlN
aXNtYXRjaERlc2NyaXB0aW9uKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkp
KSk7CisgICAgICAgIGlmICh3b3JrZXJTY3JpcHRMb2FkZXIuZmFpbGVkKCkpIHsKKyAgICAgICAg
ICAgIGlmICh3b3JrZXJTY3JpcHRMb2FkZXIuZXJyb3IoKS5pc0FjY2Vzc0NvbnRyb2woKSkgewor
ICAgICAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0
KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJDcm9zcy1vcmlnaW4gc2Ny
aXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4i
X3MpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5lcnJvcigpLmlzQ2FuY2VsbGF0aW9uKCkpIHsKKyAg
ICAgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgp
LCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1vZHVs
ZSBzY3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHBy
b21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRp
bmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9Ci0gICAgfQogCi0gICAgVVJMIHJlc3BvbnNlVVJMID0gY2FjaGVkU2NyaXB0LnJlc3Bv
bnNlKCkudXJsKCk7Ci0gICAgLy8gSWYgd2UgZG8gbm90IGhhdmUgcmVkaXJlY3Rpb24sIHdlIG11
c3QgcmVzZXJ2ZSB0aGUgc291cmNlIFVSTCdzIGZyYWdtZW50IGV4cGxpY2l0bHkgaGVyZSBzaW5j
ZSBSZXNvdXJjZVJlc3BvbnNlOjp1cmwoKSBpcyB0aGUgb25lIHdoZW4gd2UgZmlyc3QgY2FjaGUg
aXQgdG8gTWVtb3J5Q2FjaGUuCi0gICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVu
dHMgdGhyb3VnaCByZWRpcmVjdGlvbnMuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1ODQyMAotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTA0OTAKLSAgICBpZiAoIWNhY2hlZFNjcmlwdC5oYXNSZWRpcmVjdGlv
bnMoKSAmJiBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5zb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3Bv
bnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKLSAgICAgICAgaWYgKHNvdXJjZVVSTC5oYXNG
cmFnbWVudElkZW50aWZpZXIoKSkKLSAgICAgICAgICAgIHJlc3BvbnNlVVJMLnNldEZyYWdtZW50
SWRlbnRpZmllcihzb3VyY2VVUkwuZnJhZ21lbnRJZGVudGlmaWVyKCkpOwotICAgIH0KKyAgICAg
ICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZSh3
b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VNSU1FVHlwZSgpKSkgeworICAgICAgICAgICAgLy8g
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2Zl
dGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKKyAgICAgICAgICAgIC8vIFRoZSByZXN1bHQgb2Yg
ZXh0cmFjdGluZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVhZGVyIGxpc3QgKGlnbm9y
aW5nIHBhcmFtZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLgorICAgICAgICAg
ICAgLy8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBk
b2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBz
Y3JpcHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlN
RSB0eXBlLgorICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmlu
ZygiJyIsIHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZU1JTUVUeXBlKCksICInIGlzIG5vdCBh
IHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQogCi0gICAgbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcC5hZGQoc291cmNlVVJM
LnN0cmluZygpLCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSk7Ci0gICAgcHJvbWlzZS0+cmVzb2x2ZVdp
dGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgewotICAg
ICAgICByZXR1cm4gSlNDOjpKU1NvdXJjZUNvZGU6OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52bSgp
LAotICAgICAgICAgICAgSlNDOjpTb3VyY2VDb2RlIHsgU2NyaXB0U291cmNlQ29kZSB7ICZjYWNo
ZWRTY3JpcHQsIEpTQzo6U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUsIGxvYWRlci5z
Y3JpcHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9KTsKLSAgICB9KTsKKyAgICAgICAgVVJM
IHJlc3BvbnNlVVJMID0gd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlVVJMKCk7CisKKyAgICAg
ICAgLy8gSWYgd2UgZG8gbm90IGhhdmUgcmVkaXJlY3Rpb24sIHdlIG11c3QgcmVzZXJ2ZSB0aGUg
c291cmNlIFVSTCdzIGZyYWdtZW50IGV4cGxpY2l0bHkgaGVyZSBzaW5jZSBSZXNvdXJjZVJlc3Bv
bnNlOjp1cmwoKSBpcyB0aGUgb25lIHdoZW4gd2UgZmlyc3QgY2FjaGUgaXQgdG8gTWVtb3J5Q2Fj
aGUuCisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJhY2sgZnJhZ21lbnRzIHRocm91Z2gg
cmVkaXJlY3Rpb25zLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU4NDIwCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTA0OTAKKyAgICAgICAgaWYgKCF3b3JrZXJTY3JpcHRMb2FkZXIuaXNSZWRp
cmVjdGVkKCkgJiYgd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlU291cmNlKCkgIT0gUmVzb3Vy
Y2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7CisgICAgICAgICAgICBpZiAoc291
cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQorICAgICAgICAgICAgICAgIHJlc3BvbnNl
VVJMLnNldEZyYWdtZW50SWRlbnRpZmllcihzb3VyY2VVUkwuZnJhZ21lbnRJZGVudGlmaWVyKCkp
OworICAgICAgICB9CisKKyAgICAgICAgbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcC5hZGQo
c291cmNlVVJMLnN0cmluZygpLCByZXNwb25zZVVSTCk7CisgICAgICAgIHByb21pc2UtPnJlc29s
dmVXaXRoQ2FsbGJhY2soWyZdIChKU0RPTUdsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QpIHsK
KyAgICAgICAgICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2Jq
ZWN0LnZtKCksCisgICAgICAgICAgICAgICAgSlNDOjpTb3VyY2VDb2RlIHsgU2NyaXB0U291cmNl
Q29kZSB7IHdvcmtlclNjcmlwdExvYWRlci5zY3JpcHQoKSwgV1RGTW92ZShyZXNwb25zZVVSTCks
IHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlw
dEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOworICAgICAgICB9KTsKKyAgICB9CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmgK
aW5kZXggZGUyOWQyZjRiZjA5NmI2MGMzNjk5ODAzMTZjMTQ4NmIyODJhYmYwOS4uZGYzNGQ1NTFh
MTFjZDk4ZjRlMjM2YTJhYTFmNDgyNzlkOTY0YzY4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmgKQEAgLTI1LDggKzI1LDggQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCIKLSNpbmNs
dWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJNb2R1bGVT
Y3JpcHRMb2FkZXIuaCIKKyNpbmNsdWRlICJNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCIKICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTQ1LDE2ICs0NSwxNyBAQCBj
bGFzcyBTb3VyY2VPcmlnaW47CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRG9jdW1l
bnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiAKLWNsYXNzIFNjcmlwdE1vZHVsZUxvYWRlciBmaW5hbCA6IHByaXZhdGUgQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKK2NsYXNzIFNjcmlwdE1vZHVsZUxvYWRlciBmaW5hbCA6
IHByaXZhdGUgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTY3JpcHRNb2R1bGVMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKLSAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIoRG9jdW1lbnQmKTsKKyAgICBlbnVt
IGNsYXNzIE93bmVyVHlwZSA6IHVpbnQ4X3QgeyBEb2N1bWVudCwgV29ya2VyT3JXb3JrbGV0IH07
CisgICAgZXhwbGljaXQgU2NyaXB0TW9kdWxlTG9hZGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBPd25lclR5cGUpOwogICAgIH5TY3JpcHRNb2R1bGVMb2FkZXIoKTsKIAotICAgIERvY3VtZW50
JiBkb2N1bWVudCgpIHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKyAgICBTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0KCkgeyByZXR1cm4gbV9jb250ZXh0OyB9CiAKICAgICBKU0M6OklkZW50
aWZpZXIgcmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlcios
IEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXks
IEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKICAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUg
c2NyaXB0RmV0Y2hlcik7CkBAIC02MywxMyArNjQsMTUgQEAgY2xhc3MgU2NyaXB0TW9kdWxlTG9h
ZGVyIGZpbmFsIDogcHJpdmF0ZSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewogICAg
IEpTQzo6SlNPYmplY3QqIGNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTTW9kdWxl
UmVjb3JkKiwgSlNDOjpKU1ZhbHVlKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIG5vdGlmeUZpbmlz
aGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciYsIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+KSBm
aW5hbDsKKyAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKE1vZHVsZVNjcmlwdExvYWRlciYsIFVSTCYm
LCBSZWY8RGVmZXJyZWRQcm9taXNlPikgZmluYWw7CisKICAgICBVUkwgbW9kdWxlVVJMKEpTQzo6
SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUpOwogICAgIFVSTCByZXNwb25zZVVSTEZyb21S
ZXF1ZXN0VVJMKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUpOwogCi0gICAgRG9j
dW1lbnQmIG1fZG9jdW1lbnQ7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgbV9jb250ZXh0
OwogICAgIEhhc2hNYXA8U3RyaW5nLCBVUkw+IG1fcmVxdWVzdFVSTFRvUmVzcG9uc2VVUkxNYXA7
Ci0gICAgSGFzaFNldDxSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPj4gbV9sb2FkZXJzOwor
ICAgIEhhc2hTZXQ8UmVmPE1vZHVsZVNjcmlwdExvYWRlcj4+IG1fbG9hZGVyczsKKyAgICBPd25l
clR5cGUgbV9vd25lclR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKaW5kZXggYzcwNDYyNmZi
NzMzZGI0NzJiZGE1MDIzNjI0MWE2ZTc0MGUyNzgyYi4uMTBmYTdlOGI0NDljOGI4NDllYjM3Y2Mx
ZjJjODY2ZmE4OTNhYWQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0U291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dFNvdXJjZUNvZGUuaApAQCAtNTcsNyArNTcsNyBAQCBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlIHsK
ICAgICB7CiAgICAgfQogCi0gICAgU2NyaXB0U291cmNlQ29kZShjb25zdCBTdHJpbmcmIHNvdXJj
ZSwgVVJMJiYgdXJsLCBjb25zdCBUZXh0UG9zaXRpb24mIHN0YXJ0UG9zaXRpb24sIEpTQzo6U291
cmNlUHJvdmlkZXJTb3VyY2VUeXBlIHNvdXJjZVR5cGUsIFJlZjxDYWNoZWRTY3JpcHRGZXRjaGVy
PiYmIHNjcmlwdEZldGNoZXIpCisgICAgU2NyaXB0U291cmNlQ29kZShjb25zdCBTdHJpbmcmIHNv
dXJjZSwgVVJMJiYgdXJsLCBjb25zdCBUZXh0UG9zaXRpb24mIHN0YXJ0UG9zaXRpb24sIEpTQzo6
U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlIHNvdXJjZVR5cGUsIFJlZjxKU0M6OlNjcmlwdEZldGNo
ZXI+JiYgc2NyaXB0RmV0Y2hlcikKICAgICAgICAgOiBtX3Byb3ZpZGVyKEpTQzo6U3RyaW5nU291
cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIEpTQzo6U291cmNlT3JpZ2luIHsgdXJsLCBXVEZN
b3ZlKHNjcmlwdEZldGNoZXIpIH0sIHVybC5zdHJpbmcoKSwgc3RhcnRQb3NpdGlvbiwgc291cmNl
VHlwZSkpCiAgICAgICAgICwgbV9jb2RlKG1fcHJvdmlkZXIuY29weVJlZigpLCBzdGFydFBvc2l0
aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29sdW1uLm9uZUJhc2Vk
SW50KCkpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQyNzQ5M2E2MDE3ZjgwN2Qw
MDFkZmY4MzZmNGYyNTE3OGExNmUyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKQEAgLTAsMCArMSw4NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIuaCIKKworI2luY2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKKyNp
bmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUg
IkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5j
bHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJP
cHRpb25zLmgiCisjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNjcmlw
dE1vZHVsZUxvYWRlci5oIgorI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKKyNpbmNsdWRl
ICJXb3JrZXJTY3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4g
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgV29ya2VyU2NyaXB0RmV0Y2hlciYg
c2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJz
KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcihj
bGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykpKTsKK30K
KworV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwg
V29ya2VyU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFy
YW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorICAgIDogTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwg
cHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJzKSkKKyAgICAsIG1fc2Ny
aXB0TG9hZGVyKFdvcmtlclNjcmlwdExvYWRlcjo6Y3JlYXRlKCkpCit7Cit9CisKK1dvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6fldvcmtlck1vZHVsZVNjcmlwdExvYWRlcigpCit7CisgICAgbV9z
Y3JpcHRMb2FkZXItPmNhbmNlbCgpOworfQorCitib29sIFdvcmtlck1vZHVsZVNjcmlwdExvYWRl
cjo6bG9hZChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBVUkwmJiBzb3VyY2VVUkwp
Cit7CisgICAgbV9zb3VyY2VVUkwgPSBXVEZNb3ZlKHNvdXJjZVVSTCk7CisKKyAgICBSZXNvdXJj
ZVJlcXVlc3QgcmVxdWVzdCB7IG1fc291cmNlVVJMIH07CisKKyAgICBGZXRjaE9wdGlvbnMgZmV0
Y2hPcHRpb25zOworICAgIGZldGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpD
b3JzOworICAgIGZldGNoT3B0aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1
bHQ7CisgICAgZmV0Y2hPcHRpb25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6
Rm9sbG93OworICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHN0YXRpY19jYXN0PFdvcmtl
clNjcmlwdEZldGNoZXImPihzY3JpcHRGZXRjaGVyKCkpLmNyZWRlbnRpYWxzKCk7CisgICAgYXV0
byBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IGNvbnRleHQuc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlIDogQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQ6OkVuZm9yY2VDaGlsZFNyY0RpcmVjdGl2ZTsKKworICAgIFN0cmluZyB0YXNrTW9kZSA9ICJs
b2FkTW9kdWxlc0luV29ya2VyT3JXb3JrbGV0TW9kZSJfczsKKyAgICBtX3NjcmlwdExvYWRlci0+
bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0
Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3Jr
ZXJzTW9kZTo6QWxsLCAqdGhpcywgV1RGTW92ZSh0YXNrTW9kZSkpOworICAgIHJldHVybiB0cnVl
OworfQorCit2b2lkIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQoKQor
eworICAgIEFTU0VSVChtX3Byb21pc2UpOworCisgICAgYXV0byBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyk7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+bm90aWZ5
RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9zb3VyY2VVUkwpLCBtX3Byb21pc2UucmVsZWFzZU5v
bk51bGwoKSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjEwMDgwZWU5MzFiZmIwYjMz
YTlmNTQ3M2IyOTdjYTJkYzJlNDc1OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNjQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRl
ci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvVVJMLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRGVmZXJyZWRQcm9taXNlOworY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBNb2R1
bGVGZXRjaFBhcmFtZXRlcnM7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3Mg
TW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyOworCitj
bGFzcyBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgTW9kdWxlU2NyaXB0
TG9hZGVyLCBwcml2YXRlIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCB7CitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShNb2R1bGVTY3JpcHRM
b2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiwgUmVm
UHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2aXJ0dWFsIH5Xb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIoKTsKKworICAgIGJvb2wgbG9hZChTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgVVJMJiYgc291cmNlVVJMKTsKKworICAgIFdvcmtlclNjcmlwdExvYWRlciYgc2NyaXB0TG9h
ZGVyKCkgeyByZXR1cm4gbV9zY3JpcHRMb2FkZXIuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBX
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJy
ZWRQcm9taXNlJiwgV29ya2VyU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFt
ZXRlcnM+JiYpOworCisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsIHsgfQorICAgIHZvaWQgbm90aWZ5RmluaXNo
ZWQoKSBmaW5hbDsKKworICAgIFJlZjxXb3JrZXJTY3JpcHRMb2FkZXI+IG1fc2NyaXB0TG9hZGVy
OworICAgIFVSTCBtX3NvdXJjZVVSTDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42NmI1NGVmODk0YjUzM2VhZmNlYmMxYTE0YmYyNzZhMDNlY2JhMTBiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RmV0Y2hl
ci5oCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIkxvYWRhYmxlU2NyaXB0LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0RmV0
Y2hlci5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENhY2hlZFNjcmlwdDsK
K2NsYXNzIERvY3VtZW50OworCitjbGFzcyBXb3JrZXJTY3JpcHRGZXRjaGVyIGZpbmFsIDogcHVi
bGljIEpTQzo6U2NyaXB0RmV0Y2hlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXb3JrZXJT
Y3JpcHRGZXRjaGVyPiBjcmVhdGUoRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFs
cykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdvcmtlclNjcmlwdEZldGNo
ZXIoY3JlZGVudGlhbHMpKTsKKyAgICB9CisKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxz
IGNyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1cm4gbV9jcmVkZW50aWFsczsgfQorCisgICAgdm9p
ZCBub3RpZnlMb2FkQ29tcGxldGVkKFVuaXF1ZWRTdHJpbmdJbXBsJiBtb2R1bGVLZXkpCisgICAg
eworICAgICAgICBtX21vZHVsZUtleSA9ICZtb2R1bGVLZXk7CisgICAgICAgIG1faXNMb2FkZWQg
PSB0cnVlOworICAgIH0KKworICAgIHZvaWQgbm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlw
dDo6RXJyb3ImJiBlcnJvcikKKyAgICB7CisgICAgICAgIG1fZXJyb3IgPSBXVEZNb3ZlKGVycm9y
KTsKKyAgICAgICAgbV9pc0xvYWRlZCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBub3RpZnlM
b2FkV2FzQ2FuY2VsZWQoKQorICAgIHsKKyAgICAgICAgbV93YXNDYW5jZWxlZCA9IHRydWU7Cisg
ICAgICAgIG1faXNMb2FkZWQgPSB0cnVlOworICAgIH0KKworICAgIGJvb2wgaXNMb2FkZWQoKSBj
b25zdCB7IHJldHVybiBtX2lzTG9hZGVkOyB9CisgICAgT3B0aW9uYWw8TG9hZGFibGVTY3JpcHQ6
OkVycm9yPiBlcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3I7IH0KKyAgICBib29sIHdhc0Nh
bmNlbGVkKCkgY29uc3QgeyByZXR1cm4gbV93YXNDYW5jZWxlZDsgfQorICAgIFVuaXF1ZWRTdHJp
bmdJbXBsKiBtb2R1bGVLZXkoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQoKTsgfQor
Citwcm90ZWN0ZWQ6CisgICAgV29ya2VyU2NyaXB0RmV0Y2hlcihGZXRjaE9wdGlvbnM6OkNyZWRl
bnRpYWxzIGNyZWRlbnRpYWxzKQorICAgICAgICA6IG1fY3JlZGVudGlhbHMoY3JlZGVudGlhbHMp
CisgICAgeworICAgIH0KKworcHJpdmF0ZToKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxz
IG1fY3JlZGVudGlhbHM7CisgICAgUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiBtX21vZHVsZUtl
eTsKKyAgICBPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6RXJyb3I+IG1fZXJyb3I7CisgICAgYm9v
bCBtX3dhc0NhbmNlbGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNMb2FkZWQgeyBmYWxzZSB9
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggNDRmOWQwZWE1MDUyYzAxOWU3OGJhZWJlODA4YjhmMmM3NWQzMTk5NS4uM2I0MjUzODQ4MDAy
YTUxZDI5MDkyYzUxYTBkYTU4NzlkNTQyMThhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBA
IC02MTUsNyArNjE1LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3Qg
U2V0dGluZ3MmIHNldHRpbmdzLCBjb25zdCBVUkwmIHVybCwgRG9jdW0KICAgICAsIG1fZG9jdW1l
bnRDcmVhdGlvblRpbWUoTW9ub3RvbmljVGltZTo6bm93KCkpCiAjZW5kaWYKICAgICAsIG1fc2Ny
aXB0UnVubmVyKG1ha2VVbmlxdWU8U2NyaXB0UnVubmVyPigqdGhpcykpCi0gICAgLCBtX21vZHVs
ZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMpKQorICAgICwgbV9t
b2R1bGVMb2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRN
b2R1bGVMb2FkZXI6Ok93bmVyVHlwZTo6RG9jdW1lbnQpKQogI2lmIEVOQUJMRShYU0xUKQogICAg
ICwgbV9hcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zVGltZXIoKnRoaXMsICZEb2N1bWVudDo6YXBw
bHlQZW5kaW5nWFNMVHJhbnNmb3Jtc1RpbWVyRmlyZWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXhj
ZXB0aW9uQ29kZS5oCmluZGV4IGY2YjU1OGVhODJkNzkzNjhlNjFhZGIwNjBjZjBiNGVhMWRiZWEy
MGMuLjE3ZGU3NDM0NzJmNzczMWIwM2M5OGZlY2U3YjFlYjFiOTYwMWU3N2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V4Y2VwdGlvbkNvZGUuaApAQCAtNjEsNiArNjEsNyBAQCBlbnVtIEV4Y2VwdGlvbkNvZGUg
ewogICAgIC8vIFNpbXBsZSBleGNlcHRpb25zIChodHRwczovL2hleWNhbS5naXRodWIuaW8vd2Vi
aWRsLyNpZGwtZXhjZXB0aW9ucykuCiAgICAgUmFuZ2VFcnJvciwKICAgICBUeXBlRXJyb3IsCisg
ICAgSlNTeW50YXhFcnJvciwgLy8gRGlmZmVyZW50IGZyb20gRE9NIFNZTlRBWF9FUlIuCiAKICAg
ICAvLyBOb24tc3RhbmRhcmQgZXJyb3IuCiAgICAgU3RhY2tPdmVyZmxvd0Vycm9yLApAQCAtMTEx
LDYgKzExMiw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6RXhjZXB0
aW9uQ29kZT4gewogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6Ok5vdEFsbG93ZWRFcnJvciwK
ICAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlOjpSYW5nZUVycm9yLAogICAgIFdlYkNvcmU6OkV4
Y2VwdGlvbkNvZGU6OlR5cGVFcnJvciwKKyAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlOjpKU1N5
bnRheEVycm9yLAogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OlN0YWNrT3ZlcmZsb3dFcnJv
ciwKICAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlOjpFeGlzdGluZ0V4Y2VwdGlvbkVycm9yCiAg
ICAgPjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlw
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCmluZGV4
IDlhMjVjMTY1ODhlZWNhZDY3OGZiOTExZWM4NjIyZjQyNDI1OTJiNWEuLjQ4ZWMwODUxYTQ1N2Q5
YmE0NzQ3M2ZlYzI4ZDdiNDkzMTJiNzg4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRh
YmxlTW9kdWxlU2NyaXB0LmNwcApAQCAtODgsMTYgKzg4LDQgQEAgdm9pZCBMb2FkYWJsZU1vZHVs
ZVNjcmlwdDo6ZXhlY3V0ZShTY3JpcHRFbGVtZW50JiBzY3JpcHRFbGVtZW50KQogICAgIHNjcmlw
dEVsZW1lbnQuZXhlY3V0ZU1vZHVsZVNjcmlwdCgqdGhpcyk7CiB9CiAKLXZvaWQgTG9hZGFibGVN
b2R1bGVTY3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwmIHJvb3RVUkwp
Ci17Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAgZnJh
bWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoKnRoaXMsIHJvb3RVUkwuc3RyaW5nKCksIG1f
cGFyYW1ldGVycy5jb3B5UmVmKCkpOwotfQotCi12b2lkIExvYWRhYmxlTW9kdWxlU2NyaXB0Ojps
b2FkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29k
ZSkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBm
cmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgc291cmNlQ29kZSk7Ci19Ci0K
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgKaW5kZXggYmI3OTk1
NGQ3Yjk5YjBlZDA2YmZlNTVlZjg1NGVjY2UyMWYzNTg3Ny4uZDI1MzU5NjNmNjQ4YjAyYThhMDFm
ZDYzYmIxZTM4MTM4NmNlZTQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRh
YmxlTW9kdWxlU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmgKQEAgLTUwLDE1ICs1MCwxNCBAQCBjbGFzcyBMb2FkYWJsZU1vZHVsZVNjcmlwdCBm
aW5hbCA6IHB1YmxpYyBMb2FkYWJsZVNjcmlwdCB7CiAKICAgICB2b2lkIHNldEVycm9yKEVycm9y
JiYpOwogCi0gICAgdm9pZCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiByb290VVJMKTsKLSAg
ICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7Ci0KICAgICB2
b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmluZ0ltcGwmKTsKICAgICB2b2lkIG5v
dGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yJiYpOwogICAgIHZvaWQgbm90aWZ5
TG9hZFdhc0NhbmNlbGVkKCk7CiAKICAgICBVbmlxdWVkU3RyaW5nSW1wbCogbW9kdWxlS2V5KCkg
Y29uc3QgeyByZXR1cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0KIAorICAgIE1vZHVsZUZldGNoUGFy
YW1ldGVycyYgcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQorCiBw
cml2YXRlOgogICAgIExvYWRhYmxlTW9kdWxlU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2UsIGNv
bnN0IFN0cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9z
c09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5p
dGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCAwNTc1OGI2MDBjNzUyMmI0N2YzNjRiYTZhMThkMzVm
MTczMTEwN2Y5Li41ZTk5ZjBmNTc3N2IzYjIxNThkZDBmYTRiYzM4Mjc3NmNkYjM0ODEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVk
ZSAiTG9hZGFibGVDbGFzc2ljU2NyaXB0LmgiCiAjaW5jbHVkZSAiTG9hZGFibGVNb2R1bGVTY3Jp
cHQuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgIlJ1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgogI2luY2x1ZGUgIlNWR1NjcmlwdEVsZW1lbnQuaCIK
QEAgLTM1MSw4ICszNTIsMTEgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxlU2Ny
aXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbikKICAgICAgICAgICAg
IHNjcmlwdENoYXJzZXQoKSwKICAgICAgICAgICAgIG1fZWxlbWVudC5sb2NhbE5hbWUoKSwKICAg
ICAgICAgICAgIG1fZWxlbWVudC5pc0luVXNlckFnZW50U2hhZG93VHJlZSgpKTsKLSAgICAgICAg
c2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBtb2R1bGVTY3JpcHRSb290VVJMKTsK
ICAgICAgICAgbV9sb2FkYWJsZVNjcmlwdCA9IFdURk1vdmUoc2NyaXB0KTsKKyAgICAgICAgaWYg
KGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkgeworICAgICAgICAg
ICAgYXV0byYgc2NyaXB0ID0gZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVTY3JpcHQ+KCptX2xvYWRh
YmxlU2NyaXB0LmdldCgpKTsKKyAgICAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxl
U2NyaXB0KHNjcmlwdCwgbW9kdWxlU2NyaXB0Um9vdFVSTC5zdHJpbmcoKSwgbWFrZVJlZihzY3Jp
cHQucGFyYW1ldGVycygpKSk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogCkBAIC0zNjcsOCArMzcxLDkgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxl
U2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbikKICAgICBpZiAo
IWNvbnRlbnRTZWN1cml0eVBvbGljeS5hbGxvd0lubGluZVNjcmlwdChtX2VsZW1lbnQuZG9jdW1l
bnQoKS51cmwoKS5zdHJpbmcoKSwgbV9zdGFydExpbmVOdW1iZXIsIHNvdXJjZUNvZGUuc291cmNl
KCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLCBoYXNLbm93bk5vbmNlKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgc2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBzb3Vy
Y2VDb2RlKTsKICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAgIGlm
IChhdXRvKiBmcmFtZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmZyYW1lKCkpCisgICAgICAgIGZy
YW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KGRvd25jYXN0PExvYWRhYmxlTW9kdWxlU2Ny
aXB0PigqbV9sb2FkYWJsZVNjcmlwdC5nZXQoKSksIHNvdXJjZUNvZGUpOwogICAgIHJldHVybiB0
cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5k
ZXggMjcxN2M4NjFjNzRiMGYyYWViY2RlNDA4NzAwZTJhOWEwMzczNzU5NS4uMWI2NTMyYzNiMGVh
YTgwZDliZDQ2YzZkNDMyMTM2OTYyMWMwMTliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMTAxLDEwICsxMDEsMTAgQEAgVGhyZWFkYWJsZUxvYWRl
ck9wdGlvbnMgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiB9
CiAKIAotUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBj
bGllbnQsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJP
cHRpb25zJiBvcHRpb25zLCBTdHJpbmcmJiByZWZlcnJlcikKK1JlZlB0cjxUaHJlYWRhYmxlTG9h
ZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBSZXNvdXJjZVJlcXVlc3QmJiBy
ZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgU3RyaW5nJiYg
cmVmZXJyZXIsIFN0cmluZyYmIHRhc2tNb2RlKQogewogICAgIGlmIChpczxXb3JrZXJHbG9iYWxT
Y29wZT4oY29udGV4dCkgfHwgKGlzPFdvcmtsZXRHbG9iYWxTY29wZT4oY29udGV4dCkgJiYgZG93
bmNhc3Q8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KS53b3JrZXJPcldvcmtsZXRUaHJlYWQo
KSkpCi0gICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc3RhdGlj
X2Nhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUmPihjb250ZXh0KSwgY2xpZW50LCBXb3Jr
ZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpLCBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRpb25zLCBXVEZN
b3ZlKHJlZmVycmVyKSk7CisgICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpj
cmVhdGUoc3RhdGljX2Nhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUmPihjb250ZXh0KSwg
Y2xpZW50LCBXVEZNb3ZlKHRhc2tNb2RlKSwgV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9ucywgV1RG
TW92ZShyZWZlcnJlcikpOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbnVsbHB0cjsKICAg
ICBpZiAoaXM8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGMyYjI0NWMzZWJiOGJjOTMwZWY0ZDE3MmJhMTUw
OWExNzlmMWQ3YTYuLjFhYzcwNGI0YzNiNTBiMGZmZGEwMzQyOGMzY2U3ZGExNDk4ODI2MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAtNzQsNyArNzQsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVh
ZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291
cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVzb3VyY2VSZXF1ZXN0
JiYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYpOwotICAgICAgICBzdGF0aWMgUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIFJlc291cmNlUmVx
dWVzdCYmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIFN0cmluZyYmIHJlZmVycmVy
ID0gU3RyaW5nKCkpOworICAgICAgICBzdGF0aWMgUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIFJl
c291cmNlUmVxdWVzdCYmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIFN0cmluZyYm
IHJlZmVycmVyID0gU3RyaW5nKCksIFN0cmluZyYmIHRhc2tNb2RlID0geyB9KTsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUlzRG9uZSgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lk
IGNhbmNlbCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCBiZjZlMjc2YTM5
YzIzMTVmODg5MGM2MzMwMzI5ZDY0NGRmY2FlYWE1Li4wNGZkZjU4Mjc0M2ViOTczYjUyNWQ1NGM4
YThkOGYzN2Q4MjUyMGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC03NCw2ICs3
NCw4IEBAIGlubGluZSBXb3JrZXI6OldvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lCiAgICAgLCBtX2lkZW50aWZpZXIoIndvcmtl
cjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSkK
ICAgICAsIG1fY29udGV4dFByb3h5KFdvcmtlckdsb2JhbFNjb3BlUHJveHk6OmNyZWF0ZSgqdGhp
cykpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxhZ3MpCisgICAgLCBtX3R5cGUob3B0
aW9ucy50eXBlKQorICAgICwgbV9jcmVkZW50aWFscyhvcHRpb25zLmNyZWRlbnRpYWxzKQogewog
ICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7
CkBAIC0xMTcsMTAgKzExOSwxNSBAQCBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gV29ya2VyOjpj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdQogCiAgICAgRmV0
Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKICAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNoT3B0
aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsKKyAgICBpZiAod29ya2VyLT5tX3R5cGUgPT0gV29ya2Vy
VHlwZTo6TW9kdWxlKQorICAgICAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSB3b3JrZXIt
Pm1fY3JlZGVudGlhbHM7CisgICAgZWxzZQorICAgICAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlh
bHMgPSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luOwogICAgIGZldGNoT3B0
aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1bHQ7CiAgICAgZmV0Y2hPcHRp
b25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6Rm9sbG93OwogICAgIGZldGNo
T3B0aW9ucy5kZXN0aW5hdGlvbiA9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcjsK
LSAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwg
V1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlcik7CisgICAg
d29ya2VyLT5tX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1v
dmUocmVxdWVzdCksIFdURk1vdmUoZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5
RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCB3b3JrZXIuZ2V0KCksIFdvcmtl
clJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOworCiAgICAgcmV0dXJuIHdvcmtlcjsKIH0KIApAQCAt
MjE5LDcgKzIyNiwxMyBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNoZWQoKQogICAgIFJlZmVy
cmVyUG9saWN5IHJlZmVycmVyUG9saWN5ID0gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOwog
ICAgIGlmIChhdXRvIHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXIt
PnJlZmVycmVyUG9saWN5KCksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKICAg
ICAgICAgcmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5OwotICAgIG1fY29udGV4dFByb3h5LnN0YXJ0
V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQt
PnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2Fk
ZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9u
VGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fcnVudGltZUZsYWdzKTsKKworICAgIFVSTCByZXNwb25z
ZVVSTCA9IG1fc2NyaXB0TG9hZGVyLT5yZXNwb25zZVVSTCgpOworICAgIGlmICghbV9zY3JpcHRM
b2FkZXItPmlzUmVkaXJlY3RlZCgpICYmIG1fc2NyaXB0TG9hZGVyLT5yZXNwb25zZVNvdXJjZSgp
ICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgeworICAgICAgICBp
ZiAobV9zY3JpcHRMb2FkZXItPnVybCgpLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQorICAgICAg
ICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKG1fc2NyaXB0TG9hZGVyLT51
cmwoKS5mcmFnbWVudElkZW50aWZpZXIoKSk7CisgICAgfQorICAgIG1fY29udGV4dFByb3h5LnN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUocmVzcG9uc2VVUkwsIG1fbmFtZSwgY29udGV4dC0+dXNlckFn
ZW50KHJlc3BvbnNlVVJMKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9s
aWN5LCBtX3R5cGUsIG1fY3JlZGVudGlhbHMsIG1fcnVudGltZUZsYWdzKTsKICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpjb250ZXh0LCBtX3NjcmlwdExvYWRl
ci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuaAppbmRleCA1M2Y1ZTZmZmYyN2M5ZmEzZTVjMGUwMWYwZjZjNDJjNmNiNmY5
ZDBlLi4zOGE2MjNhOThkYmEzNWZmODAxM2NkNmZjOGM4NWM4MTAyMDUwMjExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmgKQEAgLTI5LDkgKzI5LDExIEBACiAjaW5jbHVkZSAiQWN0aXZlRE9NT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmgi
CiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50
aWFscy5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAiUG9zdE1lc3NhZ2VP
cHRpb25zLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVk
ZSAiV29ya2VyVHlwZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFncy5o
PgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CkBAIC01NSw2ICs1Nyw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFj
dFdvcmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBXb3JrCiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChXb3JrZXIpOwogcHVibGljOgogICAgIHN0cnVjdCBPcHRpb25zIHsK
KyAgICAgICAgV29ya2VyVHlwZSB0eXBlOworICAgICAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFs
cyBjcmVkZW50aWFsczsKICAgICAgICAgU3RyaW5nIG5hbWU7CiAgICAgfTsKICAgICBzdGF0aWMg
RXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
SlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBPcHRpb25zJik7CkBA
IC03OSw2ICs4Myw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtl
ciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBXb3JrCiAgICAgdm9pZCBwb3N0VGFz
a1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik+JiYpOwogI2VuZGlmCiAKKyAgICBXb3JrZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBt
X3R5cGU7IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXb3JrZXIoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBjb25zdCBPcHRpb25zJik7CiAKQEAgLTExMiw2
ICsxMTgsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1
YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29yawogI2lmIEVOQUJMRShXRUJfUlRDKQog
ICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3RyYW5zZm9ybWVyczsKICNlbmRpZgorICAgIFdvcmtlclR5
cGUgbV90eXBlIHsgV29ya2VyVHlwZTo6Q2xhc3NpYyB9OworICAgIEZldGNoUmVxdWVzdENyZWRl
bnRpYWxzIG1fY3JlZGVudGlhbHMgeyBGZXRjaFJlcXVlc3RDcmVkZW50aWFsczo6U2FtZU9yaWdp
biB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
aWRsCmluZGV4IDQ1ZDZhMDg2Nzg1NGVlNDA0ZGU3ZTdkMDEyNDhjZWJmNDRkY2E3ZWQuLjcwMjE3
OTZkZjUwNGFkZjhlNmI5NTg5YWNlOWYxNDQ4MjFmMjk1ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5pZGwKQEAgLTM4LDYgKzM4LDggQEAKIH07CiAKIGRpY3Rpb25hcnkgV29ya2VyT3B0aW9u
cyB7CisgICAgV29ya2VyVHlwZSB0eXBlID0gImNsYXNzaWMiOworICAgIEZldGNoUmVxdWVzdENy
ZWRlbnRpYWxzIGNyZWRlbnRpYWxzID0gInNhbWUtb3JpZ2luIjsgLy8gY3JlZGVudGlhbHMgaXMg
b25seSB1c2VkIGlmIHR5cGUgaXMgIm1vZHVsZSIKICAgICBET01TdHJpbmcgbmFtZSA9ICIiOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRl
eCBkYmFiMzQ4ZTgwYzlkZTUwYmQyMTU3NzdhMTRhMzlhMGY3MGU0OWM3Li5jY2RlOTA5YzdjYjUy
ZTk3Nzc0YzViODE1ODIzZWJjYmJiMDcwZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNzQsNiArNzQsOCBAQCBXb3JrZXJHbG9iYWxTY29w
ZTo6V29ya2VyR2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBjb25zdCBXb3JrZXJQ
YXJhbWV0ZQogICAgICwgbV9wZXJmb3JtYW5jZShQZXJmb3JtYW5jZTo6Y3JlYXRlKHRoaXMsIHBh
cmFtcy50aW1lT3JpZ2luKSkKICAgICAsIG1fcmVmZXJyZXJQb2xpY3kocGFyYW1zLnJlZmVycmVy
UG9saWN5KQogICAgICwgbV9zZXR0aW5nc1ZhbHVlcyhwYXJhbXMuc2V0dGluZ3NWYWx1ZXMpCisg
ICAgLCBtX3dvcmtlclR5cGUocGFyYW1zLndvcmtlclR5cGUpCisgICAgLCBtX2NyZWRlbnRpYWxz
KHBhcmFtcy5jcmVkZW50aWFscykKIHsKICNpZiAhRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAg
ICAgVU5VU0VEX1BBUkFNKGNvbm5lY3Rpb25Qcm94eSk7CkBAIC0yNzQsNiArMjc2LDExIEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IFdvcmtlckdsb2JhbFNjb3BlOjppbXBvcnRTY3JpcHRzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiB1cmxzKQogewogICAgIEFTU0VSVChjb250ZW50U2VjdXJpdHlQb2xpY3ko
KSk7CiAKKyAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93b3Jr
ZXJzLmh0bWwjaW1wb3J0aW5nLXNjcmlwdHMtYW5kLWxpYnJhcmllcworICAgIC8vIDEuIElmIHdv
cmtlciBnbG9iYWwgc2NvcGUncyB0eXBlIGlzICJtb2R1bGUiLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgICAgaWYgKG1fd29ya2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpNb2R1bGUpCisg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsICJpbXBvcnRTY3JpcHRzIGNhbm5v
dCBiZSB1c2VkIGlmIHdvZXJrZXIgdHlwZSBpcyBcIm1vZHVsZVwiIl9zIH07CisKICAgICBWZWN0
b3I8VVJMPiBjb21wbGV0ZWRVUkxzOwogICAgIGNvbXBsZXRlZFVSTHMucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eSh1cmxzLnNpemUoKSk7CiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IHVybHMpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA0NmQ0OWQ5NGM1
MjM4ZTQ2ODhkMzk1ZDg3YzIwNjNlYjU3MjBkMWJmLi43NDc5NWY1YzBmOWEyYTM1ZDAwOTMwMTJh
ZDE4ZjU3ZTMxN2Y4MjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5oCkBAIC0xMjMsNiArMTIzLDggQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGUgOiBwdWJs
aWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+LCBwdWJsaWMgQmFzZTYKIAogICAg
IGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9zZXR0aW5nc1ZhbHVlczsgfQogCisgICAgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFs
cyBjcmVkZW50aWFscygpIGNvbnN0IHsgcmV0dXJuIG1fY3JlZGVudGlhbHM7IH0KKwogcHJvdGVj
dGVkOgogICAgIFdvcmtlckdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUsIGNvbnN0IFdvcmtl
clBhcmFtZXRlcnMmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIFdvcmtlclRocmVhZCYsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5
KiwgU29ja2V0UHJvdmlkZXIqKTsKIApAQCAtMTYzLDggKzE2NSw2IEBAIGNsYXNzIFdvcmtlckds
b2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFdvcmtlckdsb2JhbFNjb3BlPiwgcHVi
bGljIEJhc2U2CiAgICAgbXV0YWJsZSBSZWZQdHI8V29ya2VyTG9jYXRpb24+IG1fbG9jYXRpb247
CiAgICAgbXV0YWJsZSBSZWZQdHI8V29ya2VyTmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKIAotICAg
IHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPiBtX3Njcmlw
dDsKLQogICAgIGJvb2wgbV9pc09ubGluZTsKICAgICBib29sIG1fc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogCkBAIC0xODcsNiArMTg3LDggQEAgY2xhc3MgV29y
a2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+
LCBwdWJsaWMgQmFzZTYKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q1NTVmFsdWVQb29sPiBtX2Nzc1Zh
bHVlUG9vbDsKICAgICBSZWZlcnJlclBvbGljeSBtX3JlZmVycmVyUG9saWN5OwogICAgIFNldHRp
bmdzOjpWYWx1ZXMgbV9zZXR0aW5nc1ZhbHVlczsKKyAgICBXb3JrZXJUeXBlIG1fd29ya2VyVHlw
ZTsKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIG1fY3JlZGVudGlhbHM7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGVQcm94eS5oCmluZGV4IDQwMDAzYzNlMDEwOTk5NjBmNjQ3ODYxZTcwMTY4N2Qw
ZTM3MWQ3MmQuLmVkNjczYWM4ZjdjMGVlNTRjMDYwZWNiNTkyMTYzOTBlZDcwZmUyY2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC00
OCw3ICs0OCw3IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlUHJveHkgewogcHVibGljOgogICAg
IHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZVByb3h5JiBjcmVhdGUoV29ya2VyJik7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGlu
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpS
dW50aW1lRmxhZ3MpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29w
ZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpT
Qzo6UnVudGltZUZsYWdzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0ZVdvcmtlckds
b2JhbFNjb3BlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xv
YmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJikgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jik+JiYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggMTlkNGJlNjQ5OTJmMzBkM2NjZTc2NTQ3YTNkMjIxOGE5
OGM4NDJjMy4uNzg4MzU4N2E3YWY2MjA5ZTNlY2M4ZTdiNDFiYWQ0N2FkZjYyMjQwZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTcz
LDcgKzczLDcgQEAgV29ya2VyTWVzc2FnaW5nUHJveHk6On5Xb3JrZXJNZXNzYWdpbmdQcm94eSgp
CiAgICAgICAgIHx8IChpczxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkgJiYgZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpLnRocmVhZCgpLnRocmVhZCgpID09ICZUaHJlYWQ6OmN1cnJlbnQoKSkpOwogfQogCi12
b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGlj
eSwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQ
cm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUgd29ya2Vy
VHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZs
YWdzIHJ1bnRpbWVGbGFncykKIHsKICAgICAvLyBGSVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlz
aXRlZCB3aGVuIHdlIHN1cHBvcnQgbmVzdGVkIHdvcmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CkBAIC04OSw3ICs4OSw3IEBAIHZvaWQgV29ya2VyTWVz
c2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkws
IGNvbnN0IFN0CiAKICAgICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIgPSBkb2N1bWVu
dC5zb2NrZXRQcm92aWRlcigpOwogCi0gICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMgPSB7IHNj
cmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBkb2N1bWVudC5zZXR0
aW5nc1ZhbHVlcygpIH07CisgICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMgPSB7IHNjcmlwdFVS
TCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCB3b3JrZXJUeXBlLCBjcmVkZW50
aWFscywgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSB9OwogICAgIGF1dG8gdGhyZWFkID0gRGVk
aWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUocGFyYW1zLCBzb3VyY2VDb2RlLCAqdGhpcywgKnRo
aXMsICp0aGlzLCBzdGFydE1vZGUsIGRvY3VtZW50LnRvcE9yaWdpbigpLCBwcm94eSwgc29ja2V0
UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7CiAKICAgICB3b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVh
ZC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmgKaW5kZXggYzViNTc1YjllNjE1YjNmM2Y1OTZiZmMzZGY2ODNjODc3Y2M2MmJhYi4uZDllODFl
MTU3YTBmNDg1MmU0OWI1OWQyNTY2YThhODBmNWY4MThhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNTAsNyArNTAsNyBAQCBjbGFzcyBX
b3JrZXJNZXNzYWdpbmdQcm94eSBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxX
b3JrZXJNZXNzYWdpbmdQcgogcHJpdmF0ZToKICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29y
a2VyR2xvYmFsU2NvcGVQcm94eS4KICAgICAvLyAoT25seSB1c2UgdGhlc2UgZnVuY3Rpb25zIGlu
IHRoZSB3b3JrZXIgb2JqZWN0IHRocmVhZC4pCi0gICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNj
b3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CisgICAgdm9pZCBz
dGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJl
cXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOwogICAgIHZvaWQgdGVy
bWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9X
b3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSBmaW5hbDsKICAgICB2
b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmKT4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IDIzODRhNWE4YzdkMmEzMDJl
ZWU1Y2I0MDVlMTA1ZTAyNWM5ODQzY2MuLmY0ZjRiMjc0NjZmOWEzMGIyOGI4YjIxZjZmMmJlZjhi
ZGU5Mzg1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIKIAorI2luY2x1ZGUg
IlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1ZGUgIldvcmtlckV2ZW50TG9vcC5oIgogI2lu
Y2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXb3JrZXJPcldv
cmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCkBAIC0zOSw2ICs0MCw3IEBAIFdURl9NQUtFX0lTT19B
TExPQ0FURURfSU1QTChXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSk7CiAKIFdvcmtlck9yV29y
a2xldEdsb2JhbFNjb3BlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRU
eXBlIHR5cGUsIFJlZjxKU0M6OlZNPiYmIHZtLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQqIHRocmVh
ZCkKICAgICA6IG1fc2NyaXB0KG1ha2VVbmlxdWU8V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlcj4odHlwZSwgV1RGTW92ZSh2bSksIHRoaXMpKQorICAgICwgbV9tb2R1bGVMb2FkZXIobWFr
ZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93
bmVyVHlwZTo6V29ya2VyT3JXb3JrbGV0KSkKICAgICAsIG1fdGhyZWFkKHRocmVhZCkKICAgICAs
IG1faW5zcGVjdG9yQ29udHJvbGxlcihtYWtlVW5pcXVlPFdvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXI+KCp0aGlzKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
T3JXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCA2YzI0NGEwYzQyN2VlMWM4YzY1ZmRjYzc2NTk1MmY4
NzdmZDliMTZiLi41NDRmMDQ3YWVjMjc4MzI3NDRkMGE4YTcwYWY3ZTkzOWMzMzA5OTJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZS5oCkBAIC0zMiw2ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEV2ZW50
TG9vcFRhc2tHcm91cDsKK2NsYXNzIFNjcmlwdE1vZHVsZUxvYWRlcjsKIGNsYXNzIFdvcmtlckV2
ZW50TG9vcDsKIGNsYXNzIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBXb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyOwpAQCAtNTQsNiArNTUsOCBAQCBjbGFzcyBXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LCBwdWJs
aWMgUmVmQ291bgogCiAgICAgdW5zaWduZWQgbG9uZyBjcmVhdGVVbmlxdWVJZGVudGlmaWVyKCkg
eyByZXR1cm4gbV91bmlxdWVJZGVudGlmaWVyKys7IH0KIAorICAgIFNjcmlwdE1vZHVsZUxvYWRl
ciYgbW9kdWxlTG9hZGVyKCkgeyByZXR1cm4gKm1fbW9kdWxlTG9hZGVyOyB9CisKICAgICAvLyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LgogICAgIEV2ZW50TG9vcFRhc2tHcm91cCYgZXZlbnRMb29w
KCkgZmluYWw7CiAgICAgYm9vbCBpc0NvbnRleHRUaHJlYWQoKSBjb25zdCBmaW5hbDsKQEAgLTg4
LDYgKzkxLDcgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KICAgICB2b2lkIGRlcmVmRXZlbnRU
YXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
U2NyaXB0TW9kdWxlTG9hZGVyPiBtX21vZHVsZUxvYWRlcjsKICAgICBXb3JrZXJPcldvcmtsZXRU
aHJlYWQqIG1fdGhyZWFkOwogICAgIFJlZlB0cjxXb3JrZXJFdmVudExvb3A+IG1fZXZlbnRMb29w
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudExvb3BUYXNrR3JvdXA+IG1fZGVmYXVsdFRhc2tH
cm91cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGNkNGVjMjQ2ODI1MjVhYWJjNjQyZDg3N2Ew
ZGEwMTFlYmRlMTE0MzEuLjkxYThhODc5NDU2ZTA2NzYyMjlhODcwOGE4NzUwOTk5M2EyZTI0ODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzUsMTUgKzM1LDIzIEBACiAjaW5jbHVkZSAiSlNF
eGVjU3RhdGUuaCIKICNpbmNsdWRlICJKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5j
bHVkZSAiSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRj
aEZhaWx1cmVLaW5kLmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5j
bHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEu
aCIKICNpbmNsdWRlICJXb3JrZXJDb25zb2xlQ2xpZW50LmgiCisjaW5jbHVkZSAiV29ya2VyU2Ny
aXB0RmV0Y2hlci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbXBsZXRpb24uaD4KICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9EZWZlcnJlZFdvcmtUaW1lci5oPgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0V4Y2VwdGlvbi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0V4Y2Vw
dGlvbkhlbHBlcnMuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HQ0FjdGl2aXR5Q2FsbGJh
Y2suaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTG9jay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTTW9kdWxlUmVjb3JkLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNOYXRpdmVTdGRG
dW5jdGlvbi5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hQYXJhbWV0
ZXJzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRjaGVyLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC0yMjgsNiArMjM2LDI0NSBAQCB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZAogICAgIH0K
IH0KIAorc3RhdGljIElkZW50aWZpZXIganNWYWx1ZVRvTW9kdWxlS2V5KEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGlmICh2YWx1ZS5p
c1N5bWJvbCgpKQorICAgICAgICByZXR1cm4gSWRlbnRpZmllcjo6ZnJvbVVpZChqc0Nhc3Q8U3lt
Ym9sKj4odmFsdWUpLT5wcml2YXRlTmFtZSgpKTsKKyAgICBBU1NFUlQodmFsdWUuaXNTdHJpbmco
KSk7CisgICAgcmV0dXJuIGFzU3RyaW5nKHZhbHVlKS0+dG9JZGVudGlmaWVyKGxleGljYWxHbG9i
YWxPYmplY3QpOworfQorCitKU0M6OkpTVmFsdWUgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlcjo6ZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYgbW9kdWxlUmVjb3JkKQor
eworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsK
KyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7
IHZtIH07CisgICAgcmV0dXJuIG1vZHVsZVJlY29yZC5ldmFsdWF0ZSgmZ2xvYmFsT2JqZWN0KTsK
K30KKworTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9s
bGVyOjpsb2FkTW9kdWxlU3luY2hyb25vdXNseShXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQoreworICAgIGlmIChp
c0V4ZWN1dGlvbkZvcmJpZGRlbigpKQorICAgICAgICByZXR1cm4gTWVzc2FnZVF1ZXVlVGVybWlu
YXRlZDsKKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFsT2Jq
ZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIGF1dG8gcHJv
dGVjdG9yID0gbWFrZVJlZihzY3JpcHRGZXRjaGVyKTsKKyAgICB7CisgICAgICAgIGF1dG8mIHBy
b21pc2UgPSBKU0V4ZWNTdGF0ZTo6bG9hZE1vZHVsZShnbG9iYWxPYmplY3QsIHNvdXJjZUNvZGUu
anNTb3VyY2VDb2RlKCksIEpTQzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHsgJnNjcmlw
dEZldGNoZXIgfSkpOworCisgICAgICAgIGF1dG8mIGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZl
U3RkRnVuY3Rpb246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFtwcm90
ZWN0b3JdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KSAtPiBKU0M6OkVuY29kZWRKU1ZhbHVlIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC0+dm0oKTsKKyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAg
ICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICAgICAgICAg
IElkZW50aWZpZXIgbW9kdWxlS2V5ID0ganNWYWx1ZVRvTW9kdWxlS2V5KGdsb2JhbE9iamVjdCwg
Y2FsbEZyYW1lLT5hcmd1bWVudCgwKSk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCB7IH0pOworICAgICAgICAgICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkQ29tcGxldGVk
KCptb2R1bGVLZXkuaW1wbCgpKTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGF1dG8mIHJlamVjdEhhbmRs
ZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBT
dHJpbmcoKSwgW3Byb3RlY3Rvcl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZy
YW1lKiBjYWxsRnJhbWUpIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKKyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIEpT
VmFsdWUgZXJyb3JWYWx1ZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CisgICAgICAgICAgICBp
ZiAoZXJyb3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgICAgICAgICAgYXV0byogb2JqZWN0
ID0gSlNDOjphc09iamVjdChlcnJvclZhbHVlKTsKKyAgICAgICAgICAgICAgICBpZiAoSlNWYWx1
ZSBmYWlsdXJlS2luZFZhbHVlID0gb2JqZWN0LT5nZXREaXJlY3Qodm0sIHN0YXRpY19jYXN0PEpT
Vk1DbGllbnREYXRhJj4oKnZtLmNsaWVudERhdGEpLmJ1aWx0aW5OYW1lcygpLmZhaWx1cmVLaW5k
UHJpdmF0ZU5hbWUoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBob3N0IHBy
b3BhZ2F0ZWQgZXJyb3IgaW4gdGhlIG1vZHVsZSBsb2FkZXIgcGlwZWxpbmUuCisgICAgICAgICAg
ICAgICAgICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8TW9kdWxlRmV0Y2hGYWlsdXJlS2luZD4oZmFp
bHVyZUtpbmRWYWx1ZS5hc0ludDMyKCkpKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgTW9k
dWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZDoKKyAgICAgICAgICAgICAgICAgICAgICAg
IHByb3RlY3Rvci0+bm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3IgeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hl
ZFNjcmlwdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBXVEY6Om51bGxvcHQKKyAgICAg
ICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgICAgICAgIGNhc2UgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2Vs
ZWQ6CisgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRXYXNDYW5j
ZWxlZCgpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICAgICAgICAgIHByb3Rl
Y3Rvci0+bm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3IgeworICAgICAgICAg
ICAgICAgIExvYWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hlZFNjcmlwdCwKKyAgICAgICAg
ICAgICAgICBMb2FkYWJsZVNjcmlwdDo6Q29uc29sZU1lc3NhZ2UgeworICAgICAgICAgICAgICAg
ICAgICBNZXNzYWdlU291cmNlOjpKUywKKyAgICAgICAgICAgICAgICAgICAgTWVzc2FnZUxldmVs
OjpFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgcmV0cmlldmVFcnJvck1lc3NhZ2UoKmdsb2Jh
bE9iamVjdCwgdm0sIGVycm9yVmFsdWUsIHNjb3BlKSwKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CisgICAgICAgIH0pOworCisgICAgICAgIHByb21pc2UudGhlbigmZ2xvYmFsT2JqZWN0
LCAmZnVsZmlsbEhhbmRsZXIsICZyZWplY3RIYW5kbGVyKTsKKyAgICB9CisgICAgbV9nbG9iYWxT
Y29wZS0+ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNrcG9pbnQoKTsKKworICAgIC8v
IERyaXZlIFJ1bkxvb3AgdW50aWwgd2UgZ2V0IGVpdGhlciBvZiAiV29ya2VyIGlzIHRlcm1pbmF0
ZWQiLCAiTG9hZGluZyBpcyBkb25lIiwgb3IgIkxvYWRpbmcgaXMgZmFpbGVkIi4KKyAgICBXb3Jr
ZXJSdW5Mb29wJiBydW5Mb29wID0gbV9nbG9iYWxTY29wZS0+d29ya2VyT3JXb3JrbGV0VGhyZWFk
KCktPnJ1bkxvb3AoKTsKKworICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIHJlY2VpdmUgbWVzc2Fn
ZXMgdGhhdCBhcmUgbm90IHJlbGF0ZWQgdG8gYXN5bmNocm9ub3VzIHJlc291cmNlIGxvYWRpbmcu
CisgICAgLy8gT3RoZXJ3aXNlLCBhIHdvcmtlciBkaXNjYXJkcyBzb21lIG1lc3NhZ2VzIGZyb20g
dGhlIG1haW4gdGhyZWFkIGhlcmUgaW4gYSByYWN5IHdheS4KKyAgICAvLyBGb3IgZXhhbXBsZSwg
dGhlIG1haW4gdGhyZWFkIGNhbiBwb3N0TWVzc2FnZSBqdXN0IGFmdGVyIGNyZWF0aW5nIGEgV29y
a2VyLiBJbiB0aGF0IGNhc2UsIHBvc3RNZXNzYWdlJ3MKKyAgICAvLyB0YXNrIGlzIHF1ZXVlZCBp
biBXb3JrZXJSdW5Mb29wIGJlZm9yZSBzdGFydCBydW5uaW5nIG1vZHVsZSBzY3JpcHRzLiBUaGlz
IHRhc2sgc2hvdWxkIG5vdCBiZSBkaXNjYXJkZWQKKyAgICAvLyBpbiB0aGUgZm9sbG93aW5nIGRy
aXZpbmcgb2YgdGhlIFJ1bkxvb3Agd2hpY2ggbWFpbmx5IGF0dGVtcHQgdG8gY29sbGVjdCBpbml0
aWFsIGxvYWQgb2YgbW9kdWxlIHNjcmlwdHMuCisgICAgU3RyaW5nIHRhc2tNb2RlID0gImxvYWRN
b2R1bGVzSW5Xb3JrZXJPcldvcmtsZXRNb2RlIl9zOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1
bHQgcmVzdWx0ID0gTWVzc2FnZVF1ZXVlTWVzc2FnZVJlY2VpdmVkOworICAgIHdoaWxlICgoIXBy
b3RlY3Rvci0+aXNMb2FkZWQoKSAmJiAhcHJvdGVjdG9yLT53YXNDYW5jZWxlZCgpKSAmJiByZXN1
bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICByZXN1bHQgPSBydW5Mb29w
LnJ1bkluTW9kZShtX2dsb2JhbFNjb3BlLCB0YXNrTW9kZSk7CisgICAgICAgIGlmIChyZXN1bHQg
IT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkKKyAgICAgICAgICAgIG1fZ2xvYmFsU2NvcGUtPmV2
ZW50TG9vcCgpLnBlcmZvcm1NaWNyb3Rhc2tDaGVja3BvaW50KCk7CisgICAgfQorCisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKwordm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjps
aW5rQW5kRXZhbHVhdGVNb2R1bGUoV29ya2VyU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwg
Y29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU3RyaW5nKiByZXR1cm5lZEV4Y2Vw
dGlvbk1lc3NhZ2UpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFs
T2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIE5ha2Vk
UHRyPEpTQzo6RXhjZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsKKyAgICBKU0V4ZWNTdGF0ZTo6
bGlua0FuZEV2YWx1YXRlTW9kdWxlKGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVVpZCh2
bSwgc2NyaXB0RmV0Y2hlci5tb2R1bGVLZXkoKSksIGpzVW5kZWZpbmVkKCksIHJldHVybmVkRXhj
ZXB0aW9uKTsKKyAgICBpZiAoKHJldHVybmVkRXhjZXB0aW9uICYmIGlzVGVybWluYXRlZEV4ZWN1
dGlvbkV4Y2VwdGlvbih2bSwgcmV0dXJuZWRFeGNlcHRpb24pKSB8fCBpc1Rlcm1pbmF0aW5nRXhl
Y3V0aW9uKCkpIHsKKyAgICAgICAgZm9yYmlkRXhlY3V0aW9uKCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAocmV0dXJuZWRFeGNlcHRpb24pIHsKKyAgICAgICAgaWYgKG1fZ2xv
YmFsU2NvcGUtPmNhbkluY2x1ZGVFcnJvckRldGFpbHMoc291cmNlQ29kZS5jYWNoZWRTY3JpcHQo
KSwgc291cmNlQ29kZS51cmwoKS5zdHJpbmcoKSkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJ
dCdzIG5vdCBncmVhdCB0aGF0IHRoaXMgY2FuIHJ1biBhcmJpdHJhcnkgY29kZSB0byBzdHJpbmct
aWZ5IHRoZSB2YWx1ZSBvZiB0aGUgZXhjZXB0aW9uLgorICAgICAgICAgICAgLy8gRG8gd2UgbmVl
ZCB0byBkbyBhbnl0aGluZyB0byBoYW5kbGUgdGhhdCBwcm9wZXJseSwgaWYgaXQsIHNheSwgcmFp
c2VzIGFub3RoZXIgZXhjZXB0aW9uPworICAgICAgICAgICAgaWYgKHJldHVybmVkRXhjZXB0aW9u
TWVzc2FnZSkKKyAgICAgICAgICAgICAgICAqcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gcmV0
dXJuZWRFeGNlcHRpb24tPnZhbHVlKCkudG9XVEZTdHJpbmcoJmdsb2JhbE9iamVjdCk7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBPdmVyd3JpdGUgdGhlIGRldGFpbGVkIGVycm9y
IHdpdGggYSBnZW5lcmljIGVycm9yLgorICAgICAgICAgICAgU3RyaW5nIGdlbmVyaWNFcnJvck1l
c3NhZ2UgeyAiU2NyaXB0IGVycm9yLiJfcyB9OworICAgICAgICAgICAgaWYgKHJldHVybmVkRXhj
ZXB0aW9uTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAqcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdl
ID0gZ2VuZXJpY0Vycm9yTWVzc2FnZTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBXb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUoY29uc3Qg
VVJMJiBtb2R1bGVVUkwsIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYmKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkgeworICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcihFeGNlcHRpb24geyBOb3RBbGxvd2VkRXJyb3IgfSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpbml0U2NyaXB0SWZOZWVkZWQoKTsKKworICAgIGF1dG8m
IGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsKKyAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisKKyAg
ICBhdXRvIHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpjcmVhdGUoY3JlZGVu
dGlhbHMpOworICAgIHsKKyAgICAgICAgYXV0byYgcHJvbWlzZSA9IEpTRXhlY1N0YXRlOjpsb2Fk
TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlVVJMLnN0cmluZygpLCBqc1VuZGVmaW5lZCgpLCBK
U0M6OkpTU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCB7IHNjcmlwdEZldGNoZXIucHRyKCkgfSkp
OworCisgICAgICAgIGF1dG8gdGFzayA9IGNyZWF0ZVNoYXJlZFRhc2s8dm9pZChPcHRpb25hbDxF
eGNlcHRpb24+JiYpPihbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKV0oT3B0aW9uYWw8RXhjZXB0aW9uPiYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CisgICAgICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGV4Y2VwdGlvbikpOworICAgICAgICB9KTsK
KworICAgICAgICBhdXRvJiBmdWxmaWxsSGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpj
cmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbdGFzaywgc2NyaXB0RmV0Y2hl
cl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIC0+
IEpTQzo6RW5jb2RlZEpTVmFsdWUgeworICAgICAgICAgICAgLy8gdGFzay0+cnVuKFdURjo6bnVs
bG9wdCk7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAg
ICAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICAgICAgICAgIElkZW50aWZpZXIgbW9kdWxl
S2V5ID0ganNWYWx1ZVRvTW9kdWxlS2V5KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT5hcmd1bWVu
dCgwKSk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAg
ICAgICAgICAgc2NyaXB0RmV0Y2hlci0+bm90aWZ5TG9hZENvbXBsZXRlZCgqbW9kdWxlS2V5Lmlt
cGwoKSk7CisKKyAgICAgICAgICAgIGF1dG8qIGNvbnRleHQgPSBkb3duY2FzdDxXb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZT4oanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICAgICAgICAgIGlmICghY29udGV4dCB8
fCAhY29udGV4dC0+c2NyaXB0KCkpIHsKKyAgICAgICAgICAgICAgICB0YXNrLT5ydW4oV1RGOjpu
dWxsb3B0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBOYWtlZFB0cjxKU0M6OkV4Y2Vw
dGlvbj4gcmV0dXJuZWRFeGNlcHRpb247CisgICAgICAgICAgICBKU0V4ZWNTdGF0ZTo6bGlua0Fu
ZEV2YWx1YXRlTW9kdWxlKCpnbG9iYWxPYmplY3QsIG1vZHVsZUtleSwganNVbmRlZmluZWQoKSwg
cmV0dXJuZWRFeGNlcHRpb24pOworICAgICAgICAgICAgaWYgKChyZXR1cm5lZEV4Y2VwdGlvbiAm
JiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0aW9uKSkg
fHwgY29udGV4dC0+c2NyaXB0KCktPmlzVGVybWluYXRpbmdFeGVjdXRpb24oKSkgeworICAgICAg
ICAgICAgICAgIGlmIChjb250ZXh0LT5zY3JpcHQoKSkKKyAgICAgICAgICAgICAgICAgICAgY29u
dGV4dC0+c2NyaXB0KCktPmZvcmJpZEV4ZWN1dGlvbigpOworICAgICAgICAgICAgICAgIHRhc2st
PnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChyZXR1
cm5lZEV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlOworICAgICAg
ICAgICAgICAgIGlmIChjb250ZXh0LT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxzKG51bGxwdHIsIG1v
ZHVsZUtleS5zdHJpbmcoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEl0J3Mg
bm90IGdyZWF0IHRoYXQgdGhpcyBjYW4gcnVuIGFyYml0cmFyeSBjb2RlIHRvIHN0cmluZy1pZnkg
dGhlIHZhbHVlIG9mIHRoZSBleGNlcHRpb24uCisgICAgICAgICAgICAgICAgICAgIC8vIERvIHdl
IG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQgcHJvcGVybHksIGlmIGl0LCBzYXks
IHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9
IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7Cisg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcndyaXRl
IHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAgICAgICAgICAgICAg
ICAgICAgbWVzc2FnZSA9ICJTY3JpcHQgZXJyb3IuIl9zOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBjb250ZXh0LT5yZXBvcnRFeGNlcHRpb24obWVzc2FnZSwgeyB9LCB7IH0s
IHsgfSwgeyB9LCB7IH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0YXNrLT5ydW4o
V1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGF1dG8mIHJlamVjdEhhbmRsZXIgPSAq
SlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBTdHJpbmco
KSwgW3Rhc2tdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZy
YW1lKSB7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAg
ICAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBKU1ZhbHVlIGVycm9y
VmFsdWUgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgICAgICAgICAgaWYgKGVycm9yVmFs
dWUuaXNPYmplY3QoKSkgeworICAgICAgICAgICAgICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6YXNP
YmplY3QoZXJyb3JWYWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKG9iamVjdC0+Z2V0RGlyZWN0
KHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSY+KCp2bS5jbGllbnREYXRhKS5idWlsdGlu
TmFtZXMoKS5mYWlsdXJlS2luZFByaXZhdGVOYW1lKCkpKSB7CisgICAgICAgICAgICAgICAgICAg
IGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAg
ICAgICAgICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUo
Kmdsb2JhbE9iamVjdCwgdm0sIG9iamVjdCwgY2F0Y2hTY29wZSk7CisgICAgICAgICAgICAgICAg
ICAgIHRhc2stPnJ1bihFeGNlcHRpb24geyBBYm9ydEVycm9yLCBtZXNzYWdlIH0pOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0LT5pbmhlcml0czxFcnJv
ckluc3RhbmNlPih2bSkpIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byogZXJyb3IgPSBqc0Nh
c3Q8RXJyb3JJbnN0YW5jZSo+KG9iamVjdCk7CisgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAo
ZXJyb3ItPmVycm9yVHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgRXJyb3JUeXBl
OjpUeXBlRXJyb3I6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gY2F0Y2hTY29wZSA9
IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5n
IG1lc3NhZ2UgPSByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmplY3Qs
IHZtLCBlcnJvciwgY2F0Y2hTY29wZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0YXNrLT5y
dW4oRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBtZXNzYWdlIH0pOworICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjYXNlIEVycm9yVHlwZTo6U3ludGF4RXJy
b3I6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVf
Q0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2Ug
PSByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJv
ciwgY2F0Y2hTY29wZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0YXNrLT5ydW4oRXhjZXB0
aW9uIHsgSlNTeW50YXhFcnJvciwgbWVzc2FnZSB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENI
X1NDT1BFKHZtKTsKKyAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJvck1l
c3NhZ2VXaXRob3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgY2F0Y2hTY29w
ZSk7CisgICAgICAgICAgICB0YXNrLT5ydW4oRXhjZXB0aW9uIHsgQWJvcnRFcnJvciwgbWVzc2Fn
ZSB9KTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CisgICAgICAgIH0pOworCisgICAgICAgIHByb21pc2UudGhlbigmZ2xvYmFsT2JqZWN0LCAmZnVs
ZmlsbEhhbmRsZXIsICZyZWplY3RIYW5kbGVyKTsKKyAgICB9CisgICAgbV9nbG9iYWxTY29wZS0+
ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNrcG9pbnQoKTsKK30KKwogdGVtcGxhdGU8
dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5hbWUgSlNHbG9iYWxTY29wZSwg
dHlwZW5hbWUgR2xvYmFsU2NvcGU+CiB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXI6OmluaXRTY3JpcHRXaXRoU3ViY2xhc3MoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaAppbmRleCBjNDkz
MDFhZWQzZGQwODlkYTc5NzMyNzYwY2FmMmY3YjY0ZGIxMWI2Li45ZjAyM2E2MmY4MTQzZTdkOTgy
ZmJmN2Y1OGVlZWFkY2EzYTViNTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaApAQCAtMzEsNiArMzEsNyBA
QAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTUnVuTG9vcFRpbWVyLmg+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9NZXNz
YWdlUXVldWUuaD4KICNpbmNsdWRlIDx3dGYvTmFrZWRQdHIuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CkBAIC00NCw5ICs0NSwxMSBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBMb2FkYWJsZU1vZHVsZVNj
cmlwdDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiBjbGFzcyBXb3JrZXJDb25zb2xlQ2xpZW50
OwogY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU7CitjbGFzcyBXb3JrZXJTY3JpcHRG
ZXRjaGVyOwogCiBjbGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyIHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyKTsKQEAg
LTk0LDYgKzk3LDEzIEBAIGNsYXNzIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIgewog
ICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIFN0cmluZyogcmV0dXJu
ZWRFeGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAgICAgdm9pZCBldmFsdWF0ZShjb25zdCBT
Y3JpcHRTb3VyY2VDb2RlJiwgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+JiByZXR1cm5lZEV4Y2Vw
dGlvbiwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKIAorICAg
IEpTQzo6SlNWYWx1ZSBldmFsdWF0ZU1vZHVsZShKU0M6OkpTTW9kdWxlUmVjb3JkJik7CisKKyAg
ICB2b2lkIGxpbmtBbmRFdmFsdWF0ZU1vZHVsZShXb3JrZXJTY3JpcHRGZXRjaGVyJiwgY29uc3Qg
U2NyaXB0U291cmNlQ29kZSYsIFN0cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gbnVs
bHB0cik7CisgICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBsb2FkTW9kdWxlU3luY2hyb25vdXNs
eShXb3JrZXJTY3JpcHRGZXRjaGVyJiwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYpOworCisgICAg
dm9pZCBsb2FkQW5kRXZhbHVhdGVNb2R1bGUoY29uc3QgVVJMJiBtb2R1bGVVUkwsIEZldGNoT3B0
aW9uczo6Q3JlZGVudGlhbHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0
aW9uPiYmKT4mJik7CisKIHByb3RlY3RlZDoKICAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZSogZ2xvYmFsU2NvcGUoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbFNjb3BlOyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCAzYTRkYWVm
YzM5MDJiZGIyZWE4NGZjNThkN2U0MmY4M2U1ZjA3ZTJmLi45ZjMxZDBkZmQ1OWE4NzA3ZmQ0ZWI1
OWNjM2M5MmEwNjY0ODFkZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgT3B0aW9uYWw8RXhjZXB0aW9uPiBX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCi12b2lkIFdvcmtlclNjcmlwdExvYWRl
cjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIFJlc291cmNlUmVxdWVzdCYmIHNjcmlwdFJlcXVlc3QsIEZldGNoT3B0aW9u
cyYmIGZldGNoT3B0aW9ucywgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSBzZXJ2aWNlV29y
a2VyTW9kZSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQpCit2b2lkIFdvcmtlclNj
cmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJlc291cmNlUmVxdWVzdCYmIHNjcmlwdFJlcXVlc3QsIEZl
dGNoT3B0aW9ucyYmIGZldGNoT3B0aW9ucywgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSBz
ZXJ2aWNlV29ya2VyTW9kZSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIFN0cmlu
ZyYmIHRhc2tNb2RlKQogewogICAgIG1fY2xpZW50ID0gJmNsaWVudDsKICAgICBtX3VybCA9IHNj
cmlwdFJlcXVlc3QudXJsKCk7CkBAIC0xMjMsOCArMTIzLDYgQEAgdm9pZCBXb3JrZXJTY3JpcHRM
b2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRF
eGVjdXQKICAgICBBU1NFUlQoZmV0Y2hPcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2Rl
OjpTYW1lT3JpZ2luIHx8IChmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gIT0gRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbjo6U2VydmljZXdvcmtlciAmJiBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24g
IT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSk7CiAKICAgICBUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucyBvcHRpb25zIHsgV1RGTW92ZShmZXRjaE9wdGlvbnMpIH07Ci0gICAgLy8g
RklYTUU6IFdlIHNob3VsZCBhZGQgYW4gb3B0aW9uIHRvIHNldCBjcmVkZW50aWFsIG1vZGUuCi0g
ICAgb3B0aW9ucy5jcmVkZW50aWFscyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVP
cmlnaW47CiAgICAgb3B0aW9ucy5zZW5kTG9hZENhbGxiYWNrcyA9IFNlbmRDYWxsYmFja1BvbGlj
eTo6U2VuZENhbGxiYWNrczsKICAgICBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50ID0gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ7CiAgICAgaWYgKGZldGNo
T3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTZXJ2aWNl
d29ya2VyKQpAQCAtMTQzLDcgKzE0MSw3IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2Fk
QXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAKICAg
ICAvLyBEdXJpbmcgY3JlYXRlLCBjYWxsYmFja3MgbWF5IGhhcHBlbiB3aGljaCByZW1vdmUgdGhl
IGxhc3QgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0LgogICAgIFJlZjxXb3JrZXJTY3JpcHRMb2Fk
ZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwotICAgIG1fdGhyZWFkYWJsZUxvYWRlciA9IFRocmVh
ZGFibGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCAqdGhpcywgV1RGTW92
ZSgqcmVxdWVzdCksIG9wdGlvbnMpOworICAgIG1fdGhyZWFkYWJsZUxvYWRlciA9IFRocmVhZGFi
bGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCAqdGhpcywgV1RGTW92ZSgq
cmVxdWVzdCksIG9wdGlvbnMsIHsgfSwgV1RGTW92ZSh0YXNrTW9kZSkpOwogfQogCiBjb25zdCBV
UkwmIFdvcmtlclNjcmlwdExvYWRlcjo6cmVzcG9uc2VVUkwoKSBjb25zdApAQCAtMTkwLDYgKzE4
OCw4IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvCiAgICAgbV9jZXJ0aWZpY2F0ZUluZm8gPSBy
ZXNwb25zZS5jZXJ0aWZpY2F0ZUluZm8oKSA/ICpyZXNwb25zZS5jZXJ0aWZpY2F0ZUluZm8oKSA6
IENlcnRpZmljYXRlSW5mbygpOwogICAgIG1fcmVzcG9uc2VNSU1FVHlwZSA9IHJlc3BvbnNlLm1p
bWVUeXBlKCk7CiAgICAgbV9yZXNwb25zZUVuY29kaW5nID0gcmVzcG9uc2UudGV4dEVuY29kaW5n
TmFtZSgpOworICAgIG1fcmVzcG9uc2VTb3VyY2UgPSByZXNwb25zZS5zb3VyY2UoKTsKKyAgICBt
X2lzUmVkaXJlY3RlZCA9IHJlc3BvbnNlLmlzUmVkaXJlY3RlZCgpOwogICAgIG1fY29udGVudFNl
Y3VyaXR5UG9saWN5ID0gQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIHsgcmVz
cG9uc2UgfTsKICAgICBtX3JlZmVycmVyUG9saWN5ID0gcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxk
KEhUVFBIZWFkZXJOYW1lOjpSZWZlcnJlclBvbGljeSk7CiAgICAgaWYgKG1fY2xpZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggN2ZkZDBiM2Y2
YTAxYzJkYjU3NzI0YTkwYjNiYjk4NDBmMWU2OGU1Zi4uY2ZhMzFhMzUzMjU5YWVlZDE5OGY5Mzkx
ZmZjMTUxMWI0MDUwYjg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRmV0Y2hPcHRpb25zLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgor
I2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVy
LmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPG1lbW9y
eT4KQEAgLTQzLDcgKzQ0LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXhjZXB0
aW9uOwotY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVy
Q2xpZW50OwpAQCAtNTgsNyArNTgsNyBAQCBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXIgOiBwdWJs
aWMgUmVmQ291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYQogICAgIH0K
IAogICAgIE9wdGlvbmFsPEV4Y2VwdGlvbj4gbG9hZFN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIGNvbnN0IFVSTCYsIEZldGNoT3B0aW9uczo6TW9kZSwgRmV0Y2hPcHRpb25z
OjpDYWNoZSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIGNvbnN0IFN0cmluZyYg
aW5pdGlhdG9ySWRlbnRpZmllcik7Ci0gICAgdm9pZCBsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBGZXRjaE9wdGlvbnMmJiwgQ29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSwgV29ya2Vy
U2NyaXB0TG9hZGVyQ2xpZW50Jik7CisgICAgdm9pZCBsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBGZXRjaE9wdGlvbnMmJiwgQ29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSwgV29ya2Vy
U2NyaXB0TG9hZGVyQ2xpZW50JiwgU3RyaW5nJiYgdGFza01vZGUpOwogCiAgICAgdm9pZCBub3Rp
ZnlFcnJvcigpOwogCkBAIC02Nyw2ICs2Nyw4IEBAIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlciA6
IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj4sIHB1YmxpYyBUaHJlYWRhCiAg
ICAgY29uc3QgU3RyaW5nJiByZWZlcnJlclBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmZXJy
ZXJQb2xpY3k7IH0KICAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fdXJsOyB9
CiAgICAgY29uc3QgVVJMJiByZXNwb25zZVVSTCgpIGNvbnN0OworICAgIFJlc291cmNlUmVzcG9u
c2U6OlNvdXJjZSByZXNwb25zZVNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2VTb3Vy
Y2U7IH0KKyAgICBib29sIGlzUmVkaXJlY3RlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZWRpcmVj
dGVkOyB9CiAgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogICAgIGNvbnN0IFN0cmluZyYgcmVzcG9u
c2VNSU1FVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2VNSU1FVHlwZTsgfQogICAgIGJv
b2wgZmFpbGVkKCkgY29uc3QgeyByZXR1cm4gbV9mYWlsZWQ7IH0KQEAgLTEwNyw2ICsxMDksOCBA
QCBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJTY3Jp
cHRMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYQogICAgIHVuc2lnbmVkIGxvbmcgbV9pZGVudGlmaWVy
IHsgMCB9OwogICAgIGJvb2wgbV9mYWlsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9maW5pc2hp
bmcgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1JlZGlyZWN0ZWQgeyBmYWxzZSB9OworICAgIFJl
c291cmNlUmVzcG9uc2U6OlNvdXJjZSBtX3Jlc3BvbnNlU291cmNlIHsgUmVzb3VyY2VSZXNwb25z
ZTo6U291cmNlOjpVbmtub3duIH07CiAgICAgUmVzb3VyY2VFcnJvciBtX2Vycm9yOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IDcyNzkwYTAzMzIyNjE5
ZTZlZTdlNjE2YThiZGUxOGJkNTUyYTU3ODMuLjYzZWU4YzhkMzZmM2JkNzI0NjM1M2M1YmRmODQx
N2RkODEwN2M0YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAg
LTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNv
Y2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRl
ICJXb3JrZXJTY3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0
Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC01NSw2ICs1Nyw4IEBAIFdvcmtlclBhcmFtZXRlcnMgV29ya2VyUGFyYW1ldGVy
czo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICAgICAgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LAogICAgICAgICB0aW1lT3JpZ2luLAogICAgICAgICByZWZlcnJl
clBvbGljeSwKKyAgICAgICAgd29ya2VyVHlwZSwKKyAgICAgICAgY3JlZGVudGlhbHMsCiAgICAg
ICAgIHNldHRpbmdzVmFsdWVzLmlzb2xhdGVkQ29weSgpCiAgICAgfTsKIH0KQEAgLTEyMyw5ICsx
MjcsMzEgQEAgYm9vbCBXb3JrZXJUaHJlYWQ6OnNob3VsZFdhaXRGb3JXZWJJbnNwZWN0b3JPblN0
YXJ0dXAoKSBjb25zdAogCiB2b2lkIFdvcmtlclRocmVhZDo6ZXZhbHVhdGVTY3JpcHRJZk5lY2Vz
c2FyeShTdHJpbmcmIGV4Y2VwdGlvbk1lc3NhZ2UpCiB7Ci0gICAgZ2xvYmFsU2NvcGUoKS0+c2Ny
aXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29k
ZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3Nh
Z2UpOwotCi0gICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgLy8gV2UgYXJlIGN1
cnJlbnRseSBob2xkaW5nIG9ubHkgdGhlIGluaXRpYWwgc2NyaXB0IGNvZGUuIElmIHRoZSBXb3Jr
ZXJUeXBlIGlzIE1vZHVsZSwgd2Ugc2hvdWxkIGZldGNoIHRoZSBlbnRpcmUgZ3JhcGggYmVmb3Jl
IGV4ZWN1dGluZyB0aGUgcmVzdCBvZiB0aGlzLgorICAgIC8vIFdlIGludm9rZSBtb2R1bGUgbG9h
ZGVyIGFzIGlmIHdlIGFyZSBleGVjdXRpbmcgaW5saW5lIG1vZHVsZSBzY3JpcHQgdGFnIGluIERv
Y3VtZW50LgorCisgICAgaWYgKG1fc3RhcnR1cERhdGEtPnBhcmFtcy53b3JrZXJUeXBlID09IFdv
cmtlclR5cGU6OkNsYXNzaWMpIHsKKyAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmV2
YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1f
c3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAg
ICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICAv
LyBGSVhNRSBmaXggaW5pdGlhdG9yIG5hbWUuCisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgc291
cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFy
YW1zLnNjcmlwdFVSTCksIHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVs
ZSk7CisgICAgICAgIGF1dG8gc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZldGNoZXI6OmNy
ZWF0ZShnbG9iYWxTY29wZSgpLT5jcmVkZW50aWFscygpKTsKKyAgICAgICAgTWVzc2FnZVF1ZXVl
V2FpdFJlc3VsdCByZXN1bHQgPSBnbG9iYWxTY29wZSgpLT5zY3JpcHQoKS0+bG9hZE1vZHVsZVN5
bmNocm9ub3VzbHkoc2NyaXB0RmV0Y2hlci5nZXQoKSwgc291cmNlQ29kZSk7CisgICAgICAgIGlm
IChyZXN1bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICAgICAgaWYgKE9w
dGlvbmFsPExvYWRhYmxlU2NyaXB0OjpFcnJvcj4gZXJyb3IgPSBzY3JpcHRGZXRjaGVyLT5lcnJv
cigpKSB7CisgICAgICAgICAgICAgICAgaWYgKE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpDb25z
b2xlTWVzc2FnZT4gbWVzc2FnZSA9IGVycm9yLT5jb25zb2xlTWVzc2FnZSkKKyAgICAgICAgICAg
ICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IG1lc3NhZ2UtPm1lc3NhZ2U7CisgICAgICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gIkltcG9y
dGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfczsKKyAgICAgICAgICAgICAgICBnbG9iYWxT
Y29wZSgpLT5yZXBvcnRFeGNlcHRpb24oZXhjZXB0aW9uTWVzc2FnZSwgeyB9LCB7IH0sIHsgfSwg
eyB9LCB7IH0pOworICAgICAgICAgICAgfSBlbHNlIGlmICghc2NyaXB0RmV0Y2hlci0+d2FzQ2Fu
Y2VsZWQoKSkgeworICAgICAgICAgICAgICAgIC8vIEV2YWx1YXRlLgorICAgICAgICAgICAgICAg
IGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5saW5rQW5kRXZhbHVhdGVNb2R1bGUoc2NyaXB0RmV0
Y2hlci5nZXQoKSwgc291cmNlQ29kZSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICAgICAg
ICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQogCiAgICAgLy8gRnJlZSB0aGUgc3RhcnR1cCBkYXRhIHRvIGNhdXNlIGl0cyBtZW1i
ZXIgdmFyaWFibGUgZGVyZWYncyBoYXBwZW4gb24gdGhlIHdvcmtlcidzIHRocmVhZCAoc2luY2UK
ICAgICAvLyBhbGwgcmVmL2RlcmVmcyBvZiB0aGVzZSBvYmplY3RzIGFyZSBoYXBwZW5pbmcgb24g
dGhlIHRocmVhZCBhdCB0aGlzIHBvaW50KS4gTm90ZSB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuaAppbmRleCA4ODkwNzkwOGU3YTliODA5ZThmMmE0ZTQ3M2Q3NTJkMTFkMjkz
N2MwLi45NTEyZWZkYjE4ZjMyYTUwZWNiN2ZiNTY5NTlkNjFlODg3MmZhMWQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKQEAgLTI2LDcgKzI2LDEwIEBACiAjcHJhZ21hIG9u
Y2UKIAogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgor
I2luY2x1ZGUgIkZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JX
b3JrbGV0VGhyZWFkLmgiCisjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgorI2luY2x1ZGUgIldv
cmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNp
bmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNjMsNiArNjYsOCBAQCBz
dHJ1Y3QgV29ya2VyUGFyYW1ldGVycyB7CiAgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luOwogICAg
IFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5OworICAgIFdvcmtlclR5cGUgd29ya2VyVHlw
ZTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFsczsKICAgICBTZXR0aW5n
czo6VmFsdWVzIHNldHRpbmdzVmFsdWVzOwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRl
ZENvcHkoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKaW5kZXggMGIwZWQ4
NjBkOWM3MTQyMzhhMmE1YmI5ZmRmNDM4NDAyZDE2ZWJmMC4uMWMxYmI5NDQ4NjdhZGY0ZWQ1Nzhh
MjgxNGZhMzMyMzI2YWVkOGE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKQEAg
LTI3LDcgKzI3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFdvcmtl
clR5cGUgeworZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogdWludDhfdCB7CiAgICAgQ2xhc3NpYywK
ICAgICBNb2R1bGUsCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggZWJiZTk1ZTg5MjRjOGYxZDczNzUy
NWRlYTE2MzBiMWZhZDU2ZmIyNy4uNGM3ZGRmNGE0YzEzMWUwZGNkNmJhMDk1MDlhYjJkOTc1NzVm
MzBjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIE5hdmlnYXRvckJh
c2U7CiBjbGFzcyBTZXJ2aWNlV29ya2VyOwogCiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRh
dGVWaWFDYWNoZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVtIGNsYXNz
IFdvcmtlclR5cGUgOiB1aW50OF90OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFz
cyBET01Qcm9taXNlUHJveHk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcAppbmRleCBlYzM5YzBmODQ5YTU0ZTFiNmQwYmVlMzRh
OGQ3ZDE5Y2JhNDVlMjg4Li5mOTUxMGNiZjZmZGY3MDQ2ZjdkMWI5MjIzNjkxNzRkMDFmYTBiZTA5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckpvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJKb2IuY3BwCkBAIC0xMTAsNyArMTEwLDggQEAgdm9pZCBTZXJ2aWNlV29ya2VySm9iOjpmZXRj
aFNjcmlwdFdpdGhDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEYKICAg
ICBvcHRpb25zLmNhY2hlID0gY2FjaGVQb2xpY3k7CiAgICAgb3B0aW9ucy5yZWRpcmVjdCA9IEZl
dGNoT3B0aW9uczo6UmVkaXJlY3Q6OkVycm9yOwogICAgIG9wdGlvbnMuZGVzdGluYXRpb24gPSBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTZXJ2aWNld29ya2VyOwotICAgIG1fc2NyaXB0TG9h
ZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92
ZShvcHRpb25zKSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3Jj
ZSwgU2VydmljZVdvcmtlcnNNb2RlOjpOb25lLCAqdGhpcyk7CisgICAgb3B0aW9ucy5jcmVkZW50
aWFscyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW47CisgICAgbV9zY3Jp
cHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBX
VEZNb3ZlKG9wdGlvbnMpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RF
bmZvcmNlLCBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmUsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpk
ZWZhdWx0TW9kZSgpKTsKIH0KIAogUmVzb3VyY2VFcnJvciBTZXJ2aWNlV29ya2VySm9iOjp2YWxp
ZGF0ZVNlcnZpY2VXb3JrZXJSZXNwb25zZShjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9i
RGF0YSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlv
bnMuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uT3B0aW9ucy5oCmluZGV4IDlkNTAwZjg1YWNiMTg4NDFjYzU1YmVhODIxMWRiMTRmYWRj
OTc0NzUuLjJlMzU1N2ZhN2RmNjdmMWJmOThjN2I3YTVkZTRiMGE1YTdiY2NjZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oCkBAIC0zMiw3ICszMiw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGVudW0gY2xhc3MgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIDogdWlu
dDhfdDsKLWVudW0gY2xhc3MgV29ya2VyVHlwZTsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVp
bnQ4X3Q7CiAKIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucyB7CiAgICAg
U3RyaW5nIHNjb3BlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCBjOGE3YTk5NzJm
OWNjOGMxNmE3OTY3NTExNTUyZjU0OTNhNjg2Zjk4Li4zM2NhMGVjMjNiNThhNTUxMTg3Njg0NmJh
MDcxODM1MzJiNWM0N2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNzMsOCAr
NzMsOSBAQCBjbGFzcyBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSA6IHB1YmxpYyBXb3Jr
ZXJPYmplY3RQcm94eSB7CiAvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2VyT2JqZWN0UHJveHkK
IC8vIEZJWE1FOiBVc2UgdmFsaWQgcnVudGltZSBmbGFncwogCisvLyBGSVhNRTogVXNlIGEgdmFs
aWQgV29ya2VyVHlwZSBhbmQgQ3JlZGVudGFpbHMgZm9yIG1vZHVsZSBzZXJ2aWNlIHdvcmtlcnMu
CiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgU3RyaW5nJiYgdXNlckFnZW50LCBjb25zdCBTZXR0aW5n
czo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcywgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5
LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklEQkNvbm5l
Y3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJv
dmlkZXIpCi0gICAgOiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmco
KSwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVh
dGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCkt
PmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5
LCBmYWxzZSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0
YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJU
aHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRh
LnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRi
Q29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0
ZUFsbEVuYWJsZWQoKSkKKyAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0
eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rv
cnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0
ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJp
dHlQb2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBXb3JrZXJUeXBlOjpD
bGFzc2ljLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFsczo6U2FtZU9yaWdpbiwgc2V0dGluZ3NWYWx1
ZXMgfSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZp
Y2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9y
bWFsLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5n
ZXQoKSwgaWRiQ29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxh
Z3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkKICAgICAsIG1fZGF0YShkYXRhLmlzb2xhdGVkQ29weSgp
KQogICAgICwgbV93b3JrZXJPYmplY3RQcm94eShEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94
eTo6c2hhcmVkKCkpCiAgICAgLCBtX2hlYXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0TWFuYWdlcjo6
c2luZ2xldG9uKCkuY29ubmVjdGlvbigpLT5zaG91bGRVc2VTaG9ydFRpbWVvdXQoKSA/IGhlYXJ0
QmVhdFRpbWVvdXRGb3JUZXN0IDogaGVhcnRCZWF0VGltZW91dCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAppbmRleCAy
ZGRkYjNiNWI0MWVkODdiZDYxNGEwYjk0ZDA5Yjc2MTI5M2Q3NjA3Li4zNzhmYmE2NTdlOGJiZjQ4
NDFlNTZjYmY4NjU2MWY4ZWNjMzExMDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCkBAIC01MCw3ICs1MCw3IEBA
IHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsKIHN0cnVjdCBTZXJ2aWNlV29y
a2VyQ2xpZW50UXVlcnlPcHRpb25zOwogc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTsK
IHN0cnVjdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXI7Ci1lbnVtIGNsYXNzIFdvcmtl
clR5cGU7CitlbnVtIGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90OwogCiBjbGFzcyBTV1NlcnZl
cldvcmtlciA6IHB1YmxpYyBSZWZDb3VudGVkPFNXU2VydmVyV29ya2VyPiB7CiBwdWJsaWM6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCBk
NzA0ODg2NjQ4YzBlZmFhNmI3ODA4NGM1Mzg3MjAxY2EyYjFjNTQzLi4yYWUwZTMzODkxZGJjODlm
MTQ2ODdkNDE0ODAyYWFhMTJkMGQ4NGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
bGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRz
L1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTE1OCw3MiArMTU4LDcgQEAgUmVmZXJyZXJQb2xp
Y3kgV29ya2xldEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0CiB2b2lkIFdvcmts
ZXRHbG9iYWxTY29wZTo6ZmV0Y2hBbmRJbnZva2VTY3JpcHQoY29uc3QgVVJMJiBtb2R1bGVVUkws
IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAg
QVNTRVJUKCFpc01haW5UaHJlYWQoKSk7Ci0gICAgbV9zY3JpcHRGZXRjaEpvYnMuYXBwZW5kKHsg
bW9kdWxlVVJMLCBjcmVkZW50aWFscywgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikgfSk7Ci0g
ICAgcHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKCk7Ci19Ci0KLXZvaWQgV29ya2xl
dEdsb2JhbFNjb3BlOjpwcm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKQotewotICAg
IGlmIChtX3NjcmlwdEZldGNoSm9icy5pc0VtcHR5KCkgfHwgbV9zY3JpcHRMb2FkZXIpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGF1dG8mIHNjcmlwdEZldGNoSm9iID0gbV9zY3JpcHRGZXRjaEpv
YnMuZmlyc3QoKTsKLQotICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0IHsgc2NyaXB0RmV0Y2hK
b2IubW9kdWxlVVJMIH07Ci0KLSAgICBGZXRjaE9wdGlvbnMgZmV0Y2hPcHRpb25zOwotICAgIGZl
dGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpDb3JzOwotICAgIGZldGNoT3B0
aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1bHQ7Ci0gICAgZmV0Y2hPcHRp
b25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6Rm9sbG93OwotICAgIGZldGNo
T3B0aW9ucy5jcmVkZW50aWFscyA9IHNjcmlwdEZldGNoSm9iLmNyZWRlbnRpYWxzOwotI2lmIEVO
QUJMRShXRUJfQVVESU8pCi0gICAgaWYgKGlzQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUoKSkKLSAg
ICAgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6QXVkaW93b3JrbGV0OwotI2VuZGlmCi0jaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCi0g
ICAgaWYgKGlzUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUoKSkKLSAgICAgICAgZmV0Y2hPcHRpb25z
LmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6UGFpbnR3b3JrbGV0Owot
I2VuZGlmCi0KLSAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KCkgPyBDb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlIDogQ29udGVudFNlY3VyaXR5UG9saWN5
RW5mb3JjZW1lbnQ6OkVuZm9yY2VDaGlsZFNyY0RpcmVjdGl2ZTsKLQotICAgIG1fc2NyaXB0TG9h
ZGVyID0gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKTsKLSAgICBtX3NjcmlwdExvYWRlci0+
bG9hZEFzeW5jaHJvbm91c2x5KCp0aGlzLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNo
T3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vy
c01vZGU6OkFsbCwgKnRoaXMpOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKQotewot
fQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6bm90aWZ5RmluaXNoZWQoKQotewotICAgIGF1
dG8gY29tcGxldGVkSm9iID0gbV9zY3JpcHRGZXRjaEpvYnMudGFrZUZpcnN0KCk7Ci0KLSAgICBp
ZiAobV9zY3JpcHRMb2FkZXItPmZhaWxlZCgpKSB7Ci0gICAgICAgIGRpZENvbXBsZXRlU2NyaXB0
RmV0Y2hKb2IoV1RGTW92ZShjb21wbGV0ZWRKb2IpLCBFeGNlcHRpb24geyBBYm9ydEVycm9yLCBt
YWtlU3RyaW5nKCJGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogIiwgbV9zY3JpcHRMb2Fk
ZXItPmVycm9yKCkubG9jYWxpemVkRGVzY3JpcHRpb24oKSkgfSk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmVhbGx5IGJlIHJ1biBhcyBhIG1v
ZHVsZSBzY3JpcHQgYnV0IHdlIGRvbid0IHN1cHBvcnQgdGhpcyBpbiB3b3JrZXJzIHlldC4KLSAg
ICBVUkwgbW9kdWxlVVJMKG1fc2NyaXB0TG9hZGVyLT5yZXNwb25zZVVSTCgpKTsKLSAgICBhdXRv
IGFkZFJlc3VsdCA9IG1fZXZhbHVhdGVkTW9kdWxlcy5hZGQobW9kdWxlVVJMKTsKLSAgICBpZiAo
YWRkUmVzdWx0LmlzTmV3RW50cnkpIHsKLSAgICAgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+
IGV4Y2VwdGlvbjsKLSAgICAgICAgc2NyaXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUo
bV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBXVEZNb3ZlKG1vZHVsZVVSTCkpLCBleGNlcHRpb24p
OwotICAgICAgICBpZiAoZXhjZXB0aW9uKQotICAgICAgICAgICAgc2NyaXB0KCktPnNldEV4Y2Vw
dGlvbihleGNlcHRpb24pOwotICAgIH0KLQotICAgIGRpZENvbXBsZXRlU2NyaXB0RmV0Y2hKb2Io
V1RGTW92ZShjb21wbGV0ZWRKb2IpLCB7IH0pOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29w
ZTo6ZGlkQ29tcGxldGVTY3JpcHRGZXRjaEpvYihTY3JpcHRGZXRjaEpvYiYmIGpvYiwgT3B0aW9u
YWw8RXhjZXB0aW9uPiByZXN1bHQpCi17Ci0gICAgbV9zY3JpcHRMb2FkZXIgPSBudWxscHRyOwot
Ci0gICAgam9iLmNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocmVzdWx0KSk7Ci0KLSAgICBwcm9j
ZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKTsKKyAgICBzY3JpcHQoKS0+bG9hZEFuZEV2
YWx1YXRlTW9kdWxlKG1vZHVsZVVSTCwgY3JlZGVudGlhbHMsIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIH0KIAogTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXImIFdvcmtsZXRHbG9iYWxT
Y29wZTo6bWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
bGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCBmMjMyMGYwZDEzMDI1Y2VhYjNiYWM1NmE0
NWVjMmQxZGQzZmI2Y2MwLi5mZTU0Yjg1MzI1Njc5MjU4M2RlZGEwNTVhNDMzYTI1NjU0ZTg2NzUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAt
MzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFNj
cmlwdENvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlTWVzc2FnZS5oPgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFncy5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFu
ZGxlci5oPgpAQCAtNTQsNyArNTMsNyBAQCBzdHJ1Y3QgV29ya2xldFBhcmFtZXRlcnM7CiBlbnVt
IFdvcmtsZXRHbG9iYWxTY29wZUlkZW50aWZpZXJUeXBlIHsgfTsKIHVzaW5nIFdvcmtsZXRHbG9i
YWxTY29wZUlkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFdvcmtsZXRHbG9iYWxTY29wZUlk
ZW50aWZpZXJUeXBlPjsKIAotY2xhc3MgV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsK
K2NsYXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXb3JrbGV0R2xvYmFsU2NvcGUpOwog
cHVibGljOgogICAgIHZpcnR1YWwgfldvcmtsZXRHbG9iYWxTY29wZSgpOwpAQCAtMTExLDEwICsx
MTAsNiBAQCBjbGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0
R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJTY3JpcAogICAgIHZvaWQgYWRkTWVzc2FnZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIHVu
c2lnbmVkLCB1bnNpZ25lZCwgUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiYmLCBK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgdW5zaWduZWQgbG9uZykgZmluYWw7CiAgICAgdm9pZCBhZGRD
b25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYs
IHVuc2lnbmVkIGxvbmcpIGZpbmFsOwogCi0gICAgLy8gV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50
LgotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsOwotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQo
KSBmaW5hbDsKLQogICAgIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCkgZmluYWwgeyBy
ZXR1cm4gdGhpczsgfQogCiAjaWYgRU5BQkxFKFdFQl9DUllQVE8pCkBAIC0xMjUsMTUgKzEyMCw2
IEBAIGNsYXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZSwgcHVibGljIFdvcmtlclNjcmlwCiAgICAgU3RyaW5nIHVzZXJBZ2VudChjb25zdCBV
UkwmKSBjb25zdCBmaW5hbDsKICAgICBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1Zh
bHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXM7IH0KIAotICAgIHN0
cnVjdCBTY3JpcHRGZXRjaEpvYiB7Ci0gICAgICAgIFVSTCBtb2R1bGVVUkw7Ci0gICAgICAgIEZl
dGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwotICAgICAgICBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+IGNvbXBsZXRpb25IYW5kbGVyOwotICAg
IH07Ci0KLSAgICB2b2lkIHByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCgpOwotICAg
IHZvaWQgZGlkQ29tcGxldGVTY3JpcHRGZXRjaEpvYihTY3JpcHRGZXRjaEpvYiYmLCBPcHRpb25h
bDxFeGNlcHRpb24+KTsKLQogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7CiAKICAg
ICBSZWY8U2VjdXJpdHlPcmlnaW4+IG1fdG9wT3JpZ2luOwpAQCAtMTQ0LDkgKzEzMCw2IEBAIGNs
YXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZSwgcHVibGljIFdvcmtlclNjcmlwCiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyTWVzc2Fn
ZVBvcnRDaGFubmVsUHJvdmlkZXI+IG1fbWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI7CiAKLSAg
ICBSZWZQdHI8V29ya2VyU2NyaXB0TG9hZGVyPiBtX3NjcmlwdExvYWRlcjsKLSAgICBEZXF1ZTxT
Y3JpcHRGZXRjaEpvYj4gbV9zY3JpcHRGZXRjaEpvYnM7Ci0gICAgSGFzaFNldDxVUkw+IG1fZXZh
bHVhdGVkTW9kdWxlczsKICAgICBTZXR0aW5nczo6VmFsdWVzIG1fc2V0dGluZ3NWYWx1ZXM7CiB9
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMWFkYzI4YTZkNzFlZDhhMzNmZmRmOWRhZDE3OGE1MmE3MDQ4NGQyYy4uNmU2
MzIwYWQ4YzVjODQ2NzEwMDNlOWZjZDhmMDgxYjU0N2YzMGEyNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDIxLTAyLTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogd2ViYXVk
aW8vYXVkaW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wMi0xMSAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JF
U1NJT04ocjI3MjI5MykgV2ViR0wgMS4wLjIgdGVzdCBleHBlY3RhdGlvbnMgc2F5IEhUVFBTCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA1MWY5ZDZkMmM0YTAwY2ZmMzUzZTJlYWU1
MGU2NzM3NjZkY2Q1YjlhLi40ZTQwZWVkNjlmMTZjN2VhZDkzNTQzOWI1M2YwNDY2MmJkYmYxZTc0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAyMS0w
Mi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1v
ZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3Bv
aW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13
b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29y
a2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9y
ZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFs
dWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9k
dWxld29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1p
bi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1l
LW9yaWdpbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9X
b3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxl
cy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1w
b3J0LW1ldGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1sOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVy
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFt
ZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNzcC5odHRw
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1
ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5odHRwcy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVj
dGVkLXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAyLTExICBTYWlkIEFib3Ut
SGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGlu
ZyByMjcwNTc4LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzllOTBhOTZmMGNkYjZjZTkxMGYyYmNl
NWM3Nzg2MjM5ZGY5ZDkwYi4uNjFhZDFkNWJhNjNiNTZmNDI0NGU4ZGUzYmJhMTA1YjljMjZhNDk4
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC02NDAsNyArNjQwLDYgQEAgZmFzdC9kb20vY29ubmVj
dGVkLXN1YmZyYW1lLWNvdW50ZXItb3ZlcmZsb3cuaHRtbCBbIFNsb3cgXQogWyBEZWJ1ZyBdIGh0
dHAvdGVzdHMvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtMi5odG1sIFsgU2xvdyBdCiAKICMg
U2tpcCB3b3JrZXJzIHRlc3RzIHRoYXQgYXJlIHRpbWluZyBvdXQgb3IgYXJlIFNoYXJlZFdvcmtl
ciByZWxhdGVkIG9ubHkKLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9j
b25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9kYXRhLXVybC1zaGFyZWQuaHRtbCBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2V4YW1wbGVzL29uY29u
bmVjdC5hbnkuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2V4YW1wbGVzL29uY29ubmVjdC5hbnkud29ya2VyLmh0bWwgWyBTa2lwIF0KQEAgLTY2
Myw3ICs2NjIsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hh
cmVkV29ya2VyLXJlcGxhY2UtRXZlbnRIYW5kbGVyLmFueS5odAogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlci1yZXBsYWNlLUV2ZW50SGFuZGxlci5h
bnkud29ya2VyLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9TaGFyZWRXb3JrZXItc2NyaXB0LWVycm9yLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9TaGFyZWRXb3JrZXItc2ltcGxlLmh0bWwg
WyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
b3B0aW9ucy1jcmVkZW50aWFscy5odG1sIFsgU2tpcCBdCiAKIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyIFsgU2tpcCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9u
b24tb2JqZWN0LnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDQ5MjY5YjNiNTBiOTE3NWNiNjJlY2EzMTJlNTg2
YjNiMTY2MmEyNTkuLjJjYWU1ZjdlMzVhMzJmZWNlYjI2OGYyOTAwMDBlNGU1NTU2YzY4NjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25v
bi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZl
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCi1GQUlMIE5vbi1vYmpl
Y3Q6IG51bGwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9udWxsLmpzb24nLiIK
LUZBSUwgTm9uLW9iamVjdDogdHJ1ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcu
L3RydWUuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9y
dCB0aGUgbW9kdWxlICcuL2ZhbHNlLmpzb24nLiIKLUZBSUwgTm9uLW9iamVjdDogc3RyaW5nIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9y
OiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vc3RyaW5nLmpzb24nLiIKLUZBSUwgTm9u
LW9iamVjdDogYXJyYXkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9hcnJheS5q
c29uJy4iCitGQUlMIE5vbi1vYmplY3Q6IG51bGwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiB0
cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQg
TUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVjdDogZmFsc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24v
anNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2Jq
ZWN0OiBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2
YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBhcnJheSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBs
aWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hl
Y2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9p
bnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLmY2OGNjNzNiNGQ2
NzRjNTRkZmFmZTUyMjEyYjY0M2M0MDMwZmQ0MmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9i
YWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2Jh
bHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotSGFy
bmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZBSUwgUHJvbWlzZSByZXNv
bHZlZCBkdXJpbmcgI3JlcG9ydC10aGUtZXJyb3IgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3Ro
cyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsiaGFuZGxlciAxIiwgImhhbmRsZXIgMiIsICJoYW5k
bGVyIDEgcHJvbWlzZSIsICJoYW5kbGVyIDIgcHJvbWlzZSJdIGxlbmd0aCA0LCBnb3QgW10gbGVu
Z3RoIDAKK1BBU1MgUHJvbWlzZSByZXNvbHZlZCBkdXJpbmcgZXZlbnQgaGFuZGxlcnMgb3RoZXIg
dGhhbiBlcnJvcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlw
dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVj
dGVkLnR4dAppbmRleCA1MWQ2MTAwZTYxMjJhOTdjMzY0YjNjZWIxZDdmZDA3ZTBlMTU2MTE3Li5h
ODA1MGMwNzhjZjhiODhkNTY4YWZmZTBkNTVjYzMxOTBjMzY1NDdhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEv
YmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNl
LXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAK
LUZBSUwgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJy
b3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9pbXBvcnQuanM/cGlwZT1oZWFkZXIo
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPXJlbGF0aXZlLWNyb3NzLW9yaWdp
biBpbXBvcnRTY3JpcHRzKCknLiIKLUZBSUwgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBzYW1lLW9y
aWdpbiBpbXBvcnRTY3JpcHRzKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnaHR0
cDovLzEyNy4wLjAuMTo4ODAwL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvZ2FtbWEvaW1wb3J0LmpzP3BpcGU9aGVhZGVy
KEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1hYnNvbHV0ZS1jcm9zcy1vcmln
aW4gaW1wb3J0U2NyaXB0cygpJy4iCi1QQVNTIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gY3Jvc3Mt
b3JpZ2luIGltcG9ydFNjcmlwdHMoKQotRkFJTCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIGNyb3Nz
LW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAn
aHR0cDovLzEyNy4wLjAuMTo4ODAwL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3Jp
cHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvZ2FtbWEvaW1wb3J0LmpzP3BpcGU9aGVh
ZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1hYnNvbHV0ZS1jcm9zcy1v
cmlnaW4gaW1wb3J0U2NyaXB0cygpJy4iCitQQVNTIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gc2Ft
ZS1vcmlnaW4gaW1wb3J0U2NyaXB0cygpCitQQVNTIEFic29sdXRlIFVSTC1saWtlIGZyb20gc2Ft
ZS1vcmlnaW4gaW1wb3J0U2NyaXB0cygpCitGQUlMIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gY3Jv
c3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBhc3NlcnRfZXF1YWxzOiBSZWxhdGl2ZSBVUkwtbGlr
ZSBzcGVjaWZpZXIgcmVzb2x1dGlvbiBzaG91bGQgZmFpbCBleHBlY3RlZCAiKHVucmVhY2hlZCki
IGJ1dCBnb3QgImdhbW1hL2ltcG9ydC5qcyIKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBj
cm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13
b3JrZXIuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVk
LnR4dAppbmRleCA4NjZlYmIyMjdhZDI2YWFjZTFhNTc4YmFlYTZhODFkYzBlNmU3N2YwLi41ZTcw
NjM0OTBlMmRmZmVjZTg1ZWE3NjVhZWJkZGU0YjE2ZWIwZmMzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFz
ZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5z
dWItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFJlbGF0aXZlIFVSTC1saWtl
IGZyb20gd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1v
ZHVsZSAnLi9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
LCopJmxhYmVsPXJlbGF0aXZlLXdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0Jy4iCi1GQUlMIEFic29s
dXRlIFVSTC1saWtlIGZyb20gd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBp
bXBvcnQgdGhlIG1vZHVsZSAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvZ2FtbWEv
aW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJl
bD1hYnNvbHV0ZS13b3JrZXIgdG9wLWxldmVsIHNjcmlwdCcuIgorUEFTUyBSZWxhdGl2ZSBVUkwt
bGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0CitQQVNTIEFic29sdXRlIFVSTC1saWtl
IGZyb20gd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4
OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi4yZjEyYTIzNDJmYWQyMjRl
M2ExOGE2ZmI1ZDg0ODMyNWVhNjc3NmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUv
ZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK1BBU1Mg
VGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2
YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4
YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLmI4NjFmNzAxZjk0OGZiMTMyNzY5MzIyYzM4MzY2
ZjJkMTM4ZjA0ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdv
cmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAotCitGQUlMIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1
bGVzIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBb
InN0ZXAtMS0xIiwgInN0ZXAtMS0yIiwgImdsb2JhbC1lcnJvciIsICJlcnJvciIsICJtaWNyb3Rh
c2siXSBsZW5ndGggNSwgZ290IFsic3RlcC0xLTEiLCAic3RlcC0xLTIiLCAibWljcm90YXNrIl0g
bGVuZ3RoIDMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTIt
aW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZh
ZGRkMjJlNGMxZGNiM2E1Zi4uYzFkMzhiZGU1MGM1OWU1ZDU5NDE3M2Q5NmY5Y2QxOWViMTA3Yzli
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2
YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9y
dC13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBUZXN0IGV2YWx1YXRpb24gb3JkZXIgb2Yg
bW9kdWxlcyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJy
YXkgWyJzdGVwLTIuMi0xIiwgInN0ZXAtMi4yLTIiLCAiZ2xvYmFsLWVycm9yIiwgImVycm9yIiwg
Im1pY3JvdGFzay0yLjIiXSBsZW5ndGggNSwgZ290IFsic3RlcC0yLjItMSIsICJzdGVwLTIuMi0y
IiwgIm1pY3JvdGFzay0yLjIiXSBsZW5ndGggMwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5
MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0MmZhZDIyNGUz
YTE4YTZmYjVkODQ4MzI1ZWE2Nzc2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9l
dmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
MyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorUEFTUyBU
ZXN0IGV2YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCAxMmQ5NGE5MWVmMWY4YWIwYTE4N2M3NDliMGRkZWM2OTZkMTE4OGU3Li5iNGQ2OGFmMDU2ZWVm
NjIyYTMzZDU0ZjA3NmYzODFkNGUxYmIyOWEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTIs
OCArMiw4IEBACiBGQUlMIFN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LiIKIEZBSUwgTmVzdGVkIHN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LiIKIEZBSUwgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhh
Y3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2Vx
dWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxk
IG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4
cGVjdGVkIGFycmF5Ci1GQUlMIE5lc3RlZCBkeW5hbWljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2Vx
dWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxk
IG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tZHluYW1pYy1pbXBvcnQtc2NyaXB0
LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0
aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5
bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9y
dC1vbi1zdGF0aWMtaW1wb3J0LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgZXZh
bChpbXBvcnQoKSkuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8g
ZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhw
b3J0LW9uLWxvYWQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQorUEFTUyBEeW5hbWljIGlt
cG9ydC4KK1BBU1MgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBEeW5hbWljIGltcG9ydCBh
bmQgdGhlbiBzdGF0aWMgaW1wb3J0LgorUEFTUyBldmFsKGltcG9ydCgpKS4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jh
c2V1cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBo
YS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBkZDlhZjM4ZmYwOWZi
ZWMxZmFjMGI4ZjVlYTliYWQ2ZTMxNjM2NDlkLi41MWViMzY2MzhjMWNhN2QwNjBiNzY3NTkyNmZj
YzcwYzViZjA3NmU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2Vy
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgaWRlbnRpZmllciAncicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuCiAKLUZBSUwgQmFzZSBVUkwgaW4gbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzOiBp
bXBvcnQgYXNzZXJ0X3VucmVhY2hlZDogR290IGVycm9yIGV2ZW50IFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQorUEFTUyBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IGltcG9y
dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXdvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQKaW5k
ZXggYWI1YTdmYjg5MDIwZjI5ZmQ4OTNhNzU2ODBmZmUxN2QzZDM1MGY3Yy4uYWI1M2I4MDU5OWFl
MDE5NTc4MDg1ZWU0NGFhZWZhNGM3OTU1MjY4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0
U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlw
dHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBpbXBvcnRT
Y3JpcHRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYS9zY3JpcHQuanMiIGJ1dCBnb3Qg
ImJldGEvc2NyaXB0LmpzIgorUEFTUyBpbXBvcnRTY3JpcHRzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2Fs
cGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1v
ZHVsZXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODNmMzY3ZjJjZjNhNjZjNjRhNjI2NDI5NDY1
NmQ1ZTg4MWQxYzExYy4uMjhiMGNiNDAwMTM5MmQwODg3YTRmZWJlNjgxYzFlMTUxZDBkZjE4YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jh
c2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgQmFzZSBVUkwgaW4gbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzOiBYSFIgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hXG4iIGJ1dCBnb3QgImJldGFcbiIKK1BBU1MgQmFz
ZSBVUkwgaW4gbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzOiBYSFIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwv
YWxwaGEveGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4td29ya2Vy
LWV4cGVjdGVkLnR4dAppbmRleCBkNmIwOGVlZGFlNmY2OTZjN2E0YmZhNjU1ZTEzYjVlZDQ2MDdl
YTAxLi5lYTE0NTRkOWIzZjIwZjg1ZDkwMTZjNTA2YTE1NDZhZjYxNzg0MmQwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFz
ZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHIt
aW4td29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCB4aHItd29ya2Vy
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYVxuIiBidXQgZ290ICJiZXRhXG4iCitQQVNT
IHhoci13b3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0CmluZGV4
IDgzMWYwYzU4YzY5NGMyZDRmZWJkNmQ4ZDBhZjMwN2IxMDk0NDJhNmUuLmQ1NTVlZTdjZjNmYzcy
ZWZiODJkZjlkYjdkYWQzNjdmOWFiN2ZmYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3Nh
bWUtb3JpZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1l
eHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTEgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCks
IG1lc3NhZ2UgPSBudWxsCi0KIFBBU1MgdW5zdXBwb3J0ZWRfc2NoZW1lCiBGQUlMIGRhdGFfdXJs
IFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1cmUuCi1USU1FT1VUIGFib3V0X2JsYW5rIFRlc3QgdGlt
ZWQgb3V0Ci1USU1FT1VUIGV4YW1wbGVfaW52YWxpZCBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBw
b3J0XzgxIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIGh0dHBzX3BvcnRfODAgVGVzdCB0aW1lZCBv
dXQKLVRJTUVPVVQgaHR0cHNfcG9ydF84MDAwIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIGh0dHBf
cG9zdF84MDEyIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIGphdmFzY3JpcHRfdXJsIFRlc3QgdGlt
ZWQgb3V0CitQQVNTIGFib3V0X2JsYW5rCitQQVNTIGV4YW1wbGVfaW52YWxpZAorUEFTUyBwb3J0
XzgxCitQQVNTIGh0dHBzX3BvcnRfODAKK1BBU1MgaHR0cHNfcG9ydF84MDAwCitQQVNTIGh0dHBf
cG9zdF84MDEyCitQQVNTIGphdmFzY3JpcHRfdXJsCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtl
ckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtl
ckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dAppbmRleCBmMTc0MWY5
ZDhiZjA3MDMyNzBkMmUzNzYyZGJjYmUyNmMwYjkwMDU5Li4zYjBkZmIzNWU1MWNkMWE4NTQ1NTMw
MTljMGU0MDNkYmUyZjFkMzNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9s
b2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2Nv
cGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlM
IFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBjbGFzc2ljIGRlZGljYXRlZCB3b3JrZXJz
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9p
bnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Bvc3QtbG9jYXRpb24tbWVtYmVy
cy5qcz9hIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL2hlbHBlci1yZWRpcmVjdC5weT9mYWlsIgorUEFT
UyBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogY2xhc3NpYyBkZWRpY2F0ZWQgd29ya2Vy
cwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVj
dC1tb2R1bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24v
cmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dAppbmRleCBkYzJlMmUyMDdkYjAwMWVlNzBlNzMz
MDdkMjdiYjMzNTcyMGZkNTU5Li5iM2JmODFlZTg2ODFiOWRjMDgwZjU4MDI3MWU4YjhmMzkwOTY1
NDk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVj
dC1tb2R1bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0
aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
V29ya2VyTG9jYXRpb24gd2l0aCByZWRpcmVjdHM6IG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VycyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9wb3N0LWxvY2F0aW9uLW1lbWJlcnMu
anM/YSIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvaW50ZXJmYWNlcy9X
b3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9oZWxwZXItcmVkaXJlY3QucHk/ZmFpbCIKK1BBU1Mg
V29ya2VyTG9jYXRpb24gd2l0aCByZWRpcmVjdHM6IG1vZHVsZSBkZWRpY2F0ZWQgd29ya2Vycwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVj
dGVkLnR4dAppbmRleCAyMGFjMTdkNTYzYzRiM2E0NjFmMGNhYWZiZWFlZWJkNzEzZjk3MDgxLi5k
Y2NlZGNjZDM2OGUxZmYxN2IxZGQxMzZlNDUzZmVjNGZlMTBiYzgzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQKQEAgLTEs
MTggKzEsOSBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJp
bmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJj
ZXMvc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkg
b25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBz
dHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNv
dXJjZXMvbmVzdGVkLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0
cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtYW5kLXRoZW4tZHluYW1pYy1pbXBvcnQtd29y
a2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNP
TEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0
LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1D
T05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9uZXN0ZWQtZHlu
YW1pYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBh
cmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5n
IGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2Vz
L2R5bmFtaWMtaW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0
IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V2YWwtZHluYW1pYy1pbXBvcnQtd29ya2VyLmpz
Ii4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAotSGFybmVzcyBF
cnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0
ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHlu
YW1pYy1pbXBvcnQtYW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotCi1GQUlMIFN0YXRpYyBpbXBvcnQuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vy
cy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0aWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVkIHN0YXRpYyBpbXBv
cnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4MDAv
d29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9uZXN0ZWQtc3RhdGljLWltcG9ydC13b3JrZXIuanNc
Ii4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIFN0YXRp
YyBpbXBvcnQgYW5kIHRoZW4gZHluYW1pYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxp
dGVyYWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9z
dGF0aWMtaW1wb3J0LWFuZC10aGVuLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQg
Y2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBpbXBvcnQu
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29y
a2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9ydC13b3JrZXIuanNcIi4gaW1wb3J0
IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIE5lc3RlZCBkeW5hbWlj
IGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6
ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1keW5hbWljLWltcG9ydC13b3Jr
ZXIuanNcIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlM
IER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3Ry
aW5nIGxpdGVyYWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9keW5hbWljLWltcG9ydC1hbmQtdGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qc1wiLiBp
bXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgZXZhbChpbXBv
cnQoKSkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4
MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9ldmFsLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5q
c1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKK1BBU1MgU3Rh
dGljIGltcG9ydC4KK1BBU1MgTmVzdGVkIHN0YXRpYyBpbXBvcnQuCitQQVNTIFN0YXRpYyBpbXBv
cnQgYW5kIHRoZW4gZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0LgorUEFTUyBO
ZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRp
YyBpbXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLWltcG9ydC1jc3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1p
bXBvcnQtY3NwLWV4cGVjdGVkLnR4dAppbmRleCAxZGE0NmI5MjZiZTA4OTZlZThmNzVhNzhkY2Fl
NGYyNjliMDUwOTJiLi4yMzljYzljZTE1MzAxZjdlZWQ4M2Q1ZWIyMjMwYTlkZTI5NGVhMmVkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1jc3AtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQKQEAgLTEsMTMg
KzEsMjIgQEAKIENPTlNPTEUgTUVTU0FHRTogVW5yZWNvZ25pemVkIENvbnRlbnQtU2VjdXJpdHkt
UG9saWN5IGRpcmVjdGl2ZSAnd29ya2VyLXNyYycuCiAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVy
bmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMKIENPTlNPTEUgTUVTU0FHRTogVW5yZWNvZ25p
emVkIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IGRpcmVjdGl2ZSAnd29ya2VyLXNyYycuCiAKK0Js
b2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMv
d29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMKK0Jsb2Nr
ZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29y
a2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMKK0Jsb2NrZWQg
YWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vy
cy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMKIENPTlNPTEUgTUVT
U0FHRTogVW5yZWNvZ25pemVkIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IGRpcmVjdGl2ZSAnd29y
a2VyLXNyYycuCiAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEu
bG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtb24tbG9hZC1z
Y3JpcHQuanMKIENPTlNPTEUgTUVTU0FHRTogVW5yZWNvZ25pemVkIENvbnRlbnQtU2VjdXJpdHkt
UG9saWN5IGRpcmVjdGl2ZSAnd29ya2VyLXNyYycuCiAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVy
bmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFs
IFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNl
cy9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVS
TCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9l
eHBvcnQtb24tbG9hZC1zY3JpcHQuanMKIENPTlNPTEUgTUVTU0FHRTogVW5yZWNvZ25pemVkIENv
bnRlbnQtU2VjdXJpdHktUG9saWN5IGRpcmVjdGl2ZSAnd29ya2VyLXNyYycuCiAKK0Jsb2NrZWQg
YWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vy
cy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMKIAogUEFTUyB3b3Jr
ZXItc3JjICdzZWxmJyBkaXJlY3RpdmUgc2hvdWxkIGRpc2FsbG93IGNyb3NzIG9yaWdpbiBzdGF0
aWMgaW1wb3J0LgogRkFJTCB3b3JrZXItc3JjICogZGlyZWN0aXZlIHNob3VsZCBhbGxvdyBjcm9z
cyBvcmlnaW4gc3RhdGljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogZXhwZWN0ZWQgcHJv
cGVydHkgMCB0byBiZSAiZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzIiBidXQgZ290ICJFUlJPUiIg
KGV4cGVjdGVkIGFycmF5IFsiZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzIl0gZ290IFsiRVJST1Ii
XSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50eHQK
aW5kZXggOTVjNmQxNWRmNDRlMThhMzVkZmViMGZhMzljOGQzODQ0MjBjMmMxMy4uZTk1NTc4ZTcx
YjFjNTBhNGUwNDcxYjAzNzE1NGIzODZiMzdhZWQ3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50eHQKQEAgLTEsOSArMSw5IEBACi1DT05TT0xF
IE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICcuL25vbi1l
eGlzdGVudC1zY3JpcHQuanMnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3Vt
ZW50LgorQ09OU09MRSBNRVNTQUdFOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4K
IAotRkFJTCBpbXBvcnRTY3JpcHRzKCkgb24gbW9kdWxlIHdvcmtlciBzaG91bGQgdGhyb3cgYW4g
ZXhjZXB0aW9uLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVHlwZUVycm9yIiBidXQgZ290ICJM
T0FERUQiCitQQVNTIGltcG9ydFNjcmlwdHMoKSBvbiBtb2R1bGUgd29ya2VyIHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIG5vbi1leGlzdGVu
dCBzY3JpcHQgc2hvdWxkIGRpc3BhdGNoIGFuIEVycm9yRXZlbnQuCiBQQVNTIFN0YXRpYyBpbXBv
cnQgZm9yIG5vbi1leGlzdGVudCBzY3JpcHQgc2hvdWxkIGRpc3BhdGNoIGFuIEVycm9yRXZlbnQu
Ci1GQUlMIER5bmFtaWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUeXBlRXJyb3IiIGJ1dCBn
b3QgIkVycm9yIgorUEFTUyBEeW5hbWljIGltcG9ydCBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBz
aG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLgogUEFTUyBXb3JrZXIgY29uc3RydWN0aW9uIGZvciBh
biBpbnZhbGlkIFVSTCBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLgogUEFTUyBXb3JrZXIgY29u
c3RydWN0aW9uIGZvciBhIGZpbGUgVVJMIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQKaW5kZXggZDU4MDYy
MDQxYzNlNjk1MTViODE1ZTAyZDdjMzg2ODRkNzdjNzZiNy4uNzcyOTFiYWExYTQxODRiZWJlN2Fk
N2I1ZDlmMTE5YzcxYTc4ZGU0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtbWV0YS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0
YS1leHBlY3RlZC50eHQKQEAgLTEsOCArMSw1IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVy
cm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5IHZhbGlkIGluc2lkZSBtb2R1bGVzLgogCi1IYXJuZXNz
IEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5
IHZhbGlkIGluc2lkZSBtb2R1bGVzLgotCi1GQUlMIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRo
ZSB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlwdC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogaW1wb3J0Lm1ldGEgaXMgb25seSB2YWxpZCBp
bnNpZGUgbW9kdWxlcy4iCi1GQUlMIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRl
ZCBtb2R1bGUgc2NyaXB0LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQgd2l0
aCBhIGZyYWdtZW50LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1Mg
VGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0LgorUEFT
UyBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdC4KK1BB
U1MgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQgd2l0
aCBhIGZyYWdtZW50LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1t
ZXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLmh0bWwKaW5kZXggY2Zm
OGU5MTQ4OGU4MjM5YWJlMjEzNjE5ZDEyZDVhNjAzMDcyZmJlYS4uZWRlMjY5MmUxYzYzNDFiZWZm
YzkwMTBjNDFiOGY0Y2ZlNDM4MzI5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1p
bXBvcnQtbWV0YS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRt
bApAQCAtNTMsNyArNTMsNyBAQAogICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoJy4vJyArIHNj
cmlwdF91cmwgKyAnIzEnKTsKICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
d29ya2VyLm9ubWVzc2FnZSA9IHJlc29sdmUpOwogICAgICAgfSkKLSAgICAgIC50aGVuKG1zZ19l
dmVudCA9PiBhc3NlcnRfdHJ1ZShtc2dfZXZlbnQuZGF0YS5lbmRzV2l0aChzY3JpcHRfdXJsKSkp
OworICAgICAgLnRoZW4obXNnX2V2ZW50ID0+IGFzc2VydF90cnVlKG1zZ19ldmVudC5kYXRhLmVu
ZHNXaXRoKHNjcmlwdF91cmwgKyAnIzEnKSkpOwogfSwgJ1Rlc3QgaW1wb3J0Lm1ldGEudXJsIG9u
IHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0IHdpdGggYSBmcmFnbWVudC4nKTsKIAogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50
eHQKaW5kZXggNmRjNDJjMWNmZDMzNDhhZmRkMWRmZDNiMTBhNTA0NzA1NTMwMTk2YS4uZmUxYjlk
OTNjMDgwMTFiNTBlOTQxZjRlMTIzNjA2N2FiYmQzZjIzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRl
ZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4dApAQCAtMSwxOSArMSwyMyBAQAot
Ci1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKK0Jsb2NrZWQgYWNjZXNz
IHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1
bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxl
cy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRv
IGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVz
L3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBl
eHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9y
ZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKIAogUEFTUyBTYW1lLW9yaWdpbiB0
b3AtbGV2ZWwgbW9kdWxlIHNjcmlwdCBsb2FkaW5nIHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJl
ciBwb2xpY3kKIFBBU1MgU2FtZS1vcmlnaW4gdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQgbG9hZGlu
ZyB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeQogUEFTUyBTYW1lLW9yaWdpbiB0b3AtbGV2
ZWwgbW9kdWxlIHNjcmlwdCBsb2FkaW5nIHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xp
Y3kKLUZBSUwgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVm
ZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCi1GQUlMIFNhbWUtb3JpZ2luIHN0YXRp
YyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJv
ciIKLUZBSUwgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVm
ZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCitQQVNTIFNhbWUtb3JpZ2luIHN0YXRp
YyBpbXBvcnQgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeS4KK1BBU1MgU2FtZS1v
cmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KK1BBU1Mg
U2FtZS1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9s
aWN5LgogRkFJTCBDcm9zcy1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIg
cmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiBGQUlMIENyb3NzLW9yaWdpbiBz
dGF0aWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IiCiBGQUlMIENyb3NzLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2lu
IiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKLVRJTUVPVVQgU2FtZS1vcmln
aW4gZHluYW1pYyBpbXBvcnQgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeS4gVGVz
dCB0aW1lZCBvdXQKLU5PVFJVTiBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJvcmln
aW4iIHJlZmVycmVyIHBvbGljeS4KLU5PVFJVTiBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3
aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgotTk9UUlVOIENyb3NzLW9yaWdpbiBk
eW5hbWljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LgotTk9UUlVO
IENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGlj
eS4KLU5PVFJVTiBDcm9zcy1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4i
IHJlZmVycmVyIHBvbGljeS4KK0ZBSUwgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAi
bm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiIg
YnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMv
ZHluYW1pYy1pbXBvcnQtc2FtZS1vcmlnaW4tcmVmZXJyZXItY2hlY2tlci13b3JrZXIuanMiCitG
QUlMIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9s
aWN5LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwLyIgYnV0
IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHlu
YW1pYy1pbXBvcnQtc2FtZS1vcmlnaW4tcmVmZXJyZXItY2hlY2tlci13b3JrZXIuanMiCitQQVNT
IFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBw
b2xpY3kuCitGQUlMIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJuby1yZWZlcnJl
ciIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCitGQUlMIENyb3NzLW9yaWdp
biBkeW5hbWljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBU
eXBlIGVycm9yIgorRkFJTCBDcm9zcy1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAic2FtZS1v
cmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dAppbmRleCBhMjNhNTU3NWRiNDI3NDI3
Zjg1YmQ2YjYzNTRkZTg4MzgzMWZlMmI0Li5kY2NlZGNjZDM2OGUxZmYxN2IxZGQxMzZlNDUzZmVj
NGZlMTBiYzgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50
eHQKQEAgLTEsMTQgKzEsOSBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
Ci1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1w
b3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTog
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFj
dGx5IG9uZSBhcmd1bWVudC4KLQotRkFJTCBTdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRv
a2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlM
IE5lc3RlZCBzdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNh
bGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIFN0YXRpYyBpbXBvcnQgYW5k
IHRoZW4gZHluYW1pYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBpbXBvcnQuIGFz
c2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6
IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxvYWQtc2Ny
aXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuIGFz
c2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6
IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWR5bmFtaWMt
aW1wb3J0LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgRHluYW1pYyBpbXBvcnQg
YW5kIHRoZW4gc3RhdGljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZh
aWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1v
ZHVsZSAnLi9leHBvcnQtb24tc3RhdGljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFy
cmF5Ci1GQUlMIGV2YWwoaW1wb3J0KCkpLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAi
RmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUg
bW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKK1BB
U1MgU3RhdGljIGltcG9ydC4KK1BBU1MgTmVzdGVkIHN0YXRpYyBpbXBvcnQuCitQQVNTIFN0YXRp
YyBpbXBvcnQgYW5kIHRoZW4gZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0Lgor
UEFTUyBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVu
IHN0YXRpYyBpbXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQKaW5kZXggZGEwZTRlYjY3NThkMTRhMzdh
Mzk4ZDBiNmZjNzFhZDM4NzZiZDI2Yi4uMWZjMGM2NmZkZjcyNGMyYWEzYjkxMDY5ODBiZmJlN2U5
ODhmOTc3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVk
LnR4dApAQCAtMiwxMSArMiw2IEBACiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRo
IHRoZSBkZWZhdWx0IHdvcmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24g
d2l0aCB0aGUgImNsYXNzaWMiIHdvcmtlciB0eXBlLgogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1
Y3Rpb24gd2l0aCB0aGUgIm1vZHVsZSIgd29ya2VyIHR5cGUuCi1GQUlMIFRlc3Qgd29ya2VyIGNv
bnN0cnVjdGlvbiB3aXRoIGFuIGVtcHR5IHdvcmtlciB0eXBlLiBhc3NlcnRfdGhyb3dzX2pzOiBX
b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgdHlwZSBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uIGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICAgIG5ldyBXb3JrZXIoJ3Jlc291cmNlcy9w
b3N0LW1lc3NhZ2Utb24tbG9hZC13b3JrZXIuanMnLCB7IHR5cGU6ICcnIH0pOwotICAgICAgfSIg
ZGlkIG5vdCB0aHJvdwotRkFJTCBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtu
b3duIHdvcmtlciB0eXBlLiBhc3NlcnRfdGhyb3dzX2pzOiBXb3JrZXIgY29uc3RydWN0aW9uIHdp
dGggYW4gdW5rbm93biB0eXBlIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24gZnVuY3Rpb24gIigp
ID0+IHsKLSAgICAgICAgbmV3IFdvcmtlcigncmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS1vbi1sb2Fk
LXdvcmtlci5qcycsCi0gICAgICAgICAgICAgICAgICAgeyB0eXBlOiAndW5rbm93bicgfSk7Ci0g
ICAgICB9IiBkaWQgbm90IHRocm93CitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRo
IGFuIGVtcHR5IHdvcmtlciB0eXBlLgorUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0
aCBhbiB1bmtub3duIHdvcmtlciB0eXBlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtl
ci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRleCBlOGViNTQwYmQzMzkyNDAw
YThkYmZkOTM4NjQ4YTY0OTIzOWMwZDllLi5kMWE1MGY3ZWEzY2Q2ZGMyOThlZjc1NDE0Nzc2MmM2
OWM1N2Q3M2IzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZh
aWx1cmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3It
ZmFpbHVyZS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSwxNCBAQAotQ09OU09MRSBNRVNTQUdFOiBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhh
Y3RseSBvbmUgYXJndW1lbnQuCitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICc7JworQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnOycKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBFcnJvcjogYXNzZXJ0
X2ltcGxlbWVudHM6IFN0YXRpYyBpbXBvcnQgbXVzdCBiZSBzdXBwb3J0ZWQgb24gbW9kdWxlIGRl
ZGljYXRlZCB3b3JrZXIgdG8gcnVuIHRoaXMgdGVzdC4gdW5kZWZpbmVkCi0KLU5PVFJVTiBNb2R1
bGUgd29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3Vs
ZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4KLU5PVFJVTiBTdGF0aWMgaW1wb3J0IG9u
IG1vZHVsZSB3b3JrZXIgZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlzcGF0
Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuCitGQUlMIE1vZHVsZSB3b3JrZXIgY29uc3RydWN0aW9u
IGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5h
bWVkIGVycm9yLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gRXZl
bnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24g
RXJyb3JFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgorRkFJTCBTdGF0aWMgaW1wb3J0
IG9uIG1vZHVsZSB3b3JrZXIgZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlz
cGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0
aW9uICJmdW5jdGlvbiBFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiBidXQgZ290IGZ1
bmN0aW9uICJmdW5jdGlvbiBFcnJvckV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4
dAppbmRleCA2Mzk4NDcxMjE0NTlhN2FiMzdiOWYwOWE2OGJhNjRlYThhOWVkNTdjLi5lOTQ2OTQ3
YjE0YWVmM2U1Mjk5YTBhYmEzYWU0YjFjZjlmY2Q5NTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsOCBAQAog
Q09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFJlZmVyZW5jZUVy
cm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotRkFJTCBUZXN0IHRoZSBu
YW1lIHByb3BlcnR5IG9mIHNoYXJlZCBhbmQgZGVkaWNhdGVkIHdvcmtlcnMgdmlhIHRoZSBuYW1l
IGNvbnN0cnVjdG9yIG9wdGlvbiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLVBB
U1MgRGVjbGFyaW5nIG5hbWUgYXMgYW4gYWNjaWRlbnRhbCBnbG9iYWwgbXVzdCBub3QgY2F1c2Ug
YSBoYXJuZXNzIGVycm9yIGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQorSGFybmVzcyBF
cnJvciAoRkFJTCksIG1lc3NhZ2UgPSBVbmhhbmRsZWQgcmVqZWN0aW9uOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBTaGFyZWRXb3JrZXIKKwogUEFTUyBuYW1lIHByb3BlcnR5IHZhbHVlIGZvciBEZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZQogUEFTUyBuYW1lIHByb3BlcnR5IGlzIHJlcGxhY2VhYmxl
IGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQorUEFTUyBEZWNsYXJpbmcgbmFtZSBhcyBh
biBhY2NpZGVudGFsIGdsb2JhbCBtdXN0IG5vdCBjYXVzZSBhIGhhcm5lc3MgZXJyb3IgZm9yIERl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50
aWFscy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlhbHMuaHR0cHMtZXhw
ZWN0ZWQudHh0CmluZGV4IGYwNjkxYWEwOWNjNDljZGY3ZjJhOTQzNzRjNmU2MjIyMGY5M2I4ZTIu
LmE1NzBkOGQyOTJmYTg1NjIxMmIwNTQ3ODgyMGYxMzBmODFkOWJiZjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8t
d29ya2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNy
ZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSwxMSBAQAogQ09OU09MRSBN
RVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCiAKLUZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmln
aW4gc2NyaXB0IHdpdGggdGhlIGRlZmF1bHQgV29ya2xldE9wdGlvbnMgc2hvdWxkIHNlbmQgdGhl
IGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBSZXNw
b25zZSBpcyBub3QgMnh4IgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0
aCB0aGUgZGVmYXVsdCBXb3JrbGV0T3B0aW9ucyBzaG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJv
cnRFcnJvcjogSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIgogUEFTUyBJbXBvcnRp
bmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIHRoZSBkZWZhdWx0IFdvcmtsZXRPcHRpb25z
IHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlhbHMKLUZBSUwgSW1wb3J0aW5nIGEgc2FtZS1v
cmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91bGQgbm90IHNlbmQgdGhlIGNy
ZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBSZXNwb25z
ZSBpcyBub3QgMnh4IgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCBj
cmVkZW50aWFscz1vbWl0IHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjog
SW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIgogUEFTUyBJbXBvcnRpbmcgYSByZW1v
dGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPW9taXQgc2hvdWxkIG5vdCBzZW5kIHRo
ZSBjcmVkZW50aWFscwotRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCBj
cmVkZW50aWFscz1zYW1lLW9yaWdpbiBzaG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJv
cjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgiCitG
QUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPXNhbWUt
b3JpZ2luIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBt
b2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IHdpdGggY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4gc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVk
ZW50aWFscwotRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50
aWFscz1pbmNsdWRlIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBGYWlsZWQg
dG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90IDJ4eCIKLUZBSUwgSW1wb3J0
aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1pbmNsdWRlIHNob3Vs
ZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBl
cnJvcjogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4g
c2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5jbHVkZSBzaG91bGQgc2VuZCB0aGUgY3JlZGVudGlh
bHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
QWJvcnRFcnJvcjogSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIgorRkFJTCBJbXBv
cnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hv
dWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IENyb3NzLW9yaWdpbiBzY3JpcHQgbG9h
ZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
bGV0cy9hdWRpby13b3JrbGV0LWNzcC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3Nw
Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBiZjMzNWNmMzA1NWUwNjViMzg5ODliNDFhYTFlMjM2
ZmViNGFjMjlkLi4yNzViMzQzN2ZhZDk3NTNhNmVjZTI0MjAwZWFiZjI1N2ZmZDYyNzJhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmts
ZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQt
Y3NwLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0MCArMSw1MiBAQAorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNv
dXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0
cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxv
Y2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93
b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5q
cworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6
OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhl
YWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2Nh
bGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1j
b3JzLWhlYWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3
MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQt
d2l0aC1jb3JzLWhlYWRlci5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVu
dC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAogQ09OU09MRSBNRVNT
QUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3Jr
ZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5s
b2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0
aC1jb3JzLWhlYWRlci5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAogQ09OU09MRSBNRVNTQUdF
OiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXIt
c3JjJy4KIAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Q
b2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1w
dHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcwogQ09OU09MRSBNRVNTQUdFOiBb
YmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNv
dXJjZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBkaXNwbGF5IGlu
c2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2xldHMvcmVzb3Vy
Y2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMuCiAKIENPTlNPTEUg
TUVTU0FHRTogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvd29y
a2xldHMvcmVzb3VyY2VzL2FkZG1vZHVsZS13aW5kb3cuaHRtbCB3YXMgbm90IGFsbG93ZWQgdG8g
ZGlzcGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmts
ZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzLgog
CitDT05TT0xFIE1FU1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2FsaG9z
dDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBh
bGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6
OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhl
YWRlci5qcy4KKworQ09OU09MRSBNRVNTQUdFOiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1s
IHdhcyBub3QgYWxsb3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8v
bG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdp
dGgtY29ycy1oZWFkZXIuanMuCisKIAogRkFJTCBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzaG91
bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgotRkFJTCBBIHNh
bWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxk
IGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKK1BBU1MgQSBzYW1l
LW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBi
ZSBibG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuCiBGQUlMIEEgcmVt
b3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3Vs
ZCBiZSBibG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCiBGQUlMIEEgcmVt
b3RlLW9yaWdpbi1yZWRpcmVjdGVkIHdvcmtsZXQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNj
cmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVD
VEVEIiBidXQgZ290ICJSRVNPTFZFRCIKLUZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9y
dGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQg
YnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKK1BBU1MgQSBzYW1lLW9yaWdpbiB3b3Jr
bGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIGJl
IGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4KIFBBU1MgQSByZW1v
dGUtb3JpZ2luIHdvcmtsZXQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlw
dC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuCi1QQVNTIEEg
c2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91
bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lm
eWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGlt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNh
dXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dz
IGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVE
IgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2lu
IHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJl
Y3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KIFBBU1MgQSByZW1vdGUtb3Jp
Z2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUg
c2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KLVBB
U1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJl
Y3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMg
ZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuCitGQUlMIEEgc2FtZS1v
cmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0
IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBz
cGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
UkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29ya2xl
dCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2
ZSBhbGxvd3MgaXQuCi1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1v
dGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0
LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuCitGQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBp
bXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVj
YXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9y
aWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3Qg
YmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4K
IFBBU1MgQSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgbm90IGJlIGJs
b2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuCi1QQVNT
IEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0
ZWQgc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICog
ZGlyZWN0aXZlIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2Vk
IGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBIHJlbW90
ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMg
ZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUu
Ci1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNj
cmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJl
Y2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuCitGQUlMIEEgc2Ft
ZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQg
bm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xl
dHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3Jr
bGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tl
ZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBz
Y3JpcHQtc3JjIGRpcmVjdGl2ZS4KIFBBU1MgQSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29y
a2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJl
Y2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuCi1QQVNTIEEgc2Ft
ZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2Ny
aXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVj
YXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KK0ZBSUwgQSBzYW1l
LW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3Jp
cHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNh
dXNlIHdvcmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBbiBpbnNlY3Vy
ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRl
bnRzLgogUEFTUyBBbiBpbnNlY3VyZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBi
ZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuCi1GQUlMIEEgc2FtZS1vcmlnaW4g
d29ya2xldCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxv
Y2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
UkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQg
aW1wb3J0aW5nIGFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUg
YmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmts
ZXQgaW1wb3J0aW5nIGFuIGluc2VjdXJlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQg
YmVjYXVzZSBvZiBtaXhlZCBjb250ZW50cy4KK1BBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGlt
cG9ydGluZyBhbiBpbnNlY3VyZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIGJlIGJs
b2NrZWQgYmVjYXVzZSBvZiBtaXhlZCBjb250ZW50cy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0
LWltcG9ydC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCBmZTg5NjVhZWY2Y2FkYTIyMTllZjhlMzA4ODhiYTkxZTI0MDE3YWMwLi42
NzY0N2Q0Njg3YjlkM2NmYzg2ZTBiMmM4ZjU2OGUyMGY1YmVjMzk0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdv
cmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMTYsNyArMTYsNyBAQCBQQVNTIEltcG9ydGluZyBhIGNyb3Nz
IG9yaWdpbiByZXNvdXJjZSB3aXRoIHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVh
ZAogUEFTUyBJbXBvcnRpbmcgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2Ugd2l0aG91dCB0aGUgQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWRlciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBw
cm9taXNlCiBQQVNTIEltcG9ydGluZyBhIGNyb3NzLW9yaWdpbi1yZWRpcmVjdGVkIHJlc291cmNl
IHdpdGggdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBoZWFkZXIgc2hvdWxkIHJlc29s
dmUgdGhlIGdpdmVuIHByb21pc2UKIFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mtb3JpZ2luLXJlZGly
ZWN0ZWQgcmVzb3VyY2Ugd2l0aG91dCB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhl
YWRlciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlCi1GQUlMIEltcG9ydGluZyBhIHNj
cmlwdCB0aGF0IGhhcyBhIHN5bnRheCBlcnJvciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9t
aXNlLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBJbXBvcnRpbmcgYSBuZXN0ZWQgc2NyaXB0IHRo
YXQgaGFzIGEgc3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuIGFz
c2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCi1GQUlMIEltcG9ydGluZyBhIHNjcmlwdCB0aGF0IGltcG9ydHMgYW4g
aW52YWxpZCBpZGVudGlmaWVyIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuIGFzc2Vy
dF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCitQQVNTIEltcG9ydGluZyBhIHNjcmlwdCB0aGF0IGhhcyBhIHN5bnRheCBl
cnJvciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlLgorUEFTUyBJbXBvcnRpbmcgYSBu
ZXN0ZWQgc2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdp
dmVuIHByb21pc2UuCitQQVNTIEltcG9ydGluZyBhIHNjcmlwdCB0aGF0IGltcG9ydHMgYW4gaW52
YWxpZCBpZGVudGlmaWVyIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xl
dHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQt
cmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDI0ZDQ5OWMxNDFjZWU2ZGM5YjJlYmUy
NGJmYjRmZjRjMDNhMGE5NzMuLjlmNmQxMTMwNTlkOWZhZDUwYzYzMDA3YjdmY2QyY2JkNjcyNzc2
NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9h
dWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDggQEAK
K0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0
NDMvd29ya2xldHMvcmVzb3VyY2VzL3JlZmVycmVyLWNoZWNrZXIucHk/cmVmZXJyZXJfcG9saWN5
PW5vLXJlZmVycmVyJmV4cGVjdGVkX3JlZmVycmVyPQorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvcmVm
ZXJyZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9b3JpZ2luJmV4cGVjdGVkX3JlZmVycmVy
PWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvCitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczov
L2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbi4KK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxo
b3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL3JlZmVycmVyLWNoZWNrZXIucHk/cmVmZXJyZXJf
cG9saWN5PXNhbWUtb3JpZ2luJmV4cGVjdGVkX3JlZmVycmVyPQorQ09OU09MRSBNRVNTQUdFOiBP
cmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW4uCiAKIFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0
IGZyb20gYSBwYWdlIHRoYXQgaGFzICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5IHNob3Vs
ZCBub3Qgc2VuZCByZWZlcnJlci4KIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3Jp
cHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hv
dWxkIG5vdCBzZW5kIHJlZmVycmVyLgpAQCAtNiwxNSArMTEsMTUgQEAgUEFTUyBJbXBvcnRpbmcg
YSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAib3JpZ2luIiByZWZl
cnJlciBwb2wKIFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdl
IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVy
cmVyLgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0
aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVm
ZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1v
cmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3Jp
Z2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm5v
LXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgorRkFJ
TCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29y
a2xldCBzY3JpcHQgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxk
IG5vdCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1
dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJl
c291cmNlIFNoYXJpbmcgcG9saWN5LiIKIFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2Ny
aXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJuby1yZWZl
cnJlciIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4KIFBBU1MgSW1w
b3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xl
dCBzY3JpcHQgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5v
dCBzZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJv
bSBhIHNhbWUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVy
IHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4KLVBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9y
aWdpbiBzY3JpcHQgZnJvbSBhIHNhbWUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJv
cmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4KLVBBU1MgSW1wb3J0
aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2Ny
aXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJl
ci4KLVBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1v
cmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNo
b3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQg
ZnJvbSBhIHNhbWUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBy
ZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhh
dCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVy
cmVyLgotUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1v
cmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3Jp
Z2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAi
c2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4KK0ZBSUwg
SW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHNhbWUtb3JpZ2luIHdvcmts
ZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCBy
ZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJDcm9z
cy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFy
aW5nIHBvbGljeS4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEg
cmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBw
b2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNP
TFZFRCIgYnV0IGdvdCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIgorRkFJTCBJ
bXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3Jr
bGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQg
cmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiQ3Jv
c3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hh
cmluZyBwb2xpY3kuIgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBh
IHNhbWUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJy
ZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
UkVTT0xWRUQiIGJ1dCBnb3QgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKK0ZB
SUwgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHNhbWUtb3JpZ2luIHdv
cmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3Vs
ZCBub3Qgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBi
dXQgZ290ICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBS
ZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNj
cmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1v
cmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNj
cmlwdCBmYWlsZWQuIgorRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9t
IGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJl
ZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlJFU09MVkVEIiBidXQgZ290ICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5
IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJl
ZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVjdGVkLXdvcmtlci1v
cmlnaW4tZXhwZWN0ZWQudHh0CmluZGV4IDFlMmQzOTkyZjZkNWRmMzIyMDdhNmIwZjYxOWE2ZDcx
MTgxMjQwMGQuLjdhN2E5MTdlYWE5OGU5MmVlMDNlYzI4YTExZTc4MDg0ZDIzNGI4ODYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29w
ZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJl
Y3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIEJsb2NrZWQg
YWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwOi8vd3d3Mi5sb2NhbGhvc3Q6ODgwMC94aHIvcmVz
b3VyY2VzL2luc3BlY3QtaGVhZGVycy5weT9maWx0ZXJfbmFtZT1vcmlnaW4mY29ycwogCi1GQUlM
IFJlZmVyZXIgaGVhZGVyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSZWZlcmVyOiBodHRwOi8v
bG9jYWxob3N0Ojg4MDAveGhyL3Jlc291cmNlcy93b3JrZXJ4aHItb3JpZ2luLXJlZmVycmVyLmpz
XG4iIGJ1dCBnb3QgIlJlZmVyZXI6IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2Vz
L3JlZGlyZWN0LnB5P2xvY2F0aW9uPXdvcmtlcnhoci1vcmlnaW4tcmVmZXJyZXIuanNcbiIKK1BB
U1MgUmVmZXJlciBoZWFkZXIKIEZBSUwgT3JpZ2luIGhlYWRlciBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiT3JpZ2luOiBodHRwOi8vbG9jYWxob3N0Ojg4MDBcbiIgYnV0IGdvdCAiIgogUEFTUyBS
ZXF1ZXN0IFVSTCB0ZXN0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlv
d29ya2xldC1hZGRNb2R1bGUtZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJh
dWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhwZWN0ZWQudHh0CmluZGV4IDA4
YWYxMTQzNjA1NTFiZjVhODA3OWFmMGEzODE1YzRlMDhlYmQxNDMuLmRlZjMzYWQ4NjkxYjY5NDM2
ZTBlMTgxYzViZDAwNDgzNTQ4MzUxYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmF1ZGlv
L2F1ZGlvd29ya2xldC1hZGRNb2R1bGUtZmFpbHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvd2ViYXVkaW8vYXVkaW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4
dApAQCAtNCw3ICs0LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogCiBQQVNTIGNvbnRl
eHQuYXVkaW9Xb3JrbGV0LmFkZE1vZHVsZShpbnZhbGlkVVJMKTsgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBTeW50YXhFcnJvcjogTW9kdWxlIFVSTCBpcyBpbnZhbGlkLgotUEFTUyBjb250ZXh0LmF1
ZGlvV29ya2xldC5hZGRNb2R1bGUoJ2RvZXNub3RFeGlzdC5qcycpOyByZWplY3RlZCBwcm9taXNl
ICB3aXRoIEFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBUaGUgcmVx
dWVzdGVkIFVSTCB3YXMgbm90IGZvdW5kIG9uIHRoaXMgc2VydmVyLi4KK1BBU1MgY29udGV4dC5h
dWRpb1dvcmtsZXQuYWRkTW9kdWxlKCdkb2Vzbm90RXhpc3QuanMnKTsgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4uCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dvcmtsZXQtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vd29ya2xldC1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggNjU0ZGRm
N2YxN2VmYWI1OGU0MmZhYmUzODUyNTc5NjRhZTJjNWQ0MS4uMWE0M2UzZjk3Y2IyZjA2YjlmN2Nk
NWYyYjE4MjMzODEwNTEzZWVmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd29y
a2xldC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd29ya2xl
dC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTEgKzEsMiBAQAorQ09OU09MRSBNRVNTQUdFOiBUeXBl
RXJyb3I6ICd0ZXh0L2h0bWwnIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLgog
VGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420102</attachid>
            <date>2021-02-12 01:12:45 -0800</date>
            <delta_ts>2021-02-12 22:57:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210212011244.patch</filename>
            <type>text/plain</type>
            <size>238586</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
MDMzNjA1Y2FjMDYxMTJjMzYzYWMwMjlmMjYxZDc2OGRjNDEzZmRjLi42ODM4YTVmMGM1NTJlMzkx
YmMyOGI2N2JjYTNmNzRjM2MwZThlZjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAyMS0wMi0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcDoK
KyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9yKToKKyAgICAgICAg
KiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRlRXJyb3IpOgorICAgICAg
ICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVSYW5nZUVycm9y
KToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3IpOgorICAgICAgICAoSlNDOjpj
cmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVR5cGVFcnJvcik6CisgICAg
ICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlR2V0dGVyVHlw
ZUVycm9yKToKKyAgICAgICAgKEpTQzo6dGhyb3dTeW50YXhFcnJvcik6CisgICAgICAgICogcnVu
dGltZS9FcnJvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogcnVudGlt
ZS9FcnJvckluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6RXJyb3JJ
bnN0YW5jZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OmNyZWF0ZSk6CisgICAgICAg
IChKU0M6OkVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmcpOgorICAgICAgICAo
SlNDOjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5nKToKKyAgICAgICAgKEpTQzo6
RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvRXJy
b3JJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGUpOgorICAg
ICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjplcnJvclR5cGUgY29uc3QpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBl
Pjo6Y29uc3RydWN0SW1wbCk6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8
ZXJyb3JUeXBlPjo6Y2FsbEltcGwpOgorICAgICAgICAqIHJ1bnRpbWUvTnVsbFNldHRlckZ1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TnVsbFNldHRlckZ1bmN0aW9uSW50ZXJuYWw6OkpTQ19E
RUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29t
cGlsZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6
SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TGlua0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6
SlNXZWJBc3NlbWJseUxpbmtFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
cjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3Nl
bWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04p
OgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisKIDIwMjEtMDIt
MTEgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogIlNob3cgRXh0ZW5kZWQgR3JpZGxpbmVzIiBvcHRpb24gZm9yIGdyaWQgb3Zl
cmxheSBkb2VzIG5vdCB3b3JrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjExZTgzZTAzMDYxMjc3ODNkZjI4NzM0
MDc5MGZlYjJhOTliMjg2ZS4uNTc5MjcxZGM2NjZkNDZiNjY4M2YyYTQ0YWVkZjdmNGY1OGVlOTIx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMiBAQAorMjAyMS0wMi0xMiAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBIZWFkZXJz
LmNtYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
OjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlw
dEZldGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdFNjcmlwdFdpdGhDYWNoZSBjb25zdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01F
eGNlcHRpb25IYW5kbGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXRyaWV2ZUVycm9yTWVz
c2FnZVdpdGhvdXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZURPTUV4Y2VwdGlvbik6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnNjcmlwdE1vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVj
dDo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxP
YmplY3Q6Om1vZHVsZUxvYWRlckV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xv
YmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVz
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RP
TVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJlc29sdmUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRjaCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckV2YWx1YXRlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1w
b3J0TW9kdWxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6
bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOiBEZWxldGVkLgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL01vZHVsZVNj
cmlwdExvYWRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5
cGUuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6Y2xlYXJDbGllbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpzY3JpcHRGZXRjaGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6cGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpNb2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6Cisg
ICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1
bGVMb2FkZXI6Om1vZHVsZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2Fk
ZXI6OnJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
TW9kdWxlTG9hZGVyOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVM
b2FkZXI6OmltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVM
b2FkZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlOjpTY3JpcHRTb3VyY2VDb2RlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6fldv
cmtlck1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXI6OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVHlwZS5oLgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaDog
QWRkZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRXhjZXB0
aW9uQ29kZS5oOgorICAgICAgICAqIGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZCk6IERlbGV0ZWQuCisgICAg
ICAgICogZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0Lmg6CisgICAgICAgICogZG9tL1NjcmlwdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVs
ZVNjcmlwdCk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBsb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6
Y3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXI6Oldvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmlkbDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckds
b2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0cyk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmNyZWRlbnRp
YWxzIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2FkZXIpOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9u
b3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVsZSk6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2Ny
aXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
U2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6
OnJlc3BvbnNlU291cmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExv
YWRlcjo6aXNSZWRpcmVjdGVkIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRlZENvcHkg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0ZVNjcmlwdElm
TmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyVHlwZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYjo6ZmV0Y2hTY3Jp
cHRXaXRoQ29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25PcHRpb25zLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
VGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyV29ya2VyLmg6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2Jh
bFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6ZmV0Y2hB
bmRJbnZva2VTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpw
cm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpkaWRSZWNlaXZlUmVzcG9uc2UpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpub3RpZnlGaW5pc2hlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OmRpZENvbXBsZXRl
U2NyaXB0RmV0Y2hKb2IpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5oOgorCiAyMDIxLTAyLTExICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIyNzI3NTg7IGluY2x1ZGUg
bWlzc2luZyBjaGFuZ2UgdG8gUnVudGltZUVuYWJsZWRGZWF0dXJlcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcAppbmRleCA3NTlhNWIyNGEw
ZWQwODY4MGNjYWE2MzQwZDJlOTVkNDUwYjgwZmQ2Li4yOTZjODVjYzkwZTA1YjU0NTQ3ZjY2MmE3
ZTJmOGExZTEzMGE0NmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BZ2dyZWdhdGVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QWdncmVnYXRlRXJyb3IuY3BwCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogY29u
c3QgQ2xhc3NJbmZvIEFnZ3JlZ2F0ZUVycm9yOjpzX2luZm8gPSB7ICJBZ2dyZWdhdGVFcnJvciIs
ICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoQWdn
cmVnYXRlRXJyb3IpIH07CiAKIEFnZ3JlZ2F0ZUVycm9yOjpBZ2dyZWdhdGVFcnJvcihWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDog
QmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5cGU6OkFnZ3JlZ2F0ZUVycm9yKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKaW5kZXggZjQ3M2I4MTgxZWMyZjAy
YTBjYzc4YTI2YzBjMjBkYzk2MzFmZGM3NC4uZmNhY2YxZTMyMmViMjcyNzg3NGZmMjUyNjI0MWVk
N2JlOThjZTUzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcApAQCAt
MzUsMzcgKzM1LDM3IEBAIG5hbWVzcGFjZSBKU0MgewogSlNPYmplY3QqIGNyZWF0ZUVycm9yKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJ
bnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdl
LmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpLCBt
ZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJldHVybiBFcnJvcklu
c3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9i
amVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBF
cnJvclR5cGU6OkVycm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZUV2YWxFcnJvcihK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9y
SW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2Fn
ZS5pc0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJy
b3JUeXBlOjpFdmFsRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUp
OworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxP
YmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpFdmFs
RXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXZhbEVy
cm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVJhbmdlRXJyb3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpT
b3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgp
KTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFs
T2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmFu
Z2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0
dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0o
KSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJhbmdlRXJyb3IpLCBt
ZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6UmFuZ2VFcnJvciwgdHJ1
ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVSZWZlcmVuY2VFcnJvcihKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6OlNvdXJj
ZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkpOwot
ICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmpl
Y3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpSZWZlcmVu
Y2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0
dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0o
KSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJlZmVyZW5jZUVycm9y
KSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlJlZmVyZW5jZUVy
cm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6
U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHko
KSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2Jh
bE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlN5
bnRheEVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsKKyAgICBy
ZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52
bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6U3ludGF4RXJyb3Ip
LCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6U3ludGF4RXJyb3Is
IHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNl
QXBwZW5kZXIgYXBwZW5kZXIsIFJ1bnRpbWVUeXBlIHR5cGUpCiB7CiAgICAgQVNTRVJUKCFtZXNz
YWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShF
cnJvclR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCB0eXBlLCB0cnVlKTsKKyAg
ICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0
LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9y
KSwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIEVycm9yVHlwZTo6VHlwZUVycm9yLCB0cnVlKTsK
IH0KIAogSlNPYmplY3QqIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVy
KQpAQCAtNzYsNyArNzYsNyBAQCBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJy
b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JJbnN0YQogSlNPYmplY3QqIGNy
ZWF0ZVVSSUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAg
QVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNy
ZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJv
clN0cnVjdHVyZShFcnJvclR5cGU6OlVSSUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVO
b3RoaW5nLCB0cnVlKTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVy
cm9yVHlwZTo6VVJJRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9y
VHlwZTo6VVJJRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlRXJyb3IoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JUeXBlIGVycm9yVHlwZSwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQpAQCAtMTEzLDcgKzExMyw3IEBAIEpTT2JqZWN0KiBjcmVhdGVFcnJvcihKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvclR5cGVXaXRoRXh0ZW5zaW9uIGVycm9yCiBK
U09iamVjdCogY3JlYXRlR2V0dGVyVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0
eSgpKTsKLSAgICBhdXRvKiBlcnJvciA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJv
clR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UpOworICAgIGF1dG8qIGVycm9yID0gRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6VHlwZUVycm9yKTsKICAgICBlcnJvci0+c2V0TmF0
aXZlR2V0dGVyVHlwZUVycm9yKCk7CiAgICAgcmV0dXJuIGVycm9yOwogfQpAQCAtMjc0LDcgKzI3
NCw3IEBAIEV4Y2VwdGlvbiogdGhyb3dUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGhyb3dTY29wZSYgc2NvcGUsIGNvbnN0CiAKIEV4Y2VwdGlvbiogdGhyb3dTeW50YXhF
cnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUaHJvd1Njb3BlJiBzY29wZSkKIHsK
LSAgICByZXR1cm4gdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSwgY3JlYXRlU3lu
dGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCAiU3ludGF4IGVycm9yIl9zKSk7CisgICAgcmV0dXJuIHRo
cm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUsIGNyZWF0ZVN5bnRheEVycm9yKGdsb2Jh
bE9iamVjdCkpOwogfQogCiBFeGNlcHRpb24qIHRocm93U3ludGF4RXJyb3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgVGhyb3dTY29wZSYgc2NvcGUsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKQEAgLTMxNyw2ICszMTcsMTEgQEAgSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICByZXR1
cm4gY3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCBtZXNzYWdlLCBudWxscHRyKTsKIH0K
IAorSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgcmV0dXJuIGNyZWF0ZVN5bnRheEVycm9yKGdsb2JhbE9iamVjdCwgIlN5bnRh
eCBlcnJvciJfcywgbnVsbHB0cik7Cit9CisKIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJyb3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICByZXR1cm4gY3JlYXRlVHlwZUVycm9y
KGdsb2JhbE9iamVjdCwgIlR5cGUgZXJyb3IiX3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yLmgKaW5kZXggNmRhYTE1NDIxNTY2NjEwZTRhY2U2ZGUzMzVmMzRkM2JmN2M3NDQ0ZC4u
ZGM4MjUyODJjMzU2NDg3MTMyNTQ1NDRiYzhkODE4ODg0MDBlNDM4YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvci5oCkBAIC01NSw2ICs1NSw3IEBAIEpTX0VYUE9SVF9QUklWQVRF
IEpTT2JqZWN0KiBjcmVhdGVFdmFsRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcm
KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVSYW5nZUVycm9yKEpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3Jl
YXRlUmVmZXJlbmNlRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmKTsKIEpTX0VY
UE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0dsb2JhbE9iamVjdCos
IGNvbnN0IFN0cmluZyYpOworSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVN5bnRh
eEVycm9yKEpTR2xvYmFsT2JqZWN0Kik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3Jl
YXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0Kik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVj
dCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19F
WFBPUlRfUFJJVkFURSBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoSlNH
bG9iYWxPYmplY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMGYyZjVhMzE4NDAyZmJiN2M3ZDg4MDJiNmQ3ODQyZWZl
NDA2Yzg0Ni4uOWJlOTMwY2YxYzNjOWE0MGU2MDg1OTgzNTU4YTFhNTliYzc4YjYyZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAK
QEAgLTYwLDE0ICs2MCwxNCBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RXJy
b3JDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogICAgICAgICA6IElu
dGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKGdsb2JhbE9iamVjdCwgbmV3
VGFyZ2V0LCBnZXRGdW5jdGlvblJlYWxtKHZtLCBuZXdUYXJnZXQpLT5lcnJvclN0cnVjdHVyZSgp
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgUkVMRUFTRV9B
TkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5n
LCBmYWxzZSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29k
ZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVz
c2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSkpOwog
fQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEVycm9yQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAgICAg
SlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUq
IGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
ZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJv
clR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBib29sIEVycm9yQ29uc3RydWN0b3I6OnB1dChK
U0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKaW5kZXggMmU0
ZWMzOWYxMjA1OGIyNTA4NzIyZTBiODI1MjI0N2JlYjAzMTllNi4uMGY4NmUyMmI5MmRkZDZkMTM5
ODU4Yjg2ZTU2Y2VhZGNhZWNlMGQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKQEAgLTM0LDE4ICszNCwyMyBAQCBuYW1lc3BhY2UgSlND
IHsKIAogY29uc3QgQ2xhc3NJbmZvIEVycm9ySW5zdGFuY2U6OnNfaW5mbyA9IHsgIkVycm9yIiwg
JkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhP
RF9UQUJMRShFcnJvckluc3RhbmNlKSB9OwogCi1FcnJvckluc3RhbmNlOjpFcnJvckluc3RhbmNl
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitFcnJvckluc3RhbmNlOjpFcnJvckluc3Rh
bmNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVycm9yVHlwZSBlcnJvclR5cGUpCiAg
ICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgLCBtX2Vycm9yVHlwZShlcnJvclR5cGUpCisg
ICAgLCBtX3N0YWNrT3ZlcmZsb3dFcnJvcihmYWxzZSkKKyAgICAsIG1fb3V0T2ZNZW1vcnlFcnJv
cihmYWxzZSkKKyAgICAsIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkKGZhbHNlKQorICAgICwgbV9u
YXRpdmVHZXR0ZXJUeXBlRXJyb3IoZmFsc2UpCiB7CiB9CiAKLUVycm9ySW5zdGFuY2UqIEVycm9y
SW5zdGFuY2U6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNWYWx1ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRlciwgUnVu
dGltZVR5cGUgdHlwZSwgYm9vbCB1c2VDdXJyZW50RnJhbWUpCitFcnJvckluc3RhbmNlKiBFcnJv
ckluc3RhbmNlOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTVmFsdWUgbWVzc2FnZSwgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1
bnRpbWVUeXBlIHR5cGUsIEVycm9yVHlwZSBlcnJvclR5cGUsIGJvb2wgdXNlQ3VycmVudEZyYW1l
KQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcgPSBtZXNz
YWdlLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoKSA6IG1lc3NhZ2UudG9XVEZTdHJpbmcoZ2xvYmFs
T2JqZWN0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLSAgICBy
ZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbWVzc2FnZVN0cmluZywg
YXBwZW5kZXIsIHR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CisgICAgcmV0dXJuIGNyZWF0ZShnbG9i
YWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGFwcGVuZGVyLCB0eXBlLCBl
cnJvclR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwZW5kU291
cmNlVG9FcnJvck1lc3NhZ2UoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEVycm9ySW5zdGFuY2UqIGV4
Y2VwdGlvbiwgQnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4LCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCkBAIC0xMzEsNyArMTM2LDI1IEBAIHZvaWQgRXJyb3JJbnN0YW5jZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTCiAvLyBCYXNl
ZCBvbiBFcnJvclByb3RvdHlwZSdzIGVycm9yUHJvdG9GdW5jVG9TdHJpbmcoKSwgYnV0IGlzIG1v
ZGlmaWVkIHRvCiAvLyBoYXZlIG5vIG9ic2VydmFibGUgc2lkZSBlZmZlY3RzIHRvIHRoZSB1c2Vy
IChpLmUuIGRvZXMgbm90IGNhbGwgcHJveGllcywKIC8vIGFuZCBnZXR0ZXJzKS4KLVN0cmluZyBF
cnJvckluc3RhbmNlOjpzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQorU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmcoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZt
KCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEludGVn
cml0eTo6YXVkaXRTdHJ1Y3R1cmVJRCh2bSwgc3RydWN0dXJlSUQoKSk7CisKKyAgICBKU1ZhbHVl
IG1lc3NhZ2VWYWx1ZTsKKyAgICBhdXRvIG1lc3NhZ2VQcm9wZXJ0TmFtZSA9IHZtLnByb3BlcnR5
TmFtZXMtPm1lc3NhZ2U7CisgICAgUHJvcGVydHlTbG90IG1lc3NhZ2VTbG90KHRoaXMsIFByb3Bl
cnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnksICZ2bSk7CisgICAgaWYgKEpT
T2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZ2xvYmFsT2JqZWN0LCBtZXNzYWdlUHJv
cGVydE5hbWUsIG1lc3NhZ2VTbG90KSAmJiBtZXNzYWdlU2xvdC5pc1ZhbHVlKCkpCisgICAgICAg
IG1lc3NhZ2VWYWx1ZSA9IG1lc3NhZ2VTbG90LmdldFZhbHVlKGdsb2JhbE9iamVjdCwgbWVzc2Fn
ZVByb3BlcnROYW1lKTsKKyAgICBzY29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOworCisgICAgaWYg
KCFtZXNzYWdlVmFsdWUpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBSRUxFQVNFX0FO
RF9SRVRVUk4oc2NvcGUsIG1lc3NhZ2VWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpKTsK
K30KKworU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZE5hbWVTdHJpbmcoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtMTU3LDI4ICsx
ODAsMjIgQEAgU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZFRvU3RyaW5nKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgfQogICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9u
KCk7CiAKLSAgICBTdHJpbmcgbmFtZVN0cmluZzsKICAgICBpZiAoIW5hbWVWYWx1ZSkKLSAgICAg
ICAgbmFtZVN0cmluZyA9ICJFcnJvciJfczsKLSAgICBlbHNlIHsKLSAgICAgICAgbmFtZVN0cmlu
ZyA9IG5hbWVWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpOwotICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7Ci0gICAgfQorICAgICAgICByZXR1cm4gIkVy
cm9yIl9zOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbmFtZVZhbHVlLnRvV1RGU3Ry
aW5nKGdsb2JhbE9iamVjdCkpOworfQogCi0gICAgSlNWYWx1ZSBtZXNzYWdlVmFsdWU7Ci0gICAg
YXV0byBtZXNzYWdlUHJvcGVydE5hbWUgPSB2bS5wcm9wZXJ0eU5hbWVzLT5tZXNzYWdlOwotICAg
IFByb3BlcnR5U2xvdCBtZXNzYWdlU2xvdCh0aGlzLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0
aG9kVHlwZTo6Vk1JbnF1aXJ5LCAmdm0pOwotICAgIGlmIChKU09iamVjdDo6Z2V0T3duUHJvcGVy
dHlTbG90KHRoaXMsIGdsb2JhbE9iamVjdCwgbWVzc2FnZVByb3BlcnROYW1lLCBtZXNzYWdlU2xv
dCkgJiYgbWVzc2FnZVNsb3QuaXNWYWx1ZSgpKQotICAgICAgICBtZXNzYWdlVmFsdWUgPSBtZXNz
YWdlU2xvdC5nZXRWYWx1ZShnbG9iYWxPYmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSk7Ci0gICAg
c2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKK1N0cmluZyBFcnJvckluc3RhbmNlOjpzYW5pdGl6
ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7CisgICAgSW50ZWdyaXR5OjphdWRpdFN0cnVjdHVyZUlEKHZtLCBzdHJ1Y3R1cmVJRCgp
KTsKIAotICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nOwotICAgIGlmICghbWVzc2FnZVZhbHVlKQot
ICAgICAgICBtZXNzYWdlU3RyaW5nID0gU3RyaW5nKCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG1l
c3NhZ2VTdHJpbmcgPSBtZXNzYWdlVmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKLSAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOwotICAgIH0KKyAgICBT
dHJpbmcgbmFtZVN0cmluZyA9IHNhbml0aXplZE5hbWVTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKKyAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7CisKKyAgICBTdHJpbmcgbWVz
c2FnZVN0cmluZyA9IHNhbml0aXplZE1lc3NhZ2VTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKKyAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7CiAKICAgICBpZiAoIW5hbWVTdHJp
bmcubGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBtZXNzYWdlU3RyaW5nOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCmluZGV4IGRhNjZlYjc2ZTdhZGU5
MGZkNDFiYjE2MjcwNzI1YTdkMTQ3MGFkMzguLjk4NzEzNTcyMWIzMDU2NjIzMGQyNjFjODMzYWQ4
ZGVjYTU0NjE0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9ySW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvcklu
c3RhbmNlLmgKQEAgLTIwLDYgKzIwLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJF
cnJvclR5cGUuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVUeXBl
LmgiCiAjaW5jbHVkZSAiU3RhY2tGcmFtZS5oIgpAQCAtNTMsMTQgKzU0LDE0IEBAIGNsYXNzIEVy
cm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgICAgIHJldHVybiBT
dHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEVy
cm9ySW5zdGFuY2VUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi0gICAg
c3RhdGljIEVycm9ySW5zdGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFNv
dXJjZUFwcGVuZGVyIGFwcGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVO
b3RoaW5nLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUpCisgICAgc3RhdGljIEVycm9ySW5z
dGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyIGFw
cGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVOb3RoaW5nLCBFcnJvclR5
cGUgZXJyb3JUeXBlID0gRXJyb3JUeXBlOjpFcnJvciwgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0
cnVlKQogICAgIHsKLSAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJbnN0YW5jZSh2
bSwgc3RydWN0dXJlKTsKKyAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJbnN0YW5j
ZSh2bSwgc3RydWN0dXJlLCBlcnJvclR5cGUpOwogICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3Jl
YXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIHVzZUN1cnJl
bnRGcmFtZSk7CiAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICB9CiAKLSAgICBzdGF0aWMg
RXJyb3JJbnN0YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNWYWx1
ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlID0gVHlwZU5v
dGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSk7CisgICAgc3RhdGljIEVycm9ySW5z
dGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTVmFsdWUgbWVzc2Fn
ZSwgU291cmNlQXBwZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVOb3RoaW5nLCBF
cnJvclR5cGUgPSBFcnJvclR5cGU6OkVycm9yLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUp
OwogCiAgICAgYm9vbCBoYXNTb3VyY2VBcHBlbmRlcigpIGNvbnN0IHsgcmV0dXJuICEhbV9zb3Vy
Y2VBcHBlbmRlcjsgfQogICAgIFNvdXJjZUFwcGVuZGVyIHNvdXJjZUFwcGVuZGVyKCkgY29uc3Qg
eyByZXR1cm4gbV9zb3VyY2VBcHBlbmRlcjsgfQpAQCAtNzAsNiArNzEsNyBAQCBjbGFzcyBFcnJv
ckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIFJ1bnRpbWVUeXBlIHJ1
bnRpbWVUeXBlRm9yQ2F1c2UoKSBjb25zdCB7IHJldHVybiBtX3J1bnRpbWVUeXBlRm9yQ2F1c2U7
IH0KICAgICB2b2lkIGNsZWFyUnVudGltZVR5cGVGb3JDYXVzZSgpIHsgbV9ydW50aW1lVHlwZUZv
ckNhdXNlID0gVHlwZU5vdGhpbmc7IH0KIAorICAgIEVycm9yVHlwZSBlcnJvclR5cGUoKSBjb25z
dCB7IHJldHVybiBtX2Vycm9yVHlwZTsgfQogICAgIHZvaWQgc2V0U3RhY2tPdmVyZmxvd0Vycm9y
KCkgeyBtX3N0YWNrT3ZlcmZsb3dFcnJvciA9IHRydWU7IH0KICAgICBib29sIGlzU3RhY2tPdmVy
Zmxvd0Vycm9yKCkgY29uc3QgeyByZXR1cm4gbV9zdGFja092ZXJmbG93RXJyb3I7IH0KICAgICB2
b2lkIHNldE91dE9mTWVtb3J5RXJyb3IoKSB7IG1fb3V0T2ZNZW1vcnlFcnJvciA9IHRydWU7IH0K
QEAgLTc5LDYgKzgxLDggQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05vbkZpbmFs
T2JqZWN0IHsKICAgICBib29sIGlzTmF0aXZlR2V0dGVyVHlwZUVycm9yKCkgY29uc3QgeyByZXR1
cm4gbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3I7IH0KIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0
cmluZyBzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCopOworICAgIEpTX0VYUE9SVF9Q
UklWQVRFIFN0cmluZyBzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKEpTR2xvYmFsT2JqZWN0Kik7Cisg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIHNhbml0aXplZE5hbWVTdHJpbmcoSlNHbG9iYWxP
YmplY3QqKTsKICAgICAKICAgICBWZWN0b3I8U3RhY2tGcmFtZT4qIHN0YWNrVHJhY2UoKSB7IHJl
dHVybiBtX3N0YWNrVHJhY2UuZ2V0KCk7IH0KIApAQCAtODgsNyArOTIsNyBAQCBjbGFzcyBFcnJv
ckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIHZvaWQgZmluYWxpemVV
bmNvbmRpdGlvbmFsbHkoVk0mKTsKIAogcHJvdGVjdGVkOgotICAgIGV4cGxpY2l0IEVycm9ySW5z
dGFuY2UoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICBleHBsaWNpdCBFcnJvckluc3RhbmNlKFZNJiwg
U3RydWN0dXJlKiwgRXJyb3JUeXBlKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBK
U0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYsIFNvdXJjZUFwcGVuZGVyID0gbnVsbHB0ciwg
UnVudGltZVR5cGUgPSBUeXBlTm90aGluZywgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKTsK
IApAQCAtMTA4LDEwICsxMTIsMTEgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKICAgICBTdHJpbmcgbV9zb3VyY2VVUkw7CiAgICAgU3RyaW5nIG1fc3Rh
Y2tTdHJpbmc7CiAgICAgUnVudGltZVR5cGUgbV9ydW50aW1lVHlwZUZvckNhdXNlIHsgVHlwZU5v
dGhpbmcgfTsKLSAgICBib29sIG1fc3RhY2tPdmVyZmxvd0Vycm9yIHsgZmFsc2UgfTsKLSAgICBi
b29sIG1fb3V0T2ZNZW1vcnlFcnJvciB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2Vycm9ySW5mb01h
dGVyaWFsaXplZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX25hdGl2ZUdldHRlclR5cGVFcnJvciB7
IGZhbHNlIH07CisgICAgRXJyb3JUeXBlIG1fZXJyb3JUeXBlIHsgRXJyb3JUeXBlOjpFcnJvciB9
OworICAgIGJvb2wgbV9zdGFja092ZXJmbG93RXJyb3IgOiAxOworICAgIGJvb2wgbV9vdXRPZk1l
bW9yeUVycm9yIDogMTsKKyAgICBib29sIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkIDogMTsKKyAg
ICBib29sIG1fbmF0aXZlR2V0dGVyVHlwZUVycm9yIDogMTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3RGdW5jdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuY3BwCmluZGV4IDQwMjFmYzdlMGFkYWY3YTBhOWUwZWY2Y2ZkMjI1
ODM4YjViZjg3ODMuLmFmNzI2MjgzMWNhMWJiNzVjNmFlNTU0MTFkZTRjZDg1YTgxMzdkYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVu
Y3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdEZ1bmN0aW9ucy5jcHAKQEAgLTY5NCw3ICs2OTQsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVO
Q1RJT04oZ2xvYmFsRnVuY1Rocm93VHlwZUVycm9yQXJndW1lbnRzQ2FsbGVlQW5kQ2FsbGVyLCAo
SlNHbAogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNNYWtlVHlwZUVycm9yLCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewog
ICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0
dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVy
cm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBjYWxsRnJh
bWUtPmFyZ3VtZW50KDApLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVy
cm9yU3RydWN0dXJlLCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApLCBudWxscHRyLCBUeXBlTm90aGlu
ZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIGZhbHNlKSk7CiB9CiAKIEpTQ19ERUZJTkVfSE9TVF9G
VU5DVElPTihnbG9iYWxGdW5jUHJvdG9HZXR0ZXIsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDdjYzExYjVm
NWUxMjk3MjIwMTZiODY3MWYxMzdjNmJiMTcyMTM4NDAuLmI2ZTdlZGVmZDQyZWRjNjM1ZDkwYjdl
MGU4YzdiNGZjMGMyNDNkMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC01OCw3ICs1OCw3IEBAIGlu
bGluZSBFbmNvZGVkSlNWYWx1ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNv
bnN0cnVjdEltcGwoSlNHbG9iYWxPCiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9
KTsKICAgICBBU1NFUlQoZXJyb3JTdHJ1Y3R1cmUpOwogCi0gICAgUkVMRUFTRV9BTkRfUkVUVVJO
KHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkp
KTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShFcnJvcklu
c3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVs
bHB0ciwgVHlwZU5vdGhpbmcsIGVycm9yVHlwZSwgZmFsc2UpKSk7CiB9CiAKIHRlbXBsYXRlPEVy
cm9yVHlwZSBlcnJvclR5cGU+CkBAIC02Niw3ICs2Niw3IEBAIGlubGluZSBFbmNvZGVkSlNWYWx1
ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNhbGxJbXBsKEpTR2xvYmFsT2Jq
ZWN0CiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAg
ICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVy
ZShlcnJvclR5cGUpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6
Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5
cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxw
dHIsIFR5cGVOb3RoaW5nLCBlcnJvclR5cGUsIGZhbHNlKSk7CiB9CiAKIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihjYWxsRXZhbEVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5jcHAKaW5kZXggMjZmM2I2YThmOWRiNjc4Y2Q5NGQw
NWFlODhiMTFiODllNjFjMGViYy4uMGRkYjJjNmE1MGY0NmJjNjM2OTk1Y2E0NmQ3ZjE4ZTViMjY4
NjNlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRl
ckZ1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsU2V0
dGVyRnVuY3Rpb24uY3BwCkBAIC05NCw3ICs5NCw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElP
TihjYWxsVGhyb3dFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFt
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIC8vIFRoaXMg
ZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgZnJvbSBJQy4gQW5kIHdlIGRvIG5vdCB3YW50IHRvIGlu
Y2x1ZGUgdGhpcyBmcmFtZSBpbiBFcnJvcidzIHN0YWNrLgogICAgIGNvbnN0ZXhwciBib29sIHVz
ZUN1cnJlbnRGcmFtZSA9IGZhbHNlOwotICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwg
c2NvcGUsIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgUmVhZG9ubHlQcm9wZXJ0
eVdyaXRlRXJyb3IsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCB1c2VDdXJyZW50RnJhbWUpKTsKKyAg
ICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlLCBFcnJvckluc3RhbmNlOjpjcmVh
dGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5
cGU6OlR5cGVFcnJvciksIFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yLCBudWxscHRyLCBUeXBl
Tm90aGluZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIHVzZUN1cnJlbnRGcmFtZSkpOwogICAgIHJl
dHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKaW5kZXggMzgzNzNhNzYwZDU5ZDBl
ZWRiNDk0ZGI4OGQ4NTI0ZmFiOWE1MTU0ZS4uOWViZDNkNDQ2YTlkYTlhZDE5ZDdiYTQxOTkwMDYz
ZmM1YTYzMjhmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgSlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvciogSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6Y3JlYXRl
KEpTR2xvYmFsT2JqZWN0KiBnbG8KIH0KIAogSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6SlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAg
IDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5
cGU6OkVycm9yKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCmluZGV4IGVhZGUwMzQxM2U0Y2UzNjBi
YTA4OWY4YzUzZDE4Y2Y4ZDZkNzAyMzUuLjliMjAwNThlY2YzNGFmOTFiNmIxOGQxNWY2NTE1Nzg1
YzIxNzJlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlMaW5rRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEpTV2ViQXNzZW1i
bHlMaW5rRXJyb3IqIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OmNyZWF0ZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqCiB9CiAKIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OkpTV2ViQXNzZW1ibHlM
aW5rRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0sIHN0
cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikKIHsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5UnVudGltZUVycm9yLmNwcAppbmRleCBiZTFmOTI4NjAzMDQ1ZDdjZjcyOTMyNGVl
NGE3N2FlODNmY2U5Y2JlLi4xOTMzYTZlMzg4OGZiZWFjY2YwN2FjMmIzN2M3NDUwNDg0ZmE1MWYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5UnVudGltZUVycm9yLmNwcApAQCAtNDEsNyArNDEsNyBAQCBKU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yKiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpjcmVhdGUoSlNHbG9iYWxP
YmplY3QqIGdsbwogfQogCiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpKU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZt
LCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3Ip
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNWNk
MDAzNWEwMWZkYjc4ZGRjMzVmYzQ3YjZiODU4MGJlNDVkMzU5Ny4uYzNhMGQzOTdmNTA0ZTI1OGYx
ZDcwZjhiNDgyYjc5YTFkOWU3MjY2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxK
U1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAg
ICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVy
ZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5Q29tcGlsZUVycm9y
U3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlw
ZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3Rh
bmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdlYkFzc2Vt
Ymx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3Ry
dWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3NlbWJseUNv
bXBpbGVFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggOTQ2ZGVmNGYxMTUyMjlhMjI1YmU5MzJhYzllNjQzNWI2YzhhYjJh
OS4uMmM1ZjZhMjkzMWYxNTIxNTg1YWFhOTM1ZTU2YjRiZDJmMTljMTZiMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlM
aW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5TGlua0Vycm9yLCAoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamUKIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDAp
OwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndlYkFzc2Vt
Ymx5TGlua0Vycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJv
ckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwg
bnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVz
c2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9
CiAKIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3Nl
bWJseUxpbmtFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2RmZDkxNTY3YjYwYTU4ZGQ5YWE2ODQyZmY2Nzkw
MjFmNWNiOTI1Mi4uYTg1NjY5YzUxOGIxZTlhYTY4Yzk1YWQwNTY2ZWJmZDZmYzNkZmE4YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTY3LDcgKzY3LDcgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJh
bWUtPmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxP
YmplY3QtPndlYkFzc2VtYmx5UnVudGltZUVycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0
cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBl
cnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6
RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3Iq
IFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZSogdGhpc1By
b3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGY4ODU5MTVmZThiZTc5ZTUxMjU4ZmZmOGQ4
MzE4MmM5NWQ3ZDMyY2IuLjlkYjk3ZWQ3MTIwZjM3YjJmYmJmNWZiN2MyZGVjNDQ3ZDg4ZmY2YmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMzAsNiArMzAsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1bWVy
LmgKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keVNvdXJjZS5oCisgICAgTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRl
cnMuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hJZGVudGlmaWVyLmgKICAgICBNb2R1bGVzL2Zl
dGNoL0ZldGNoTG9hZGVyLmgKQEAgLTI4Nyw2ICsyODgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAgICAgYmluZGluZ3MvanMvV2ViQ29yZUpJVE9wZXJhdGlvbnMu
aAogICAgIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oCiAgICAgYmlu
ZGluZ3MvanMvV2luZG93UHJveHkuaAorICAgIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNo
ZXIuaAogCiAgICAgYnJpZGdlL0JyaWRnZS5oCiAgICAgYnJpZGdlL0lkZW50aWZpZXJSZXAuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAppbmRleCAwNDVjZjI3MDZjMDM2N2U0Y2Y5MGIzMmRkZDc5MTQ2ZDVmYTExZGZm
Li43ODBmNzMxNzdkNTQ2Y2Y4YmE0ZjM0NWEzOTBkNzcxZmQ0ZjY1MzY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dApAQCAtNjM5LDYgKzYzOSw3IEBAIGJpbmRpbmdzL2pzL1N0cnVjdHVyZWRDbG9uZS5jcHAKIGJp
bmRpbmdzL2pzL1dlYkNvcmVKSVRPcGVyYXRpb25zLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZUpT
Q2xpZW50RGF0YS5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5j
cHAKK2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKIGJpbmRpbmdzL2pz
L1dpbmRvd1Byb3h5LmNwcAogYmluZGluZ3MvanMvV3JpdGFibGVTdHJlYW0uY3BwCiBicmlkZ2Uv
SWRlbnRpZmllclJlcC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA4YzE1ZWI2NDgwMzczMDU4MDdiNzAzZDBiZGJhYjNmM2Jm
YTU3MTViLi4yM2U5MGI1ZWVlNzY4MTJiOTNkMWNjNTdkNmE3NzhkMTY1MjcwYzVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
MDY5LDE1ICs1MDY5LDE4IEBACiAJCUUzMDU5MjY0MUUyN0EzQUQwMEQ1N0M5OCAvKiBJbmxpbmVD
bGFzc2ljU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzA1OTI2MjFFMjdBMzhDMDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDU5MjY4
MUUyN0EzRDEwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTgg
LyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUUzMDdERUQwMUQ4MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzMDdERUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlF
MzA3REVEMTFEODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVD
ODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMwN0RFRDUx
RDgxRTRGMjAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYg
LyogTG9hZGFibGVNb2R1bGVTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzE1MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVs
cGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMx
NTBFQTUxREE3MjE4RDAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCAqLzsgfTsKIAkJRTMyMDFD
MUExRjhFODIxMzAwNzZBMDMyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4RDA2MDkxRjhFODExOTAwNjQ5
Q0YyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMjNDRkZBMUU1QUY2QUYwMEYwQjRBMCAvKiBKU0RP
TUNvbnZlcnRQcm9taXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzIzQ0ZGOTFFNUFGNkE1MDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzNDMy
REU0MjVEMzc3RTMwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNDMyREUwMjVEMzc3RTIw
MDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgfTsKKwkJRTM0N0U1RkEy
NUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNDdFNUY4MjVENEYwMDAwMEYxN0E1QyAv
KiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRTM1MTg4QjQyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUz
NTY1QjdCMURDMkQ2QzkwMDIxN0RCRCAvKiBKU0V2ZW50Q3VzdG9tLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMg
LyogSlNFdmVudEN1c3RvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUUzNTgwMkI2MURDODQzNUQwMEE5NzczQyAvKiBET01KSVRJRExUeXBlRmls
dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzU4
MDJCNTFEQzg0MzU4MDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTgyQzI4MjUyN0Y2Njkw
MEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNv
cmVKSVRPcGVyYXRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTM1QjkwN0YyM0Y2MEE1MDAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1v
ZGVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzVC
OTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzY0MzIxQzI1RDM3QTY3
MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxl
U2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTM3N0ZFNEQxREFERTE2NTAwQ0REMDI1IC8qIE5vZGVDb25zdGFudHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDA0OTkzMURBREMw
NDUwMDcxOEYzQyAvKiBOb2RlQ29uc3RhbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM3Qzg2NTAxRUI2M0UzRjAwODdDNkNBIC8qIEpTRE9N
UHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzOTYyOEJGMjM5NTcyOEYwMDY1
OEVDRCAvKiBEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhCRDIzOTU3MjhFMDA2NThFQ0Qg
LyogRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjE5NSw3ICsxNjE5OCw2IEBACiAJCUUz
MDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFNjcmlwdEZldGNoZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFQzYxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMzA3REVDODFEODFFNDQ4MDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVEMjFEODFFNEVEMDAxNDFDQUYgLyogTG9h
ZGFibGVNb2R1bGVTY3JpcHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMxNTBFQTUxREE3MjE4RDAwMTk0MDEyIC8qIERP
TUpJVEhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUSGVs
cGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYyMDgsMTIgKzE2MjEwLDE3
IEBACiAJCUUzMjkyNzYzMjI1NDNGNTkwMDMwOEE5QSAvKiBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFR5cGVkT01DU1NVbml0VmFsdWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzI5Mjc2NjIyNTQzRkRFMDAzMDhBOUEgLyogRE9NUmVjdFJl
YWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVJlY3RSZWFkT25seS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMzQ4MjVFMURDOTNBQTAwMDlDOTU0NCAvKiBET01K
SVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IERPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2Vy
TW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlck1vZHVsZVNjcmlwdExv
YWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNDdFNUY4MjVENEYwMDAw
MEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdvcmtlclNjcmlwdEZldGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZlbnRDdXN0b20uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudEN1c3RvbS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MDJC
NTFEQzg0MzU4MDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRJRExUeXBlRmlsdGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzNTgyQzI0MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3Bl
cmF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3Jl
SklUT3BlcmF0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNTgyQzI2
MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlSklUT3BlcmF0aW9ucy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzVCOTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2
aWNlTW9kZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxpemVkRGV2
aWNlTW9kZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1QjkwN0UyM0Y2MDY3
NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxpemVkRGV2aWNlTW9kZWwubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3Jp
cHRMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlU2NyaXB0
TG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzN0M4NjRGMUVCNjNFMkQw
MDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNET01Qcm9taXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzODgzODk0
MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0TW9kdWxlTG9hZGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM4ODM4OTUxQkFEMTQ1RjAwRDYyRUUzIC8qIFNjcmlwdE1v
ZHVsZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRNb2R1
bGVMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MDA5LDcgKzI3MDE2
LDYgQEAKIAkJCQkyREZBNDg4RTFEQjU0MUMyMDAzNjJCOTkgLyogQnVmZmVyU291cmNlLmggKi8s
CiAJCQkJRTMwN0RFQzYxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5jcHAgKi8sCiAJCQkJRTMwN0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlci5oICovLAotCQkJCUUzMDdERUM4MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLywKIAkJCQlFMzA1OTI2NTFFMjdBM0M2MDBENTdD
OTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAgKi8sCiAJCQkJRTMwNTkyNjYxRTI3QTNDNjAw
RDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuaCAqLywKIAkJCQlCQ0Q1MzM2MzBFRDY4NDg5
MDA4ODc0NjggLyogQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCAqLywKQEAgLTI3MDgzLDYg
KzI3MDg5LDggQEAKIAkJCQk0QkRFQTMyRDIxODAzNDA1MDA1MkRGQ0QgLyogSlNXb3JrbGV0R2xv
YmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQk0QkRFQTMyQjIxODAzM0VCMDA1MkRGQ0QgLyogSlNX
b3JrbGV0R2xvYmFsU2NvcGVCYXNlLmggKi8sCiAJCQkJNzA5QTAxRkQxRTNEMEJDQzAwNkIwRDRD
IC8qIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCAqLywKKwkJCQlFMzY0MzIxQTI1RDM3QTY2MDBG
OTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCisJCQkJRTM1MTg4QjMyNUQzODdDRjAw
QTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovLAogCQkJCTQxQjQ1OUVEMUY1
NUVCQzcwMDAwRjZGRCAvKiBSZWFkYWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDFCNDU5REExRjRD
QURCOTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmggKi8sCiAJCQkJNDE4QzM5NUUxQzhGMEFB
QjAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuY3BwICovLApAQCAt
MjcxMTQsNiArMjcxMjIsOSBAQAogCQkJCTBGMDk5RDA3MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJD
b3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLywKIAkJCQk0NjM1MjFBQzIwODEwOTBFMDBDMjg5
MjIgLyogV2luZG93UHJveHkuY3BwICovLAogCQkJCTQ2MzUyMUFBMjA4MTA5MEIwMEMyODkyMiAv
KiBXaW5kb3dQcm94eS5oICovLAorCQkJCUUzNDMyREUzMjVEMzc3RTMwMDU4RTYxMiAvKiBXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwICovLAorCQkJCUUzNDMyREUwMjVEMzc3RTIwMDU4RTYx
MiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLywKKwkJCQlFMzQ3RTVGODI1RDRGMDAw
MDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oICovLAogCQkJCTQxNDE4QTAzMjU2NDNF
MTIwMDM2MzQxNyAvKiBXcml0YWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDE0MThBMDQyNTY0M0Ux
MzAwMzYzNDE3IC8qIFdyaXRhYmxlU3RyZWFtLmggKi8sCiAJCQkpOwpAQCAtMzEzODcsNyArMzEz
OTgsNiBAQAogCQkJCUJDQjE2QzFDMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRJbWFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzE5RkJENUYxNUQyRjQ2NDAwOTY0MEE2IC8qIENhY2hlZEltYWdl
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzA3REVEMDFEODFFNEM3MDAxNDFDQUYgLyog
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMzA3REVEMTFE
ODFFNENCMDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTAxODQ2OTBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRDBFREE3NzUxNDNFMzAzQzAwMjhFMzgzIC8qIENhY2hlZFJhd1Jl
c291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUI1MzM0OTE3MTdERUUzMDBGMjA1RjkgLyog
Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzM4NjIsNiArMzM4
NzIsOCBAQAogCQkJCUM2RDc0QUQ1MDlBQTI4MkUwMDBCMEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25M
aXN0TGV2ZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTcwOUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAv
KiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzIwMUMxQTFG
OEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlFMzY0MzIxQzI1RDM3QTY3MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQlFMzUxODhCNDI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RDNjEyNTFGMTJEMDAzRUYy
NjkgLyogTW9udGhJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzOTYyOEMxMjM5NTc0
MzEwMDY1OEVDRCAvKiBNb3Rpb25NYW5hZ2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NTAzMUI0NjBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zNTUxMiw2ICszNTUyNCw3IEBACiAJCQkJMThGODMxQjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdv
cmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0RDBGNTQ2QTgyMDBC
MEYxQkEgLyogV29ya2VyTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUwMEY1
NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJNZXNzYWdpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJRTM0MzJERTQyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNzFBMEIwRUVFQzc3QTAwRjYxMjEzIC8qIFdvcmtlck5h
dmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVDQjA1MjUxRkI1MUYzQTAwMDg5Qjk3IC8q
IFdvcmtlck5ldHdvcmtBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTEwRjU0NkE4
MjAwQjBGMUJBIC8qIFdvcmtlck9iamVjdFByb3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NTIx
LDYgKzM1NTM0LDcgQEAKIAkJCQk0MTZFMjlBNjEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVw
b3J0aW5nUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUzMEY1NDZBODIwMEIwRjFC
QSAvKiBXb3JrZXJSdW5Mb29wLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUI4MUNDRjFGQUE0NERF
MDAzN0QxRTYgLyogV29ya2VyUnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzQ3
RTVGQTI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTdENkIzNDkwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkVBNzY4MDQwRkU3MTI2NDAwQUI5QzhBIC8qIFdvcmtlclNj
cmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTUwRjU0NkE4MjAw
QjBGMUJBIC8qIFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAppbmRl
eCAzNTJkY2M0YWNmNzUxNzZkOThhZDM0MTBiZTE1MTYwODAxMDg4NTI0Li4yNzdmNjJhN2MxMzNm
ZTE1NmM2Y2NlOTg1NTM1NTBlZGIxMzZkMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKQEAgLTQwLDE2ICs0
MCwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI+IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNj
cmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+
JiYgcGFyYW1ldGVycykKK1JlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcjo6Y3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBE
ZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNo
ZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKIHsKICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9t
aXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKSk7CiB9CiAKLUNhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hl
ZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRl
cnM+JiYgcGFyYW1ldGVycykKLSAgICA6IG1fY2xpZW50KCZjbGllbnQpCi0gICAgLCBtX3Byb21p
c2UoJnByb21pc2UpCi0gICAgLCBtX3NjcmlwdEZldGNoZXIoc2NyaXB0RmV0Y2hlcikKLSAgICAs
IG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRlcnMpKQorQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBj
bGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2Ny
aXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQor
ICAgIDogTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwg
V1RGTW92ZShwYXJhbWV0ZXJzKSkKIHsKIH0KIApAQCAtNjEsMTQgKzU4LDE1IEBAIENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlcjo6fkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcigpCiAgICAgfQogfQog
Ci1ib29sIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQs
IGNvbnN0IFVSTCYgc291cmNlVVJMKQorYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6Omxv
YWQoRG9jdW1lbnQmIGRvY3VtZW50LCBVUkwmJiBzb3VyY2VVUkwpCiB7CisgICAgQVNTRVJUKG1f
cHJvbWlzZSk7CiAgICAgQVNTRVJUKCFtX2NhY2hlZFNjcmlwdCk7CiAgICAgU3RyaW5nIGludGVn
cml0eSA9IG1fcGFyYW1ldGVycyA/IG1fcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkgOiBTdHJpbmcg
eyB9OwotICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9zY3JpcHRGZXRjaGVyLT5yZXF1ZXN0TW9kdWxl
U2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkwsIFdURk1vdmUoaW50ZWdyaXR5KSk7CisgICAgbV9j
YWNoZWRTY3JpcHQgPSBzY3JpcHRGZXRjaGVyKCkucmVxdWVzdE1vZHVsZVNjcmlwdChkb2N1bWVu
dCwgc291cmNlVVJMLCBXVEZNb3ZlKGludGVncml0eSkpOwogICAgIGlmICghbV9jYWNoZWRTY3Jp
cHQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBtX3NvdXJjZVVSTCA9IHNvdXJjZVVSTDsK
KyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291cmNlVVJMKTsKIAogICAgIC8vIElmIHRoZSBj
b250ZW50IGlzIGFscmVhZHkgY2FjaGVkLCB0aGlzIGltbWVkaWF0ZWx5IGNhbGxzIG5vdGlmeUZp
bmlzaGVkLgogICAgIG1fY2FjaGVkU2NyaXB0LT5hZGRDbGllbnQoKnRoaXMpOwpAQCAtODMsNyAr
ODEsNyBAQCB2b2lkIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZQogCiAgICAgUmVmPENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAgICAgaWYgKG1fY2xpZW50KQotICAg
ICAgICBtX2NsaWVudC0+bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9wcm9taXNlKSk7
CisgICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJj
ZVVSTCksIG1fcHJvbWlzZS5yZWxlYXNlTm9uTnVsbCgpKTsKIAogICAgIC8vIFJlbW92ZSB0aGUg
Y2xpZW50IGFmdGVyIGNhbGxpbmcgbm90aWZ5RmluaXNoZWQgdG8ga2VlcCB0aGUgZGF0YSBidWZm
ZXIgaW4KICAgICAvLyBDYWNoZWRSZXNvdXJjZSBhbGl2ZSB3aGlsZSBub3RpZnlGaW5pc2hlZCBw
cm9jZXNzZXMgdGhlIHJlc291cmNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaAppbmRleCA0M2FiZDg3NWIyNDNmYWY1ZmNk
NGQ5OGVjM2M1ZDI0ZTc5MGI1NzJlLi5hNDg3NTVmOTNkMDVlZjM1M2QyYjNlMjI4ZDgyMTlmZTg5
MWU2NzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuaApAQCAtMjcsNiArMjcsOCBAQAogCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgorI2lu
Y2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zNCw0MiArMzYsMjkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFz
cyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CiBjbGFzcyBDYWNoZWRTY3JpcHQ7Ci1jbGFzcyBD
YWNoZWRTY3JpcHRGZXRjaGVyOwogY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRG9jdW1l
bnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKIGNsYXNzIE1vZHVsZUZldGNoUGFyYW1ldGVy
czsKIAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWQ8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CitjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgTW9k
dWxlU2NyaXB0TG9hZGVyLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKENhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZl
dGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBzdGF0aWMgUmVm
PENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcigpOwogCi0gICAgYm9vbCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiBzb3VyY2VVUkwp
OworICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIFVSTCYmIHNvdXJjZVVSTCk7CiAKLSAgICBDYWNo
ZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyKCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVy
LmdldCgpOyB9CiAgICAgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQoKSB7IHJldHVybiBtX2Nh
Y2hlZFNjcmlwdC5nZXQoKTsgfQotICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyogcGFyYW1ldGVy
cygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQotICAgIGNvbnN0IFVSTCYgc291cmNl
VVJMKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VVUkw7IH0KLQotICAgIHZvaWQgY2xlYXJDbGll
bnQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICAgICAgbV9jbGllbnQg
PSBudWxscHRyOwotICAgIH0KKyAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVy
KCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlciY+KE1vZHVsZVNjcmlw
dExvYWRlcjo6c2NyaXB0RmV0Y2hlcigpKTsgfQogCiBwcml2YXRlOgotICAgIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFBy
b21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVy
cz4mJik7CisgICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNs
aWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9k
dWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKIAogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVk
UmVzb3VyY2UmLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbDsKIAotICAgIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCogbV9jbGllbnQgeyBudWxscHRyIH07Ci0gICAgUmVm
UHRyPERlZmVycmVkUHJvbWlzZT4gbV9wcm9taXNlOwotICAgIFJlZjxDYWNoZWRTY3JpcHRGZXRj
aGVyPiBtX3NjcmlwdEZldGNoZXI7Ci0gICAgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4g
bV9wYXJhbWV0ZXJzOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gbV9j
YWNoZWRTY3JpcHQ7CiAgICAgVVJMIG1fc291cmNlVVJMOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2ODhhZDkwZGFlM2VjZTk0OWVhMDli
MWVmZWU1ZGEyNmY5NGM3ODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjsKLWNsYXNzIERl
ZmVycmVkUHJvbWlzZTsKLQotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsK
LXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQoKSA9
IGRlZmF1bHQ7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4pID0gMDsKLX07Ci0KLX0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAK
aW5kZXggYTQzMzc1ODY1YmJmMWVjNTk3M2JmMTcyYzkxYTM4NTMyMzRlMzc0ZC4uZGYzYzZiNmVi
Yjg0YWY3MmVkMjk1NWY5OTExZDA3YTg3YWIzNTMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Nyw2ICs0OCw3IEBAIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVx
dWVzdE1vZHVsZVNjcmlwdChEb2N1CiAKIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlw
dD4gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNoZShEb2N1bWVudCYg
ZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNlVVJMLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2lu
TW9kZSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBPcHRpb25hbDxSZXNvdXJjZUxvYWRQcmlvcml0eT4g
cmVzb3VyY2VMb2FkUHJpb3JpdHkpIGNvbnN0CiB7CisgICAgLy8gV2l0aG91dCBzY3JpcHRpbmcs
IHRoZXJlIGlzIG5vIHdheSB0byBzdGFydCBXb3JrZXJzLgogICAgIGlmICghZG9jdW1lbnQuc2V0
dGluZ3MoKS5pc1NjcmlwdEVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGlu
Zy5jcHAKaW5kZXggZGY3ZjNkNzQ2ZDVlMzJhYmFiNTE0NzZjOWRkYWNhNjNhNDM1MTM2Yy4uZWVm
MjEwMzg4NDlmZDg5ODQ5YWZjZWQ3MDMxODVmZjg5NGM0MGM3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKQEAgLTUy
LDYgKzUyLDI1IEBAIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlCiAgICAgcmVwb3J0RXhjZXB0aW9u
KGxleGljYWxHbG9iYWxPYmplY3QsIGV4Y2VwdGlvbiwgY2FjaGVkU2NyaXB0KTsKIH0KIAorU3Ry
aW5nIHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIFZNJiB2bSwgSlNWYWx1ZSBleGNlcHRpb24sIENhdGNoU2NvcGUmIGNh
dGNoU2NvcGUpCit7CisgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNTA4Nz4g
V2ViIEluc3BlY3RvcjogV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9uIHNob3VsZCBub3QgZXZhbHVh
dGUgSmF2YVNjcmlwdCBoYW5kbGluZyBleGNlcHRpb25zCisgICAgLy8gSWYgdGhpcyBpcyBhIGN1
c3RvbSBleGNlcHRpb24gb2JqZWN0LCBjYWxsIHRvU3RyaW5nIG9uIGl0IHRvIHRyeSBhbmQgZ2V0
IGEgbmljZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBleGNlcHRpb24uCisgICAgU3Ry
aW5nIGVycm9yTWVzc2FnZTsKKyAgICBpZiAoYXV0byogZXJyb3IgPSBqc0R5bmFtaWNDYXN0PEVy
cm9ySW5zdGFuY2UqPih2bSwgZXhjZXB0aW9uKSkKKyAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJy
b3ItPnNhbml0aXplZE1lc3NhZ2VTdHJpbmcoJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIGVs
c2UgaWYgKGF1dG8qIGVycm9yID0ganNEeW5hbWljQ2FzdDxKU0RPTUV4Y2VwdGlvbio+KHZtLCBl
eGNlcHRpb24pKQorICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci0+d3JhcHBlZCgpLm1lc3Nh
Z2UoKTsKKyAgICBlbHNlCisgICAgICAgIGVycm9yTWVzc2FnZSA9IGV4Y2VwdGlvbi50b1dURlN0
cmluZygmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisKKyAgICAvLyBXZSBuZWVkIHRvIGNsZWFyIGFu
eSBuZXcgZXhjZXB0aW9uIHRoYXQgbWF5IGJlIHRocm93biBpbiB0aGUgdG9TdHJpbmcoKSBjYWxs
IGFib3ZlLgorICAgIC8vIHJlcG9ydEV4Y2VwdGlvbigpIGlzIG5vdCBzdXBwb3NlZCB0byBiZSBt
YWtpbmcgbmV3IGV4Y2VwdGlvbnMuCisgICAgY2F0Y2hTY29wZS5jbGVhckV4Y2VwdGlvbigpOwor
ICAgIHZtLmNsZWFyTGFzdEV4Y2VwdGlvbigpOworICAgIHJldHVybiBlcnJvck1lc3NhZ2U7Cit9
CisKIFN0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZShKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgVk0mIHZtLCBKU1ZhbHVlIGV4Y2VwdGlvbiwgQ2F0Y2hTY29wZSYgY2F0Y2hT
Y29wZSkKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE1MDg3PiBXZWIg
SW5zcGVjdG9yOiBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24gc2hvdWxkIG5vdCBldmFsdWF0ZSBK
YXZhU2NyaXB0IGhhbmRsaW5nIGV4Y2VwdGlvbnMKQEAgLTEyMSwzNiArMTQwLDQ1IEBAIHZvaWQg
cmVwb3J0Q3VycmVudEV4Y2VwdGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCkKIAogSlNWYWx1ZSBjcmVhdGVET01FeGNlcHRpb24oSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEV4Y2VwdGlvbkNvZGUgZWMsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsK
LSAgICBpZiAoZWMgPT0gRXhpc3RpbmdFeGNlcHRpb25FcnJvcikKKyAgICBzd2l0Y2ggKGVjKSB7
CisgICAgY2FzZSBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yOgogICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKIAogICAgIC8vIEZJWE1FOiBIYW5kbGUgb3RoZXIgV2ViSURMIGV4Y2VwdGlvbiB0
eXBlcy4KLSAgICBpZiAoZWMgPT0gVHlwZUVycm9yKSB7CisgICAgY2FzZSBUeXBlRXJyb3I6CiAg
ICAgICAgIGlmIChtZXNzYWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVU
eXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVUeXBl
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7Ci0gICAgfQogCi0gICAgaWYgKGVj
ID09IFJhbmdlRXJyb3IpIHsKKyAgICBjYXNlIFJhbmdlRXJyb3I6CiAgICAgICAgIGlmIChtZXNz
YWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVSYW5nZUVycm9yKGxleGlj
YWxHbG9iYWxPYmplY3QsICJCYWQgdmFsdWUiX3MpOwogICAgICAgICByZXR1cm4gY3JlYXRlUmFu
Z2VFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBtZXNzYWdlKTsKLSAgICB9CiAKLSAgICBpZiAo
ZWMgPT0gU3RhY2tPdmVyZmxvd0Vycm9yKQorICAgIGNhc2UgSlNTeW50YXhFcnJvcjoKKyAgICAg
ICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVN5bnRh
eEVycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gY3JlYXRlU3ludGF4
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7CisKKyAgICBjYXNlIFN0YWNrT3Zl
cmZsb3dFcnJvcjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihsZXhp
Y2FsR2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoZWMgPT0gT3V0T2ZNZW1vcnlFcnJvcikKKworICAg
IGNhc2UgT3V0T2ZNZW1vcnlFcnJvcjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZU91dE9mTWVtb3J5
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CiAKLSAgICAvLyBGSVhNRTogQWxsIGNhbGxlcnMg
dG8gY3JlYXRlRE9NRXhjZXB0aW9uIG5lZWQgdG8gcGFzcyBpbiB0aGUgY29ycmVjdCBnbG9iYWwg
b2JqZWN0LgotICAgIC8vIEZvciBub3csIHdlJ3JlIGdvaW5nIHRvIGFzc3VtZSB0aGUgbGV4aWNh
bEdsb2JhbE9iamVjdC4gV2hpY2ggaXMgd3JvbmcgaW4gY2FzZXMgbGlrZSB0aGlzOgotICAgIC8v
IGZyYW1lc1swXS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3Mg
YW4gZXhjZXB0aW9uIHdoaWNoIHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZSdzIHByb3RvdHlwZXMu
Ci0gICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGRlcHJlY2F0ZWRHbG9iYWxP
YmplY3RGb3JQcm90b3R5cGUobGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgSlNWYWx1ZSBlcnJv
ck9iamVjdCA9IHRvSlMobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBET01FeGNl
cHRpb246OmNyZWF0ZShlYywgbWVzc2FnZSkpOwotICAgIAotICAgIEFTU0VSVChlcnJvck9iamVj
dCk7Ci0gICAgYWRkRXJyb3JJbmZvKGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KGVycm9y
T2JqZWN0KSwgdHJ1ZSk7Ci0gICAgcmV0dXJuIGVycm9yT2JqZWN0OworICAgIGRlZmF1bHQ6IHsK
KyAgICAgICAgLy8gRklYTUU6IEFsbCBjYWxsZXJzIHRvIGNyZWF0ZURPTUV4Y2VwdGlvbiBuZWVk
IHRvIHBhc3MgaW4gdGhlIGNvcnJlY3QgZ2xvYmFsIG9iamVjdC4KKyAgICAgICAgLy8gRm9yIG5v
dywgd2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoZSBsZXhpY2FsR2xvYmFsT2JqZWN0LiBXaGljaCBp
cyB3cm9uZyBpbiBjYXNlcyBsaWtlIHRoaXM6CisgICAgICAgIC8vIGZyYW1lc1swXS5kb2N1bWVu
dC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3MgYW4gZXhjZXB0aW9uIHdoaWNo
IHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZSdzIHByb3RvdHlwZXMuCisgICAgICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90
eXBlKGxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICBKU1ZhbHVlIGVycm9yT2JqZWN0ID0g
dG9KUyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIERPTUV4Y2VwdGlvbjo6Y3Jl
YXRlKGVjLCBtZXNzYWdlKSk7CisKKyAgICAgICAgQVNTRVJUKGVycm9yT2JqZWN0KTsKKyAgICAg
ICAgYWRkRXJyb3JJbmZvKGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KGVycm9yT2JqZWN0
KSwgdHJ1ZSk7CisgICAgICAgIHJldHVybiBlcnJvck9iamVjdDsKKyAgICB9CisgICAgfQorICAg
IHJldHVybiB7IH07CiB9CiAKIEpTVmFsdWUgY3JlYXRlRE9NRXhjZXB0aW9uKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFeGNlcHRpb24mJiBleGNlcHRpb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgKaW5k
ZXggMmQzZTMxMWY2MWVlYjY4NWFhYzM1NTQ2YWFlMTYwZGE5NzkwZWY1Zi4uZDFmNmRlOTM3NDcw
Y2U2ZGYyY2NiNjQ3MjI4NDc2NmZkMDE5NTgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaApAQCAtNjUsNiArNjUsNyBAQCBX
RUJDT1JFX0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoR2V0dGVy
VHlwZUVycm9yKEpTQzo6SlNHbG9iYQogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1
ZSByZWplY3RQcm9taXNlV2l0aFRoaXNUeXBlRXJyb3IoRGVmZXJyZWRQcm9taXNlJiwgY29uc3Qg
Y2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogb3BlcmF0aW9uTmFtZSk7CiBXRUJDT1JF
X0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoVGhpc1R5cGVFcnJv
cihKU0M6OkpTR2xvYmFsT2JqZWN0JiwgY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3Qg
Y2hhciogb3BlcmF0aW9uTmFtZSk7CiAKK1N0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhv
dXROYW1lKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlIGV4Y2Vw
dGlvbiwgSlNDOjpDYXRjaFNjb3BlJik7CiBTdHJpbmcgcmV0cmlldmVFcnJvck1lc3NhZ2UoSlND
OjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Vk0mLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBKU0M6
OkNhdGNoU2NvcGUmKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBDYWNoZWRTY3JpcHQqID0g
bnVsbHB0cik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpFeGNlcHRpb24qLCBDYWNoZWRTY3JpcHQqID0gbnVsbHB0ciwgRXhj
ZXB0aW9uRGV0YWlscyogPSBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1OGI3ZGY3NjBjMDBhMzFmZjA4ZWQyMmRl
ZTIyYThjNzQ0M2FlOGRkLi45ZDY5N2Q0NTliNTYzNDVjYzgzOTYyMDI2Njc2ZTAwYTk4YmY0OWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiSlNXb3JrbGV0R2xvYmFsU2NvcGUuaCIK
ICNpbmNsdWRlICJSZWplY3RlZFByb21pc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN0cnVjdHVyZWRDbG9uZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIK
ICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtNDIyLDYgKzQyMyw3OSBAQCBKU0M6
OkpTUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Omluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsbwogfQogI2VuZGlmCiAKK3N0YXRpYyBTY3JpcHRNb2R1bGVMb2Fk
ZXIqIHNjcmlwdE1vZHVsZUxvYWRlcihKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQor
eworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0
LT5pbmhlcml0czxKU0RPTVdpbmRvd0Jhc2U+KHZtKSkgeworICAgICAgICBpZiAoYXV0byBkb2N1
bWVudCA9IGpzQ2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpLT53cmFw
cGVkKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiAmZG9jdW1lbnQtPm1vZHVsZUxv
YWRlcigpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaWYgKGdsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNSZW1vdGVET01XaW5kb3dCYXNlPih2bSkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2VyR2xvYmFs
U2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2VyR2xv
YmFsU2NvcGVCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1vZHVsZUxvYWRlcigpOwor
ICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZT4o
dm0pKQorICAgICAgICByZXR1cm4gJmpzQ2FzdDxjb25zdCBKU1dvcmtsZXRHbG9iYWxTY29wZUJh
c2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJT
ZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0Pih2bSkpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
I2VuZGlmCisgICAgZGF0YUxvZygiVW5leHBlY3RlZCBnbG9iYWwgb2JqZWN0OiAiLCBKU1ZhbHVl
KGdsb2JhbE9iamVjdCksICJcbiIpOworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTQzo6SWRlbnRpZmllciBKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6Ompz
Q2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxv
YWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxv
YWRlci0+cmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgaW1w
b3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiB7IH07Cit9CisKK0pT
Qzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFt
ZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlw
dE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNj
b3BlLCBsb2FkZXItPmZldGNoKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXks
IHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7Cisg
ICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7CisgICAgcmV0
dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
TW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6
SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAg
IEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1
bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmV2YWx1YXRlKGds
b2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0
RmV0Y2hlcik7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKworSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1N0cmluZyogbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJiBzb3VyY2VPcmlnaW4pCit7CisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6
anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byog
bG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+aW1wb3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9k
dWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VPcmlnaW4pKTsKKyAgICBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAg
ICBzY29wZS5yZWxlYXNlKCk7CisgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNV
bmRlZmluZWQoKSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNPYmplY3QqIEpT
RE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhK
U0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1v
ZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCog
bW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUds
b2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVy
KHRoaXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5jcmVhdGVJbXBvcnRNZXRhUHJv
cGVydGllcyhnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNv
cmQsIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVy
ZSgpKTsKK30KKwogSlNET01HbG9iYWxPYmplY3QmIGNhbGxlckdsb2JhbE9iamVjdChKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBjYWxsRnJhbWUpCiB7CiAg
ICAgY2xhc3MgR2V0Q2FsbGVyR2xvYmFsT2JqZWN0RnVuY3RvciB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAppbmRleCBiODQwNzJkZGQ3NDZiM2Q2
YzUxMDYwZDkwNTAxYjVjZWExYjQ5OWIxLi5mNDlhNGNkMjU3MTk3MTE4OTE3YTdkN2E0YjZjMGUx
MWZjNzZiYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmgKQEAgLTEwNSw2ICsxMDUsMTIgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNET01H
bG9iYWxPYmplY3QgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbE9iamVjdCB7CiAgICAgc3RhdGljIEpT
Qzo6SlNQcm9taXNlKiBpbnN0YW50aWF0ZVN0cmVhbWluZyhKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTT2JqZWN0Kik7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBKU0M6
OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFs
dWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1
ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUg
bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVM
b2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAgICBz
dGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0cmluZyos
IEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKKyAgICBzdGF0aWMgSlND
OjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOworCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAg
bV9zdHJ1Y3R1cmVzOwogICAgIEpTRE9NQ29uc3RydWN0b3JNYXAgbV9jb25zdHJ1Y3RvcnM7CiAg
ICAgRE9NR3VhcmRlZE9iamVjdFNldCBtX2d1YXJkZWRPYmplY3RzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggNTYzZWZhMDU3MWI1ZDQ2
MmQ5ZTY0NTA4OWYwYmQ4Zjc3ZDE5YTc2OC4uMzEyYTAxMTU4ZThjMjgwODNjMDdlNDJkYjg3MjQ1
ZmU0ZTVjNTdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCkBAIC0zMzksNTQgKzMzOSw0IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJl
RnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiAgICAg
fQogfQogCi1KU0M6OklkZW50aWZpZXIgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNv
bHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGlt
cG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RP
TVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihn
bG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09i
amVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCkucmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFt
ZSwgaW1wb3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiB7IH07Ci19
Ci0KLUpTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVy
RmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBw
YXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9N
V2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9j
dW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuZmV0Y2goZ2xvYmFs
T2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hl
cikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0
dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFs
T2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpK
U1ZhbHVlIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIs
IEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6
SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVj
dCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYg
KFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1l
bnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5ldmFsdWF0ZShn
bG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlw
dEZldGNoZXIpOwotICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxl
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciog
bW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFy
YW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKLXsKLSAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anND
YXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1
bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAg
ICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuaW1w
b3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0
ZXJzLCBzb3VyY2VPcmlnaW4pKTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNl
ID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVy
bmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcHJvbWlz
ZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7Ci0gICAgcmV0dXJuIHByb21p
c2U7Ci19Ci0KLUpTQzo6SlNPYmplY3QqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3Jl
YXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVL
ZXksIEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nh
c3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3Vt
ZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAg
ICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0
aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwg
c2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9i
amVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkp
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5oCmluZGV4IDNlZjk4MGRkMjdmNmIyMTM5ODcwMDhiYTQ3NmM4
Y2E2OWYyZjBiNjQuLjUxNDJiMWM3ZGMyNWMyMmZlOTc4OTVlNzVhZTIyZWY0ZDFlNTg5ZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC05OSwx
MiArOTksNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTVdpbmRvd0Jhc2UgOiBwdWJsaWMg
SlNET01HbG9iYWxPYmplY3QgewogcHJpdmF0ZToKICAgICB1c2luZyBSZXNwb25zZUNhbGxiYWNr
ID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IGNoYXIqLCBzaXplX3QpPjsKIAotICAgIHN0YXRp
YyBKU0M6OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2Fk
ZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpT
VmFsdWUgbW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNN
b2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsK
LSAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9k
dWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0
cmluZyosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKLSAgICBzdGF0
aWMgSlNDOjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUs
IEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwotCiAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV93cmFwcGVkOwogICAgIFJlZlB0cjxFdmVudD4gbV9jdXJyZW50RXZlbnQ7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwCmluZGV4IDQyYjI2YzlmNGVhMjE2MjA3ZGU0Yzg2ODIwYjhhODFiNjAzNWI3ZWIu
LjJkNzkzZmZmMjE4NTNhOGExYTc4ODA2NjcyNTBmNTdlNzUyZmUzZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAK
QEAgLTU5LDExICs1OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtl
ckdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZQogICAgICZqYXZhU2Ny
aXB0UnVudGltZUZsYWdzLAogICAgICZxdWV1ZU1pY3JvdGFza1RvRXZlbnRMb29wLAogICAgICZz
aG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckltcG9ydE1vZHVsZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlclJlc29sdmUK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJGZXRjaAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxl
TG9hZGVyRXZhbHVhdGUKKyAgICAmbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlLAorICAgICZtb2R1
bGVMb2FkZXJSZXNvbHZlLAorICAgICZtb2R1bGVMb2FkZXJGZXRjaCwKKyAgICAmbW9kdWxlTG9h
ZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMsCisgICAgJm1vZHVsZUxvYWRlckV2YWx1YXRl
LAogICAgICZwcm9taXNlUmVqZWN0aW9uVHJhY2tlciwKICAgICAmcmVwb3J0VW5jYXVnaHRFeGNl
cHRpb25BdEV2ZW50TG9vcCwKICAgICAmY3VycmVudFNjcmlwdEV4ZWN1dGlvbk93bmVyLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3Bl
QmFzZS5jcHAKaW5kZXggMzVmYTZlMzI3N2ZiMGQ0YmUwZTBlMWVkYzQzNzIyZWRhZGZjOGFmMi4u
OWZhZWM5NTljMzlkMTc0ODE4MWM5ODY1MDAzZDVhODZmMTdmNWUzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3Bw
CkBAIC00OSwxMSArNDksMTEgQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNXb3Jr
bGV0R2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmwKICAgICAmamF2YVNj
cmlwdFJ1bnRpbWVGbGFncywKICAgICBudWxscHRyLCAvLyBxdWV1ZU1pY3JvdGFza1RvRXZlbnRM
b29wCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9h
ZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBudWxscHRy
LCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUs
CisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNoLAorICAg
ICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9kdWxlTG9h
ZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZyZXBvcnRV
bmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhlY3V0aW9u
T3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZhOTEwZTk0OWI3YWMxYTM4ZWRlZWNiMDNkZWI2ZWU4OTRjY2ViMGQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNo
UGFyYW1ldGVycy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEZldGNoZXIuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8TW9kdWxlU2NyaXB0TG9hZGVyPiB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+TW9kdWxlU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBjbGVh
ckNsaWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQobV9jbGllbnQpOworICAgICAgICBtX2Ns
aWVudCA9IG51bGxwdHI7CisgICAgfQorCisgICAgSlNDOjpTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyKCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVyLmdldCgpOyB9CisgICAgTW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9
CisKK3Byb3RlY3RlZDoKKyAgICBNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgSlNDOjpTY3JpcHRGZXRj
aGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFt
ZXRlcnMpCisgICAgICAgIDogbV9jbGllbnQoJmNsaWVudCkKKyAgICAgICAgLCBtX3Byb21pc2Uo
JnByb21pc2UpCisgICAgICAgICwgbV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNoZXIpCisgICAg
ICAgICwgbV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCisgICAgeworICAgIH0KKwor
ICAgIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCogbV9jbGllbnQ7CisgICAgUmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4gbV9wcm9taXNlOworICAgIFJlZjxKU0M6OlNjcmlwdEZldGNoZXI+IG1fc2Ny
aXB0RmV0Y2hlcjsKKyAgICBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiBtX3BhcmFtZXRl
cnM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5
OTVmNDhlZTNkMWUwMmMxZDhjOWM5ZGEyYmQ1ODIzNmYzYmEwN2QKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaApA
QCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1vZHVs
ZVNjcmlwdExvYWRlcjsKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKKworY2xhc3MgTW9kdWxlU2Ny
aXB0TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQo
TW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSA9IDA7Cit9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1
bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9h
ZGVyLmNwcAppbmRleCBhYTViODBiNTg2Yjc5ZTBlNTc1MDFjZDUxMDc4ZGYyNWE2MjVlNWQ5Li5k
NWEyZjIzMThjMjBhNDE4N2Y3Y2E2ODFjODExNWNjNGY5YmExMzYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKQEAgLTI5LDcgKzI5
LDYgQEAKICNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlICJD
YWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCi0jaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCkBAIC00MSw2ICs0MCw4IEBA
CiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlSW50
ZWdyaXR5LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgorI2luY2x1ZGUgIldv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSlNJbnRlcm5hbFByb21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU01vZHVsZVJlY29yZC5oPgpAQCAtNTIsOCArNTMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVNjcmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKERvY3VtZW50JiBk
b2N1bWVudCkKLSAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCitTY3JpcHRNb2R1bGVMb2FkZXI6
OlNjcmlwdE1vZHVsZUxvYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBPd25l
clR5cGUgb3duZXJUeXBlKQorICAgIDogbV9jb250ZXh0KGNvbnRleHQpCisgICAgLCBtX293bmVy
VHlwZShvd25lclR5cGUpCiB7CiB9CiAKQEAgLTY4LDcgKzcwLDcgQEAgc3RhdGljIGJvb2wgaXNS
b290TW9kdWxlKEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSkKICAgICByZXR1cm4gaW1w
b3J0ZXJNb2R1bGVLZXkuaXNTeW1ib2woKSB8fCBpbXBvcnRlck1vZHVsZUtleS5pc1VuZGVmaW5l
ZCgpOwogfQogCi1zdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVj
aWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHNwZWNpZmllciwgY29uc3Qg
VVJMJiBiYXNlVVJMKQorc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxl
U3BlY2lmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNjcmlwdE1vZHVsZUxv
YWRlcjo6T3duZXJUeXBlIG93bmVyVHlwZSwgY29uc3QgU3RyaW5nJiBzcGVjaWZpZXIsIGNvbnN0
IFVSTCYgYmFzZVVSTCkKIHsKICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjcmVzb2x2ZS1hLW1vZHVsZS1zcGVjaWZpZXIKIApAQCAt
NzksNyArODEsMTIgQEAgc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxl
U3BlY2lmaWVyKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3QKICAgICBpZiAoIXNwZWNpZmll
ci5zdGFydHNXaXRoKCcvJykgJiYgIXNwZWNpZmllci5zdGFydHNXaXRoKCIuLyIpICYmICFzcGVj
aWZpZXIuc3RhcnRzV2l0aCgiLi4vIikpCiAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZCht
YWtlU3RyaW5nKCJNb2R1bGUgc3BlY2lmaWVyLCAnIl9zLCBzcGVjaWZpZXIsICInIGRvZXMgbm90
IHN0YXJ0IHdpdGggXCIvXCIsIFwiLi9cIiwgb3IgXCIuLi9cIi4gUmVmZXJlbmNlZCBmcm9tICJf
cywgYmFzZVVSTC5zdHJpbmcoKSkpOwogCi0gICAgYXV0byByZXN1bHQgPSBkb2N1bWVudC5jb21w
bGV0ZVVSTChzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIFVSTCByZXN1bHQ7CisgICAgaWYgKG93
bmVyVHlwZSA9PSBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93bmVyVHlwZTo6RG9jdW1lbnQpCisgICAg
ICAgIHJlc3VsdCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KS5jb21wbGV0ZVVSTChzcGVj
aWZpZXIsIGJhc2VVUkwpOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0gVVJMKGJhc2VVUkws
IHNwZWNpZmllcik7CisKICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVy
biBtYWtlVW5leHBlY3RlZChtYWtlU3RyaW5nKCJNb2R1bGUgbmFtZSwgJyJfcywgcmVzdWx0LnN0
cmluZygpLCAiJyBkb2VzIG5vdCByZXNvbHZlIHRvIGEgdmFsaWQgVVJMLiJfcykpOwogICAgIHJl
dHVybiByZXN1bHQ7CkBAIC0xMDcsNyArMTE0LDcgQEAgSlNDOjpJZGVudGlmaWVyIFNjcmlwdE1v
ZHVsZUxvYWRlcjo6cmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE9iamVjdCwK
ICAgICBVUkwgYmFzZVVSTCA9IHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoKmpzR2xvYmFsT2Jq
ZWN0LCBpbXBvcnRlck1vZHVsZUtleSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
eyB9KTsKIAotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2RvY3Vt
ZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVs
ZVNwZWNpZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIsIGJhc2VVUkwpOwog
ICAgIGlmICghcmVzdWx0KSB7CiAgICAgICAgIEpTQzo6dGhyb3dUeXBlRXJyb3IoanNHbG9iYWxP
YmplY3QsIHNjb3BlLCByZXN1bHQuZXJyb3IoKSk7CiAgICAgICAgIHJldHVybiB7IH07CkBAIC0x
NjEsMTMgKzE2OCwxOSBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2Fk
ZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsTwogICAgIGlmIChhdXRvKiBz
Y3JpcHRGZXRjaFBhcmFtZXRlcnMgPSBKU0M6OmpzRHluYW1pY0Nhc3Q8SlNDOjpKU1NjcmlwdEZl
dGNoUGFyYW1ldGVycyo+KHZtLCBwYXJhbWV0ZXJzKSkKICAgICAgICAgdG9wTGV2ZWxGZXRjaFBh
cmFtZXRlcnMgPSBzdGF0aWNfY2FzdDxNb2R1bGVGZXRjaFBhcmFtZXRlcnMqPigmc2NyaXB0RmV0
Y2hQYXJhbWV0ZXJzLT5wYXJhbWV0ZXJzKCkpOwogCi0gICAgYXV0byBsb2FkZXIgPSBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNf
Y2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNo
ZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFy
YW1ldGVycykpOwotICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7Ci0gICAgaWYg
KCFsb2FkZXItPmxvYWQobV9kb2N1bWVudCwgY29tcGxldGVkVVJMKSkgewotICAgICAgICBsb2Fk
ZXItPmNsZWFyQ2xpZW50KCk7Ci0gICAgICAgIG1fbG9hZGVycy5yZW1vdmUoV1RGTW92ZShsb2Fk
ZXIpKTsKLSAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoZGVmZXJyZWQuZ2V0
KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1
bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwotICAgICAgICByZXR1cm4ganNQcm9taXNlOworICAgIGlm
IChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGF1dG8gbG9h
ZGVyID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdl
dCgpLCAqc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6
SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9w
TGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKKyAgICAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29w
eVJlZigpKTsKKyAgICAgICAgaWYgKCFsb2FkZXItPmxvYWQoZG93bmNhc3Q8RG9jdW1lbnQ+KG1f
Y29udGV4dCksIFdURk1vdmUoY29tcGxldGVkVVJMKSkpIHsKKyAgICAgICAgICAgIGxvYWRlci0+
Y2xlYXJDbGllbnQoKTsKKyAgICAgICAgICAgIG1fbG9hZGVycy5yZW1vdmUoV1RGTW92ZShsb2Fk
ZXIpKTsKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKGRlZmVycmVk
LmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEg
bW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybiBqc1Byb21pc2U7
CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIGxvYWRlciA9IFdvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19j
YXN0PFdvcmtlclNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hl
cio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJh
bWV0ZXJzKSk7CisgICAgICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7CisgICAg
ICAgIGxvYWRlci0+bG9hZChtX2NvbnRleHQsIFdURk1vdmUoY29tcGxldGVkVVJMKSk7CiAgICAg
fQogCiAgICAgcmV0dXJuIGpzUHJvbWlzZTsKQEAgLTE3Niw3ICsxODksNyBAQCBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGpzR2xvYmFsTwogVVJMIFNjcmlwdE1vZHVsZUxvYWRlcjo6bW9kdWxlVVJMKEpTQzo6SlNH
bG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5VmFsdWUp
CiB7CiAgICAgaWYgKG1vZHVsZUtleVZhbHVlLmlzU3ltYm9sKCkpCi0gICAgICAgIHJldHVybiBt
X2RvY3VtZW50LnVybCgpOworICAgICAgICByZXR1cm4gbV9jb250ZXh0LnVybCgpOwogCiAgICAg
QVNTRVJUKG1vZHVsZUtleVZhbHVlLmlzU3RyaW5nKCkpOwogICAgIHJldHVybiBVUkwoVVJMKCks
IGFzU3RyaW5nKG1vZHVsZUtleVZhbHVlKS0+dmFsdWUoJmpzR2xvYmFsT2JqZWN0KSk7CkBAIC0x
ODcsOCArMjAwLDExIEBAIFVSTCBTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJMRnJvbVJl
cXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYganNHbG9iYWxPCiAgICAgSlNDOjpWTSYgdm0g
PSBqc0dsb2JhbE9iamVjdC52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKIAotICAgIGlmIChpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKQotICAgICAg
ICByZXR1cm4gbV9kb2N1bWVudC5iYXNlVVJMKCk7CisgICAgaWYgKGlzUm9vdE1vZHVsZShtb2R1
bGVLZXlWYWx1ZSkpIHsKKyAgICAgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9j
dW1lbnQpCisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCku
YmFzZVVSTCgpOworICAgICAgICByZXR1cm4gbV9jb250ZXh0LnVybCgpOworICAgIH0KIAogICAg
IEFTU0VSVCghaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSk7CiAgICAgQVNTRVJUKG1vZHVs
ZUtleVZhbHVlLmlzU3RyaW5nKCkpOwpAQCAtMjE5LDggKzIzNSwxNCBAQCBKU0M6OkpTVmFsdWUg
U2NyaXB0TW9kdWxlTG9hZGVyOjpldmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2Jh
bE9iamVjdCwgSgogICAgIGlmICghc291cmNlVVJMLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
IEpTQzo6dGhyb3dUeXBlRXJyb3IoanNHbG9iYWxPYmplY3QsIHNjb3BlLCAiTW9kdWxlIGtleSBp
cyBhbiBpbnZhbGlkIFVSTC4iX3MpOwogCi0gICAgaWYgKGF1dG8qIGZyYW1lID0gbV9kb2N1bWVu
dC5mcmFtZSgpKQotICAgICAgICByZXR1cm4gZnJhbWUtPnNjcmlwdCgpLmV2YWx1YXRlTW9kdWxl
KHNvdXJjZVVSTCwgKm1vZHVsZVJlY29yZCk7CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVy
VHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG93bmNhc3Q8RG9j
dW1lbnQ+KG1fY29udGV4dCkuZnJhbWUoKSkKKyAgICAgICAgICAgIHJldHVybiBmcmFtZS0+c2Ny
aXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBBU1NFUlQoaXM8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KG1fY29u
dGV4dCkpOworICAgICAgICBpZiAoYXV0byogc2NyaXB0ID0gZG93bmNhc3Q8V29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGU+KG1fY29udGV4dCkuc2NyaXB0KCkpCisgICAgICAgICAgICByZXR1cm4g
c2NyaXB0LT5ldmFsdWF0ZU1vZHVsZSgqbW9kdWxlUmVjb3JkKTsKKyAgICB9CiAgICAgcmV0dXJu
IEpTQzo6anNVbmRlZmluZWQoKTsKIH0KIApAQCAtMjQ4LDggKzI3MCwxMyBAQCBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiBqcwogICAgIFVSTCBiYXNlVVJMOwogICAgIFJlZlB0cjxKU0M6OlNjcmlwdEZl
dGNoZXI+IHNjcmlwdEZldGNoZXI7CiAgICAgaWYgKHNvdXJjZU9yaWdpbi5pc051bGwoKSkgewot
ICAgICAgICBiYXNlVVJMID0gbV9kb2N1bWVudC5iYXNlVVJMKCk7Ci0gICAgICAgIHNjcmlwdEZl
dGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUobV9kb2N1bWVudC5jaGFyc2V0KCkp
OworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAg
ICAgICAgICAgYmFzZVVSTCA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmJhc2VVUkwo
KTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVh
dGUoZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuY2hhcnNldCgpKTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGJhc2VVUkwgPSBtX2NvbnRleHQudXJsKCk7CisgICAgICAgICAg
ICBzY3JpcHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKEZldGNoT3B0aW9u
czo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4pOworICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgYmFzZVVSTCA9IFVSTChVUkwoKSwgc291cmNlT3JpZ2luLnN0cmluZygpKTsKICAgICAg
ICAgaWYgKCFiYXNlVVJMLmlzVmFsaWQoKSkKQEAgLTI1NywxNCArMjg0LDE5IEBAIEpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxlKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGpzCiAKICAgICAgICAgaWYgKHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpCiAg
ICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZldGNoZXIoKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6
OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisKKyAgICAgICAgaWYgKCFzY3JpcHRGZXRj
aGVyKSB7CisgICAgICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVu
dCkKKyAgICAgICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6
Y3JlYXRlKGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmNoYXJzZXQoKSk7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZl
dGNoZXI6OmNyZWF0ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luKTsKKyAg
ICAgICAgfQogICAgIH0KICAgICBBU1NFUlQoYmFzZVVSTC5pc1ZhbGlkKCkpOwogICAgIEFTU0VS
VChzY3JpcHRGZXRjaGVyKTsKIAogICAgIGF1dG8gc3BlY2lmaWVyID0gbW9kdWxlTmFtZS0+dmFs
dWUoanNHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNp
ZmllcihtX2RvY3VtZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0g
cmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIs
IGJhc2VVUkwpOwogICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gcmVqZWN0UHJvbWlz
ZShnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgcmVzdWx0LmVycm9yKCkpOwogCkBAIC0yODgsNjIg
KzMyMCwxMDcgQEAgSlNDOjpKU09iamVjdCogU2NyaXB0TW9kdWxlTG9hZGVyOjpjcmVhdGVJbXBv
cnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWMKICAgICByZXR1cm4gbWV0YVByb3Bl
cnRpZXM7CiB9CiAKLXZvaWQgU2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXImIGxvYWRlciwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4gcHJv
bWlzZSkKK3ZvaWQgU2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChNb2R1bGVTY3Jp
cHRMb2FkZXImIG1vZHVsZVNjcmlwdExvYWRlciwgVVJMJiYgc291cmNlVVJMLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiBwcm9taXNlKQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0
CiAKLSAgICBVUkwgc291cmNlVVJMID0gbG9hZGVyLnNvdXJjZVVSTCgpOwotICAgIGlmICghbV9s
b2FkZXJzLnJlbW92ZSgmbG9hZGVyKSkKKyAgICBpZiAoIW1fbG9hZGVycy5yZW1vdmUoJm1vZHVs
ZVNjcmlwdExvYWRlcikpCiAgICAgICAgIHJldHVybjsKLSAgICBsb2FkZXIuY2xlYXJDbGllbnQo
KTsKKyAgICBtb2R1bGVTY3JpcHRMb2FkZXIuY2xlYXJDbGllbnQoKTsKIAotICAgIGF1dG8mIGNh
Y2hlZFNjcmlwdCA9ICpsb2FkZXIuY2FjaGVkU2NyaXB0KCk7CisgICAgaWYgKG1fb3duZXJUeXBl
ID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgYXV0byYgbG9hZGVyID0gc3RhdGlj
X2Nhc3Q8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJj4obW9kdWxlU2NyaXB0TG9hZGVyKTsKKyAg
ICAgICAgYXV0byYgY2FjaGVkU2NyaXB0ID0gKmxvYWRlci5jYWNoZWRTY3JpcHQoKTsKIAotICAg
IGlmIChjYWNoZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7Ci0g
ICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxv
YWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iX3MpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2NyaXB0LnJlc291cmNl
RXJyb3IoKS5pc0FjY2Vzc0NvbnRyb2woKSkgeworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdh
dGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2Fz
RXJyb3JlZCwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2lu
IFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KIAotICAgIGlmIChjYWNoZWRTY3JpcHQuZXJyb3JPY2N1cnJlZCgpKSB7Ci0gICAgICAg
IHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKCpwcm9taXNlLCBNb2R1bGVGZXRjaEZhaWx1
cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9z
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKGNhY2hlZFNjcmlwdC5lcnJv
ck9jY3VycmVkKCkpIHsKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9y
KHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBv
cnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0Lndhc0NhbmNlbGVkKCkpIHsKLSAgICAg
ICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoKnByb21pc2UsIE1vZHVsZUZldGNoRmFp
bHVyZUtpbmQ6Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5j
ZWxlZC4iX3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2Ny
aXB0Lndhc0NhbmNlbGVkKCkpIHsKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29y
a0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVk
LCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3MpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3Vw
cG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBl
KCkpKSB7Ci0gICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0Ci0gICAgICAgIC8v
IFRoZSByZXN1bHQgb2YgZXh0cmFjdGluZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVh
ZGVyIGxpc3QgKGlnbm9yaW5nIHBhcmFtZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0
eXBlLgotICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNz
aWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFz
dCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEg
Y29ycmVjdCBNSU1FIHR5cGUuCi0gICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1h
a2VTdHJpbmcoIiciLCBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpLCAiJyBpcyBu
b3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iKSk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9CisgICAgICAgIGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0
TUlNRVR5cGUoY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSkpIHsKKyAgICAgICAg
ICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMu
aHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0CisgICAgICAgICAgICAvLyBUaGUgcmVz
dWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5cGUgZnJvbSByZXNwb25zZSdzIGhlYWRlciBsaXN0
IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZS4KKyAg
ICAgICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIGZldGNoaW5nIGEgY2xhc3NpYyBz
Y3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5cGUgY2hlY2tpbmcuIEluIGNvbnRyYXN0LCBt
b2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9hZCBpZiB0aGV5IGFyZSBub3Qgb2YgYSBjb3Jy
ZWN0IE1JTUUgdHlwZS4KKyAgICAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1h
a2VTdHJpbmcoIiciLCBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpLCAiJyBpcyBu
b3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iKSk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKworICAgICAgICBpZiAoYXV0byogcGFyYW1ldGVycyA9IGxvYWRlci5wYXJh
bWV0ZXJzKCkpIHsKKyAgICAgICAgICAgIGlmICghbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShjYWNo
ZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkgeworICAgICAgICAgICAgICAgIHBy
b21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIkNhbm5vdCBsb2FkIHNjcmlwdCAi
LCBpbnRlZ3JpdHlNaXNtYXRjaERlc2NyaXB0aW9uKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+
aW50ZWdyaXR5KCkpKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisKKyAgICAgICAgVVJMIHJlc3BvbnNlVVJMID0gY2FjaGVkU2NyaXB0LnJlc3Bv
bnNlKCkudXJsKCk7CisgICAgICAgIC8vIElmIHdlIGRvIG5vdCBoYXZlIHJlZGlyZWN0aW9uLCB3
ZSBtdXN0IHJlc2VydmUgdGhlIHNvdXJjZSBVUkwncyBmcmFnbWVudCBleHBsaWNpdGx5IGhlcmUg
c2luY2UgUmVzb3VyY2VSZXNwb25zZTo6dXJsKCkgaXMgdGhlIG9uZSB3aGVuIHdlIGZpcnN0IGNh
Y2hlIGl0IHRvIE1lbW9yeUNhY2hlLgorICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNr
IGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODQyMAorICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNDkwCisgICAgICAgIGlmICghY2FjaGVk
U2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnNvdXJj
ZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgeworICAgICAg
ICAgICAgaWYgKHNvdXJjZVVSTC5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkKKyAgICAgICAgICAg
ICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIoc291cmNlVVJMLmZyYWdtZW50
SWRlbnRpZmllcigpKTsKKyAgICAgICAgfQorCisgICAgICAgIG1fcmVxdWVzdFVSTFRvUmVzcG9u
c2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwgV1RGTW92ZShyZXNwb25zZVVSTCkpOwor
ICAgICAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmpl
Y3QmIGpzR2xvYmFsT2JqZWN0KSB7CisgICAgICAgICAgICByZXR1cm4gSlNDOjpKU1NvdXJjZUNv
ZGU6OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52bSgpLAorICAgICAgICAgICAgICAgIEpTQzo6U291
cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyAmY2FjaGVkU2NyaXB0LCBKU0M6OlNvdXJjZVBy
b3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3Vy
Y2VDb2RlKCkgfSk7CisgICAgICAgIH0pOworICAgIH0gZWxzZSB7CisgICAgICAgIGF1dG8mIGxv
YWRlciA9IHN0YXRpY19jYXN0PFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciY+KG1vZHVsZVNjcmlw
dExvYWRlcik7CisgICAgICAgIGF1dG8mIHdvcmtlclNjcmlwdExvYWRlciA9IGxvYWRlci5zY3Jp
cHRMb2FkZXIoKTsKIAotICAgIGlmIChhdXRvKiBwYXJhbWV0ZXJzID0gbG9hZGVyLnBhcmFtZXRl
cnMoKSkgewotICAgICAgICBpZiAoIW1hdGNoSW50ZWdyaXR5TWV0YWRhdGEoY2FjaGVkU2NyaXB0
LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpIHsKLSAgICAgICAgICAgIHByb21pc2UtPnJlamVj
dChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIkNhbm5vdCBsb2FkIHNjcmlwdCAiLCBpbnRlZ3JpdHlN
aXNtYXRjaERlc2NyaXB0aW9uKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkp
KSk7CisgICAgICAgIGlmICh3b3JrZXJTY3JpcHRMb2FkZXIuZmFpbGVkKCkpIHsKKyAgICAgICAg
ICAgIGlmICh3b3JrZXJTY3JpcHRMb2FkZXIuZXJyb3IoKS5pc0FjY2Vzc0NvbnRyb2woKSkgewor
ICAgICAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0
KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJDcm9zcy1vcmlnaW4gc2Ny
aXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4i
X3MpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5lcnJvcigpLmlzQ2FuY2VsbGF0aW9uKCkpIHsKKyAg
ICAgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgp
LCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1vZHVs
ZSBzY3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHBy
b21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRp
bmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9Ci0gICAgfQogCi0gICAgVVJMIHJlc3BvbnNlVVJMID0gY2FjaGVkU2NyaXB0LnJlc3Bv
bnNlKCkudXJsKCk7Ci0gICAgLy8gSWYgd2UgZG8gbm90IGhhdmUgcmVkaXJlY3Rpb24sIHdlIG11
c3QgcmVzZXJ2ZSB0aGUgc291cmNlIFVSTCdzIGZyYWdtZW50IGV4cGxpY2l0bHkgaGVyZSBzaW5j
ZSBSZXNvdXJjZVJlc3BvbnNlOjp1cmwoKSBpcyB0aGUgb25lIHdoZW4gd2UgZmlyc3QgY2FjaGUg
aXQgdG8gTWVtb3J5Q2FjaGUuCi0gICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVu
dHMgdGhyb3VnaCByZWRpcmVjdGlvbnMuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1ODQyMAotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTA0OTAKLSAgICBpZiAoIWNhY2hlZFNjcmlwdC5oYXNSZWRpcmVjdGlv
bnMoKSAmJiBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5zb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3Bv
bnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKLSAgICAgICAgaWYgKHNvdXJjZVVSTC5oYXNG
cmFnbWVudElkZW50aWZpZXIoKSkKLSAgICAgICAgICAgIHJlc3BvbnNlVVJMLnNldEZyYWdtZW50
SWRlbnRpZmllcihzb3VyY2VVUkwuZnJhZ21lbnRJZGVudGlmaWVyKCkpOwotICAgIH0KKyAgICAg
ICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZSh3
b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VNSU1FVHlwZSgpKSkgeworICAgICAgICAgICAgLy8g
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2Zl
dGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKKyAgICAgICAgICAgIC8vIFRoZSByZXN1bHQgb2Yg
ZXh0cmFjdGluZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVhZGVyIGxpc3QgKGlnbm9y
aW5nIHBhcmFtZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLgorICAgICAgICAg
ICAgLy8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBk
b2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBz
Y3JpcHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlN
RSB0eXBlLgorICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmlu
ZygiJyIsIHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZU1JTUVUeXBlKCksICInIGlzIG5vdCBh
IHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQogCi0gICAgbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcC5hZGQoc291cmNlVVJM
LnN0cmluZygpLCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSk7Ci0gICAgcHJvbWlzZS0+cmVzb2x2ZVdp
dGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgewotICAg
ICAgICByZXR1cm4gSlNDOjpKU1NvdXJjZUNvZGU6OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52bSgp
LAotICAgICAgICAgICAgSlNDOjpTb3VyY2VDb2RlIHsgU2NyaXB0U291cmNlQ29kZSB7ICZjYWNo
ZWRTY3JpcHQsIEpTQzo6U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUsIGxvYWRlci5z
Y3JpcHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9KTsKLSAgICB9KTsKKyAgICAgICAgVVJM
IHJlc3BvbnNlVVJMID0gd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlVVJMKCk7CisKKyAgICAg
ICAgLy8gSWYgd2UgZG8gbm90IGhhdmUgcmVkaXJlY3Rpb24sIHdlIG11c3QgcmVzZXJ2ZSB0aGUg
c291cmNlIFVSTCdzIGZyYWdtZW50IGV4cGxpY2l0bHkgaGVyZSBzaW5jZSBSZXNvdXJjZVJlc3Bv
bnNlOjp1cmwoKSBpcyB0aGUgb25lIHdoZW4gd2UgZmlyc3QgY2FjaGUgaXQgdG8gTWVtb3J5Q2Fj
aGUuCisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJhY2sgZnJhZ21lbnRzIHRocm91Z2gg
cmVkaXJlY3Rpb25zLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU4NDIwCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTA0OTAKKyAgICAgICAgaWYgKCF3b3JrZXJTY3JpcHRMb2FkZXIuaXNSZWRp
cmVjdGVkKCkgJiYgd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlU291cmNlKCkgIT0gUmVzb3Vy
Y2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7CisgICAgICAgICAgICBpZiAoc291
cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQorICAgICAgICAgICAgICAgIHJlc3BvbnNl
VVJMLnNldEZyYWdtZW50SWRlbnRpZmllcihzb3VyY2VVUkwuZnJhZ21lbnRJZGVudGlmaWVyKCkp
OworICAgICAgICB9CisKKyAgICAgICAgbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcC5hZGQo
c291cmNlVVJMLnN0cmluZygpLCByZXNwb25zZVVSTCk7CisgICAgICAgIHByb21pc2UtPnJlc29s
dmVXaXRoQ2FsbGJhY2soWyZdIChKU0RPTUdsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QpIHsK
KyAgICAgICAgICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2Jq
ZWN0LnZtKCksCisgICAgICAgICAgICAgICAgSlNDOjpTb3VyY2VDb2RlIHsgU2NyaXB0U291cmNl
Q29kZSB7IHdvcmtlclNjcmlwdExvYWRlci5zY3JpcHQoKSwgV1RGTW92ZShyZXNwb25zZVVSTCks
IHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlw
dEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOworICAgICAgICB9KTsKKyAgICB9CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmgK
aW5kZXggZGUyOWQyZjRiZjA5NmI2MGMzNjk5ODAzMTZjMTQ4NmIyODJhYmYwOS4uZGYzNGQ1NTFh
MTFjZDk4ZjRlMjM2YTJhYTFmNDgyNzlkOTY0YzY4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmgKQEAgLTI1LDggKzI1LDggQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCIKLSNpbmNs
dWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJNb2R1bGVT
Y3JpcHRMb2FkZXIuaCIKKyNpbmNsdWRlICJNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCIKICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTQ1LDE2ICs0NSwxNyBAQCBj
bGFzcyBTb3VyY2VPcmlnaW47CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRG9jdW1l
bnQ7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiAKLWNsYXNzIFNjcmlwdE1vZHVsZUxvYWRlciBmaW5hbCA6IHByaXZhdGUgQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKK2NsYXNzIFNjcmlwdE1vZHVsZUxvYWRlciBmaW5hbCA6
IHByaXZhdGUgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTY3JpcHRNb2R1bGVMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKLSAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIoRG9jdW1lbnQmKTsKKyAgICBlbnVt
IGNsYXNzIE93bmVyVHlwZSA6IHVpbnQ4X3QgeyBEb2N1bWVudCwgV29ya2VyT3JXb3JrbGV0IH07
CisgICAgZXhwbGljaXQgU2NyaXB0TW9kdWxlTG9hZGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBPd25lclR5cGUpOwogICAgIH5TY3JpcHRNb2R1bGVMb2FkZXIoKTsKIAotICAgIERvY3VtZW50
JiBkb2N1bWVudCgpIHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKyAgICBTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0KCkgeyByZXR1cm4gbV9jb250ZXh0OyB9CiAKICAgICBKU0M6OklkZW50
aWZpZXIgcmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlcios
IEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXks
IEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKICAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUg
c2NyaXB0RmV0Y2hlcik7CkBAIC02MywxMyArNjQsMTUgQEAgY2xhc3MgU2NyaXB0TW9kdWxlTG9h
ZGVyIGZpbmFsIDogcHJpdmF0ZSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewogICAg
IEpTQzo6SlNPYmplY3QqIGNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTTW9kdWxl
UmVjb3JkKiwgSlNDOjpKU1ZhbHVlKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIG5vdGlmeUZpbmlz
aGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciYsIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+KSBm
aW5hbDsKKyAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKE1vZHVsZVNjcmlwdExvYWRlciYsIFVSTCYm
LCBSZWY8RGVmZXJyZWRQcm9taXNlPikgZmluYWw7CisKICAgICBVUkwgbW9kdWxlVVJMKEpTQzo6
SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUpOwogICAgIFVSTCByZXNwb25zZVVSTEZyb21S
ZXF1ZXN0VVJMKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUpOwogCi0gICAgRG9j
dW1lbnQmIG1fZG9jdW1lbnQ7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgbV9jb250ZXh0
OwogICAgIEhhc2hNYXA8U3RyaW5nLCBVUkw+IG1fcmVxdWVzdFVSTFRvUmVzcG9uc2VVUkxNYXA7
Ci0gICAgSGFzaFNldDxSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPj4gbV9sb2FkZXJzOwor
ICAgIEhhc2hTZXQ8UmVmPE1vZHVsZVNjcmlwdExvYWRlcj4+IG1fbG9hZGVyczsKKyAgICBPd25l
clR5cGUgbV9vd25lclR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKaW5kZXggYzcwNDYyNmZi
NzMzZGI0NzJiZGE1MDIzNjI0MWE2ZTc0MGUyNzgyYi4uMTBmYTdlOGI0NDljOGI4NDllYjM3Y2Mx
ZjJjODY2ZmE4OTNhYWQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0U291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dFNvdXJjZUNvZGUuaApAQCAtNTcsNyArNTcsNyBAQCBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlIHsK
ICAgICB7CiAgICAgfQogCi0gICAgU2NyaXB0U291cmNlQ29kZShjb25zdCBTdHJpbmcmIHNvdXJj
ZSwgVVJMJiYgdXJsLCBjb25zdCBUZXh0UG9zaXRpb24mIHN0YXJ0UG9zaXRpb24sIEpTQzo6U291
cmNlUHJvdmlkZXJTb3VyY2VUeXBlIHNvdXJjZVR5cGUsIFJlZjxDYWNoZWRTY3JpcHRGZXRjaGVy
PiYmIHNjcmlwdEZldGNoZXIpCisgICAgU2NyaXB0U291cmNlQ29kZShjb25zdCBTdHJpbmcmIHNv
dXJjZSwgVVJMJiYgdXJsLCBjb25zdCBUZXh0UG9zaXRpb24mIHN0YXJ0UG9zaXRpb24sIEpTQzo6
U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlIHNvdXJjZVR5cGUsIFJlZjxKU0M6OlNjcmlwdEZldGNo
ZXI+JiYgc2NyaXB0RmV0Y2hlcikKICAgICAgICAgOiBtX3Byb3ZpZGVyKEpTQzo6U3RyaW5nU291
cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIEpTQzo6U291cmNlT3JpZ2luIHsgdXJsLCBXVEZN
b3ZlKHNjcmlwdEZldGNoZXIpIH0sIHVybC5zdHJpbmcoKSwgc3RhcnRQb3NpdGlvbiwgc291cmNl
VHlwZSkpCiAgICAgICAgICwgbV9jb2RlKG1fcHJvdmlkZXIuY29weVJlZigpLCBzdGFydFBvc2l0
aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29sdW1uLm9uZUJhc2Vk
SW50KCkpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQyNzQ5M2E2MDE3ZjgwN2Qw
MDFkZmY4MzZmNGYyNTE3OGExNmUyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKQEAgLTAsMCArMSw4NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIuaCIKKworI2luY2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKKyNp
bmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUg
IkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5j
bHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJP
cHRpb25zLmgiCisjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNjcmlw
dE1vZHVsZUxvYWRlci5oIgorI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKKyNpbmNsdWRl
ICJXb3JrZXJTY3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4g
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgV29ya2VyU2NyaXB0RmV0Y2hlciYg
c2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJz
KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcihj
bGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykpKTsKK30K
KworV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwg
V29ya2VyU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFy
YW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorICAgIDogTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwg
cHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJzKSkKKyAgICAsIG1fc2Ny
aXB0TG9hZGVyKFdvcmtlclNjcmlwdExvYWRlcjo6Y3JlYXRlKCkpCit7Cit9CisKK1dvcmtlck1v
ZHVsZVNjcmlwdExvYWRlcjo6fldvcmtlck1vZHVsZVNjcmlwdExvYWRlcigpCit7CisgICAgbV9z
Y3JpcHRMb2FkZXItPmNhbmNlbCgpOworfQorCitib29sIFdvcmtlck1vZHVsZVNjcmlwdExvYWRl
cjo6bG9hZChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBVUkwmJiBzb3VyY2VVUkwp
Cit7CisgICAgbV9zb3VyY2VVUkwgPSBXVEZNb3ZlKHNvdXJjZVVSTCk7CisKKyAgICBSZXNvdXJj
ZVJlcXVlc3QgcmVxdWVzdCB7IG1fc291cmNlVVJMIH07CisKKyAgICBGZXRjaE9wdGlvbnMgZmV0
Y2hPcHRpb25zOworICAgIGZldGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpD
b3JzOworICAgIGZldGNoT3B0aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1
bHQ7CisgICAgZmV0Y2hPcHRpb25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6
Rm9sbG93OworICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHN0YXRpY19jYXN0PFdvcmtl
clNjcmlwdEZldGNoZXImPihzY3JpcHRGZXRjaGVyKCkpLmNyZWRlbnRpYWxzKCk7CisgICAgYXV0
byBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IGNvbnRleHQuc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlIDogQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQ6OkVuZm9yY2VDaGlsZFNyY0RpcmVjdGl2ZTsKKworICAgIFN0cmluZyB0YXNrTW9kZSA9ICJs
b2FkTW9kdWxlc0luV29ya2VyT3JXb3JrbGV0TW9kZSJfczsKKyAgICBtX3NjcmlwdExvYWRlci0+
bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0
Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3Jr
ZXJzTW9kZTo6QWxsLCAqdGhpcywgV1RGTW92ZSh0YXNrTW9kZSkpOworICAgIHJldHVybiB0cnVl
OworfQorCit2b2lkIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQoKQor
eworICAgIEFTU0VSVChtX3Byb21pc2UpOworCisgICAgYXV0byBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyk7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+bm90aWZ5
RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9zb3VyY2VVUkwpLCBtX3Byb21pc2UucmVsZWFzZU5v
bk51bGwoKSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjEwMDgwZWU5MzFiZmIwYjMz
YTlmNTQ3M2IyOTdjYTJkYzJlNDc1OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNjQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRl
ci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvVVJMLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRGVmZXJyZWRQcm9taXNlOworY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBNb2R1
bGVGZXRjaFBhcmFtZXRlcnM7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3Mg
TW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyOworCitj
bGFzcyBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgTW9kdWxlU2NyaXB0
TG9hZGVyLCBwcml2YXRlIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCB7CitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShNb2R1bGVTY3JpcHRM
b2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiwgUmVm
UHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2aXJ0dWFsIH5Xb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIoKTsKKworICAgIGJvb2wgbG9hZChTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgVVJMJiYgc291cmNlVVJMKTsKKworICAgIFdvcmtlclNjcmlwdExvYWRlciYgc2NyaXB0TG9h
ZGVyKCkgeyByZXR1cm4gbV9zY3JpcHRMb2FkZXIuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBX
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJy
ZWRQcm9taXNlJiwgV29ya2VyU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFt
ZXRlcnM+JiYpOworCisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsIHsgfQorICAgIHZvaWQgbm90aWZ5RmluaXNo
ZWQoKSBmaW5hbDsKKworICAgIFJlZjxXb3JrZXJTY3JpcHRMb2FkZXI+IG1fc2NyaXB0TG9hZGVy
OworICAgIFVSTCBtX3NvdXJjZVVSTDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42NmI1NGVmODk0YjUzM2VhZmNlYmMxYTE0YmYyNzZhMDNlY2JhMTBiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RmV0Y2hl
ci5oCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIkxvYWRhYmxlU2NyaXB0LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0RmV0
Y2hlci5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENhY2hlZFNjcmlwdDsK
K2NsYXNzIERvY3VtZW50OworCitjbGFzcyBXb3JrZXJTY3JpcHRGZXRjaGVyIGZpbmFsIDogcHVi
bGljIEpTQzo6U2NyaXB0RmV0Y2hlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXb3JrZXJT
Y3JpcHRGZXRjaGVyPiBjcmVhdGUoRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFs
cykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdvcmtlclNjcmlwdEZldGNo
ZXIoY3JlZGVudGlhbHMpKTsKKyAgICB9CisKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxz
IGNyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1cm4gbV9jcmVkZW50aWFsczsgfQorCisgICAgdm9p
ZCBub3RpZnlMb2FkQ29tcGxldGVkKFVuaXF1ZWRTdHJpbmdJbXBsJiBtb2R1bGVLZXkpCisgICAg
eworICAgICAgICBtX21vZHVsZUtleSA9ICZtb2R1bGVLZXk7CisgICAgICAgIG1faXNMb2FkZWQg
PSB0cnVlOworICAgIH0KKworICAgIHZvaWQgbm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlw
dDo6RXJyb3ImJiBlcnJvcikKKyAgICB7CisgICAgICAgIG1fZXJyb3IgPSBXVEZNb3ZlKGVycm9y
KTsKKyAgICAgICAgbV9pc0xvYWRlZCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBub3RpZnlM
b2FkV2FzQ2FuY2VsZWQoKQorICAgIHsKKyAgICAgICAgbV93YXNDYW5jZWxlZCA9IHRydWU7Cisg
ICAgICAgIG1faXNMb2FkZWQgPSB0cnVlOworICAgIH0KKworICAgIGJvb2wgaXNMb2FkZWQoKSBj
b25zdCB7IHJldHVybiBtX2lzTG9hZGVkOyB9CisgICAgT3B0aW9uYWw8TG9hZGFibGVTY3JpcHQ6
OkVycm9yPiBlcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3I7IH0KKyAgICBib29sIHdhc0Nh
bmNlbGVkKCkgY29uc3QgeyByZXR1cm4gbV93YXNDYW5jZWxlZDsgfQorICAgIFVuaXF1ZWRTdHJp
bmdJbXBsKiBtb2R1bGVLZXkoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZUtleS5nZXQoKTsgfQor
Citwcm90ZWN0ZWQ6CisgICAgV29ya2VyU2NyaXB0RmV0Y2hlcihGZXRjaE9wdGlvbnM6OkNyZWRl
bnRpYWxzIGNyZWRlbnRpYWxzKQorICAgICAgICA6IG1fY3JlZGVudGlhbHMoY3JlZGVudGlhbHMp
CisgICAgeworICAgIH0KKworcHJpdmF0ZToKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxz
IG1fY3JlZGVudGlhbHM7CisgICAgUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiBtX21vZHVsZUtl
eTsKKyAgICBPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6RXJyb3I+IG1fZXJyb3I7CisgICAgYm9v
bCBtX3dhc0NhbmNlbGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNMb2FkZWQgeyBmYWxzZSB9
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggNDRmOWQwZWE1MDUyYzAxOWU3OGJhZWJlODA4YjhmMmM3NWQzMTk5NS4uM2I0MjUzODQ4MDAy
YTUxZDI5MDkyYzUxYTBkYTU4NzlkNTQyMThhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBA
IC02MTUsNyArNjE1LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3Qg
U2V0dGluZ3MmIHNldHRpbmdzLCBjb25zdCBVUkwmIHVybCwgRG9jdW0KICAgICAsIG1fZG9jdW1l
bnRDcmVhdGlvblRpbWUoTW9ub3RvbmljVGltZTo6bm93KCkpCiAjZW5kaWYKICAgICAsIG1fc2Ny
aXB0UnVubmVyKG1ha2VVbmlxdWU8U2NyaXB0UnVubmVyPigqdGhpcykpCi0gICAgLCBtX21vZHVs
ZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMpKQorICAgICwgbV9t
b2R1bGVMb2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRN
b2R1bGVMb2FkZXI6Ok93bmVyVHlwZTo6RG9jdW1lbnQpKQogI2lmIEVOQUJMRShYU0xUKQogICAg
ICwgbV9hcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zVGltZXIoKnRoaXMsICZEb2N1bWVudDo6YXBw
bHlQZW5kaW5nWFNMVHJhbnNmb3Jtc1RpbWVyRmlyZWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXhj
ZXB0aW9uQ29kZS5oCmluZGV4IGY2YjU1OGVhODJkNzkzNjhlNjFhZGIwNjBjZjBiNGVhMWRiZWEy
MGMuLjE3ZGU3NDM0NzJmNzczMWIwM2M5OGZlY2U3YjFlYjFiOTYwMWU3N2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V4Y2VwdGlvbkNvZGUuaApAQCAtNjEsNiArNjEsNyBAQCBlbnVtIEV4Y2VwdGlvbkNvZGUg
ewogICAgIC8vIFNpbXBsZSBleGNlcHRpb25zIChodHRwczovL2hleWNhbS5naXRodWIuaW8vd2Vi
aWRsLyNpZGwtZXhjZXB0aW9ucykuCiAgICAgUmFuZ2VFcnJvciwKICAgICBUeXBlRXJyb3IsCisg
ICAgSlNTeW50YXhFcnJvciwgLy8gRGlmZmVyZW50IGZyb20gRE9NIFNZTlRBWF9FUlIuCiAKICAg
ICAvLyBOb24tc3RhbmRhcmQgZXJyb3IuCiAgICAgU3RhY2tPdmVyZmxvd0Vycm9yLApAQCAtMTEx
LDYgKzExMiw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6RXhjZXB0
aW9uQ29kZT4gewogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6Ok5vdEFsbG93ZWRFcnJvciwK
ICAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlOjpSYW5nZUVycm9yLAogICAgIFdlYkNvcmU6OkV4
Y2VwdGlvbkNvZGU6OlR5cGVFcnJvciwKKyAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlOjpKU1N5
bnRheEVycm9yLAogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OlN0YWNrT3ZlcmZsb3dFcnJv
ciwKICAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlOjpFeGlzdGluZ0V4Y2VwdGlvbkVycm9yCiAg
ICAgPjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlw
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCmluZGV4
IDlhMjVjMTY1ODhlZWNhZDY3OGZiOTExZWM4NjIyZjQyNDI1OTJiNWEuLjQ4ZWMwODUxYTQ1N2Q5
YmE0NzQ3M2ZlYzI4ZDdiNDkzMTJiNzg4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRh
YmxlTW9kdWxlU2NyaXB0LmNwcApAQCAtODgsMTYgKzg4LDQgQEAgdm9pZCBMb2FkYWJsZU1vZHVs
ZVNjcmlwdDo6ZXhlY3V0ZShTY3JpcHRFbGVtZW50JiBzY3JpcHRFbGVtZW50KQogICAgIHNjcmlw
dEVsZW1lbnQuZXhlY3V0ZU1vZHVsZVNjcmlwdCgqdGhpcyk7CiB9CiAKLXZvaWQgTG9hZGFibGVN
b2R1bGVTY3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwmIHJvb3RVUkwp
Ci17Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAgZnJh
bWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoKnRoaXMsIHJvb3RVUkwuc3RyaW5nKCksIG1f
cGFyYW1ldGVycy5jb3B5UmVmKCkpOwotfQotCi12b2lkIExvYWRhYmxlTW9kdWxlU2NyaXB0Ojps
b2FkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29k
ZSkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBm
cmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywgc291cmNlQ29kZSk7Ci19Ci0K
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgKaW5kZXggYmI3OTk1
NGQ3Yjk5YjBlZDA2YmZlNTVlZjg1NGVjY2UyMWYzNTg3Ny4uZDI1MzU5NjNmNjQ4YjAyYThhMDFm
ZDYzYmIxZTM4MTM4NmNlZTQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRh
YmxlTW9kdWxlU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmgKQEAgLTUwLDE1ICs1MCwxNCBAQCBjbGFzcyBMb2FkYWJsZU1vZHVsZVNjcmlwdCBm
aW5hbCA6IHB1YmxpYyBMb2FkYWJsZVNjcmlwdCB7CiAKICAgICB2b2lkIHNldEVycm9yKEVycm9y
JiYpOwogCi0gICAgdm9pZCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiByb290VVJMKTsKLSAg
ICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7Ci0KICAgICB2
b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmluZ0ltcGwmKTsKICAgICB2b2lkIG5v
dGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yJiYpOwogICAgIHZvaWQgbm90aWZ5
TG9hZFdhc0NhbmNlbGVkKCk7CiAKICAgICBVbmlxdWVkU3RyaW5nSW1wbCogbW9kdWxlS2V5KCkg
Y29uc3QgeyByZXR1cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0KIAorICAgIE1vZHVsZUZldGNoUGFy
YW1ldGVycyYgcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQorCiBw
cml2YXRlOgogICAgIExvYWRhYmxlTW9kdWxlU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2UsIGNv
bnN0IFN0cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9z
c09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5p
dGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCAwNTc1OGI2MDBjNzUyMmI0N2YzNjRiYTZhMThkMzVm
MTczMTEwN2Y5Li41ZTk5ZjBmNTc3N2IzYjIxNThkZDBmYTRiYzM4Mjc3NmNkYjM0ODEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVk
ZSAiTG9hZGFibGVDbGFzc2ljU2NyaXB0LmgiCiAjaW5jbHVkZSAiTG9hZGFibGVNb2R1bGVTY3Jp
cHQuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgIlJ1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgogI2luY2x1ZGUgIlNWR1NjcmlwdEVsZW1lbnQuaCIK
QEAgLTM1MSw4ICszNTIsMTEgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxlU2Ny
aXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbikKICAgICAgICAgICAg
IHNjcmlwdENoYXJzZXQoKSwKICAgICAgICAgICAgIG1fZWxlbWVudC5sb2NhbE5hbWUoKSwKICAg
ICAgICAgICAgIG1fZWxlbWVudC5pc0luVXNlckFnZW50U2hhZG93VHJlZSgpKTsKLSAgICAgICAg
c2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBtb2R1bGVTY3JpcHRSb290VVJMKTsK
ICAgICAgICAgbV9sb2FkYWJsZVNjcmlwdCA9IFdURk1vdmUoc2NyaXB0KTsKKyAgICAgICAgaWYg
KGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkgeworICAgICAgICAg
ICAgYXV0byYgc2NyaXB0ID0gZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVTY3JpcHQ+KCptX2xvYWRh
YmxlU2NyaXB0LmdldCgpKTsKKyAgICAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxl
U2NyaXB0KHNjcmlwdCwgbW9kdWxlU2NyaXB0Um9vdFVSTC5zdHJpbmcoKSwgbWFrZVJlZihzY3Jp
cHQucGFyYW1ldGVycygpKSk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogCkBAIC0zNjcsOCArMzcxLDkgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxl
U2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbikKICAgICBpZiAo
IWNvbnRlbnRTZWN1cml0eVBvbGljeS5hbGxvd0lubGluZVNjcmlwdChtX2VsZW1lbnQuZG9jdW1l
bnQoKS51cmwoKS5zdHJpbmcoKSwgbV9zdGFydExpbmVOdW1iZXIsIHNvdXJjZUNvZGUuc291cmNl
KCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLCBoYXNLbm93bk5vbmNlKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgc2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBzb3Vy
Y2VDb2RlKTsKICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAgIGlm
IChhdXRvKiBmcmFtZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmZyYW1lKCkpCisgICAgICAgIGZy
YW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KGRvd25jYXN0PExvYWRhYmxlTW9kdWxlU2Ny
aXB0PigqbV9sb2FkYWJsZVNjcmlwdC5nZXQoKSksIHNvdXJjZUNvZGUpOwogICAgIHJldHVybiB0
cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5k
ZXggMjcxN2M4NjFjNzRiMGYyYWViY2RlNDA4NzAwZTJhOWEwMzczNzU5NS4uMWI2NTMyYzNiMGVh
YTgwZDliZDQ2YzZkNDMyMTM2OTYyMWMwMTliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMTAxLDEwICsxMDEsMTAgQEAgVGhyZWFkYWJsZUxvYWRl
ck9wdGlvbnMgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiB9
CiAKIAotUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBj
bGllbnQsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJP
cHRpb25zJiBvcHRpb25zLCBTdHJpbmcmJiByZWZlcnJlcikKK1JlZlB0cjxUaHJlYWRhYmxlTG9h
ZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBSZXNvdXJjZVJlcXVlc3QmJiBy
ZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgU3RyaW5nJiYg
cmVmZXJyZXIsIFN0cmluZyYmIHRhc2tNb2RlKQogewogICAgIGlmIChpczxXb3JrZXJHbG9iYWxT
Y29wZT4oY29udGV4dCkgfHwgKGlzPFdvcmtsZXRHbG9iYWxTY29wZT4oY29udGV4dCkgJiYgZG93
bmNhc3Q8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KS53b3JrZXJPcldvcmtsZXRUaHJlYWQo
KSkpCi0gICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc3RhdGlj
X2Nhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUmPihjb250ZXh0KSwgY2xpZW50LCBXb3Jr
ZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpLCBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRpb25zLCBXVEZN
b3ZlKHJlZmVycmVyKSk7CisgICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpj
cmVhdGUoc3RhdGljX2Nhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUmPihjb250ZXh0KSwg
Y2xpZW50LCBXVEZNb3ZlKHRhc2tNb2RlKSwgV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9ucywgV1RG
TW92ZShyZWZlcnJlcikpOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbnVsbHB0cjsKICAg
ICBpZiAoaXM8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGMyYjI0NWMzZWJiOGJjOTMwZWY0ZDE3MmJhMTUw
OWExNzlmMWQ3YTYuLjFhYzcwNGI0YzNiNTBiMGZmZGEwMzQyOGMzY2U3ZGExNDk4ODI2MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAtNzQsNyArNzQsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVh
ZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291
cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVzb3VyY2VSZXF1ZXN0
JiYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYpOwotICAgICAgICBzdGF0aWMgUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIFJlc291cmNlUmVx
dWVzdCYmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIFN0cmluZyYmIHJlZmVycmVy
ID0gU3RyaW5nKCkpOworICAgICAgICBzdGF0aWMgUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIFJl
c291cmNlUmVxdWVzdCYmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIFN0cmluZyYm
IHJlZmVycmVyID0gU3RyaW5nKCksIFN0cmluZyYmIHRhc2tNb2RlID0geyB9KTsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUlzRG9uZSgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lk
IGNhbmNlbCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCBiZjZlMjc2YTM5
YzIzMTVmODg5MGM2MzMwMzI5ZDY0NGRmY2FlYWE1Li4wNGZkZjU4Mjc0M2ViOTczYjUyNWQ1NGM4
YThkOGYzN2Q4MjUyMGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC03NCw2ICs3
NCw4IEBAIGlubGluZSBXb3JrZXI6OldvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lCiAgICAgLCBtX2lkZW50aWZpZXIoIndvcmtl
cjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSkK
ICAgICAsIG1fY29udGV4dFByb3h5KFdvcmtlckdsb2JhbFNjb3BlUHJveHk6OmNyZWF0ZSgqdGhp
cykpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxhZ3MpCisgICAgLCBtX3R5cGUob3B0
aW9ucy50eXBlKQorICAgICwgbV9jcmVkZW50aWFscyhvcHRpb25zLmNyZWRlbnRpYWxzKQogewog
ICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7
CkBAIC0xMTcsMTAgKzExOSwxNSBAQCBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gV29ya2VyOjpj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdQogCiAgICAgRmV0
Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKICAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNoT3B0
aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsKKyAgICBpZiAod29ya2VyLT5tX3R5cGUgPT0gV29ya2Vy
VHlwZTo6TW9kdWxlKQorICAgICAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSB3b3JrZXIt
Pm1fY3JlZGVudGlhbHM7CisgICAgZWxzZQorICAgICAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlh
bHMgPSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luOwogICAgIGZldGNoT3B0
aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1bHQ7CiAgICAgZmV0Y2hPcHRp
b25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6Rm9sbG93OwogICAgIGZldGNo
T3B0aW9ucy5kZXN0aW5hdGlvbiA9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcjsK
LSAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwg
V1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlcik7CisgICAg
d29ya2VyLT5tX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1v
dmUocmVxdWVzdCksIFdURk1vdmUoZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5
RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCB3b3JrZXIuZ2V0KCksIFdvcmtl
clJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOworCiAgICAgcmV0dXJuIHdvcmtlcjsKIH0KIApAQCAt
MjE5LDcgKzIyNiwxMyBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNoZWQoKQogICAgIFJlZmVy
cmVyUG9saWN5IHJlZmVycmVyUG9saWN5ID0gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOwog
ICAgIGlmIChhdXRvIHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXIt
PnJlZmVycmVyUG9saWN5KCksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKICAg
ICAgICAgcmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5OwotICAgIG1fY29udGV4dFByb3h5LnN0YXJ0
V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQt
PnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2Fk
ZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9u
VGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fcnVudGltZUZsYWdzKTsKKworICAgIFVSTCByZXNwb25z
ZVVSTCA9IG1fc2NyaXB0TG9hZGVyLT5yZXNwb25zZVVSTCgpOworICAgIGlmICghbV9zY3JpcHRM
b2FkZXItPmlzUmVkaXJlY3RlZCgpICYmIG1fc2NyaXB0TG9hZGVyLT5yZXNwb25zZVNvdXJjZSgp
ICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgeworICAgICAgICBp
ZiAobV9zY3JpcHRMb2FkZXItPnVybCgpLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQorICAgICAg
ICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKG1fc2NyaXB0TG9hZGVyLT51
cmwoKS5mcmFnbWVudElkZW50aWZpZXIoKSk7CisgICAgfQorICAgIG1fY29udGV4dFByb3h5LnN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUocmVzcG9uc2VVUkwsIG1fbmFtZSwgY29udGV4dC0+dXNlckFn
ZW50KHJlc3BvbnNlVVJMKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9s
aWN5LCBtX3R5cGUsIG1fY3JlZGVudGlhbHMsIG1fcnVudGltZUZsYWdzKTsKICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpjb250ZXh0LCBtX3NjcmlwdExvYWRl
ci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuaAppbmRleCA1M2Y1ZTZmZmYyN2M5ZmEzZTVjMGUwMWYwZjZjNDJjNmNiNmY5
ZDBlLi4zOGE2MjNhOThkYmEzNWZmODAxM2NkNmZjOGM4NWM4MTAyMDUwMjExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmgKQEAgLTI5LDkgKzI5LDExIEBACiAjaW5jbHVkZSAiQWN0aXZlRE9NT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmgi
CiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50
aWFscy5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAiUG9zdE1lc3NhZ2VP
cHRpb25zLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVk
ZSAiV29ya2VyVHlwZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFncy5o
PgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CkBAIC01NSw2ICs1Nyw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFj
dFdvcmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBXb3JrCiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChXb3JrZXIpOwogcHVibGljOgogICAgIHN0cnVjdCBPcHRpb25zIHsK
KyAgICAgICAgV29ya2VyVHlwZSB0eXBlOworICAgICAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFs
cyBjcmVkZW50aWFsczsKICAgICAgICAgU3RyaW5nIG5hbWU7CiAgICAgfTsKICAgICBzdGF0aWMg
RXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
SlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBPcHRpb25zJik7CkBA
IC03OSw2ICs4Myw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtl
ciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBXb3JrCiAgICAgdm9pZCBwb3N0VGFz
a1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik+JiYpOwogI2VuZGlmCiAKKyAgICBXb3JrZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBt
X3R5cGU7IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXb3JrZXIoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBjb25zdCBPcHRpb25zJik7CiAKQEAgLTExMiw2
ICsxMTgsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1
YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29yawogI2lmIEVOQUJMRShXRUJfUlRDKQog
ICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3RyYW5zZm9ybWVyczsKICNlbmRpZgorICAgIFdvcmtlclR5
cGUgbV90eXBlIHsgV29ya2VyVHlwZTo6Q2xhc3NpYyB9OworICAgIEZldGNoUmVxdWVzdENyZWRl
bnRpYWxzIG1fY3JlZGVudGlhbHMgeyBGZXRjaFJlcXVlc3RDcmVkZW50aWFsczo6U2FtZU9yaWdp
biB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
aWRsCmluZGV4IDQ1ZDZhMDg2Nzg1NGVlNDA0ZGU3ZTdkMDEyNDhjZWJmNDRkY2E3ZWQuLjcwMjE3
OTZkZjUwNGFkZjhlNmI5NTg5YWNlOWYxNDQ4MjFmMjk1ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5pZGwKQEAgLTM4LDYgKzM4LDggQEAKIH07CiAKIGRpY3Rpb25hcnkgV29ya2VyT3B0aW9u
cyB7CisgICAgV29ya2VyVHlwZSB0eXBlID0gImNsYXNzaWMiOworICAgIEZldGNoUmVxdWVzdENy
ZWRlbnRpYWxzIGNyZWRlbnRpYWxzID0gInNhbWUtb3JpZ2luIjsgLy8gY3JlZGVudGlhbHMgaXMg
b25seSB1c2VkIGlmIHR5cGUgaXMgIm1vZHVsZSIKICAgICBET01TdHJpbmcgbmFtZSA9ICIiOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRl
eCBkYmFiMzQ4ZTgwYzlkZTUwYmQyMTU3NzdhMTRhMzlhMGY3MGU0OWM3Li5jY2RlOTA5YzdjYjUy
ZTk3Nzc0YzViODE1ODIzZWJjYmJiMDcwZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNzQsNiArNzQsOCBAQCBXb3JrZXJHbG9iYWxTY29w
ZTo6V29ya2VyR2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBjb25zdCBXb3JrZXJQ
YXJhbWV0ZQogICAgICwgbV9wZXJmb3JtYW5jZShQZXJmb3JtYW5jZTo6Y3JlYXRlKHRoaXMsIHBh
cmFtcy50aW1lT3JpZ2luKSkKICAgICAsIG1fcmVmZXJyZXJQb2xpY3kocGFyYW1zLnJlZmVycmVy
UG9saWN5KQogICAgICwgbV9zZXR0aW5nc1ZhbHVlcyhwYXJhbXMuc2V0dGluZ3NWYWx1ZXMpCisg
ICAgLCBtX3dvcmtlclR5cGUocGFyYW1zLndvcmtlclR5cGUpCisgICAgLCBtX2NyZWRlbnRpYWxz
KHBhcmFtcy5jcmVkZW50aWFscykKIHsKICNpZiAhRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAg
ICAgVU5VU0VEX1BBUkFNKGNvbm5lY3Rpb25Qcm94eSk7CkBAIC0yNzQsNiArMjc2LDExIEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IFdvcmtlckdsb2JhbFNjb3BlOjppbXBvcnRTY3JpcHRzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiB1cmxzKQogewogICAgIEFTU0VSVChjb250ZW50U2VjdXJpdHlQb2xpY3ko
KSk7CiAKKyAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93b3Jr
ZXJzLmh0bWwjaW1wb3J0aW5nLXNjcmlwdHMtYW5kLWxpYnJhcmllcworICAgIC8vIDEuIElmIHdv
cmtlciBnbG9iYWwgc2NvcGUncyB0eXBlIGlzICJtb2R1bGUiLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgICAgaWYgKG1fd29ya2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpNb2R1bGUpCisg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsICJpbXBvcnRTY3JpcHRzIGNhbm5v
dCBiZSB1c2VkIGlmIHdvZXJrZXIgdHlwZSBpcyBcIm1vZHVsZVwiIl9zIH07CisKICAgICBWZWN0
b3I8VVJMPiBjb21wbGV0ZWRVUkxzOwogICAgIGNvbXBsZXRlZFVSTHMucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eSh1cmxzLnNpemUoKSk7CiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IHVybHMpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA0NmQ0OWQ5NGM1
MjM4ZTQ2ODhkMzk1ZDg3YzIwNjNlYjU3MjBkMWJmLi43NDc5NWY1YzBmOWEyYTM1ZDAwOTMwMTJh
ZDE4ZjU3ZTMxN2Y4MjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5oCkBAIC0xMjMsNiArMTIzLDggQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGUgOiBwdWJs
aWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+LCBwdWJsaWMgQmFzZTYKIAogICAg
IGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9zZXR0aW5nc1ZhbHVlczsgfQogCisgICAgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFs
cyBjcmVkZW50aWFscygpIGNvbnN0IHsgcmV0dXJuIG1fY3JlZGVudGlhbHM7IH0KKwogcHJvdGVj
dGVkOgogICAgIFdvcmtlckdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUsIGNvbnN0IFdvcmtl
clBhcmFtZXRlcnMmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIFdvcmtlclRocmVhZCYsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5
KiwgU29ja2V0UHJvdmlkZXIqKTsKIApAQCAtMTYzLDggKzE2NSw2IEBAIGNsYXNzIFdvcmtlckds
b2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFdvcmtlckdsb2JhbFNjb3BlPiwgcHVi
bGljIEJhc2U2CiAgICAgbXV0YWJsZSBSZWZQdHI8V29ya2VyTG9jYXRpb24+IG1fbG9jYXRpb247
CiAgICAgbXV0YWJsZSBSZWZQdHI8V29ya2VyTmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKIAotICAg
IHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPiBtX3Njcmlw
dDsKLQogICAgIGJvb2wgbV9pc09ubGluZTsKICAgICBib29sIG1fc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogCkBAIC0xODcsNiArMTg3LDggQEAgY2xhc3MgV29y
a2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+
LCBwdWJsaWMgQmFzZTYKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q1NTVmFsdWVQb29sPiBtX2Nzc1Zh
bHVlUG9vbDsKICAgICBSZWZlcnJlclBvbGljeSBtX3JlZmVycmVyUG9saWN5OwogICAgIFNldHRp
bmdzOjpWYWx1ZXMgbV9zZXR0aW5nc1ZhbHVlczsKKyAgICBXb3JrZXJUeXBlIG1fd29ya2VyVHlw
ZTsKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIG1fY3JlZGVudGlhbHM7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGVQcm94eS5oCmluZGV4IDQwMDAzYzNlMDEwOTk5NjBmNjQ3ODYxZTcwMTY4N2Qw
ZTM3MWQ3MmQuLmVkNjczYWM4ZjdjMGVlNTRjMDYwZWNiNTkyMTYzOTBlZDcwZmUyY2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC00
OCw3ICs0OCw3IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlUHJveHkgewogcHVibGljOgogICAg
IHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZVByb3h5JiBjcmVhdGUoV29ya2VyJik7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGlu
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpS
dW50aW1lRmxhZ3MpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29w
ZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpT
Qzo6UnVudGltZUZsYWdzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0ZVdvcmtlckds
b2JhbFNjb3BlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xv
YmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJikgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jik+JiYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggMTlkNGJlNjQ5OTJmMzBkM2NjZTc2NTQ3YTNkMjIxOGE5
OGM4NDJjMy4uNzg4MzU4N2E3YWY2MjA5ZTNlY2M4ZTdiNDFiYWQ0N2FkZjYyMjQwZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTcz
LDcgKzczLDcgQEAgV29ya2VyTWVzc2FnaW5nUHJveHk6On5Xb3JrZXJNZXNzYWdpbmdQcm94eSgp
CiAgICAgICAgIHx8IChpczxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkgJiYgZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpLnRocmVhZCgpLnRocmVhZCgpID09ICZUaHJlYWQ6OmN1cnJlbnQoKSkpOwogfQogCi12
b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGlj
eSwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQ
cm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUgd29ya2Vy
VHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZs
YWdzIHJ1bnRpbWVGbGFncykKIHsKICAgICAvLyBGSVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlz
aXRlZCB3aGVuIHdlIHN1cHBvcnQgbmVzdGVkIHdvcmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CkBAIC04OSw3ICs4OSw3IEBAIHZvaWQgV29ya2VyTWVz
c2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkws
IGNvbnN0IFN0CiAKICAgICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIgPSBkb2N1bWVu
dC5zb2NrZXRQcm92aWRlcigpOwogCi0gICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMgPSB7IHNj
cmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBkb2N1bWVudC5zZXR0
aW5nc1ZhbHVlcygpIH07CisgICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMgPSB7IHNjcmlwdFVS
TCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCB3b3JrZXJUeXBlLCBjcmVkZW50
aWFscywgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSB9OwogICAgIGF1dG8gdGhyZWFkID0gRGVk
aWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUocGFyYW1zLCBzb3VyY2VDb2RlLCAqdGhpcywgKnRo
aXMsICp0aGlzLCBzdGFydE1vZGUsIGRvY3VtZW50LnRvcE9yaWdpbigpLCBwcm94eSwgc29ja2V0
UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7CiAKICAgICB3b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVh
ZC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmgKaW5kZXggYzViNTc1YjllNjE1YjNmM2Y1OTZiZmMzZGY2ODNjODc3Y2M2MmJhYi4uZDllODFl
MTU3YTBmNDg1MmU0OWI1OWQyNTY2YThhODBmNWY4MThhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNTAsNyArNTAsNyBAQCBjbGFzcyBX
b3JrZXJNZXNzYWdpbmdQcm94eSBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxX
b3JrZXJNZXNzYWdpbmdQcgogcHJpdmF0ZToKICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29y
a2VyR2xvYmFsU2NvcGVQcm94eS4KICAgICAvLyAoT25seSB1c2UgdGhlc2UgZnVuY3Rpb25zIGlu
IHRoZSB3b3JrZXIgb2JqZWN0IHRocmVhZC4pCi0gICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNj
b3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CisgICAgdm9pZCBz
dGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJl
cXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOwogICAgIHZvaWQgdGVy
bWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9X
b3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSBmaW5hbDsKICAgICB2
b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmKT4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IDIzODRhNWE4YzdkMmEzMDJl
ZWU1Y2I0MDVlMTA1ZTAyNWM5ODQzY2MuLmY0ZjRiMjc0NjZmOWEzMGIyOGI4YjIxZjZmMmJlZjhi
ZGU5Mzg1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIKIAorI2luY2x1ZGUg
IlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1ZGUgIldvcmtlckV2ZW50TG9vcC5oIgogI2lu
Y2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXb3JrZXJPcldv
cmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCkBAIC0zOSw2ICs0MCw3IEBAIFdURl9NQUtFX0lTT19B
TExPQ0FURURfSU1QTChXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSk7CiAKIFdvcmtlck9yV29y
a2xldEdsb2JhbFNjb3BlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRU
eXBlIHR5cGUsIFJlZjxKU0M6OlZNPiYmIHZtLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQqIHRocmVh
ZCkKICAgICA6IG1fc2NyaXB0KG1ha2VVbmlxdWU8V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlcj4odHlwZSwgV1RGTW92ZSh2bSksIHRoaXMpKQorICAgICwgbV9tb2R1bGVMb2FkZXIobWFr
ZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93
bmVyVHlwZTo6V29ya2VyT3JXb3JrbGV0KSkKICAgICAsIG1fdGhyZWFkKHRocmVhZCkKICAgICAs
IG1faW5zcGVjdG9yQ29udHJvbGxlcihtYWtlVW5pcXVlPFdvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXI+KCp0aGlzKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
T3JXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCA2YzI0NGEwYzQyN2VlMWM4YzY1ZmRjYzc2NTk1MmY4
NzdmZDliMTZiLi41NDRmMDQ3YWVjMjc4MzI3NDRkMGE4YTcwYWY3ZTkzOWMzMzA5OTJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZS5oCkBAIC0zMiw2ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEV2ZW50
TG9vcFRhc2tHcm91cDsKK2NsYXNzIFNjcmlwdE1vZHVsZUxvYWRlcjsKIGNsYXNzIFdvcmtlckV2
ZW50TG9vcDsKIGNsYXNzIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBXb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyOwpAQCAtNTQsNiArNTUsOCBAQCBjbGFzcyBXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LCBwdWJs
aWMgUmVmQ291bgogCiAgICAgdW5zaWduZWQgbG9uZyBjcmVhdGVVbmlxdWVJZGVudGlmaWVyKCkg
eyByZXR1cm4gbV91bmlxdWVJZGVudGlmaWVyKys7IH0KIAorICAgIFNjcmlwdE1vZHVsZUxvYWRl
ciYgbW9kdWxlTG9hZGVyKCkgeyByZXR1cm4gKm1fbW9kdWxlTG9hZGVyOyB9CisKICAgICAvLyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LgogICAgIEV2ZW50TG9vcFRhc2tHcm91cCYgZXZlbnRMb29w
KCkgZmluYWw7CiAgICAgYm9vbCBpc0NvbnRleHRUaHJlYWQoKSBjb25zdCBmaW5hbDsKQEAgLTg4
LDYgKzkxLDcgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KICAgICB2b2lkIGRlcmVmRXZlbnRU
YXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
U2NyaXB0TW9kdWxlTG9hZGVyPiBtX21vZHVsZUxvYWRlcjsKICAgICBXb3JrZXJPcldvcmtsZXRU
aHJlYWQqIG1fdGhyZWFkOwogICAgIFJlZlB0cjxXb3JrZXJFdmVudExvb3A+IG1fZXZlbnRMb29w
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudExvb3BUYXNrR3JvdXA+IG1fZGVmYXVsdFRhc2tH
cm91cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGNkNGVjMjQ2ODI1MjVhYWJjNjQyZDg3N2Ew
ZGEwMTFlYmRlMTE0MzEuLjkxYThhODc5NDU2ZTA2NzYyMjlhODcwOGE4NzUwOTk5M2EyZTI0ODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzUsMTUgKzM1LDIzIEBACiAjaW5jbHVkZSAiSlNF
eGVjU3RhdGUuaCIKICNpbmNsdWRlICJKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5j
bHVkZSAiSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRj
aEZhaWx1cmVLaW5kLmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5j
bHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEu
aCIKICNpbmNsdWRlICJXb3JrZXJDb25zb2xlQ2xpZW50LmgiCisjaW5jbHVkZSAiV29ya2VyU2Ny
aXB0RmV0Y2hlci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbXBsZXRpb24uaD4KICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9EZWZlcnJlZFdvcmtUaW1lci5oPgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0V4Y2VwdGlvbi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0V4Y2Vw
dGlvbkhlbHBlcnMuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HQ0FjdGl2aXR5Q2FsbGJh
Y2suaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTG9jay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTTW9kdWxlUmVjb3JkLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNOYXRpdmVTdGRG
dW5jdGlvbi5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hQYXJhbWV0
ZXJzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRjaGVyLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC0yMjgsNiArMjM2LDI0NSBAQCB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZAogICAgIH0K
IH0KIAorc3RhdGljIElkZW50aWZpZXIganNWYWx1ZVRvTW9kdWxlS2V5KEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGlmICh2YWx1ZS5p
c1N5bWJvbCgpKQorICAgICAgICByZXR1cm4gSWRlbnRpZmllcjo6ZnJvbVVpZChqc0Nhc3Q8U3lt
Ym9sKj4odmFsdWUpLT5wcml2YXRlTmFtZSgpKTsKKyAgICBBU1NFUlQodmFsdWUuaXNTdHJpbmco
KSk7CisgICAgcmV0dXJuIGFzU3RyaW5nKHZhbHVlKS0+dG9JZGVudGlmaWVyKGxleGljYWxHbG9i
YWxPYmplY3QpOworfQorCitKU0M6OkpTVmFsdWUgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlcjo6ZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYgbW9kdWxlUmVjb3JkKQor
eworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsK
KyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7
IHZtIH07CisgICAgcmV0dXJuIG1vZHVsZVJlY29yZC5ldmFsdWF0ZSgmZ2xvYmFsT2JqZWN0KTsK
K30KKworTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9s
bGVyOjpsb2FkTW9kdWxlU3luY2hyb25vdXNseShXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQoreworICAgIGlmIChp
c0V4ZWN1dGlvbkZvcmJpZGRlbigpKQorICAgICAgICByZXR1cm4gTWVzc2FnZVF1ZXVlVGVybWlu
YXRlZDsKKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFsT2Jq
ZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIGF1dG8gcHJv
dGVjdG9yID0gbWFrZVJlZihzY3JpcHRGZXRjaGVyKTsKKyAgICB7CisgICAgICAgIGF1dG8mIHBy
b21pc2UgPSBKU0V4ZWNTdGF0ZTo6bG9hZE1vZHVsZShnbG9iYWxPYmplY3QsIHNvdXJjZUNvZGUu
anNTb3VyY2VDb2RlKCksIEpTQzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHsgJnNjcmlw
dEZldGNoZXIgfSkpOworCisgICAgICAgIGF1dG8mIGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZl
U3RkRnVuY3Rpb246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFtwcm90
ZWN0b3JdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KSAtPiBKU0M6OkVuY29kZWRKU1ZhbHVlIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC0+dm0oKTsKKyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAg
ICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICAgICAgICAg
IElkZW50aWZpZXIgbW9kdWxlS2V5ID0ganNWYWx1ZVRvTW9kdWxlS2V5KGdsb2JhbE9iamVjdCwg
Y2FsbEZyYW1lLT5hcmd1bWVudCgwKSk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCB7IH0pOworICAgICAgICAgICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkQ29tcGxldGVk
KCptb2R1bGVLZXkuaW1wbCgpKTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGF1dG8mIHJlamVjdEhhbmRs
ZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBT
dHJpbmcoKSwgW3Byb3RlY3Rvcl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZy
YW1lKiBjYWxsRnJhbWUpIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKKyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIEpT
VmFsdWUgZXJyb3JWYWx1ZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CisgICAgICAgICAgICBp
ZiAoZXJyb3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgICAgICAgICAgYXV0byogb2JqZWN0
ID0gSlNDOjphc09iamVjdChlcnJvclZhbHVlKTsKKyAgICAgICAgICAgICAgICBpZiAoSlNWYWx1
ZSBmYWlsdXJlS2luZFZhbHVlID0gb2JqZWN0LT5nZXREaXJlY3Qodm0sIHN0YXRpY19jYXN0PEpT
Vk1DbGllbnREYXRhJj4oKnZtLmNsaWVudERhdGEpLmJ1aWx0aW5OYW1lcygpLmZhaWx1cmVLaW5k
UHJpdmF0ZU5hbWUoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBob3N0IHBy
b3BhZ2F0ZWQgZXJyb3IgaW4gdGhlIG1vZHVsZSBsb2FkZXIgcGlwZWxpbmUuCisgICAgICAgICAg
ICAgICAgICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8TW9kdWxlRmV0Y2hGYWlsdXJlS2luZD4oZmFp
bHVyZUtpbmRWYWx1ZS5hc0ludDMyKCkpKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgTW9k
dWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZDoKKyAgICAgICAgICAgICAgICAgICAgICAg
IHByb3RlY3Rvci0+bm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3IgeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hl
ZFNjcmlwdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBXVEY6Om51bGxvcHQKKyAgICAg
ICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgICAgICAgIGNhc2UgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2Vs
ZWQ6CisgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRXYXNDYW5j
ZWxlZCgpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICAgICAgICAgIHByb3Rl
Y3Rvci0+bm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3IgeworICAgICAgICAg
ICAgICAgIExvYWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hlZFNjcmlwdCwKKyAgICAgICAg
ICAgICAgICBMb2FkYWJsZVNjcmlwdDo6Q29uc29sZU1lc3NhZ2UgeworICAgICAgICAgICAgICAg
ICAgICBNZXNzYWdlU291cmNlOjpKUywKKyAgICAgICAgICAgICAgICAgICAgTWVzc2FnZUxldmVs
OjpFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgcmV0cmlldmVFcnJvck1lc3NhZ2UoKmdsb2Jh
bE9iamVjdCwgdm0sIGVycm9yVmFsdWUsIHNjb3BlKSwKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CisgICAgICAgIH0pOworCisgICAgICAgIHByb21pc2UudGhlbigmZ2xvYmFsT2JqZWN0
LCAmZnVsZmlsbEhhbmRsZXIsICZyZWplY3RIYW5kbGVyKTsKKyAgICB9CisgICAgbV9nbG9iYWxT
Y29wZS0+ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNrcG9pbnQoKTsKKworICAgIC8v
IERyaXZlIFJ1bkxvb3AgdW50aWwgd2UgZ2V0IGVpdGhlciBvZiAiV29ya2VyIGlzIHRlcm1pbmF0
ZWQiLCAiTG9hZGluZyBpcyBkb25lIiwgb3IgIkxvYWRpbmcgaXMgZmFpbGVkIi4KKyAgICBXb3Jr
ZXJSdW5Mb29wJiBydW5Mb29wID0gbV9nbG9iYWxTY29wZS0+d29ya2VyT3JXb3JrbGV0VGhyZWFk
KCktPnJ1bkxvb3AoKTsKKworICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIHJlY2VpdmUgbWVzc2Fn
ZXMgdGhhdCBhcmUgbm90IHJlbGF0ZWQgdG8gYXN5bmNocm9ub3VzIHJlc291cmNlIGxvYWRpbmcu
CisgICAgLy8gT3RoZXJ3aXNlLCBhIHdvcmtlciBkaXNjYXJkcyBzb21lIG1lc3NhZ2VzIGZyb20g
dGhlIG1haW4gdGhyZWFkIGhlcmUgaW4gYSByYWN5IHdheS4KKyAgICAvLyBGb3IgZXhhbXBsZSwg
dGhlIG1haW4gdGhyZWFkIGNhbiBwb3N0TWVzc2FnZSBqdXN0IGFmdGVyIGNyZWF0aW5nIGEgV29y
a2VyLiBJbiB0aGF0IGNhc2UsIHBvc3RNZXNzYWdlJ3MKKyAgICAvLyB0YXNrIGlzIHF1ZXVlZCBp
biBXb3JrZXJSdW5Mb29wIGJlZm9yZSBzdGFydCBydW5uaW5nIG1vZHVsZSBzY3JpcHRzLiBUaGlz
IHRhc2sgc2hvdWxkIG5vdCBiZSBkaXNjYXJkZWQKKyAgICAvLyBpbiB0aGUgZm9sbG93aW5nIGRy
aXZpbmcgb2YgdGhlIFJ1bkxvb3Agd2hpY2ggbWFpbmx5IGF0dGVtcHQgdG8gY29sbGVjdCBpbml0
aWFsIGxvYWQgb2YgbW9kdWxlIHNjcmlwdHMuCisgICAgU3RyaW5nIHRhc2tNb2RlID0gImxvYWRN
b2R1bGVzSW5Xb3JrZXJPcldvcmtsZXRNb2RlIl9zOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1
bHQgcmVzdWx0ID0gTWVzc2FnZVF1ZXVlTWVzc2FnZVJlY2VpdmVkOworICAgIHdoaWxlICgoIXBy
b3RlY3Rvci0+aXNMb2FkZWQoKSAmJiAhcHJvdGVjdG9yLT53YXNDYW5jZWxlZCgpKSAmJiByZXN1
bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICByZXN1bHQgPSBydW5Mb29w
LnJ1bkluTW9kZShtX2dsb2JhbFNjb3BlLCB0YXNrTW9kZSk7CisgICAgICAgIGlmIChyZXN1bHQg
IT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkKKyAgICAgICAgICAgIG1fZ2xvYmFsU2NvcGUtPmV2
ZW50TG9vcCgpLnBlcmZvcm1NaWNyb3Rhc2tDaGVja3BvaW50KCk7CisgICAgfQorCisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKwordm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjps
aW5rQW5kRXZhbHVhdGVNb2R1bGUoV29ya2VyU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwg
Y29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU3RyaW5nKiByZXR1cm5lZEV4Y2Vw
dGlvbk1lc3NhZ2UpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFs
T2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIE5ha2Vk
UHRyPEpTQzo6RXhjZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsKKyAgICBKU0V4ZWNTdGF0ZTo6
bGlua0FuZEV2YWx1YXRlTW9kdWxlKGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVVpZCh2
bSwgc2NyaXB0RmV0Y2hlci5tb2R1bGVLZXkoKSksIGpzVW5kZWZpbmVkKCksIHJldHVybmVkRXhj
ZXB0aW9uKTsKKyAgICBpZiAoKHJldHVybmVkRXhjZXB0aW9uICYmIGlzVGVybWluYXRlZEV4ZWN1
dGlvbkV4Y2VwdGlvbih2bSwgcmV0dXJuZWRFeGNlcHRpb24pKSB8fCBpc1Rlcm1pbmF0aW5nRXhl
Y3V0aW9uKCkpIHsKKyAgICAgICAgZm9yYmlkRXhlY3V0aW9uKCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAocmV0dXJuZWRFeGNlcHRpb24pIHsKKyAgICAgICAgaWYgKG1fZ2xv
YmFsU2NvcGUtPmNhbkluY2x1ZGVFcnJvckRldGFpbHMoc291cmNlQ29kZS5jYWNoZWRTY3JpcHQo
KSwgc291cmNlQ29kZS51cmwoKS5zdHJpbmcoKSkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJ
dCdzIG5vdCBncmVhdCB0aGF0IHRoaXMgY2FuIHJ1biBhcmJpdHJhcnkgY29kZSB0byBzdHJpbmct
aWZ5IHRoZSB2YWx1ZSBvZiB0aGUgZXhjZXB0aW9uLgorICAgICAgICAgICAgLy8gRG8gd2UgbmVl
ZCB0byBkbyBhbnl0aGluZyB0byBoYW5kbGUgdGhhdCBwcm9wZXJseSwgaWYgaXQsIHNheSwgcmFp
c2VzIGFub3RoZXIgZXhjZXB0aW9uPworICAgICAgICAgICAgaWYgKHJldHVybmVkRXhjZXB0aW9u
TWVzc2FnZSkKKyAgICAgICAgICAgICAgICAqcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gcmV0
dXJuZWRFeGNlcHRpb24tPnZhbHVlKCkudG9XVEZTdHJpbmcoJmdsb2JhbE9iamVjdCk7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBPdmVyd3JpdGUgdGhlIGRldGFpbGVkIGVycm9y
IHdpdGggYSBnZW5lcmljIGVycm9yLgorICAgICAgICAgICAgU3RyaW5nIGdlbmVyaWNFcnJvck1l
c3NhZ2UgeyAiU2NyaXB0IGVycm9yLiJfcyB9OworICAgICAgICAgICAgaWYgKHJldHVybmVkRXhj
ZXB0aW9uTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAqcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdl
ID0gZ2VuZXJpY0Vycm9yTWVzc2FnZTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBXb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUoY29uc3Qg
VVJMJiBtb2R1bGVVUkwsIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYmKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkgeworICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcihFeGNlcHRpb24geyBOb3RBbGxvd2VkRXJyb3IgfSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpbml0U2NyaXB0SWZOZWVkZWQoKTsKKworICAgIGF1dG8m
IGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsKKyAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisKKyAg
ICBhdXRvIHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpjcmVhdGUoY3JlZGVu
dGlhbHMpOworICAgIHsKKyAgICAgICAgYXV0byYgcHJvbWlzZSA9IEpTRXhlY1N0YXRlOjpsb2Fk
TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlVVJMLnN0cmluZygpLCBqc1VuZGVmaW5lZCgpLCBK
U0M6OkpTU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCB7IHNjcmlwdEZldGNoZXIucHRyKCkgfSkp
OworCisgICAgICAgIGF1dG8gdGFzayA9IGNyZWF0ZVNoYXJlZFRhc2s8dm9pZChPcHRpb25hbDxF
eGNlcHRpb24+JiYpPihbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKV0oT3B0aW9uYWw8RXhjZXB0aW9uPiYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CisgICAgICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGV4Y2VwdGlvbikpOworICAgICAgICB9KTsK
KworICAgICAgICBhdXRvJiBmdWxmaWxsSGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpj
cmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbdGFzaywgc2NyaXB0RmV0Y2hl
cl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIC0+
IEpTQzo6RW5jb2RlZEpTVmFsdWUgeworICAgICAgICAgICAgLy8gdGFzay0+cnVuKFdURjo6bnVs
bG9wdCk7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAg
ICAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICAgICAgICAgIElkZW50aWZpZXIgbW9kdWxl
S2V5ID0ganNWYWx1ZVRvTW9kdWxlS2V5KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT5hcmd1bWVu
dCgwKSk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAg
ICAgICAgICAgc2NyaXB0RmV0Y2hlci0+bm90aWZ5TG9hZENvbXBsZXRlZCgqbW9kdWxlS2V5Lmlt
cGwoKSk7CisKKyAgICAgICAgICAgIGF1dG8qIGNvbnRleHQgPSBkb3duY2FzdDxXb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZT4oanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICAgICAgICAgIGlmICghY29udGV4dCB8
fCAhY29udGV4dC0+c2NyaXB0KCkpIHsKKyAgICAgICAgICAgICAgICB0YXNrLT5ydW4oV1RGOjpu
dWxsb3B0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBOYWtlZFB0cjxKU0M6OkV4Y2Vw
dGlvbj4gcmV0dXJuZWRFeGNlcHRpb247CisgICAgICAgICAgICBKU0V4ZWNTdGF0ZTo6bGlua0Fu
ZEV2YWx1YXRlTW9kdWxlKCpnbG9iYWxPYmplY3QsIG1vZHVsZUtleSwganNVbmRlZmluZWQoKSwg
cmV0dXJuZWRFeGNlcHRpb24pOworICAgICAgICAgICAgaWYgKChyZXR1cm5lZEV4Y2VwdGlvbiAm
JiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0aW9uKSkg
fHwgY29udGV4dC0+c2NyaXB0KCktPmlzVGVybWluYXRpbmdFeGVjdXRpb24oKSkgeworICAgICAg
ICAgICAgICAgIGlmIChjb250ZXh0LT5zY3JpcHQoKSkKKyAgICAgICAgICAgICAgICAgICAgY29u
dGV4dC0+c2NyaXB0KCktPmZvcmJpZEV4ZWN1dGlvbigpOworICAgICAgICAgICAgICAgIHRhc2st
PnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChyZXR1
cm5lZEV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlOworICAgICAg
ICAgICAgICAgIGlmIChjb250ZXh0LT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxzKG51bGxwdHIsIG1v
ZHVsZUtleS5zdHJpbmcoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEl0J3Mg
bm90IGdyZWF0IHRoYXQgdGhpcyBjYW4gcnVuIGFyYml0cmFyeSBjb2RlIHRvIHN0cmluZy1pZnkg
dGhlIHZhbHVlIG9mIHRoZSBleGNlcHRpb24uCisgICAgICAgICAgICAgICAgICAgIC8vIERvIHdl
IG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQgcHJvcGVybHksIGlmIGl0LCBzYXks
IHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9
IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7Cisg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcndyaXRl
IHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAgICAgICAgICAgICAg
ICAgICAgbWVzc2FnZSA9ICJTY3JpcHQgZXJyb3IuIl9zOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBjb250ZXh0LT5yZXBvcnRFeGNlcHRpb24obWVzc2FnZSwgeyB9LCB7IH0s
IHsgfSwgeyB9LCB7IH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0YXNrLT5ydW4o
V1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGF1dG8mIHJlamVjdEhhbmRsZXIgPSAq
SlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBTdHJpbmco
KSwgW3Rhc2tdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZy
YW1lKSB7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAg
ICAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBKU1ZhbHVlIGVycm9y
VmFsdWUgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgICAgICAgICAgaWYgKGVycm9yVmFs
dWUuaXNPYmplY3QoKSkgeworICAgICAgICAgICAgICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6YXNP
YmplY3QoZXJyb3JWYWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKG9iamVjdC0+Z2V0RGlyZWN0
KHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSY+KCp2bS5jbGllbnREYXRhKS5idWlsdGlu
TmFtZXMoKS5mYWlsdXJlS2luZFByaXZhdGVOYW1lKCkpKSB7CisgICAgICAgICAgICAgICAgICAg
IGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAg
ICAgICAgICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUo
Kmdsb2JhbE9iamVjdCwgdm0sIG9iamVjdCwgY2F0Y2hTY29wZSk7CisgICAgICAgICAgICAgICAg
ICAgIHRhc2stPnJ1bihFeGNlcHRpb24geyBBYm9ydEVycm9yLCBtZXNzYWdlIH0pOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0LT5pbmhlcml0czxFcnJv
ckluc3RhbmNlPih2bSkpIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byogZXJyb3IgPSBqc0Nh
c3Q8RXJyb3JJbnN0YW5jZSo+KG9iamVjdCk7CisgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAo
ZXJyb3ItPmVycm9yVHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgRXJyb3JUeXBl
OjpUeXBlRXJyb3I6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gY2F0Y2hTY29wZSA9
IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5n
IG1lc3NhZ2UgPSByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmplY3Qs
IHZtLCBlcnJvciwgY2F0Y2hTY29wZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0YXNrLT5y
dW4oRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBtZXNzYWdlIH0pOworICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjYXNlIEVycm9yVHlwZTo6U3ludGF4RXJy
b3I6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVf
Q0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2Ug
PSByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJv
ciwgY2F0Y2hTY29wZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0YXNrLT5ydW4oRXhjZXB0
aW9uIHsgSlNTeW50YXhFcnJvciwgbWVzc2FnZSB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENI
X1NDT1BFKHZtKTsKKyAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJvck1l
c3NhZ2VXaXRob3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgY2F0Y2hTY29w
ZSk7CisgICAgICAgICAgICB0YXNrLT5ydW4oRXhjZXB0aW9uIHsgQWJvcnRFcnJvciwgbWVzc2Fn
ZSB9KTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CisgICAgICAgIH0pOworCisgICAgICAgIHByb21pc2UudGhlbigmZ2xvYmFsT2JqZWN0LCAmZnVs
ZmlsbEhhbmRsZXIsICZyZWplY3RIYW5kbGVyKTsKKyAgICB9CisgICAgbV9nbG9iYWxTY29wZS0+
ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNrcG9pbnQoKTsKK30KKwogdGVtcGxhdGU8
dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5hbWUgSlNHbG9iYWxTY29wZSwg
dHlwZW5hbWUgR2xvYmFsU2NvcGU+CiB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXI6OmluaXRTY3JpcHRXaXRoU3ViY2xhc3MoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaAppbmRleCBjNDkz
MDFhZWQzZGQwODlkYTc5NzMyNzYwY2FmMmY3YjY0ZGIxMWI2Li45ZjAyM2E2MmY4MTQzZTdkOTgy
ZmJmN2Y1OGVlZWFkY2EzYTViNTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaApAQCAtMzEsNiArMzEsNyBA
QAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTUnVuTG9vcFRpbWVyLmg+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9NZXNz
YWdlUXVldWUuaD4KICNpbmNsdWRlIDx3dGYvTmFrZWRQdHIuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CkBAIC00NCw5ICs0NSwxMSBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBMb2FkYWJsZU1vZHVsZVNj
cmlwdDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiBjbGFzcyBXb3JrZXJDb25zb2xlQ2xpZW50
OwogY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU7CitjbGFzcyBXb3JrZXJTY3JpcHRG
ZXRjaGVyOwogCiBjbGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyIHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyKTsKQEAg
LTk0LDYgKzk3LDEzIEBAIGNsYXNzIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIgewog
ICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIFN0cmluZyogcmV0dXJu
ZWRFeGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAgICAgdm9pZCBldmFsdWF0ZShjb25zdCBT
Y3JpcHRTb3VyY2VDb2RlJiwgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+JiByZXR1cm5lZEV4Y2Vw
dGlvbiwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKIAorICAg
IEpTQzo6SlNWYWx1ZSBldmFsdWF0ZU1vZHVsZShKU0M6OkpTTW9kdWxlUmVjb3JkJik7CisKKyAg
ICB2b2lkIGxpbmtBbmRFdmFsdWF0ZU1vZHVsZShXb3JrZXJTY3JpcHRGZXRjaGVyJiwgY29uc3Qg
U2NyaXB0U291cmNlQ29kZSYsIFN0cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gbnVs
bHB0cik7CisgICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBsb2FkTW9kdWxlU3luY2hyb25vdXNs
eShXb3JrZXJTY3JpcHRGZXRjaGVyJiwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYpOworCisgICAg
dm9pZCBsb2FkQW5kRXZhbHVhdGVNb2R1bGUoY29uc3QgVVJMJiBtb2R1bGVVUkwsIEZldGNoT3B0
aW9uczo6Q3JlZGVudGlhbHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0
aW9uPiYmKT4mJik7CisKIHByb3RlY3RlZDoKICAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZSogZ2xvYmFsU2NvcGUoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbFNjb3BlOyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCAzYTRkYWVm
YzM5MDJiZGIyZWE4NGZjNThkN2U0MmY4M2U1ZjA3ZTJmLi45ZjMxZDBkZmQ1OWE4NzA3ZmQ0ZWI1
OWNjM2M5MmEwNjY0ODFkZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgT3B0aW9uYWw8RXhjZXB0aW9uPiBX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCi12b2lkIFdvcmtlclNjcmlwdExvYWRl
cjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIFJlc291cmNlUmVxdWVzdCYmIHNjcmlwdFJlcXVlc3QsIEZldGNoT3B0aW9u
cyYmIGZldGNoT3B0aW9ucywgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSBzZXJ2aWNlV29y
a2VyTW9kZSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQpCit2b2lkIFdvcmtlclNj
cmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJlc291cmNlUmVxdWVzdCYmIHNjcmlwdFJlcXVlc3QsIEZl
dGNoT3B0aW9ucyYmIGZldGNoT3B0aW9ucywgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSBz
ZXJ2aWNlV29ya2VyTW9kZSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIFN0cmlu
ZyYmIHRhc2tNb2RlKQogewogICAgIG1fY2xpZW50ID0gJmNsaWVudDsKICAgICBtX3VybCA9IHNj
cmlwdFJlcXVlc3QudXJsKCk7CkBAIC0xMjMsOCArMTIzLDYgQEAgdm9pZCBXb3JrZXJTY3JpcHRM
b2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRF
eGVjdXQKICAgICBBU1NFUlQoZmV0Y2hPcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2Rl
OjpTYW1lT3JpZ2luIHx8IChmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gIT0gRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbjo6U2VydmljZXdvcmtlciAmJiBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24g
IT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSk7CiAKICAgICBUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucyBvcHRpb25zIHsgV1RGTW92ZShmZXRjaE9wdGlvbnMpIH07Ci0gICAgLy8g
RklYTUU6IFdlIHNob3VsZCBhZGQgYW4gb3B0aW9uIHRvIHNldCBjcmVkZW50aWFsIG1vZGUuCi0g
ICAgb3B0aW9ucy5jcmVkZW50aWFscyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVP
cmlnaW47CiAgICAgb3B0aW9ucy5zZW5kTG9hZENhbGxiYWNrcyA9IFNlbmRDYWxsYmFja1BvbGlj
eTo6U2VuZENhbGxiYWNrczsKICAgICBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50ID0gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ7CiAgICAgaWYgKGZldGNo
T3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTZXJ2aWNl
d29ya2VyKQpAQCAtMTQzLDcgKzE0MSw3IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2Fk
QXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAKICAg
ICAvLyBEdXJpbmcgY3JlYXRlLCBjYWxsYmFja3MgbWF5IGhhcHBlbiB3aGljaCByZW1vdmUgdGhl
IGxhc3QgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0LgogICAgIFJlZjxXb3JrZXJTY3JpcHRMb2Fk
ZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwotICAgIG1fdGhyZWFkYWJsZUxvYWRlciA9IFRocmVh
ZGFibGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCAqdGhpcywgV1RGTW92
ZSgqcmVxdWVzdCksIG9wdGlvbnMpOworICAgIG1fdGhyZWFkYWJsZUxvYWRlciA9IFRocmVhZGFi
bGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCAqdGhpcywgV1RGTW92ZSgq
cmVxdWVzdCksIG9wdGlvbnMsIHsgfSwgV1RGTW92ZSh0YXNrTW9kZSkpOwogfQogCiBjb25zdCBV
UkwmIFdvcmtlclNjcmlwdExvYWRlcjo6cmVzcG9uc2VVUkwoKSBjb25zdApAQCAtMTkwLDYgKzE4
OCw4IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvCiAgICAgbV9jZXJ0aWZpY2F0ZUluZm8gPSBy
ZXNwb25zZS5jZXJ0aWZpY2F0ZUluZm8oKSA/ICpyZXNwb25zZS5jZXJ0aWZpY2F0ZUluZm8oKSA6
IENlcnRpZmljYXRlSW5mbygpOwogICAgIG1fcmVzcG9uc2VNSU1FVHlwZSA9IHJlc3BvbnNlLm1p
bWVUeXBlKCk7CiAgICAgbV9yZXNwb25zZUVuY29kaW5nID0gcmVzcG9uc2UudGV4dEVuY29kaW5n
TmFtZSgpOworICAgIG1fcmVzcG9uc2VTb3VyY2UgPSByZXNwb25zZS5zb3VyY2UoKTsKKyAgICBt
X2lzUmVkaXJlY3RlZCA9IHJlc3BvbnNlLmlzUmVkaXJlY3RlZCgpOwogICAgIG1fY29udGVudFNl
Y3VyaXR5UG9saWN5ID0gQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIHsgcmVz
cG9uc2UgfTsKICAgICBtX3JlZmVycmVyUG9saWN5ID0gcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxk
KEhUVFBIZWFkZXJOYW1lOjpSZWZlcnJlclBvbGljeSk7CiAgICAgaWYgKG1fY2xpZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggN2ZkZDBiM2Y2
YTAxYzJkYjU3NzI0YTkwYjNiYjk4NDBmMWU2OGU1Zi4uY2ZhMzFhMzUzMjU5YWVlZDE5OGY5Mzkx
ZmZjMTUxMWI0MDUwYjg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRmV0Y2hPcHRpb25zLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgor
I2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVy
LmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPG1lbW9y
eT4KQEAgLTQzLDcgKzQ0LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXhjZXB0
aW9uOwotY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVy
Q2xpZW50OwpAQCAtNTgsNyArNTgsNyBAQCBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXIgOiBwdWJs
aWMgUmVmQ291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYQogICAgIH0K
IAogICAgIE9wdGlvbmFsPEV4Y2VwdGlvbj4gbG9hZFN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIGNvbnN0IFVSTCYsIEZldGNoT3B0aW9uczo6TW9kZSwgRmV0Y2hPcHRpb25z
OjpDYWNoZSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIGNvbnN0IFN0cmluZyYg
aW5pdGlhdG9ySWRlbnRpZmllcik7Ci0gICAgdm9pZCBsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBGZXRjaE9wdGlvbnMmJiwgQ29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSwgV29ya2Vy
U2NyaXB0TG9hZGVyQ2xpZW50Jik7CisgICAgdm9pZCBsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBGZXRjaE9wdGlvbnMmJiwgQ29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSwgV29ya2Vy
U2NyaXB0TG9hZGVyQ2xpZW50JiwgU3RyaW5nJiYgdGFza01vZGUpOwogCiAgICAgdm9pZCBub3Rp
ZnlFcnJvcigpOwogCkBAIC02Nyw2ICs2Nyw4IEBAIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlciA6
IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj4sIHB1YmxpYyBUaHJlYWRhCiAg
ICAgY29uc3QgU3RyaW5nJiByZWZlcnJlclBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmZXJy
ZXJQb2xpY3k7IH0KICAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fdXJsOyB9
CiAgICAgY29uc3QgVVJMJiByZXNwb25zZVVSTCgpIGNvbnN0OworICAgIFJlc291cmNlUmVzcG9u
c2U6OlNvdXJjZSByZXNwb25zZVNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2VTb3Vy
Y2U7IH0KKyAgICBib29sIGlzUmVkaXJlY3RlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZWRpcmVj
dGVkOyB9CiAgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogICAgIGNvbnN0IFN0cmluZyYgcmVzcG9u
c2VNSU1FVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2VNSU1FVHlwZTsgfQogICAgIGJv
b2wgZmFpbGVkKCkgY29uc3QgeyByZXR1cm4gbV9mYWlsZWQ7IH0KQEAgLTEwNyw2ICsxMDksOCBA
QCBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJTY3Jp
cHRMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYQogICAgIHVuc2lnbmVkIGxvbmcgbV9pZGVudGlmaWVy
IHsgMCB9OwogICAgIGJvb2wgbV9mYWlsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9maW5pc2hp
bmcgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1JlZGlyZWN0ZWQgeyBmYWxzZSB9OworICAgIFJl
c291cmNlUmVzcG9uc2U6OlNvdXJjZSBtX3Jlc3BvbnNlU291cmNlIHsgUmVzb3VyY2VSZXNwb25z
ZTo6U291cmNlOjpVbmtub3duIH07CiAgICAgUmVzb3VyY2VFcnJvciBtX2Vycm9yOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IDcyNzkwYTAzMzIyNjE5
ZTZlZTdlNjE2YThiZGUxOGJkNTUyYTU3ODMuLjYzZWU4YzhkMzZmM2JkNzI0NjM1M2M1YmRmODQx
N2RkODEwN2M0YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAg
LTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNv
Y2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRl
ICJXb3JrZXJTY3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0
Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC01NSw2ICs1Nyw4IEBAIFdvcmtlclBhcmFtZXRlcnMgV29ya2VyUGFyYW1ldGVy
czo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICAgICAgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LAogICAgICAgICB0aW1lT3JpZ2luLAogICAgICAgICByZWZlcnJl
clBvbGljeSwKKyAgICAgICAgd29ya2VyVHlwZSwKKyAgICAgICAgY3JlZGVudGlhbHMsCiAgICAg
ICAgIHNldHRpbmdzVmFsdWVzLmlzb2xhdGVkQ29weSgpCiAgICAgfTsKIH0KQEAgLTEyMyw5ICsx
MjcsMzEgQEAgYm9vbCBXb3JrZXJUaHJlYWQ6OnNob3VsZFdhaXRGb3JXZWJJbnNwZWN0b3JPblN0
YXJ0dXAoKSBjb25zdAogCiB2b2lkIFdvcmtlclRocmVhZDo6ZXZhbHVhdGVTY3JpcHRJZk5lY2Vz
c2FyeShTdHJpbmcmIGV4Y2VwdGlvbk1lc3NhZ2UpCiB7Ci0gICAgZ2xvYmFsU2NvcGUoKS0+c2Ny
aXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29k
ZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3Nh
Z2UpOwotCi0gICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgLy8gV2UgYXJlIGN1
cnJlbnRseSBob2xkaW5nIG9ubHkgdGhlIGluaXRpYWwgc2NyaXB0IGNvZGUuIElmIHRoZSBXb3Jr
ZXJUeXBlIGlzIE1vZHVsZSwgd2Ugc2hvdWxkIGZldGNoIHRoZSBlbnRpcmUgZ3JhcGggYmVmb3Jl
IGV4ZWN1dGluZyB0aGUgcmVzdCBvZiB0aGlzLgorICAgIC8vIFdlIGludm9rZSBtb2R1bGUgbG9h
ZGVyIGFzIGlmIHdlIGFyZSBleGVjdXRpbmcgaW5saW5lIG1vZHVsZSBzY3JpcHQgdGFnIGluIERv
Y3VtZW50LgorCisgICAgaWYgKG1fc3RhcnR1cERhdGEtPnBhcmFtcy53b3JrZXJUeXBlID09IFdv
cmtlclR5cGU6OkNsYXNzaWMpIHsKKyAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmV2
YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1f
c3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAg
ICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICAv
LyBGSVhNRSBmaXggaW5pdGlhdG9yIG5hbWUuCisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgc291
cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFy
YW1zLnNjcmlwdFVSTCksIHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVs
ZSk7CisgICAgICAgIGF1dG8gc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZldGNoZXI6OmNy
ZWF0ZShnbG9iYWxTY29wZSgpLT5jcmVkZW50aWFscygpKTsKKyAgICAgICAgTWVzc2FnZVF1ZXVl
V2FpdFJlc3VsdCByZXN1bHQgPSBnbG9iYWxTY29wZSgpLT5zY3JpcHQoKS0+bG9hZE1vZHVsZVN5
bmNocm9ub3VzbHkoc2NyaXB0RmV0Y2hlci5nZXQoKSwgc291cmNlQ29kZSk7CisgICAgICAgIGlm
IChyZXN1bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICAgICAgaWYgKE9w
dGlvbmFsPExvYWRhYmxlU2NyaXB0OjpFcnJvcj4gZXJyb3IgPSBzY3JpcHRGZXRjaGVyLT5lcnJv
cigpKSB7CisgICAgICAgICAgICAgICAgaWYgKE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpDb25z
b2xlTWVzc2FnZT4gbWVzc2FnZSA9IGVycm9yLT5jb25zb2xlTWVzc2FnZSkKKyAgICAgICAgICAg
ICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IG1lc3NhZ2UtPm1lc3NhZ2U7CisgICAgICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gIkltcG9y
dGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfczsKKyAgICAgICAgICAgICAgICBnbG9iYWxT
Y29wZSgpLT5yZXBvcnRFeGNlcHRpb24oZXhjZXB0aW9uTWVzc2FnZSwgeyB9LCB7IH0sIHsgfSwg
eyB9LCB7IH0pOworICAgICAgICAgICAgfSBlbHNlIGlmICghc2NyaXB0RmV0Y2hlci0+d2FzQ2Fu
Y2VsZWQoKSkgeworICAgICAgICAgICAgICAgIC8vIEV2YWx1YXRlLgorICAgICAgICAgICAgICAg
IGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5saW5rQW5kRXZhbHVhdGVNb2R1bGUoc2NyaXB0RmV0
Y2hlci5nZXQoKSwgc291cmNlQ29kZSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICAgICAg
ICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQogCiAgICAgLy8gRnJlZSB0aGUgc3RhcnR1cCBkYXRhIHRvIGNhdXNlIGl0cyBtZW1i
ZXIgdmFyaWFibGUgZGVyZWYncyBoYXBwZW4gb24gdGhlIHdvcmtlcidzIHRocmVhZCAoc2luY2UK
ICAgICAvLyBhbGwgcmVmL2RlcmVmcyBvZiB0aGVzZSBvYmplY3RzIGFyZSBoYXBwZW5pbmcgb24g
dGhlIHRocmVhZCBhdCB0aGlzIHBvaW50KS4gTm90ZSB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuaAppbmRleCA4ODkwNzkwOGU3YTliODA5ZThmMmE0ZTQ3M2Q3NTJkMTFkMjkz
N2MwLi45NTEyZWZkYjE4ZjMyYTUwZWNiN2ZiNTY5NTlkNjFlODg3MmZhMWQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKQEAgLTI2LDcgKzI2LDEwIEBACiAjcHJhZ21hIG9u
Y2UKIAogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgor
I2luY2x1ZGUgIkZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JX
b3JrbGV0VGhyZWFkLmgiCisjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgorI2luY2x1ZGUgIldv
cmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNp
bmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNjMsNiArNjYsOCBAQCBz
dHJ1Y3QgV29ya2VyUGFyYW1ldGVycyB7CiAgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luOwogICAg
IFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5OworICAgIFdvcmtlclR5cGUgd29ya2VyVHlw
ZTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFsczsKICAgICBTZXR0aW5n
czo6VmFsdWVzIHNldHRpbmdzVmFsdWVzOwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRl
ZENvcHkoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKaW5kZXggMGIwZWQ4
NjBkOWM3MTQyMzhhMmE1YmI5ZmRmNDM4NDAyZDE2ZWJmMC4uMWMxYmI5NDQ4NjdhZGY0ZWQ1Nzhh
MjgxNGZhMzMyMzI2YWVkOGE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKQEAg
LTI3LDcgKzI3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFdvcmtl
clR5cGUgeworZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogdWludDhfdCB7CiAgICAgQ2xhc3NpYywK
ICAgICBNb2R1bGUsCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggZWJiZTk1ZTg5MjRjOGYxZDczNzUy
NWRlYTE2MzBiMWZhZDU2ZmIyNy4uNGM3ZGRmNGE0YzEzMWUwZGNkNmJhMDk1MDlhYjJkOTc1NzVm
MzBjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIE5hdmlnYXRvckJh
c2U7CiBjbGFzcyBTZXJ2aWNlV29ya2VyOwogCiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRh
dGVWaWFDYWNoZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVtIGNsYXNz
IFdvcmtlclR5cGUgOiB1aW50OF90OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFz
cyBET01Qcm9taXNlUHJveHk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcAppbmRleCBlYzM5YzBmODQ5YTU0ZTFiNmQwYmVlMzRh
OGQ3ZDE5Y2JhNDVlMjg4Li5mOTUxMGNiZjZmZGY3MDQ2ZjdkMWI5MjIzNjkxNzRkMDFmYTBiZTA5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckpvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJKb2IuY3BwCkBAIC0xMTAsNyArMTEwLDggQEAgdm9pZCBTZXJ2aWNlV29ya2VySm9iOjpmZXRj
aFNjcmlwdFdpdGhDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEYKICAg
ICBvcHRpb25zLmNhY2hlID0gY2FjaGVQb2xpY3k7CiAgICAgb3B0aW9ucy5yZWRpcmVjdCA9IEZl
dGNoT3B0aW9uczo6UmVkaXJlY3Q6OkVycm9yOwogICAgIG9wdGlvbnMuZGVzdGluYXRpb24gPSBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTZXJ2aWNld29ya2VyOwotICAgIG1fc2NyaXB0TG9h
ZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92
ZShvcHRpb25zKSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3Jj
ZSwgU2VydmljZVdvcmtlcnNNb2RlOjpOb25lLCAqdGhpcyk7CisgICAgb3B0aW9ucy5jcmVkZW50
aWFscyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW47CisgICAgbV9zY3Jp
cHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBX
VEZNb3ZlKG9wdGlvbnMpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RF
bmZvcmNlLCBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmUsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpk
ZWZhdWx0TW9kZSgpKTsKIH0KIAogUmVzb3VyY2VFcnJvciBTZXJ2aWNlV29ya2VySm9iOjp2YWxp
ZGF0ZVNlcnZpY2VXb3JrZXJSZXNwb25zZShjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9i
RGF0YSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlv
bnMuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uT3B0aW9ucy5oCmluZGV4IDlkNTAwZjg1YWNiMTg4NDFjYzU1YmVhODIxMWRiMTRmYWRj
OTc0NzUuLjJlMzU1N2ZhN2RmNjdmMWJmOThjN2I3YTVkZTRiMGE1YTdiY2NjZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oCkBAIC0zMiw3ICszMiw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGVudW0gY2xhc3MgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIDogdWlu
dDhfdDsKLWVudW0gY2xhc3MgV29ya2VyVHlwZTsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVp
bnQ4X3Q7CiAKIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucyB7CiAgICAg
U3RyaW5nIHNjb3BlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCBjOGE3YTk5NzJm
OWNjOGMxNmE3OTY3NTExNTUyZjU0OTNhNjg2Zjk4Li4zM2NhMGVjMjNiNThhNTUxMTg3Njg0NmJh
MDcxODM1MzJiNWM0N2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNzMsOCAr
NzMsOSBAQCBjbGFzcyBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSA6IHB1YmxpYyBXb3Jr
ZXJPYmplY3RQcm94eSB7CiAvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2VyT2JqZWN0UHJveHkK
IC8vIEZJWE1FOiBVc2UgdmFsaWQgcnVudGltZSBmbGFncwogCisvLyBGSVhNRTogVXNlIGEgdmFs
aWQgV29ya2VyVHlwZSBhbmQgQ3JlZGVudGFpbHMgZm9yIG1vZHVsZSBzZXJ2aWNlIHdvcmtlcnMu
CiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgU3RyaW5nJiYgdXNlckFnZW50LCBjb25zdCBTZXR0aW5n
czo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcywgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5
LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklEQkNvbm5l
Y3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJv
dmlkZXIpCi0gICAgOiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmco
KSwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVh
dGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCkt
PmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5
LCBmYWxzZSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0
YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJU
aHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRh
LnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRi
Q29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0
ZUFsbEVuYWJsZWQoKSkKKyAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0
eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rv
cnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0
ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJp
dHlQb2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBXb3JrZXJUeXBlOjpD
bGFzc2ljLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFsczo6U2FtZU9yaWdpbiwgc2V0dGluZ3NWYWx1
ZXMgfSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZp
Y2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9y
bWFsLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5n
ZXQoKSwgaWRiQ29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxh
Z3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkKICAgICAsIG1fZGF0YShkYXRhLmlzb2xhdGVkQ29weSgp
KQogICAgICwgbV93b3JrZXJPYmplY3RQcm94eShEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94
eTo6c2hhcmVkKCkpCiAgICAgLCBtX2hlYXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0TWFuYWdlcjo6
c2luZ2xldG9uKCkuY29ubmVjdGlvbigpLT5zaG91bGRVc2VTaG9ydFRpbWVvdXQoKSA/IGhlYXJ0
QmVhdFRpbWVvdXRGb3JUZXN0IDogaGVhcnRCZWF0VGltZW91dCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAppbmRleCAy
ZGRkYjNiNWI0MWVkODdiZDYxNGEwYjk0ZDA5Yjc2MTI5M2Q3NjA3Li4zNzhmYmE2NTdlOGJiZjQ4
NDFlNTZjYmY4NjU2MWY4ZWNjMzExMDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCkBAIC01MCw3ICs1MCw3IEBA
IHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsKIHN0cnVjdCBTZXJ2aWNlV29y
a2VyQ2xpZW50UXVlcnlPcHRpb25zOwogc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTsK
IHN0cnVjdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXI7Ci1lbnVtIGNsYXNzIFdvcmtl
clR5cGU7CitlbnVtIGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90OwogCiBjbGFzcyBTV1NlcnZl
cldvcmtlciA6IHB1YmxpYyBSZWZDb3VudGVkPFNXU2VydmVyV29ya2VyPiB7CiBwdWJsaWM6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCBk
NzA0ODg2NjQ4YzBlZmFhNmI3ODA4NGM1Mzg3MjAxY2EyYjFjNTQzLi4yYWUwZTMzODkxZGJjODlm
MTQ2ODdkNDE0ODAyYWFhMTJkMGQ4NGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
bGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRz
L1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTE1OCw3MiArMTU4LDcgQEAgUmVmZXJyZXJQb2xp
Y3kgV29ya2xldEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0CiB2b2lkIFdvcmts
ZXRHbG9iYWxTY29wZTo6ZmV0Y2hBbmRJbnZva2VTY3JpcHQoY29uc3QgVVJMJiBtb2R1bGVVUkws
IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAg
QVNTRVJUKCFpc01haW5UaHJlYWQoKSk7Ci0gICAgbV9zY3JpcHRGZXRjaEpvYnMuYXBwZW5kKHsg
bW9kdWxlVVJMLCBjcmVkZW50aWFscywgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikgfSk7Ci0g
ICAgcHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKCk7Ci19Ci0KLXZvaWQgV29ya2xl
dEdsb2JhbFNjb3BlOjpwcm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKQotewotICAg
IGlmIChtX3NjcmlwdEZldGNoSm9icy5pc0VtcHR5KCkgfHwgbV9zY3JpcHRMb2FkZXIpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGF1dG8mIHNjcmlwdEZldGNoSm9iID0gbV9zY3JpcHRGZXRjaEpv
YnMuZmlyc3QoKTsKLQotICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0IHsgc2NyaXB0RmV0Y2hK
b2IubW9kdWxlVVJMIH07Ci0KLSAgICBGZXRjaE9wdGlvbnMgZmV0Y2hPcHRpb25zOwotICAgIGZl
dGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpDb3JzOwotICAgIGZldGNoT3B0
aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1bHQ7Ci0gICAgZmV0Y2hPcHRp
b25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6Rm9sbG93OwotICAgIGZldGNo
T3B0aW9ucy5jcmVkZW50aWFscyA9IHNjcmlwdEZldGNoSm9iLmNyZWRlbnRpYWxzOwotI2lmIEVO
QUJMRShXRUJfQVVESU8pCi0gICAgaWYgKGlzQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUoKSkKLSAg
ICAgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6QXVkaW93b3JrbGV0OwotI2VuZGlmCi0jaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCi0g
ICAgaWYgKGlzUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUoKSkKLSAgICAgICAgZmV0Y2hPcHRpb25z
LmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6UGFpbnR3b3JrbGV0Owot
I2VuZGlmCi0KLSAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KCkgPyBDb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlIDogQ29udGVudFNlY3VyaXR5UG9saWN5
RW5mb3JjZW1lbnQ6OkVuZm9yY2VDaGlsZFNyY0RpcmVjdGl2ZTsKLQotICAgIG1fc2NyaXB0TG9h
ZGVyID0gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKTsKLSAgICBtX3NjcmlwdExvYWRlci0+
bG9hZEFzeW5jaHJvbm91c2x5KCp0aGlzLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNo
T3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vy
c01vZGU6OkFsbCwgKnRoaXMpOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKQotewot
fQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6bm90aWZ5RmluaXNoZWQoKQotewotICAgIGF1
dG8gY29tcGxldGVkSm9iID0gbV9zY3JpcHRGZXRjaEpvYnMudGFrZUZpcnN0KCk7Ci0KLSAgICBp
ZiAobV9zY3JpcHRMb2FkZXItPmZhaWxlZCgpKSB7Ci0gICAgICAgIGRpZENvbXBsZXRlU2NyaXB0
RmV0Y2hKb2IoV1RGTW92ZShjb21wbGV0ZWRKb2IpLCBFeGNlcHRpb24geyBBYm9ydEVycm9yLCBt
YWtlU3RyaW5nKCJGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogIiwgbV9zY3JpcHRMb2Fk
ZXItPmVycm9yKCkubG9jYWxpemVkRGVzY3JpcHRpb24oKSkgfSk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmVhbGx5IGJlIHJ1biBhcyBhIG1v
ZHVsZSBzY3JpcHQgYnV0IHdlIGRvbid0IHN1cHBvcnQgdGhpcyBpbiB3b3JrZXJzIHlldC4KLSAg
ICBVUkwgbW9kdWxlVVJMKG1fc2NyaXB0TG9hZGVyLT5yZXNwb25zZVVSTCgpKTsKLSAgICBhdXRv
IGFkZFJlc3VsdCA9IG1fZXZhbHVhdGVkTW9kdWxlcy5hZGQobW9kdWxlVVJMKTsKLSAgICBpZiAo
YWRkUmVzdWx0LmlzTmV3RW50cnkpIHsKLSAgICAgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+
IGV4Y2VwdGlvbjsKLSAgICAgICAgc2NyaXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUo
bV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBXVEZNb3ZlKG1vZHVsZVVSTCkpLCBleGNlcHRpb24p
OwotICAgICAgICBpZiAoZXhjZXB0aW9uKQotICAgICAgICAgICAgc2NyaXB0KCktPnNldEV4Y2Vw
dGlvbihleGNlcHRpb24pOwotICAgIH0KLQotICAgIGRpZENvbXBsZXRlU2NyaXB0RmV0Y2hKb2Io
V1RGTW92ZShjb21wbGV0ZWRKb2IpLCB7IH0pOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29w
ZTo6ZGlkQ29tcGxldGVTY3JpcHRGZXRjaEpvYihTY3JpcHRGZXRjaEpvYiYmIGpvYiwgT3B0aW9u
YWw8RXhjZXB0aW9uPiByZXN1bHQpCi17Ci0gICAgbV9zY3JpcHRMb2FkZXIgPSBudWxscHRyOwot
Ci0gICAgam9iLmNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocmVzdWx0KSk7Ci0KLSAgICBwcm9j
ZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKTsKKyAgICBzY3JpcHQoKS0+bG9hZEFuZEV2
YWx1YXRlTW9kdWxlKG1vZHVsZVVSTCwgY3JlZGVudGlhbHMsIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIH0KIAogTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXImIFdvcmtsZXRHbG9iYWxT
Y29wZTo6bWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
bGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCBmMjMyMGYwZDEzMDI1Y2VhYjNiYWM1NmE0
NWVjMmQxZGQzZmI2Y2MwLi5mZTU0Yjg1MzI1Njc5MjU4M2RlZGEwNTVhNDMzYTI1NjU0ZTg2NzUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAt
MzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFNj
cmlwdENvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlTWVzc2FnZS5oPgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFncy5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFu
ZGxlci5oPgpAQCAtNTQsNyArNTMsNyBAQCBzdHJ1Y3QgV29ya2xldFBhcmFtZXRlcnM7CiBlbnVt
IFdvcmtsZXRHbG9iYWxTY29wZUlkZW50aWZpZXJUeXBlIHsgfTsKIHVzaW5nIFdvcmtsZXRHbG9i
YWxTY29wZUlkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFdvcmtsZXRHbG9iYWxTY29wZUlk
ZW50aWZpZXJUeXBlPjsKIAotY2xhc3MgV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsK
K2NsYXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXb3JrbGV0R2xvYmFsU2NvcGUpOwog
cHVibGljOgogICAgIHZpcnR1YWwgfldvcmtsZXRHbG9iYWxTY29wZSgpOwpAQCAtMTExLDEwICsx
MTAsNiBAQCBjbGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0
R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJTY3JpcAogICAgIHZvaWQgYWRkTWVzc2FnZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIHVu
c2lnbmVkLCB1bnNpZ25lZCwgUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiYmLCBK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgdW5zaWduZWQgbG9uZykgZmluYWw7CiAgICAgdm9pZCBhZGRD
b25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYs
IHVuc2lnbmVkIGxvbmcpIGZpbmFsOwogCi0gICAgLy8gV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50
LgotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsOwotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQo
KSBmaW5hbDsKLQogICAgIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCkgZmluYWwgeyBy
ZXR1cm4gdGhpczsgfQogCiAjaWYgRU5BQkxFKFdFQl9DUllQVE8pCkBAIC0xMjUsMTUgKzEyMCw2
IEBAIGNsYXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZSwgcHVibGljIFdvcmtlclNjcmlwCiAgICAgU3RyaW5nIHVzZXJBZ2VudChjb25zdCBV
UkwmKSBjb25zdCBmaW5hbDsKICAgICBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1Zh
bHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXM7IH0KIAotICAgIHN0
cnVjdCBTY3JpcHRGZXRjaEpvYiB7Ci0gICAgICAgIFVSTCBtb2R1bGVVUkw7Ci0gICAgICAgIEZl
dGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwotICAgICAgICBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+IGNvbXBsZXRpb25IYW5kbGVyOwotICAg
IH07Ci0KLSAgICB2b2lkIHByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCgpOwotICAg
IHZvaWQgZGlkQ29tcGxldGVTY3JpcHRGZXRjaEpvYihTY3JpcHRGZXRjaEpvYiYmLCBPcHRpb25h
bDxFeGNlcHRpb24+KTsKLQogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7CiAKICAg
ICBSZWY8U2VjdXJpdHlPcmlnaW4+IG1fdG9wT3JpZ2luOwpAQCAtMTQ0LDkgKzEzMCw2IEBAIGNs
YXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZSwgcHVibGljIFdvcmtlclNjcmlwCiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyTWVzc2Fn
ZVBvcnRDaGFubmVsUHJvdmlkZXI+IG1fbWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI7CiAKLSAg
ICBSZWZQdHI8V29ya2VyU2NyaXB0TG9hZGVyPiBtX3NjcmlwdExvYWRlcjsKLSAgICBEZXF1ZTxT
Y3JpcHRGZXRjaEpvYj4gbV9zY3JpcHRGZXRjaEpvYnM7Ci0gICAgSGFzaFNldDxVUkw+IG1fZXZh
bHVhdGVkTW9kdWxlczsKICAgICBTZXR0aW5nczo6VmFsdWVzIG1fc2V0dGluZ3NWYWx1ZXM7CiB9
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMWFkYzI4YTZkNzFlZDhhMzNmZmRmOWRhZDE3OGE1MmE3MDQ4NGQyYy4uNTE1
OTMwZjUzNWQ0YzU1NTc5YmU3NDljNDFkZDg5YTVmMTMwMTYxZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIxLTAyLTEyICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL21vZHVsZS1zY3JpcHRub25j
ZS1yZWRpcmVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zdWJyZXNvdXJj
ZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViYXVkaW8v
YXVkaW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wMi0xMSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJ
T04ocjI3MjI5MykgV2ViR0wgMS4wLjIgdGVzdCBleHBlY3RhdGlvbnMgc2F5IEhUVFBTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA1MWY5ZDZkMmM0YTAwY2ZmMzUzZTJlYWU1MGU2
NzM3NjZkY2Q1YjlhLi4zMDViODM3NWJmMzFiNzYzMmYzYTc1MTMxMzg5MDk2ZmE5YWVlNmRhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAyMS0wMi0x
MiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVs
ZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50
LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3Jr
ZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUv
ZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3Ro
ZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2Vy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVy
LTEtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0
aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxl
d29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1t
b2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9y
aWdpbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3Jr
ZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtl
ci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0
LW1ldGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1sOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQt
cmVmZXJyZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3Jr
ZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1w
cm9wZXJ0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmts
ZXRzL2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNzcC5odHRwcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlv
LXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVjdGVk
LXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAyLTExICBTYWlkIEFib3UtSGFs
bGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyBy
MjcwNTc4LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzllOTBhOTZmMGNkYjZjZTkxMGYyYmNlNWM3
Nzg2MjM5ZGY5ZDkwYi4uNjFhZDFkNWJhNjNiNTZmNDI0NGU4ZGUzYmJhMTA1YjljMjZhNDk4MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCkBAIC02NDAsNyArNjQwLDYgQEAgZmFzdC9kb20vY29ubmVjdGVk
LXN1YmZyYW1lLWNvdW50ZXItb3ZlcmZsb3cuaHRtbCBbIFNsb3cgXQogWyBEZWJ1ZyBdIGh0dHAv
dGVzdHMvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtMi5odG1sIFsgU2xvdyBdCiAKICMgU2tp
cCB3b3JrZXJzIHRlc3RzIHRoYXQgYXJlIHRpbWluZyBvdXQgb3IgYXJlIFNoYXJlZFdvcmtlciBy
ZWxhdGVkIG9ubHkKLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25z
dHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9kYXRhLXVybC1zaGFyZWQuaHRtbCBbIFNraXAgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2V4YW1wbGVzL29uY29ubmVj
dC5hbnkuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2V4YW1wbGVzL29uY29ubmVjdC5hbnkud29ya2VyLmh0bWwgWyBTa2lwIF0KQEAgLTY2Myw3
ICs2NjIsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVk
V29ya2VyLXJlcGxhY2UtRXZlbnRIYW5kbGVyLmFueS5odAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlci1yZXBsYWNlLUV2ZW50SGFuZGxlci5hbnku
d29ya2VyLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9TaGFyZWRXb3JrZXItc2NyaXB0LWVycm9yLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9TaGFyZWRXb3JrZXItc2ltcGxlLmh0bWwgWyBT
a2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0
aW9ucy1jcmVkZW50aWFscy5odG1sIFsgU2tpcCBdCiAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyIFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS8xLjEvbW9kdWxlLXNjcmlwdG5vbmNlLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9tb2R1
bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4IDUwOTkxOWY3YmZkOGNm
OTRjNWQzMzQ3Zjg3YTY0NGQxNTg4NDU5MjEuLmUxNzJkZTRkMDRlMmE1NzQ3Yzc3ZjIyMjI0ZmQ0
NWFjMDUyNTA1ZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0
CkBAIC0xLDMgKzEsMiBAQAogQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cDovLzEyNy4wLjAu
MTo4MDAwIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KLUNP
TlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVk
IGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4KIFRoaXMgdGVzdHMgd2hl
dGhlciBhIGRlZmVycmVkIHNjcmlwdCBsb2FkIGNhdXNlZCBieSBhIHJlZGlyZWN0IGlzIHByb3Bl
cmx5IGFsbG93ZWQgYnkgYSBub25jZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3VicmVzb3VyY2UtaW50ZWdyaXR5L3NyaS1tb2R1bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3Rl
ZC50eHQKaW5kZXggYTAxZDlmMDcyNmZmOTdjNTI1YTUwNDUwNzZiYWU1MTRjODJlZTJlYS4uOTBh
MjkxZWI4MjllZTk4YTc5OGVjMzc0ODUxODRlYTBlOTVhY2M4YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkv
c3JpLW1vZHVsZS1leHBlY3RlZC50eHQKQEAgLTMsNyArMyw2IEBAIENPTlNPTEUgTUVTU0FHRTog
VHlwZUVycm9yOiBDYW5ub3QgbG9hZCBzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N1YnJl
c291cmNlCiBDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogQ2Fubm90IGxvYWQgc2NyaXB0IGh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvcmVzb3VyY2VzL2Nyb3Nz
b3JpZ2luLWFub24tc2NyaXB0LW1vZHVsZS5qcy4gRmFpbGVkIGludGVncml0eSBtZXRhZGF0YSBj
aGVjay4gQ29udGVudCBsZW5ndGg6IDM3LCBFeHBlY3RlZCBjb250ZW50IGxlbmd0aDogMzcsIEV4
cGVjdGVkIG1ldGFkYXRhOiBzaGEyNTYtZGVhZGJlZWZjU0xsYkZaQ2oxT0FDTHhUeFZjazJUT3JC
VEVkVWJ3ejF5VT0KIENPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBDYW5ub3QgbG9hZCBzY3Jp
cHQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N1YnJlc291cmNlLWludGVncml0eS9yZXNvdXJjZXMv
Y3Jvc3NvcmlnaW4tY3JlZHMtc2NyaXB0LW1vZHVsZS5qcy4gRmFpbGVkIGludGVncml0eSBtZXRh
ZGF0YSBjaGVjay4gQ29udGVudCBsZW5ndGg6IDM4LCBFeHBlY3RlZCBjb250ZW50IGxlbmd0aDog
MzgsIEV4cGVjdGVkIG1ldGFkYXRhOiBzaGEyNTYtZGVhZGJlZWYyUytwVFJaZ2l3M0RXcmhDNkpM
RGx0MnpSeUdwd0g3dW5VOD0KIENPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMCBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCi1D
T05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmll
ZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuCiBDT05TT0xFIE1FU1NB
R0U6IFR5cGVFcnJvcjogQ2Fubm90IGxvYWQgc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9z
dWJyZXNvdXJjZS1pbnRlZ3JpdHkvcmVzb3VyY2VzL21hdGNoaW5nLWRpZ2VzdC1tb2R1bGUuanMu
IEZhaWxlZCBpbnRlZ3JpdHkgbWV0YWRhdGEgY2hlY2suIENvbnRlbnQgbGVuZ3RoOiAyOSwgRXhw
ZWN0ZWQgY29udGVudCBsZW5ndGg6IDI5LCBFeHBlY3RlZCBtZXRhZGF0YTogc2hhMjU2LWNXaDlu
UGZtN19tUmJLaHphcm5SWWxzSld6NVhUTmNzcVBGektFeCt6U1U9CiBDT05TT0xFIE1FU1NBR0U6
IFR5cGVFcnJvcjogQ2Fubm90IGxvYWQgc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zdWJy
ZXNvdXJjZS1pbnRlZ3JpdHkvcmVzb3VyY2VzL21hdGNoaW5nLWRpZ2VzdC1tb2R1bGUuanMuIEZh
aWxlZCBpbnRlZ3JpdHkgbWV0YWRhdGEgY2hlY2suIENvbnRlbnQgbGVuZ3RoOiAyOSwgRXhwZWN0
ZWQgY29udGVudCBsZW5ndGg6IDI5LCBFeHBlY3RlZCBtZXRhZGF0YTogc2hhMjU2LVU5V1lEdEJX
a2NIeDEzKzlVS2svM1E1ZW9xRGM0WUd4WWIwN0VQV3piOWU9P2Zvbz1iYXI/c3BhbT1lZ2dzCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxl
L25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUu
YW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNDkyNjliM2I1MGI5MTc1Y2I2MmVjYTMxMmU1
ODZiM2IxNjYyYTI1OS4uMmNhZTVmN2UzNWEzMmZlY2ViMjY4ZjI5MDAwMGU0ZTU1NTZjNjg2MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUv
bm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRp
dmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKLUZBSUwgTm9uLW9i
amVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL251bGwuanNvbicu
IgotRkFJTCBOb24tb2JqZWN0OiB0cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUg
Jy4vdHJ1ZS5qc29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6IGZhbHNlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1w
b3J0IHRoZSBtb2R1bGUgJy4vZmFsc2UuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBzdHJpbmcg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJy
b3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9zdHJpbmcuanNvbicuIgotRkFJTCBO
b24tb2JqZWN0OiBhcnJheSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2FycmF5
Lmpzb24nLiIKK0ZBSUwgTm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29u
JyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6
IHRydWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlw
dCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlv
bi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1v
YmplY3Q6IHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBK
YXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGFycmF5IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2Fw
cGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9j
aGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2tw
b2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQK
aW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uZjY4Y2M3M2I0
ZDY3NGM1NGRmYWZlNTIyMTJiNjQzYzQwMzBmZDQyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmds
b2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xv
YmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1I
YXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBQcm9taXNlIHJl
c29sdmVkIGR1cmluZyAjcmVwb3J0LXRoZS1lcnJvciBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5n
dGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJoYW5kbGVyIDEiLCAiaGFuZGxlciAyIiwgImhh
bmRsZXIgMSBwcm9taXNlIiwgImhhbmRsZXIgMiBwcm9taXNlIl0gbGVuZ3RoIDQsIGdvdCBbXSBs
ZW5ndGggMAorUEFTUyBQcm9taXNlIHJlc29sdmVkIGR1cmluZyBldmVudCBoYW5kbGVycyBvdGhl
ciB0aGFuIGVycm9yCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2Ny
aXB0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhw
ZWN0ZWQudHh0CmluZGV4IDUxZDYxMDBlNjEyMmE5N2MzNjRiM2NlYjFkN2ZkMDdlMGUxNTYxMTcu
LmE4MDUwYzA3OGNmOGI4OGQ1NjhhZmZlMGQ1NWNjMzE5MGMzNjU0N2EgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBo
YS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jh
c2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAK
IAotRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMo
KSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJF
cnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2ltcG9ydC5qcz9waXBlPWhlYWRl
cihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9cmVsYXRpdmUtY3Jvc3Mtb3Jp
Z2luIGltcG9ydFNjcmlwdHMoKScuIgotRkFJTCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHNhbWUt
b3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdo
dHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFk
ZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLWNyb3NzLW9y
aWdpbiBpbXBvcnRTY3JpcHRzKCknLiIKLVBBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBjcm9z
cy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZyb20gY3Jv
c3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxl
ICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlwZT1o
ZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLWNyb3Nz
LW9yaWdpbiBpbXBvcnRTY3JpcHRzKCknLiIKK1BBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBz
YW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBz
YW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKK0ZBSUwgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBj
cm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIGFzc2VydF9lcXVhbHM6IFJlbGF0aXZlIFVSTC1s
aWtlIHNwZWNpZmllciByZXNvbHV0aW9uIHNob3VsZCBmYWlsIGV4cGVjdGVkICIodW5yZWFjaGVk
KSIgYnV0IGdvdCAiZ2FtbWEvaW1wb3J0LmpzIgorUEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9t
IGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJs
LXdvcmtlci5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0
ZWQudHh0CmluZGV4IDg2NmViYjIyN2FkMjZhYWNlMWE1NzhiYWVhNmE4MWRjMGU2ZTc3ZjAuLjVl
NzA2MzQ5MGUyZGZmZWNlODVlYTc2NWFlYmRkZTRiMTZlYjBmYzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9i
YXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2Vy
LnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgUmVsYXRpdmUgVVJMLWxp
a2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUg
bW9kdWxlICcuL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1Pcmln
aW4sKikmbGFiZWw9cmVsYXRpdmUtd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQnLiIKLUZBSUwgQWJz
b2x1dGUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90
IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1t
YS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxh
YmVsPWFic29sdXRlLXdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0Jy4iCitQQVNTIFJlbGF0aXZlIFVS
TC1saWtlIGZyb20gd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQKK1BBU1MgQWJzb2x1dGUgVVJMLWxp
a2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGlu
Zy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ct
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21v
ZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4
IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0MmZhZDIy
NGUzYTE4YTZmYjVkODQ4MzI1ZWE2Nzc2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXIt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQg
KzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorUEFT
UyBUZXN0IGV2YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUv
ZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZi
YThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uYjg2MWY3MDFmOTQ4ZmIxMzI3NjkzMjJjMzgz
NjZmMmQxMzhmMDRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEt
d29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElN
RU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1v
ZHVsZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5
IFsic3RlcC0xLTEiLCAic3RlcC0xLTIiLCAiZ2xvYmFsLWVycm9yIiwgImVycm9yIiwgIm1pY3Jv
dGFzayJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJtaWNyb3Rhc2si
XSBsZW5ndGggMwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXIt
Mi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQw
ZmFkZGQyMmU0YzFkY2IzYTVmLi5jMWQzOGJkZTUwYzU5ZTVkNTk0MTczZDk2ZjljZDE5ZWIxMDdj
OWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUv
ZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1w
b3J0LXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3Ig
KFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitGQUlMIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBv
ZiBtb2R1bGVzIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBh
cnJheSBbInN0ZXAtMi4yLTEiLCAic3RlcC0yLjItMiIsICJnbG9iYWwtZXJyb3IiLCAiZXJyb3Ii
LCAibWljcm90YXNrLTIuMiJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTIuMi0xIiwgInN0ZXAtMi4y
LTIiLCAibWljcm90YXNrLTIuMiJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13
b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXgg
ODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQyZmFkMjI0
ZTNhMThhNmZiNWQ4NDgzMjVlYTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitQQVNT
IFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDEyZDk0YTkxZWYxZjhhYjBhMTg3Yzc0OWIwZGRlYzY5NmQxMTg4ZTcuLmI0ZDY4YWYwNTZl
ZWY2MjJhMzNkNTRmMDc2ZjM4MWQ0ZTFiYjI5YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
Miw4ICsyLDggQEAKIEZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1l
bnQuIgogRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1l
bnQuIgogRkFJTCBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBl
eGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIER5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwg
ZXhwZWN0ZWQgYXJyYXkKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1keW5hbWljLWltcG9ydC1zY3Jp
cHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0
YXRpYyBpbXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8g
ZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhw
b3J0LW9uLXN0YXRpYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBl
dmFsKGltcG9ydCgpKS4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBk
byBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9l
eHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5CitQQVNTIER5bmFtaWMg
aW1wb3J0LgorUEFTUyBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0
IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
YmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2Fs
cGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGRkOWFmMzhmZjA5
ZmJlYzFmYWMwYjhmNWVhOWJhZDZlMzE2MzY0OWQuLjUxZWIzNjYzOGMxY2E3ZDA2MGI3Njc1OTI2
ZmNjNzBjNWJmMDc2ZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3Jr
ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCBpZGVudGlmaWVyICdyJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9u
ZSBhcmd1bWVudC4KIAotRkFJTCBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6
IGltcG9ydCBhc3NlcnRfdW5yZWFjaGVkOiBHb3QgZXJyb3IgZXZlbnQgUmVhY2hlZCB1bnJlYWNo
YWJsZSBjb2RlCitQQVNTIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VyczogaW1w
b3J0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dApp
bmRleCBhYjVhN2ZiODkwMjBmMjlmZDg5M2E3NTY4MGZmZTE3ZDNkMzUwZjdjLi5hYjUzYjgwNTk5
YWUwMTk1NzgwODVlZTQ0YWFlZmE0Yzc5NTUyNjg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBv
cnRTY3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2Ny
aXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIGltcG9y
dFNjcmlwdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hL3NjcmlwdC5qcyIgYnV0IGdv
dCAiYmV0YS9zY3JpcHQuanMiCitQQVNTIGltcG9ydFNjcmlwdHMKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwv
YWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4t
bW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4M2YzNjdmMmNmM2E2NmM2NGE2MjY0Mjk0
NjU2ZDVlODgxZDFjMTFjLi4yOGIwY2I0MDAxMzkyZDA4ODdhNGZlYmU2ODFjMWUxNTFkMGRmMThi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
YmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDMgQEAKIAotRkFJTCBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IFhIUiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWFcbiIgYnV0IGdvdCAiYmV0YVxuIgorUEFTUyBC
YXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IFhIUgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVy
bC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3Jr
ZXItZXhwZWN0ZWQudHh0CmluZGV4IGQ2YjA4ZWVkYWU2ZjY5NmM3YTRiZmE2NTVlMTNiNWVkNDYw
N2VhMDEuLmVhMTQ1NGQ5YjNmMjBmODVkOTAxNmM1MDZhMTU0NmFmNjE3ODQyZDAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9i
YXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3ho
ci1pbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIHhoci13b3Jr
ZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hXG4iIGJ1dCBnb3QgImJldGFcbiIKK1BB
U1MgeGhyLXdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQKaW5k
ZXggODMxZjBjNThjNjk0YzJkNGZlYmQ2ZDhkMGFmMzA3YjEwOTQ0MmE2ZS4uZDU1NWVlN2NmM2Zj
NzJlZmI4MmRmOWRiN2RhZDM2N2Y5YWI3ZmZiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIv
c2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2lu
LWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMSBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKLQogUEFTUyB1bnN1cHBvcnRlZF9zY2hlbWUKIEZBSUwgZGF0YV91
cmwgVGhlIG9wZXJhdGlvbiBpcyBpbnNlY3VyZS4KLVRJTUVPVVQgYWJvdXRfYmxhbmsgVGVzdCB0
aW1lZCBvdXQKLVRJTUVPVVQgZXhhbXBsZV9pbnZhbGlkIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VU
IHBvcnRfODEgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgaHR0cHNfcG9ydF84MCBUZXN0IHRpbWVk
IG91dAotVElNRU9VVCBodHRwc19wb3J0XzgwMDAgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgaHR0
cF9wb3N0XzgwMTIgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgamF2YXNjcmlwdF91cmwgVGVzdCB0
aW1lZCBvdXQKK1BBU1MgYWJvdXRfYmxhbmsKK1BBU1MgZXhhbXBsZV9pbnZhbGlkCitQQVNTIHBv
cnRfODEKK1BBU1MgaHR0cHNfcG9ydF84MAorUEFTUyBodHRwc19wb3J0XzgwMDAKK1BBU1MgaHR0
cF9wb3N0XzgwMTIKK1BBU1MgamF2YXNjcmlwdF91cmwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29y
a2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29y
a2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4IGYxNzQx
ZjlkOGJmMDcwMzI3MGQyZTM3NjJkYmNiZTI2YzBiOTAwNTkuLjNiMGRmYjM1ZTUxY2QxYTg1NDU1
MzAxOWMwZTQwM2RiZTJmMWQzM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3Bl
L2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxT
Y29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZB
SUwgV29ya2VyTG9jYXRpb24gd2l0aCByZWRpcmVjdHM6IGNsYXNzaWMgZGVkaWNhdGVkIHdvcmtl
cnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJz
L2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcG9zdC1sb2NhdGlvbi1tZW1i
ZXJzLmpzP2EiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5P2ZhaWwiCitQ
QVNTIFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBjbGFzc2ljIGRlZGljYXRlZCB3b3Jr
ZXJzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGly
ZWN0LW1vZHVsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlv
bi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0CmluZGV4IGRjMmUyZTIwN2RiMDAxZWU3MGU3
MzMwN2QyN2JiMzM1NzIwZmQ1NTkuLmIzYmY4MWVlODY4MWI5ZGMwODBmNTgwMjcxZThiOGYzOTA5
NjU0OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGly
ZWN0LW1vZHVsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9j
YXRpb24vcmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJ
TCBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJz
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9p
bnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Bvc3QtbG9jYXRpb24tbWVtYmVy
cy5qcz9hIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL2hlbHBlci1yZWRpcmVjdC5weT9mYWlsIgorUEFT
UyBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJz
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhw
ZWN0ZWQudHh0CmluZGV4IDIwYWMxN2Q1NjNjNGIzYTQ2MWYwY2FhZmJlYWVlYmQ3MTNmOTcwODEu
LmRjY2VkY2NkMzY4ZTFmZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dApAQCAt
MSwxOCArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0
cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3Rs
eSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jl
c291cmNlcy9uZXN0ZWQtc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMv
bW9kdWxlcy9yZXNvdXJjZXMvc3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWltcG9ydC13
b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09O
U09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0
cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBv
cnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4K
LUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwg
Imh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1k
eW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25l
IGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJp
bmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJj
ZXMvZHluYW1pYy1pbXBvcnQtYW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4
ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXZhbC1keW5hbWljLWltcG9ydC13b3JrZXIu
anMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1IYXJuZXNz
IEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBs
aXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9k
eW5hbWljLWltcG9ydC1hbmQtdGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBj
YWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUZBSUwgU3RhdGljIGltcG9ydC4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJv
cjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3Jr
ZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBj
YWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgc3RhdGljIGlt
cG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdvcmtlci5q
c1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3Rh
dGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcg
bGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2Vz
L3N0YXRpYy1pbXBvcnQtYW5kLXRoZW4tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9y
dCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9y
dC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93
b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVkIGR5bmFt
aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9z
dDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLWR5bmFtaWMtaW1wb3J0LXdv
cmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZB
SUwgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBz
dHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2R5bmFtaWMtaW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIu
IGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBldmFsKGlt
cG9ydCgpKS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6
ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V2YWwtZHluYW1pYy1pbXBvcnQtd29ya2Vy
LmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgorUEFTUyBT
dGF0aWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3RhdGljIGlt
cG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNT
IE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3Rh
dGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LWltcG9ydC1jc3AtZXhwZWN0ZWQudHh0CmluZGV4IDFkYTQ2YjkyNmJlMDg5NmVlOGY3NWE3OGRj
YWU0ZjI2OWIwNTA5MmIuLjIzOWNjOWNlMTUzMDFmN2VlZDgzZDVlYjIyMzBhOWRlMjk0ZWEyZWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dApAQCAtMSwx
MyArMSwyMiBAQAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0
eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29n
bml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAor
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0
My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxv
Y2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93
b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3Jr
ZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBN
RVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3
b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3
MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2Fk
LXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0
eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3Vy
Y2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwg
VVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2Vz
L2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQg
Q29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3Jr
ZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogCiBQQVNTIHdv
cmtlci1zcmMgJ3NlbGYnIGRpcmVjdGl2ZSBzaG91bGQgZGlzYWxsb3cgY3Jvc3Mgb3JpZ2luIHN0
YXRpYyBpbXBvcnQuCiBGQUlMIHdvcmtlci1zcmMgKiBkaXJlY3RpdmUgc2hvdWxkIGFsbG93IGNy
b3NzIG9yaWdpbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBleHBlY3RlZCBw
cm9wZXJ0eSAwIHRvIGJlICJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiIGJ1dCBnb3QgIkVSUk9S
IiAoZXhwZWN0ZWQgYXJyYXkgWyJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiXSBnb3QgWyJFUlJP
UiJdKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVyZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4
dAppbmRleCA5NWM2ZDE1ZGY0NGUxOGEzNWRmZWIwZmEzOWM4ZDM4NDQyMGMyYzEzLi5lOTU1Nzhl
NzFiMWM1MGE0ZTA0NzFiMDM3MTU0YjM4NmIzN2FlZDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKLUNPTlNP
TEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgJy4vbm9u
LWV4aXN0ZW50LXNjcmlwdC5qcycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJn
dW1lbnQuCitDT05TT0xFIE1FU1NBR0U6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVk
LgogCi1GQUlMIGltcG9ydFNjcmlwdHMoKSBvbiBtb2R1bGUgd29ya2VyIHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUeXBlRXJyb3IiIGJ1dCBnb3Qg
IkxPQURFRCIKK1BBU1MgaW1wb3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3b3JrZXIgc2hvdWxkIHRo
cm93IGFuIGV4Y2VwdGlvbi4KIFBBU1MgV29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igbm9uLWV4aXN0
ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KIFBBU1MgU3RhdGljIGlt
cG9ydCBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVu
dC4KLUZBSUwgRHluYW1pYyBpbXBvcnQgZm9yIG5vbi1leGlzdGVudCBzY3JpcHQgc2hvdWxkIHRo
cm93IGFuIGV4Y2VwdGlvbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlR5cGVFcnJvciIgYnV0
IGdvdCAiRXJyb3IiCitQQVNTIER5bmFtaWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQgc2NyaXB0
IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9y
IGFuIGludmFsaWQgVVJMIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBj
b25zdHJ1Y3Rpb24gZm9yIGEgZmlsZSBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAppbmRleCBkNTgw
NjIwNDFjM2U2OTUxNWI4MTVlMDJkN2MzODY4NGQ3N2M3NmI3Li43NzI5MWJhYTFhNDE4NGJlYmU3
YWQ3YjVkOWYxMTljNzFhNzhkZTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWlt
cG9ydC1tZXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1t
ZXRhLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4
RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCiAKLUhhcm5l
c3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9u
bHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCi0KLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24g
dGhlIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5IHZhbGlk
IGluc2lkZSBtb2R1bGVzLiIKLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9y
dGVkIG1vZHVsZSBzY3JpcHQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQot
RkFJTCBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3
aXRoIGEgZnJhZ21lbnQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFT
UyBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQuCitQ
QVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0Lgor
UEFTUyBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3
aXRoIGEgZnJhZ21lbnQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0
LW1ldGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbAppbmRleCBj
ZmY4ZTkxNDg4ZTgyMzlhYmUyMTM2MTlkMTJkNWE2MDMwNzJmYmVhLi5lZGUyNjkyZTFjNjM0MWJl
ZmZjOTAxMGM0MWI4ZjRjZmU0MzgzMjliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LWltcG9ydC1tZXRhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5o
dG1sCkBAIC01Myw3ICs1Myw3IEBACiAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgnLi8nICsg
c2NyaXB0X3VybCArICcjMScpOwogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB3b3JrZXIub25tZXNzYWdlID0gcmVzb2x2ZSk7CiAgICAgICB9KQotICAgICAgLnRoZW4obXNn
X2V2ZW50ID0+IGFzc2VydF90cnVlKG1zZ19ldmVudC5kYXRhLmVuZHNXaXRoKHNjcmlwdF91cmwp
KSk7CisgICAgICAudGhlbihtc2dfZXZlbnQgPT4gYXNzZXJ0X3RydWUobXNnX2V2ZW50LmRhdGEu
ZW5kc1dpdGgoc2NyaXB0X3VybCArICcjMScpKSk7CiB9LCAnVGVzdCBpbXBvcnQubWV0YS51cmwg
b24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQgd2l0aCBhIGZyYWdtZW50LicpOwogCiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVk
LnR4dAppbmRleCA2ZGM0MmMxY2ZkMzM0OGFmZGQxZGZkM2IxMGE1MDQ3MDU1MzAxOTZhLi5mZTFi
OWQ5M2MwODAxMWI1MGU5NDFmNGUxMjM2MDY3YWJiZDNmMjNlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0CkBAIC0xLDE5ICsxLDIzIEBA
Ci0KLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2Vz
cyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9k
dWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNz
IHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1
bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxl
cy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRv
IGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVz
L3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQogCiBQQVNTIFNhbWUtb3JpZ2lu
IHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVy
cmVyIHBvbGljeQogUEFTUyBTYW1lLW9yaWdpbiB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlwdCBsb2Fk
aW5nIHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5CiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1s
ZXZlbCBtb2R1bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBv
bGljeQotRkFJTCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiBy
ZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKLUZBSUwgU2FtZS1vcmlnaW4gc3Rh
dGljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVy
cm9yIgotRkFJTCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiBy
ZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKK1BBU1MgU2FtZS1vcmlnaW4gc3Rh
dGljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LgorUEFTUyBTYW1l
LW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgorUEFT
UyBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBw
b2xpY3kuCiBGQUlMIENyb3NzLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVy
IiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIEZBSUwgQ3Jvc3Mtb3JpZ2lu
IHN0YXRpYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlw
ZSBlcnJvciIKIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2FtZS1vcmln
aW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotVElNRU9VVCBTYW1lLW9y
aWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBU
ZXN0IHRpbWVkIG91dAotTk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9y
aWdpbiIgcmVmZXJyZXIgcG9saWN5LgotTk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0
IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2lu
IGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuCi1OT1RS
VU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9s
aWN5LgotTk9UUlVOIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdp
biIgcmVmZXJyZXIgcG9saWN5LgorRkFJTCBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRo
ICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
IiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNl
cy9keW5hbWljLWltcG9ydC1zYW1lLW9yaWdpbi1yZWZlcnJlci1jaGVja2VyLXdvcmtlci5qcyIK
K0ZBSUwgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBw
b2xpY3kuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBi
dXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9k
eW5hbWljLWltcG9ydC1zYW1lLW9yaWdpbi1yZWZlcnJlci1jaGVja2VyLXdvcmtlci5qcyIKK1BB
U1MgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVy
IHBvbGljeS4KK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVy
cmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKK0ZBSUwgQ3Jvc3Mtb3Jp
Z2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IFR5cGUgZXJyb3IiCitGQUlMIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1l
LW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGEyM2E1NTc1ZGI0Mjc0
MjdmODViZDZiNjM1NGRlODgzODMxZmUyYjQuLmRjY2VkY2NkMzY4ZTFmZjE3YjFkZDEzNmU0NTNm
ZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVk
LnR4dApAQCAtMSwxNCArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVu
dC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBp
bXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdF
OiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMg
ZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0g
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LgotCi1GQUlMIFN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
dG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZB
SUwgTmVzdGVkIHN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQg
Y2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGltcG9ydCBh
bmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBj
YWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9ydC4g
YXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9y
dDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tbG9hZC1z
Y3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIE5lc3RlZCBkeW5hbWljIGltcG9ydC4g
YXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9y
dDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tZHluYW1p
Yy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBEeW5hbWljIGltcG9y
dCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAi
RmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUg
bW9kdWxlICcuL2V4cG9ydC1vbi1zdGF0aWMtaW1wb3J0LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQg
YXJyYXkKLUZBSUwgZXZhbChpbXBvcnQoKSkuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlz
ICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRo
ZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQor
UEFTUyBTdGF0aWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3Rh
dGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQu
CitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRo
ZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRl
ZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dAppbmRleCBkYTBlNGViNjc1OGQxNGEz
N2EzOThkMGI2ZmM3MWFkMzg3NmJkMjZiLi4xZmMwYzY2ZmRmNzI0YzJhYTNiOTEwNjk4MGJmYmU3
ZTk4OGY5NzczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0
ZWQudHh0CkBAIC0yLDExICsyLDYgQEAKIFBBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdp
dGggdGhlIGRlZmF1bHQgd29ya2VyIHR5cGUuCiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlv
biB3aXRoIHRoZSAiY2xhc3NpYyIgd29ya2VyIHR5cGUuCiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0
cnVjdGlvbiB3aXRoIHRoZSAibW9kdWxlIiB3b3JrZXIgdHlwZS4KLUZBSUwgVGVzdCB3b3JrZXIg
Y29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgd29ya2VyIHR5cGUuIGFzc2VydF90aHJvd3NfanM6
IFdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiBlbXB0eSB0eXBlIHNob3VsZCB0aHJvdyBhbiBl
eGNlcHRpb24gZnVuY3Rpb24gIigpID0+IHsKLSAgICAgICAgbmV3IFdvcmtlcigncmVzb3VyY2Vz
L3Bvc3QtbWVzc2FnZS1vbi1sb2FkLXdvcmtlci5qcycsIHsgdHlwZTogJycgfSk7Ci0gICAgICB9
IiBkaWQgbm90IHRocm93Ci1GQUlMIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVu
a25vd24gd29ya2VyIHR5cGUuIGFzc2VydF90aHJvd3NfanM6IFdvcmtlciBjb25zdHJ1Y3Rpb24g
d2l0aCBhbiB1bmtub3duIHR5cGUgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiBmdW5jdGlvbiAi
KCkgPT4gewotICAgICAgICBuZXcgV29ya2VyKCdyZXNvdXJjZXMvcG9zdC1tZXNzYWdlLW9uLWxv
YWQtd29ya2VyLmpzJywKLSAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICd1bmtub3duJyB9KTsK
LSAgICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdp
dGggYW4gZW1wdHkgd29ya2VyIHR5cGUuCitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3
aXRoIGFuIHVua25vd24gd29ya2VyIHR5cGUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0CmluZGV4IGU4ZWI1NDBiZDMzOTI0
MDBhOGRiZmQ5Mzg2NDhhNjQ5MjM5YzBkOWUuLmQxYTUwZjdlYTNjZDZkYzI5OGVmNzU0MTQ3NzYy
YzY5YzU3ZDczYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3It
ZmFpbHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJv
ci1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDE0IEBACi1DT05TT0xFIE1FU1NBR0U6
IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBl
eGFjdGx5IG9uZSBhcmd1bWVudC4KK0NPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJzsnCitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHRva2VuICc7JwogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IEVycm9yOiBhc3Nl
cnRfaW1wbGVtZW50czogU3RhdGljIGltcG9ydCBtdXN0IGJlIHN1cHBvcnRlZCBvbiBtb2R1bGUg
ZGVkaWNhdGVkIHdvcmtlciB0byBydW4gdGhpcyB0ZXN0LiB1bmRlZmluZWQKLQotTk9UUlVOIE1v
ZHVsZSB3b3JrZXIgY29uc3RydWN0aW9uIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hv
dWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9yLgotTk9UUlVOIFN0YXRpYyBpbXBvcnQg
b24gbW9kdWxlIHdvcmtlciBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3VsZCBkaXNw
YXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4KK0ZBSUwgTW9kdWxlIHdvcmtlciBjb25zdHJ1Y3Rp
b24gZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlzcGF0Y2ggYW4gZXZlbnQg
bmFtZWQgZXJyb3IuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBF
dmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlv
biBFcnJvckV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCitGQUlMIFN0YXRpYyBpbXBv
cnQgb24gbW9kdWxlIHdvcmtlciBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3VsZCBk
aXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgZnVu
Y3Rpb24gImZ1bmN0aW9uIEV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3Qg
ZnVuY3Rpb24gImZ1bmN0aW9uIEVycm9yRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQu
dHh0CmluZGV4IDYzOTg0NzEyMTQ1OWE3YWIzN2I5ZjA5YTY4YmE2NGVhOGE5ZWQ1N2MuLmU5NDY5
NDdiMTRhZWYzZTUyOTlhMGFiYTNhZTRiMWNmOWZjZDk1NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw4IEBA
CiBDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1GQUlMIFRlc3QgdGhl
IG5hbWUgcHJvcGVydHkgb2Ygc2hhcmVkIGFuZCBkZWRpY2F0ZWQgd29ya2VycyB2aWEgdGhlIG5h
bWUgY29uc3RydWN0b3Igb3B0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgot
UEFTUyBEZWNsYXJpbmcgbmFtZSBhcyBhbiBhY2NpZGVudGFsIGdsb2JhbCBtdXN0IG5vdCBjYXVz
ZSBhIGhhcm5lc3MgZXJyb3IgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCitIYXJuZXNz
IEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCiBQQVNTIG5hbWUgcHJvcGVydHkgdmFsdWUgZm9yIERl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCiBQQVNTIG5hbWUgcHJvcGVydHkgaXMgcmVwbGFjZWFi
bGUgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCitQQVNTIERlY2xhcmluZyBuYW1lIGFz
IGFuIGFjY2lkZW50YWwgZ2xvYmFsIG11c3Qgbm90IGNhdXNlIGEgaGFybmVzcyBlcnJvciBmb3Ig
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNyZWRl
bnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5odHRwcy1l
eHBlY3RlZC50eHQKaW5kZXggZjA2OTFhYTA5Y2M0OWNkZjdmMmE5NDM3NGM2ZTYyMjIwZjkzYjhl
Mi4uYTU3MGQ4ZDI5MmZhODU2MjEyYjA1NDc4ODIwZjEzMGY4MWQ5YmJmNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRp
by13b3JrbGV0LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQt
Y3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiBDT05TT0xF
IE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5
IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIAotRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9y
aWdpbiBzY3JpcHQgd2l0aCB0aGUgZGVmYXVsdCBXb3JrbGV0T3B0aW9ucyBzaG91bGQgc2VuZCB0
aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFJl
c3BvbnNlIGlzIG5vdCAyeHgiCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3
aXRoIHRoZSBkZWZhdWx0IFdvcmtsZXRPcHRpb25zIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFs
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJB
Ym9ydEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNTIEltcG9y
dGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggdGhlIGRlZmF1bHQgV29ya2xldE9wdGlv
bnMgc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscwotRkFJTCBJbXBvcnRpbmcgYSBzYW1l
LW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1vbWl0IHNob3VsZCBub3Qgc2VuZCB0aGUg
Y3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFJlc3Bv
bnNlIGlzIG5vdCAyeHgiCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRo
IGNyZWRlbnRpYWxzPW9taXQgc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9y
OiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNTIEltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91bGQgbm90IHNlbmQg
dGhlIGNyZWRlbnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRo
IGNyZWRlbnRpYWxzPXNhbWUtb3JpZ2luIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVy
cm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90IDJ4eCIK
K0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9c2Ft
ZS1vcmlnaW4gc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEltcG9ydGluZyBh
IG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBz
Y3JpcHQgd2l0aCBjcmVkZW50aWFscz1zYW1lLW9yaWdpbiBzaG91bGQgbm90IHNlbmQgdGhlIGNy
ZWRlbnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRl
bnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxl
ZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBSZXNwb25zZSBpcyBub3QgMnh4IgotRkFJTCBJbXBv
cnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hv
dWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUs
IGVycm9yOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uIgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdp
biBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1pbmNsdWRlIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50
aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIElt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5jbHVkZSBz
aG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBs
b2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1j
c3AuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGJmMzM1Y2YzMDU1ZTA2NWIzODk4OWI0MWFhMWUy
MzZmZWI0YWMyOWQuLjI3NWIzNDM3ZmFkOTc1M2E2ZWNlMjQyMDBlYWJmMjU3ZmZkNjI3MmEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xl
dC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQwICsxLDUyIEBACitCbG9ja2VkIGFjY2Vz
cyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jl
c291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2Vk
IGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmts
ZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQz
L3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVy
LmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9z
dDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMt
aGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxv
Y2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRo
LWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93
d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlw
dC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250
ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05TT0xFIE1F
U1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dv
cmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cx
LmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13
aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50
LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05TT0xFIE1FU1NB
R0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtl
ci1zcmMnLgogCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5
LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9l
bXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6
IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jl
c291cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkg
aW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrbGV0cy9yZXNv
dXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KIAogQ09OU09M
RSBNRVNTQUdFOiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My93
b3JrbGV0cy9yZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxsb3dlZCB0
byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29y
a2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMu
CiAKK0NPTlNPTEUgTUVTU0FHRTogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2FkZG1vZHVsZS13aW5kb3cuaHRtbCB3YXMgbm90
IGFsbG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xvY2FsaG9z
dDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMt
aGVhZGVyLmpzLgorCitDT05TT0xFIE1FU1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRw
czovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0
bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6
Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQt
d2l0aC1jb3JzLWhlYWRlci5qcy4KKwogCiBGQUlMIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNo
b3VsZCBiZSBibG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCi1GQUlMIEEg
c2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91
bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBBIHNh
bWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxk
IGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4KIEZBSUwgQSBy
ZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hv
dWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKIEZBSUwgQSBy
ZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUg
c2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVK
RUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1w
b3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tl
ZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3JpZ2luIHdv
cmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQg
YmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLgogUEFTUyBBIHJl
bW90ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2Ny
aXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KLVBBU1Mg
QSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNo
b3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVj
aWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQg
aW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJl
Y2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxv
d3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNU
RUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmln
aW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRp
cmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgogUEFTUyBBIHJlbW90ZS1v
cmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRo
ZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0Lgot
UEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRp
cmVjdGVkIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNy
YyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1l
LW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3Jp
cHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZl
IHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3Jr
bGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0
aXZlIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3Jp
cHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0
IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBi
ZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUt
b3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5v
dCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0
LgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBub3QgYmUg
YmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KLVBB
U1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJl
Y3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMg
KiBkaXJlY3RpdmUgYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0
aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2Nr
ZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVt
b3RlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNy
YyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2
ZS4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4g
c2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUg
YmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KK0ZBSUwgQSBz
YW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3Vs
ZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3Jr
bGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUtb3JpZ2luIHdv
cmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9j
a2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhl
IHNjcmlwdC1zcmMgZGlyZWN0aXZlLgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3
b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUg
YmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KLVBBU1MgQSBz
YW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBz
Y3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBi
ZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgorRkFJTCBBIHNh
bWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNj
cmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJl
Y2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEFuIGluc2Vj
dXJlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29u
dGVudHMuCiBQQVNTIEFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHdvcmtsZXQgc2hvdWxk
IGJlIGJsb2NrZWQgYmVjYXVzZSBvZiBtaXhlZCBjb250ZW50cy4KLUZBSUwgQSBzYW1lLW9yaWdp
biB3b3JrbGV0IGltcG9ydGluZyBhbiBpbnNlY3VyZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBiZSBi
bG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCi1GQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xl
dCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBi
ZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCitQQVNTIEEgc2FtZS1vcmlnaW4gd29y
a2xldCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tl
ZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQg
aW1wb3J0aW5nIGFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUg
YmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmts
ZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhw
ZWN0ZWQudHh0CmluZGV4IGZlODk2NWFlZjZjYWRhMjIxOWVmOGUzMDg4OGJhOTFlMjQwMTdhYzAu
LjY3NjQ3ZDQ2ODdiOWQzY2ZjODZlMGIyYzhmNTY4ZTIwZjViZWMzOTQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8t
d29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQu
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xNiw3ICsxNiw3IEBAIFBBU1MgSW1wb3J0aW5nIGEgY3Jv
c3Mgb3JpZ2luIHJlc291cmNlIHdpdGggdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBo
ZWFkCiBQQVNTIEltcG9ydGluZyBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRob3V0IHRoZSBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZWplY3QgdGhlIGdpdmVu
IHByb21pc2UKIFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0ZWQgcmVzb3Vy
Y2Ugd2l0aCB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWRlciBzaG91bGQgcmVz
b2x2ZSB0aGUgZ2l2ZW4gcHJvbWlzZQogUEFTUyBJbXBvcnRpbmcgYSBjcm9zcy1vcmlnaW4tcmVk
aXJlY3RlZCByZXNvdXJjZSB3aXRob3V0IHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4g
aGVhZGVyIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UKLUZBSUwgSW1wb3J0aW5nIGEg
c2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHBy
b21pc2UuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQg
UmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIEltcG9ydGluZyBhIG5lc3RlZCBzY3JpcHQg
dGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4g
YXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1wb3J0cyBh
biBpbnZhbGlkIGlkZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4gYXNz
ZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK1BBU1MgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4
IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuCitQQVNTIEltcG9ydGluZyBh
IG5lc3RlZCBzY3JpcHQgdGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUg
Z2l2ZW4gcHJvbWlzZS4KK1BBU1MgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1wb3J0cyBhbiBp
bnZhbGlkIGlkZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
bGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xl
dC1yZWZlcnJlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjRkNDk5YzE0MWNlZTZkYzliMmVi
ZTI0YmZiNGZmNGMwM2EwYTk3My4uOWY2ZDExMzA1OWQ5ZmFkNTBjNjMwMDdiN2ZjZDJjYmQ2NzI3
NzY1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRz
L2F1ZGlvLXdvcmtsZXQtcmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsOCBA
QAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6
OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xp
Y3k9bm8tcmVmZXJyZXImZXhwZWN0ZWRfcmVmZXJyZXI9CitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9y
ZWZlcnJlci1jaGVja2VyLnB5P3JlZmVycmVyX3BvbGljeT1vcmlnaW4mZXhwZWN0ZWRfcmVmZXJy
ZXI9aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8KK0NPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ct
T3JpZ2luLgorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2Nh
bGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJl
cl9wb2xpY3k9c2FtZS1vcmlnaW4mZXhwZWN0ZWRfcmVmZXJyZXI9CitDT05TT0xFIE1FU1NBR0U6
IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbi4KIAogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3Jp
cHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hv
dWxkIG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNj
cmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBz
aG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCkBAIC02LDE1ICsxMSwxNSBAQCBQQVNTIEltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJvcmlnaW4iIHJl
ZmVycmVyIHBvbAogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBh
Z2UgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVm
ZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdl
IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCBy
ZWZlcnJlci4KIFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1l
LW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBv
bGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1v
cmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAi
bm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCitG
QUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3
b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91
bGQgbm90IHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIg
YnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4g
UmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBz
Y3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm5vLXJl
ZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJ
bXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3Jr
bGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQg
bm90IHNlbmQgcmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBm
cm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJy
ZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUt
b3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMg
Im9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBv
cnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBz
Y3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVy
cmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3Rl
LW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kg
c2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlw
dCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2lu
IiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBh
IHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0
aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVm
ZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3Rl
LW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBv
bGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1v
cmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFz
ICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgorRkFJ
TCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29y
a2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5k
IHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNy
b3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNo
YXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20g
YSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVy
IHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJF
U09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlM
IEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdv
cmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2Vu
ZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJD
cm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBT
aGFyaW5nIHBvbGljeS4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9t
IGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZl
cnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJSRVNPTFZFRCIgYnV0IGdvdCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIgor
RkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4g
d29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hv
dWxkIG5vdCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQi
IGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2lu
IFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4g
c2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1l
LW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUg
c2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZy
b20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQg
YnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwt
cmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2Vy
LW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggMWUyZDM5OTJmNmQ1ZGYzMjIwN2E2YjBmNjE5YTZk
NzExODEyNDAwZC4uN2E3YTkxN2VhYTk4ZTkyZWUwM2VjMjhhMTFlNzgwODRkMjM0Yjg4NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
b3Blbi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRp
cmVjdGVkLXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cyLmxvY2FsaG9zdDo4ODAwL3hoci9y
ZXNvdXJjZXMvaW5zcGVjdC1oZWFkZXJzLnB5P2ZpbHRlcl9uYW1lPW9yaWdpbiZjb3JzCiAKLUZB
SUwgUmVmZXJlciBoZWFkZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJlZmVyZXI6IGh0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL3dvcmtlcnhoci1vcmlnaW4tcmVmZXJyZXIu
anNcbiIgYnV0IGdvdCAiUmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3hoci9yZXNvdXJj
ZXMvcmVkaXJlY3QucHk/bG9jYXRpb249d29ya2VyeGhyLW9yaWdpbi1yZWZlcnJlci5qc1xuIgor
UEFTUyBSZWZlcmVyIGhlYWRlcgogRkFJTCBPcmlnaW4gaGVhZGVyIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJPcmlnaW46IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMFxuIiBidXQgZ290ICIiCiBQQVNT
IFJlcXVlc3QgVVJMIHRlc3QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVk
aW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmF1ZGlvL2F1ZGlvd29ya2xldC1hZGRNb2R1bGUtZmFpbHVyZS1leHBlY3RlZC50eHQKaW5kZXgg
MDhhZjExNDM2MDU1MWJmNWE4MDc5YWYwYTM4MTVjNGUwOGViZDE0My4uZGVmMzNhZDg2OTFiNjk0
MzZlMGUxODFjNWJkMDA0ODM1NDgzNTFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vYXVkaW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy93ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhwZWN0ZWQu
dHh0CkBAIC00LDcgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1MgY29u
dGV4dC5hdWRpb1dvcmtsZXQuYWRkTW9kdWxlKGludmFsaWRVUkwpOyByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFN5bnRheEVycm9yOiBNb2R1bGUgVVJMIGlzIGludmFsaWQuCi1QQVNTIGNvbnRleHQu
YXVkaW9Xb3JrbGV0LmFkZE1vZHVsZSgnZG9lc25vdEV4aXN0LmpzJyk7IHJlamVjdGVkIHByb21p
c2UgIHdpdGggQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFRoZSBy
ZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuLgorUEFTUyBjb250ZXh0
LmF1ZGlvV29ya2xldC5hZGRNb2R1bGUoJ2RvZXNub3RFeGlzdC5qcycpOyByZWplY3RlZCBwcm9t
aXNlICB3aXRoIEFib3J0RXJyb3I6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLi4K
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd29ya2xldC1jcmFzaC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA2NTRk
ZGY3ZjE3ZWZhYjU4ZTQyZmFiZTM4NTI1Nzk2NGFlMmM1ZDQxLi4xYTQzZTNmOTdjYjJmMDZiOWY3
Y2Q1ZjJiMTgyMzM4MTA1MTNlZWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby93
b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby93b3Jr
bGV0LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMSArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IFR5
cGVFcnJvcjogJ3RleHQvaHRtbCcgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUu
CiBUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420214</attachid>
            <date>2021-02-12 22:57:40 -0800</date>
            <delta_ts>2021-02-17 01:58:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210212225739.patch</filename>
            <type>text/plain</type>
            <size>238577</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
OGI3MmNmN2RkYzEyNWMyNzg2NmU1MDkzOGFmNDcyM2YzYjZjODdlLi45N2ZmNjdiNGVkYzg1NjY4
Zjg3M2M0YmVmMmEwOTQ2OTIzM2JjMjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAyMS0wMi0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcDoK
KyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9yKToKKyAgICAgICAg
KiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRlRXJyb3IpOgorICAgICAg
ICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVSYW5nZUVycm9y
KToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3IpOgorICAgICAgICAoSlNDOjpj
cmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVR5cGVFcnJvcik6CisgICAg
ICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlR2V0dGVyVHlw
ZUVycm9yKToKKyAgICAgICAgKEpTQzo6dGhyb3dTeW50YXhFcnJvcik6CisgICAgICAgICogcnVu
dGltZS9FcnJvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogcnVudGlt
ZS9FcnJvckluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6RXJyb3JJ
bnN0YW5jZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OmNyZWF0ZSk6CisgICAgICAg
IChKU0M6OkVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmcpOgorICAgICAgICAo
SlNDOjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5nKToKKyAgICAgICAgKEpTQzo6
RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvRXJy
b3JJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGUpOgorICAg
ICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjplcnJvclR5cGUgY29uc3QpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBl
Pjo6Y29uc3RydWN0SW1wbCk6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8
ZXJyb3JUeXBlPjo6Y2FsbEltcGwpOgorICAgICAgICAqIHJ1bnRpbWUvTnVsbFNldHRlckZ1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TnVsbFNldHRlckZ1bmN0aW9uSW50ZXJuYWw6OkpTQ19E
RUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29t
cGlsZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6
SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TGlua0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6
SlNXZWJBc3NlbWJseUxpbmtFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
cjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3Nl
bWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04p
OgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisKIDIwMjEtMDIt
MTIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBgc2xv
dFZpc2l0b3JgIHZhcmlhYmxlcyB0byBgdmlzaXRvcmAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRmZDJjZjM3
ZjgzZDU5ZjYyNzk4MzVhYjBkMmYyZWZjMWYxMDQ3NS4uZTY3ZmE2NGQzYTk4ZWRkNzYwZWZlNTBi
YmFiMzM4ZmI5MzI4MTU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMiBAQAorMjAyMS0wMi0x
MiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVs
ZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2Ny
aXB0RmV0Y2hlcjo6cmVxdWVzdFNjcmlwdFdpdGhDYWNoZSBjb25zdCk6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpy
ZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0
ZURPTUV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5k
bGluZy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnNjcmlwdE1vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpK
U0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2ViQ29y
ZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckV2YWx1YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9y
dE1ldGFQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJlc29sdmUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRjaCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRl
ckV2YWx1YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6
bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpT
RE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOiBE
ZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclR5cGUuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRl
cjo6Y2xlYXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpz
Y3JpcHRGZXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6cGFy
YW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpNb2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNj
cmlwdExvYWRlcik6CisgICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXJDbGllbnQuaC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1
bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3Jp
cHRNb2R1bGVMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmll
cik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAg
ICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVsZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwpOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9TY3JpcHRNb2R1bGVMb2FkZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTb3Vy
Y2VDb2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlOjpTY3JpcHRTb3Vy
Y2VDb2RlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6V29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNj
cmlwdExvYWRlcjo6fldvcmtlck1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogYmluZGlu
Z3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oLgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlclNj
cmlwdEZldGNoZXIuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAg
ICAgKiBkb20vRXhjZXB0aW9uQ29kZS5oOgorICAgICAgICAqIGRvbS9Mb2FkYWJsZU1vZHVsZVNj
cmlwdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZCk6
IERlbGV0ZWQuCisgICAgICAgICogZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0Lmg6CisgICAgICAg
ICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVu
dDo6cmVxdWVzdE1vZHVsZVNjcmlwdCk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAg
ICAgICAgKiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Oldvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmlk
bDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0cyk6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFs
U2NvcGU6OmNyZWRlbnRpYWxzIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckds
b2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVM
b2FkZXIpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUp
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9h
ZE1vZHVsZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVs
ZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmg6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkpOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJTY3JpcHRMb2FkZXI6OnJlc3BvbnNlU291cmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OldvcmtlclNjcmlwdExvYWRlcjo6aXNSZWRpcmVjdGVkIGNvbnN0KToKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJz
Ojppc29sYXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpl
dmFsdWF0ZVNjcmlwdElmTmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVh
ZC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVHlwZS5oOgorICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
ckpvYjo6ZmV0Y2hTY3JpcHRXaXRoQ29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmg6CisgICAgICAgICogd29ya2Vycy9z
ZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmg6CisgICAgICAgICogd29ya2xl
dHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9i
YWxTY29wZTo6ZmV0Y2hBbmRJbnZva2VTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2xl
dEdsb2JhbFNjb3BlOjpwcm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpkaWRSZWNlaXZlUmVzcG9u
c2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpub3Rp
ZnlGaW5pc2hlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2Nv
cGU6OmRpZENvbXBsZXRlU2NyaXB0RmV0Y2hKb2IpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmts
ZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oOgorCiAyMDIxLTAyLTEyICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIFNvdW5kIGRvZXMgbm90IHBsYXkgb24g
WW91VHViZSBhZnRlciBzd2l0Y2hpbmcgYmFjayB0byBmb3JlZ3JvdW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5jcHAKaW5kZXggNzU5YTViMjRh
MGVkMDg2ODBjY2FhNjM0MGQyZTk1ZDQ1MGI4MGZkNi4uMjk2Yzg1Y2M5MGUwNWI1NDU0N2Y2NjJh
N2UyZjhhMWUxMzBhNDZkYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQWdncmVnYXRlRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FnZ3JlZ2F0ZUVycm9yLmNwcApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIGNv
bnN0IENsYXNzSW5mbyBBZ2dyZWdhdGVFcnJvcjo6c19pbmZvID0geyAiQWdncmVnYXRlRXJyb3Ii
LCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEFn
Z3JlZ2F0ZUVycm9yKSB9OwogCiBBZ2dyZWdhdGVFcnJvcjo6QWdncmVnYXRlRXJyb3IoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKKyAgICA6
IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpBZ2dyZWdhdGVFcnJvcikKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwCmluZGV4IGY0NzNiODE4MWVjMmYw
MmEwY2M3OGEyNmMwYzIwZGM5NjMxZmRjNzQuLmZjYWNmMWUzMjJlYjI3Mjc4NzRmZjI1MjYyNDFl
ZDdiZTk4Y2U1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKQEAg
LTM1LDM3ICszNSwzNyBAQCBuYW1lc3BhY2UgSlNDIHsKIEpTT2JqZWN0KiBjcmVhdGVFcnJvcihK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9y
SW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2Fn
ZS5pc0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKSwg
bWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsKKyAgICByZXR1cm4gRXJyb3JJ
bnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxP
YmplY3QtPmVycm9yU3RydWN0dXJlKCksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywg
RXJyb3JUeXBlOjpFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVFdmFsRXJyb3Io
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJv
ckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3Nh
Z2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVy
cm9yVHlwZTo6RXZhbEVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVl
KTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFs
T2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6RXZh
bEVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkV2YWxF
cnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVSYW5nZUVycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6
U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHko
KSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2Jh
bE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJh
bmdlRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJl
dHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZt
KCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpSYW5nZUVycm9yKSwg
bWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlJhbmdlRXJyb3IsIHRy
dWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlUmVmZXJlbmNlRXJyb3IoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpTb3Vy
Y2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsK
LSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmVmZXJl
bmNlRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJl
dHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZt
KCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpSZWZlcmVuY2VFcnJv
ciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpSZWZlcmVuY2VF
cnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6
OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5
KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpT
eW50YXhFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAg
cmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+
dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlN5bnRheEVycm9y
KSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlN5bnRheEVycm9y
LCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVR5cGVFcnJvcihKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6OlNvdXJj
ZUFwcGVuZGVyIGFwcGVuZGVyLCBSdW50aW1lVHlwZSB0eXBlKQogewogICAgIEFTU0VSVCghbWVz
c2FnZS5pc0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFs
T2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUo
RXJyb3JUeXBlOjpUeXBlRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgdHlwZSwgdHJ1ZSk7Cisg
ICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlR5cGVFcnJv
ciksIG1lc3NhZ2UsIGFwcGVuZGVyLCB0eXBlLCBFcnJvclR5cGU6OlR5cGVFcnJvciwgdHJ1ZSk7
CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRl
cikKQEAgLTc2LDcgKzc2LDcgQEAgSlNPYmplY3QqIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vy
cm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVycm9ySW5zdGEKIEpTT2JqZWN0KiBj
cmVhdGVVUklFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAg
IEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJy
b3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpVUklFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBl
Tm90aGluZywgdHJ1ZSk7CisgICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShF
cnJvclR5cGU6OlVSSUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJv
clR5cGU6OlVSSUVycm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZUVycm9yKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVycm9yVHlwZSBlcnJvclR5cGUsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSkKQEAgLTExMyw3ICsxMTMsNyBAQCBKU09iamVjdCogY3JlYXRlRXJyb3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JUeXBlV2l0aEV4dGVuc2lvbiBlcnJvcgog
SlNPYmplY3QqIGNyZWF0ZUdldHRlclR5cGVFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1w
dHkoKSk7Ci0gICAgYXV0byogZXJyb3IgPSBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJy
b3JUeXBlOjpUeXBlRXJyb3IpLCBtZXNzYWdlKTsKKyAgICBhdXRvKiBlcnJvciA9IEVycm9ySW5z
dGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2Jq
ZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UsIG51bGxw
dHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlR5cGVFcnJvcik7CiAgICAgZXJyb3ItPnNldE5h
dGl2ZUdldHRlclR5cGVFcnJvcigpOwogICAgIHJldHVybiBlcnJvcjsKIH0KQEAgLTI3NCw3ICsy
NzQsNyBAQCBFeGNlcHRpb24qIHRocm93VHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFRocm93U2NvcGUmIHNjb3BlLCBjb25zdAogCiBFeGNlcHRpb24qIHRocm93U3ludGF4
RXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGhyb3dTY29wZSYgc2NvcGUpCiB7
Ci0gICAgcmV0dXJuIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUsIGNyZWF0ZVN5
bnRheEVycm9yKGdsb2JhbE9iamVjdCwgIlN5bnRheCBlcnJvciJfcykpOworICAgIHJldHVybiB0
aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlLCBjcmVhdGVTeW50YXhFcnJvcihnbG9i
YWxPYmplY3QpKTsKIH0KIAogRXhjZXB0aW9uKiB0aHJvd1N5bnRheEVycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFRocm93U2NvcGUmIHNjb3BlLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCkBAIC0zMTcsNiArMzE3LDExIEBAIEpTT2JqZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgcmV0
dXJuIGNyZWF0ZVN5bnRheEVycm9yKGdsb2JhbE9iamVjdCwgbWVzc2FnZSwgbnVsbHB0cik7CiB9
CiAKK0pTT2JqZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQoreworICAgIHJldHVybiBjcmVhdGVTeW50YXhFcnJvcihnbG9iYWxPYmplY3QsICJTeW50
YXggZXJyb3IiX3MsIG51bGxwdHIpOworfQorCiBKU09iamVjdCogY3JlYXRlVHlwZUVycm9yKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcmV0dXJuIGNyZWF0ZVR5cGVFcnJv
cihnbG9iYWxPYmplY3QsICJUeXBlIGVycm9yIl9zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvci5oCmluZGV4IDZkYWExNTQyMTU2NjYxMGU0YWNlNmRlMzM1ZjM0ZDNiZjdjNzQ0NGQu
LmRjODI1MjgyYzM1NjQ4NzEzMjU0NTQ0YmM4ZDgxODg4NDAwZTQzOGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXJyb3IuaApAQCAtNTUsNiArNTUsNyBAQCBKU19FWFBPUlRfUFJJVkFU
RSBKU09iamVjdCogY3JlYXRlRXZhbEVycm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5n
Jik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3JlYXRlUmFuZ2VFcnJvcihKU0dsb2Jh
bE9iamVjdCosIGNvbnN0IFN0cmluZyYpOwogSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNy
ZWF0ZVJlZmVyZW5jZUVycm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19F
WFBPUlRfUFJJVkFURSBKU09iamVjdCogY3JlYXRlU3ludGF4RXJyb3IoSlNHbG9iYWxPYmplY3Qq
LCBjb25zdCBTdHJpbmcmKTsKK0pTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVTeW50
YXhFcnJvcihKU0dsb2JhbE9iamVjdCopOwogSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNy
ZWF0ZVR5cGVFcnJvcihKU0dsb2JhbE9iamVjdCopOwogSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmpl
Y3QqIGNyZWF0ZVR5cGVFcnJvcihKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYpOwogSlNf
RVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKEpT
R2xvYmFsT2JqZWN0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDBmMmY1YTMxODQwMmZiYjdjN2Q4ODAyYjZkNzg0MmVm
ZTQwNmM4NDYuLjliZTkzMGNmMWMzYzlhNDBlNjA4NTk4MzU1OGExYTU5YmM3OGI2MmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3Bw
CkBAIC02MCwxNCArNjAsMTQgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdEVy
cm9yQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWMKICAgICAgICAgOiBJ
bnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZShnbG9iYWxPYmplY3QsIG5l
d1RhcmdldCwgZ2V0RnVuY3Rpb25SZWFsbSh2bSwgbmV3VGFyZ2V0KS0+ZXJyb3JTdHJ1Y3R1cmUo
KSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAotICAgIFJFTEVBU0Vf
QU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShn
bG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGlu
ZywgZmFsc2UpKSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNv
ZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1l
c3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpKTsK
IH0KIAogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxFcnJvckNvbnN0cnVjdG9yLCAoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewogICAg
IEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJl
KiBlcnJvclN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKTsKLSAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3Qs
IGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsK
KyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJy
b3JUeXBlOjpFcnJvciwgZmFsc2UpKTsKIH0KIAogYm9vbCBFcnJvckNvbnN0cnVjdG9yOjpwdXQo
SlNDZWxsKiBjZWxsLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUg
cHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwCmluZGV4IDJl
NGVjMzlmMTIwNThiMjUwODcyMmUwYjgyNTIyNDdiZWIwMzE5ZTYuLjBmODZlMjJiOTJkZGQ2ZDEz
OTg1OGI4NmU1NmNlYWRjYWVjZTBkNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwCkBAIC0zNCwxOCArMzQsMjMgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKIGNvbnN0IENsYXNzSW5mbyBFcnJvckluc3RhbmNlOjpzX2luZm8gPSB7ICJFcnJvciIs
ICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRI
T0RfVEFCTEUoRXJyb3JJbnN0YW5jZSkgfTsKIAotRXJyb3JJbnN0YW5jZTo6RXJyb3JJbnN0YW5j
ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQorRXJyb3JJbnN0YW5jZTo6RXJyb3JJbnN0
YW5jZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFcnJvclR5cGUgZXJyb3JUeXBlKQog
ICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgICwgbV9lcnJvclR5cGUoZXJyb3JUeXBlKQor
ICAgICwgbV9zdGFja092ZXJmbG93RXJyb3IoZmFsc2UpCisgICAgLCBtX291dE9mTWVtb3J5RXJy
b3IoZmFsc2UpCisgICAgLCBtX2Vycm9ySW5mb01hdGVyaWFsaXplZChmYWxzZSkKKyAgICAsIG1f
bmF0aXZlR2V0dGVyVHlwZUVycm9yKGZhbHNlKQogewogfQogCi1FcnJvckluc3RhbmNlKiBFcnJv
ckluc3RhbmNlOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTVmFsdWUgbWVzc2FnZSwgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1
bnRpbWVUeXBlIHR5cGUsIGJvb2wgdXNlQ3VycmVudEZyYW1lKQorRXJyb3JJbnN0YW5jZSogRXJy
b3JJbnN0YW5jZTo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBKU1ZhbHVlIG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyLCBS
dW50aW1lVHlwZSB0eXBlLCBFcnJvclR5cGUgZXJyb3JUeXBlLCBib29sIHVzZUN1cnJlbnRGcmFt
ZSkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nID0gbWVz
c2FnZS5pc1VuZGVmaW5lZCgpID8gU3RyaW5nKCkgOiBtZXNzYWdlLnRvV1RGU3RyaW5nKGdsb2Jh
bE9iamVjdCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAg
cmV0dXJuIGNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcs
IGFwcGVuZGVyLCB0eXBlLCB1c2VDdXJyZW50RnJhbWUpOworICAgIHJldHVybiBjcmVhdGUoZ2xv
YmFsT2JqZWN0LCB2bSwgc3RydWN0dXJlLCBtZXNzYWdlU3RyaW5nLCBhcHBlbmRlciwgdHlwZSwg
ZXJyb3JUeXBlLCB1c2VDdXJyZW50RnJhbWUpOwogfQogCiBzdGF0aWMgU3RyaW5nIGFwcGVuZFNv
dXJjZVRvRXJyb3JNZXNzYWdlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBFcnJvckluc3RhbmNlKiBl
eGNlcHRpb24sIEJ5dGVjb2RlSW5kZXggYnl0ZWNvZGVJbmRleCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlKQpAQCAtMTMxLDcgKzEzNiwyNSBAQCB2b2lkIEVycm9ySW5zdGFuY2U6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUwogLy8gQmFz
ZWQgb24gRXJyb3JQcm90b3R5cGUncyBlcnJvclByb3RvRnVuY1RvU3RyaW5nKCksIGJ1dCBpcyBt
b2RpZmllZCB0bwogLy8gaGF2ZSBubyBvYnNlcnZhYmxlIHNpZGUgZWZmZWN0cyB0byB0aGUgdXNl
ciAoaS5lLiBkb2VzIG5vdCBjYWxsIHByb3hpZXMsCiAvLyBhbmQgZ2V0dGVycykuCi1TdHJpbmcg
RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKK1N0cmluZyBFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBJbnRl
Z3JpdHk6OmF1ZGl0U3RydWN0dXJlSUQodm0sIHN0cnVjdHVyZUlEKCkpOworCisgICAgSlNWYWx1
ZSBtZXNzYWdlVmFsdWU7CisgICAgYXV0byBtZXNzYWdlUHJvcGVydE5hbWUgPSB2bS5wcm9wZXJ0
eU5hbWVzLT5tZXNzYWdlOworICAgIFByb3BlcnR5U2xvdCBtZXNzYWdlU2xvdCh0aGlzLCBQcm9w
ZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5LCAmdm0pOworICAgIGlmIChK
U09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGdsb2JhbE9iamVjdCwgbWVzc2FnZVBy
b3BlcnROYW1lLCBtZXNzYWdlU2xvdCkgJiYgbWVzc2FnZVNsb3QuaXNWYWx1ZSgpKQorICAgICAg
ICBtZXNzYWdlVmFsdWUgPSBtZXNzYWdlU2xvdC5nZXRWYWx1ZShnbG9iYWxPYmplY3QsIG1lc3Nh
Z2VQcm9wZXJ0TmFtZSk7CisgICAgc2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKKworICAgIGlm
ICghbWVzc2FnZVZhbHVlKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgUkVMRUFTRV9B
TkRfUkVUVVJOKHNjb3BlLCBtZXNzYWdlVmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KSk7
Cit9CisKK1N0cmluZyBFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5nKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgp
OwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTE1NywyOCAr
MTgwLDIyIEBAIFN0cmluZyBFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIH0KICAgICBzY29wZS5hc3NlcnROb0V4Y2VwdGlv
bigpOwogCi0gICAgU3RyaW5nIG5hbWVTdHJpbmc7CiAgICAgaWYgKCFuYW1lVmFsdWUpCi0gICAg
ICAgIG5hbWVTdHJpbmcgPSAiRXJyb3IiX3M7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG5hbWVTdHJp
bmcgPSBuYW1lVmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOwotICAgIH0KKyAgICAgICAgcmV0dXJuICJF
cnJvciJfczsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIG5hbWVWYWx1ZS50b1dURlN0
cmluZyhnbG9iYWxPYmplY3QpKTsKK30KIAotICAgIEpTVmFsdWUgbWVzc2FnZVZhbHVlOwotICAg
IGF1dG8gbWVzc2FnZVByb3BlcnROYW1lID0gdm0ucHJvcGVydHlOYW1lcy0+bWVzc2FnZTsKLSAg
ICBQcm9wZXJ0eVNsb3QgbWVzc2FnZVNsb3QodGhpcywgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1l
dGhvZFR5cGU6OlZNSW5xdWlyeSwgJnZtKTsKLSAgICBpZiAoSlNPYmplY3Q6OmdldE93blByb3Bl
cnR5U2xvdCh0aGlzLCBnbG9iYWxPYmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSwgbWVzc2FnZVNs
b3QpICYmIG1lc3NhZ2VTbG90LmlzVmFsdWUoKSkKLSAgICAgICAgbWVzc2FnZVZhbHVlID0gbWVz
c2FnZVNsb3QuZ2V0VmFsdWUoZ2xvYmFsT2JqZWN0LCBtZXNzYWdlUHJvcGVydE5hbWUpOwotICAg
IHNjb3BlLmFzc2VydE5vRXhjZXB0aW9uKCk7CitTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRp
emVkVG9TdHJpbmcoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOworICAgIEludGVncml0eTo6YXVkaXRTdHJ1Y3R1cmVJRCh2bSwgc3RydWN0dXJlSUQo
KSk7CiAKLSAgICBTdHJpbmcgbWVzc2FnZVN0cmluZzsKLSAgICBpZiAoIW1lc3NhZ2VWYWx1ZSkK
LSAgICAgICAgbWVzc2FnZVN0cmluZyA9IFN0cmluZygpOwotICAgIGVsc2UgewotICAgICAgICBt
ZXNzYWdlU3RyaW5nID0gbWVzc2FnZVZhbHVlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7Ci0g
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFN0cmluZygpKTsKLSAgICB9CisgICAg
U3RyaW5nIG5hbWVTdHJpbmcgPSBzYW5pdGl6ZWROYW1lU3RyaW5nKGdsb2JhbE9iamVjdCk7Cisg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOworCisgICAgU3RyaW5nIG1l
c3NhZ2VTdHJpbmcgPSBzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKGdsb2JhbE9iamVjdCk7CisgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOwogCiAgICAgaWYgKCFuYW1lU3Ry
aW5nLmxlbmd0aCgpKQogICAgICAgICByZXR1cm4gbWVzc2FnZVN0cmluZzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuaAppbmRleCBkYTY2ZWI3NmU3YWRl
OTBmZDQxYmIxNjI3MDcyNWE3ZDE0NzBhZDM4Li45ODcxMzU3MjFiMzA1NjYyMzBkMjYxYzgzM2Fk
OGRlY2E1NDYxNDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvckluc3RhbmNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJ
bnN0YW5jZS5oCkBAIC0yMCw2ICsyMCw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAi
RXJyb3JUeXBlLmgiCiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKICNpbmNsdWRlICJSdW50aW1lVHlw
ZS5oIgogI2luY2x1ZGUgIlN0YWNrRnJhbWUuaCIKQEAgLTUzLDE0ICs1NCwxNCBAQCBjbGFzcyBF
cnJvckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgICAgICByZXR1cm4g
U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhF
cnJvckluc3RhbmNlVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotICAg
IHN0YXRpYyBFcnJvckluc3RhbmNlKiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBT
b3VyY2VBcHBlbmRlciBhcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlIHR5cGUgPSBUeXBl
Tm90aGluZywgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKQorICAgIHN0YXRpYyBFcnJvcklu
c3RhbmNlKiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBh
cHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlIHR5cGUgPSBUeXBlTm90aGluZywgRXJyb3JU
eXBlIGVycm9yVHlwZSA9IEVycm9yVHlwZTo6RXJyb3IsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0g
dHJ1ZSkKICAgICB7Ci0gICAgICAgIEVycm9ySW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8RXJyb3JJbnN0YW5jZT4odm0uaGVhcCkpIEVycm9ySW5zdGFuY2Uo
dm0sIHN0cnVjdHVyZSk7CisgICAgICAgIEVycm9ySW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChO
b3ROdWxsLCBhbGxvY2F0ZUNlbGw8RXJyb3JJbnN0YW5jZT4odm0uaGVhcCkpIEVycm9ySW5zdGFu
Y2Uodm0sIHN0cnVjdHVyZSwgZXJyb3JUeXBlKTsKICAgICAgICAgaW5zdGFuY2UtPmZpbmlzaENy
ZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIG1lc3NhZ2UsIGFwcGVuZGVyLCB0eXBlLCB1c2VDdXJy
ZW50RnJhbWUpOwogICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICAgfQogCi0gICAgc3RhdGlj
IEVycm9ySW5zdGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTVmFs
dWUgbWVzc2FnZSwgU291cmNlQXBwZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVO
b3RoaW5nLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUpOworICAgIHN0YXRpYyBFcnJvcklu
c3RhbmNlKiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIG1lc3Nh
Z2UsIFNvdXJjZUFwcGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgPSBUeXBlTm90aGluZywg
RXJyb3JUeXBlID0gRXJyb3JUeXBlOjpFcnJvciwgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVl
KTsKIAogICAgIGJvb2wgaGFzU291cmNlQXBwZW5kZXIoKSBjb25zdCB7IHJldHVybiAhIW1fc291
cmNlQXBwZW5kZXI7IH0KICAgICBTb3VyY2VBcHBlbmRlciBzb3VyY2VBcHBlbmRlcigpIGNvbnN0
IHsgcmV0dXJuIG1fc291cmNlQXBwZW5kZXI7IH0KQEAgLTcwLDYgKzcxLDcgQEAgY2xhc3MgRXJy
b3JJbnN0YW5jZSA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICBSdW50aW1lVHlwZSBy
dW50aW1lVHlwZUZvckNhdXNlKCkgY29uc3QgeyByZXR1cm4gbV9ydW50aW1lVHlwZUZvckNhdXNl
OyB9CiAgICAgdm9pZCBjbGVhclJ1bnRpbWVUeXBlRm9yQ2F1c2UoKSB7IG1fcnVudGltZVR5cGVG
b3JDYXVzZSA9IFR5cGVOb3RoaW5nOyB9CiAKKyAgICBFcnJvclR5cGUgZXJyb3JUeXBlKCkgY29u
c3QgeyByZXR1cm4gbV9lcnJvclR5cGU7IH0KICAgICB2b2lkIHNldFN0YWNrT3ZlcmZsb3dFcnJv
cigpIHsgbV9zdGFja092ZXJmbG93RXJyb3IgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1N0YWNrT3Zl
cmZsb3dFcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fc3RhY2tPdmVyZmxvd0Vycm9yOyB9CiAgICAg
dm9pZCBzZXRPdXRPZk1lbW9yeUVycm9yKCkgeyBtX291dE9mTWVtb3J5RXJyb3IgPSB0cnVlOyB9
CkBAIC03OSw2ICs4MSw4IEBAIGNsYXNzIEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5h
bE9iamVjdCB7CiAgICAgYm9vbCBpc05hdGl2ZUdldHRlclR5cGVFcnJvcigpIGNvbnN0IHsgcmV0
dXJuIG1fbmF0aXZlR2V0dGVyVHlwZUVycm9yOyB9CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBT
dHJpbmcgc2FuaXRpemVkVG9TdHJpbmcoSlNHbG9iYWxPYmplY3QqKTsKKyAgICBKU19FWFBPUlRf
UFJJVkFURSBTdHJpbmcgc2FuaXRpemVkTWVzc2FnZVN0cmluZyhKU0dsb2JhbE9iamVjdCopOwor
ICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cmluZyBzYW5pdGl6ZWROYW1lU3RyaW5nKEpTR2xvYmFs
T2JqZWN0Kik7CiAgICAgCiAgICAgVmVjdG9yPFN0YWNrRnJhbWU+KiBzdGFja1RyYWNlKCkgeyBy
ZXR1cm4gbV9zdGFja1RyYWNlLmdldCgpOyB9CiAKQEAgLTg4LDcgKzkyLDcgQEAgY2xhc3MgRXJy
b3JJbnN0YW5jZSA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICB2b2lkIGZpbmFsaXpl
VW5jb25kaXRpb25hbGx5KFZNJik7CiAKIHByb3RlY3RlZDoKLSAgICBleHBsaWNpdCBFcnJvcklu
c3RhbmNlKFZNJiwgU3RydWN0dXJlKik7CisgICAgZXhwbGljaXQgRXJyb3JJbnN0YW5jZShWTSYs
IFN0cnVjdHVyZSosIEVycm9yVHlwZSk7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
SlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmLCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIs
IFJ1bnRpbWVUeXBlID0gVHlwZU5vdGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSk7
CiAKQEAgLTEwOCwxMCArMTEyLDExIEBAIGNsYXNzIEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNO
b25GaW5hbE9iamVjdCB7CiAgICAgU3RyaW5nIG1fc291cmNlVVJMOwogICAgIFN0cmluZyBtX3N0
YWNrU3RyaW5nOwogICAgIFJ1bnRpbWVUeXBlIG1fcnVudGltZVR5cGVGb3JDYXVzZSB7IFR5cGVO
b3RoaW5nIH07Ci0gICAgYm9vbCBtX3N0YWNrT3ZlcmZsb3dFcnJvciB7IGZhbHNlIH07Ci0gICAg
Ym9vbCBtX291dE9mTWVtb3J5RXJyb3IgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9lcnJvckluZm9N
YXRlcmlhbGl6ZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3Ig
eyBmYWxzZSB9OworICAgIEVycm9yVHlwZSBtX2Vycm9yVHlwZSB7IEVycm9yVHlwZTo6RXJyb3Ig
fTsKKyAgICBib29sIG1fc3RhY2tPdmVyZmxvd0Vycm9yIDogMTsKKyAgICBib29sIG1fb3V0T2ZN
ZW1vcnlFcnJvciA6IDE7CisgICAgYm9vbCBtX2Vycm9ySW5mb01hdGVyaWFsaXplZCA6IDE7Cisg
ICAgYm9vbCBtX25hdGl2ZUdldHRlclR5cGVFcnJvciA6IDE7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0RnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0RnVuY3Rpb25zLmNwcAppbmRleCA0MDIxZmM3ZTBhZGFmN2EwYTllMGVmNmNmZDIy
NTgzOGI1YmY4NzgzLi5hZjcyNjI4MzFjYTFiYjc1YzZhZTU1NDExZGU0Y2Q4NWE4MTM3ZGE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1
bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3RGdW5jdGlvbnMuY3BwCkBAIC02OTQsNyArNjk0LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZV
TkNUSU9OKGdsb2JhbEZ1bmNUaHJvd1R5cGVFcnJvckFyZ3VtZW50c0NhbGxlZUFuZENhbGxlciwg
KEpTR2wKIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jTWFrZVR5cGVFcnJvciwg
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsK
ICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVj
dHVyZShFcnJvclR5cGU6OlR5cGVFcnJvcik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShF
cnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgY2FsbEZy
YW1lLT5hcmd1bWVudCgwKSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBl
cnJvclN0cnVjdHVyZSwgY2FsbEZyYW1lLT5hcmd1bWVudCgwKSwgbnVsbHB0ciwgVHlwZU5vdGhp
bmcsIEVycm9yVHlwZTo6VHlwZUVycm9yLCBmYWxzZSkpOwogfQogCiBKU0NfREVGSU5FX0hPU1Rf
RlVOQ1RJT04oZ2xvYmFsRnVuY1Byb3RvR2V0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA3Y2MxMWI1
ZjVlMTI5NzIyMDE2Yjg2NzFmMTM3YzZiYjE3MjEzODQwLi5iNmU3ZWRlZmQ0MmVkYzYzNWQ5MGI3
ZTBlOGM3YjRmYzBjMjQzZDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtNTgsNyArNTgsNyBAQCBp
bmxpbmUgRW5jb2RlZEpTVmFsdWUgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvcjxlcnJvclR5cGU+Ojpj
b25zdHJ1Y3RJbXBsKEpTR2xvYmFsTwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsg
fSk7CiAgICAgQVNTRVJUKGVycm9yU3RydWN0dXJlKTsKIAotICAgIFJFTEVBU0VfQU5EX1JFVFVS
TihzY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2Up
KSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJ
bnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51
bGxwdHIsIFR5cGVOb3RoaW5nLCBlcnJvclR5cGUsIGZhbHNlKSkpOwogfQogCiB0ZW1wbGF0ZTxF
cnJvclR5cGUgZXJyb3JUeXBlPgpAQCAtNjYsNyArNjYsNyBAQCBpbmxpbmUgRW5jb2RlZEpTVmFs
dWUgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvcjxlcnJvclR5cGU+OjpjYWxsSW1wbChKU0dsb2JhbE9i
amVjdAogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CiAg
ICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1
cmUoZXJyb3JUeXBlKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6
OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBU
eXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5z
dGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxs
cHRyLCBUeXBlTm90aGluZywgZXJyb3JUeXBlLCBmYWxzZSkpOwogfQogCiBKU0NfREVGSU5FX0hP
U1RfRlVOQ1RJT04oY2FsbEV2YWxFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OdWxsU2V0dGVyRnVuY3Rpb24uY3BwCmluZGV4IDI2ZjNiNmE4ZjlkYjY3OGNkOTRk
MDVhZTg4YjExYjg5ZTYxYzBlYmMuLjBkZGIyYzZhNTBmNDZiYzYzNjk5NWNhNDZkN2YxOGU1YjI2
ODYzZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxTZXR0
ZXJGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNl
dHRlckZ1bmN0aW9uLmNwcApAQCAtOTQsNyArOTQsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJ
T04oY2FsbFRocm93RXJyb3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJh
bQogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICAvLyBUaGlz
IGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGZyb20gSUMuIEFuZCB3ZSBkbyBub3Qgd2FudCB0byBp
bmNsdWRlIHRoaXMgZnJhbWUgaW4gRXJyb3IncyBzdGFjay4KICAgICBjb25zdGV4cHIgYm9vbCB1
c2VDdXJyZW50RnJhbWUgPSBmYWxzZTsKLSAgICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3Qs
IHNjb3BlLCBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2Jq
ZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlR5cGVFcnJvciksIFJlYWRvbmx5UHJvcGVy
dHlXcml0ZUVycm9yLCBudWxscHRyLCBUeXBlTm90aGluZywgdXNlQ3VycmVudEZyYW1lKSk7Cisg
ICAgdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSwgRXJyb3JJbnN0YW5jZTo6Y3Jl
YXRlKGdsb2JhbE9iamVjdCwgdm0sIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JU
eXBlOjpUeXBlRXJyb3IpLCBSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvciwgbnVsbHB0ciwgVHlw
ZU5vdGhpbmcsIEVycm9yVHlwZTo6VHlwZUVycm9yLCB1c2VDdXJyZW50RnJhbWUpKTsKICAgICBy
ZXR1cm4geyB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwCmluZGV4IDM4MzczYTc2MGQ1OWQw
ZWVkYjQ5NGRiODhkODUyNGZhYjlhNTE1NGUuLjllYmQzZDQ0NmE5ZGE5YWQxOWQ3YmE0MTk5MDA2
M2ZjNWE2MzI4ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pT
V2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEpT
V2ViQXNzZW1ibHlDb21waWxlRXJyb3IqIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OmNyZWF0
ZShKU0dsb2JhbE9iamVjdCogZ2xvCiB9CiAKIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OkpT
V2ViQXNzZW1ibHlDb21waWxlRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAg
ICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JU
eXBlOjpFcnJvcikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcAppbmRleCBlYWRlMDM0MTNlNGNlMzYw
YmEwODlmOGM1M2QxOGNmOGQ2ZDcwMjM1Li45YjIwMDU4ZWNmMzRhZjkxYjZiMThkMTVmNjUxNTc4
NWMyMTcyZTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5TGlua0Vycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcApAQCAtNDEsNyArNDEsNyBAQCBKU1dlYkFzc2Vt
Ymx5TGlua0Vycm9yKiBKU1dlYkFzc2VtYmx5TGlua0Vycm9yOjpjcmVhdGUoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iagogfQogCiBKU1dlYkFzc2VtYmx5TGlua0Vycm9yOjpKU1dlYkFzc2VtYmx5
TGlua0Vycm9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBz
dHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3IpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlSdW50aW1lRXJyb3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5jcHAKaW5kZXggYmUxZjkyODYwMzA0NWQ3Y2Y3MjkzMjRl
ZTRhNzdhZTgzZmNlOWNiZS4uMTkzM2E2ZTM4ODhmYmVhY2NmMDdhYzJiMzdjNzQ1MDQ4NGZhNTFm
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJs
eVJ1bnRpbWVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgSlNXZWJBc3NlbWJs
eVJ1bnRpbWVFcnJvciogSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcjo6Y3JlYXRlKEpTR2xvYmFs
T2JqZWN0KiBnbG8KIH0KIAogSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcjo6SlNXZWJBc3NlbWJs
eVJ1bnRpbWVFcnJvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2
bSwgc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5cGU6OkVycm9y
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDVj
ZDAwMzVhMDFmZGI3OGRkYzM1ZmM0N2I2Yjg1ODBiZTQ1ZDM1OTcuLmMzYTBkMzk3ZjUwNGUyNThm
MWQ3MGY4YjQ4MmI3OWExZDllNzI2NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3Ry
dWN0b3IuY3BwCkBAIC02NSw3ICs2NSw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxs
SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPCiB7CiAg
ICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1
cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseUNvbXBpbGVFcnJv
clN0cnVjdHVyZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6
Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5
cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxw
dHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBXZWJBc3Nl
bWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yKiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0
cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNzZW1ibHlD
b21waWxlRXJyb3JQcm90b3R5cGUqIHRoaXNQcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29u
c3RydWN0b3IuY3BwCmluZGV4IDk0NmRlZjRmMTE1MjI5YTIyNWJlOTMyYWM5ZTY0MzViNmM4YWIy
YTkuLjJjNWY2YTI5MzFmMTUyMTU4NWFhYTkzNWU1NmI0YmQyZjE5YzE2YjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3Ry
dWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCkBAIC02NSw3ICs2NSw3IEBAIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihjYWxsSlNXZWJBc3NlbWJseUxpbmtFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplCiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgw
KTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT53ZWJBc3Nl
bWJseUxpbmtFcnJvclN0cnVjdHVyZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJy
b3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2Us
IG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1l
c3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOwog
fQogCiBXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yKiBXZWJBc3NlbWJseUxpbmtFcnJv
ckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNz
ZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUqIHRoaXNQcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGlt
ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDNkZmQ5MTU2N2I2MGE1OGRkOWFhNjg0MmZmNjc5
MDIxZjVjYjkyNTIuLmE4NTY2OWM1MThiMWU5YWE2OGM5NWFkMDU2NmViZmQ2ZmMzZGZhOGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGlt
ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC02Nyw3ICs2Nyw3IEBA
IEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwg
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPCiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZy
YW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFs
T2JqZWN0LT53ZWJBc3NlbWJseVJ1bnRpbWVFcnJvclN0cnVjdHVyZSgpOwotICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JT
dHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
ZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6
OkVycm9yLCBmYWxzZSkpOwogfQogCiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9y
KiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUqIHRoaXNQ
cm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBmODg1OTE1ZmU4YmU3OWU1MTI1OGZmZjhk
ODMxODJjOTVkN2QzMmNiLi45ZGI5N2VkNzEyMGYzN2IyZmJiZjVmYjdjMmRlYzQ0N2Q4OGZmNmJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTMwLDYgKzMwLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFU
RV9GUkFNRVdPUktfSEVBREVSUwogCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlDb25zdW1l
ci5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlTb3VyY2UuaAorICAgIE1vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFk
ZXJzLmgKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoSWRlbnRpZmllci5oCiAgICAgTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5oCkBAIC0yODcsNiArMjg4LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFU
RV9GUkFNRVdPUktfSEVBREVSUwogICAgIGJpbmRpbmdzL2pzL1dlYkNvcmVKSVRPcGVyYXRpb25z
LmgKICAgICBiaW5kaW5ncy9qcy9XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaAogICAgIGJp
bmRpbmdzL2pzL1dpbmRvd1Byb3h5LmgKKyAgICBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRGZXRj
aGVyLmgKIAogICAgIGJyaWRnZS9CcmlkZ2UuaAogICAgIGJyaWRnZS9JZGVudGlmaWVyUmVwLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKaW5kZXggMDQ1Y2YyNzA2YzAzNjdlNGNmOTBiMzJkZGQ3OTE0NmQ1ZmExMWRm
Zi4uNzgwZjczMTc3ZDU0NmNmOGJhNGYzNDVhMzkwZDc3MWZkNGY2NTM2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKQEAgLTYzOSw2ICs2MzksNyBAQCBiaW5kaW5ncy9qcy9TdHJ1Y3R1cmVkQ2xvbmUuY3BwCiBi
aW5kaW5ncy9qcy9XZWJDb3JlSklUT3BlcmF0aW9ucy5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVK
U0NsaWVudERhdGEuY3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIu
Y3BwCitiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCiBiaW5kaW5ncy9q
cy9XaW5kb3dQcm94eS5jcHAKIGJpbmRpbmdzL2pzL1dyaXRhYmxlU3RyZWFtLmNwcAogYnJpZGdl
L0lkZW50aWZpZXJSZXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggOGMxNWViNjQ4MDM3MzA1ODA3YjcwM2QwYmRiYWIzZjNi
ZmE1NzE1Yi4uMjNlOTBiNWVlZTc2ODEyYjkzZDFjYzU3ZDZhNzc4ZDE2NTI3MGM1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NTA2OSwxNSArNTA2OSwxOCBAQAogCQlFMzA1OTI2NDFFMjdBM0FEMDBENTdDOTggLyogSW5saW5l
Q2xhc3NpY1NjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTMwNTkyNjIxRTI3QTM4QzAwRDU3Qzk4IC8qIElubGluZUNsYXNzaWNTY3JpcHQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzA1OTI2
ODFFMjdBM0QxMDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTkyNjYxRTI3QTNDNjAwRDU3Qzk4
IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzA3REVEMDFEODFFNEM3MDAxNDFDQUYgLyogQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
RTMwN0RFRDExRDgxRTRDQjAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RF
QzgxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDdERUQ1
MUQ4MUU0RjIwMDE0MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RFRDMxRDgxRTRFRDAwMTQxQ0FG
IC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMxNTBFQTcxREE3MjE5MzAwMTk0MDEyIC8qIERPTUpJVEhl
bHBlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
MTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJzLmggKi87IH07CiAJCUUzMjAx
QzFBMUY4RTgyMTMwMDc2QTAzMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOEQwNjA5MUY4RTgxMTkwMDY0
OUNGMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzIzQ0ZGQTFFNUFGNkFGMDBGMEI0QTAgLyogSlNE
T01Db252ZXJ0UHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTMyM0NGRjkxRTVBRjZBNTAwRjBCNEEwIC8qIEpTRE9NQ29udmVydFByb21pc2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzQz
MkRFNDI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQzMkRFMDI1RDM3N0Uy
MDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IH07CisJCUUzNDdFNUZB
MjVENEYwMDAwMEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMg
LyogV29ya2VyU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlF
MzU2NUI3QjFEQzJENkM5MDAyMTdEQkQgLyogSlNFdmVudEN1c3RvbS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQz
IC8qIEpTRXZlbnRDdXN0b20uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZp
bHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1
ODAyQjUxREM4NDM1ODAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU4MkMyODI1MjdGNjY5
MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNTgyQzI2MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJD
b3JlSklUT3BlcmF0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUUzNUI5MDdGMjNGNjBBNTAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VN
b2RlbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1
QjkwN0MyM0Y2MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM2NDMyMUMyNUQzN0E2
NzAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVs
ZVNjcmlwdExvYWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUUzNzdGRTREMURBREUxNjUwMENERDAyNSAvKiBOb2RlQ29uc3RhbnRzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QwNDk5MzFEQURD
MDQ1MDA3MThGM0MgLyogTm9kZUNvbnN0YW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAvKiBKU0RP
TVByb21pc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUzN0M4NjRGMUVCNjNFMkQwMDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzk2MjhCRjIzOTU3MjhGMDA2
NThFQ0QgLyogRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNE
IC8qIERldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTYxOTUsNyArMTYxOTgsNiBAQAogCQlF
MzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMDdERUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTMwN0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTMwN0RFQzgxRDgxRTQ0ODAw
MTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFRDIxRDgxRTRFRDAwMTQxQ0FGIC8qIExv
YWRhYmxlTW9kdWxlU2NyaXB0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTMwN0RFRDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBE
T01KSVRIZWxwZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEhl
bHBlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MjA4LDEyICsxNjIxMCwx
NyBAQAogCQlFMzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyogVHlwZWRPTUNTU1VuaXRWYWx1ZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMyOTI3NjYyMjU0M0ZERTAwMzA4QTlBIC8qIERPTVJlY3RS
ZWFkT25seS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01SZWN0UmVhZE9ubHkuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzM0ODI1RTFEQzkzQUEwMDA5Qzk1NDQgLyogRE9N
SklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7IHBhdGggPSBEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtl
ck1vZHVsZVNjcmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTM0MzJERTMyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRM
b2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzQ3RTVGODI1RDRGMDAw
MDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXb3JrZXJTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUzNEVFNDlGMURDMkQ1NzUwMEVBQTlEMyAvKiBKU0V2ZW50Q3VzdG9tLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZlbnRDdXN0b20uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODAy
QjUxREM4NDM1ODAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUSURMVHlwZUZpbHRlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzU4MkMyNDI1MjdGNjY4MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9w
ZXJhdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29y
ZUpJVE9wZXJhdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MkMy
NjI1MjdGNjY4MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZUpJVE9wZXJhdGlvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTM1QjkwN0MyM0Y2MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERl
dmljZU1vZGVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsaXplZERl
dmljZU1vZGVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdFMjNGNjA2
NzcwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsaXplZERldmljZU1vZGVsLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxlU2Ny
aXB0TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNjcmlw
dExvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzdDODY0RjFFQjYzRTJE
MDA4N0M2Q0EgLyogSlNET01Qcm9taXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTRE9NUHJvbWlzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5
NDFCQUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRN
b2R1bGVMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0TW9k
dWxlTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzAwOSw3ICsyNzAx
Niw2IEBACiAJCQkJMkRGQTQ4OEUxREI1NDFDMjAwMzYyQjk5IC8qIEJ1ZmZlclNvdXJjZS5oICov
LAogCQkJCUUzMDdERUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIuY3BwICovLAogCQkJCUUzMDdERUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIuaCAqLywKLQkJCQlFMzA3REVDODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8sCiAJCQkJRTMwNTkyNjUxRTI3QTNDNjAwRDU3
Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIuY3BwICovLAogCQkJCUUzMDU5MjY2MUUyN0EzQzYw
MEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi8sCiAJCQkJQkNENTMzNjMwRUQ2ODQ4
OTAwODg3NDY4IC8qIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggKi8sCkBAIC0yNzA4Myw2
ICsyNzA4OSw4IEBACiAJCQkJNEJERUEzMkQyMTgwMzQwNTAwNTJERkNEIC8qIEpTV29ya2xldEds
b2JhbFNjb3BlQmFzZS5jcHAgKi8sCiAJCQkJNEJERUEzMkIyMTgwMzNFQjAwNTJERkNEIC8qIEpT
V29ya2xldEdsb2JhbFNjb3BlQmFzZS5oICovLAogCQkJCTcwOUEwMUZEMUUzRDBCQ0MwMDZCMEQ0
QyAvKiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmggKi8sCisJCQkJRTM2NDMyMUEyNUQzN0E2NjAw
RjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICovLAorCQkJCUUzNTE4OEIzMjVEMzg3Q0Yw
MEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLywKIAkJCQk0MUI0NTlFRDFG
NTVFQkM3MDAwMEY2RkQgLyogUmVhZGFibGVTdHJlYW0uY3BwICovLAogCQkJCTQxQjQ1OURBMUY0
Q0FEQjkwMDAwRjZGRCAvKiBSZWFkYWJsZVN0cmVhbS5oICovLAogCQkJCTQxOEMzOTVFMUM4RjBB
QUIwMDUxQzhBMyAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcCAqLywKQEAg
LTI3MTE0LDYgKzI3MTIyLDkgQEAKIAkJCQkwRjA5OUQwNzE3Qjk2OEExMDBGRjg0QjkgLyogV2Vi
Q29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmggKi8sCiAJCQkJNDYzNTIxQUMyMDgxMDkwRTAwQzI4
OTIyIC8qIFdpbmRvd1Byb3h5LmNwcCAqLywKIAkJCQk0NjM1MjFBQTIwODEwOTBCMDBDMjg5MjIg
LyogV2luZG93UHJveHkuaCAqLywKKwkJCQlFMzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLywKKwkJCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2
MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCisJCQkJRTM0N0U1RjgyNUQ0RjAw
MDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCAqLywKIAkJCQk0MTQxOEEwMzI1NjQz
RTEyMDAzNjM0MTcgLyogV3JpdGFibGVTdHJlYW0uY3BwICovLAogCQkJCTQxNDE4QTA0MjU2NDNF
MTMwMDM2MzQxNyAvKiBXcml0YWJsZVN0cmVhbS5oICovLAogCQkJKTsKQEAgLTMxMzg3LDcgKzMx
Mzk4LDYgQEAKIAkJCQlCQ0IxNkMxQzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkSW1hZ2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTMxOUZCRDVGMTVEMkY0NjQwMDk2NDBBNiAvKiBDYWNoZWRJbWFn
ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTMwN0RFRDAxRDgxRTRDNzAwMTQxQ0FGIC8q
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTMwN0RFRDEx
RDgxRTRDQjAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTEwMTg0NjkwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCBp
biBIZWFkZXJzICovLAogCQkJCUQwRURBNzc1MTQzRTMwM0MwMDI4RTM4MyAvKiBDYWNoZWRSYXdS
ZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFCNTMzNDkxNzE3REVFMzAwRjIwNUY5IC8q
IENhY2hlZFJhd1Jlc291cmNlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMzODYyLDYgKzMz
ODcyLDggQEAKIAkJCQlDNkQ3NEFENTA5QUEyODJFMDAwQjBBNTIgLyogTW9kaWZ5U2VsZWN0aW9u
TGlzdExldmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MDlBMDFGRTFFM0QwQkREMDA2QjBENEMg
LyogTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTMyMDFDMUEx
RjhFODIxMzAwNzZBMDMyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRTM2NDMyMUMyNUQzN0E2NzAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRTM1MTg4QjQyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQzYxMjUxRjEyRDAwM0VG
MjY5IC8qIE1vbnRoSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzk2MjhDMTIzOTU3
NDMxMDA2NThFQ0QgLyogTW90aW9uTWFuYWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
ODUwMzFCNDYwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlRXZlbnQuaCBpbiBIZWFkZXJzICovLApA
QCAtMzU1MTIsNiArMzU1MjQsNyBAQAogCQkJCTE4RjgzMUI4MEZENDhDNzgwMEQ4QzU2QiAvKiBX
b3JrZXJMb2FkZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NEQwRjU0NkE4MjAw
QjBGMUJBIC8qIFdvcmtlckxvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1MDBG
NTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyTWVzc2FnaW5nUHJveHkuaCBpbiBIZWFkZXJzICovLAor
CQkJCUUzNDMyREU0MjVEMzc3RTMwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjcxQTBCMEVFRUM3N0EwMEY2MTIxMyAvKiBXb3JrZXJO
YXZpZ2F0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1Q0IwNTI1MUZCNTFGM0EwMDA4OUI5NyAv
KiBXb3JrZXJOZXR3b3JrQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUxMEY1NDZB
ODIwMEIwRjFCQSAvKiBXb3JrZXJPYmplY3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTUy
MSw2ICszNTUzNCw3IEBACiAJCQkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJl
cG9ydGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1MzBGNTQ2QTgyMDBCMEYx
QkEgLyogV29ya2VyUnVuTG9vcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVCODFDQ0YxRkFBNDRE
RTAwMzdEMUU2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM0
N0U1RkEyNUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE3RDZCMzQ5MEY2MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJTY3JpcHRMb2FkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJFQTc2ODA0MEZFNzEyNjQwMEFCOUM4QSAvKiBXb3JrZXJT
Y3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjU1MEY1NDZBODIw
MEIwRjFCQSAvKiBXb3JrZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKaW5k
ZXggMzUyZGNjNGFjZjc1MTc2ZDk4YWQzNDEwYmUxNTE2MDgwMTA4ODUyNC4uMjc3ZjYyYTdjMTMz
ZmUxNTZjNmNjZTk4NTUzNTUwZWRiMTM2ZDAwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC00MCwxNiAr
NDAsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWY8Q2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyPiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRT
Y3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJz
PiYmIHBhcmFtZXRlcnMpCitSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBDYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwg
RGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRj
aGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCiB7CiAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJv
bWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJzKSkpOwogfQogCi1DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNo
ZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzPiYmIHBhcmFtZXRlcnMpCi0gICAgOiBtX2NsaWVudCgmY2xpZW50KQotICAgICwgbV9wcm9t
aXNlKCZwcm9taXNlKQotICAgICwgbV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNoZXIpCi0gICAg
LCBtX3BhcmFtZXRlcnMoV1RGTW92ZShwYXJhbWV0ZXJzKSkKK0NhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcjo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYg
Y2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNj
cmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykK
KyAgICA6IE1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIs
IFdURk1vdmUocGFyYW1ldGVycykpCiB7CiB9CiAKQEAgLTYxLDE0ICs1OCwxNSBAQCBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI6On5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoKQogICAgIH0KIH0K
IAotYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50
LCBjb25zdCBVUkwmIHNvdXJjZVVSTCkKK2Jvb2wgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjps
b2FkKERvY3VtZW50JiBkb2N1bWVudCwgVVJMJiYgc291cmNlVVJMKQogeworICAgIEFTU0VSVCht
X3Byb21pc2UpOwogICAgIEFTU0VSVCghbV9jYWNoZWRTY3JpcHQpOwogICAgIFN0cmluZyBpbnRl
Z3JpdHkgPSBtX3BhcmFtZXRlcnMgPyBtX3BhcmFtZXRlcnMtPmludGVncml0eSgpIDogU3RyaW5n
IHsgfTsKLSAgICBtX2NhY2hlZFNjcmlwdCA9IG1fc2NyaXB0RmV0Y2hlci0+cmVxdWVzdE1vZHVs
ZVNjcmlwdChkb2N1bWVudCwgc291cmNlVVJMLCBXVEZNb3ZlKGludGVncml0eSkpOworICAgIG1f
Y2FjaGVkU2NyaXB0ID0gc2NyaXB0RmV0Y2hlcigpLnJlcXVlc3RNb2R1bGVTY3JpcHQoZG9jdW1l
bnQsIHNvdXJjZVVSTCwgV1RGTW92ZShpbnRlZ3JpdHkpKTsKICAgICBpZiAoIW1fY2FjaGVkU2Ny
aXB0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgbV9zb3VyY2VVUkwgPSBzb3VyY2VVUkw7
CisgICAgbV9zb3VyY2VVUkwgPSBXVEZNb3ZlKHNvdXJjZVVSTCk7CiAKICAgICAvLyBJZiB0aGUg
Y29udGVudCBpcyBhbHJlYWR5IGNhY2hlZCwgdGhpcyBpbW1lZGlhdGVseSBjYWxscyBub3RpZnlG
aW5pc2hlZC4KICAgICBtX2NhY2hlZFNjcmlwdC0+YWRkQ2xpZW50KCp0aGlzKTsKQEAgLTgzLDcg
KzgxLDcgQEAgdm9pZCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENh
Y2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgTmUKIAogICAgIFJlZjxDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogICAgIGlmIChtX2NsaWVudCkKLSAg
ICAgICAgbV9jbGllbnQtPm5vdGlmeUZpbmlzaGVkKCp0aGlzLCBXVEZNb3ZlKG1fcHJvbWlzZSkp
OworICAgICAgICBtX2NsaWVudC0+bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9zb3Vy
Y2VVUkwpLCBtX3Byb21pc2UucmVsZWFzZU5vbk51bGwoKSk7CiAKICAgICAvLyBSZW1vdmUgdGhl
IGNsaWVudCBhZnRlciBjYWxsaW5nIG5vdGlmeUZpbmlzaGVkIHRvIGtlZXAgdGhlIGRhdGEgYnVm
ZmVyIGluCiAgICAgLy8gQ2FjaGVkUmVzb3VyY2UgYWxpdmUgd2hpbGUgbm90aWZ5RmluaXNoZWQg
cHJvY2Vzc2VzIHRoZSByZXNvdXJjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmgKaW5kZXggNDNhYmQ4NzViMjQzZmFmNWZj
ZDRkOThlYzNjNWQyNGU3OTBiNTcyZS4uYTQ4NzU1ZjkzZDA1ZWYzNTNkMmIzZTIyOGQ4MjE5ZmU4
OTFlNjc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyLmgKQEAgLTI3LDYgKzI3LDggQEAKIAogI2luY2x1ZGUgIkNhY2hl
ZFJlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNp
bmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9h
ZGVyLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzQsNDIgKzM2LDI5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworY2xh
c3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OwogY2xhc3MgQ2FjaGVkU2NyaXB0OwotY2xhc3Mg
Q2FjaGVkU2NyaXB0RmV0Y2hlcjsKIGNsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERvY3Vt
ZW50OwogY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CiBjbGFzcyBNb2R1bGVGZXRjaFBhcmFtZXRl
cnM7CiAKLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBSZWZD
b3VudGVkPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4sIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIE1v
ZHVsZVNjcmlwdExvYWRlciwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRG
ZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisgICAgc3RhdGljIFJl
ZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVs
ZUZldGNoUGFyYW1ldGVycz4mJik7CiAKICAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXIoKTsKIAotICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIGNvbnN0IFVSTCYgc291cmNlVVJM
KTsKKyAgICBib29sIGxvYWQoRG9jdW1lbnQmLCBVUkwmJiBzb3VyY2VVUkwpOwogCi0gICAgQ2Fj
aGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlcigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hl
ci5nZXQoKTsgfQogICAgIENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0KCkgeyByZXR1cm4gbV9j
YWNoZWRTY3JpcHQuZ2V0KCk7IH0KLSAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRl
cnMoKSB7IHJldHVybiBtX3BhcmFtZXRlcnMuZ2V0KCk7IH0KLSAgICBjb25zdCBVUkwmIHNvdXJj
ZVVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlVVJMOyB9Ci0KLSAgICB2b2lkIGNsZWFyQ2xp
ZW50KCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChtX2NsaWVudCk7Ci0gICAgICAgIG1fY2xpZW50
ID0gbnVsbHB0cjsKLSAgICB9CisgICAgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hl
cigpIHsgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXImPihNb2R1bGVTY3Jp
cHRMb2FkZXI6OnNjcmlwdEZldGNoZXIoKSk7IH0KIAogcHJpdmF0ZToKLSAgICBDYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQ
cm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRl
cnM+JiYpOworICAgIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1v
ZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CiAKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hl
ZFJlc291cmNlJiwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikgZmluYWw7CiAKLSAgICBDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9OwotICAgIFJl
ZlB0cjxEZWZlcnJlZFByb21pc2U+IG1fcHJvbWlzZTsKLSAgICBSZWY8Q2FjaGVkU2NyaXB0RmV0
Y2hlcj4gbV9zY3JpcHRGZXRjaGVyOwotICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+
IG1fcGFyYW1ldGVyczsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IG1f
Y2FjaGVkU2NyaXB0OwogICAgIFVSTCBtX3NvdXJjZVVSTDsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Njg4YWQ5MGRhZTNlY2U5NDllYTA5
YjFlZmVlNWRhMjZmOTRjNzg2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI7Ci1jbGFzcyBE
ZWZlcnJlZFByb21pc2U7Ci0KLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7
Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KCkg
PSBkZWZhdWx0OwotCi0gICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlciYsIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+KSA9IDA7Ci19OwotCi19CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3Bw
CmluZGV4IGE0MzM3NTg2NWJiZjFlYzU5NzNiZjE3MmM5MWEzODUzMjM0ZTM3NGQuLmRmM2M2YjZl
YmI4NGFmNzJlZDI5NTVmOTkxMWQwN2E4N2FiMzUzMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBA
CiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNiArNDgsNyBAQCBD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IENhY2hlZFNjcmlwdEZldGNoZXI6OnJl
cXVlc3RNb2R1bGVTY3JpcHQoRG9jdQogCiBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3Jp
cHQ+IENhY2hlZFNjcmlwdEZldGNoZXI6OnJlcXVlc3RTY3JpcHRXaXRoQ2FjaGUoRG9jdW1lbnQm
IGRvY3VtZW50LCBjb25zdCBVUkwmIHNvdXJjZVVSTCwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdp
bk1vZGUsIFN0cmluZyYmIGludGVncml0eSwgT3B0aW9uYWw8UmVzb3VyY2VMb2FkUHJpb3JpdHk+
IHJlc291cmNlTG9hZFByaW9yaXR5KSBjb25zdAogeworICAgIC8vIFdpdGhvdXQgc2NyaXB0aW5n
LCB0aGVyZSBpcyBubyB3YXkgdG8gc3RhcnQgV29ya2Vycy4KICAgICBpZiAoIWRvY3VtZW50LnNl
dHRpbmdzKCkuaXNTY3JpcHRFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRs
aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuY3BwCmluZGV4IGRmN2YzZDc0NmQ1ZTMyYWJhYjUxNDc2YzlkZGFjYTYzYTQzNTEzNmMuLmVl
ZjIxMDM4ODQ5ZmQ4OTg0OWFmY2VkNzAzMTg1ZmY4OTRjNDBjNzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCkBAIC01
Miw2ICs1MiwyNSBAQCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNWYWx1ZSBleGNlcHRpb25WYWx1ZQogICAgIHJlcG9ydEV4Y2VwdGlv
bihsZXhpY2FsR2xvYmFsT2JqZWN0LCBleGNlcHRpb24sIGNhY2hlZFNjcmlwdCk7CiB9CiAKK1N0
cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBWTSYgdm0sIEpTVmFsdWUgZXhjZXB0aW9uLCBDYXRjaFNjb3BlJiBj
YXRjaFNjb3BlKQoreworICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTUwODc+
IFdlYiBJbnNwZWN0b3I6IFdlYkNvcmU6OnJlcG9ydEV4Y2VwdGlvbiBzaG91bGQgbm90IGV2YWx1
YXRlIEphdmFTY3JpcHQgaGFuZGxpbmcgZXhjZXB0aW9ucworICAgIC8vIElmIHRoaXMgaXMgYSBj
dXN0b20gZXhjZXB0aW9uIG9iamVjdCwgY2FsbCB0b1N0cmluZyBvbiBpdCB0byB0cnkgYW5kIGdl
dCBhIG5pY2Ugc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgZXhjZXB0aW9uLgorICAgIFN0
cmluZyBlcnJvck1lc3NhZ2U7CisgICAgaWYgKGF1dG8qIGVycm9yID0ganNEeW5hbWljQ2FzdDxF
cnJvckluc3RhbmNlKj4odm0sIGV4Y2VwdGlvbikpCisgICAgICAgIGVycm9yTWVzc2FnZSA9IGVy
cm9yLT5zYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICBl
bHNlIGlmIChhdXRvKiBlcnJvciA9IGpzRHluYW1pY0Nhc3Q8SlNET01FeGNlcHRpb24qPih2bSwg
ZXhjZXB0aW9uKSkKKyAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJyb3ItPndyYXBwZWQoKS5tZXNz
YWdlKCk7CisgICAgZWxzZQorICAgICAgICBlcnJvck1lc3NhZ2UgPSBleGNlcHRpb24udG9XVEZT
dHJpbmcoJmxleGljYWxHbG9iYWxPYmplY3QpOworCisgICAgLy8gV2UgbmVlZCB0byBjbGVhciBh
bnkgbmV3IGV4Y2VwdGlvbiB0aGF0IG1heSBiZSB0aHJvd24gaW4gdGhlIHRvU3RyaW5nKCkgY2Fs
bCBhYm92ZS4KKyAgICAvLyByZXBvcnRFeGNlcHRpb24oKSBpcyBub3Qgc3VwcG9zZWQgdG8gYmUg
bWFraW5nIG5ldyBleGNlcHRpb25zLgorICAgIGNhdGNoU2NvcGUuY2xlYXJFeGNlcHRpb24oKTsK
KyAgICB2bS5jbGVhckxhc3RFeGNlcHRpb24oKTsKKyAgICByZXR1cm4gZXJyb3JNZXNzYWdlOwor
fQorCiBTdHJpbmcgcmV0cmlldmVFcnJvck1lc3NhZ2UoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIFZNJiB2bSwgSlNWYWx1ZSBleGNlcHRpb24sIENhdGNoU2NvcGUmIGNhdGNo
U2NvcGUpCiB7CiAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNTA4Nz4gV2Vi
IEluc3BlY3RvcjogV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9uIHNob3VsZCBub3QgZXZhbHVhdGUg
SmF2YVNjcmlwdCBoYW5kbGluZyBleGNlcHRpb25zCkBAIC0xMjEsMzYgKzE0MCw0NSBAQCB2b2lk
IHJlcG9ydEN1cnJlbnRFeGNlcHRpb24oSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QpCiAKIEpTVmFsdWUgY3JlYXRlRE9NRXhjZXB0aW9uKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFeGNlcHRpb25Db2RlIGVjLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7
Ci0gICAgaWYgKGVjID09IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3IpCisgICAgc3dpdGNoIChlYykg
eworICAgIGNhc2UgRXhpc3RpbmdFeGNlcHRpb25FcnJvcjoKICAgICAgICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7CiAKICAgICAvLyBGSVhNRTogSGFuZGxlIG90aGVyIFdlYklETCBleGNlcHRpb24g
dHlwZXMuCi0gICAgaWYgKGVjID09IFR5cGVFcnJvcikgeworICAgIGNhc2UgVHlwZUVycm9yOgog
ICAgICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gY3JlYXRl
VHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOwogICAgICAgICByZXR1cm4gY3JlYXRlVHlw
ZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIG1lc3NhZ2UpOwotICAgIH0KIAotICAgIGlmIChl
YyA9PSBSYW5nZUVycm9yKSB7CisgICAgY2FzZSBSYW5nZUVycm9yOgogICAgICAgICBpZiAobWVz
c2FnZS5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gY3JlYXRlUmFuZ2VFcnJvcihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCAiQmFkIHZhbHVlIl9zKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZVJh
bmdlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7Ci0gICAgfQogCi0gICAgaWYg
KGVjID09IFN0YWNrT3ZlcmZsb3dFcnJvcikKKyAgICBjYXNlIEpTU3ludGF4RXJyb3I6CisgICAg
ICAgIGlmIChtZXNzYWdlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBjcmVhdGVTeW50
YXhFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVN5bnRh
eEVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIG1lc3NhZ2UpOworCisgICAgY2FzZSBTdGFja092
ZXJmbG93RXJyb3I6CiAgICAgICAgIHJldHVybiBjcmVhdGVTdGFja092ZXJmbG93RXJyb3IobGV4
aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKGVjID09IE91dE9mTWVtb3J5RXJyb3IpCisKKyAg
ICBjYXNlIE91dE9mTWVtb3J5RXJyb3I6CiAgICAgICAgIHJldHVybiBjcmVhdGVPdXRPZk1lbW9y
eUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOwogCi0gICAgLy8gRklYTUU6IEFsbCBjYWxsZXJz
IHRvIGNyZWF0ZURPTUV4Y2VwdGlvbiBuZWVkIHRvIHBhc3MgaW4gdGhlIGNvcnJlY3QgZ2xvYmFs
IG9iamVjdC4KLSAgICAvLyBGb3Igbm93LCB3ZSdyZSBnb2luZyB0byBhc3N1bWUgdGhlIGxleGlj
YWxHbG9iYWxPYmplY3QuIFdoaWNoIGlzIHdyb25nIGluIGNhc2VzIGxpa2UgdGhpczoKLSAgICAv
LyBmcmFtZXNbMF0uZG9jdW1lbnQuY3JlYXRlRWxlbWVudChudWxsLCBudWxsKTsgLy8gdGhyb3dz
IGFuIGV4Y2VwdGlvbiB3aGljaCBzaG91bGQgaGF2ZSB0aGUgc3ViZnJhbWUncyBwcm90b3R5cGVz
LgotICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBkZXByZWNhdGVkR2xvYmFs
T2JqZWN0Rm9yUHJvdG90eXBlKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIEpTVmFsdWUgZXJy
b3JPYmplY3QgPSB0b0pTKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgRE9NRXhj
ZXB0aW9uOjpjcmVhdGUoZWMsIG1lc3NhZ2UpKTsKLSAgICAKLSAgICBBU1NFUlQoZXJyb3JPYmpl
Y3QpOwotICAgIGFkZEVycm9ySW5mbyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBhc09iamVjdChlcnJv
ck9iamVjdCksIHRydWUpOwotICAgIHJldHVybiBlcnJvck9iamVjdDsKKyAgICBkZWZhdWx0OiB7
CisgICAgICAgIC8vIEZJWE1FOiBBbGwgY2FsbGVycyB0byBjcmVhdGVET01FeGNlcHRpb24gbmVl
ZCB0byBwYXNzIGluIHRoZSBjb3JyZWN0IGdsb2JhbCBvYmplY3QuCisgICAgICAgIC8vIEZvciBu
b3csIHdlJ3JlIGdvaW5nIHRvIGFzc3VtZSB0aGUgbGV4aWNhbEdsb2JhbE9iamVjdC4gV2hpY2gg
aXMgd3JvbmcgaW4gY2FzZXMgbGlrZSB0aGlzOgorICAgICAgICAvLyBmcmFtZXNbMF0uZG9jdW1l
bnQuY3JlYXRlRWxlbWVudChudWxsLCBudWxsKTsgLy8gdGhyb3dzIGFuIGV4Y2VwdGlvbiB3aGlj
aCBzaG91bGQgaGF2ZSB0aGUgc3ViZnJhbWUncyBwcm90b3R5cGVzLgorICAgICAgICBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3Rv
dHlwZShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICAgICAgSlNWYWx1ZSBlcnJvck9iamVjdCA9
IHRvSlMobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBET01FeGNlcHRpb246OmNy
ZWF0ZShlYywgbWVzc2FnZSkpOworCisgICAgICAgIEFTU0VSVChlcnJvck9iamVjdCk7CisgICAg
ICAgIGFkZEVycm9ySW5mbyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBhc09iamVjdChlcnJvck9iamVj
dCksIHRydWUpOworICAgICAgICByZXR1cm4gZXJyb3JPYmplY3Q7CisgICAgfQorICAgIH0KKyAg
ICByZXR1cm4geyB9OwogfQogCiBKU1ZhbHVlIGNyZWF0ZURPTUV4Y2VwdGlvbihKU0dsb2JhbE9i
amVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgRXhjZXB0aW9uJiYgZXhjZXB0aW9uKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCmlu
ZGV4IDJkM2UzMTFmNjFlZWI2ODVhYWMzNTU0NmFhZTE2MGRhOTc5MGVmNWYuLmQxZjZkZTkzNzQ3
MGNlNmRmMmNjYjY0NzIyODQ3NjZmZDAxOTU4MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgKQEAgLTY1LDYgKzY1LDcgQEAg
V0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1ZSByZWplY3RQcm9taXNlV2l0aEdldHRl
clR5cGVFcnJvcihKU0M6OkpTR2xvYmEKIFdFQkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFs
dWUgcmVqZWN0UHJvbWlzZVdpdGhUaGlzVHlwZUVycm9yKERlZmVycmVkUHJvbWlzZSYsIGNvbnN0
IGNoYXIqIGludGVyZmFjZU5hbWUsIGNvbnN0IGNoYXIqIG9wZXJhdGlvbk5hbWUpOwogV0VCQ09S
RV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1ZSByZWplY3RQcm9taXNlV2l0aFRoaXNUeXBlRXJy
b3IoSlNDOjpKU0dsb2JhbE9iamVjdCYsIGNvbnN0IGNoYXIqIGludGVyZmFjZU5hbWUsIGNvbnN0
IGNoYXIqIG9wZXJhdGlvbk5hbWUpOwogCitTdHJpbmcgcmV0cmlldmVFcnJvck1lc3NhZ2VXaXRo
b3V0TmFtZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpWTSYsIEpTQzo6SlNWYWx1ZSBleGNl
cHRpb24sIEpTQzo6Q2F0Y2hTY29wZSYpOwogU3RyaW5nIHJldHJpZXZlRXJyb3JNZXNzYWdlKEpT
Qzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlIGV4Y2VwdGlvbiwgSlND
OjpDYXRjaFNjb3BlJik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU1ZhbHVlIGV4Y2VwdGlvbiwgQ2FjaGVkU2NyaXB0KiA9
IG51bGxwdHIpOwogV0VCQ09SRV9FWFBPUlQgdm9pZCByZXBvcnRFeGNlcHRpb24oSlNDOjpKU0ds
b2JhbE9iamVjdCosIEpTQzo6RXhjZXB0aW9uKiwgQ2FjaGVkU2NyaXB0KiA9IG51bGxwdHIsIEV4
Y2VwdGlvbkRldGFpbHMqID0gbnVsbHB0cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNThiN2RmNzYwYzAwYTMxZmYwOGVkMjJk
ZWUyMmE4Yzc0NDNhZThkZC4uOWQ2OTdkNDU5YjU2MzQ1Y2M4Mzk2MjAyNjY3NmUwMGE5OGJmNDlh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0
LmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIkpTV29ya2xldEdsb2JhbFNjb3BlLmgi
CiAjaW5jbHVkZSAiUmVqZWN0ZWRQcm9taXNlVHJhY2tlci5oIgogI2luY2x1ZGUgIlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTY3JpcHRNb2R1bGVMb2FkZXIuaCIKICNpbmNs
dWRlICJTdHJ1Y3R1cmVkQ2xvbmUuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgi
CiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTQyMiw2ICs0MjMsNzkgQEAgSlND
OjpKU1Byb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0OjppbnN0YW50aWF0ZVN0cmVhbWluZyhKU0M6
OkpTR2xvYmFsT2JqZWN0KiBnbG8KIH0KICNlbmRpZgogCitzdGF0aWMgU2NyaXB0TW9kdWxlTG9h
ZGVyKiBzY3JpcHRNb2R1bGVMb2FkZXIoSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
K3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgaWYgKGdsb2JhbE9iamVj
dC0+aW5oZXJpdHM8SlNET01XaW5kb3dCYXNlPih2bSkpIHsKKyAgICAgICAgaWYgKGF1dG8gZG9j
dW1lbnQgPSBqc0Nhc3Q8Y29uc3QgSlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3Jh
cHBlZCgpLmRvY3VtZW50KCkpCisgICAgICAgICAgICByZXR1cm4gJmRvY3VtZW50LT5tb2R1bGVM
b2FkZXIoKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIGlmIChnbG9iYWxP
YmplY3QtPmluaGVyaXRzPEpTUmVtb3RlRE9NV2luZG93QmFzZT4odm0pKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU1dvcmtlckdsb2Jh
bFNjb3BlQmFzZT4odm0pKQorICAgICAgICByZXR1cm4gJmpzQ2FzdDxjb25zdCBKU1dvcmtlckds
b2JhbFNjb3BlQmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQoKS5tb2R1bGVMb2FkZXIoKTsK
KyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2U+
KHZtKSkKKyAgICAgICAgcmV0dXJuICZqc0Nhc3Q8Y29uc3QgSlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1vZHVsZUxvYWRlcigpOworI2lmIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQorICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTSURC
U2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdD4odm0pKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyNlbmRpZgorICAgIGRhdGFMb2coIlVuZXhwZWN0ZWQgZ2xvYmFsIG9iamVjdDogIiwgSlNWYWx1
ZShnbG9iYWxPYmplY3QpLCAiXG4iKTsKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIHJldHVybiBudWxscHRyOworfQorCitKU0M6OklkZW50aWZpZXIgSlNET01HbG9iYWxP
YmplY3Q6Om1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1
bGVOYW1lLCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBzY3Jp
cHRGZXRjaGVyKQoreworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpq
c0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBs
b2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBs
b2FkZXItPnJlc29sdmUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIGlt
cG9ydGVyTW9kdWxlS2V5LCBzY3JpcHRGZXRjaGVyKTsKKyAgICByZXR1cm4geyB9OworfQorCitK
U0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRmV0
Y2goSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVy
KiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBwYXJh
bWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBWTSYgdm0gPSBnbG9i
YWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01H
bG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3Jp
cHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihz
Y29wZSwgbG9hZGVyLT5mZXRjaChnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5
LCBwYXJhbWV0ZXJzLCBzY3JpcHRGZXRjaGVyKSk7CisgICAgSlNDOjpKU0ludGVybmFsUHJvbWlz
ZSogcHJvbWlzZSA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7CisgICAgc2NvcGUucmVsZWFzZSgpOwor
ICAgIHByb21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOworICAgIHJl
dHVybiBwcm9taXNlOworfQorCitKU0M6OkpTVmFsdWUgSlNET01HbG9iYWxPYmplY3Q6Om1vZHVs
ZUxvYWRlckV2YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpK
U01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6
OkpTVmFsdWUgbW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAg
ICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9k
dWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5ldmFsdWF0ZShn
bG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlw
dEZldGNoZXIpOworICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Cit9CisKK0pTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1
bGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVy
KiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNTdHJpbmcqIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBw
YXJhbWV0ZXJzLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYgc291cmNlT3JpZ2luKQoreworICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6
OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8q
IGxvYWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHNjb3BlLCBsb2FkZXItPmltcG9ydE1vZHVsZShnbG9iYWxPYmplY3QsIG1v
ZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgcGFyYW1ldGVycywgc291cmNlT3JpZ2luKSk7CisgICAg
SlNDOjpKU0ludGVybmFsUHJvbWlzZSogcHJvbWlzZSA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2U6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7Cisg
ICAgc2NvcGUucmVsZWFzZSgpOworICAgIHByb21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGpz
VW5kZWZpbmVkKCkpOworICAgIHJldHVybiBwcm9taXNlOworfQorCitKU0M6OkpTT2JqZWN0KiBK
U0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMo
SlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBt
b2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNNb2R1bGVSZWNvcmQq
IG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7CisgICAgSlNET01H
bG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlwdE1vZHVsZUxvYWRl
cih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxvYWRlci0+Y3JlYXRlSW1wb3J0TWV0YVBy
b3BlcnRpZXMoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgbW9kdWxlUmVj
b3JkLCBzY3JpcHRGZXRjaGVyKTsKKyAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZ2xv
YmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPm51bGxQcm90b3R5cGVPYmplY3RTdHJ1Y3R1
cmUoKSk7Cit9CisKIEpTRE9NR2xvYmFsT2JqZWN0JiBjYWxsZXJHbG9iYWxPYmplY3QoSlNHbG9i
YWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSYgY2FsbEZyYW1lKQogewog
ICAgIGNsYXNzIEdldENhbGxlckdsb2JhbE9iamVjdEZ1bmN0b3IgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKaW5kZXggYjg0MDcyZGRkNzQ2YjNk
NmM1MTA2MGQ5MDUwMWI1Y2VhMWI0OTliMS4uZjQ5YTRjZDI1NzE5NzExODkxN2E3ZDdhNGI2YzBl
MTFmYzc2YmE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01H
bG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2Jh
bE9iamVjdC5oCkBAIC0xMDUsNiArMTA1LDEyIEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEpTRE9N
R2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6SlNHbG9iYWxPYmplY3QgewogICAgIHN0YXRpYyBK
U0M6OkpTUHJvbWlzZSogaW5zdGFudGlhdGVTdHJlYW1pbmcoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTQzo6SlNWYWx1ZSwgSlNDOjpKU09iamVjdCopOwogI2VuZGlmCiAKKyAgICBzdGF0aWMgSlND
OjpJZGVudGlmaWVyIG1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1Zh
bHVlKTsKKyAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVyRmV0
Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFs
dWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAgICBzdGF0aWMgSlNDOjpKU1ZhbHVl
IG1vZHVsZUxvYWRlckV2YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxl
TG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisgICAg
c3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVsZUxvYWRlckltcG9ydE1vZHVsZShK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNTdHJpbmcq
LCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJik7CisgICAgc3RhdGljIEpT
Qzo6SlNPYmplY3QqIG1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTTW9kdWxlUmVjb3JkKiwgSlNDOjpKU1ZhbHVlKTsKKwogICAgIEpTRE9NU3RydWN0dXJlTWFw
IG1fc3RydWN0dXJlczsKICAgICBKU0RPTUNvbnN0cnVjdG9yTWFwIG1fY29uc3RydWN0b3JzOwog
ICAgIERPTUd1YXJkZWRPYmplY3RTZXQgbV9ndWFyZGVkT2JqZWN0czsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCmluZGV4IDU2M2VmYTA1NzFiNWQ0
NjJkOWU2NDUwODlmMGJkOGY3N2QxOWE3NjguLjMxMmEwMTE1OGU4YzI4MDgzYzA3ZTQyZGI4NzI0
NWZlNGU1YzU3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dCYXNlLmNwcApAQCAtMzM5LDU0ICszMzksNCBAQCB2b2lkIEpTRE9NV2luZG93QmFzZTo6Zmly
ZUZyYW1lQ2xlYXJlZFdhdGNocG9pbnRzRm9yV2luZG93KERPTVdpbmRvdyogd2luZG93KQogICAg
IH0KIH0KIAotSlNDOjpJZGVudGlmaWVyIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVz
b2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2Fk
ZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBp
bXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0gICAgSlNE
T01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4o
Z2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNP
YmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1v
ZHVsZUxvYWRlcigpLnJlc29sdmUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5h
bWUsIGltcG9ydGVyTW9kdWxlS2V5LCBzY3JpcHRGZXRjaGVyKTsKLSAgICByZXR1cm4geyB9Owot
fQotCi1KU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRl
ckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxv
YWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUg
cGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0gICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LT52bSgpOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RP
TVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRv
Y3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIFJFTEVB
U0VfQU5EX1JFVFVSTihzY29wZSwgZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmZldGNoKGdsb2Jh
bE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIHBhcmFtZXRlcnMsIHNjcmlwdEZldGNo
ZXIpKTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVy
bmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVj
dHVyZSgpKTsKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcHJvbWlzZS0+cmVqZWN0KGdsb2Jh
bE9iamVjdCwganNVbmRlZmluZWQoKSk7Ci0gICAgcmV0dXJuIHByb21pc2U7Ci19Ci0KLUpTQzo6
SlNWYWx1ZSBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckV2YWx1YXRlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVy
LCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgbW9kdWxlUmVjb3JkLCBKU0M6
OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmpl
Y3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAgIGlm
IChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRvY3Vt
ZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuZXZhbHVhdGUo
Z2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgbW9kdWxlUmVjb3JkLCBzY3Jp
cHRGZXRjaGVyKTsKLSAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwotfQotCi1KU0M6OkpT
SW50ZXJuYWxQcm9taXNlKiBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1N0cmluZyogbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJiBzb3VyY2VPcmlnaW4pCi17Ci0gICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6Ompz
Q2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9j
dW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAg
ICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmlt
cG9ydE1vZHVsZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgcGFyYW1l
dGVycywgc291cmNlT3JpZ2luKSk7Ci0gICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogcHJvbWlz
ZSA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRl
cm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7Ci0gICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHByb21p
c2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOwotICAgIHJldHVybiBwcm9t
aXNlOwotfQotCi1KU0M6OkpTT2JqZWN0KiBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckNy
ZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxl
S2V5LCBKU0M6OkpTTW9kdWxlUmVjb3JkKiBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3Jp
cHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anND
YXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1
bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAg
ICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5jcmVhdGVJbXBvcnRNZXRhUHJvcGVy
dGllcyhnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQs
IHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9iYWxP
YmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVyZSgp
KTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAppbmRleCAzZWY5ODBkZDI3ZjZiMjEzOTg3MDA4YmE0NzZj
OGNhNjlmMmYwYjY0Li41MTQyYjFjN2RjMjVjMjJmZTk3ODk1ZTc1YWUyMmVmNGQxZTU4OWQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAtOTks
MTIgKzk5LDYgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNET01XaW5kb3dCYXNlIDogcHVibGlj
IEpTRE9NR2xvYmFsT2JqZWN0IHsKIHByaXZhdGU6CiAgICAgdXNpbmcgUmVzcG9uc2VDYWxsYmFj
ayA9IFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBjaGFyKiwgc2l6ZV90KT47CiAKLSAgICBzdGF0
aWMgSlNDOjpJZGVudGlmaWVyIG1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlND
OjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9h
ZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6
OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMgSlNDOjpK
U1ZhbHVlIG1vZHVsZUxvYWRlckV2YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpT
TW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7
Ci0gICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVsZUxvYWRlckltcG9ydE1v
ZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNT
dHJpbmcqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJik7Ci0gICAgc3Rh
dGljIEpTQzo6SlNPYmplY3QqIG1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVz
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVl
LCBKU0M6OkpTTW9kdWxlUmVjb3JkKiwgSlNDOjpKU1ZhbHVlKTsKLQogICAgIFJlZlB0cjxET01X
aW5kb3c+IG1fd3JhcHBlZDsKICAgICBSZWZQdHI8RXZlbnQ+IG1fY3VycmVudEV2ZW50OwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2Nv
cGVCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2Nv
cGVCYXNlLmNwcAppbmRleCA0MmIyNmM5ZjRlYTIxNjIwN2RlNGM4NjgyMGI4YTgxYjYwMzViN2Vi
Li4yZDc5M2ZmZjIxODUzYThhMWE3ODgwNjY3MjUwZjU3ZTc1MmZlM2YzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3Bw
CkBAIC01OSwxMSArNTksMTEgQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNXb3Jr
ZXJHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUKICAgICAmamF2YVNj
cmlwdFJ1bnRpbWVGbGFncywKICAgICAmcXVldWVNaWNyb3Rhc2tUb0V2ZW50TG9vcCwKICAgICAm
c2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGltZW91dCwKLSAgICBudWxscHRyLCAvLyBtb2R1
bGVMb2FkZXJJbXBvcnRNb2R1bGUKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJSZXNvbHZl
Ci0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyRmV0Y2gKLSAgICBudWxscHRyLCAvLyBtb2R1
bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcwotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckV2YWx1YXRlCisgICAgJm1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSwKKyAgICAmbW9k
dWxlTG9hZGVyUmVzb2x2ZSwKKyAgICAmbW9kdWxlTG9hZGVyRmV0Y2gsCisgICAgJm1vZHVsZUxv
YWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzLAorICAgICZtb2R1bGVMb2FkZXJFdmFsdWF0
ZSwKICAgICAmcHJvbWlzZVJlamVjdGlvblRyYWNrZXIsCiAgICAgJnJlcG9ydFVuY2F1Z2h0RXhj
ZXB0aW9uQXRFdmVudExvb3AsCiAgICAgJmN1cnJlbnRTY3JpcHRFeGVjdXRpb25Pd25lciwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3Bl
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29w
ZUJhc2UuY3BwCmluZGV4IDM1ZmE2ZTMyNzdmYjBkNGJlMGUwZTFlZGM0MzcyMmVkYWRmYzhhZjIu
LjlmYWVjOTU5YzM5ZDE3NDgxODFjOTg2NTAwM2Q1YTg2ZjE3ZjVlM2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNw
cApAQCAtNDksMTEgKzQ5LDExIEBAIGNvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIEpTV29y
a2xldEdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsCiAgICAgJmphdmFT
Y3JpcHRSdW50aW1lRmxhZ3MsCiAgICAgbnVsbHB0ciwgLy8gcXVldWVNaWNyb3Rhc2tUb0V2ZW50
TG9vcAogICAgICZzaG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LAotICAgIG51bGxw
dHIsIC8vIG1vZHVsZUxvYWRlckltcG9ydE1vZHVsZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxv
YWRlclJlc29sdmUKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJGZXRjaAotICAgIG51bGxw
dHIsIC8vIG1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyRXZhbHVhdGUKKyAgICAmbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxl
LAorICAgICZtb2R1bGVMb2FkZXJSZXNvbHZlLAorICAgICZtb2R1bGVMb2FkZXJGZXRjaCwKKyAg
ICAmbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMsCisgICAgJm1vZHVsZUxv
YWRlckV2YWx1YXRlLAogICAgICZwcm9taXNlUmVqZWN0aW9uVHJhY2tlciwKICAgICAmcmVwb3J0
VW5jYXVnaHRFeGNlcHRpb25BdEV2ZW50TG9vcCwKICAgICAmY3VycmVudFNjcmlwdEV4ZWN1dGlv
bk93bmVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2Ny
aXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2Fk
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mYTkxMGU5NDliN2FjMWEzOGVkZWVjYjAzZGViNmVlODk0Y2NlYjBk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2Ny
aXB0TG9hZGVyLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRj
aFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRGZXRjaGVyLmg+
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CisKK2NsYXNzIE1vZHVsZVNjcmlwdExvYWRl
ciA6IHB1YmxpYyBSZWZDb3VudGVkPE1vZHVsZVNjcmlwdExvYWRlcj4geworcHVibGljOgorICAg
IHZpcnR1YWwgfk1vZHVsZVNjcmlwdExvYWRlcigpID0gZGVmYXVsdDsKKworICAgIHZvaWQgY2xl
YXJDbGllbnQoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fY2xpZW50KTsKKyAgICAgICAgbV9j
bGllbnQgPSBudWxscHRyOworICAgIH0KKworICAgIEpTQzo6U2NyaXB0RmV0Y2hlciYgc2NyaXB0
RmV0Y2hlcigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hlci5nZXQoKTsgfQorICAgIE1vZHVsZUZl
dGNoUGFyYW1ldGVycyogcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsg
fQorCitwcm90ZWN0ZWQ6CisgICAgTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRl
ckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIEpTQzo6U2NyaXB0RmV0
Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzKQorICAgICAgICA6IG1fY2xpZW50KCZjbGllbnQpCisgICAgICAgICwgbV9wcm9taXNl
KCZwcm9taXNlKQorICAgICAgICAsIG1fc2NyaXB0RmV0Y2hlcihzY3JpcHRGZXRjaGVyKQorICAg
ICAgICAsIG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRlcnMpKQorICAgIHsKKyAgICB9CisK
KyAgICBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQqIG1fY2xpZW50OworICAgIFJlZlB0cjxEZWZl
cnJlZFByb21pc2U+IG1fcHJvbWlzZTsKKyAgICBSZWY8SlNDOjpTY3JpcHRGZXRjaGVyPiBtX3Nj
cmlwdEZldGNoZXI7CisgICAgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4gbV9wYXJhbWV0
ZXJzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
OTk1ZjQ4ZWUzZDFlMDJjMWQ4YzljOWRhMmJkNTgyMzZmM2JhMDdkCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgK
QEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNb2R1
bGVTY3JpcHRMb2FkZXI7CitjbGFzcyBEZWZlcnJlZFByb21pc2U7CisKK2NsYXNzIE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50KCkgPSBkZWZhdWx0OworCisgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVk
KE1vZHVsZVNjcmlwdExvYWRlciYsIFVSTCYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPikgPSAwOwor
fTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9k
dWxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxv
YWRlci5jcHAKaW5kZXggYWE1YjgwYjU4NmI3OWUwZTU3NTAxY2Q1MTA3OGRmMjVhNjI1ZTVkOS4u
YjhiZTI1ZDcyNzFhZWM1OWQ2NTFhOGJmNmMxMTllY2UyMmI1ZDg5NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCkBAIC0yOSw3ICsy
OSw2IEBACiAjaW5jbHVkZSAiQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSAi
Q2FjaGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0RmV0Y2hlci5oIgotI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJKU0RPTUJpbmRp
bmcuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgpAQCAtNDEsNiArNDAsOSBA
QAogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTdWJyZXNvdXJjZUlu
dGVncml0eS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKKyNpbmNsdWRlICJX
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRGZXRjaGVy
LmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQ29tcGxldGlvbi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQ
cm9taXNlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNNb2R1bGVSZWNvcmQuaD4KQEAg
LTUyLDggKzU0LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TY3JpcHRNb2R1bGVMb2Fk
ZXI6OlNjcmlwdE1vZHVsZUxvYWRlcihEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgOiBtX2RvY3Vt
ZW50KGRvY3VtZW50KQorU2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgT3duZXJUeXBlIG93bmVyVHlwZSkKKyAgICA6
IG1fY29udGV4dChjb250ZXh0KQorICAgICwgbV9vd25lclR5cGUob3duZXJUeXBlKQogewogfQog
CkBAIC02OCw3ICs3MSw3IEBAIHN0YXRpYyBib29sIGlzUm9vdE1vZHVsZShKU0M6OkpTVmFsdWUg
aW1wb3J0ZXJNb2R1bGVLZXkpCiAgICAgcmV0dXJuIGltcG9ydGVyTW9kdWxlS2V5LmlzU3ltYm9s
KCkgfHwgaW1wb3J0ZXJNb2R1bGVLZXkuaXNVbmRlZmluZWQoKTsKIH0KIAotc3RhdGljIEV4cGVj
dGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKERvY3VtZW50JiBkb2N1bWVu
dCwgY29uc3QgU3RyaW5nJiBzcGVjaWZpZXIsIGNvbnN0IFVSTCYgYmFzZVVSTCkKK3N0YXRpYyBF
eHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93bmVyVHlwZSBvd25lclR5
cGUsIGNvbnN0IFN0cmluZyYgc3BlY2lmaWVyLCBjb25zdCBVUkwmIGJhc2VVUkwpCiB7CiAgICAg
Ly8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1s
I3Jlc29sdmUtYS1tb2R1bGUtc3BlY2lmaWVyCiAKQEAgLTc5LDcgKzgyLDEyIEBAIHN0YXRpYyBF
eHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihEb2N1bWVudCYgZG9j
dW1lbnQsIGNvbnN0IFN0CiAgICAgaWYgKCFzcGVjaWZpZXIuc3RhcnRzV2l0aCgnLycpICYmICFz
cGVjaWZpZXIuc3RhcnRzV2l0aCgiLi8iKSAmJiAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoIi4uLyIp
KQogICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQobWFrZVN0cmluZygiTW9kdWxlIHNwZWNp
ZmllciwgJyJfcywgc3BlY2lmaWVyLCAiJyBkb2VzIG5vdCBzdGFydCB3aXRoIFwiL1wiLCBcIi4v
XCIsIG9yIFwiLi4vXCIuIFJlZmVyZW5jZWQgZnJvbSAiX3MsIGJhc2VVUkwuc3RyaW5nKCkpKTsK
IAotICAgIGF1dG8gcmVzdWx0ID0gZG9jdW1lbnQuY29tcGxldGVVUkwoc3BlY2lmaWVyLCBiYXNl
VVJMKTsKKyAgICBVUkwgcmVzdWx0OworICAgIGlmIChvd25lclR5cGUgPT0gU2NyaXB0TW9kdWxl
TG9hZGVyOjpPd25lclR5cGU6OkRvY3VtZW50KQorICAgICAgICByZXN1bHQgPSBkb3duY2FzdDxE
b2N1bWVudD4oY29udGV4dCkuY29tcGxldGVVUkwoc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBl
bHNlCisgICAgICAgIHJlc3VsdCA9IFVSTChiYXNlVVJMLCBzcGVjaWZpZXIpOworCiAgICAgaWYg
KCFyZXN1bHQuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQobWFrZVN0
cmluZygiTW9kdWxlIG5hbWUsICciX3MsIHJlc3VsdC5zdHJpbmcoKSwgIicgZG9lcyBub3QgcmVz
b2x2ZSB0byBhIHZhbGlkIFVSTC4iX3MpKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTA3LDcg
KzExNSw3IEBAIEpTQzo6SWRlbnRpZmllciBTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc29sdmUoSlND
OjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPYmplY3QsCiAgICAgVVJMIGJhc2VVUkwgPSByZXNw
b25zZVVSTEZyb21SZXF1ZXN0VVJMKCpqc0dsb2JhbE9iamVjdCwgaW1wb3J0ZXJNb2R1bGVLZXkp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKLSAgICBhdXRvIHJlc3Vs
dCA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIobV9kb2N1bWVudCwgc3BlY2lmaWVyLCBiYXNlVVJM
KTsKKyAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIobV9jb250ZXh0LCBt
X293bmVyVHlwZSwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKICAgICBpZiAoIXJlc3VsdCkgewogICAg
ICAgICBKU0M6OnRocm93VHlwZUVycm9yKGpzR2xvYmFsT2JqZWN0LCBzY29wZSwgcmVzdWx0LmVy
cm9yKCkpOwogICAgICAgICByZXR1cm4geyB9OwpAQCAtMTYxLDEzICsxNjksMTkgQEAgSlNDOjpK
U0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaChKU0M6OkpTR2xvYmFs
T2JqZWN0KiBqc0dsb2JhbE8KICAgICBpZiAoYXV0byogc2NyaXB0RmV0Y2hQYXJhbWV0ZXJzID0g
SlNDOjpqc0R5bmFtaWNDYXN0PEpTQzo6SlNTY3JpcHRGZXRjaFBhcmFtZXRlcnMqPih2bSwgcGFy
YW1ldGVycykpCiAgICAgICAgIHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzID0gc3RhdGljX2Nhc3Q8
TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzKj4oJnNjcmlwdEZldGNoUGFyYW1ldGVycy0+cGFyYW1ldGVy
cygpKTsKIAotICAgIGF1dG8gbG9hZGVyID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVh
dGUoKnRoaXMsIGRlZmVycmVkLmdldCgpLCAqc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hl
cio+KEpTQzo6anNDYXN0PEpTQzo6SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZl
dGNoZXIoKSksIFdURk1vdmUodG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsKLSAgICBtX2xvYWRl
cnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOwotICAgIGlmICghbG9hZGVyLT5sb2FkKG1fZG9jdW1l
bnQsIGNvbXBsZXRlZFVSTCkpIHsKLSAgICAgICAgbG9hZGVyLT5jbGVhckNsaWVudCgpOwotICAg
ICAgICBtX2xvYWRlcnMucmVtb3ZlKFdURk1vdmUobG9hZGVyKSk7Ci0gICAgICAgIHJlamVjdFRv
UHJvcGFnYXRlTmV0d29ya0Vycm9yKGRlZmVycmVkLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsK
LSAgICAgICAgcmV0dXJuIGpzUHJvbWlzZTsKKyAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJU
eXBlOjpEb2N1bWVudCkgeworICAgICAgICBhdXRvIGxvYWRlciA9IENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19jYXN0PENhY2hl
ZFNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlw
dEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7
CisgICAgICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7CisgICAgICAgIGlmICgh
bG9hZGVyLT5sb2FkKGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLCBXVEZNb3ZlKGNvbXBs
ZXRlZFVSTCkpKSB7CisgICAgICAgICAgICBsb2FkZXItPmNsZWFyQ2xpZW50KCk7CisgICAgICAg
ICAgICBtX2xvYWRlcnMucmVtb3ZlKFdURk1vdmUobG9hZGVyKSk7CisgICAgICAgICAgICByZWpl
Y3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihkZWZlcnJlZC5nZXQoKSwgTW9kdWxlRmV0Y2hGYWls
dXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJf
cyk7CisgICAgICAgICAgICByZXR1cm4ganNQcm9taXNlOworICAgICAgICB9CisgICAgfSBlbHNl
IHsKKyAgICAgICAgYXV0byBsb2FkZXIgPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0
ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNfY2FzdDxXb3JrZXJTY3JpcHRGZXRjaGVy
Kj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNoZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0
Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFyYW1ldGVycykpOworICAgICAgICBtX2xv
YWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOworICAgICAgICBsb2FkZXItPmxvYWQobV9jb250
ZXh0LCBXVEZNb3ZlKGNvbXBsZXRlZFVSTCkpOwogICAgIH0KIAogICAgIHJldHVybiBqc1Byb21p
c2U7CkBAIC0xNzYsNyArMTkwLDcgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9k
dWxlTG9hZGVyOjpmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE8KIFVSTCBTY3Jp
cHRNb2R1bGVMb2FkZXI6Om1vZHVsZVVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9i
amVjdCwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleVZhbHVlKQogewogICAgIGlmIChtb2R1bGVLZXlW
YWx1ZS5pc1N5bWJvbCgpKQotICAgICAgICByZXR1cm4gbV9kb2N1bWVudC51cmwoKTsKKyAgICAg
ICAgcmV0dXJuIG1fY29udGV4dC51cmwoKTsKIAogICAgIEFTU0VSVChtb2R1bGVLZXlWYWx1ZS5p
c1N0cmluZygpKTsKICAgICByZXR1cm4gVVJMKFVSTCgpLCBhc1N0cmluZyhtb2R1bGVLZXlWYWx1
ZSktPnZhbHVlKCZqc0dsb2JhbE9iamVjdCkpOwpAQCAtMTg3LDggKzIwMSwxMSBAQCBVUkwgU2Ny
aXB0TW9kdWxlTG9hZGVyOjpyZXNwb25zZVVSTEZyb21SZXF1ZXN0VVJMKEpTQzo6SlNHbG9iYWxP
YmplY3QmIGpzR2xvYmFsTwogICAgIEpTQzo6Vk0mIHZtID0ganNHbG9iYWxPYmplY3Qudm0oKTsK
ICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAoaXNS
b290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkKLSAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQuYmFz
ZVVSTCgpOworICAgIGlmIChpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKSB7CisgICAgICAg
IGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KQorICAgICAgICAgICAgcmV0
dXJuIGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmJhc2VVUkwoKTsKKyAgICAgICAgcmV0
dXJuIG1fY29udGV4dC51cmwoKTsKKyAgICB9CiAKICAgICBBU1NFUlQoIWlzUm9vdE1vZHVsZSht
b2R1bGVLZXlWYWx1ZSkpOwogICAgIEFTU0VSVChtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKTsK
QEAgLTIxOSw4ICsyMzYsMTQgQEAgSlNDOjpKU1ZhbHVlIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZXZh
bHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPYmplY3QsIEoKICAgICBpZiAoIXNv
dXJjZVVSTC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBKU0M6OnRocm93VHlwZUVycm9yKGpz
R2xvYmFsT2JqZWN0LCBzY29wZSwgIk1vZHVsZSBrZXkgaXMgYW4gaW52YWxpZCBVUkwuIl9zKTsK
IAotICAgIGlmIChhdXRvKiBmcmFtZSA9IG1fZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAgcmV0
dXJuIGZyYW1lLT5zY3JpcHQoKS5ldmFsdWF0ZU1vZHVsZShzb3VyY2VVUkwsICptb2R1bGVSZWNv
cmQpOworICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAg
ICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmZyYW1l
KCkpCisgICAgICAgICAgICByZXR1cm4gZnJhbWUtPnNjcmlwdCgpLmV2YWx1YXRlTW9kdWxlKHNv
dXJjZVVSTCwgKm1vZHVsZVJlY29yZCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgQVNTRVJUKGlz
PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPihtX2NvbnRleHQpKTsKKyAgICAgICAgaWYgKGF1
dG8qIHNjcmlwdCA9IGRvd25jYXN0PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPihtX2NvbnRl
eHQpLnNjcmlwdCgpKQorICAgICAgICAgICAgcmV0dXJuIHNjcmlwdC0+ZXZhbHVhdGVNb2R1bGUo
Km1vZHVsZVJlY29yZCk7CisgICAgfQogICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7CiB9
CiAKQEAgLTI0OCw4ICsyNzEsMTMgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9k
dWxlTG9hZGVyOjppbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganMKICAgICBVUkwg
YmFzZVVSTDsKICAgICBSZWZQdHI8SlNDOjpTY3JpcHRGZXRjaGVyPiBzY3JpcHRGZXRjaGVyOwog
ICAgIGlmIChzb3VyY2VPcmlnaW4uaXNOdWxsKCkpIHsKLSAgICAgICAgYmFzZVVSTCA9IG1fZG9j
dW1lbnQuYmFzZVVSTCgpOwotICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0
Y2hlcjo6Y3JlYXRlKG1fZG9jdW1lbnQuY2hhcnNldCgpKTsKKyAgICAgICAgaWYgKG1fb3duZXJU
eXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgICAgIGJhc2VVUkwgPSBkb3du
Y2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7CisgICAgICAgICAgICBzY3JpcHRG
ZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKGRvd25jYXN0PERvY3VtZW50Piht
X2NvbnRleHQpLmNoYXJzZXQoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBiYXNl
VVJMID0gbV9jb250ZXh0LnVybCgpOworICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IFdvcmtl
clNjcmlwdEZldGNoZXI6OmNyZWF0ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3Jp
Z2luKTsKKyAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIGJhc2VVUkwgPSBVUkwoVVJM
KCksIHNvdXJjZU9yaWdpbi5zdHJpbmcoKSk7CiAgICAgICAgIGlmICghYmFzZVVSTC5pc1ZhbGlk
KCkpCkBAIC0yNTcsMTQgKzI4NSwxOSBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRN
b2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqcwogCiAgICAg
ICAgIGlmIChzb3VyY2VPcmlnaW4uZmV0Y2hlcigpKQogICAgICAgICAgICAgc2NyaXB0RmV0Y2hl
ciA9IHNvdXJjZU9yaWdpbi5mZXRjaGVyKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNj
cmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUobV9kb2N1bWVudC5jaGFy
c2V0KCkpOworCisgICAgICAgIGlmICghc2NyaXB0RmV0Y2hlcikgeworICAgICAgICAgICAgaWYg
KG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpCisgICAgICAgICAgICAgICAgc2Ny
aXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShkb3duY2FzdDxEb2N1bWVu
dD4obV9jb250ZXh0KS5jaGFyc2V0KCkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpjcmVhdGUoRmV0Y2hPcHRp
b25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbik7CisgICAgICAgIH0KICAgICB9CiAgICAgQVNT
RVJUKGJhc2VVUkwuaXNWYWxpZCgpKTsKICAgICBBU1NFUlQoc2NyaXB0RmV0Y2hlcik7CiAKICAg
ICBhdXRvIHNwZWNpZmllciA9IG1vZHVsZU5hbWUtPnZhbHVlKGpzR2xvYmFsT2JqZWN0KTsKLSAg
ICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIobV9kb2N1bWVudCwgc3BlY2lm
aWVyLCBiYXNlVVJMKTsKKyAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIo
bV9jb250ZXh0LCBtX293bmVyVHlwZSwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKICAgICBpZiAoIXJl
c3VsdCkKICAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2UoZ2xvYmFsT2JqZWN0LCBUeXBlRXJy
b3IsIHJlc3VsdC5lcnJvcigpKTsKIApAQCAtMjg4LDYyICszMjEsMTA3IEBAIEpTQzo6SlNPYmpl
Y3QqIFNjcmlwdE1vZHVsZUxvYWRlcjo6Y3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpK
U0dsb2JhbE9iamVjCiAgICAgcmV0dXJuIG1ldGFQcm9wZXJ0aWVzOwogfQogCi12b2lkIFNjcmlw
dE1vZHVsZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiBs
b2FkZXIsIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IHByb21pc2UpCit2b2lkIFNjcmlwdE1vZHVs
ZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiBtb2R1bGVTY3JpcHRM
b2FkZXIsIFVSTCYmIHNvdXJjZVVSTCwgUmVmPERlZmVycmVkUHJvbWlzZT4gcHJvbWlzZSkKIHsK
ICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlz
Lmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAogCi0gICAgVVJMIHNvdXJjZVVSTCA9
IGxvYWRlci5zb3VyY2VVUkwoKTsKLSAgICBpZiAoIW1fbG9hZGVycy5yZW1vdmUoJmxvYWRlcikp
CisgICAgaWYgKCFtX2xvYWRlcnMucmVtb3ZlKCZtb2R1bGVTY3JpcHRMb2FkZXIpKQogICAgICAg
ICByZXR1cm47Ci0gICAgbG9hZGVyLmNsZWFyQ2xpZW50KCk7CisgICAgbW9kdWxlU2NyaXB0TG9h
ZGVyLmNsZWFyQ2xpZW50KCk7CiAKLSAgICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9hZGVyLmNh
Y2hlZFNjcmlwdCgpOworICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50
KSB7CisgICAgICAgIGF1dG8mIGxvYWRlciA9IHN0YXRpY19jYXN0PENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlciY+KG1vZHVsZVNjcmlwdExvYWRlcik7CisgICAgICAgIGF1dG8mIGNhY2hlZFNjcmlw
dCA9ICpsb2FkZXIuY2FjaGVkU2NyaXB0KCk7CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0LnJlc291
cmNlRXJyb3IoKS5pc0FjY2Vzc0NvbnRyb2woKSkgewotICAgICAgICBwcm9taXNlLT5yZWplY3Qo
VHlwZUVycm9yLCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1Pcmln
aW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIl9zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
KyAgICAgICAgaWYgKGNhY2hlZFNjcmlwdC5yZXNvdXJjZUVycm9yKCkuaXNBY2Nlc3NDb250cm9s
KCkpIHsKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2Uu
Z2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJDcm9zcy1vcmlnaW4g
c2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGlj
eS4iX3MpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoY2FjaGVk
U2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgewotICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdv
cmtFcnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIklt
cG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQuZXJyb3JPY2N1cnJlZCgpKSB7CisgICAgICAg
ICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBm
YWlsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgaWYgKGNh
Y2hlZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7Ci0gICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0
d29ya0Vycm9yKCpwcm9taXNlLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwg
IkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KKyAgICAgICAgaWYgKGNhY2hlZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7Cisg
ICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBN
b2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBz
Y3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQog
Ci0gICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlw
ZShjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgewotICAgICAgICAvLyBodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gt
YS1zaW5nbGUtbW9kdWxlLXNjcmlwdAotICAgICAgICAvLyBUaGUgcmVzdWx0IG9mIGV4dHJhY3Rp
bmcgYSBNSU1FIHR5cGUgZnJvbSByZXNwb25zZSdzIGhlYWRlciBsaXN0IChpZ25vcmluZyBwYXJh
bWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZS4KLSAgICAgICAgLy8gRm9yIGhp
c3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2VzIG5vdCBpbmNs
dWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3JpcHRzIHdpbGwg
ZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0eXBlLgotICAg
ICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2Ny
aXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBN
SU1FIHR5cGUuIikpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoIU1JTUVU
eXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKGNhY2hlZFNjcmlwdC5y
ZXNwb25zZSgpLm1pbWVUeXBlKCkpKSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwuc3Bl
Yy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9k
dWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlN
RSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykg
aXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlzdG9y
aWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUg
TUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWls
IHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAgICAg
ICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2Ny
aXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBN
SU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7CisgICAgICAgICAg
ICBpZiAoIW1hdGNoSW50ZWdyaXR5TWV0YWRhdGEoY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5p
bnRlZ3JpdHkoKSkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9y
LCBtYWtlU3RyaW5nKCJDYW5ub3QgbG9hZCBzY3JpcHQgIiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNj
cmlwdGlvbihjYWNoZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkpOworICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIFVS
TCByZXNwb25zZVVSTCA9IGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnVybCgpOworICAgICAgICAv
LyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3Vy
Y2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6
OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4K
KyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRp
cmVjdGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMDQ5MAorICAgICAgICBpZiAoIWNhY2hlZFNjcmlwdC5oYXNSZWRpcmVjdGlvbnMo
KSAmJiBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5zb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNl
OjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaGFz
RnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJh
Z21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7CisgICAgICAg
IH0KKworICAgICAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VVUkwu
c3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2
ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgewor
ICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmpl
Y3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VD
b2RlIHsgJmNhY2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVs
ZSwgbG9hZGVyLnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOworICAgICAgICB9
KTsKKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIpOworICAgICAgICBhdXRv
JiB3b3JrZXJTY3JpcHRMb2FkZXIgPSBsb2FkZXIuc2NyaXB0TG9hZGVyKCk7CiAKLSAgICBpZiAo
YXV0byogcGFyYW1ldGVycyA9IGxvYWRlci5wYXJhbWV0ZXJzKCkpIHsKLSAgICAgICAgaWYgKCFt
YXRjaEludGVncml0eU1ldGFkYXRhKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5
KCkpKSB7Ci0gICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5n
KCJDYW5ub3QgbG9hZCBzY3JpcHQgIiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNo
ZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkpOworICAgICAgICBpZiAod29ya2Vy
U2NyaXB0TG9hZGVyLmZhaWxlZCgpKSB7CisgICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9h
ZGVyLmVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkpIHsKKyAgICAgICAgICAgICAgICByZWplY3RU
b1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kOjpXYXNFcnJvcmVkLCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9z
cy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIl9zKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICh3b3JrZXJTY3JpcHRMb2Fk
ZXIuZXJyb3IoKS5pc0NhbmNlbGxhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgcmVqZWN0VG9Q
cm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2lu
ZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJf
cyk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRj
aEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWls
ZWQuIl9zKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgIH0KIAotICAgIFVS
TCByZXNwb25zZVVSTCA9IGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnVybCgpOwotICAgIC8vIElm
IHdlIGRvIG5vdCBoYXZlIHJlZGlyZWN0aW9uLCB3ZSBtdXN0IHJlc2VydmUgdGhlIHNvdXJjZSBV
UkwncyBmcmFnbWVudCBleHBsaWNpdGx5IGhlcmUgc2luY2UgUmVzb3VyY2VSZXNwb25zZTo6dXJs
KCkgaXMgdGhlIG9uZSB3aGVuIHdlIGZpcnN0IGNhY2hlIGl0IHRvIE1lbW9yeUNhY2hlLgotICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgdHJhY2sgZnJhZ21lbnRzIHRocm91Z2ggcmVkaXJlY3Rpb25z
LgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg0MjAK
LSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNDkwCi0g
ICAgaWYgKCFjYWNoZWRTY3JpcHQuaGFzUmVkaXJlY3Rpb25zKCkgJiYgY2FjaGVkU2NyaXB0LnJl
c3BvbnNlKCkuc291cmNlKCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29y
a2VyKSB7Ci0gICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCi0g
ICAgICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIoc291cmNlVVJMLmZy
YWdtZW50SWRlbnRpZmllcigpKTsKLSAgICB9CisgICAgICAgIGlmICghTUlNRVR5cGVSZWdpc3Ry
eTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUod29ya2VyU2NyaXB0TG9hZGVyLnJlc3Bv
bnNlTUlNRVR5cGUoKSkpIHsKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3
Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2Ny
aXB0CisgICAgICAgICAgICAvLyBUaGUgcmVzdWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5cGUg
ZnJvbSByZXNwb25zZSdzIGhlYWRlciBsaXN0IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBub3Qg
YSBKYXZhU2NyaXB0IE1JTUUgdHlwZS4KKyAgICAgICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJl
YXNvbnMsIGZldGNoaW5nIGEgY2xhc3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5
cGUgY2hlY2tpbmcuIEluIGNvbnRyYXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9h
ZCBpZiB0aGV5IGFyZSBub3Qgb2YgYSBjb3JyZWN0IE1JTUUgdHlwZS4KKyAgICAgICAgICAgIHBy
b21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIiciLCB3b3JrZXJTY3JpcHRMb2Fk
ZXIucmVzcG9uc2VNSU1FVHlwZSgpLCAiJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUg
dHlwZS4iKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIG1fcmVxdWVz
dFVSTFRvUmVzcG9uc2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwgV1RGTW92ZShyZXNw
b25zZVVSTCkpOwotICAgIHByb21pc2UtPnJlc29sdmVXaXRoQ2FsbGJhY2soWyZdIChKU0RPTUds
b2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3Vy
Y2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKLSAgICAgICAgICAgIEpTQzo6U291
cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyAmY2FjaGVkU2NyaXB0LCBKU0M6OlNvdXJjZVBy
b3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3Vy
Y2VDb2RlKCkgfSk7Ci0gICAgfSk7CisgICAgICAgIFVSTCByZXNwb25zZVVSTCA9IHdvcmtlclNj
cmlwdExvYWRlci5yZXNwb25zZVVSTCgpOworCisgICAgICAgIC8vIElmIHdlIGRvIG5vdCBoYXZl
IHJlZGlyZWN0aW9uLCB3ZSBtdXN0IHJlc2VydmUgdGhlIHNvdXJjZSBVUkwncyBmcmFnbWVudCBl
eHBsaWNpdGx5IGhlcmUgc2luY2UgUmVzb3VyY2VSZXNwb25zZTo6dXJsKCkgaXMgdGhlIG9uZSB3
aGVuIHdlIGZpcnN0IGNhY2hlIGl0IHRvIE1lbW9yeUNhY2hlLgorICAgICAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIHRyYWNrIGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KKyAgICAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODQyMAorICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNDkwCisgICAg
ICAgIGlmICghd29ya2VyU2NyaXB0TG9hZGVyLmlzUmVkaXJlY3RlZCgpICYmIHdvcmtlclNjcmlw
dExvYWRlci5yZXNwb25zZVNvdXJjZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2Vy
dmljZVdvcmtlcikgeworICAgICAgICAgICAgaWYgKHNvdXJjZVVSTC5oYXNGcmFnbWVudElkZW50
aWZpZXIoKSkKKyAgICAgICAgICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZp
ZXIoc291cmNlVVJMLmZyYWdtZW50SWRlbnRpZmllcigpKTsKKyAgICAgICAgfQorCisgICAgICAg
IG1fcmVxdWVzdFVSTFRvUmVzcG9uc2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwgcmVz
cG9uc2VVUkwpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNE
T01HbG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7CisgICAgICAgICAgICByZXR1cm4gSlND
OjpKU1NvdXJjZUNvZGU6OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52bSgpLAorICAgICAgICAgICAg
ICAgIEpTQzo6U291cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyB3b3JrZXJTY3JpcHRMb2Fk
ZXIuc2NyaXB0KCksIFdURk1vdmUocmVzcG9uc2VVUkwpLCB7IH0sIEpTQzo6U291cmNlUHJvdmlk
ZXJTb3VyY2VUeXBlOjpNb2R1bGUsIGxvYWRlci5zY3JpcHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNv
ZGUoKSB9KTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5oCmluZGV4IGRlMjlkMmY0YmYwOTZiNjBj
MzY5OTgwMzE2YzE0ODZiMjgyYWJmMDkuLmRmMzRkNTUxYTExY2Q5OGY0ZTIzNmEyYWExZjQ4Mjc5
ZDk2NGM2ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1v
ZHVsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVs
ZUxvYWRlci5oCkBAIC0yNSw4ICsyNSw4IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAi
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmgiCi0jaW5jbHVkZSAiQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVk
ZSAiTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SlNDSlNWYWx1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CkBAIC00NSwxNiArNDUsMTcgQEAgY2xhc3MgU291cmNlT3JpZ2luOwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIERvY3VtZW50OwogY2xhc3MgSlNET01HbG9iYWxP
YmplY3Q7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi1jbGFzcyBTY3JpcHRNb2R1
bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7
CitjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0TW9kdWxlTG9hZGVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgU2NyaXB0
TW9kdWxlTG9hZGVyKERvY3VtZW50Jik7CisgICAgZW51bSBjbGFzcyBPd25lclR5cGUgOiB1aW50
OF90IHsgRG9jdW1lbnQsIFdvcmtlck9yV29ya2xldCB9OworICAgIGV4cGxpY2l0IFNjcmlwdE1v
ZHVsZUxvYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgT3duZXJUeXBlKTsKICAgICB+U2Ny
aXB0TW9kdWxlTG9hZGVyKCk7CiAKLSAgICBEb2N1bWVudCYgZG9jdW1lbnQoKSB7IHJldHVybiBt
X2RvY3VtZW50OyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCgpIHsgcmV0
dXJuIG1fY29udGV4dDsgfQogCiAgICAgSlNDOjpJZGVudGlmaWVyIHJlc29sdmUoSlNDOjpKU0ds
b2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFt
ZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0
Y2hlcik7CiAgICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogZmV0Y2goSlNDOjpKU0dsb2JhbE9i
amVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6
OkpTVmFsdWUgcGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwpAQCAtNjMs
MTMgKzY0LDE1IEBAIGNsYXNzIFNjcmlwdE1vZHVsZUxvYWRlciBmaW5hbCA6IHByaXZhdGUgQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKICAgICBKU0M6OkpTT2JqZWN0KiBjcmVhdGVJ
bXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxv
YWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7
CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXImLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPikgZmluYWw7CisgICAgdm9pZCBub3RpZnlG
aW5pc2hlZChNb2R1bGVTY3JpcHRMb2FkZXImLCBVUkwmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4p
IGZpbmFsOworCiAgICAgVVJMIG1vZHVsZVVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpK
U1ZhbHVlKTsKICAgICBVUkwgcmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTChKU0M6OkpTR2xvYmFs
T2JqZWN0JiwgSlNDOjpKU1ZhbHVlKTsKIAotICAgIERvY3VtZW50JiBtX2RvY3VtZW50OworICAg
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1fY29udGV4dDsKICAgICBIYXNoTWFwPFN0cmluZywg
VVJMPiBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwOwotICAgIEhhc2hTZXQ8UmVmPENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcj4+IG1fbG9hZGVyczsKKyAgICBIYXNoU2V0PFJlZjxNb2R1bGVT
Y3JpcHRMb2FkZXI+PiBtX2xvYWRlcnM7CisgICAgT3duZXJUeXBlIG1fb3duZXJUeXBlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0U291cmNlQ29kZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0U291cmNlQ29kZS5oCmluZGV4IGM3MDQ2MjZmYjczM2RiNDcyYmRhNTAyMzYyNDFhNmU3
NDBlMjc4MmIuLjEwZmE3ZThiNDQ5YzhiODQ5ZWIzN2NjMWYyYzg2NmZhODkzYWFkNmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKQEAgLTU3LDcg
KzU3LDcgQEAgY2xhc3MgU2NyaXB0U291cmNlQ29kZSB7CiAgICAgewogICAgIH0KIAotICAgIFNj
cmlwdFNvdXJjZUNvZGUoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFVSTCYmIHVybCwgY29uc3QgVGV4
dFBvc2l0aW9uJiBzdGFydFBvc2l0aW9uLCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZSBz
b3VyY2VUeXBlLCBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hlcj4mJiBzY3JpcHRGZXRjaGVyKQorICAg
IFNjcmlwdFNvdXJjZUNvZGUoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFVSTCYmIHVybCwgY29uc3Qg
VGV4dFBvc2l0aW9uJiBzdGFydFBvc2l0aW9uLCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlw
ZSBzb3VyY2VUeXBlLCBSZWY8SlNDOjpTY3JpcHRGZXRjaGVyPiYmIHNjcmlwdEZldGNoZXIpCiAg
ICAgICAgIDogbV9wcm92aWRlcihKU0M6OlN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291
cmNlLCBKU0M6OlNvdXJjZU9yaWdpbiB7IHVybCwgV1RGTW92ZShzY3JpcHRGZXRjaGVyKSB9LCB1
cmwuc3RyaW5nKCksIHN0YXJ0UG9zaXRpb24sIHNvdXJjZVR5cGUpKQogICAgICAgICAsIG1fY29k
ZShtX3Byb3ZpZGVyLmNvcHlSZWYoKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQo
KSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKQogICAgIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZkMjc0OTNhNjAxN2Y4MDdkMDAxZGZmODM2ZjRmMjUxNzhhMTZlMjYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisKKyNp
bmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxk
LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNs
dWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1l
dGVycy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIlNj
cmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRNb2R1bGVMb2FkZXIuaCIKKyNpbmNs
dWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0RmV0Y2hlci5o
IgorI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1JlZjxXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI+IFdvcmtlck1vZHVsZVNjcmlwdExvYWRl
cjo6Y3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21p
c2UmIHByb21pc2UsIFdvcmtlclNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxN
b2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9taXNlLCBzY3JpcHRG
ZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKSk7Cit9CisKK1dvcmtlck1vZHVsZVNjcmlwdExv
YWRlcjo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYg
Y2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIFdvcmtlclNjcmlwdEZldGNoZXImIHNj
cmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykK
KyAgICA6IE1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIs
IFdURk1vdmUocGFyYW1ldGVycykpCisgICAgLCBtX3NjcmlwdExvYWRlcihXb3JrZXJTY3JpcHRM
b2FkZXI6OmNyZWF0ZSgpKQoreworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6On5Xb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIoKQoreworICAgIG1fc2NyaXB0TG9hZGVyLT5jYW5jZWwoKTsK
K30KKworYm9vbCBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgVVJMJiYgc291cmNlVVJMKQoreworICAgIG1fc291cmNlVVJMID0g
V1RGTW92ZShzb3VyY2VVUkwpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgeyBtX3Nv
dXJjZVVSTCB9OworCisgICAgRmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKKyAgICBmZXRjaE9w
dGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6Q29yczsKKyAgICBmZXRjaE9wdGlvbnMu
Y2FjaGUgPSBGZXRjaE9wdGlvbnM6OkNhY2hlOjpEZWZhdWx0OworICAgIGZldGNoT3B0aW9ucy5y
ZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6UmVkaXJlY3Q6OkZvbGxvdzsKKyAgICBmZXRjaE9wdGlv
bnMuY3JlZGVudGlhbHMgPSBzdGF0aWNfY2FzdDxXb3JrZXJTY3JpcHRGZXRjaGVyJj4oc2NyaXB0
RmV0Y2hlcigpKS5jcmVkZW50aWFscygpOworICAgIGF1dG8gY29udGVudFNlY3VyaXR5UG9saWN5
RW5mb3JjZW1lbnQgPSBjb250ZXh0LnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3Jj
ZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ2hpbGRTcmNEaXJl
Y3RpdmU7CisKKyAgICBTdHJpbmcgdGFza01vZGUgPSAibG9hZE1vZHVsZXNJbldvcmtlck9yV29y
a2xldE1vZGUiX3M7CisgICAgbV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250
ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1
cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMsIFdU
Rk1vdmUodGFza01vZGUpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBXb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKCkKK3sKKyAgICBBU1NFUlQobV9wcm9taXNl
KTsKKworICAgIGF1dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpOworICAgIGlmICht
X2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPm5vdGlmeUZpbmlzaGVkKCp0aGlzLCBXVEZNb3Zl
KG1fc291cmNlVVJMKSwgbV9wcm9taXNlLnJlbGVhc2VOb25OdWxsKCkpOworfQorCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYxMDA4MGVlOTMxYmZiMGIzM2E5ZjU0NzNiMjk3Y2EyZGMyZTQ3NTgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXIuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJNb2R1bGVTY3JpcHRMb2FkZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJT
Y3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1VS
TC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKK2Ns
YXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzOworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dDsKK2NsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKKworY2xhc3MgV29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyIGZpbmFsIDogcHVibGljIE1vZHVsZVNjcmlwdExvYWRlciwgcHJpdmF0ZSBXb3JrZXJT
Y3JpcHRMb2FkZXJDbGllbnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyPiBjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQ
cm9taXNlJiwgV29ya2VyU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRl
cnM+JiYpOworCisgICAgdmlydHVhbCB+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKCk7CisKKyAg
ICBib29sIGxvYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFVSTCYmIHNvdXJjZVVSTCk7CisK
KyAgICBXb3JrZXJTY3JpcHRMb2FkZXImIHNjcmlwdExvYWRlcigpIHsgcmV0dXJuIG1fc2NyaXB0
TG9hZGVyLmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
KE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIFdvcmtlclNjcmlw
dEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKworICAgIHZvaWQg
ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
KSBmaW5hbCB7IH0KKyAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKCkgZmluYWw7CisKKyAgICBSZWY8
V29ya2VyU2NyaXB0TG9hZGVyPiBtX3NjcmlwdExvYWRlcjsKKyAgICBVUkwgbV9zb3VyY2VVUkw7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZiNTRlZjg5NGI1MzNl
YWZjZWJjMWExNGJmMjc2YTAzZWNiYTEwYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaApAQCAtMCwwICsxLDg0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJMb2FkYWJsZVNjcmlwdC5oIgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEZldGNoZXIuaD4KKyNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBDYWNoZWRTY3JpcHQ7CitjbGFzcyBEb2N1bWVudDsKKworY2xh
c3MgV29ya2VyU2NyaXB0RmV0Y2hlciBmaW5hbCA6IHB1YmxpYyBKU0M6OlNjcmlwdEZldGNoZXIg
eworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V29ya2VyU2NyaXB0RmV0Y2hlcj4gY3JlYXRlKEZl
dGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMpCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXb3JrZXJTY3JpcHRGZXRjaGVyKGNyZWRlbnRpYWxzKSk7CisgICAg
fQorCisgICAgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFscygpIGNvbnN0IHsg
cmV0dXJuIG1fY3JlZGVudGlhbHM7IH0KKworICAgIHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChV
bmlxdWVkU3RyaW5nSW1wbCYgbW9kdWxlS2V5KQorICAgIHsKKyAgICAgICAgbV9tb2R1bGVLZXkg
PSAmbW9kdWxlS2V5OworICAgICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2
b2lkIG5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yJiYgZXJyb3IpCisgICAg
eworICAgICAgICBtX2Vycm9yID0gV1RGTW92ZShlcnJvcik7CisgICAgICAgIG1faXNMb2FkZWQg
PSB0cnVlOworICAgIH0KKworICAgIHZvaWQgbm90aWZ5TG9hZFdhc0NhbmNlbGVkKCkKKyAgICB7
CisgICAgICAgIG1fd2FzQ2FuY2VsZWQgPSB0cnVlOworICAgICAgICBtX2lzTG9hZGVkID0gdHJ1
ZTsKKyAgICB9CisKKyAgICBib29sIGlzTG9hZGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0xvYWRl
ZDsgfQorICAgIE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpFcnJvcj4gZXJyb3IoKSBjb25zdCB7
IHJldHVybiBtX2Vycm9yOyB9CisgICAgYm9vbCB3YXNDYW5jZWxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fd2FzQ2FuY2VsZWQ7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogbW9kdWxlS2V5KCkgY29u
c3QgeyByZXR1cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0KKworcHJvdGVjdGVkOgorICAgIFdvcmtl
clNjcmlwdEZldGNoZXIoRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFscykKKyAg
ICAgICAgOiBtX2NyZWRlbnRpYWxzKGNyZWRlbnRpYWxzKQorICAgIHsKKyAgICB9CisKK3ByaXZh
dGU6CisgICAgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzOworICAgIFJl
ZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4gbV9tb2R1bGVLZXk7CisgICAgT3B0aW9uYWw8TG9hZGFi
bGVTY3JpcHQ6OkVycm9yPiBtX2Vycm9yOworICAgIGJvb2wgbV93YXNDYW5jZWxlZCB7IGZhbHNl
IH07CisgICAgYm9vbCBtX2lzTG9hZGVkIHsgZmFsc2UgfTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDM4ZWMxOGI5ZjRiNmI3MjI5ZDRl
MmZlZGM0MzQ3YmM2OGI2Y2EwMWQuLjhmM2ZjN2FiZWUwZmY5ODRhOTQ3MDIxOGZmNDY4MzMxNTlk
MzJiZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjE1LDcgKzYxNSw3IEBAIERvY3Vt
ZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IFNldHRpbmdzJiBzZXR0aW5ncywgY29u
c3QgVVJMJiB1cmwsIERvY3VtCiAgICAgLCBtX2RvY3VtZW50Q3JlYXRpb25UaW1lKE1vbm90b25p
Y1RpbWU6Om5vdygpKQogI2VuZGlmCiAgICAgLCBtX3NjcmlwdFJ1bm5lcihtYWtlVW5pcXVlPFNj
cmlwdFJ1bm5lcj4oKnRoaXMpKQotICAgICwgbV9tb2R1bGVMb2FkZXIobWFrZVVuaXF1ZTxTY3Jp
cHRNb2R1bGVMb2FkZXI+KCp0aGlzKSkKKyAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8
U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhpcywgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGU6
OkRvY3VtZW50KSkKICNpZiBFTkFCTEUoWFNMVCkKICAgICAsIG1fYXBwbHlQZW5kaW5nWFNMVHJh
bnNmb3Jtc1RpbWVyKCp0aGlzLCAmRG9jdW1lbnQ6OmFwcGx5UGVuZGluZ1hTTFRyYW5zZm9ybXNU
aW1lckZpcmVkKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0
aW9uQ29kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaAppbmRleCBmNmI1
NThlYTgyZDc5MzY4ZTYxYWRiMDYwY2YwYjRlYTFkYmVhMjBjLi4xN2RlNzQzNDcyZjc3MzFiMDNj
OThmZWNlN2IxZWIxYjk2MDFlNzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXhj
ZXB0aW9uQ29kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgKQEAg
LTYxLDYgKzYxLDcgQEAgZW51bSBFeGNlcHRpb25Db2RlIHsKICAgICAvLyBTaW1wbGUgZXhjZXB0
aW9ucyAoaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jaWRsLWV4Y2VwdGlvbnMpLgog
ICAgIFJhbmdlRXJyb3IsCiAgICAgVHlwZUVycm9yLAorICAgIEpTU3ludGF4RXJyb3IsIC8vIERp
ZmZlcmVudCBmcm9tIERPTSBTWU5UQVhfRVJSLgogCiAgICAgLy8gTm9uLXN0YW5kYXJkIGVycm9y
LgogICAgIFN0YWNrT3ZlcmZsb3dFcnJvciwKQEAgLTExMSw2ICsxMTIsNyBAQCB0ZW1wbGF0ZTw+
IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU+IHsKICAgICBXZWJDb3Jl
OjpFeGNlcHRpb25Db2RlOjpOb3RBbGxvd2VkRXJyb3IsCiAgICAgV2ViQ29yZTo6RXhjZXB0aW9u
Q29kZTo6UmFuZ2VFcnJvciwKICAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlOjpUeXBlRXJyb3Is
CisgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6SlNTeW50YXhFcnJvciwKICAgICBXZWJDb3Jl
OjpFeGNlcHRpb25Db2RlOjpTdGFja092ZXJmbG93RXJyb3IsCiAgICAgV2ViQ29yZTo6RXhjZXB0
aW9uQ29kZTo6RXhpc3RpbmdFeGNlcHRpb25FcnJvcgogICAgID47CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAppbmRleCA5YTI1YzE2NTg4ZWVjYWQ2NzhmYjkx
MWVjODYyMmY0MjQyNTkyYjVhLi40OGVjMDg1MWE0NTdkOWJhNDc0NzNmZWMyOGQ3YjQ5MzEyYjc4
OGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKQEAg
LTg4LDE2ICs4OCw0IEBAIHZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmV4ZWN1dGUoU2NyaXB0
RWxlbWVudCYgc2NyaXB0RWxlbWVudCkKICAgICBzY3JpcHRFbGVtZW50LmV4ZWN1dGVNb2R1bGVT
Y3JpcHQoKnRoaXMpOwogfQogCi12b2lkIExvYWRhYmxlTW9kdWxlU2NyaXB0Ojpsb2FkKERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiByb290VVJMKQotewotICAgIGlmIChhdXRvKiBmcmFt
ZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxl
U2NyaXB0KCp0aGlzLCByb290VVJMLnN0cmluZygpLCBtX3BhcmFtZXRlcnMuY29weVJlZigpKTsK
LX0KLQotdm9pZCBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQs
IGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCi17Ci0gICAgaWYgKGF1dG8qIGZy
YW1lID0gZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1
bGVTY3JpcHQoKnRoaXMsIHNvdXJjZUNvZGUpOwotfQotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9M
b2FkYWJsZU1vZHVsZVNjcmlwdC5oCmluZGV4IGJiNzk5NTRkN2I5OWIwZWQwNmJmZTU1ZWY4NTRl
Y2NlMjFmMzU4NzcuLmQyNTM1OTYzZjY0OGIwMmE4YTAxZmQ2M2JiMWUzODEzODZjZWU0MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCkBAIC01MCwxNSArNTAs
MTQgQEAgY2xhc3MgTG9hZGFibGVNb2R1bGVTY3JpcHQgZmluYWwgOiBwdWJsaWMgTG9hZGFibGVT
Y3JpcHQgewogCiAgICAgdm9pZCBzZXRFcnJvcihFcnJvciYmKTsKIAotICAgIHZvaWQgbG9hZChE
b2N1bWVudCYsIGNvbnN0IFVSTCYgcm9vdFVSTCk7Ci0gICAgdm9pZCBsb2FkKERvY3VtZW50Jiwg
Y29uc3QgU2NyaXB0U291cmNlQ29kZSYpOwotCiAgICAgdm9pZCBub3RpZnlMb2FkQ29tcGxldGVk
KFVuaXF1ZWRTdHJpbmdJbXBsJik7CiAgICAgdm9pZCBub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxl
U2NyaXB0OjpFcnJvciYmKTsKICAgICB2b2lkIG5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpOwogCiAg
ICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1vZHVsZUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxl
S2V5LmdldCgpOyB9CiAKKyAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMoKSB7
IHJldHVybiBtX3BhcmFtZXRlcnMuZ2V0KCk7IH0KKwogcHJpdmF0ZToKICAgICBMb2FkYWJsZU1v
ZHVsZVNjcmlwdChjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGludGVncml0eSwg
UmVmZXJyZXJQb2xpY3ksIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBjb25zdCBTdHJp
bmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIGJvb2wgaXNJblVz
ZXJBZ2VudFNoYWRvd1RyZWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5k
ZXggMDU3NThiNjAwYzc1MjJiNDdmMzY0YmE2YTE4ZDM1ZjE3MzExMDdmOS4uNWU5OWYwZjU3Nzdi
M2IyMTU4ZGQwZmE0YmMzODI3NzZjZGIzNDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVt
ZW50LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkxvYWRhYmxlQ2xhc3NpY1Njcmlw
dC5oIgogI2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCiAjaW5jbHVkZSAiTUlNRVR5
cGVSZWdpc3RyeS5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1
ZGUgIlBlbmRpbmdTY3JpcHQuaCIKICNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3Mu
aCIKICNpbmNsdWRlICJTVkdTY3JpcHRFbGVtZW50LmgiCkBAIC0zNTEsOCArMzUyLDExIEBAIGJv
b2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVsZVNjcmlwdChjb25zdCBUZXh0UG9zaXRpb24m
IHNjcmlwdFN0YXJ0UG9zaXRpb24pCiAgICAgICAgICAgICBzY3JpcHRDaGFyc2V0KCksCiAgICAg
ICAgICAgICBtX2VsZW1lbnQubG9jYWxOYW1lKCksCiAgICAgICAgICAgICBtX2VsZW1lbnQuaXNJ
blVzZXJBZ2VudFNoYWRvd1RyZWUoKSk7Ci0gICAgICAgIHNjcmlwdC0+bG9hZChtX2VsZW1lbnQu
ZG9jdW1lbnQoKSwgbW9kdWxlU2NyaXB0Um9vdFVSTCk7CiAgICAgICAgIG1fbG9hZGFibGVTY3Jp
cHQgPSBXVEZNb3ZlKHNjcmlwdCk7CisgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IG1fZWxlbWVu
dC5kb2N1bWVudCgpLmZyYW1lKCkpIHsKKyAgICAgICAgICAgIGF1dG8mIHNjcmlwdCA9IGRvd25j
YXN0PExvYWRhYmxlTW9kdWxlU2NyaXB0PigqbV9sb2FkYWJsZVNjcmlwdC5nZXQoKSk7CisgICAg
ICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdChzY3JpcHQsIG1vZHVsZVNj
cmlwdFJvb3RVUkwuc3RyaW5nKCksIG1ha2VSZWYoc2NyaXB0LnBhcmFtZXRlcnMoKSkpOworICAg
ICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMzY3LDggKzM3MSw5IEBA
IGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVsZVNjcmlwdChjb25zdCBUZXh0UG9zaXRp
b24mIHNjcmlwdFN0YXJ0UG9zaXRpb24pCiAgICAgaWYgKCFjb250ZW50U2VjdXJpdHlQb2xpY3ku
YWxsb3dJbmxpbmVTY3JpcHQobV9lbGVtZW50LmRvY3VtZW50KCkudXJsKCkuc3RyaW5nKCksIG1f
c3RhcnRMaW5lTnVtYmVyLCBzb3VyY2VDb2RlLnNvdXJjZSgpLnRvU3RyaW5nV2l0aG91dENvcHlp
bmcoKSwgaGFzS25vd25Ob25jZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHNjcmlw
dC0+bG9hZChtX2VsZW1lbnQuZG9jdW1lbnQoKSwgc291cmNlQ29kZSk7CiAgICAgbV9sb2FkYWJs
ZVNjcmlwdCA9IFdURk1vdmUoc2NyaXB0KTsKKyAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1l
bnQuZG9jdW1lbnQoKS5mcmFtZSgpKQorICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVs
ZVNjcmlwdChkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4oKm1fbG9hZGFibGVTY3JpcHQu
Z2V0KCkpLCBzb3VyY2VDb2RlKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDI3MTdjODYxYzc0YjBmMmFlYmNk
ZTQwODcwMGUyYTlhMDM3Mzc1OTUuLjFiNjUzMmMzYjBlYWE4MGQ5YmQ0NmM2ZDQzMjEzNjk2MjFj
MDE5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAg
LTEwMSwxMCArMTAxLDEwIEBAIFRocmVhZGFibGVMb2FkZXJPcHRpb25zIFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zOjppc29sYXRlZENvcHkoKSBjb25zdAogfQogCiAKLVJlZlB0cjxUaHJlYWRhYmxl
TG9hZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgU3RyaW5n
JiYgcmVmZXJyZXIpCitSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQmIGNsaWVudCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIFN0cmluZyYmIHJlZmVycmVyLCBTdHJpbmcmJiB0YXNr
TW9kZSkKIHsKICAgICBpZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpIHx8IChpczxX
b3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtsZXRHbG9iYWxTY29w
ZT4oY29udGV4dCkud29ya2VyT3JXb3JrbGV0VGhyZWFkKCkpKQotICAgICAgICByZXR1cm4gV29y
a2VyVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PFdvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlJj4oY29udGV4dCksIGNsaWVudCwgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUo
KSwgV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9ucywgV1RGTW92ZShyZWZlcnJlcikpOworICAgICAg
ICByZXR1cm4gV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PFdvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlJj4oY29udGV4dCksIGNsaWVudCwgV1RGTW92ZSh0YXNrTW9k
ZSksIFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMsIFdURk1vdmUocmVmZXJyZXIpKTsKIAogICAg
IERvY3VtZW50KiBkb2N1bWVudCA9IG51bGxwdHI7CiAgICAgaWYgKGlzPFdvcmtsZXRHbG9iYWxT
Y29wZT4oY29udGV4dCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFk
YWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApp
bmRleCBjMmIyNDVjM2ViYjhiYzkzMGVmNGQxNzJiYTE1MDlhMTc5ZjFkN2E2Li4xYWM3MDRiNGMz
YjUwYjBmZmRhMDM0MjhjM2NlN2RhMTQ5ODgyNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyLmgKQEAgLTc0LDcgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxlTG9hZGVyKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKLSAgICAgICAgc3RhdGljIFJl
ZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmLCBTdHJpbmcmJiByZWZlcnJlciA9IFN0cmluZygpKTsKKyAgICAgICAg
c3RhdGljIFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3Qg
VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmLCBTdHJpbmcmJiByZWZlcnJlciA9IFN0cmluZygpLCBT
dHJpbmcmJiB0YXNrTW9kZSA9IHsgfSk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJ
c0RvbmUoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggYmY2ZTI3NmEzOWMyMzE1Zjg4OTBjNjMzMDMyOWQ2NDRk
ZmNhZWFhNS4uMDRmZGY1ODI3NDNlYjk3M2I1MjVkNTRjOGE4ZDhmMzdkODI1MjBmYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtNzQsNiArNzQsOCBAQCBpbmxpbmUgV29ya2VyOjpX
b3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdW50aW1lRmxhZ3Mg
cnVudGltZQogICAgICwgbV9pZGVudGlmaWVyKCJ3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRp
ZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCkpCiAgICAgLCBtX2NvbnRleHRQcm94eShX
b3JrZXJHbG9iYWxTY29wZVByb3h5OjpjcmVhdGUoKnRoaXMpKQogICAgICwgbV9ydW50aW1lRmxh
Z3MocnVudGltZUZsYWdzKQorICAgICwgbV90eXBlKG9wdGlvbnMudHlwZSkKKyAgICAsIG1fY3Jl
ZGVudGlhbHMob3B0aW9ucy5jcmVkZW50aWFscykKIHsKICAgICBzdGF0aWMgYm9vbCBhZGRlZExp
c3RlbmVyOwogICAgIGlmICghYWRkZWRMaXN0ZW5lcikgewpAQCAtMTE3LDEwICsxMTksMTUgQEAg
RXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IFdvcmtlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIEpTQzo6UnUKIAogICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7
CiAgICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW47
CisgICAgaWYgKHdvcmtlci0+bV90eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSkKKyAgICAgICAg
ZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gd29ya2VyLT5tX2NyZWRlbnRpYWxzOworICAgIGVs
c2UKKyAgICAgICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gRmV0Y2hPcHRpb25zOjpDcmVk
ZW50aWFsczo6U2FtZU9yaWdpbjsKICAgICBmZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9wdGlv
bnM6OkNhY2hlOjpEZWZhdWx0OwogICAgIGZldGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0
aW9uczo6UmVkaXJlY3Q6OkZvbGxvdzsKICAgICBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPSBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXI7Ci0gICAgd29ya2VyLT5tX3NjcmlwdExv
YWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1v
dmUoZmV0Y2hPcHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZp
Y2VXb3JrZXJzTW9kZTo6QWxsLCB3b3JrZXIpOworICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXIt
PmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZl
dGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29y
a2Vyc01vZGU6OkFsbCwgd29ya2VyLmdldCgpLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgp
KTsKKwogICAgIHJldHVybiB3b3JrZXI7CiB9CiAKQEAgLTIxOSw3ICsyMjYsMTMgQEAgdm9pZCBX
b3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGlj
eSA9IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKICAgICBpZiAoYXV0byBwb2xpY3kgPSBw
YXJzZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpLCBSZWZl
cnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCiAgICAgICAgIHJlZmVycmVyUG9saWN5ID0g
KnBvbGljeTsKLSAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2Ny
aXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2Fk
ZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBt
X3J1bnRpbWVGbGFncyk7CisKKyAgICBVUkwgcmVzcG9uc2VVUkwgPSBtX3NjcmlwdExvYWRlci0+
cmVzcG9uc2VVUkwoKTsKKyAgICBpZiAoIW1fc2NyaXB0TG9hZGVyLT5pc1JlZGlyZWN0ZWQoKSAm
JiBtX3NjcmlwdExvYWRlci0+cmVzcG9uc2VTb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpT
b3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAgICAgICAgaWYgKG1fc2NyaXB0TG9hZGVyLT51cmwo
KS5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkKKyAgICAgICAgICAgIHJlc3BvbnNlVVJMLnNldEZy
YWdtZW50SWRlbnRpZmllcihtX3NjcmlwdExvYWRlci0+dXJsKCkuZnJhZ21lbnRJZGVudGlmaWVy
KCkpOworICAgIH0KKyAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKHJl
c3BvbnNlVVJMLCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChyZXNwb25zZVVSTCksIGlzT25s
aW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV90eXBlLCBtX2NyZWRlbnRp
YWxzLCBtX3J1bnRpbWVGbGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3Jp
cHRJbXBvcnRlZCgqY29udGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3Jp
cHRMb2FkZXItPnNjcmlwdCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggNTNm
NWU2ZmZmMjdjOWZhM2U1YzBlMDFmMGY2YzQyYzZjYjZmOWQwZS4uMzhhNjIzYTk4ZGJhMzVmZjgw
MTNjZDZmYzhjODVjODEwMjA1MDIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC0yOSw5
ICsyOSwxMSBAQAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0
LmgiCisjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJNZXNz
YWdlUG9ydC5oIgogI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldv
cmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3Rv
bmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgpAQCAtNTUsNiArNTcsOCBAQCBj
bGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVE
T01PYmplY3QsIHByaXZhdGUgV29yawogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV29ya2Vy
KTsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAgICAgIFdvcmtlclR5cGUgdHlw
ZTsKKyAgICAgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgICAg
IFN0cmluZyBuYW1lOwogICAgIH07CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgT3B0aW9ucyYpOwpAQCAtNzksNiArODMsOCBAQCBjbGFzcyBX
b3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmpl
Y3QsIHByaXZhdGUgV29yawogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1
bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKICNlbmRpZgogCisgICAg
V29ya2VyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKIHByaXZhdGU6CiAg
ICAgZXhwbGljaXQgV29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVG
bGFncywgY29uc3QgT3B0aW9ucyYpOwogCkBAIC0xMTIsNiArMTE4LDggQEAgY2xhc3MgV29ya2Vy
IGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBw
cml2YXRlIFdvcmsKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90
cmFuc2Zvcm1lcnM7CiAjZW5kaWYKKyAgICBXb3JrZXJUeXBlIG1fdHlwZSB7IFdvcmtlclR5cGU6
OkNsYXNzaWMgfTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzIHsg
RmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4gfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCA0NWQ2YTA4Njc4NTRl
ZTQwNGRlN2U3ZDAxMjQ4Y2ViZjQ0ZGNhN2VkLi43MDIxNzk2ZGY1MDRhZGY4ZTZiOTU4OWFjZTlm
MTQ0ODIxZjI5NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0zOCw2ICszOCw4
IEBACiB9OwogCiBkaWN0aW9uYXJ5IFdvcmtlck9wdGlvbnMgeworICAgIFdvcmtlclR5cGUgdHlw
ZSA9ICJjbGFzc2ljIjsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscyA9
ICJzYW1lLW9yaWdpbiI7IC8vIGNyZWRlbnRpYWxzIGlzIG9ubHkgdXNlZCBpZiB0eXBlIGlzICJt
b2R1bGUiCiAgICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggZGJhYjM0OGU4MGM5ZGU1MGJkMjE1
Nzc3YTE0YTM5YTBmNzBlNDljNy4uY2NkZTkwOWM3Y2I1MmU5Nzc3NGM1YjgxNTgyM2ViY2JiYjA3
MGYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAK
QEAgLTc0LDYgKzc0LDggQEAgV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3BlKFdv
cmtlclRocmVhZFR5cGUgdHlwZSwgY29uc3QgV29ya2VyUGFyYW1ldGUKICAgICAsIG1fcGVyZm9y
bWFuY2UoUGVyZm9ybWFuY2U6OmNyZWF0ZSh0aGlzLCBwYXJhbXMudGltZU9yaWdpbikpCiAgICAg
LCBtX3JlZmVycmVyUG9saWN5KHBhcmFtcy5yZWZlcnJlclBvbGljeSkKICAgICAsIG1fc2V0dGlu
Z3NWYWx1ZXMocGFyYW1zLnNldHRpbmdzVmFsdWVzKQorICAgICwgbV93b3JrZXJUeXBlKHBhcmFt
cy53b3JrZXJUeXBlKQorICAgICwgbV9jcmVkZW50aWFscyhwYXJhbXMuY3JlZGVudGlhbHMpCiB7
CiAjaWYgIUVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIFVOVVNFRF9QQVJBTShjb25uZWN0
aW9uUHJveHkpOwpAQCAtMjc0LDYgKzI3NiwxMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBXb3JrZXJH
bG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscykKIHsK
ICAgICBBU1NFUlQoY29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogCisgICAgLy8gaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sI2ltcG9ydGluZy1zY3Jp
cHRzLWFuZC1saWJyYXJpZXMKKyAgICAvLyAxLiBJZiB3b3JrZXIgZ2xvYmFsIHNjb3BlJ3MgdHlw
ZSBpcyAibW9kdWxlIiwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgIGlmIChtX3dv
cmtlclR5cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgVHlwZUVycm9yLCAiaW1wb3J0U2NyaXB0cyBjYW5ub3QgYmUgdXNlZCBpZiB3b2Vya2VyIHR5
cGUgaXMgXCJtb2R1bGVcIiJfcyB9OworCiAgICAgVmVjdG9yPFVSTD4gY29tcGxldGVkVVJMczsK
ICAgICBjb21wbGV0ZWRVUkxzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkodXJscy5zaXplKCkpOwog
ICAgIGZvciAoYXV0byYgZW50cnkgOiB1cmxzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmgKaW5kZXggNDZkNDlkOTRjNTIzOGU0Njg4ZDM5NWQ4N2MyMDYzZWI1
NzIwZDFiZi4uNzQ3OTVmNWMwZjlhMmEzNWQwMDkzMDEyYWQxOGY1N2UzMTdmODI3MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMTIzLDYgKzEyMyw4
IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFdvcmtl
ckdsb2JhbFNjb3BlPiwgcHVibGljIEJhc2U2CiAKICAgICBjb25zdCBTZXR0aW5nczo6VmFsdWVz
JiBzZXR0aW5nc1ZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXM7
IH0KIAorICAgIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMoKSBjb25zdCB7
IHJldHVybiBtX2NyZWRlbnRpYWxzOyB9CisKIHByb3RlY3RlZDoKICAgICBXb3JrZXJHbG9iYWxT
Y29wZShXb3JrZXJUaHJlYWRUeXBlLCBjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmLCBXb3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3Jp
Z2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CiAK
QEAgLTE2Myw4ICsxNjUsNiBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBw
bGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNgogICAgIG11dGFibGUg
UmVmUHRyPFdvcmtlckxvY2F0aW9uPiBtX2xvY2F0aW9uOwogICAgIG11dGFibGUgUmVmUHRyPFdv
cmtlck5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcj4gbV9zY3JpcHQ7Ci0KICAgICBib29sIG1faXNPbmxp
bmU7CiAgICAgYm9vbCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eTsKIApAQCAtMTg3LDYgKzE4Nyw4IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGlj
IFN1cHBsZW1lbnRhYmxlPFdvcmtlckdsb2JhbFNjb3BlPiwgcHVibGljIEJhc2U2CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPENTU1ZhbHVlUG9vbD4gbV9jc3NWYWx1ZVBvb2w7CiAgICAgUmVmZXJyZXJQ
b2xpY3kgbV9yZWZlcnJlclBvbGljeTsKICAgICBTZXR0aW5nczo6VmFsdWVzIG1fc2V0dGluZ3NW
YWx1ZXM7CisgICAgV29ya2VyVHlwZSBtX3dvcmtlclR5cGU7CisgICAgRmV0Y2hPcHRpb25zOjpD
cmVkZW50aWFscyBtX2NyZWRlbnRpYWxzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAppbmRl
eCA0MDAwM2MzZTAxMDk5OTYwZjY0Nzg2MWU3MDE2ODdkMGUzNzFkNzJkLi5lZDY3M2FjOGY3YzBl
ZTU0YzA2MGVjYjU5MjE2MzkwZWQ3MGZlMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBXb3Jr
ZXJHbG9iYWxTY29wZVByb3h5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV29ya2VyR2xvYmFsU2Nv
cGVQcm94eSYgY3JlYXRlKFdvcmtlciYpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2Vy
R2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkws
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtl
clR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2Jh
bFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4
IDE5ZDRiZTY0OTkyZjMwZDNjY2U3NjU0N2EzZDIyMThhOThjODQyYzMuLjc4ODM1ODdhN2FmNjIw
OWUzZWNjOGU3YjQxYmFkNDdhZGY2MjI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC03Myw3ICs3Myw3IEBAIFdvcmtlck1lc3Nh
Z2luZ1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2Vy
R2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtl
ckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQo
KSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94
eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1
bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFs
U2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
IHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRl
bnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiB7CiAg
ICAgLy8gRklYTUU6IFRoaXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5l
c3RlZCB3b3JrZXIgb25lIGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
OwpAQCAtODksNyArODksNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0
UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAot
ICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZp
ZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3Jp
Z2luLCByZWZlcnJlclBvbGljeSwgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSB9OworICAgIFdv
cmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVz
ZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2luLCBy
ZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdz
VmFsdWVzKCkgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3Jl
YXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBk
b2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3Mp
OwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGM1YjU3NWI5ZTYxNWIz
ZjNmNTk2YmZjM2RmNjgzYzg3N2NjNjJiYWIuLmQ5ZTgxZTE1N2EwZjQ4NTJlNDliNTlkMjU2NmE4
YTgwZjVmODE4YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgZmlu
YWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V29ya2VyTWVzc2FnaW5nUHIKIHByaXZh
dGU6CiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAg
ICAgLy8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJl
YWQuKQotICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09u
bGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlND
OjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShj
b25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBS
ZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpTQzo6
UnVudGltZUZsYWdzKSBmaW5hbDsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2JhbFNjb3Bl
KCkgZmluYWw7CiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2NvcGUoTWVzc2Fn
ZVdpdGhNZXNzYWdlUG9ydHMmJikgZmluYWw7CiAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xv
YmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpIGZpbmFs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlLmNwcAppbmRleCAyMzg0YTVhOGM3ZDJhMzAyZWVlNWNiNDA1ZTEwNWUwMjVjOTg0M2Nj
Li5mNGY0YjI3NDY2ZjlhMzBiMjhiOGIyMWY2ZjJiZWY4YmRlOTM4NTE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcApA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldvcmtlck9y
V29ya2xldEdsb2JhbFNjb3BlLmgiCiAKKyNpbmNsdWRlICJTY3JpcHRNb2R1bGVMb2FkZXIuaCIK
ICNpbmNsdWRlICJXb3JrZXJFdmVudExvb3AuaCIKICNpbmNsdWRlICJXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5o
IgpAQCAtMzksNiArNDAsNyBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGUpOwogCiBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2Vy
T3JXb3JrbGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBSZWY8SlNDOjpWTT4m
JiB2bSwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiB0aHJlYWQpCiAgICAgOiBtX3NjcmlwdChtYWtl
VW5pcXVlPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+KHR5cGUsIFdURk1vdmUodm0p
LCB0aGlzKSkKKyAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9h
ZGVyPigqdGhpcywgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGU6Oldvcmtlck9yV29ya2xl
dCkpCiAgICAgLCBtX3RocmVhZCh0aHJlYWQpCiAgICAgLCBtX2luc3BlY3RvckNvbnRyb2xsZXIo
bWFrZVVuaXF1ZTxXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyPigqdGhpcykpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgKaW5k
ZXggNmMyNDRhMGM0MjdlZTFjOGM2NWZkY2M3NjU5NTJmODc3ZmQ5YjE2Yi4uNTQ0ZjA0N2FlYzI3
ODMyNzQ0ZDBhOGE3MGFmN2U5MzljMzMwOTkyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAtMzIsNiArMzIsNyBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFdmVudExvb3BUYXNrR3JvdXA7CitjbGFzcyBT
Y3JpcHRNb2R1bGVMb2FkZXI7CiBjbGFzcyBXb3JrZXJFdmVudExvb3A7CiBjbGFzcyBXb3JrZXJJ
bnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cjsKQEAgLTU0LDYgKzU1LDggQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgOiBw
dWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KIAogICAgIHVuc2ln
bmVkIGxvbmcgY3JlYXRlVW5pcXVlSWRlbnRpZmllcigpIHsgcmV0dXJuIG1fdW5pcXVlSWRlbnRp
ZmllcisrOyB9CiAKKyAgICBTY3JpcHRNb2R1bGVMb2FkZXImIG1vZHVsZUxvYWRlcigpIHsgcmV0
dXJuICptX21vZHVsZUxvYWRlcjsgfQorCiAgICAgLy8gU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4K
ICAgICBFdmVudExvb3BUYXNrR3JvdXAmIGV2ZW50TG9vcCgpIGZpbmFsOwogICAgIGJvb2wgaXND
b250ZXh0VGhyZWFkKCkgY29uc3QgZmluYWw7CkBAIC04OCw2ICs5MSw3IEBAIGNsYXNzIFdvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHB1
YmxpYyBSZWZDb3VuCiAgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigp
OyB9CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cj4gbV9zY3JpcHQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNjcmlwdE1vZHVsZUxvYWRlcj4gbV9t
b2R1bGVMb2FkZXI7CiAgICAgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiBtX3RocmVhZDsKICAgICBS
ZWZQdHI8V29ya2VyRXZlbnRMb29wPiBtX2V2ZW50TG9vcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
RXZlbnRMb29wVGFza0dyb3VwPiBtX2RlZmF1bHRUYXNrR3JvdXA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNw
cAppbmRleCBjZDRlYzI0NjgyNTI1YWFiYzY0MmQ4NzdhMGRhMDExZWJkZTExNDMxLi45MWE4YTg3
OTQ1NmUwNjc2MjI5YTg3MDhhODc1MDk5OTNhMmUyNDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAK
QEAgLTM1LDE1ICszNSwyMyBAQAogI2luY2x1ZGUgIkpTRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAi
SlNQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlckds
b2JhbFNjb3BlLmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oIgorI2luY2x1
ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUu
aCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyQ29u
c29sZUNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9Db21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
RGVmZXJyZWRXb3JrVGltZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9FeGNlcHRpb24u
aD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9FeGNlcHRpb25IZWxwZXJzLmg+CiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvR0NBY3Rpdml0eUNhbGxiYWNrLmg+CisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNJbnRlcm5hbFByb21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U0xvY2suaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU01vZHVsZVJlY29yZC5oPgorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTmF0aXZlU3RkRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KU1NjcmlwdEZldGNoUGFyYW1ldGVycy5oPgorI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0
cm9uZ0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjI4LDYgKzIzNiwyNDUg
QEAgdm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZShjb25zdCBT
Y3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2QKICAgICB9CiB9CiAKK3N0YXRpYyBJZGVudGlmaWVy
IGpzVmFsdWVUb01vZHVsZUtleShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgcmV0
dXJuIElkZW50aWZpZXI6OmZyb21VaWQoanNDYXN0PFN5bWJvbCo+KHZhbHVlKS0+cHJpdmF0ZU5h
bWUoKSk7CisgICAgQVNTRVJUKHZhbHVlLmlzU3RyaW5nKCkpOworICAgIHJldHVybiBhc1N0cmlu
Zyh2YWx1ZSktPnRvSWRlbnRpZmllcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsKK30KKworSlNDOjpK
U1ZhbHVlIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlTW9kdWxlKEpT
Qzo6SlNNb2R1bGVSZWNvcmQmIG1vZHVsZVJlY29yZCkKK3sKKyAgICBhdXRvJiBnbG9iYWxPYmpl
Y3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2Jq
ZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAgIHJldHVybiBtb2R1
bGVSZWNvcmQuZXZhbHVhdGUoJmdsb2JhbE9iamVjdCk7Cit9CisKK01lc3NhZ2VRdWV1ZVdhaXRS
ZXN1bHQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9u
b3VzbHkoV29ya2VyU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgY29uc3QgU2NyaXB0U291
cmNlQ29kZSYgc291cmNlQ29kZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkK
KyAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQ7CisKKyAgICBpbml0U2NyaXB0
SWZOZWVkZWQoKTsKKworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3Jh
cHBlci5nZXQoKTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tI
b2xkZXIgbG9jayB7IHZtIH07CisKKyAgICBhdXRvIHByb3RlY3RvciA9IG1ha2VSZWYoc2NyaXB0
RmV0Y2hlcik7CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3RhdGU6Omxv
YWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgpLCBKU0M6OkpT
U2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCB7ICZzY3JpcHRGZXRjaGVyIH0pKTsKKworICAgICAg
ICBhdXRvJiBmdWxmaWxsSGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0s
ICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbcHJvdGVjdG9yXShKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgLT4gSlNDOjpFbmNvZGVkSlNWYWx1
ZSB7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAgICAg
ICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgICAgICAgICBJZGVudGlmaWVyIG1vZHVsZUtleSA9
IGpzVmFsdWVUb01vZHVsZUtleShnbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+YXJndW1lbnQoMCkp
OworICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAg
ICAgIHByb3RlY3Rvci0+bm90aWZ5TG9hZENvbXBsZXRlZCgqbW9kdWxlS2V5LmltcGwoKSk7Cisg
ICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAg
ICB9KTsKKworICAgICAgICBhdXRvJiByZWplY3RIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rp
b246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFtwcm90ZWN0b3JdKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSB7CisgICAg
ICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAgICAgICBKU0xvY2tI
b2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBKU1ZhbHVlIGVycm9yVmFsdWUgPSBjYWxs
RnJhbWUtPmFyZ3VtZW50KDApOworICAgICAgICAgICAgaWYgKGVycm9yVmFsdWUuaXNPYmplY3Qo
KSkgeworICAgICAgICAgICAgICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6YXNPYmplY3QoZXJyb3JW
YWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKEpTVmFsdWUgZmFpbHVyZUtpbmRWYWx1ZSA9IG9i
amVjdC0+Z2V0RGlyZWN0KHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSY+KCp2bS5jbGll
bnREYXRhKS5idWlsdGluTmFtZXMoKS5mYWlsdXJlS2luZFByaXZhdGVOYW1lKCkpKSB7CisgICAg
ICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgaG9zdCBwcm9wYWdhdGVkIGVycm9yIGluIHRoZSBt
b2R1bGUgbG9hZGVyIHBpcGVsaW5lLgorICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXRp
Y19jYXN0PE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ+KGZhaWx1cmVLaW5kVmFsdWUuYXNJbnQzMigp
KSkgeworICAgICAgICAgICAgICAgICAgICBjYXNlIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldh
c0Vycm9yZWQ6CisgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRG
YWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBMb2FkYWJsZVNjcmlwdDo6RXJyb3JUeXBlOjpDYWNoZWRTY3JpcHQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgV1RGOjpudWxsb3B0CisgICAgICAgICAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNl
IE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkOgorICAgICAgICAgICAgICAgICAg
ICAgICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9D
QVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRGYWlsZWQo
TG9hZGFibGVTY3JpcHQ6OkVycm9yIHsKKyAgICAgICAgICAgICAgICBMb2FkYWJsZVNjcmlwdDo6
RXJyb3JUeXBlOjpDYWNoZWRTY3JpcHQsCisgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6
OkNvbnNvbGVNZXNzYWdlIHsKKyAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVNvdXJjZTo6SlMs
CisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbDo6RXJyb3IsCisgICAgICAgICAgICAg
ICAgICAgIHJldHJpZXZlRXJyb3JNZXNzYWdlKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJvclZhbHVl
LCBzY29wZSksCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsKKwor
ICAgICAgICBwcm9taXNlLnRoZW4oJmdsb2JhbE9iamVjdCwgJmZ1bGZpbGxIYW5kbGVyLCAmcmVq
ZWN0SGFuZGxlcik7CisgICAgfQorICAgIG1fZ2xvYmFsU2NvcGUtPmV2ZW50TG9vcCgpLnBlcmZv
cm1NaWNyb3Rhc2tDaGVja3BvaW50KCk7CisKKyAgICAvLyBEcml2ZSBSdW5Mb29wIHVudGlsIHdl
IGdldCBlaXRoZXIgb2YgIldvcmtlciBpcyB0ZXJtaW5hdGVkIiwgIkxvYWRpbmcgaXMgZG9uZSIs
IG9yICJMb2FkaW5nIGlzIGZhaWxlZCIuCisgICAgV29ya2VyUnVuTG9vcCYgcnVuTG9vcCA9IG1f
Z2xvYmFsU2NvcGUtPndvcmtlck9yV29ya2xldFRocmVhZCgpLT5ydW5Mb29wKCk7CisKKyAgICAv
LyBXZSBkbyBub3Qgd2FudCB0byByZWNlaXZlIG1lc3NhZ2VzIHRoYXQgYXJlIG5vdCByZWxhdGVk
IHRvIGFzeW5jaHJvbm91cyByZXNvdXJjZSBsb2FkaW5nLgorICAgIC8vIE90aGVyd2lzZSwgYSB3
b3JrZXIgZGlzY2FyZHMgc29tZSBtZXNzYWdlcyBmcm9tIHRoZSBtYWluIHRocmVhZCBoZXJlIGlu
IGEgcmFjeSB3YXkuCisgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBtYWluIHRocmVhZCBjYW4gcG9z
dE1lc3NhZ2UganVzdCBhZnRlciBjcmVhdGluZyBhIFdvcmtlci4gSW4gdGhhdCBjYXNlLCBwb3N0
TWVzc2FnZSdzCisgICAgLy8gdGFzayBpcyBxdWV1ZWQgaW4gV29ya2VyUnVuTG9vcCBiZWZvcmUg
c3RhcnQgcnVubmluZyBtb2R1bGUgc2NyaXB0cy4gVGhpcyB0YXNrIHNob3VsZCBub3QgYmUgZGlz
Y2FyZGVkCisgICAgLy8gaW4gdGhlIGZvbGxvd2luZyBkcml2aW5nIG9mIHRoZSBSdW5Mb29wIHdo
aWNoIG1haW5seSBhdHRlbXB0IHRvIGNvbGxlY3QgaW5pdGlhbCBsb2FkIG9mIG1vZHVsZSBzY3Jp
cHRzLgorICAgIFN0cmluZyB0YXNrTW9kZSA9ICJsb2FkTW9kdWxlc0luV29ya2VyT3JXb3JrbGV0
TW9kZSJfczsKKyAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IE1lc3NhZ2VRdWV1
ZU1lc3NhZ2VSZWNlaXZlZDsKKyAgICB3aGlsZSAoKCFwcm90ZWN0b3ItPmlzTG9hZGVkKCkgJiYg
IXByb3RlY3Rvci0+d2FzQ2FuY2VsZWQoKSkgJiYgcmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1p
bmF0ZWQpIHsKKyAgICAgICAgcmVzdWx0ID0gcnVuTG9vcC5ydW5Jbk1vZGUobV9nbG9iYWxTY29w
ZSwgdGFza01vZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0
ZWQpCisgICAgICAgICAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90
YXNrQ2hlY2twb2ludCgpOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQg
V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKFdv
cmtlclNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
IHNvdXJjZUNvZGUsIFN0cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlKQoreworICAgIGlm
IChpc0V4ZWN1dGlvbkZvcmJpZGRlbigpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbml0U2Ny
aXB0SWZOZWVkZWQoKTsKKworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3Bl
V3JhcHBlci5nZXQoKTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xv
Y2tIb2xkZXIgbG9jayB7IHZtIH07CisKKyAgICBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4gcmV0
dXJuZWRFeGNlcHRpb247CisgICAgSlNFeGVjU3RhdGU6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShn
bG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZyb21VaWQodm0sIHNjcmlwdEZldGNoZXIubW9kdWxl
S2V5KCkpLCBqc1VuZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgaWYgKChyZXR1
cm5lZEV4Y2VwdGlvbiAmJiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVy
bmVkRXhjZXB0aW9uKSkgfHwgaXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgIGZv
cmJpZEV4ZWN1dGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJldHVy
bmVkRXhjZXB0aW9uKSB7CisgICAgICAgIGlmIChtX2dsb2JhbFNjb3BlLT5jYW5JbmNsdWRlRXJy
b3JEZXRhaWxzKHNvdXJjZUNvZGUuY2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJsKCkuc3Ry
aW5nKCkpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlz
IGNhbiBydW4gYXJiaXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4
Y2VwdGlvbi4KKyAgICAgICAgICAgIC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFu
ZGxlIHRoYXQgcHJvcGVybHksIGlmIGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8K
KyAgICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAg
ICAgKnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgp
LnRvV1RGU3RyaW5nKCZnbG9iYWxPYmplY3QpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgLy8gT3ZlcndyaXRlIHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4K
KyAgICAgICAgICAgIFN0cmluZyBnZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNjcmlwdCBlcnJvci4i
X3MgfTsKKyAgICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAg
ICAgICAgICAgKnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNFcnJvck1lc3NhZ2U7
CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlcjo6bG9hZEFuZEV2YWx1YXRlTW9kdWxlKGNvbnN0IFVSTCYgbW9kdWxlVVJMLCBGZXRjaE9w
dGlvbnM6OkNyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9w
dGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKGlz
RXhlY3V0aW9uRm9yYmlkZGVuKCkpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoRXhjZXB0
aW9uIHsgTm90QWxsb3dlZEVycm9yIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
aW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9i
YWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7Cisg
ICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisgICAgYXV0byBzY3JpcHRGZXRjaGVyID0g
V29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKGNyZWRlbnRpYWxzKTsKKyAgICB7CisgICAgICAg
IGF1dG8mIHByb21pc2UgPSBKU0V4ZWNTdGF0ZTo6bG9hZE1vZHVsZShnbG9iYWxPYmplY3QsIG1v
ZHVsZVVSTC5zdHJpbmcoKSwganNVbmRlZmluZWQoKSwgSlNDOjpKU1NjcmlwdEZldGNoZXI6OmNy
ZWF0ZSh2bSwgeyBzY3JpcHRGZXRjaGVyLnB0cigpIH0pKTsKKworICAgICAgICBhdXRvIHRhc2sg
PSBjcmVhdGVTaGFyZWRUYXNrPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYmKT4oW2NvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKE9wdGlvbmFsPEV4Y2VwdGlv
bj4mJiBleGNlcHRpb24pIG11dGFibGUgeworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
V1RGTW92ZShleGNlcHRpb24pKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgZnVsZmls
bEhhbmRsZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0
LCAxLCBTdHJpbmcoKSwgW3Rhc2ssIHNjcmlwdEZldGNoZXJdKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSAtPiBKU0M6OkVuY29kZWRKU1ZhbHVlIHsK
KyAgICAgICAgICAgIC8vIHRhc2stPnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgVk0m
IHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sg
eyB2bSB9OworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OworCisgICAgICAgICAgICBJZGVudGlmaWVyIG1vZHVsZUtleSA9IGpzVmFsdWVUb01vZHVsZUtl
eShnbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+YXJndW1lbnQoMCkpOworICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIt
Pm5vdGlmeUxvYWRDb21wbGV0ZWQoKm1vZHVsZUtleS5pbXBsKCkpOworCisgICAgICAgICAgICBh
dXRvKiBjb250ZXh0ID0gZG93bmNhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KGpzQ2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSk7CisgICAgICAgICAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPnNjcmlwdCgpKSB7
CisgICAgICAgICAgICAgICAgdGFzay0+cnVuKFdURjo6bnVsbG9wdCk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhjZXB0aW9u
OworICAgICAgICAgICAgSlNFeGVjU3RhdGU6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZSgqZ2xvYmFs
T2JqZWN0LCBtb2R1bGVLZXksIGpzVW5kZWZpbmVkKCksIHJldHVybmVkRXhjZXB0aW9uKTsKKyAg
ICAgICAgICAgIGlmICgocmV0dXJuZWRFeGNlcHRpb24gJiYgaXNUZXJtaW5hdGVkRXhlY3V0aW9u
RXhjZXB0aW9uKHZtLCByZXR1cm5lZEV4Y2VwdGlvbikpIHx8IGNvbnRleHQtPnNjcmlwdCgpLT5p
c1Rlcm1pbmF0aW5nRXhlY3V0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoY29udGV4dC0+
c2NyaXB0KCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnNjcmlwdCgpLT5mb3JiaWRF
eGVjdXRpb24oKTsKKyAgICAgICAgICAgICAgICB0YXNrLT5ydW4oV1RGOjpudWxsb3B0KTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICBTdHJpbmcgbWVzc2FnZTsKKyAgICAgICAgICAgICAgICBpZiAoY29udGV4dC0+
Y2FuSW5jbHVkZUVycm9yRGV0YWlscyhudWxscHRyLCBtb2R1bGVLZXkuc3RyaW5nKCkpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBncmVhdCB0aGF0IHRoaXMgY2Fu
IHJ1biBhcmJpdHJhcnkgY29kZSB0byBzdHJpbmctaWZ5IHRoZSB2YWx1ZSBvZiB0aGUgZXhjZXB0
aW9uLgorICAgICAgICAgICAgICAgICAgICAvLyBEbyB3ZSBuZWVkIHRvIGRvIGFueXRoaW5nIHRv
IGhhbmRsZSB0aGF0IHByb3Blcmx5LCBpZiBpdCwgc2F5LCByYWlzZXMgYW5vdGhlciBleGNlcHRp
b24/CisgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSByZXR1cm5lZEV4Y2VwdGlvbi0+dmFs
dWUoKS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgIC8vIE92ZXJ3cml0ZSB0aGUgZGV0YWlsZWQgZXJyb3Igd2l0
aCBhIGdlbmVyaWMgZXJyb3IuCisgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAiU2NyaXB0
IGVycm9yLiJfczsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY29udGV4dC0+
cmVwb3J0RXhjZXB0aW9uKG1lc3NhZ2UsIHsgfSwgeyB9LCB7IH0sIHsgfSwgeyB9KTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgdGFzay0+cnVuKFdURjo6bnVsbG9wdCk7CisgICAgICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsK
KworICAgICAgICBhdXRvJiByZWplY3RIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNy
ZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFt0YXNrXShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgeworICAgICAgICAgICAgVk0m
IHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sg
eyB2bSB9OworICAgICAgICAgICAgSlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1
bWVudCgwKTsKKyAgICAgICAgICAgIGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAg
ICAgICAgICAgICBhdXRvKiBvYmplY3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAg
ICAgICAgICAgICAgIGlmIChvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGljX2Nhc3Q8SlNWTUNs
aWVudERhdGEmPigqdm0uY2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFpbHVyZUtpbmRQcml2
YXRlTmFtZSgpKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNM
QVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICAgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2Ug
PSByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmplY3QsIHZtLCBvYmpl
Y3QsIGNhdGNoU2NvcGUpOworICAgICAgICAgICAgICAgICAgICB0YXNrLT5ydW4oRXhjZXB0aW9u
IHsgQWJvcnRFcnJvciwgbWVzc2FnZSB9KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHM8RXJyb3JJbnN0YW5jZT4odm0pKSB7CisgICAg
ICAgICAgICAgICAgICAgIGF1dG8qIGVycm9yID0ganNDYXN0PEVycm9ySW5zdGFuY2UqPihvYmpl
Y3QpOworICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGVycm9yLT5lcnJvclR5cGUoKSkgewor
ICAgICAgICAgICAgICAgICAgICBjYXNlIEVycm9yVHlwZTo6VHlwZUVycm9yOiB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZt
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJv
ck1lc3NhZ2VXaXRob3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3IsIGNhdGNoU2NvcGUp
OworICAgICAgICAgICAgICAgICAgICAgICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgbWVzc2FnZSB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICAgICAgY2FzZSBFcnJvclR5cGU6OlN5bnRheEVycm9yOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJvck1lc3NhZ2VX
aXRob3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3IsIGNhdGNoU2NvcGUpOworICAgICAg
ICAgICAgICAgICAgICAgICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7IEpTU3ludGF4RXJyb3IsIG1l
c3NhZ2UgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAg
ICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoKmdsb2Jh
bE9iamVjdCwgdm0sIGVycm9yVmFsdWUsIGNhdGNoU2NvcGUpOworICAgICAgICAgICAgdGFzay0+
cnVuKEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IsIG1lc3NhZ2UgfSk7CisgICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsKKworICAgICAg
ICBwcm9taXNlLnRoZW4oJmdsb2JhbE9iamVjdCwgJmZ1bGZpbGxIYW5kbGVyLCAmcmVqZWN0SGFu
ZGxlcik7CisgICAgfQorICAgIG1fZ2xvYmFsU2NvcGUtPmV2ZW50TG9vcCgpLnBlcmZvcm1NaWNy
b3Rhc2tDaGVja3BvaW50KCk7Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIEpTR2xvYmFsU2NvcGVQ
cm90b3R5cGUsIHR5cGVuYW1lIEpTR2xvYmFsU2NvcGUsIHR5cGVuYW1lIEdsb2JhbFNjb3BlPgog
dm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjppbml0U2NyaXB0V2l0aFN1YmNs
YXNzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0U2NyaXB0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldv
cmtsZXRTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggYzQ5MzAxYWVkM2RkMDg5ZGE3OTczMjc2MGNh
ZjJmN2I2NGRiMTFiNi4uOWYwMjNhNjJmODE0M2U3ZDk4MmZiZjdmNThlZWVhZGNhM2E1YjU2NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRD
b250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRT
Y3JpcHRDb250cm9sbGVyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9KU1J1bkxvb3BUaW1lci5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL0xvY2suaD4KKyNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8
d3RmL05ha2VkUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDQsOSArNDUsMTEgQEAgY2xh
c3MgSlNHbG9iYWxPYmplY3Q7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEpTRE9NR2xv
YmFsT2JqZWN0OworY2xhc3MgTG9hZGFibGVNb2R1bGVTY3JpcHQ7CiBjbGFzcyBTY3JpcHRTb3Vy
Y2VDb2RlOwogY2xhc3MgV29ya2VyQ29uc29sZUNsaWVudDsKIGNsYXNzIFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlOworY2xhc3MgV29ya2VyU2NyaXB0RmV0Y2hlcjsKIAogY2xhc3MgV29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29y
a2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcik7CkBAIC05NCw2ICs5NywxMyBAQCBjbGFzcyBX
b3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyIHsKICAgICB2b2lkIGV2YWx1YXRlKGNvbnN0
IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51
bGxwdHIpOwogICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIE5ha2Vk
UHRyPEpTQzo6RXhjZXB0aW9uPiYgcmV0dXJuZWRFeGNlcHRpb24sIFN0cmluZyogcmV0dXJuZWRF
eGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAKKyAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGVN
b2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYpOworCisgICAgdm9pZCBsaW5rQW5kRXZhbHVhdGVN
b2R1bGUoV29ya2VyU2NyaXB0RmV0Y2hlciYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJp
bmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOworICAgIE1lc3NhZ2VRdWV1
ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3VzbHkoV29ya2VyU2NyaXB0RmV0Y2hlciYs
IGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKKworICAgIHZvaWQgbG9hZEFuZEV2YWx1YXRlTW9k
dWxlKGNvbnN0IFVSTCYgbW9kdWxlVVJMLCBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYpOworCiBwcm90ZWN0
ZWQ6CiAgICAgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUqIGdsb2JhbFNjb3BlKCkgY29uc3Qg
eyByZXR1cm4gbV9nbG9iYWxTY29wZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggM2E0ZGFlZmMzOTAyYmRiMmVhODRmYzU4ZDdlNDJm
ODNlNWYwN2UyZi4uOWYzMWQwZGZkNTlhODcwN2ZkNGViNTljYzNjOTJhMDY2NDgxZGUxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMTA3
LDcgKzEwNyw3IEBAIE9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2Fk
U3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0CiAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJl
cXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2Vt
ZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUgc2VydmljZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExv
YWRlckNsaWVudCYgY2xpZW50KQordm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hy
b25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBS
ZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlv
bnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUgc2VydmljZVdvcmtlck1vZGUsIFdvcmtl
clNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBTdHJpbmcmJiB0YXNrTW9kZSkKIHsKICAgICBt
X2NsaWVudCA9ICZjbGllbnQ7CiAgICAgbV91cmwgPSBzY3JpcHRSZXF1ZXN0LnVybCgpOwpAQCAt
MTIzLDggKzEyMyw2IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3Vz
bHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgQVNTRVJUKGZldGNo
T3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbiB8fCAoZmV0Y2hP
cHRpb25zLmRlc3RpbmF0aW9uICE9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNlcnZpY2V3
b3JrZXIgJiYgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uICE9IEZldGNoT3B0aW9uczo6RGVzdGlu
YXRpb246OldvcmtlcikpOwogCiAgICAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgb3B0aW9ucyB7
IFdURk1vdmUoZmV0Y2hPcHRpb25zKSB9OwotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYWRkIGFu
IG9wdGlvbiB0byBzZXQgY3JlZGVudGlhbCBtb2RlLgotICAgIG9wdGlvbnMuY3JlZGVudGlhbHMg
PSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luOwogICAgIG9wdGlvbnMuc2Vu
ZExvYWRDYWxsYmFja3MgPSBTZW5kQ2FsbGJhY2tQb2xpY3k6OlNlbmRDYWxsYmFja3M7CiAgICAg
b3B0aW9ucy5jb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IGNvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50OwogICAgIGlmIChmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2VydmljZXdvcmtlcikKQEAgLTE0Myw3ICsxNDEs
NyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogCiAgICAgLy8gRHVyaW5nIGNyZWF0ZSwgY2Fs
bGJhY2tzIG1heSBoYXBwZW4gd2hpY2ggcmVtb3ZlIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlz
IG9iamVjdC4KICAgICBSZWY8V29ya2VyU2NyaXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlz
KTsKLSAgICBtX3RocmVhZGFibGVMb2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgKnRoaXMsIFdURk1vdmUoKnJlcXVlc3QpLCBvcHRpb25zKTsK
KyAgICBtX3RocmVhZGFibGVMb2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgKnRoaXMsIFdURk1vdmUoKnJlcXVlc3QpLCBvcHRpb25zLCB7IH0s
IFdURk1vdmUodGFza01vZGUpKTsKIH0KIAogY29uc3QgVVJMJiBXb3JrZXJTY3JpcHRMb2FkZXI6
OnJlc3BvbnNlVVJMKCkgY29uc3QKQEAgLTE5MCw2ICsxODgsOCBAQCB2b2lkIFdvcmtlclNjcmlw
dExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29u
c3QgUmVzbwogICAgIG1fY2VydGlmaWNhdGVJbmZvID0gcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZv
KCkgPyAqcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCkgOiBDZXJ0aWZpY2F0ZUluZm8oKTsKICAg
ICBtX3Jlc3BvbnNlTUlNRVR5cGUgPSByZXNwb25zZS5taW1lVHlwZSgpOwogICAgIG1fcmVzcG9u
c2VFbmNvZGluZyA9IHJlc3BvbnNlLnRleHRFbmNvZGluZ05hbWUoKTsKKyAgICBtX3Jlc3BvbnNl
U291cmNlID0gcmVzcG9uc2Uuc291cmNlKCk7CisgICAgbV9pc1JlZGlyZWN0ZWQgPSByZXNwb25z
ZS5pc1JlZGlyZWN0ZWQoKTsKICAgICBtX2NvbnRlbnRTZWN1cml0eVBvbGljeSA9IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB7IHJlc3BvbnNlIH07CiAgICAgbV9yZWZlcnJl
clBvbGljeSA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6UmVmZXJy
ZXJQb2xpY3kpOwogICAgIGlmIChtX2NsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oCmluZGV4IDdmZGQwYjNmNmEwMWMyZGI1NzcyNGE5MGIzYmI5ODQw
ZjFlNjhlNWYuLmNmYTMxYTM1MzI1OWFlZWQxOThmOTM5MWZmYzE1MTFiNDA1MGI4NWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMzEsNiArMzEs
NyBAQAogI2luY2x1ZGUgIkZldGNoT3B0aW9ucy5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3Iu
aCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3Bv
bnNlLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIlRocmVhZGFi
bGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDxtZW1vcnk+CkBAIC00Myw3ICs0NCw2IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEV4Y2VwdGlvbjsKLWNsYXNzIFJlc291cmNlUmVz
cG9uc2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVGV4dFJlc291cmNl
RGVjb2RlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlckNsaWVudDsKQEAgLTU4LDcgKzU4LDcg
QEAgY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyU2Ny
aXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGEKICAgICB9CiAKICAgICBPcHRpb25hbDxFeGNlcHRp
b24+IGxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBVUkwm
LCBGZXRjaE9wdGlvbnM6Ok1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUsIENvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpOwot
ICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNv
dXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYpOwor
ICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNv
dXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYsIFN0
cmluZyYmIHRhc2tNb2RlKTsKIAogICAgIHZvaWQgbm90aWZ5RXJyb3IoKTsKIApAQCAtNjcsNiAr
NjcsOCBAQCBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXb3Jr
ZXJTY3JpcHRMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYQogICAgIGNvbnN0IFN0cmluZyYgcmVmZXJy
ZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5OyB9CiAgICAgY29uc3Qg
VVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3VybDsgfQogICAgIGNvbnN0IFVSTCYgcmVzcG9u
c2VVUkwoKSBjb25zdDsKKyAgICBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2UgcmVzcG9uc2VTb3Vy
Y2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlU291cmNlOyB9CisgICAgYm9vbCBpc1JlZGly
ZWN0ZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUmVkaXJlY3RlZDsgfQogICAgIGNvbnN0IENlcnRp
ZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0
ZUluZm87IH0KICAgICBjb25zdCBTdHJpbmcmIHJlc3BvbnNlTUlNRVR5cGUoKSBjb25zdCB7IHJl
dHVybiBtX3Jlc3BvbnNlTUlNRVR5cGU7IH0KICAgICBib29sIGZhaWxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fZmFpbGVkOyB9CkBAIC0xMDcsNiArMTA5LDggQEAgY2xhc3MgV29ya2VyU2NyaXB0TG9h
ZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVh
ZGEKICAgICB1bnNpZ25lZCBsb25nIG1faWRlbnRpZmllciB7IDAgfTsKICAgICBib29sIG1fZmFp
bGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZmluaXNoaW5nIHsgZmFsc2UgfTsKKyAgICBib29s
IG1faXNSZWRpcmVjdGVkIHsgZmFsc2UgfTsKKyAgICBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2Ug
bV9yZXNwb25zZVNvdXJjZSB7IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6VW5rbm93biB9Owog
ICAgIFJlc291cmNlRXJyb3IgbV9lcnJvcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVGhyZWFkLmNwcAppbmRleCA3Mjc5MGEwMzMyMjYxOWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1
NzgzLi42M2VlOGM4ZDM2ZjNiZDcyNDYzNTNjNWJkZjg0MTdkZDgxMDdjNGEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVk
ZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTb2NrZXRQcm92aWRlci5oIgogI2luY2x1
ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0RmV0Y2hlci5o
IgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTUsNiArNTcsOCBA
QCBXb3JrZXJQYXJhbWV0ZXJzIFdvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0
CiAgICAgICAgIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwKICAg
ICAgICAgdGltZU9yaWdpbiwKICAgICAgICAgcmVmZXJyZXJQb2xpY3ksCisgICAgICAgIHdvcmtl
clR5cGUsCisgICAgICAgIGNyZWRlbnRpYWxzLAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29s
YXRlZENvcHkoKQogICAgIH07CiB9CkBAIC0xMjMsOSArMTI3LDMxIEBAIGJvb2wgV29ya2VyVGhy
ZWFkOjpzaG91bGRXYWl0Rm9yV2ViSW5zcGVjdG9yT25TdGFydHVwKCkgY29uc3QKIAogdm9pZCBX
b3JrZXJUaHJlYWQ6OmV2YWx1YXRlU2NyaXB0SWZOZWNlc3NhcnkoU3RyaW5nJiBleGNlcHRpb25N
ZXNzYWdlKQogewotICAgIGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRT
b3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5w
YXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25NZXNzYWdlKTsKLQotICAgIGZpbmlzaGVkRXZh
bHVhdGluZ1NjcmlwdCgpOworICAgIC8vIFdlIGFyZSBjdXJyZW50bHkgaG9sZGluZyBvbmx5IHRo
ZSBpbml0aWFsIHNjcmlwdCBjb2RlLiBJZiB0aGUgV29ya2VyVHlwZSBpcyBNb2R1bGUsIHdlIHNo
b3VsZCBmZXRjaCB0aGUgZW50aXJlIGdyYXBoIGJlZm9yZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2Yg
dGhpcy4KKyAgICAvLyBXZSBpbnZva2UgbW9kdWxlIGxvYWRlciBhcyBpZiB3ZSBhcmUgZXhlY3V0
aW5nIGlubGluZSBtb2R1bGUgc2NyaXB0IHRhZyBpbiBEb2N1bWVudC4KKworICAgIGlmIChtX3N0
YXJ0dXBEYXRhLT5wYXJhbXMud29ya2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpDbGFzc2ljKSB7Cisg
ICAgICAgIGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2Rl
KG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2Ny
aXB0VVJMKSksICZleGNlcHRpb25NZXNzYWdlKTsKKyAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5n
U2NyaXB0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gRklYTUUgZml4IGluaXRpYXRvciBu
YW1lLgorICAgICAgICBTY3JpcHRTb3VyY2VDb2RlIHNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+
c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpLCB7IH0sIEpT
Qzo6U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUpOworICAgICAgICBhdXRvIHNjcmlw
dEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpjcmVhdGUoZ2xvYmFsU2NvcGUoKS0+Y3Jl
ZGVudGlhbHMoKSk7CisgICAgICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgcmVzdWx0ID0gZ2xv
YmFsU2NvcGUoKS0+c2NyaXB0KCktPmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KHNjcmlwdEZldGNo
ZXIuZ2V0KCksIHNvdXJjZUNvZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1
ZVRlcm1pbmF0ZWQpIHsKKyAgICAgICAgICAgIGlmIChPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6
RXJyb3I+IGVycm9yID0gc2NyaXB0RmV0Y2hlci0+ZXJyb3IoKSkgeworICAgICAgICAgICAgICAg
IGlmIChPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6Q29uc29sZU1lc3NhZ2U+IG1lc3NhZ2UgPSBl
cnJvci0+Y29uc29sZU1lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3Nh
Z2UgPSBtZXNzYWdlLT5tZXNzYWdlOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZh
aWxlZC4iX3M7CisgICAgICAgICAgICAgICAgZ2xvYmFsU2NvcGUoKS0+cmVwb3J0RXhjZXB0aW9u
KGV4Y2VwdGlvbk1lc3NhZ2UsIHsgfSwgeyB9LCB7IH0sIHsgfSwgeyB9KTsKKyAgICAgICAgICAg
IH0gZWxzZSBpZiAoIXNjcmlwdEZldGNoZXItPndhc0NhbmNlbGVkKCkpIHsKKyAgICAgICAgICAg
ICAgICAvLyBFdmFsdWF0ZS4KKyAgICAgICAgICAgICAgICBnbG9iYWxTY29wZSgpLT5zY3JpcHQo
KS0+bGlua0FuZEV2YWx1YXRlTW9kdWxlKHNjcmlwdEZldGNoZXIuZ2V0KCksIHNvdXJjZUNvZGUs
ICZleGNlcHRpb25NZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdT
Y3JpcHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIAogICAgIC8vIEZyZWUg
dGhlIHN0YXJ0dXAgZGF0YSB0byBjYXVzZSBpdHMgbWVtYmVyIHZhcmlhYmxlIGRlcmVmJ3MgaGFw
cGVuIG9uIHRoZSB3b3JrZXIncyB0aHJlYWQgKHNpbmNlCiAgICAgLy8gYWxsIHJlZi9kZXJlZnMg
b2YgdGhlc2Ugb2JqZWN0cyBhcmUgaGFwcGVuaW5nIG9uIHRoZSB0aHJlYWQgYXQgdGhpcyBwb2lu
dCkuIE5vdGUgdGhhdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggODg5
MDc5MDhlN2E5YjgwOWU4ZjJhNGU0NzNkNzUyZDExZDI5MzdjMC4uOTUxMmVmZGIxOGYzMmE1MGVj
YjdmYjU2OTU5ZDYxZTg4NzJmYTFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5oCkBAIC0yNiw3ICsyNiwxMCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RD
cmVkZW50aWFscy5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFRocmVhZC5oIgorI2luY2x1
ZGUgIldvcmtlclJ1bkxvb3AuaCIKKyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1
ZGUgPHd0Zi9VUkwuaD4KQEAgLTYzLDYgKzY2LDggQEAgc3RydWN0IFdvcmtlclBhcmFtZXRlcnMg
ewogICAgIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5Owog
ICAgIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbjsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJl
clBvbGljeTsKKyAgICBXb3JrZXJUeXBlIHdvcmtlclR5cGU7CisgICAgRmV0Y2hSZXF1ZXN0Q3Jl
ZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgU2V0dGluZ3M6OlZhbHVlcyBzZXR0aW5nc1ZhbHVl
czsKIAogICAgIFdvcmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5cGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVHlwZS5oCmluZGV4IDBiMGVkODYwZDljNzE0MjM4YTJhNWJiOWZkZjQz
ODQwMmQxNmViZjAuLjFjMWJiOTQ0ODY3YWRmNGVkNTc4YTI4MTRmYTMzMjMyNmFlZDhhNTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oCkBAIC0yNyw3ICsyNyw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBXb3JrZXJUeXBlIHsKK2VudW0gY2xhc3MgV29y
a2VyVHlwZSA6IHVpbnQ4X3QgewogICAgIENsYXNzaWMsCiAgICAgTW9kdWxlLAogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5oCmluZGV4IGViYmU5NWU4OTI0YzhmMWQ3Mzc1MjVkZWExNjMwYjFmYWQ1NmZiMjcuLjRj
N2RkZjRhNGMxMzFlMGRjZDZiYTA5NTA5YWIyZDk3NTc1ZjMwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApA
QCAtNDcsNyArNDcsNyBAQCBjbGFzcyBOYXZpZ2F0b3JCYXNlOwogY2xhc3MgU2VydmljZVdvcmtl
cjsKIAogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgOiB1aW50OF90Owot
ZW51bSBjbGFzcyBXb3JrZXJUeXBlOworZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogdWludDhfdDsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZVByb3h5OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpv
Yi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5j
cHAKaW5kZXggZWMzOWMwZjg0OWE1NGUxYjZkMGJlZTM0YThkN2QxOWNiYTQ1ZTI4OC4uZjk1MTBj
YmY2ZmRmNzA0NmY3ZDFiOTIyMzY5MTc0ZDAxZmEwYmUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAtMTEwLDcgKzEx
MCw4IEBAIHZvaWQgU2VydmljZVdvcmtlckpvYjo6ZmV0Y2hTY3JpcHRXaXRoQ29udGV4dChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBGCiAgICAgb3B0aW9ucy5jYWNoZSA9IGNhY2hl
UG9saWN5OwogICAgIG9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpF
cnJvcjsKICAgICBvcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6U2VydmljZXdvcmtlcjsKLSAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5
KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucyksIENvbnRlbnRTZWN1
cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UsIFNlcnZpY2VXb3JrZXJzTW9kZTo6
Tm9uZSwgKnRoaXMpOworICAgIG9wdGlvbnMuY3JlZGVudGlhbHMgPSBGZXRjaE9wdGlvbnM6OkNy
ZWRlbnRpYWxzOjpTYW1lT3JpZ2luOworICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9u
b3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSwgQ29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSwgU2VydmljZVdvcmtlcnNN
b2RlOjpOb25lLCAqdGhpcywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CiB9CiAKIFJl
c291cmNlRXJyb3IgU2VydmljZVdvcmtlckpvYjo6dmFsaWRhdGVTZXJ2aWNlV29ya2VyUmVzcG9u
c2UoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmIGpvYkRhdGEsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaAppbmRleCA5
ZDUwMGY4NWFjYjE4ODQxY2M1NWJlYTgyMTFkYjE0ZmFkYzk3NDc1Li4yZTM1NTdmYTdkZjY3ZjFi
Zjk4YzdiN2E1ZGU0YjBhNWE3YmNjY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlv
bnMuaApAQCAtMzIsNyArMzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNz
IFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFdvcmtl
clR5cGU7CitlbnVtIGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90OwogCiBzdHJ1Y3QgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMgewogICAgIFN0cmluZyBzY29wZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vydmlj
ZVdvcmtlclRocmVhZC5jcHAKaW5kZXggYzhhN2E5OTcyZjljYzhjMTZhNzk2NzUxMTU1MmY1NDkz
YTY4NmY5OC4uMzNjYTBlYzIzYjU4YTU1MTE4NzY4NDZiYTA3MTgzNTMyYjVjNDdkNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
clRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHAKQEAgLTczLDggKzczLDkgQEAgY2xhc3MgRHVtbXlTZXJ2
aWNlV29ya2VyVGhyZWFkUHJveHkgOiBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHkgewogLy8gRklY
TUU6IFVzZSBhIHZhbGlkIFdvcmtlck9iamVjdFByb3h5CiAvLyBGSVhNRTogVXNlIHZhbGlkIHJ1
bnRpbWUgZmxhZ3MKIAorLy8gRklYTUU6IFVzZSBhIHZhbGlkIFdvcmtlclR5cGUgYW5kIENyZWRl
bnRhaWxzIGZvciBtb2R1bGUgc2VydmljZSB3b3JrZXJzLgogU2VydmljZVdvcmtlclRocmVhZDo6
U2VydmljZVdvcmtlclRocmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEs
IFN0cmluZyYmIHVzZXJBZ2VudCwgY29uc3QgU2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1
ZXMsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYg
ZGVidWdnZXJQcm94eSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rp
b25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhy
ZWFkKHsgZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJ
bnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3Zl
KHVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09u
TGluZSgpLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6
Om5vdygpLCB7IH0sIHNldHRpbmdzVmFsdWVzIH0sIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwg
ZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBX
b3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9y
aWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0
UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpCisgICAgOiBX
b3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3b3Jr
ZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCks
IFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5
KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgTW9ub3Rv
bmljVGltZTo6bm93KCksIHsgfSwgV29ya2VyVHlwZTo6Q2xhc3NpYywgRmV0Y2hSZXF1ZXN0Q3Jl
ZGVudGlhbHM6OlNhbWVPcmlnaW4sIHNldHRpbmdzVmFsdWVzIH0sIGRhdGEuc2NyaXB0LCBsb2Fk
ZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNo
YXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRpb24u
a2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Qcm94
eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkp
CiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fd29ya2VyT2JqZWN0
UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpKQogICAgICwgbV9o
ZWFydEJlYXRUaW1lb3V0KFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rpb24o
KS0+c2hvdWxkVXNlU2hvcnRUaW1lb3V0KCkgPyBoZWFydEJlYXRUaW1lb3V0Rm9yVGVzdCA6IGhl
YXJ0QmVhdFRpbWVvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmgKaW5kZXggMmRkZGIzYjViNDFlZDg3YmQ2MTRhMGI5
NGQwOWI3NjEyOTNkNzYwNy4uMzc4ZmJhNjU3ZThiYmY0ODQxZTU2Y2JmODY1NjFmOGVjYzMxMTAy
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlcldvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXJXb3JrZXIuaApAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXI7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9uczsK
IHN0cnVjdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckpv
YkRhdGFJZGVudGlmaWVyOwotZW51bSBjbGFzcyBXb3JrZXJUeXBlOworZW51bSBjbGFzcyBXb3Jr
ZXJUeXBlIDogdWludDhfdDsKIAogY2xhc3MgU1dTZXJ2ZXJXb3JrZXIgOiBwdWJsaWMgUmVmQ291
bnRlZDxTV1NlcnZlcldvcmtlcj4gewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmts
ZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggZDcwNDg4NjY0OGMwZWZhYTZiNzgwODRj
NTM4NzIwMWNhMmIxYzU0My4uMmFlMGUzMzg5MWRiYzg5ZjE0Njg3ZDQxNDgwMmFhYTEyZDBkODRm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3Bl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3Bw
CkBAIC0xNTgsNzIgKzE1OCw3IEBAIFJlZmVycmVyUG9saWN5IFdvcmtsZXRHbG9iYWxTY29wZTo6
cmVmZXJyZXJQb2xpY3koKSBjb25zdAogdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OmZldGNoQW5k
SW52b2tlU2NyaXB0KGNvbnN0IFVSTCYgbW9kdWxlVVJMLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFs
cyBjcmVkZW50aWFscywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxFeGNlcHRpb24+
JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkp
OwotICAgIG1fc2NyaXB0RmV0Y2hKb2JzLmFwcGVuZCh7IG1vZHVsZVVSTCwgY3JlZGVudGlhbHMs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpIH0pOwotICAgIHByb2Nlc3NOZXh0U2NyaXB0RmV0
Y2hKb2JJZk5lZWRlZCgpOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6cHJvY2Vzc05l
eHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKCkKLXsKLSAgICBpZiAobV9zY3JpcHRGZXRjaEpvYnMu
aXNFbXB0eSgpIHx8IG1fc2NyaXB0TG9hZGVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRv
JiBzY3JpcHRGZXRjaEpvYiA9IG1fc2NyaXB0RmV0Y2hKb2JzLmZpcnN0KCk7Ci0KLSAgICBSZXNv
dXJjZVJlcXVlc3QgcmVxdWVzdCB7IHNjcmlwdEZldGNoSm9iLm1vZHVsZVVSTCB9OwotCi0gICAg
RmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKLSAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNo
T3B0aW9uczo6TW9kZTo6Q29yczsKLSAgICBmZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9wdGlv
bnM6OkNhY2hlOjpEZWZhdWx0OwotICAgIGZldGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0
aW9uczo6UmVkaXJlY3Q6OkZvbGxvdzsKLSAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSBz
Y3JpcHRGZXRjaEpvYi5jcmVkZW50aWFsczsKLSNpZiBFTkFCTEUoV0VCX0FVRElPKQotICAgIGlm
IChpc0F1ZGlvV29ya2xldEdsb2JhbFNjb3BlKCkpCi0gICAgICAgIGZldGNoT3B0aW9ucy5kZXN0
aW5hdGlvbiA9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkF1ZGlvd29ya2xldDsKLSNlbmRp
ZgotI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQotICAgIGlmIChpc1BhaW50V29ya2xldEds
b2JhbFNjb3BlKCkpCi0gICAgICAgIGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiA9IEZldGNoT3B0
aW9uczo6RGVzdGluYXRpb246OlBhaW50d29ya2xldDsKLSNlbmRpZgotCi0gICAgYXV0byBjb250
ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRv
Tm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ2hp
bGRTcmNEaXJlY3RpdmU7Ci0KLSAgICBtX3NjcmlwdExvYWRlciA9IFdvcmtlclNjcmlwdExvYWRl
cjo6Y3JlYXRlKCk7Ci0gICAgbV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseSgqdGhp
cywgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzKTsKLX0K
LQotdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBs
b25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikKLXsKLX0KLQotdm9pZCBXb3JrbGV0R2xvYmFs
U2NvcGU6Om5vdGlmeUZpbmlzaGVkKCkKLXsKLSAgICBhdXRvIGNvbXBsZXRlZEpvYiA9IG1fc2Ny
aXB0RmV0Y2hKb2JzLnRha2VGaXJzdCgpOwotCi0gICAgaWYgKG1fc2NyaXB0TG9hZGVyLT5mYWls
ZWQoKSkgewotICAgICAgICBkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKFdURk1vdmUoY29tcGxl
dGVkSm9iKSwgRXhjZXB0aW9uIHsgQWJvcnRFcnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHRvIGZl
dGNoIG1vZHVsZSwgZXJyb3I6ICIsIG1fc2NyaXB0TG9hZGVyLT5lcnJvcigpLmxvY2FsaXplZERl
c2NyaXB0aW9uKCkpIH0pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gRklYTUU6
IFRoaXMgc2hvdWxkIHJlYWxseSBiZSBydW4gYXMgYSBtb2R1bGUgc2NyaXB0IGJ1dCB3ZSBkb24n
dCBzdXBwb3J0IHRoaXMgaW4gd29ya2VycyB5ZXQuCi0gICAgVVJMIG1vZHVsZVVSTChtX3Njcmlw
dExvYWRlci0+cmVzcG9uc2VVUkwoKSk7Ci0gICAgYXV0byBhZGRSZXN1bHQgPSBtX2V2YWx1YXRl
ZE1vZHVsZXMuYWRkKG1vZHVsZVVSTCk7Ci0gICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5KSB7
Ci0gICAgICAgIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiBleGNlcHRpb247Ci0gICAgICAgIHNj
cmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQo
KSwgV1RGTW92ZShtb2R1bGVVUkwpKSwgZXhjZXB0aW9uKTsKLSAgICAgICAgaWYgKGV4Y2VwdGlv
bikKLSAgICAgICAgICAgIHNjcmlwdCgpLT5zZXRFeGNlcHRpb24oZXhjZXB0aW9uKTsKLSAgICB9
Ci0KLSAgICBkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKFdURk1vdmUoY29tcGxldGVkSm9iKSwg
eyB9KTsKLX0KLQotdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OmRpZENvbXBsZXRlU2NyaXB0RmV0
Y2hKb2IoU2NyaXB0RmV0Y2hKb2ImJiBqb2IsIE9wdGlvbmFsPEV4Y2VwdGlvbj4gcmVzdWx0KQot
ewotICAgIG1fc2NyaXB0TG9hZGVyID0gbnVsbHB0cjsKLQotICAgIGpvYi5jb21wbGV0aW9uSGFu
ZGxlcihXVEZNb3ZlKHJlc3VsdCkpOwotCi0gICAgcHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklm
TmVlZGVkKCk7CisgICAgc2NyaXB0KCktPmxvYWRBbmRFdmFsdWF0ZU1vZHVsZShtb2R1bGVVUkws
IGNyZWRlbnRpYWxzLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIE1lc3NhZ2VQ
b3J0Q2hhbm5lbFByb3ZpZGVyJiBXb3JrbGV0R2xvYmFsU2NvcGU6Om1lc3NhZ2VQb3J0Q2hhbm5l
bFByb3ZpZGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRH
bG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3Bl
LmgKaW5kZXggZjIzMjBmMGQxMzAyNWNlYWIzYmFjNTZhNDVlYzJkMWRkM2ZiNmNjMC4uZmU1NGI4
NTMyNTY3OTI1ODNkZWRhMDU1YTQzM2EyNTY1NGU4Njc1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRl
ICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGUuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCi0jaW5j
bHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvQ29uc29sZU1lc3NhZ2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxh
Z3MuaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KQEAgLTU0LDcgKzUzLDcg
QEAgc3RydWN0IFdvcmtsZXRQYXJhbWV0ZXJzOwogZW51bSBXb3JrbGV0R2xvYmFsU2NvcGVJZGVu
dGlmaWVyVHlwZSB7IH07CiB1c2luZyBXb3JrbGV0R2xvYmFsU2NvcGVJZGVudGlmaWVyID0gT2Jq
ZWN0SWRlbnRpZmllcjxXb3JrbGV0R2xvYmFsU2NvcGVJZGVudGlmaWVyVHlwZT47CiAKLWNsYXNz
IFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSwg
cHVibGljIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCB7CitjbGFzcyBXb3JrbGV0R2xvYmFsU2Nv
cGUgOiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoV29ya2xldEdsb2JhbFNjb3BlKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5X
b3JrbGV0R2xvYmFsU2NvcGUoKTsKQEAgLTExMSwxMCArMTEwLDYgQEAgY2xhc3MgV29ya2xldEds
b2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLCBwdWJsaWMgV29y
a2VyU2NyaXAKICAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCwgdW5zaWduZWQsIFJlZlB0
cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIHVu
c2lnbmVkIGxvbmcpIGZpbmFsOwogICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBsb25nKSBmaW5hbDsK
IAotICAgIC8vIFdvcmtlclNjcmlwdExvYWRlckNsaWVudC4KLSAgICB2b2lkIGRpZFJlY2VpdmVS
ZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
KSBmaW5hbDsKLSAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKCkgZmluYWw7Ci0KICAgICBFdmVudFRh
cmdldCogZXJyb3JFdmVudFRhcmdldCgpIGZpbmFsIHsgcmV0dXJuIHRoaXM7IH0KIAogI2lmIEVO
QUJMRShXRUJfQ1JZUFRPKQpAQCAtMTI1LDE1ICsxMjAsNiBAQCBjbGFzcyBXb3JrbGV0R2xvYmFs
U2NvcGUgOiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJT
Y3JpcAogICAgIFN0cmluZyB1c2VyQWdlbnQoY29uc3QgVVJMJikgY29uc3QgZmluYWw7CiAgICAg
Y29uc3QgU2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX3NldHRpbmdzVmFsdWVzOyB9CiAKLSAgICBzdHJ1Y3QgU2NyaXB0RmV0Y2hKb2Igewot
ICAgICAgICBVUkwgbW9kdWxlVVJMOwotICAgICAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBj
cmVkZW50aWFsczsKLSAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxFeGNl
cHRpb24+JiYpPiBjb21wbGV0aW9uSGFuZGxlcjsKLSAgICB9OwotCi0gICAgdm9pZCBwcm9jZXNz
TmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKTsKLSAgICB2b2lkIGRpZENvbXBsZXRlU2NyaXB0
RmV0Y2hKb2IoU2NyaXB0RmV0Y2hKb2ImJiwgT3B0aW9uYWw8RXhjZXB0aW9uPik7Ci0KICAgICBX
ZWFrUHRyPERvY3VtZW50PiBtX2RvY3VtZW50OwogCiAgICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBt
X3RvcE9yaWdpbjsKQEAgLTE0NCw5ICsxMzAsNiBAQCBjbGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUg
OiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJTY3JpcAog
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyPiBt
X21lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOwogCi0gICAgUmVmUHRyPFdvcmtlclNjcmlwdExv
YWRlcj4gbV9zY3JpcHRMb2FkZXI7Ci0gICAgRGVxdWU8U2NyaXB0RmV0Y2hKb2I+IG1fc2NyaXB0
RmV0Y2hKb2JzOwotICAgIEhhc2hTZXQ8VVJMPiBtX2V2YWx1YXRlZE1vZHVsZXM7CiAgICAgU2V0
dGluZ3M6OlZhbHVlcyBtX3NldHRpbmdzVmFsdWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY2ZjQxMTNjNjhk
ZTRlODkzN2Y0NzU3YmYyNGJmZjA1YzNmYmZmODMuLmM2YjJjZTBjYWI1ZGM1MGE2YzU0YTMyN2Fh
ZjkyMDNjZjNmMjg0MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wMi0xMiAgWXVzdWtl
IFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29y
a2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0
ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBU
ZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGh0dHAvdGVzdHMvc3VicmVzb3VyY2UtaW50ZWdyaXR5L3NyaS1tb2R1bGUt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvd29ya2xldC1hZGRNb2R1bGUt
ZmFpbHVyZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViYXVkaW8vd29ya2xldC1jcmFzaC1l
eHBlY3RlZC50eHQ6CisKIDIwMjEtMDItMTIgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgW01hY10gU291bmQgZG9lcyBub3QgcGxheSBvbiBZb3VUdWJlIGFmdGVy
IHN3aXRjaGluZyBiYWNrIHRvIGZvcmVncm91bmQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IDBhNjBmZjE0NWRmMWRmZTgyODdmMGIzMDlkZDU0YjE4NTM3MDFhOWIuLjZkNjkwYjg3
NjgyM2FhMGQwZDcxZGU5YzNjZjJkNTU1ZmZkYWU0NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTAyLTEyICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1t
b2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2Nv
cGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9i
YXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29y
a2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9y
ZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3Jp
cHRzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0
U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94
aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2Jh
bFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9u
L3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnkt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0
LWZhaWx1cmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC1tZXRhLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVk
ZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRp
by13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3Rl
ZC50eHQ6CisKIDIwMjEtMDItMTIgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW2Nzcy1mbGV4Ym94XSBBbm90aGVyIFdQVCB0ZXN0IGltcG9ydApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggMzNkMzgwNDZhNTViNzM0MTczMGNlZmI2MGM3ZmI5ODkyNjFm
MzJlMS4uNTAxYWNlMGQ2MjIzODVkOGE5NDNjMzJhYTUzMjRhZjRiYTQxMTI3MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCkBAIC02NDAsNyArNjQwLDYgQEAgZmFzdC9kb20vY29ubmVjdGVkLXN1YmZyYW1l
LWNvdW50ZXItb3ZlcmZsb3cuaHRtbCBbIFNsb3cgXQogWyBEZWJ1ZyBdIGh0dHAvdGVzdHMvd29y
a2Vycy93b3JrZXItbWVzc2FnZXBvcnQtMi5odG1sIFsgU2xvdyBdCiAKICMgU2tpcCB3b3JrZXJz
IHRlc3RzIHRoYXQgYXJlIHRpbWluZyBvdXQgb3IgYXJlIFNoYXJlZFdvcmtlciByZWxhdGVkIG9u
bHkKLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
V29ya2VyL3NhbWUtb3JpZ2luLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9kYXRhLXVybC1zaGFyZWQuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2V4YW1wbGVzL29uY29ubmVjdC5hbnkuaHRt
bCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2V4YW1w
bGVzL29uY29ubmVjdC5hbnkud29ya2VyLmh0bWwgWyBTa2lwIF0KQEAgLTY2Myw3ICs2NjIsNiBA
QCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyLXJl
cGxhY2UtRXZlbnRIYW5kbGVyLmFueS5odAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL1NoYXJlZFdvcmtlci1yZXBsYWNlLUV2ZW50SGFuZGxlci5hbnkud29ya2VyLmh0
bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9TaGFy
ZWRXb3JrZXItc2NyaXB0LWVycm9yLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9TaGFyZWRXb3JrZXItc2ltcGxlLmh0bWwgWyBTa2lwIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItaW1wb3J0LXJlZmVycmVyLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy1jcmVk
ZW50aWFscy5odG1sIFsgU2tpcCBdCiAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
bW9kdWxlLXNjcmlwdG5vbmNlLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9tb2R1bGUtc2NyaXB0
bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4IDUwOTkxOWY3YmZkOGNmOTRjNWQzMzQ3
Zjg3YTY0NGQxNTg4NDU5MjEuLmUxNzJkZTRkMDRlMmE1NzQ3Yzc3ZjIyMjI0ZmQ0NWFjMDUyNTA1
ZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsMiBAQAogQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlz
IG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KLUNPTlNPTEUgTUVT
U0FHRTogVHlwZUVycm9yOiBDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3Nz
LU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4KIFRoaXMgdGVzdHMgd2hldGhlciBhIGRl
ZmVycmVkIHNjcmlwdCBsb2FkIGNhdXNlZCBieSBhIHJlZGlyZWN0IGlzIHByb3Blcmx5IGFsbG93
ZWQgYnkgYSBub25jZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3VicmVz
b3VyY2UtaW50ZWdyaXR5L3NyaS1tb2R1bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3RlZC50eHQKaW5k
ZXggYTAxZDlmMDcyNmZmOTdjNTI1YTUwNDUwNzZiYWU1MTRjODJlZTJlYS4uOTBhMjkxZWI4Mjll
ZTk4YTc5OGVjMzc0ODUxODRlYTBlOTVhY2M4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVs
ZS1leHBlY3RlZC50eHQKQEAgLTMsNyArMyw2IEBAIENPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9y
OiBDYW5ub3QgbG9hZCBzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N1YnJlc291cmNlCiBD
T05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogQ2Fubm90IGxvYWQgc2NyaXB0IGh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvcmVzb3VyY2VzL2Nyb3Nzb3JpZ2luLWFu
b24tc2NyaXB0LW1vZHVsZS5qcy4gRmFpbGVkIGludGVncml0eSBtZXRhZGF0YSBjaGVjay4gQ29u
dGVudCBsZW5ndGg6IDM3LCBFeHBlY3RlZCBjb250ZW50IGxlbmd0aDogMzcsIEV4cGVjdGVkIG1l
dGFkYXRhOiBzaGEyNTYtZGVhZGJlZWZjU0xsYkZaQ2oxT0FDTHhUeFZjazJUT3JCVEVkVWJ3ejF5
VT0KIENPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBDYW5ub3QgbG9hZCBzY3JpcHQgaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3N1YnJlc291cmNlLWludGVncml0eS9yZXNvdXJjZXMvY3Jvc3Nvcmln
aW4tY3JlZHMtc2NyaXB0LW1vZHVsZS5qcy4gRmFpbGVkIGludGVncml0eSBtZXRhZGF0YSBjaGVj
ay4gQ29udGVudCBsZW5ndGg6IDM4LCBFeHBlY3RlZCBjb250ZW50IGxlbmd0aDogMzgsIEV4cGVj
dGVkIG1ldGFkYXRhOiBzaGEyNTYtZGVhZGJlZWYyUytwVFJaZ2l3M0RXcmhDNkpMRGx0MnpSeUdw
d0g3dW5VOD0KIENPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBp
cyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCi1DT05TT0xFIE1F
U1NBR0U6IFR5cGVFcnJvcjogQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9z
cy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuCiBDT05TT0xFIE1FU1NBR0U6IFR5cGVF
cnJvcjogQ2Fubm90IGxvYWQgc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zdWJyZXNvdXJj
ZS1pbnRlZ3JpdHkvcmVzb3VyY2VzL21hdGNoaW5nLWRpZ2VzdC1tb2R1bGUuanMuIEZhaWxlZCBp
bnRlZ3JpdHkgbWV0YWRhdGEgY2hlY2suIENvbnRlbnQgbGVuZ3RoOiAyOSwgRXhwZWN0ZWQgY29u
dGVudCBsZW5ndGg6IDI5LCBFeHBlY3RlZCBtZXRhZGF0YTogc2hhMjU2LWNXaDluUGZtN19tUmJL
aHphcm5SWWxzSld6NVhUTmNzcVBGektFeCt6U1U9CiBDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJv
cjogQ2Fubm90IGxvYWQgc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zdWJyZXNvdXJjZS1p
bnRlZ3JpdHkvcmVzb3VyY2VzL21hdGNoaW5nLWRpZ2VzdC1tb2R1bGUuanMuIEZhaWxlZCBpbnRl
Z3JpdHkgbWV0YWRhdGEgY2hlY2suIENvbnRlbnQgbGVuZ3RoOiAyOSwgRXhwZWN0ZWQgY29udGVu
dCBsZW5ndGg6IDI5LCBFeHBlY3RlZCBtZXRhZGF0YTogc2hhMjU2LVU5V1lEdEJXa2NIeDEzKzlV
S2svM1E1ZW9xRGM0WUd4WWIwN0VQV3piOWU9P2Zvbz1iYXI/c3BhbT1lZ2dzCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmpl
Y3QudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKaW5kZXggNDkyNjliM2I1MGI5MTc1Y2I2MmVjYTMxMmU1ODZiM2IxNjYy
YTI1OS4uMmNhZTVmN2UzNWEzMmZlY2ViMjY4ZjI5MDAwMGU0ZTU1NTZjNjg2MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVj
dC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndv
cmtlci1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKLUZBSUwgTm9uLW9iamVjdDogbnVs
bCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJF
cnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL251bGwuanNvbicuIgotRkFJTCBO
b24tb2JqZWN0OiB0cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vdHJ1ZS5q
c29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6IGZhbHNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBt
b2R1bGUgJy4vZmFsc2UuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBzdHJpbmcgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxk
IG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9zdHJpbmcuanNvbicuIgotRkFJTCBOb24tb2JqZWN0
OiBhcnJheSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2FycmF5Lmpzb24nLiIK
K0ZBSUwgTm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3Qg
YSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHRydWUgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5
cGUuIgorRkFJTCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBp
cyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHN0
cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0
IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9u
L2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50
LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRl
ci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXggODky
OGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uZjY4Y2M3M2I0ZDY3NGM1NGRm
YWZlNTIyMTJiNjQzYzQwMzBmZDQyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3Bl
LW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3Jp
cHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUt
b25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1IYXJuZXNzIEVy
cm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBQcm9taXNlIHJlc29sdmVkIGR1
cmluZyAjcmVwb3J0LXRoZS1lcnJvciBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZl
ciwgZXhwZWN0ZWQgYXJyYXkgWyJoYW5kbGVyIDEiLCAiaGFuZGxlciAyIiwgImhhbmRsZXIgMSBw
cm9taXNlIiwgImhhbmRsZXIgMiBwcm9taXNlIl0gbGVuZ3RoIDQsIGdvdCBbXSBsZW5ndGggMAor
UEFTUyBQcm9taXNlIHJlc29sdmVkIGR1cmluZyBldmVudCBoYW5kbGVycyBvdGhlciB0aGFuIGVy
cm9yCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1p
Yy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0
CmluZGV4IDUxZDYxMDBlNjEyMmE5N2MzNjRiM2NlYjFkN2ZkMDdlMGUxNTYxMTcuLmE4MDUwYzA3
OGNmOGI4OGQ1NjhhZmZlMGQ1NWNjMzE5MGMzNjU0N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVy
bC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdv
cmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBS
ZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9cmVsYXRpdmUtY3Jvc3Mtb3JpZ2luIGltcG9y
dFNjcmlwdHMoKScuIgotRkFJTCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGlt
cG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3
LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLWNyb3NzLW9yaWdpbiBpbXBv
cnRTY3JpcHRzKCknLiIKLVBBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4g
aW1wb3J0U2NyaXB0cygpCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZyb20gY3Jvc3Mtb3JpZ2lu
IGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8v
MTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLWNyb3NzLW9yaWdpbiBp
bXBvcnRTY3JpcHRzKCknLiIKK1BBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBzYW1lLW9yaWdp
biBpbXBvcnRTY3JpcHRzKCkKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBzYW1lLW9yaWdp
biBpbXBvcnRTY3JpcHRzKCkKK0ZBSUwgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmln
aW4gaW1wb3J0U2NyaXB0cygpIGFzc2VydF9lcXVhbHM6IFJlbGF0aXZlIFVSTC1saWtlIHNwZWNp
ZmllciByZXNvbHV0aW9uIHNob3VsZCBmYWlsIGV4cGVjdGVkICIodW5yZWFjaGVkKSIgYnV0IGdv
dCAiZ2FtbWEvaW1wb3J0LmpzIgorUEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9y
aWdpbiBpbXBvcnRTY3JpcHRzKCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5z
dWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDg2NmViYjIyN2FkMjZhYWNlMWE1NzhiYWVhNmE4MWRjMGU2ZTc3ZjAuLjVlNzA2MzQ5MGUy
ZGZmZWNlODVlYTc2NWFlYmRkZTRiMTZlYjBmYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13
b3JrZXIuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSB3
b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcu
L2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFi
ZWw9cmVsYXRpdmUtd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQnLiIKLUZBSUwgQWJzb2x1dGUgVVJM
LWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0
aGUgbW9kdWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQu
anM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29s
dXRlLXdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0Jy4iCitQQVNTIFJlbGF0aXZlIFVSTC1saWtlIGZy
b20gd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSB3
b3JrZXIgdG9wLWxldmVsIHNjcmlwdAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFs
dWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1
ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0MmZhZDIyNGUzYTE4YTZm
YjVkODQ4MzI1ZWE2Nzc2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0
aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAog
Ci1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorUEFTUyBUZXN0IGV2
YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3Ro
ZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlv
bi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlk
MGZhZGRkMjJlNGMxZGNiM2E1Zi4uYjg2MWY3MDFmOTQ4ZmIxMzI3NjkzMjJjMzgzNjZmMmQxMzhm
MDRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMgYXNz
ZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsic3RlcC0x
LTEiLCAic3RlcC0xLTIiLCAiZ2xvYmFsLWVycm9yIiwgImVycm9yIiwgIm1pY3JvdGFzayJdIGxl
bmd0aCA1LCBnb3QgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJtaWNyb3Rhc2siXSBsZW5ndGgg
MwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUv
ZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQt
d29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0
YzFkY2IzYTVmLi5jMWQzOGJkZTUwYzU5ZTVkNTk0MTczZDk2ZjljZDE5ZWIxMDdjOWI0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlv
bi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQp
LCBtZXNzYWdlID0gbnVsbAotCitGQUlMIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVz
IGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbInN0
ZXAtMi4yLTEiLCAic3RlcC0yLjItMiIsICJnbG9iYWwtZXJyb3IiLCAiZXJyb3IiLCAibWljcm90
YXNrLTIuMiJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTIuMi0xIiwgInN0ZXAtMi4yLTIiLCAibWlj
cm90YXNrLTIuMiJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1
YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVl
OGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQyZmFkMjI0ZTNhMThhNmZi
NWQ4NDgzMjVlYTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVs
ZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRp
b24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAK
LUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitQQVNTIFRlc3QgZXZh
bHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDEyZDk0
YTkxZWYxZjhhYjBhMTg3Yzc0OWIwZGRlYzY5NmQxMTg4ZTcuLmI0ZDY4YWYwNTZlZWY2MjJhMzNk
NTRmMDc2ZjM4MWQ0ZTFiYjI5YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9y
dC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMiw4ICsyLDgg
QEAKIEZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgogRkFJ
TCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgogRkFJ
TCBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9u
ZSBhcmd1bWVudC4iCi1GQUlMIER5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2
YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGlt
cG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQg
YXJyYXkKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2
YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGlt
cG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1keW5hbWljLWltcG9ydC1zY3JpcHQuanMnLiIs
IGV4cGVjdGVkIGFycmF5Ci1GQUlMIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBv
cnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBp
bXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLXN0
YXRpYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBldmFsKGltcG9y
dCgpKS4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWlj
IGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24t
bG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5CitQQVNTIER5bmFtaWMgaW1wb3J0Lgor
UEFTUyBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVu
IHN0YXRpYyBpbXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9h
bHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9y
dC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGRkOWFmMzhmZjA5ZmJlYzFmYWMw
YjhmNWVhOWJhZDZlMzE2MzY0OWQuLjUxZWIzNjYzOGMxY2E3ZDA2MGI3Njc1OTI2ZmNjNzBjNWJm
MDc2ZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCBpZGVudGlmaWVyICdyJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVu
dC4KIAotRkFJTCBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IGltcG9ydCBh
c3NlcnRfdW5yZWFjaGVkOiBHb3QgZXJyb3IgZXZlbnQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CitQQVNTIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VyczogaW1wb3J0CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNl
dXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBhYjVh
N2ZiODkwMjBmMjlmZDg5M2E3NTY4MGZmZTE3ZDNkMzUwZjdjLi5hYjUzYjgwNTk5YWUwMTk1Nzgw
ODVlZTQ0YWFlZmE0Yzc5NTUyNjg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRz
LWluLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13
b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIGltcG9ydFNjcmlwdHMg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hL3NjcmlwdC5qcyIgYnV0IGdvdCAiYmV0YS9z
Y3JpcHQuanMiCitQQVNTIGltcG9ydFNjcmlwdHMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhy
LWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29y
a2VyLWV4cGVjdGVkLnR4dAppbmRleCA4M2YzNjdmMmNmM2E2NmM2NGE2MjY0Mjk0NjU2ZDVlODgx
ZDFjMTFjLi4yOGIwY2I0MDAxMzkyZDA4ODdhNGZlYmU2ODFjMWUxNTFkMGRmMThiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
YmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9h
bHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IFhIUiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiZ2FtbWFcbiIgYnV0IGdvdCAiYmV0YVxuIgorUEFTUyBCYXNlIFVSTCBp
biBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IFhIUgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94
aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0
ZWQudHh0CmluZGV4IGQ2YjA4ZWVkYWU2ZjY5NmM3YTRiZmE2NTVlMTNiNWVkNDYwN2VhMDEuLmVh
MTQ1NGQ5YjNmMjBmODVkOTAxNmM1MDZhMTU0NmFmNjE3ODQyZDAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2Fs
cGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIHhoci13b3JrZXIgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hXG4iIGJ1dCBnb3QgImJldGFcbiIKK1BBU1MgeGhyLXdv
cmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
Y29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggODMxZjBj
NThjNjk0YzJkNGZlYmQ2ZDhkMGFmMzA3YjEwOTQ0MmE2ZS4uZDU1NWVlN2NmM2ZjNzJlZmI4MmRm
OWRiN2RhZDM2N2Y5YWI3ZmZiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmln
aW4tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVk
LnR4dApAQCAtMSwxMyArMSwxMSBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2Fn
ZSA9IG51bGwKLQogUEFTUyB1bnN1cHBvcnRlZF9zY2hlbWUKIEZBSUwgZGF0YV91cmwgVGhlIG9w
ZXJhdGlvbiBpcyBpbnNlY3VyZS4KLVRJTUVPVVQgYWJvdXRfYmxhbmsgVGVzdCB0aW1lZCBvdXQK
LVRJTUVPVVQgZXhhbXBsZV9pbnZhbGlkIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIHBvcnRfODEg
VGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgaHR0cHNfcG9ydF84MCBUZXN0IHRpbWVkIG91dAotVElN
RU9VVCBodHRwc19wb3J0XzgwMDAgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgaHR0cF9wb3N0Xzgw
MTIgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgamF2YXNjcmlwdF91cmwgVGVzdCB0aW1lZCBvdXQK
K1BBU1MgYWJvdXRfYmxhbmsKK1BBU1MgZXhhbXBsZV9pbnZhbGlkCitQQVNTIHBvcnRfODEKK1BB
U1MgaHR0cHNfcG9ydF84MAorUEFTUyBodHRwc19wb3J0XzgwMDAKK1BBU1MgaHR0cF9wb3N0Xzgw
MTIKK1BBU1MgamF2YXNjcmlwdF91cmwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFs
U2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFs
U2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4IGYxNzQxZjlkOGJmMDcw
MzI3MGQyZTM3NjJkYmNiZTI2YzBiOTAwNTkuLjNiMGRmYjM1ZTUxY2QxYTg1NDU1MzAxOWMwZTQw
M2RiZTJmMWQzM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9u
L3JlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2Nh
dGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgV29ya2Vy
TG9jYXRpb24gd2l0aCByZWRpcmVjdHM6IGNsYXNzaWMgZGVkaWNhdGVkIHdvcmtlcnMgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcG9zdC1sb2NhdGlvbi1tZW1iZXJzLmpzP2Ei
IGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29ya2Vy
R2xvYmFsU2NvcGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5P2ZhaWwiCitQQVNTIFdvcmtl
ckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBjbGFzc2ljIGRlZGljYXRlZCB3b3JrZXJzCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVs
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVj
dC1tb2R1bGUtZXhwZWN0ZWQudHh0CmluZGV4IGRjMmUyZTIwN2RiMDAxZWU3MGU3MzMwN2QyN2Ji
MzM1NzIwZmQ1NTkuLmIzYmY4MWVlODY4MWI5ZGMwODBmNTgwMjcxZThiOGYzOTA5NjU0OTUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVs
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVk
aXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBXb3JrZXJM
b2NhdGlvbiB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Bvc3QtbG9jYXRpb24tbWVtYmVycy5qcz9hIiBi
dXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckds
b2JhbFNjb3BlL2xvY2F0aW9uL2hlbHBlci1yZWRpcmVjdC5weT9mYWlsIgorUEFTUyBXb3JrZXJM
b2NhdGlvbiB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0
CmluZGV4IDIwYWMxN2Q1NjNjNGIzYTQ2MWYwY2FhZmJlYWVlYmQ3MTNmOTcwODEuLmRjY2VkY2Nk
MzY4ZTFmZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRl
ZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwxOCArMSw5
IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRl
cmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0
aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJn
dW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBs
aXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9u
ZXN0ZWQtc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0
bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9y
ZXNvdXJjZXMvc3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWltcG9ydC13b3JrZXIuanMi
LiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNT
QUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtd29ya2Vy
LmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUg
TUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9s
b2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1keW5hbWljLWlt
cG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJh
bCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1p
Yy1pbXBvcnQtYW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBl
eHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJv
cjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtl
cnMvbW9kdWxlcy9yZXNvdXJjZXMvZXZhbC1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1IYXJuZXNzIEVycm9yIChG
QUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWlt
cG9ydC1hbmQtdGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVj
dHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVj
dHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjog
VW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGltcG9y
dCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBc
Imh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1p
bXBvcnQtYW5kLXRoZW4tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9ydC4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBl
eHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0
LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dv
cmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wi
LiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1p
YyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0
ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5
bmFtaWMtaW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBj
YWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBldmFsKGltcG9ydCgpKS4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJv
cjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3Jr
ZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V2YWwtZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgorUEFTUyBTdGF0aWMgaW1w
b3J0LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3RhdGljIGltcG9ydCBhbmQg
dGhlbiBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBk
eW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9y
dC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3Jr
ZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1j
c3AtZXhwZWN0ZWQudHh0CmluZGV4IDFkYTQ2YjkyNmJlMDg5NmVlOGY3NWE3OGRjYWU0ZjI2OWIw
NTA5MmIuLjIzOWNjOWNlMTUzMDFmN2VlZDgzZDVlYjIyMzBhOWRlMjk0ZWEyZWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMv
ZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwyMiBA
QAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kg
ZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4
cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29u
dGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBV
bnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3Jj
Jy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhv
c3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5q
cwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kg
ZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4
cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0
dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9y
dC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBz
Oi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1v
bi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogCiBQQVNTIHdvcmtlci1zcmMg
J3NlbGYnIGRpcmVjdGl2ZSBzaG91bGQgZGlzYWxsb3cgY3Jvc3Mgb3JpZ2luIHN0YXRpYyBpbXBv
cnQuCiBGQUlMIHdvcmtlci1zcmMgKiBkaXJlY3RpdmUgc2hvdWxkIGFsbG93IGNyb3NzIG9yaWdp
biBzdGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBleHBlY3RlZCBwcm9wZXJ0eSAw
IHRvIGJlICJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiIGJ1dCBnb3QgIkVSUk9SIiAoZXhwZWN0
ZWQgYXJyYXkgWyJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiXSBnb3QgWyJFUlJPUiJdKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRleCA5
NWM2ZDE1ZGY0NGUxOGEzNWRmZWIwZmEzOWM4ZDM4NDQyMGMyYzEzLi5lOTU1NzhlNzFiMWM1MGE0
ZTA0NzFiMDM3MTU0YjM4NmIzN2FlZDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWlt
cG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FH
RTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgJy4vbm9uLWV4aXN0ZW50
LXNjcmlwdC5qcycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCitD
T05TT0xFIE1FU1NBR0U6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLgogCi1GQUlM
IGltcG9ydFNjcmlwdHMoKSBvbiBtb2R1bGUgd29ya2VyIHNob3VsZCB0aHJvdyBhbiBleGNlcHRp
b24uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUeXBlRXJyb3IiIGJ1dCBnb3QgIkxPQURFRCIK
K1BBU1MgaW1wb3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3b3JrZXIgc2hvdWxkIHRocm93IGFuIGV4
Y2VwdGlvbi4KIFBBU1MgV29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igbm9uLWV4aXN0ZW50IHNjcmlw
dCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KIFBBU1MgU3RhdGljIGltcG9ydCBmb3Ig
bm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KLUZBSUwg
RHluYW1pYyBpbXBvcnQgZm9yIG5vbi1leGlzdGVudCBzY3JpcHQgc2hvdWxkIHRocm93IGFuIGV4
Y2VwdGlvbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlR5cGVFcnJvciIgYnV0IGdvdCAiRXJy
b3IiCitQQVNTIER5bmFtaWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCB0
aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIGFuIGludmFs
aWQgVVJMIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rp
b24gZm9yIGEgZmlsZSBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21v
ZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAppbmRleCBkNTgwNjIwNDFjM2U2
OTUxNWI4MTVlMDJkN2MzODY4NGQ3N2M3NmI3Li43NzI5MWJhYTFhNDE4NGJlYmU3YWQ3YjVkOWYx
MTljNzFhNzhkZTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRh
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVj
dGVkLnR4dApAQCAtMSw4ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IGlt
cG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCiAKLUhhcm5lc3MgRXJyb3Ig
KEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQg
aW5zaWRlIG1vZHVsZXMuCi0KLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIHRvcC1s
ZXZlbCBtb2R1bGUgc2NyaXB0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogIlN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5IHZhbGlkIGluc2lkZSBt
b2R1bGVzLiIKLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVs
ZSBzY3JpcHQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBUZXN0
IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJh
Z21lbnQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBUZXN0IGlt
cG9ydC5tZXRhLnVybCBvbiB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQuCitQQVNTIFRlc3Qg
aW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0LgorUEFTUyBUZXN0
IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJh
Z21lbnQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbAppbmRleCBjZmY4ZTkxNDg4
ZTgyMzlhYmUyMTM2MTlkMTJkNWE2MDMwNzJmYmVhLi5lZGUyNjkyZTFjNjM0MWJlZmZjOTAxMGM0
MWI4ZjRjZmU0MzgzMjliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1t
ZXRhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1sCkBAIC01
Myw3ICs1Myw3IEBACiAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgnLi8nICsgc2NyaXB0X3Vy
bCArICcjMScpOwogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIu
b25tZXNzYWdlID0gcmVzb2x2ZSk7CiAgICAgICB9KQotICAgICAgLnRoZW4obXNnX2V2ZW50ID0+
IGFzc2VydF90cnVlKG1zZ19ldmVudC5kYXRhLmVuZHNXaXRoKHNjcmlwdF91cmwpKSk7CisgICAg
ICAudGhlbihtc2dfZXZlbnQgPT4gYXNzZXJ0X3RydWUobXNnX2V2ZW50LmRhdGEuZW5kc1dpdGgo
c2NyaXB0X3VybCArICcjMScpKSk7CiB9LCAnVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGlt
cG9ydGVkIG1vZHVsZSBzY3JpcHQgd2l0aCBhIGZyYWdtZW50LicpOwogCiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4dAppbmRl
eCA2ZGM0MmMxY2ZkMzM0OGFmZGQxZGZkM2IxMGE1MDQ3MDU1MzAxOTZhLi5mZTFiOWQ5M2MwODAx
MWI1MGU5NDFmNGUxMjM2MDY3YWJiZDNmMjNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtl
ci1pbXBvcnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0CkBAIC0xLDE5ICsxLDIzIEBACi0KLUhhcm5l
c3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNv
dXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVy
bmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3Vy
Y2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5h
bCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJj
ZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFs
IFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNl
cy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQogCiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZl
bCBtb2R1bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGlj
eQogUEFTUyBTYW1lLW9yaWdpbiB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlwdCBsb2FkaW5nIHdpdGgg
Im9yaWdpbiIgcmVmZXJyZXIgcG9saWN5CiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZlbCBtb2R1
bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeQotRkFJ
TCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBw
b2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKLUZBSUwgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9y
dCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotRkFJ
TCBTYW1lLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBw
b2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKK1BBU1MgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9y
dCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LgorUEFTUyBTYW1lLW9yaWdpbiBz
dGF0aWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgorUEFTUyBTYW1lLW9y
aWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCiBG
QUlMIENyb3NzLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJl
ciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBp
bXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIK
IEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVy
cmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotVElNRU9VVCBTYW1lLW9yaWdpbiBkeW5h
bWljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBUZXN0IHRpbWVk
IG91dAotTk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVm
ZXJyZXIgcG9saWN5LgotTk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggInNh
bWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMg
aW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mt
b3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgotTk9U
UlVOIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJy
ZXIgcG9saWN5LgorRkFJTCBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJuby1yZWZl
cnJlciIgcmVmZXJyZXIgcG9saWN5LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiIiBidXQgZ290
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWlj
LWltcG9ydC1zYW1lLW9yaWdpbi1yZWZlcnJlci1jaGVja2VyLXdvcmtlci5qcyIKK0ZBSUwgU2Ft
ZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWlt
cG9ydC1zYW1lLW9yaWdpbi1yZWZlcnJlci1jaGVja2VyLXdvcmtlci5qcyIKK1BBU1MgU2FtZS1v
cmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4K
K0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZl
cnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFt
aWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJy
b3IiCitGQUlMIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGEyM2E1NTc1ZGI0Mjc0MjdmODViZDZi
NjM1NGRlODgzODMxZmUyYjQuLmRjY2VkY2NkMzY4ZTFmZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJj
ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dApAQCAt
MSwxNCArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRv
a2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNP
TEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBv
bmUgYXJndW1lbnQuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25l
IGFyZ3VtZW50LgotCi1GQUlMIFN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyon
LiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVk
IHN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBk
eW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVj
dHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9ydC4gYXNzZXJ0X2Fy
cmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6
IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMn
LiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIE5lc3RlZCBkeW5hbWljIGltcG9ydC4gYXNzZXJ0X2Fy
cmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6
IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tZHluYW1pYy1pbXBvcnQt
c2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBEeW5hbWljIGltcG9ydCBhbmQgdGhl
biBzdGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRv
IGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcu
L2V4cG9ydC1vbi1zdGF0aWMtaW1wb3J0LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZB
SUwgZXZhbChpbXBvcnQoKSkuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQg
dG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUg
Jy4vZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQorUEFTUyBTdGF0
aWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3RhdGljIGltcG9y
dCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5l
c3RlZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGlj
IGltcG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRl
ZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
b3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dAppbmRleCBkYTBlNGViNjc1OGQxNGEzN2EzOThkMGI2
ZmM3MWFkMzg3NmJkMjZiLi4xZmMwYzY2ZmRmNzI0YzJhYTNiOTEwNjk4MGJmYmU3ZTk4OGY5Nzcz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0CkBA
IC0yLDExICsyLDYgQEAKIFBBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggdGhlIGRl
ZmF1bHQgd29ya2VyIHR5cGUuCiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIHRo
ZSAiY2xhc3NpYyIgd29ya2VyIHR5cGUuCiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3
aXRoIHRoZSAibW9kdWxlIiB3b3JrZXIgdHlwZS4KLUZBSUwgVGVzdCB3b3JrZXIgY29uc3RydWN0
aW9uIHdpdGggYW4gZW1wdHkgd29ya2VyIHR5cGUuIGFzc2VydF90aHJvd3NfanM6IFdvcmtlciBj
b25zdHJ1Y3Rpb24gd2l0aCBhbiBlbXB0eSB0eXBlIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24g
ZnVuY3Rpb24gIigpID0+IHsKLSAgICAgICAgbmV3IFdvcmtlcigncmVzb3VyY2VzL3Bvc3QtbWVz
c2FnZS1vbi1sb2FkLXdvcmtlci5qcycsIHsgdHlwZTogJycgfSk7Ci0gICAgICB9IiBkaWQgbm90
IHRocm93Ci1GQUlMIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVua25vd24gd29y
a2VyIHR5cGUuIGFzc2VydF90aHJvd3NfanM6IFdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1
bmtub3duIHR5cGUgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiBmdW5jdGlvbiAiKCkgPT4gewot
ICAgICAgICBuZXcgV29ya2VyKCdyZXNvdXJjZXMvcG9zdC1tZXNzYWdlLW9uLWxvYWQtd29ya2Vy
LmpzJywKLSAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICd1bmtub3duJyB9KTsKLSAgICAgIH0i
IGRpZCBub3QgdGhyb3cKK1BBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1w
dHkgd29ya2VyIHR5cGUuCitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVu
a25vd24gd29ya2VyIHR5cGUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFy
c2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNl
LWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0CmluZGV4IGU4ZWI1NDBiZDMzOTI0MDBhOGRiZmQ5
Mzg2NDhhNjQ5MjM5YzBkOWUuLmQxYTUwZjdlYTNjZDZkYzI5OGVmNzU0MTQ3NzYyYzY5YzU3ZDcz
YjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJl
LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDE0IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9u
ZSBhcmd1bWVudC4KK0NPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJzsnCitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc7
JwogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IEVycm9yOiBhc3NlcnRfaW1wbGVt
ZW50czogU3RhdGljIGltcG9ydCBtdXN0IGJlIHN1cHBvcnRlZCBvbiBtb2R1bGUgZGVkaWNhdGVk
IHdvcmtlciB0byBydW4gdGhpcyB0ZXN0LiB1bmRlZmluZWQKLQotTk9UUlVOIE1vZHVsZSB3b3Jr
ZXIgY29uc3RydWN0aW9uIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxkIGRpc3Bh
dGNoIGFuIGV2ZW50IG5hbWVkIGVycm9yLgotTk9UUlVOIFN0YXRpYyBpbXBvcnQgb24gbW9kdWxl
IHdvcmtlciBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBhbiBl
dmVudCBuYW1lZCBlcnJvci4KK0ZBSUwgTW9kdWxlIHdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIHNj
cmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlzcGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJy
b3IuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBFdmVudCgpIHsK
KyAgICBbbmF0aXZlIGNvZGVdCit9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBFcnJvckV2
ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCitGQUlMIFN0YXRpYyBpbXBvcnQgb24gbW9k
dWxlIHdvcmtlciBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBh
biBldmVudCBuYW1lZCBlcnJvci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgZnVuY3Rpb24gImZ1
bmN0aW9uIEV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVuY3Rpb24g
ImZ1bmN0aW9uIEVycm9yRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CmluZGV4
IDYzOTg0NzEyMTQ1OWE3YWIzN2I5ZjA5YTY4YmE2NGVhOGE5ZWQ1N2MuLmU5NDY5NDdiMTRhZWYz
ZTUyOTlhMGFiYTNhZTRiMWNmOWZjZDk1NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw4IEBACiBDT05TT0xF
IE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1GQUlMIFRlc3QgdGhlIG5hbWUgcHJv
cGVydHkgb2Ygc2hhcmVkIGFuZCBkZWRpY2F0ZWQgd29ya2VycyB2aWEgdGhlIG5hbWUgY29uc3Ry
dWN0b3Igb3B0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotUEFTUyBEZWNs
YXJpbmcgbmFtZSBhcyBhbiBhY2NpZGVudGFsIGdsb2JhbCBtdXN0IG5vdCBjYXVzZSBhIGhhcm5l
c3MgZXJyb3IgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCitIYXJuZXNzIEVycm9yIChG
QUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IENhbid0IGZpbmQgdmFyaWFibGU6
IFNoYXJlZFdvcmtlcgorCiBQQVNTIG5hbWUgcHJvcGVydHkgdmFsdWUgZm9yIERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlCiBQQVNTIG5hbWUgcHJvcGVydHkgaXMgcmVwbGFjZWFibGUgZm9yIERl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCitQQVNTIERlY2xhcmluZyBuYW1lIGFzIGFuIGFjY2lk
ZW50YWwgZ2xvYmFsIG11c3Qgbm90IGNhdXNlIGEgaGFybmVzcyBlcnJvciBmb3IgRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNyZWRlbnRpYWxzLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50
eHQKaW5kZXggZjA2OTFhYTA5Y2M0OWNkZjdmMmE5NDM3NGM2ZTYyMjIwZjkzYjhlMi4uYTU3MGQ4
ZDI5MmZhODU2MjEyYjA1NDc4ODIwZjEzMGY4MWQ5YmJmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0
LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlh
bHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiBDT05TT0xFIE1FU1NBR0U6
IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbi4KIAotRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3Jp
cHQgd2l0aCB0aGUgZGVmYXVsdCBXb3JrbGV0T3B0aW9ucyBzaG91bGQgc2VuZCB0aGUgY3JlZGVu
dGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFJlc3BvbnNlIGlz
IG5vdCAyeHgiCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIHRoZSBk
ZWZhdWx0IFdvcmtsZXRPcHRpb25zIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9y
OiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNTIEltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggdGhlIGRlZmF1bHQgV29ya2xldE9wdGlvbnMgc2hvdWxk
IG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscwotRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBz
Y3JpcHQgd2l0aCBjcmVkZW50aWFscz1vbWl0IHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlh
bHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
QWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFJlc3BvbnNlIGlzIG5v
dCAyeHgiCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRp
YWxzPW9taXQgc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBJbXBvcnRp
bmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmln
aW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91bGQgbm90IHNlbmQgdGhlIGNyZWRl
bnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRp
YWxzPXNhbWUtb3JpZ2luIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBGYWls
ZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90IDJ4eCIKK0ZBSUwgSW1w
b3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4g
c2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEltcG9ydGluZyBhIG1vZHVsZSBz
Y3JpcHQgZmFpbGVkLiIKIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgd2l0
aCBjcmVkZW50aWFscz1zYW1lLW9yaWdpbiBzaG91bGQgbm90IHNlbmQgdGhlIGNyZWRlbnRpYWxz
Ci1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWlu
Y2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRj
aCBtb2R1bGUsIGVycm9yOiBSZXNwb25zZSBpcyBub3QgMnh4IgotRkFJTCBJbXBvcnRpbmcgYSBy
ZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQg
dGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBP
cmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW4uIgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQg
d2l0aCBjcmVkZW50aWFscz1pbmNsdWRlIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVy
cm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBh
IHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5jbHVkZSBzaG91bGQgc2Vu
ZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmll
ZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1
ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0cHMt
ZXhwZWN0ZWQudHh0CmluZGV4IGJmMzM1Y2YzMDU1ZTA2NWIzODk4OWI0MWFhMWUyMzZmZWI0YWMy
OWQuLjI3NWIzNDM3ZmFkOTc1M2E2ZWNlMjQyMDBlYWJmMjU3ZmZkNjI3MmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVk
aW8td29ya2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQwICsxLDUyIEBACitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9l
bXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291
cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFj
Y2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRz
L3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9j
a2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dv
cmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpz
CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5
NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVh
ZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2Fs
aG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNv
cnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3Vy
aXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05TT0xFIE1FU1NBR0U6IFVu
cmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMn
LgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9z
dDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMt
aGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5
LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05TT0xFIE1FU1NBR0U6IFVucmVj
b2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgog
CiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBk
aXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwg
aHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3Jr
bGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFtibG9ja2Vk
XSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9h
ZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUg
Y29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrbGV0cy9yZXNvdXJjZXMvZW1w
dHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KIAogQ09OU09MRSBNRVNTQUdF
OiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9y
ZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBkaXNwbGF5
IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2xldHMvcmVz
b3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMuCiAKK0NPTlNP
TEUgTUVTU0FHRTogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMv
d29ya2xldHMvcmVzb3VyY2VzL2FkZG1vZHVsZS13aW5kb3cuaHRtbCB3YXMgbm90IGFsbG93ZWQg
dG8gZGlzcGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xvY2FsaG9zdDo5NDQzL3dv
cmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpz
LgorCitDT05TT0xFIE1FU1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2Fs
aG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5v
dCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhv
c3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3Jz
LWhlYWRlci5qcy4KKwogCiBGQUlMIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBiZSBi
bG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCi1GQUlMIEEgc2FtZS1vcmln
aW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxv
Y2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3JpZ2lu
IHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2Nr
ZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4KIEZBSUwgQSByZW1vdGUtb3Jp
Z2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJs
b2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKIEZBSUwgQSByZW1vdGUtb3Jp
Z2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNy
YyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1
dCBnb3QgIlJFU09MVkVEIgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEg
cmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUg
c2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVK
RUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1w
b3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tl
ZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLgogUEFTUyBBIHJlbW90ZS1vcmln
aW4gd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBk
aXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9y
aWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3Qg
YmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRo
ZSBvcmlnaW4gYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5n
IGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhl
IHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNT
IEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0
IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBz
cGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVk
aXJlY3RlZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQt
c3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgotUEFTUyBBIHNh
bWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNj
cmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3Rp
dmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3
b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxk
IG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlp
bmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZF
RCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNob3Vs
ZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93
cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmln
aW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICog
ZGlyZWN0aXZlIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRo
ZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUtb3JpZ2luIHdv
cmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9j
a2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LgogUEFTUyBB
IHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBi
ZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1l
LW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3Jp
cHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3Rp
dmUgYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVt
b3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVz
ZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdp
biB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3Rp
dmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KLVBBU1Mg
QSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNo
b3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3
b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KK0ZBSUwgQSBzYW1lLW9yaWdp
biB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUg
YmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5
IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09M
VkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1w
b3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRo
ZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1z
cmMgZGlyZWN0aXZlLgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNo
b3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3
b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KLVBBU1MgQSBzYW1lLW9yaWdp
biB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hv
dWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdv
cmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgorRkFJTCBBIHNhbWUtb3JpZ2lu
IHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91
bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29y
a2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEFuIGluc2VjdXJlLW9yaWdp
biB3b3JrbGV0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuCiBQ
QVNTIEFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHdvcmtsZXQgc2hvdWxkIGJlIGJsb2Nr
ZWQgYmVjYXVzZSBvZiBtaXhlZCBjb250ZW50cy4KLUZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0
IGltcG9ydGluZyBhbiBpbnNlY3VyZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJl
Y2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RF
RCIgYnV0IGdvdCAiUkVTT0xWRUQiCi1GQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRp
bmcgYW4gaW5zZWN1cmUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBiZSBibG9ja2Vk
IGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpF
Q1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCitQQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBv
cnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNl
IG9mIG1peGVkIGNvbnRlbnRzLgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5n
IGFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBi
ZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0
CmluZGV4IGZlODk2NWFlZjZjYWRhMjIxOWVmOGUzMDg4OGJhOTFlMjQwMTdhYzAuLjY3NjQ3ZDQ2
ODdiOWQzY2ZjODZlMGIyYzhmNTY4ZTIwZjViZWMzOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1p
bXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xNiw3ICsxNiw3IEBAIFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mgb3JpZ2lu
IHJlc291cmNlIHdpdGggdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBoZWFkCiBQQVNT
IEltcG9ydGluZyBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRob3V0IHRoZSBBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UK
IFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0ZWQgcmVzb3VyY2Ugd2l0aCB0
aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWRlciBzaG91bGQgcmVzb2x2ZSB0aGUg
Z2l2ZW4gcHJvbWlzZQogUEFTUyBJbXBvcnRpbmcgYSBjcm9zcy1vcmlnaW4tcmVkaXJlY3RlZCBy
ZXNvdXJjZSB3aXRob3V0IHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNo
b3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UKLUZBSUwgSW1wb3J0aW5nIGEgc2NyaXB0IHRo
YXQgaGFzIGEgc3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuIGFz
c2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCi1GQUlMIEltcG9ydGluZyBhIG5lc3RlZCBzY3JpcHQgdGhhdCBoYXMg
YSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4gYXNzZXJ0X3Vu
cmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUKLUZBSUwgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1wb3J0cyBhbiBpbnZhbGlk
IGlkZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4gYXNzZXJ0X3VucmVh
Y2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxl
IGNvZGUKK1BBU1MgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVycm9yIHNo
b3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuCitQQVNTIEltcG9ydGluZyBhIG5lc3RlZCBz
Y3JpcHQgdGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJv
bWlzZS4KK1BBU1MgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1wb3J0cyBhbiBpbnZhbGlkIGlk
ZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRp
by13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJl
ci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjRkNDk5YzE0MWNlZTZkYzliMmViZTI0YmZiNGZm
NGMwM2EwYTk3My4uOWY2ZDExMzA1OWQ5ZmFkNTBjNjMwMDdiN2ZjZDJjYmQ2NzI3NzY1MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
bGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdv
cmtsZXQtcmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsOCBAQAorQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3Jr
bGV0cy9yZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9bm8tcmVm
ZXJyZXImZXhwZWN0ZWRfcmVmZXJyZXI9CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwg
aHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9yZWZlcnJlci1j
aGVja2VyLnB5P3JlZmVycmVyX3BvbGljeT1vcmlnaW4mZXhwZWN0ZWRfcmVmZXJyZXI9aHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My8KK0NPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgor
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0
My93b3JrbGV0cy9yZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9
c2FtZS1vcmlnaW4mZXhwZWN0ZWRfcmVmZXJyZXI9CitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBo
dHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFs
bG93LU9yaWdpbi4KIAogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBh
IHBhZ2UgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBz
ZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9t
IGEgcGFnZSB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90
IHNlbmQgcmVmZXJyZXIuCkBAIC02LDE1ICsxMSwxNSBAQCBQQVNTIEltcG9ydGluZyBhIHJlbW90
ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBv
bAogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBo
YXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCiBQ
QVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFz
ICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4K
IFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3
b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91
bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJy
ZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCitGQUlMIEltcG9y
dGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNj
cmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNl
bmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAi
Q3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2Ug
U2hhcmluZyBwb2xpY3kuIgogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJv
bSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiBy
ZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcg
YSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlw
dCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQg
cmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2Ft
ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNj
cmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBz
YW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhh
dCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFT
UyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3
b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNl
bmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEg
c2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJl
ciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1v
cmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAi
c2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1Q
QVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3
b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91
bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9y
aWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgorRkFJTCBJbXBvcnRp
bmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3Jp
cHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVy
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdp
biBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9s
aWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUt
b3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBz
aG91bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBi
dXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2Ny
aXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJl
ci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJDcm9zcy1vcmln
aW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBv
bGljeS4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1v
cmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZF
RCIgYnV0IGdvdCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIgorRkFJTCBJbXBv
cnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBz
Y3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBz
ZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3Qg
IkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNl
IFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZy
b20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZh
aWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1v
dGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIg
cG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVT
T0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJlY3Rl
ZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1l
eHBlY3RlZC50eHQKaW5kZXggMWUyZDM5OTJmNmQ1ZGYzMjIwN2E2YjBmNjE5YTZkNzExODEyNDAw
ZC4uN2E3YTkxN2VhYTk4ZTkyZWUwM2VjMjhhMTFlNzgwODRkMjM0Yjg4NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwt
cmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVjdGVkLXdv
cmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cyLmxvY2FsaG9zdDo4ODAwL3hoci9yZXNvdXJjZXMv
aW5zcGVjdC1oZWFkZXJzLnB5P2ZpbHRlcl9uYW1lPW9yaWdpbiZjb3JzCiAKLUZBSUwgUmVmZXJl
ciBoZWFkZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJlZmVyZXI6IGh0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC94aHIvcmVzb3VyY2VzL3dvcmtlcnhoci1vcmlnaW4tcmVmZXJyZXIuanNcbiIgYnV0
IGdvdCAiUmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3hoci9yZXNvdXJjZXMvcmVkaXJl
Y3QucHk/bG9jYXRpb249d29ya2VyeGhyLW9yaWdpbi1yZWZlcnJlci5qc1xuIgorUEFTUyBSZWZl
cmVyIGhlYWRlcgogRkFJTCBPcmlnaW4gaGVhZGVyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJP
cmlnaW46IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMFxuIiBidXQgZ290ICIiCiBQQVNTIFJlcXVlc3Qg
VVJMIHRlc3QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW93b3JrbGV0
LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1
ZGlvd29ya2xldC1hZGRNb2R1bGUtZmFpbHVyZS1leHBlY3RlZC50eHQKaW5kZXggMDhhZjExNDM2
MDU1MWJmNWE4MDc5YWYwYTM4MTVjNGUwOGViZDE0My4uZGVmMzNhZDg2OTFiNjk0MzZlMGUxODFj
NWJkMDA0ODM1NDgzNTFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW93
b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93
ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC00
LDcgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1MgY29udGV4dC5hdWRp
b1dvcmtsZXQuYWRkTW9kdWxlKGludmFsaWRVUkwpOyByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5
bnRheEVycm9yOiBNb2R1bGUgVVJMIGlzIGludmFsaWQuCi1QQVNTIGNvbnRleHQuYXVkaW9Xb3Jr
bGV0LmFkZE1vZHVsZSgnZG9lc25vdEV4aXN0LmpzJyk7IHJlamVjdGVkIHByb21pc2UgIHdpdGgg
QWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFRoZSByZXF1ZXN0ZWQg
VVJMIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuLgorUEFTUyBjb250ZXh0LmF1ZGlvV29y
a2xldC5hZGRNb2R1bGUoJ2RvZXNub3RFeGlzdC5qcycpOyByZWplY3RlZCBwcm9taXNlICB3aXRo
IEFib3J0RXJyb3I6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLi4KIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vd29ya2xldC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA2NTRkZGY3ZjE3ZWZh
YjU4ZTQyZmFiZTM4NTI1Nzk2NGFlMmM1ZDQxLi4xYTQzZTNmOTdjYjJmMDZiOWY3Y2Q1ZjJiMTgy
MzM4MTA1MTNlZWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby93b3JrbGV0LWNy
YXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby93b3JrbGV0LWNyYXNo
LWV4cGVjdGVkLnR4dApAQCAtMSArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjog
J3RleHQvaHRtbCcgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCiBUaGlzIHRl
c3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420618</attachid>
            <date>2021-02-17 01:58:07 -0800</date>
            <delta_ts>2021-02-18 23:02:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210217015806.patch</filename>
            <type>text/plain</type>
            <size>238970</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MjJkM2U1NmU1OGNhNjNiMGYwZDYyZWIzMDg4Yjc3MTI3ZGZkNGYxLi4yMGM5YTE5ZDBkZDQyMTM1
YWZiZTQ5ODZiNzUxYzdkZDk4YzA2YjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAyMS0wMi0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcDoK
KyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9yKToKKyAgICAgICAg
KiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRlRXJyb3IpOgorICAgICAg
ICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVSYW5nZUVycm9y
KToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3IpOgorICAgICAgICAoSlNDOjpj
cmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVR5cGVFcnJvcik6CisgICAg
ICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlR2V0dGVyVHlw
ZUVycm9yKToKKyAgICAgICAgKEpTQzo6dGhyb3dTeW50YXhFcnJvcik6CisgICAgICAgICogcnVu
dGltZS9FcnJvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogcnVudGlt
ZS9FcnJvckluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6RXJyb3JJ
bnN0YW5jZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OmNyZWF0ZSk6CisgICAgICAg
IChKU0M6OkVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmcpOgorICAgICAgICAo
SlNDOjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5nKToKKyAgICAgICAgKEpTQzo6
RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvRXJy
b3JJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGUpOgorICAg
ICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjplcnJvclR5cGUgY29uc3QpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBl
Pjo6Y29uc3RydWN0SW1wbCk6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3I8
ZXJyb3JUeXBlPjo6Y2FsbEltcGwpOgorICAgICAgICAqIHJ1bnRpbWUvTnVsbFNldHRlckZ1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TnVsbFNldHRlckZ1bmN0aW9uSW50ZXJuYWw6OkpTQ19E
RUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29t
cGlsZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6
SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TGlua0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6
SlNXZWJBc3NlbWJseUxpbmtFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
cjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3Nl
bWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04p
OgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisKIDIwMjEtMDIt
MTYgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgb3BlcmF0aW9u
TmV3QXJyYXlXaXRoU2l6ZSBzaG91bGQgY2FsbCB0cnlDcmVhdGUgaW5zdGVhZCBvZiBjcmVhdGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4MDIyZGJiYzViMTBhMWQ3NmYyYjRhOTI1MjI2M2Q2ZWJmM2IwOTQ0Li5l
OGQzOGEwYmRjNDY1OTUyMzlhMzAxNWRmZTUwZmE2NWE2ZDlkMTJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMyIEBACisyMDIxLTAyLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5j
b20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
U291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OkNhY2hlZE1vZHVsZVNjcmlw
dExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6Omxv
YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlG
aW5pc2hlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRTY3JpcHRGZXRjaGVyOjpyZXF1ZXN0U2NyaXB0V2l0aENhY2hl
IGNvbnN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUpOgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRE9NRXhjZXB0aW9uKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyaXB0TW9kdWxlTG9hZGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNv
bHZlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJG
ZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVy
RXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxv
YWRlckltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6
bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxl
TG9hZGVyUmVzb2x2ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jh
c2U6Om1vZHVsZUxvYWRlckZldGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9N
V2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJ
bXBvcnRNZXRhUHJvcGVydGllcyk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFz
ZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmg6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oLgorICAgICAgICAoV2Vi
Q29yZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpjbGVhckNsaWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpNb2R1bGVTY3JpcHRMb2FkZXI6OnNjcmlwdEZldGNoZXIpOgorICAgICAgICAoV2ViQ29yZTo6
TW9kdWxlU2NyaXB0TG9hZGVyOjpwYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVs
ZVNjcmlwdExvYWRlcjo6TW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oLgorICAgICAgICAq
IGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRNb2R1bGVMb2FkZXI6OlNjcmlwdE1vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpyZXNvbHZlTW9kdWxlU3BlY2lmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVs
ZUxvYWRlcjo6cmVzb2x2ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6
OmZldGNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVsZUxvYWRlcjo6bW9kdWxlVVJM
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVsZUxvYWRlcjo6cmVzcG9uc2VVUkxGcm9t
UmVxdWVzdFVSTCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmV2YWx1
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVsZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQp
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5oOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFNvdXJjZUNvZGU6OlNjcmlwdFNvdXJjZUNvZGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
TW9kdWxlU2NyaXB0TG9hZGVyOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjp+V29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6bG9hZCk6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlz
aGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmguCisgICAgICAg
ICogYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RmV0Y2hlci5oOiBBZGRlZC4KKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9FeGNlcHRpb25Db2RlLmg6CisgICAgICAg
ICogZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRh
YmxlTW9kdWxlU2NyaXB0Ojpsb2FkKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vTG9hZGFibGVN
b2R1bGVTY3JpcHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxlU2NyaXB0KToKKyAgICAgICAg
KiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRh
YmxlTG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6V29ya2VyKToK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmg6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckds
b2JhbFNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjppbXBvcnRT
Y3JpcHRzKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6Y3JlZGVudGlhbHMgY29uc3QpOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyTWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2Fn
aW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNj
b3BlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGU6Om1vZHVsZUxvYWRlcik6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzVmFsdWVU
b01vZHVsZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyOjpldmFsdWF0ZU1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkTW9kdWxlU3luY2hyb25vdXNseSk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsaW5rQW5kRXZhbHVhdGVN
b2R1bGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cjo6bG9hZEFuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29y
a2xldFNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3lu
Y2hyb25vdXNseSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6cmVzcG9uc2VTb3VyY2UgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjppc1JlZGlyZWN0ZWQg
Y29uc3QpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OmV2YWx1YXRlU2NyaXB0SWZOZWNlc3NhcnkpOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUeXBl
Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaDoK
KyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySm9iOjpmZXRjaFNjcmlwdFdpdGhDb250ZXh0KToKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMu
aDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFk
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3Jr
ZXJUaHJlYWQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3Jr
ZXIuaDoKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpmZXRjaEFuZEludm9rZVNjcmlwdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OnByb2Nlc3NOZXh0U2NyaXB0RmV0
Y2hKb2JJZk5lZWRlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFs
U2NvcGU6OmRpZFJlY2VpdmVSZXNwb25zZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
b3JrbGV0R2xvYmFsU2NvcGU6Om5vdGlmeUZpbmlzaGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6ZGlkQ29tcGxldGVTY3JpcHRGZXRjaEpvYik6IERl
bGV0ZWQuCisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmg6CisKIDIwMjEt
MDItMTYgIFBhdHJpY2sgQW5nbGUgIDxwYW5nbGVAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IEltcGxlbWVudCBHcmlkIE92ZXJsYXkgIlNob3cgYXJlYSBuYW1lcyIgZHJhd2lu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJy
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuY3Bw
CmluZGV4IDc1OWE1YjI0YTBlZDA4NjgwY2NhYTYzNDBkMmU5NWQ0NTBiODBmZDYuLjI5NmM4NWNj
OTBlMDViNTQ1NDdmNjYyYTdlMmY4YTFlMTMwYTQ2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiBjb25zdCBDbGFzc0luZm8gQWdncmVnYXRlRXJyb3I6OnNfaW5mbyA9IHsg
IkFnZ3JlZ2F0ZUVycm9yIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRF
X01FVEhPRF9UQUJMRShBZ2dyZWdhdGVFcnJvcikgfTsKIAogQWdncmVnYXRlRXJyb3I6OkFnZ3Jl
Z2F0ZUVycm9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBz
dHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6QWdncmVnYXRl
RXJyb3IpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAppbmRl
eCBmNDczYjgxODFlYzJmMDJhMGNjNzhhMjZjMGMyMGRjOTYzMWZkYzc0Li5mY2FjZjFlMzIyZWIy
NzI3ODc0ZmYyNTI2MjQxZWQ3YmU5OGNlNTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3IuY3BwCkBAIC0zNSwzNyArMzUsMzcgQEAgbmFtZXNwYWNlIEpTQyB7CiBKU09iamVj
dCogY3JlYXRlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAg
ICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6
Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVy
cm9yU3RydWN0dXJlKCksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7Cisg
ICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpLCBtZXNzYWdlLCBhcHBlbmRl
ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCog
Y3JlYXRlRXZhbEVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAg
ICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6
OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5l
cnJvclN0cnVjdHVyZShFcnJvclR5cGU6OkV2YWxFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBU
eXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9i
YWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVy
ZShFcnJvclR5cGU6OkV2YWxFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywg
RXJyb3JUeXBlOjpFdmFsRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlUmFuZ2VF
cnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCgh
bWVzc2FnZS5pc0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xv
YmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1
cmUoRXJyb3JUeXBlOjpSYW5nZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5n
LCB0cnVlKTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
Z2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlw
ZTo6UmFuZ2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBl
OjpSYW5nZUVycm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVJlZmVyZW5jZUVycm9y
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJy
b3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNz
YWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShF
cnJvclR5cGU6OlJlZmVyZW5jZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5n
LCB0cnVlKTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
Z2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlw
ZTo6UmVmZXJlbmNlRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9y
VHlwZTo6UmVmZXJlbmNlRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlU3ludGF4
RXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQo
IW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0
dXJlKEVycm9yVHlwZTo6U3ludGF4RXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhp
bmcsIHRydWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0
LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JU
eXBlOjpTeW50YXhFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JU
eXBlOjpTeW50YXhFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJyb3Io
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJv
ckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlciwgUnVudGltZVR5cGUgdHlwZSkKIHsK
ICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5j
ZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3Qt
PmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIs
IHR5cGUsIHRydWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJy
b3JUeXBlOjpUeXBlRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgdHlwZSwgRXJyb3JUeXBlOjpU
eXBlRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRz
RXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JJbnN0YW5jZTo6U291cmNl
QXBwZW5kZXIgYXBwZW5kZXIpCkBAIC03Niw3ICs3Niw3IEBAIEpTT2JqZWN0KiBjcmVhdGVOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvcklu
c3RhCiBKU09iamVjdCogY3JlYXRlVVJJRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBh
cHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4g
RXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBn
bG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VVJJRXJyb3IpLCBtZXNzYWdl
LCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNl
OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+
ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpVUklFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBU
eXBlTm90aGluZywgRXJyb3JUeXBlOjpVUklFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBj
cmVhdGVFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvclR5cGUgZXJyb3JU
eXBlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCkBAIC0xMTMsNyArMTEzLDcgQEAgSlNPYmplY3Qq
IGNyZWF0ZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVycm9yVHlwZVdpdGhF
eHRlbnNpb24gZXJyb3IKIEpTT2JqZWN0KiBjcmVhdGVHZXR0ZXJUeXBlRXJyb3IoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIEFTU0VS
VCghbWVzc2FnZS5pc0VtcHR5KCkpOwotICAgIGF1dG8qIGVycm9yID0gRXJyb3JJbnN0YW5jZTo6
Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVy
cm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSk7CisgICAgYXV0byog
ZXJyb3IgPSBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3Qt
PnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3Ip
LCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IpOwog
ICAgIGVycm9yLT5zZXROYXRpdmVHZXR0ZXJUeXBlRXJyb3IoKTsKICAgICByZXR1cm4gZXJyb3I7
CiB9CkBAIC0yNzQsNyArMjc0LDcgQEAgRXhjZXB0aW9uKiB0aHJvd1R5cGVFcnJvcihKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUaHJvd1Njb3BlJiBzY29wZSwgY29uc3QKIAogRXhjZXB0
aW9uKiB0aHJvd1N5bnRheEVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRocm93
U2NvcGUmIHNjb3BlKQogewotICAgIHJldHVybiB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3Qs
IHNjb3BlLCBjcmVhdGVTeW50YXhFcnJvcihnbG9iYWxPYmplY3QsICJTeW50YXggZXJyb3IiX3Mp
KTsKKyAgICByZXR1cm4gdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSwgY3JlYXRl
U3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIEV4Y2VwdGlvbiogdGhyb3dTeW50YXhF
cnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUaHJvd1Njb3BlJiBzY29wZSwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQpAQCAtMzE3LDYgKzMxNywxMSBAQCBKU09iamVjdCogY3JlYXRl
U3ludGF4RXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKQogICAgIHJldHVybiBjcmVhdGVTeW50YXhFcnJvcihnbG9iYWxPYmplY3QsIG1lc3Nh
Z2UsIG51bGxwdHIpOwogfQogCitKU09iamVjdCogY3JlYXRlU3ludGF4RXJyb3IoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICByZXR1cm4gY3JlYXRlU3ludGF4RXJyb3IoZ2xv
YmFsT2JqZWN0LCAiU3ludGF4IGVycm9yIl9zLCBudWxscHRyKTsKK30KKwogSlNPYmplY3QqIGNy
ZWF0ZVR5cGVFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIHJldHVy
biBjcmVhdGVUeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCAiVHlwZSBlcnJvciJfcyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaAppbmRleCA2ZGFhMTU0MjE1NjY2MTBlNGFjZTZkZTMz
NWYzNGQzYmY3Yzc0NDRkLi5kYzgyNTI4MmMzNTY0ODcxMzI1NDU0NGJjOGQ4MTg4ODQwMGU0Mzhi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmgKQEAgLTU1LDYgKzU1LDcgQEAg
SlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZUV2YWxFcnJvcihKU0dsb2JhbE9iamVj
dCosIGNvbnN0IFN0cmluZyYpOwogSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVJh
bmdlRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmKTsKIEpTX0VYUE9SVF9QUklW
QVRFIEpTT2JqZWN0KiBjcmVhdGVSZWZlcmVuY2VFcnJvcihKU0dsb2JhbE9iamVjdCosIGNvbnN0
IFN0cmluZyYpOwogSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9y
KEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CitKU19FWFBPUlRfUFJJVkFURSBKU09i
amVjdCogY3JlYXRlU3ludGF4RXJyb3IoSlNHbG9iYWxPYmplY3QqKTsKIEpTX0VYUE9SVF9QUklW
QVRFIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqKTsKIEpTX0VYUE9S
VF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25z
dCBTdHJpbmcmKTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVOb3RFbm91Z2hB
cmd1bWVudHNFcnJvcihKU0dsb2JhbE9iamVjdCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCAwZjJmNWEzMTg0MDJmYmI3
YzdkODgwMmI2ZDc4NDJlZmU0MDZjODQ2Li45YmU5MzBjZjFjM2M5YTQwZTYwODU5ODM1NThhMWE1
OWJjNzhiNjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ckNvbnN0cnVjdG9yLmNwcApAQCAtNjAsMTQgKzYwLDE0IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTihjb25zdHJ1Y3RFcnJvckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjCiAgICAgICAgIDogSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUo
Z2xvYmFsT2JqZWN0LCBuZXdUYXJnZXQsIGdldEZ1bmN0aW9uUmVhbG0odm0sIG5ld1RhcmdldCkt
PmVycm9yU3RydWN0dXJlKCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7
CiAKLSAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShFcnJvcklu
c3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVs
bHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSkpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29w
ZSwgSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVy
cm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpF
cnJvciwgZmFsc2UpKSk7CiB9CiAKIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsRXJyb3JD
b25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2Fs
bEZyYW1lKSkKIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDAp
OwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmVycm9yU3Ry
dWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVh
dGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5v
dGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNl
OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwg
VHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9CiAKIGJvb2wgRXJyb3JD
b25zdHJ1Y3Rvcjo6cHV0KEpTQ2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlT
bG90JiBzbG90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JJbnN0YW5jZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3Rh
bmNlLmNwcAppbmRleCAyZTRlYzM5ZjEyMDU4YjI1MDg3MjJlMGI4MjUyMjQ3YmViMDMxOWU2Li4w
Zjg2ZTIyYjkyZGRkNmQxMzk4NThiODZlNTZjZWFkY2FlY2UwZDQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcApAQCAtMzQsMTggKzM0LDIz
IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBDbGFzc0luZm8gRXJyb3JJbnN0YW5jZTo6c19p
bmZvID0geyAiRXJyb3IiLCAmSlNOb25GaW5hbE9iamVjdDo6c19pbmZvLCBudWxscHRyLCBudWxs
cHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVycm9ySW5zdGFuY2UpIH07CiAKLUVycm9ySW5zdGFu
Y2U6OkVycm9ySW5zdGFuY2UoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK0Vycm9ySW5z
dGFuY2U6OkVycm9ySW5zdGFuY2UoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRXJyb3JU
eXBlIGVycm9yVHlwZSkKICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKKyAgICAsIG1fZXJyb3JU
eXBlKGVycm9yVHlwZSkKKyAgICAsIG1fc3RhY2tPdmVyZmxvd0Vycm9yKGZhbHNlKQorICAgICwg
bV9vdXRPZk1lbW9yeUVycm9yKGZhbHNlKQorICAgICwgbV9lcnJvckluZm9NYXRlcmlhbGl6ZWQo
ZmFsc2UpCisgICAgLCBtX25hdGl2ZUdldHRlclR5cGVFcnJvcihmYWxzZSkKIHsKIH0KIAotRXJy
b3JJbnN0YW5jZSogRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1ZhbHVlIG1lc3NhZ2UsIFNvdXJjZUFwcGVu
ZGVyIGFwcGVuZGVyLCBSdW50aW1lVHlwZSB0eXBlLCBib29sIHVzZUN1cnJlbnRGcmFtZSkKK0Vy
cm9ySW5zdGFuY2UqIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNWYWx1ZSBtZXNzYWdlLCBTb3VyY2VBcHBl
bmRlciBhcHBlbmRlciwgUnVudGltZVR5cGUgdHlwZSwgRXJyb3JUeXBlIGVycm9yVHlwZSwgYm9v
bCB1c2VDdXJyZW50RnJhbWUpCiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwog
ICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBTdHJpbmcgbWVz
c2FnZVN0cmluZyA9IG1lc3NhZ2UuaXNVbmRlZmluZWQoKSA/IFN0cmluZygpIDogbWVzc2FnZS50
b1dURlN0cmluZyhnbG9iYWxPYmplY3QpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IG51bGxwdHIpOwotICAgIHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0dXJl
LCBtZXNzYWdlU3RyaW5nLCBhcHBlbmRlciwgdHlwZSwgdXNlQ3VycmVudEZyYW1lKTsKKyAgICBy
ZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbWVzc2FnZVN0cmluZywg
YXBwZW5kZXIsIHR5cGUsIGVycm9yVHlwZSwgdXNlQ3VycmVudEZyYW1lKTsKIH0KIAogc3RhdGlj
IFN0cmluZyBhcHBlbmRTb3VyY2VUb0Vycm9yTWVzc2FnZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwg
RXJyb3JJbnN0YW5jZSogZXhjZXB0aW9uLCBCeXRlY29kZUluZGV4IGJ5dGVjb2RlSW5kZXgsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkKQEAgLTEzMSw3ICsxMzYsMjUgQEAgdm9pZCBFcnJvckluc3Rh
bmNlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IGNvbnN0IFMKIC8vIEJhc2VkIG9uIEVycm9yUHJvdG90eXBlJ3MgZXJyb3JQcm90b0Z1bmNUb1N0
cmluZygpLCBidXQgaXMgbW9kaWZpZWQgdG8KIC8vIGhhdmUgbm8gb2JzZXJ2YWJsZSBzaWRlIGVm
ZmVjdHMgdG8gdGhlIHVzZXIgKGkuZS4gZG9lcyBub3QgY2FsbCBwcm94aWVzLAogLy8gYW5kIGdl
dHRlcnMpLgotU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZFRvU3RyaW5nKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCitTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkTWVz
c2FnZVN0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7CisgICAgSW50ZWdyaXR5OjphdWRpdFN0cnVjdHVyZUlEKHZtLCBzdHJ1Y3R1cmVJRCgp
KTsKKworICAgIEpTVmFsdWUgbWVzc2FnZVZhbHVlOworICAgIGF1dG8gbWVzc2FnZVByb3BlcnRO
YW1lID0gdm0ucHJvcGVydHlOYW1lcy0+bWVzc2FnZTsKKyAgICBQcm9wZXJ0eVNsb3QgbWVzc2Fn
ZVNsb3QodGhpcywgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSwg
JnZtKTsKKyAgICBpZiAoSlNPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdCh0aGlzLCBnbG9iYWxP
YmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSwgbWVzc2FnZVNsb3QpICYmIG1lc3NhZ2VTbG90Lmlz
VmFsdWUoKSkKKyAgICAgICAgbWVzc2FnZVZhbHVlID0gbWVzc2FnZVNsb3QuZ2V0VmFsdWUoZ2xv
YmFsT2JqZWN0LCBtZXNzYWdlUHJvcGVydE5hbWUpOworICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0
aW9uKCk7CisKKyAgICBpZiAoIW1lc3NhZ2VWYWx1ZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygp
OworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbWVzc2FnZVZhbHVlLnRvV1RGU3RyaW5n
KGdsb2JhbE9iamVjdCkpOworfQorCitTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkTmFt
ZVN0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CkBAIC0xNTcsMjggKzE4MCwyMiBAQCBTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVk
VG9TdHJpbmcoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICB9CiAgICAgc2NvcGUu
YXNzZXJ0Tm9FeGNlcHRpb24oKTsKIAotICAgIFN0cmluZyBuYW1lU3RyaW5nOwogICAgIGlmICgh
bmFtZVZhbHVlKQotICAgICAgICBuYW1lU3RyaW5nID0gIkVycm9yIl9zOwotICAgIGVsc2Ugewot
ICAgICAgICBuYW1lU3RyaW5nID0gbmFtZVZhbHVlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7
Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFN0cmluZygpKTsKLSAgICB9Cisg
ICAgICAgIHJldHVybiAiRXJyb3IiX3M7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBu
YW1lVmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KSk7Cit9CiAKLSAgICBKU1ZhbHVlIG1l
c3NhZ2VWYWx1ZTsKLSAgICBhdXRvIG1lc3NhZ2VQcm9wZXJ0TmFtZSA9IHZtLnByb3BlcnR5TmFt
ZXMtPm1lc3NhZ2U7Ci0gICAgUHJvcGVydHlTbG90IG1lc3NhZ2VTbG90KHRoaXMsIFByb3BlcnR5
U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnksICZ2bSk7Ci0gICAgaWYgKEpTT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZ2xvYmFsT2JqZWN0LCBtZXNzYWdlUHJvcGVy
dE5hbWUsIG1lc3NhZ2VTbG90KSAmJiBtZXNzYWdlU2xvdC5pc1ZhbHVlKCkpCi0gICAgICAgIG1l
c3NhZ2VWYWx1ZSA9IG1lc3NhZ2VTbG90LmdldFZhbHVlKGdsb2JhbE9iamVjdCwgbWVzc2FnZVBy
b3BlcnROYW1lKTsKLSAgICBzY29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOworU3RyaW5nIEVycm9y
SW5zdGFuY2U6OnNhbml0aXplZFRvU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
Cit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBJbnRlZ3JpdHk6OmF1ZGl0U3RydWN0dXJlSUQo
dm0sIHN0cnVjdHVyZUlEKCkpOwogCi0gICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmc7Ci0gICAgaWYg
KCFtZXNzYWdlVmFsdWUpCi0gICAgICAgIG1lc3NhZ2VTdHJpbmcgPSBTdHJpbmcoKTsKLSAgICBl
bHNlIHsKLSAgICAgICAgbWVzc2FnZVN0cmluZyA9IG1lc3NhZ2VWYWx1ZS50b1dURlN0cmluZyhn
bG9iYWxPYmplY3QpOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmco
KSk7Ci0gICAgfQorICAgIFN0cmluZyBuYW1lU3RyaW5nID0gc2FuaXRpemVkTmFtZVN0cmluZyhn
bG9iYWxPYmplY3QpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFN0cmluZygpKTsK
KworICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nID0gc2FuaXRpemVkTWVzc2FnZVN0cmluZyhnbG9i
YWxPYmplY3QpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFN0cmluZygpKTsKIAog
ICAgIGlmICghbmFtZVN0cmluZy5sZW5ndGgoKSkKICAgICAgICAgcmV0dXJuIG1lc3NhZ2VTdHJp
bmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3Rh
bmNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmgKaW5k
ZXggZGE2NmViNzZlN2FkZTkwZmQ0MWJiMTYyNzA3MjVhN2QxNDcwYWQzOC4uOTg3MTM1NzIxYjMw
NTY2MjMwZDI2MWM4MzNhZDhkZWNhNTQ2MTQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuaApAQCAtMjAsNiArMjAsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAorI2luY2x1ZGUgIkVycm9yVHlwZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAjaW5j
bHVkZSAiUnVudGltZVR5cGUuaCIKICNpbmNsdWRlICJTdGFja0ZyYW1lLmgiCkBAIC01MywxNCAr
NTQsMTQgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsK
ICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgVHlwZUluZm8oRXJyb3JJbnN0YW5jZVR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygp
KTsKICAgICB9CiAKLSAgICBzdGF0aWMgRXJyb3JJbnN0YW5jZSogY3JlYXRlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIgPSBudWxscHRyLCBSdW50aW1l
VHlwZSB0eXBlID0gVHlwZU5vdGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSkKKyAg
ICBzdGF0aWMgRXJyb3JJbnN0YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
U291cmNlQXBwZW5kZXIgYXBwZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSB0eXBlID0gVHlw
ZU5vdGhpbmcsIEVycm9yVHlwZSBlcnJvclR5cGUgPSBFcnJvclR5cGU6OkVycm9yLCBib29sIHVz
ZUN1cnJlbnRGcmFtZSA9IHRydWUpCiAgICAgewotICAgICAgICBFcnJvckluc3RhbmNlKiBpbnN0
YW5jZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEVycm9ySW5zdGFuY2U+KHZtLmhlYXAp
KSBFcnJvckluc3RhbmNlKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBFcnJvckluc3RhbmNlKiBp
bnN0YW5jZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEVycm9ySW5zdGFuY2U+KHZtLmhl
YXApKSBFcnJvckluc3RhbmNlKHZtLCBzdHJ1Y3R1cmUsIGVycm9yVHlwZSk7CiAgICAgICAgIGlu
c3RhbmNlLT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBtZXNzYWdlLCBhcHBlbmRl
ciwgdHlwZSwgdXNlQ3VycmVudEZyYW1lKTsKICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAg
IH0KIAotICAgIHN0YXRpYyBFcnJvckluc3RhbmNlKiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqLCBKU1ZhbHVlIG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyID0gbnVsbHB0ciwgUnVu
dGltZVR5cGUgPSBUeXBlTm90aGluZywgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKTsKKyAg
ICBzdGF0aWMgRXJyb3JJbnN0YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJl
KiwgSlNWYWx1ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBl
ID0gVHlwZU5vdGhpbmcsIEVycm9yVHlwZSA9IEVycm9yVHlwZTo6RXJyb3IsIGJvb2wgdXNlQ3Vy
cmVudEZyYW1lID0gdHJ1ZSk7CiAKICAgICBib29sIGhhc1NvdXJjZUFwcGVuZGVyKCkgY29uc3Qg
eyByZXR1cm4gISFtX3NvdXJjZUFwcGVuZGVyOyB9CiAgICAgU291cmNlQXBwZW5kZXIgc291cmNl
QXBwZW5kZXIoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZUFwcGVuZGVyOyB9CkBAIC03MCw2ICs3
MSw3IEBAIGNsYXNzIEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAg
ICAgUnVudGltZVR5cGUgcnVudGltZVR5cGVGb3JDYXVzZSgpIGNvbnN0IHsgcmV0dXJuIG1fcnVu
dGltZVR5cGVGb3JDYXVzZTsgfQogICAgIHZvaWQgY2xlYXJSdW50aW1lVHlwZUZvckNhdXNlKCkg
eyBtX3J1bnRpbWVUeXBlRm9yQ2F1c2UgPSBUeXBlTm90aGluZzsgfQogCisgICAgRXJyb3JUeXBl
IGVycm9yVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3JUeXBlOyB9CiAgICAgdm9pZCBzZXRT
dGFja092ZXJmbG93RXJyb3IoKSB7IG1fc3RhY2tPdmVyZmxvd0Vycm9yID0gdHJ1ZTsgfQogICAg
IGJvb2wgaXNTdGFja092ZXJmbG93RXJyb3IoKSBjb25zdCB7IHJldHVybiBtX3N0YWNrT3ZlcmZs
b3dFcnJvcjsgfQogICAgIHZvaWQgc2V0T3V0T2ZNZW1vcnlFcnJvcigpIHsgbV9vdXRPZk1lbW9y
eUVycm9yID0gdHJ1ZTsgfQpAQCAtNzksNiArODEsOCBAQCBjbGFzcyBFcnJvckluc3RhbmNlIDog
cHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIGJvb2wgaXNOYXRpdmVHZXR0ZXJUeXBlRXJy
b3IoKSBjb25zdCB7IHJldHVybiBtX25hdGl2ZUdldHRlclR5cGVFcnJvcjsgfQogCiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgU3RyaW5nIHNhbml0aXplZFRvU3RyaW5nKEpTR2xvYmFsT2JqZWN0Kik7
CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIHNhbml0aXplZE1lc3NhZ2VTdHJpbmcoSlNH
bG9iYWxPYmplY3QqKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgc2FuaXRpemVkTmFt
ZVN0cmluZyhKU0dsb2JhbE9iamVjdCopOwogICAgIAogICAgIFZlY3RvcjxTdGFja0ZyYW1lPiog
c3RhY2tUcmFjZSgpIHsgcmV0dXJuIG1fc3RhY2tUcmFjZS5nZXQoKTsgfQogCkBAIC04OCw3ICs5
Miw3IEBAIGNsYXNzIEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAg
ICAgdm9pZCBmaW5hbGl6ZVVuY29uZGl0aW9uYWxseShWTSYpOwogCiBwcm90ZWN0ZWQ6Ci0gICAg
ZXhwbGljaXQgRXJyb3JJbnN0YW5jZShWTSYsIFN0cnVjdHVyZSopOworICAgIGV4cGxpY2l0IEVy
cm9ySW5zdGFuY2UoVk0mLCBTdHJ1Y3R1cmUqLCBFcnJvclR5cGUpOwogCiAgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJiwgU291cmNlQXBw
ZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVOb3RoaW5nLCBib29sIHVzZUN1cnJl
bnRGcmFtZSA9IHRydWUpOwogCkBAIC0xMDgsMTAgKzExMiwxMSBAQCBjbGFzcyBFcnJvckluc3Rh
bmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIFN0cmluZyBtX3NvdXJjZVVSTDsK
ICAgICBTdHJpbmcgbV9zdGFja1N0cmluZzsKICAgICBSdW50aW1lVHlwZSBtX3J1bnRpbWVUeXBl
Rm9yQ2F1c2UgeyBUeXBlTm90aGluZyB9OwotICAgIGJvb2wgbV9zdGFja092ZXJmbG93RXJyb3Ig
eyBmYWxzZSB9OwotICAgIGJvb2wgbV9vdXRPZk1lbW9yeUVycm9yIHsgZmFsc2UgfTsKLSAgICBi
b29sIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fbmF0aXZl
R2V0dGVyVHlwZUVycm9yIHsgZmFsc2UgfTsKKyAgICBFcnJvclR5cGUgbV9lcnJvclR5cGUgeyBF
cnJvclR5cGU6OkVycm9yIH07CisgICAgYm9vbCBtX3N0YWNrT3ZlcmZsb3dFcnJvciA6IDE7Cisg
ICAgYm9vbCBtX291dE9mTWVtb3J5RXJyb3IgOiAxOworICAgIGJvb2wgbV9lcnJvckluZm9NYXRl
cmlhbGl6ZWQgOiAxOworICAgIGJvb2wgbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3IgOiAxOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKaW5kZXggNDAyMWZjN2UwYWRh
ZjdhMGE5ZTBlZjZjZmQyMjU4MzhiNWJmODc4My4uYWY3MjYyODMxY2ExYmI3NWM2YWU1NTQxMWRl
NGNkODVhODEzN2RhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcApAQCAtNjk0LDcgKzY5NCw3IEBAIEpT
Q19ERUZJTkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jVGhyb3dUeXBlRXJyb3JBcmd1bWVudHND
YWxsZWVBbmRDYWxsZXIsIChKU0dsCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVu
Y01ha2VUeXBlRXJyb3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUq
IGNhbGxGcmFtZSkpCiB7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGdsb2JhbE9i
amVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpOwotICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JT
dHJ1Y3R1cmUsIGNhbGxGcmFtZS0+YXJndW1lbnQoMCksIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBm
YWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRl
KGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIGNhbGxGcmFtZS0+YXJndW1lbnQoMCksIG51
bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlR5cGVFcnJvciwgZmFsc2UpKTsKIH0KIAog
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNQcm90b0dldHRlciwgKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5j
cHAKaW5kZXggN2NjMTFiNWY1ZTEyOTcyMjAxNmI4NjcxZjEzN2M2YmIxNzIxMzg0MC4uYjZlN2Vk
ZWZkNDJlZGM2MzVkOTBiN2UwZThjN2I0ZmMwYzI0M2QxZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAg
LTU4LDcgKzU4LDcgQEAgaW5saW5lIEVuY29kZWRKU1ZhbHVlIE5hdGl2ZUVycm9yQ29uc3RydWN0
b3I8ZXJyb3JUeXBlPjo6Y29uc3RydWN0SW1wbChKU0dsb2JhbE8KICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIEFTU0VSVChlcnJvclN0cnVjdHVyZSk7CiAKLSAgICBS
RUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlw
ZU5vdGhpbmcsIGZhbHNlKSkpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1
ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0
dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZXJyb3JUeXBlLCBmYWxzZSkpKTsK
IH0KIAogdGVtcGxhdGU8RXJyb3JUeXBlIGVycm9yVHlwZT4KQEAgLTY2LDcgKzY2LDcgQEAgaW5s
aW5lIEVuY29kZWRKU1ZhbHVlIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBlPjo6Y2Fs
bEltcGwoSlNHbG9iYWxPYmplY3QKIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUt
PmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKGVycm9yVHlwZSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVz
c2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVy
ZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGVycm9yVHlwZSwgZmFsc2UpKTsKIH0K
IAogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxFdmFsRXJyb3IsIChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsU2V0dGVyRnVuY3Rpb24uY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcAppbmRleCAyNmYz
YjZhOGY5ZGI2NzhjZDk0ZDA1YWU4OGIxMWI4OWU2MWMwZWJjLi4wZGRiMmM2YTUwZjQ2YmM2MzY5
OTVjYTQ2ZDdmMThlNWIyNjg2M2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OdWxsU2V0dGVyRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgSlNDX0RF
RklORV9IT1NUX0ZVTkNUSU9OKGNhbGxUaHJvd0Vycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgQ2FsbEZyYW0KICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CiAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBmcm9tIElDLiBBbmQgd2Ug
ZG8gbm90IHdhbnQgdG8gaW5jbHVkZSB0aGlzIGZyYW1lIGluIEVycm9yJ3Mgc3RhY2suCiAgICAg
Y29uc3RleHByIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gZmFsc2U7Ci0gICAgdGhyb3dFeGNlcHRp
b24oZ2xvYmFsT2JqZWN0LCBzY29wZSwgRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgdm0sIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3Ip
LCBSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvciwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIHVzZUN1
cnJlbnRGcmFtZSkpOworICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUsIEVy
cm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBnbG9iYWxPYmplY3QtPmVycm9y
U3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJy
b3IsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlR5cGVFcnJvciwgdXNlQ3VycmVu
dEZyYW1lKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcAppbmRl
eCAzODM3M2E3NjBkNTlkMGVlZGI0OTRkYjg4ZDg1MjRmYWI5YTUxNTRlLi45ZWJkM2Q0NDZhOWRh
OWFkMTlkN2JhNDE5OTAwNjNmYzVhNjMyOGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcApAQCAt
NDEsNyArNDEsNyBAQCBKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yKiBKU1dlYkFzc2VtYmx5Q29t
cGlsZUVycm9yOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsbwogfQogCiBKU1dlYkFzc2VtYmx5
Q29tcGlsZUVycm9yOjpKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yKFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBz
dHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3IpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5jcHAKaW5kZXgg
ZWFkZTAzNDEzZTRjZTM2MGJhMDg5ZjhjNTNkMThjZjhkNmQ3MDIzNS4uOWIyMDA1OGVjZjM0YWY5
MWI2YjE4ZDE1ZjY1MTU3ODVjMjE3MmUyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5jcHAKQEAgLTQxLDcgKzQx
LDcgQEAgSlNXZWJBc3NlbWJseUxpbmtFcnJvciogSlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6Y3Jl
YXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmoKIH0KIAogSlNXZWJBc3NlbWJseUxpbmtFcnJv
cjo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQot
ICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBFcnJv
clR5cGU6OkVycm9yKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwCmluZGV4IGJlMWY5Mjg2
MDMwNDVkN2NmNzI5MzI0ZWU0YTc3YWU4M2ZjZTljYmUuLjE5MzNhNmUzODg4ZmJlYWNjZjA3YWMy
YjM3Yzc0NTA0ODRmYTUxZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3
IEBAIEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IqIEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3I6
OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvCiB9CiAKIEpTV2ViQXNzZW1ibHlSdW50aW1lRXJy
b3I6OkpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKLSAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwg
RXJyb3JUeXBlOjpFcnJvcikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVj
dG9yLmNwcAppbmRleCA1Y2QwMDM1YTAxZmRiNzhkZGMzNWZjNDdiNmI4NTgwYmU0NWQzNTk3Li5j
M2EwZDM5N2Y1MDRlMjU4ZjFkNzBmOGI0ODJiNzlhMWQ5ZTcyNjZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNv
bXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtNjUsNyArNjUsNyBAQCBKU0NfREVGSU5FX0hP
U1RfRlVOQ1RJT04oY2FsbEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IsIChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsTwogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQo
MCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+d2ViQXNz
ZW1ibHlDb21waWxlRXJyb3JTdHJ1Y3R1cmUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNz
YWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJl
LCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2Up
KTsKIH0KIAogV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3RvciogV2ViQXNzZW1ibHlD
b21waWxlRXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlKiB0aGlzUHJvdG90eXBlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJy
b3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA5NDZkZWY0ZjExNTIyOWEyMjViZTkz
MmFjOWU2NDM1YjZjOGFiMmE5Li4yYzVmNmEyOTMxZjE1MjE1ODVhYWE5MzVlNTZiNGJkMmYxOWMx
NmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJs
eUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtNjUsNyArNjUsNyBA
QCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEpTV2ViQXNzZW1ibHlMaW5rRXJyb3IsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZQogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxG
cmFtZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGdsb2Jh
bE9iamVjdC0+d2ViQXNzZW1ibHlMaW5rRXJyb3JTdHJ1Y3R1cmUoKTsKLSAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3Ry
dWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVy
cm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpF
cnJvciwgZmFsc2UpKTsKIH0KIAogV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3RvciogV2Vi
QXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIFdlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlKiB0aGlzUHJvdG90eXBlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50
aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCAzZGZkOTE1NjdiNjBh
NThkZDlhYTY4NDJmZjY3OTAyMWY1Y2I5MjUyLi5hODU2NjljNTE4YjFlOWFhNjhjOTVhZDA1NjZl
YmZkNmZjM2RmYThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcApA
QCAtNjcsNyArNjcsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEpTV2ViQXNzZW1i
bHlSdW50aW1lRXJyb3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsTwogewogICAgIEpTVmFsdWUg
bWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0
cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+d2ViQXNzZW1ibHlSdW50aW1lRXJyb3JTdHJ1Y3R1cmUo
KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9i
YWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywg
ZmFsc2UpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0
ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90
aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2UpKTsKIH0KIAogV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3RvciogV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYkFzc2VtYmx5UnVudGltZUVycm9y
UHJvdG90eXBlKiB0aGlzUHJvdG90eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYjMzYTM2OTE3
YmEyMjRiZGRmNjJkNjA1NzUwNDBkMmQ3ZWM5NmM5OC4uNWJjMWQ2ZTcwM2RiNjRmNmY3ZWU1NmNj
Yjc1YmNhYjYyYjk4YTg5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zMCw2ICszMCw3IEBAIHNl
dChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKIAogICAgIE1vZHVsZXMvZmV0Y2gv
RmV0Y2hCb2R5Q29uc3VtZXIuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5U291cmNlLmgK
KyAgICBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgKICAgICBNb2R1bGVz
L2ZldGNoL0ZldGNoSGVhZGVycy5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaElkZW50aWZpZXIu
aAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaApAQCAtMjg4LDYgKzI4OSw3IEBAIHNl
dChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBiaW5kaW5ncy9qcy9XZWJD
b3JlSklUT3BlcmF0aW9ucy5oCiAgICAgYmluZGluZ3MvanMvV2ViQ29yZVR5cGVkQXJyYXlDb250
cm9sbGVyLmgKICAgICBiaW5kaW5ncy9qcy9XaW5kb3dQcm94eS5oCisgICAgYmluZGluZ3MvanMv
V29ya2VyU2NyaXB0RmV0Y2hlci5oCiAKICAgICBicmlkZ2UvQnJpZGdlLmgKICAgICBicmlkZ2Uv
SWRlbnRpZmllclJlcC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGMzNWMwNmYwMzA2N2YxZGMwMmI1NDU2
OTc1M2E0OTc1MDdhOWQ1MmUuLjk3OTc0YmM2ODkzNzIyYjZjZGNiODJmMzM1Mjg2MTFmMTJkYzg4
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC02MzksNiArNjM5LDcgQEAgYmluZGluZ3MvanMvU3RydWN0
dXJlZENsb25lLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZUpJVE9wZXJhdGlvbnMuY3BwCiBiaW5k
aW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZVR5cGVk
QXJyYXlDb250cm9sbGVyLmNwcAorYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
LmNwcAogYmluZGluZ3MvanMvV2luZG93UHJveHkuY3BwCiBiaW5kaW5ncy9qcy9Xcml0YWJsZVN0
cmVhbS5jcHAKIGJyaWRnZS9JZGVudGlmaWVyUmVwLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDcxYWE4YzU4MWI2NWQ5NGNi
OWY1NDMyNDczMzlmODA3NWJmMGE2ZjIuLmYxMDcwYWZlMDVkNDU4MmEwYWQ3N2RjNjQ5YTQ2NTI4
NzE3ZDFlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTUwNzMsMTUgKzUwNzMsMTggQEAKIAkJRTMwNTkyNjQxRTI3QTNBRDAw
RDU3Qzk4IC8qIElubGluZUNsYXNzaWNTY3JpcHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDU5MjYyMUUyN0EzOEMwMEQ1N0M5OCAvKiBJbmxpbmVD
bGFzc2ljU2NyaXB0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTMwNTkyNjgxRTI3QTNEMTAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDU5MjY2
MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMwN0RFRDAxRDgxRTRDNzAwMTQx
Q0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCUUzMDdERUQxMUQ4MUU0Q0IwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzMDdERUM4MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlFMzA3REVENTFEODFFNEYyMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDdERUQz
MUQ4MUU0RUQwMDE0MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNjcmlwdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMTUwRUE3MURBNzIxOTMwMDE5
NDAxMiAvKiBET01KSVRIZWxwZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzE1MEVBNTFEQTcyMThEMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5o
ICovOyB9OwogCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzhE
MDYwOTFGOEU4MTE5MDA2NDlDRjIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMyM0NGRkExRTVBRjZB
RjAwRjBCNEEwIC8qIEpTRE9NQ29udmVydFByb21pc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMjNDRkY5MUU1QUY2QTUwMEYwQjRBMCAvKiBKU0RP
TUNvbnZlcnRQcm9taXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRTM0MzJERTQyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlw
dExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oICov
OyB9OworCQlFMzQ3RTVGQTI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM0N0U1Rjgy
NUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzUxODhCNDI1RDM4N0NGMDBBNzdB
RjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxl
U2NyaXB0TG9hZGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTM1NjVCN0IxREMyRDZDOTAwMjE3REJEIC8qIEpTRXZlbnRDdXN0b20u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNEVFNDlG
MURDMkQ1NzUwMEVBQTlEMyAvKiBKU0V2ZW50Q3VzdG9tLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM1ODAyQjYxREM4NDM1RDAwQTk3NzNDIC8q
IERPTUpJVElETFR5cGVGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNTgwMkI1MURDODQzNTgwMEE5NzczQyAvKiBET01KSVRJRExUeXBlRmls
dGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RTM1ODJDMjgyNTI3RjY2OTAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzU4MkMyNjI1MjdGNjY4
MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzVCOTA3RjIzRjYwQTUwMDAwMDExRkYgLyog
TG9jYWxpemVkRGV2aWNlTW9kZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNUI5MDdDMjNGNjA2NzcwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VN
b2RlbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUUzNjQzMjFDMjVEMzdBNjcwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNjQzMjFBMjVEMzdBNjYw
MEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzc3RkU0RDFEQURFMTY1MDBDREQwMjUgLyogTm9k
ZUNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTNEMDQ5OTMxREFEQzA0NTAwNzE4RjNDIC8qIE5vZGVDb25zdGFudHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzdDODY1MDFFQjYzRTNG
MDA4N0M2Q0EgLyogSlNET01Qcm9taXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMzdDODY0RjFFQjYzRTJEMDA4N0M2Q0EgLyogSlNET01Qcm9taXNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM5
NjI4QkYyMzk1NzI4RjAwNjU4RUNEIC8qIERldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYyOEJE
MjM5NTcyOEUwMDY1OEVDRCAvKiBEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE2MjA3LDcg
KzE2MjEwLDYgQEAKIAkJRTMwNTkyNjYxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZl
dGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkU2NyaXB0RmV0
Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVDNjFEODFFNDQ4MDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMDdERUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUz
MDdERUM4MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMDdERUQyMUQ4MUU0
RUQwMDE0MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBMb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzMDdERUQzMUQ4MUU0RUQwMDE0MUNBRiAvKiBMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzE1MEVBNTFEQTcy
MThEMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01KSVRIZWxwZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NjIyMCwxMiArMTYyMjIsMTcgQEAKIAkJRTMyOTI3NjMyMjU0M0Y1OTAwMzA4QTlBIC8qIFR5cGVk
T01DU1NVbml0VmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHlwZWRPTUNTU1VuaXRWYWx1
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMjkyNzY2MjI1NDNGREUwMDMw
OEE5QSAvKiBET01SZWN0UmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NUmVjdFJl
YWRPbmx5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMzNDgyNUUxREM5M0FB
MDAwOUM5NTQ0IC8qIERPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCUUzNDMyREUwMjVEMzc3RTIw
MDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUUzNDMyREUzMjVEMzc3RTMwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTM0N0U1RjgyNUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2VyU2NyaXB0RmV0Y2hlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMgLyogSlNFdmVu
dEN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2ZW50Q3VzdG9t
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FG
MyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUzNTgwMkI1MURDODQzNTgwMEE5NzczQyAvKiBET01KSVRJRExUeXBlRmlsdGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVElETFR5cGVGaWx0ZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODJDMjQyNTI3RjY2ODAwRDFCNzkw
IC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25z
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdDMjNGNjA2NzcwMDAwMTFG
RiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFMzVCOTA3RTIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbGl6ZWREZXZpY2VNb2Rl
bC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM2NDMyMUEyNUQzN0E2NjAwRjkw
RTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVByb21pc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUzIC8qIFNjcmlwdE1vZHVsZUxvYWRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRNb2R1bGVMb2Fk
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5NTFCQUQxNDVGMDBE
NjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjcwMjIsNyArMjcwMjksNiBAQAogCQkJCTJERkE0ODhFMURCNTQxQzIwMDM2MkI5OSAvKiBC
dWZmZXJTb3VyY2UuaCAqLywKIAkJCQlFMzA3REVDNjFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLywKIAkJCQlFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYg
LyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCi0JCQkJRTMwN0RFQzgxRDgxRTQ0ODAw
MTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovLAogCQkJCUUzMDU5
MjY1MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCAqLywKIAkJCQlF
MzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovLAogCQkJ
CUJDRDUzMzYzMEVENjg0ODkwMDg4NzQ2OCAvKiBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5o
ICovLApAQCAtMjcwOTYsNiArMjcxMDIsOCBAQAogCQkJCTRCREVBMzJEMjE4MDM0MDUwMDUyREZD
RCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwICovLAogCQkJCTRCREVBMzJCMjE4MDMz
RUIwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuaCAqLywKIAkJCQk3MDlBMDFG
RDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oICovLAorCQkJCUUz
NjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLywKKwkJCQlF
MzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8s
CiAJCQkJNDFCNDU5RUQxRjU1RUJDNzAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmNwcCAqLywK
IAkJCQk0MUI0NTlEQTFGNENBREI5MDAwMEY2RkQgLyogUmVhZGFibGVTdHJlYW0uaCAqLywKIAkJ
CQk0MThDMzk1RTFDOEYwQUFCMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJv
bGxlci5jcHAgKi8sCkBAIC0yNzEyNyw2ICsyNzEzNSw5IEBACiAJCQkJMEYwOTlEMDcxN0I5NjhB
MTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oICovLAogCQkJCTQ2MzUy
MUFDMjA4MTA5MEUwMEMyODkyMiAvKiBXaW5kb3dQcm94eS5jcHAgKi8sCiAJCQkJNDYzNTIxQUEy
MDgxMDkwQjAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5LmggKi8sCisJCQkJRTM0MzJERTMyNUQzNzdF
MzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8sCisJCQkJRTM0MzJE
RTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oICovLAorCQkJ
CUUzNDdFNUY4MjVENEYwMDAwMEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggKi8sCiAJ
CQkJNDE0MThBMDMyNTY0M0UxMjAwMzYzNDE3IC8qIFdyaXRhYmxlU3RyZWFtLmNwcCAqLywKIAkJ
CQk0MTQxOEEwNDI1NjQzRTEzMDAzNjM0MTcgLyogV3JpdGFibGVTdHJlYW0uaCAqLywKIAkJCSk7
CkBAIC0zMTQwNSw3ICszMTQxNiw2IEBACiAJCQkJQkNCMTZDMUMwOTc5QzNCRDAwNDY3NzQxIC8q
IENhY2hlZEltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTlGQkQ1RjE1RDJGNDY0MDA5NjQw
QTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzMDdERUQwMUQ4
MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICov
LAotCQkJCUUzMDdERUQxMUQ4MUU0Q0IwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDE4NDY5MEIwODYwMkEwMDRBODI1RiAv
KiBDYWNoZWRQYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMEVEQTc3NTE0M0UzMDNDMDAyOEUz
ODMgLyogQ2FjaGVkUmF3UmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQjUzMzQ5MTcx
N0RFRTMwMEYyMDVGOSAvKiBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zMzg4MCw2ICszMzg5MCw4IEBACiAJCQkJQzZENzRBRDUwOUFBMjgyRTAwMEIwQTUyIC8q
IE1vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzA5QTAxRkUx
RTNEMEJERDAwNkIwRDRDIC8qIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUzMjAxQzFBMUY4RTgyMTMwMDc2QTAzMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUUzNjQzMjFDMjVEMzdBNjcwMEY5MEUyQSAvKiBNb2R1bGVT
Y3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FG
MyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIz
REM2MTI1MUYxMkQwMDNFRjI2OSAvKiBNb250aElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTM5NjI4QzEyMzk1NzQzMTAwNjU4RUNEIC8qIE1vdGlvbk1hbmFnZXJDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg1MDMxQjQ2MEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZUV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTM1NTMyLDYgKzM1NTQ0LDcgQEAKIAkJCQkxOEY4MzFCODBGRDQ4
Qzc4MDBEOEM1NkIgLyogV29ya2VyTG9hZGVyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJF
NDM0NjREMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMkU0MzQ2NTAwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlck1lc3NhZ2luZ1Byb3h5Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI3MUEwQjBFRUVDNzdBMDBG
NjEyMTMgLyogV29ya2VyTmF2aWdhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUNCMDUyNTFG
QjUxRjNBMDAwODlCOTcgLyogV29ya2VyTmV0d29ya0FnZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyRTQzNDY1MTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyT2JqZWN0UHJveHkuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzU1NDEsNiArMzU1NTQsNyBAQAogCQkJCTQxNkUyOUE2MTAyRkE5NjIwMDdG
QzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2
NTMwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlclJ1bkxvb3AuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE1QjgxQ0NGMUZBQTQ0REUwMDM3RDFFNiAvKiBXb3JrZXJSdW50aW1lQWdlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUUzNDdFNUZBMjVENEYwMDAwMEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRj
aGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q2QjM0OTBGNjExMDQ1MDBCNzlGRDEgLyogV29y
a2VyU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRUE3NjgwNDBGRTcxMjY0MDBB
QjlDOEEgLyogV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQky
RTQzNDY1NTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyVGhyZWFkLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlw
dExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIuY3BwCmluZGV4IDM1MmRjYzRhY2Y3NTE3NmQ5OGFkMzQxMGJlMTUxNjA4MDEwODg1
MjQuLjI3N2Y2MmE3YzEzM2ZlMTU2YzZjY2U5ODU1MzU1MGVkYjEzNmQwMDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
LmNwcApAQCAtNDAsMTYgKzQwLDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUo
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYg
cHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVs
ZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorUmVmPENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0
Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykp
KTsKIH0KIAotQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlz
ZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1v
ZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQotICAgIDogbV9jbGllbnQoJmNsaWVu
dCkKLSAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkKLSAgICAsIG1fc2NyaXB0RmV0Y2hlcihzY3Jp
cHRGZXRjaGVyKQotICAgICwgbV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCitDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXI6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRT
Y3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJz
PiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9taXNl
LCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKQogewogfQogCkBAIC02MSwxNCAr
NTgsMTUgQEAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjp+Q2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyKCkKICAgICB9CiB9CiAKLWJvb2wgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKERv
Y3VtZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiBzb3VyY2VVUkwpCitib29sIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIFVSTCYmIHNvdXJjZVVSTCkK
IHsKKyAgICBBU1NFUlQobV9wcm9taXNlKTsKICAgICBBU1NFUlQoIW1fY2FjaGVkU2NyaXB0KTsK
ICAgICBTdHJpbmcgaW50ZWdyaXR5ID0gbV9wYXJhbWV0ZXJzID8gbV9wYXJhbWV0ZXJzLT5pbnRl
Z3JpdHkoKSA6IFN0cmluZyB7IH07Ci0gICAgbV9jYWNoZWRTY3JpcHQgPSBtX3NjcmlwdEZldGNo
ZXItPnJlcXVlc3RNb2R1bGVTY3JpcHQoZG9jdW1lbnQsIHNvdXJjZVVSTCwgV1RGTW92ZShpbnRl
Z3JpdHkpKTsKKyAgICBtX2NhY2hlZFNjcmlwdCA9IHNjcmlwdEZldGNoZXIoKS5yZXF1ZXN0TW9k
dWxlU2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkwsIFdURk1vdmUoaW50ZWdyaXR5KSk7CiAgICAg
aWYgKCFtX2NhY2hlZFNjcmlwdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIG1fc291cmNl
VVJMID0gc291cmNlVVJMOworICAgIG1fc291cmNlVVJMID0gV1RGTW92ZShzb3VyY2VVUkwpOwog
CiAgICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgYWxyZWFkeSBjYWNoZWQsIHRoaXMgaW1tZWRpYXRl
bHkgY2FsbHMgbm90aWZ5RmluaXNoZWQuCiAgICAgbV9jYWNoZWRTY3JpcHQtPmFkZENsaWVudCgq
dGhpcyk7CkBAIC04Myw3ICs4MSw3IEBAIHZvaWQgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpu
b3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IE5lCiAKICAgICBS
ZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKICAgICBp
ZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RG
TW92ZShtX3Byb21pc2UpKTsKKyAgICAgICAgbV9jbGllbnQtPm5vdGlmeUZpbmlzaGVkKCp0aGlz
LCBXVEZNb3ZlKG1fc291cmNlVVJMKSwgbV9wcm9taXNlLnJlbGVhc2VOb25OdWxsKCkpOwogCiAg
ICAgLy8gUmVtb3ZlIHRoZSBjbGllbnQgYWZ0ZXIgY2FsbGluZyBub3RpZnlGaW5pc2hlZCB0byBr
ZWVwIHRoZSBkYXRhIGJ1ZmZlciBpbgogICAgIC8vIENhY2hlZFJlc291cmNlIGFsaXZlIHdoaWxl
IG5vdGlmeUZpbmlzaGVkIHByb2Nlc3NlcyB0aGUgcmVzb3VyY2UuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCmluZGV4IDQz
YWJkODc1YjI0M2ZhZjVmY2Q0ZDk4ZWMzYzVkMjRlNzkwYjU3MmUuLmE0ODc1NWY5M2QwNWVmMzUz
ZDJiM2UyMjhkODIxOWZlODkxZTY3NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0yNyw2ICsyNyw4IEBACiAK
ICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUg
Ik1vZHVsZVNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM0LDQyICszNiwy
OSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudDsKK2NsYXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKIGNsYXNzIENhY2hl
ZFNjcmlwdDsKLWNsYXNzIENhY2hlZFNjcmlwdEZldGNoZXI7CiBjbGFzcyBEZWZlcnJlZFByb21p
c2U7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OwogY2xhc3MgTW9k
dWxlRmV0Y2hQYXJhbWV0ZXJzOwogCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmlu
YWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+LCBwcml2YXRl
IENhY2hlZFJlc291cmNlQ2xpZW50IHsKK2NsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciBm
aW5hbCA6IHB1YmxpYyBNb2R1bGVTY3JpcHRMb2FkZXIsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
PiBjcmVhdGUoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNl
JiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYp
OworICAgIHN0YXRpYyBSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBjcmVhdGUoTW9kdWxl
U2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hl
ciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOwogCiAgICAgdmlydHVhbCB+Q2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyKCk7CiAKLSAgICBib29sIGxvYWQoRG9jdW1lbnQmLCBjb25z
dCBVUkwmIHNvdXJjZVVSTCk7CisgICAgYm9vbCBsb2FkKERvY3VtZW50JiwgVVJMJiYgc291cmNl
VVJMKTsKIAotICAgIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVy
biBtX3NjcmlwdEZldGNoZXIuZ2V0KCk7IH0KICAgICBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlw
dCgpIHsgcmV0dXJuIG1fY2FjaGVkU2NyaXB0LmdldCgpOyB9Ci0gICAgTW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzKiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9Ci0gICAg
Y29uc3QgVVJMJiBzb3VyY2VVUkwoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZVVSTDsgfQotCi0g
ICAgdm9pZCBjbGVhckNsaWVudCgpCi0gICAgewotICAgICAgICBBU1NFUlQobV9jbGllbnQpOwot
ICAgICAgICBtX2NsaWVudCA9IG51bGxwdHI7Ci0gICAgfQorICAgIENhY2hlZFNjcmlwdEZldGNo
ZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRGZXRj
aGVyJj4oTW9kdWxlU2NyaXB0TG9hZGVyOjpzY3JpcHRGZXRjaGVyKCkpOyB9CiAKIHByaXZhdGU6
Ci0gICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNs
aWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9k
dWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0
Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOwogCiAgICAgdm9pZCBub3Rp
ZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZp
bmFsOwogCi0gICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KiBtX2NsaWVudCB7IG51
bGxwdHIgfTsKLSAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBtX3Byb21pc2U7Ci0gICAgUmVm
PENhY2hlZFNjcmlwdEZldGNoZXI+IG1fc2NyaXB0RmV0Y2hlcjsKLSAgICBSZWZQdHI8TW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzPiBtX3BhcmFtZXRlcnM7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkU2NyaXB0PiBtX2NhY2hlZFNjcmlwdDsKICAgICBVUkwgbV9zb3VyY2VVUkw7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY4OGFk
OTBkYWUzZWNlOTQ5ZWEwOWIxZWZlZTVkYTI2Zjk0Yzc4Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdt
YSBvbmNlCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOwotY2xhc3MgRGVmZXJyZWRQcm9taXNlOwotCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQgewotcHVibGljOgotICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKLQotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5p
c2hlZChDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPikg
PSAwOwotfTsKLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2Fj
aGVkU2NyaXB0RmV0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRT
Y3JpcHRGZXRjaGVyLmNwcAppbmRleCBhNDMzNzU4NjViYmYxZWM1OTczYmYxNzJjOTFhMzg1MzIz
NGUzNzRkLi5kZjNjNmI2ZWJiODRhZjcyZWQyOTU1Zjk5MTFkMDdhODdhYjM1MzEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcApA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQ3LDYgKzQ4LDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBDYWNoZWRT
Y3JpcHRGZXRjaGVyOjpyZXF1ZXN0TW9kdWxlU2NyaXB0KERvY3UKIAogQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjaGVkU2NyaXB0PiBDYWNoZWRTY3JpcHRGZXRjaGVyOjpyZXF1ZXN0U2NyaXB0V2l0
aENhY2hlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiBzb3VyY2VVUkwsIGNvbnN0IFN0
cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBTdHJpbmcmJiBpbnRlZ3JpdHksIE9wdGlvbmFsPFJlc291
cmNlTG9hZFByaW9yaXR5PiByZXNvdXJjZUxvYWRQcmlvcml0eSkgY29uc3QKIHsKKyAgICAvLyBX
aXRob3V0IHNjcmlwdGluZywgdGhlcmUgaXMgbm8gd2F5IHRvIHN0YXJ0IFdvcmtlcnMuCiAgICAg
aWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLmlzU2NyaXB0RW5hYmxlZCgpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01FeGNlcHRpb25IYW5kbGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUV4Y2VwdGlvbkhhbmRsaW5nLmNwcAppbmRleCBkZjdmM2Q3NDZkNWUzMmFiYWI1MTQ3NmM5ZGRh
Y2E2M2E0MzUxMzZjLi5lZWYyMTAzODg0OWZkODk4NDlhZmNlZDcwMzE4NWZmODk0YzQwYzcxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRs
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhh
bmRsaW5nLmNwcApAQCAtNTIsNiArNTIsMjUgQEAgdm9pZCByZXBvcnRFeGNlcHRpb24oSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWUKICAg
ICByZXBvcnRFeGNlcHRpb24obGV4aWNhbEdsb2JhbE9iamVjdCwgZXhjZXB0aW9uLCBjYWNoZWRT
Y3JpcHQpOwogfQogCitTdHJpbmcgcmV0cmlldmVFcnJvck1lc3NhZ2VXaXRob3V0TmFtZShKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgVk0mIHZtLCBKU1ZhbHVlIGV4Y2VwdGlv
biwgQ2F0Y2hTY29wZSYgY2F0Y2hTY29wZSkKK3sKKyAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJr
aXQub3JnL2IvMTE1MDg3PiBXZWIgSW5zcGVjdG9yOiBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24g
c2hvdWxkIG5vdCBldmFsdWF0ZSBKYXZhU2NyaXB0IGhhbmRsaW5nIGV4Y2VwdGlvbnMKKyAgICAv
LyBJZiB0aGlzIGlzIGEgY3VzdG9tIGV4Y2VwdGlvbiBvYmplY3QsIGNhbGwgdG9TdHJpbmcgb24g
aXQgdG8gdHJ5IGFuZCBnZXQgYSBuaWNlIHN0cmluZyByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGV4
Y2VwdGlvbi4KKyAgICBTdHJpbmcgZXJyb3JNZXNzYWdlOworICAgIGlmIChhdXRvKiBlcnJvciA9
IGpzRHluYW1pY0Nhc3Q8RXJyb3JJbnN0YW5jZSo+KHZtLCBleGNlcHRpb24pKQorICAgICAgICBl
cnJvck1lc3NhZ2UgPSBlcnJvci0+c2FuaXRpemVkTWVzc2FnZVN0cmluZygmbGV4aWNhbEdsb2Jh
bE9iamVjdCk7CisgICAgZWxzZSBpZiAoYXV0byogZXJyb3IgPSBqc0R5bmFtaWNDYXN0PEpTRE9N
RXhjZXB0aW9uKj4odm0sIGV4Y2VwdGlvbikpCisgICAgICAgIGVycm9yTWVzc2FnZSA9IGVycm9y
LT53cmFwcGVkKCkubWVzc2FnZSgpOworICAgIGVsc2UKKyAgICAgICAgZXJyb3JNZXNzYWdlID0g
ZXhjZXB0aW9uLnRvV1RGU3RyaW5nKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKworICAgIC8vIFdl
IG5lZWQgdG8gY2xlYXIgYW55IG5ldyBleGNlcHRpb24gdGhhdCBtYXkgYmUgdGhyb3duIGluIHRo
ZSB0b1N0cmluZygpIGNhbGwgYWJvdmUuCisgICAgLy8gcmVwb3J0RXhjZXB0aW9uKCkgaXMgbm90
IHN1cHBvc2VkIHRvIGJlIG1ha2luZyBuZXcgZXhjZXB0aW9ucy4KKyAgICBjYXRjaFNjb3BlLmNs
ZWFyRXhjZXB0aW9uKCk7CisgICAgdm0uY2xlYXJMYXN0RXhjZXB0aW9uKCk7CisgICAgcmV0dXJu
IGVycm9yTWVzc2FnZTsKK30KKwogU3RyaW5nIHJldHJpZXZlRXJyb3JNZXNzYWdlKEpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBWTSYgdm0sIEpTVmFsdWUgZXhjZXB0aW9uLCBD
YXRjaFNjb3BlJiBjYXRjaFNjb3BlKQogewogICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5v
cmcvYi8xMTUwODc+IFdlYiBJbnNwZWN0b3I6IFdlYkNvcmU6OnJlcG9ydEV4Y2VwdGlvbiBzaG91
bGQgbm90IGV2YWx1YXRlIEphdmFTY3JpcHQgaGFuZGxpbmcgZXhjZXB0aW9ucwpAQCAtMTIxLDM2
ICsxNDAsNDUgQEAgdm9pZCByZXBvcnRDdXJyZW50RXhjZXB0aW9uKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIGNyZWF0ZURPTUV4Y2VwdGlvbihKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRXhjZXB0aW9uQ29kZSBlYywgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKQogewotICAgIGlmIChlYyA9PSBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yKQor
ICAgIHN3aXRjaCAoZWMpIHsKKyAgICBjYXNlIEV4aXN0aW5nRXhjZXB0aW9uRXJyb3I6CiAgICAg
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogCiAgICAgLy8gRklYTUU6IEhhbmRsZSBvdGhlciBX
ZWJJREwgZXhjZXB0aW9uIHR5cGVzLgotICAgIGlmIChlYyA9PSBUeXBlRXJyb3IpIHsKKyAgICBj
YXNlIFR5cGVFcnJvcjoKICAgICAgICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQogICAgICAgICAg
ICAgcmV0dXJuIGNyZWF0ZVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICAgICAg
cmV0dXJuIGNyZWF0ZVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBtZXNzYWdlKTsKLSAg
ICB9CiAKLSAgICBpZiAoZWMgPT0gUmFuZ2VFcnJvcikgeworICAgIGNhc2UgUmFuZ2VFcnJvcjoK
ICAgICAgICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuIGNyZWF0
ZVJhbmdlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgIkJhZCB2YWx1ZSJfcyk7CiAgICAgICAg
IHJldHVybiBjcmVhdGVSYW5nZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIG1lc3NhZ2UpOwot
ICAgIH0KIAotICAgIGlmIChlYyA9PSBTdGFja092ZXJmbG93RXJyb3IpCisgICAgY2FzZSBKU1N5
bnRheEVycm9yOgorICAgICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCisgICAgICAgICAgICBy
ZXR1cm4gY3JlYXRlU3ludGF4RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CisgICAgICAgIHJl
dHVybiBjcmVhdGVTeW50YXhFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBtZXNzYWdlKTsKKwor
ICAgIGNhc2UgU3RhY2tPdmVyZmxvd0Vycm9yOgogICAgICAgICByZXR1cm4gY3JlYXRlU3RhY2tP
dmVyZmxvd0Vycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIGlmIChlYyA9PSBPdXRPZk1l
bW9yeUVycm9yKQorCisgICAgY2FzZSBPdXRPZk1lbW9yeUVycm9yOgogICAgICAgICByZXR1cm4g
Y3JlYXRlT3V0T2ZNZW1vcnlFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsKIAotICAgIC8vIEZJ
WE1FOiBBbGwgY2FsbGVycyB0byBjcmVhdGVET01FeGNlcHRpb24gbmVlZCB0byBwYXNzIGluIHRo
ZSBjb3JyZWN0IGdsb2JhbCBvYmplY3QuCi0gICAgLy8gRm9yIG5vdywgd2UncmUgZ29pbmcgdG8g
YXNzdW1lIHRoZSBsZXhpY2FsR2xvYmFsT2JqZWN0LiBXaGljaCBpcyB3cm9uZyBpbiBjYXNlcyBs
aWtlIHRoaXM6Ci0gICAgLy8gZnJhbWVzWzBdLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobnVsbCwg
bnVsbCk7IC8vIHRocm93cyBhbiBleGNlcHRpb24gd2hpY2ggc2hvdWxkIGhhdmUgdGhlIHN1YmZy
YW1lJ3MgcHJvdG90eXBlcy4KLSAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
ZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3RvdHlwZShsZXhpY2FsR2xvYmFsT2JqZWN0KTsK
LSAgICBKU1ZhbHVlIGVycm9yT2JqZWN0ID0gdG9KUyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9i
YWxPYmplY3QsIERPTUV4Y2VwdGlvbjo6Y3JlYXRlKGVjLCBtZXNzYWdlKSk7Ci0gICAgCi0gICAg
QVNTRVJUKGVycm9yT2JqZWN0KTsKLSAgICBhZGRFcnJvckluZm8obGV4aWNhbEdsb2JhbE9iamVj
dCwgYXNPYmplY3QoZXJyb3JPYmplY3QpLCB0cnVlKTsKLSAgICByZXR1cm4gZXJyb3JPYmplY3Q7
CisgICAgZGVmYXVsdDogeworICAgICAgICAvLyBGSVhNRTogQWxsIGNhbGxlcnMgdG8gY3JlYXRl
RE9NRXhjZXB0aW9uIG5lZWQgdG8gcGFzcyBpbiB0aGUgY29ycmVjdCBnbG9iYWwgb2JqZWN0Lgor
ICAgICAgICAvLyBGb3Igbm93LCB3ZSdyZSBnb2luZyB0byBhc3N1bWUgdGhlIGxleGljYWxHbG9i
YWxPYmplY3QuIFdoaWNoIGlzIHdyb25nIGluIGNhc2VzIGxpa2UgdGhpczoKKyAgICAgICAgLy8g
ZnJhbWVzWzBdLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobnVsbCwgbnVsbCk7IC8vIHRocm93cyBh
biBleGNlcHRpb24gd2hpY2ggc2hvdWxkIGhhdmUgdGhlIHN1YmZyYW1lJ3MgcHJvdG90eXBlcy4K
KyAgICAgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGRlcHJlY2F0ZWRHbG9i
YWxPYmplY3RGb3JQcm90b3R5cGUobGV4aWNhbEdsb2JhbE9iamVjdCk7CisgICAgICAgIEpTVmFs
dWUgZXJyb3JPYmplY3QgPSB0b0pTKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwg
RE9NRXhjZXB0aW9uOjpjcmVhdGUoZWMsIG1lc3NhZ2UpKTsKKworICAgICAgICBBU1NFUlQoZXJy
b3JPYmplY3QpOworICAgICAgICBhZGRFcnJvckluZm8obGV4aWNhbEdsb2JhbE9iamVjdCwgYXNP
YmplY3QoZXJyb3JPYmplY3QpLCB0cnVlKTsKKyAgICAgICAgcmV0dXJuIGVycm9yT2JqZWN0Owor
ICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHsgfTsKIH0KIAogSlNWYWx1ZSBjcmVhdGVET01FeGNl
cHRpb24oSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEV4Y2VwdGlvbiYmIGV4
Y2VwdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhj
ZXB0aW9uSGFuZGxpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0
aW9uSGFuZGxpbmcuaAppbmRleCAyZDNlMzExZjYxZWViNjg1YWFjMzU1NDZhYWUxNjBkYTk3OTBl
ZjVmLi5kMWY2ZGU5Mzc0NzBjZTZkZjJjY2I2NDcyMjg0NzY2ZmQwMTk1ODIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCkBA
IC02NSw2ICs2NSw3IEBAIFdFQkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgcmVqZWN0
UHJvbWlzZVdpdGhHZXR0ZXJUeXBlRXJyb3IoSlNDOjpKU0dsb2JhCiBXRUJDT1JFX0VYUE9SVCBK
U0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoVGhpc1R5cGVFcnJvcihEZWZlcnJl
ZFByb21pc2UmLCBjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBvcGVyYXRp
b25OYW1lKTsKIFdFQkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgcmVqZWN0UHJvbWlz
ZVdpdGhUaGlzVHlwZUVycm9yKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBjb25zdCBjaGFyKiBpbnRl
cmZhY2VOYW1lLCBjb25zdCBjaGFyKiBvcGVyYXRpb25OYW1lKTsKIAorU3RyaW5nIHJldHJpZXZl
RXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Vk0mLCBK
U0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBKU0M6OkNhdGNoU2NvcGUmKTsKIFN0cmluZyByZXRyaWV2
ZUVycm9yTWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpWTSYsIEpTQzo6SlNWYWx1
ZSBleGNlcHRpb24sIEpTQzo6Q2F0Y2hTY29wZSYpOwogV0VCQ09SRV9FWFBPUlQgdm9pZCByZXBv
cnRFeGNlcHRpb24oSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNWYWx1ZSBleGNlcHRpb24s
IENhY2hlZFNjcmlwdCogPSBudWxscHRyKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwb3J0RXhj
ZXB0aW9uKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkV4Y2VwdGlvbiosIENhY2hlZFNjcmlw
dCogPSBudWxscHRyLCBFeGNlcHRpb25EZXRhaWxzKiA9IG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDU4YjdkZjc2
MGMwMGEzMWZmMDhlZDIyZGVlMjJhOGM3NDQzYWU4ZGQuLjlkNjk3ZDQ1OWI1NjM0NWNjODM5NjIw
MjY2NzZlMDBhOThiZjQ5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUdsb2JhbE9iamVjdC5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJKU1dvcmts
ZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlJlamVjdGVkUHJvbWlzZVRyYWNrZXIuaCIKICNp
bmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxl
TG9hZGVyLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlZENsb25lLmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUpTQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC00MjIs
NiArNDIzLDc5IEBAIEpTQzo6SlNQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6aW5zdGFudGlh
dGVTdHJlYW1pbmcoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvCiB9CiAjZW5kaWYKIAorc3RhdGlj
IFNjcmlwdE1vZHVsZUxvYWRlciogc2NyaXB0TW9kdWxlTG9hZGVyKEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAg
IGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTRE9NV2luZG93QmFzZT4odm0pKSB7CisgICAg
ICAgIGlmIChhdXRvIGRvY3VtZW50ID0ganNDYXN0PGNvbnN0IEpTRE9NV2luZG93QmFzZSo+KGds
b2JhbE9iamVjdCktPndyYXBwZWQoKS5kb2N1bWVudCgpKQorICAgICAgICAgICAgcmV0dXJuICZk
b2N1bWVudC0+bW9kdWxlTG9hZGVyKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0K
KyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU1JlbW90ZURPTVdpbmRvd0Jhc2U+KHZt
KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJp
dHM8SlNXb3JrZXJHbG9iYWxTY29wZUJhc2U+KHZtKSkKKyAgICAgICAgcmV0dXJuICZqc0Nhc3Q8
Y29uc3QgSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCku
bW9kdWxlTG9hZGVyKCk7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNXb3JrbGV0
R2xvYmFsU2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29y
a2xldEdsb2JhbFNjb3BlQmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQoKS5tb2R1bGVMb2Fk
ZXIoKTsKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBpZiAoZ2xvYmFsT2JqZWN0
LT5pbmhlcml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KHZtKSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisjZW5kaWYKKyAgICBkYXRhTG9nKCJVbmV4cGVjdGVkIGdsb2JhbCBv
YmplY3Q6ICIsIEpTVmFsdWUoZ2xvYmFsT2JqZWN0KSwgIlxuIik7CisgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNDOjpJZGVudGlm
aWVyIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBK
U0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5LCBK
U0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhp
c09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsK
KyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQor
ICAgICAgICByZXR1cm4gbG9hZGVyLT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVy
LCBtb2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0
dXJuIHsgfTsKK30KKworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6
Om1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlND
OjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBK
U0M6OkpTVmFsdWUgcGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7Cisg
ICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpT
Qzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0
byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxF
QVNFX0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+ZmV0Y2goZ2xvYmFsT2JqZWN0LCBtb2R1bGVM
b2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hlcikpOworICAgIEpTQzo6
SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVh
dGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOworICAgIHNj
b3BlLnJlbGVhc2UoKTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVm
aW5lZCgpKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU1ZhbHVlIEpTRE9NR2xv
YmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVl
IG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6Ompz
Q2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxv
YWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxv
YWRlci0+ZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgbW9k
dWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgp
OworfQorCitKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlND
OjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1l
LCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJj
ZU9yaWdpbikKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0
aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
OworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkp
CisgICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbG9hZGVyLT5pbXBvcnRNb2R1bGUo
Z2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFtZXRlcnMsIHNvdXJj
ZU9yaWdpbikpOworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpT
SW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNl
U3RydWN0dXJlKCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9taXNlLT5yZWplY3Qo
Z2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKwor
SlNDOjpKU09iamVjdCogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9y
dE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpK
U01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6
OkpTTW9kdWxlUmVjb3JkKiBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVy
KQoreworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBz
Y3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmNy
ZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1
bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0dXJuIGNvbnN0cnVj
dEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90
eXBlT2JqZWN0U3RydWN0dXJlKCkpOworfQorCiBKU0RPTUdsb2JhbE9iamVjdCYgY2FsbGVyR2xv
YmFsT2JqZWN0KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUm
IGNhbGxGcmFtZSkKIHsKICAgICBjbGFzcyBHZXRDYWxsZXJHbG9iYWxPYmplY3RGdW5jdG9yIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCmluZGV4
IGI4NDA3MmRkZDc0NmIzZDZjNTEwNjBkOTA1MDFiNWNlYTFiNDk5YjEuLmY0OWE0Y2QyNTcxOTcx
MTg5MTdhN2Q3YTRiNmMwZTExZmM3NmJhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuaApAQCAtMTA1LDYgKzEwNSwxMiBAQCBjbGFzcyBXRUJD
T1JFX0VYUE9SVCBKU0RPTUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsT2JqZWN0
IHsKICAgICBzdGF0aWMgSlNDOjpKU1Byb21pc2UqIGluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNPYmplY3QqKTsKICNlbmRpZgog
CisgICAgc3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNH
bG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpT
VmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2Uq
IG1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3Rh
dGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2Fk
ZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIq
LCBKU0M6OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYp
OworICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRh
UHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpT
Qzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7CisKICAgICBK
U0RPTVN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiAgICAgSlNET01Db25zdHJ1Y3Rvck1hcCBt
X2NvbnN0cnVjdG9yczsKICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3VhcmRlZE9iamVjdHM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRl
eCA1NjNlZmEwNTcxYjVkNDYyZDllNjQ1MDg5ZjBiZDhmNzdkMTlhNzY4Li4zMTJhMDExNThlOGMy
ODA4M2MwN2U0MmRiODcyNDVmZTRlNWM1N2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKQEAgLTMzOSw1NCArMzM5LDQgQEAgdm9pZCBKU0RP
TVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRvdyhET01XaW5k
b3cqIHdpbmRvdykKICAgICB9CiB9CiAKLUpTQzo6SWRlbnRpZmllciBKU0RPTVdpbmRvd0Jhc2U6
Om1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1l
LCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRj
aGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpT
RE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4g
ZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0
dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5yZXNvbHZlKGdsb2JhbE9iamVjdCwgbW9kdWxl
TG9hZGVyLCBtb2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hlcik7Ci0g
ICAgcmV0dXJuIHsgfTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dC
YXNlOjptb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtl
eSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQot
ewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0g
SlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVm
UHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgp
KQotICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5tb2R1bGVMb2Fk
ZXIoKS5mZXRjaChnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBwYXJhbWV0
ZXJzLCBzY3JpcHRGZXRjaGVyKSk7Ci0gICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogcHJvbWlz
ZSA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRl
cm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7Ci0gICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHByb21p
c2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOwotICAgIHJldHVybiBwcm9t
aXNlOwotfQotCi1KU0M6OkpTVmFsdWUgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFs
dWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2Fk
ZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1v
ZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5k
b3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFs
T2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3Qt
PndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxv
YWRlcigpLmV2YWx1YXRlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1v
ZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQo
KTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVM
b2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6
OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNTdHJpbmcqIG1vZHVsZU5hbWUs
IEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYgc291cmNl
T3JpZ2luKQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlz
T2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAg
ICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5k
b2N1bWVudCgpKQotICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50LT5t
b2R1bGVMb2FkZXIoKS5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1v
ZHVsZU5hbWUsIHBhcmFtZXRlcnMsIHNvdXJjZU9yaWdpbikpOwotICAgIEpTQzo6SlNJbnRlcm5h
bFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwotICAgIHNjb3BlLnJlbGVh
c2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsK
LSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpKU09iamVjdCogSlNET01XaW5kb3dCYXNl
Ojptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlND
OjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCogbW9kdWxlUmVjb3JkLCBK
U0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNP
YmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAg
IGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRv
Y3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuY3JlYXRl
SW1wb3J0TWV0YVByb3BlcnRpZXMoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtl
eSwgbW9kdWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKLSAgICByZXR1cm4gY29uc3RydWN0RW1w
dHlPYmplY3QoZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPm51bGxQcm90b3R5cGVP
YmplY3RTdHJ1Y3R1cmUoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKaW5kZXggM2VmOTgwZGQyN2Y2
YjIxMzk4NzAwOGJhNDc2YzhjYTY5ZjJmMGI2NC4uNTE0MmIxYzdkYzI1YzIyZmU5Nzg5NWU3NWFl
MjJlZjRkMWU1ODlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dCYXNlLmgKQEAgLTk5LDEyICs5OSw2IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEpTRE9NV2lu
ZG93QmFzZSA6IHB1YmxpYyBKU0RPTUdsb2JhbE9iamVjdCB7CiBwcml2YXRlOgogICAgIHVzaW5n
IFJlc3BvbnNlQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgY2hhciosIHNpemVf
dCk+OwogCi0gICAgc3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNvbHZlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBK
U0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFBy
b21pc2UqIG1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9k
dWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0g
ICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVl
LCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1
bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVM
b2FkZXIqLCBKU0M6OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNvdXJjZU9y
aWdpbiYpOwotICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBv
cnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRl
ciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7Ci0K
ICAgICBSZWZQdHI8RE9NV2luZG93PiBtX3dyYXBwZWQ7CiAgICAgUmVmUHRyPEV2ZW50PiBtX2N1
cnJlbnRFdmVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggNDJiMjZjOWY0ZWEyMTYyMDdkZTRjODY4
MjBiOGE4MWI2MDM1YjdlYi4uMmQ3OTNmZmYyMTg1M2E4YTFhNzg4MDY2NzI1MGY1N2U3NTJmZTNm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxT
Y29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xv
YmFsU2NvcGVCYXNlLmNwcApAQCAtNTksMTEgKzU5LDExIEBAIGNvbnN0IEdsb2JhbE9iamVjdE1l
dGhvZFRhYmxlIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRh
YmxlCiAgICAgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsCiAgICAgJnF1ZXVlTWljcm90YXNrVG9F
dmVudExvb3AsCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAg
bnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9k
dWxlTG9hZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAg
bnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBu
dWxscHRyLCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRN
b2R1bGUsCisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNo
LAorICAgICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9k
dWxlTG9hZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZy
ZXBvcnRVbmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhl
Y3V0aW9uT3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCAzNWZhNmUzMjc3ZmIwZDRiZTBlMGUxZWRj
NDM3MjJlZGFkZmM4YWYyLi45ZmFlYzk1OWMzOWQxNzQ4MTgxYzk4NjUwMDNkNWE4NmYxN2Y1ZTNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxT
Y29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEds
b2JhbFNjb3BlQmFzZS5jcHAKQEAgLTQ5LDExICs0OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RN
ZXRob2RUYWJsZSBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFsT2JqZWN0TWV0aG9k
VGFibAogICAgICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLAogICAgIG51bGxwdHIsIC8vIHF1ZXVl
TWljcm90YXNrVG9FdmVudExvb3AKICAgICAmc2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGlt
ZW91dCwKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUKLSAgICBudWxs
cHRyLCAvLyBtb2R1bGVMb2FkZXJSZXNvbHZlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVy
RmV0Y2gKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVy
dGllcwotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckV2YWx1YXRlCisgICAgJm1vZHVsZUxv
YWRlckltcG9ydE1vZHVsZSwKKyAgICAmbW9kdWxlTG9hZGVyUmVzb2x2ZSwKKyAgICAmbW9kdWxl
TG9hZGVyRmV0Y2gsCisgICAgJm1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVz
LAorICAgICZtb2R1bGVMb2FkZXJFdmFsdWF0ZSwKICAgICAmcHJvbWlzZVJlamVjdGlvblRyYWNr
ZXIsCiAgICAgJnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uQXRFdmVudExvb3AsCiAgICAgJmN1cnJl
bnRTY3JpcHRFeGVjdXRpb25Pd25lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
TW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE5MTBlOTQ5YjdhYzFhMzhlZGVlY2Iw
M2RlYjZlZTg5NGNjZWIwZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5j
bHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
U2NyaXB0RmV0Y2hlci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworCitjbGFzcyBN
b2R1bGVTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxNb2R1bGVTY3JpcHRMb2FkZXI+
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2FkZXIoKSA9IGRlZmF1bHQ7
CisKKyAgICB2b2lkIGNsZWFyQ2xpZW50KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX2NsaWVu
dCk7CisgICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICBKU0M6OlNjcmlw
dEZldGNoZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVybiBtX3NjcmlwdEZldGNoZXIuZ2V0KCk7
IH0KKyAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMoKSB7IHJldHVybiBtX3Bh
cmFtZXRlcnMuZ2V0KCk7IH0KKworcHJvdGVjdGVkOgorICAgIE1vZHVsZVNjcmlwdExvYWRlcihN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNl
LCBKU0M6OlNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBh
cmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICAgICAgOiBtX2NsaWVudCgmY2xpZW50KQorICAg
ICAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkKKyAgICAgICAgLCBtX3NjcmlwdEZldGNoZXIoc2Ny
aXB0RmV0Y2hlcikKKyAgICAgICAgLCBtX3BhcmFtZXRlcnMoV1RGTW92ZShwYXJhbWV0ZXJzKSkK
KyAgICB7CisgICAgfQorCisgICAgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KiBtX2NsaWVudDsK
KyAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBtX3Byb21pc2U7CisgICAgUmVmPEpTQzo6U2Ny
aXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVyOworICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFt
ZXRlcnM+IG1fcGFyYW1ldGVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjk5NWY0OGVlM2QxZTAyYzFkOGM5YzlkYTJiZDU4MjM2ZjNiYTA3ZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyOworY2xhc3MgRGVmZXJyZWRQcm9taXNlOwor
CitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwg
fk1vZHVsZVNjcmlwdExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9p
ZCBub3RpZnlGaW5pc2hlZChNb2R1bGVTY3JpcHRMb2FkZXImLCBVUkwmJiwgUmVmPERlZmVycmVk
UHJvbWlzZT4pID0gMDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCmluZGV4IGFhNWI4MGI1ODZiNzllMGU1NzUwMWNkNTEw
NzhkZjI1YTYyNWU1ZDkuLmJhM2U0MzVlNDk0ZDJjYzRiYmExMmJkZTRiMzgzY2JjNjAxZmQ1ODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVy
LmNwcApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ci5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdEZl
dGNoZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
QEAgLTQxLDYgKzQwLDkgQEAKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVk
ZSAiU3VicmVzb3VyY2VJbnRlZ3JpdHkuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRh
LmgiCisjaW5jbHVkZSAiV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29y
a2VyU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5oIgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTW9k
dWxlUmVjb3JkLmg+CkBAIC01Miw4ICs1NCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIoRG9jdW1lbnQmIGRvY3VtZW50
KQotICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK1NjcmlwdE1vZHVsZUxvYWRlcjo6U2NyaXB0
TW9kdWxlTG9hZGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE93bmVyVHlwZSBv
d25lclR5cGUpCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1fb3duZXJUeXBlKG93
bmVyVHlwZSkKIHsKIH0KIApAQCAtNjgsNyArNzEsNyBAQCBzdGF0aWMgYm9vbCBpc1Jvb3RNb2R1
bGUoSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5KQogICAgIHJldHVybiBpbXBvcnRlck1v
ZHVsZUtleS5pc1N5bWJvbCgpIHx8IGltcG9ydGVyTW9kdWxlS2V5LmlzVW5kZWZpbmVkKCk7CiB9
CiAKLXN0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihE
b2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgc3BlY2lmaWVyLCBjb25zdCBVUkwmIGJh
c2VVUkwpCitzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZp
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2NyaXB0TW9kdWxlTG9hZGVyOjpP
d25lclR5cGUgb3duZXJUeXBlLCBjb25zdCBTdHJpbmcmIHNwZWNpZmllciwgY29uc3QgVVJMJiBi
YXNlVVJMKQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L3dlYmFwcGFwaXMuaHRtbCNyZXNvbHZlLWEtbW9kdWxlLXNwZWNpZmllcgogCkBAIC03OSw3ICs4
MiwxMiBAQCBzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZp
ZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdAogICAgIGlmICghc3BlY2lmaWVyLnN0YXJ0
c1dpdGgoJy8nKSAmJiAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoIi4vIikgJiYgIXNwZWNpZmllci5z
dGFydHNXaXRoKCIuLi8iKSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJp
bmcoIk1vZHVsZSBzcGVjaWZpZXIsICciX3MsIHNwZWNpZmllciwgIicgZG9lcyBub3Qgc3RhcnQg
d2l0aCBcIi9cIiwgXCIuL1wiLCBvciBcIi4uL1wiLiBSZWZlcmVuY2VkIGZyb20gIl9zLCBiYXNl
VVJMLnN0cmluZygpKSk7CiAKLSAgICBhdXRvIHJlc3VsdCA9IGRvY3VtZW50LmNvbXBsZXRlVVJM
KHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgVVJMIHJlc3VsdDsKKyAgICBpZiAob3duZXJUeXBl
ID09IFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpEb2N1bWVudCkKKyAgICAgICAgcmVz
dWx0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLmNvbXBsZXRlVVJMKHNwZWNpZmllciwg
YmFzZVVSTCk7CisgICAgZWxzZQorICAgICAgICByZXN1bHQgPSBVUkwoYmFzZVVSTCwgc3BlY2lm
aWVyKTsKKwogICAgIGlmICghcmVzdWx0LmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIG1ha2VV
bmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBuYW1lLCAnIl9zLCByZXN1bHQuc3RyaW5nKCks
ICInIGRvZXMgbm90IHJlc29sdmUgdG8gYSB2YWxpZCBVUkwuIl9zKSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKQEAgLTEwNyw3ICsxMTUsNyBAQCBKU0M6OklkZW50aWZpZXIgU2NyaXB0TW9kdWxlTG9h
ZGVyOjpyZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0LAogICAgIFVS
TCBiYXNlVVJMID0gcmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTCgqanNHbG9iYWxPYmplY3QsIGlt
cG9ydGVyTW9kdWxlS2V5KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwog
Ci0gICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNw
ZWNpZmllciwgYmFzZVVSTCk7CisgICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lm
aWVyKG1fY29udGV4dCwgbV9vd25lclR5cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYg
KCFyZXN1bHQpIHsKICAgICAgICAgSlNDOjp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9iamVjdCwg
c2NvcGUsIHJlc3VsdC5lcnJvcigpKTsKICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTE2MSwxMyAr
MTY5LDE5IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0
Y2goSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPCiAgICAgaWYgKGF1dG8qIHNjcmlwdEZl
dGNoUGFyYW1ldGVycyA9IEpTQzo6anNEeW5hbWljQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hQYXJh
bWV0ZXJzKj4odm0sIHBhcmFtZXRlcnMpKQogICAgICAgICB0b3BMZXZlbEZldGNoUGFyYW1ldGVy
cyA9IHN0YXRpY19jYXN0PE1vZHVsZUZldGNoUGFyYW1ldGVycyo+KCZzY3JpcHRGZXRjaFBhcmFt
ZXRlcnMtPnBhcmFtZXRlcnMoKSk7CiAKLSAgICBhdXRvIGxvYWRlciA9IENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19jYXN0PENh
Y2hlZFNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNj
cmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJz
KSk7Ci0gICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29weVJlZigpKTsKLSAgICBpZiAoIWxvYWRl
ci0+bG9hZChtX2RvY3VtZW50LCBjb21wbGV0ZWRVUkwpKSB7Ci0gICAgICAgIGxvYWRlci0+Y2xl
YXJDbGllbnQoKTsKLSAgICAgICAgbV9sb2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOwot
ICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihkZWZlcnJlZC5nZXQoKSwgTW9k
dWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3Jp
cHQgZmFpbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybiBqc1Byb21pc2U7CisgICAgaWYgKG1fb3du
ZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgYXV0byBsb2FkZXIgPSBD
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpz
dGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1Njcmlw
dEZldGNoZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZl
dGNoUGFyYW1ldGVycykpOworICAgICAgICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkp
OworICAgICAgICBpZiAoIWxvYWRlci0+bG9hZChkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0
KSwgV1RGTW92ZShjb21wbGV0ZWRVUkwpKSkgeworICAgICAgICAgICAgbG9hZGVyLT5jbGVhckNs
aWVudCgpOworICAgICAgICAgICAgbV9sb2FkZXJzLnJlbW92ZShXVEZNb3ZlKGxvYWRlcikpOwor
ICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoZGVmZXJyZWQuZ2V0KCks
IE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUg
c2NyaXB0IGZhaWxlZC4iX3MpOworICAgICAgICAgICAgcmV0dXJuIGpzUHJvbWlzZTsKKyAgICAg
ICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGF1dG8gbG9hZGVyID0gV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdldCgpLCAqc3RhdGljX2Nhc3Q8V29y
a2VyU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6SlNTY3JpcHRGZXRjaGVyKj4oc2Ny
aXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMp
KTsKKyAgICAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29weVJlZigpKTsKKyAgICAgICAgbG9h
ZGVyLT5sb2FkKG1fY29udGV4dCwgV1RGTW92ZShjb21wbGV0ZWRVUkwpKTsKICAgICB9CiAKICAg
ICByZXR1cm4ganNQcm9taXNlOwpAQCAtMTc2LDcgKzE5MCw3IEBAIEpTQzo6SlNJbnRlcm5hbFBy
b21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCoganNH
bG9iYWxPCiBVUkwgU2NyaXB0TW9kdWxlTG9hZGVyOjptb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9i
amVjdCYganNHbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXlWYWx1ZSkKIHsKICAg
ICBpZiAobW9kdWxlS2V5VmFsdWUuaXNTeW1ib2woKSkKLSAgICAgICAgcmV0dXJuIG1fZG9jdW1l
bnQudXJsKCk7CisgICAgICAgIHJldHVybiBtX2NvbnRleHQudXJsKCk7CiAKICAgICBBU1NFUlQo
bW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CiAgICAgcmV0dXJuIFVSTChVUkwoKSwgYXNTdHJp
bmcobW9kdWxlS2V5VmFsdWUpLT52YWx1ZSgmanNHbG9iYWxPYmplY3QpKTsKQEAgLTE4Nyw4ICsy
MDEsMTEgQEAgVVJMIFNjcmlwdE1vZHVsZUxvYWRlcjo6cmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVS
TChKU0M6OkpTR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE8KICAgICBKU0M6OlZNJiB2bSA9IGpzR2xv
YmFsT2JqZWN0LnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OwogCi0gICAgaWYgKGlzUm9vdE1vZHVsZShtb2R1bGVLZXlWYWx1ZSkpCi0gICAgICAgIHJldHVy
biBtX2RvY3VtZW50LmJhc2VVUkwoKTsKKyAgICBpZiAoaXNSb290TW9kdWxlKG1vZHVsZUtleVZh
bHVlKSkgeworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkK
KyAgICAgICAgICAgIHJldHVybiBkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5iYXNlVVJM
KCk7CisgICAgICAgIHJldHVybiBtX2NvbnRleHQudXJsKCk7CisgICAgfQogCiAgICAgQVNTRVJU
KCFpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKTsKICAgICBBU1NFUlQobW9kdWxlS2V5VmFs
dWUuaXNTdHJpbmcoKSk7CkBAIC0yMTksOCArMjM2LDE0IEBAIEpTQzo6SlNWYWx1ZSBTY3JpcHRN
b2R1bGVMb2FkZXI6OmV2YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsT2JqZWN0
LCBKCiAgICAgaWYgKCFzb3VyY2VVUkwuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gSlNDOjp0
aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2NvcGUsICJNb2R1bGUga2V5IGlzIGFuIGlu
dmFsaWQgVVJMLiJfcyk7CiAKLSAgICBpZiAoYXV0byogZnJhbWUgPSBtX2RvY3VtZW50LmZyYW1l
KCkpCi0gICAgICAgIHJldHVybiBmcmFtZS0+c2NyaXB0KCkuZXZhbHVhdGVNb2R1bGUoc291cmNl
VVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpE
b2N1bWVudCkgeworICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBkb3duY2FzdDxEb2N1bWVudD4o
bV9jb250ZXh0KS5mcmFtZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS5l
dmFsdWF0ZU1vZHVsZShzb3VyY2VVUkwsICptb2R1bGVSZWNvcmQpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIEFTU0VSVChpczxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KSk7
CisgICAgICAgIGlmIChhdXRvKiBzY3JpcHQgPSBkb3duY2FzdDxXb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZT4obV9jb250ZXh0KS5zY3JpcHQoKSkKKyAgICAgICAgICAgIHJldHVybiBzY3JpcHQt
PmV2YWx1YXRlTW9kdWxlKCptb2R1bGVSZWNvcmQpOworICAgIH0KICAgICByZXR1cm4gSlNDOjpq
c1VuZGVmaW5lZCgpOwogfQogCkBAIC0yNDgsOCArMjcxLDEzIEBAIEpTQzo6SlNJbnRlcm5hbFBy
b21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGpzCiAgICAgVVJMIGJhc2VVUkw7CiAgICAgUmVmUHRyPEpTQzo6U2NyaXB0RmV0Y2hlcj4g
c2NyaXB0RmV0Y2hlcjsKICAgICBpZiAoc291cmNlT3JpZ2luLmlzTnVsbCgpKSB7Ci0gICAgICAg
IGJhc2VVUkwgPSBtX2RvY3VtZW50LmJhc2VVUkwoKTsKLSAgICAgICAgc2NyaXB0RmV0Y2hlciA9
IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisgICAg
ICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgICAg
ICBiYXNlVVJMID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuYmFzZVVSTCgpOworICAg
ICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShkb3du
Y2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5jaGFyc2V0KCkpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgYmFzZVVSTCA9IG1fY29udGV4dC51cmwoKTsKKyAgICAgICAgICAgIHNjcmlw
dEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpjcmVhdGUoaXM8V29ya2VyR2xvYmFsU2Nv
cGU+KG1fY29udGV4dCkgPyBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4obV9jb250ZXh0KS5j
cmVkZW50aWFscygpIDogRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbik7Cisg
ICAgICAgIH0KICAgICB9IGVsc2UgewogICAgICAgICBiYXNlVVJMID0gVVJMKFVSTCgpLCBzb3Vy
Y2VPcmlnaW4uc3RyaW5nKCkpOwogICAgICAgICBpZiAoIWJhc2VVUkwuaXNWYWxpZCgpKQpAQCAt
MjU3LDE0ICsyODUsMTkgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9h
ZGVyOjppbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganMKIAogICAgICAgICBpZiAo
c291cmNlT3JpZ2luLmZldGNoZXIoKSkKICAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBzb3Vy
Y2VPcmlnaW4uZmV0Y2hlcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzY3JpcHRGZXRj
aGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKG1fZG9jdW1lbnQuY2hhcnNldCgpKTsK
KworICAgICAgICBpZiAoIXNjcmlwdEZldGNoZXIpIHsKKyAgICAgICAgICAgIGlmIChtX293bmVy
VHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KQorICAgICAgICAgICAgICAgIHNjcmlwdEZldGNo
ZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUoZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29u
dGV4dCkuY2hhcnNldCgpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzY3Jp
cHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKGlzPFdvcmtlckdsb2JhbFNj
b3BlPihtX2NvbnRleHQpID8gZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KG1fY29udGV4dCku
Y3JlZGVudGlhbHMoKSA6IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4pOwor
ICAgICAgICB9CiAgICAgfQogICAgIEFTU0VSVChiYXNlVVJMLmlzVmFsaWQoKSk7CiAgICAgQVNT
RVJUKHNjcmlwdEZldGNoZXIpOwogCiAgICAgYXV0byBzcGVjaWZpZXIgPSBtb2R1bGVOYW1lLT52
YWx1ZShqc0dsb2JhbE9iamVjdCk7Ci0gICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3Bl
Y2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgYXV0byByZXN1bHQg
PSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9vd25lclR5cGUsIHNwZWNpZmll
ciwgYmFzZVVSTCk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiByZWplY3RQcm9t
aXNlKGdsb2JhbE9iamVjdCwgVHlwZUVycm9yLCByZXN1bHQuZXJyb3IoKSk7CiAKQEAgLTI4OCw2
MiArMzIxLDEwNyBAQCBKU0M6OkpTT2JqZWN0KiBTY3JpcHRNb2R1bGVMb2FkZXI6OmNyZWF0ZUlt
cG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplYwogICAgIHJldHVybiBtZXRhUHJv
cGVydGllczsKIH0KIAotdm9pZCBTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlciYgbG9hZGVyLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBw
cm9taXNlKQordm9pZCBTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKE1vZHVsZVNj
cmlwdExvYWRlciYgbW9kdWxlU2NyaXB0TG9hZGVyLCBVUkwmJiBzb3VyY2VVUkwsIFJlZjxEZWZl
cnJlZFByb21pc2U+IHByb21pc2UpCiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3Jp
cHQKIAotICAgIFVSTCBzb3VyY2VVUkwgPSBsb2FkZXIuc291cmNlVVJMKCk7Ci0gICAgaWYgKCFt
X2xvYWRlcnMucmVtb3ZlKCZsb2FkZXIpKQorICAgIGlmICghbV9sb2FkZXJzLnJlbW92ZSgmbW9k
dWxlU2NyaXB0TG9hZGVyKSkKICAgICAgICAgcmV0dXJuOwotICAgIGxvYWRlci5jbGVhckNsaWVu
dCgpOworICAgIG1vZHVsZVNjcmlwdExvYWRlci5jbGVhckNsaWVudCgpOwogCi0gICAgYXV0byYg
Y2FjaGVkU2NyaXB0ID0gKmxvYWRlci5jYWNoZWRTY3JpcHQoKTsKKyAgICBpZiAobV9vd25lclR5
cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0
aWNfY2FzdDxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIpOwor
ICAgICAgICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9hZGVyLmNhY2hlZFNjcmlwdCgpOwogCi0g
ICAgaWYgKGNhY2hlZFNjcmlwdC5yZXNvdXJjZUVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkpIHsK
LSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQg
bG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQucmVzb3Vy
Y2VFcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAgICByZWplY3RUb1Byb3Bh
Z2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpX
YXNFcnJvcmVkLCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1Pcmln
aW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQogCi0gICAgaWYgKGNhY2hlZFNjcmlwdC5lcnJvck9jY3VycmVkKCkpIHsKLSAgICAg
ICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoKnByb21pc2UsIE1vZHVsZUZldGNoRmFp
bHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4i
X3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2NyaXB0LmVy
cm9yT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJy
b3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIklt
cG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KIAotICAgIGlmIChjYWNoZWRTY3JpcHQud2FzQ2FuY2VsZWQoKSkgewotICAg
ICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hG
YWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNh
bmNlbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNoZWRT
Y3JpcHQud2FzQ2FuY2VsZWQoKSkgeworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3
b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2Vs
ZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNT
dXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUoY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5
cGUoKSkpIHsKLSAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBh
Z2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKLSAgICAgICAg
Ly8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBo
ZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1F
IHR5cGUuCi0gICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIGZldGNoaW5nIGEgY2xh
c3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5cGUgY2hlY2tpbmcuIEluIGNvbnRy
YXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9hZCBpZiB0aGV5IGFyZSBub3Qgb2Yg
YSBjb3JyZWN0IE1JTUUgdHlwZS4KLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwg
bWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlz
IG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KKyAgICAgICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3Jp
cHRNSU1FVHlwZShjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgeworICAgICAg
ICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBp
cy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKKyAgICAgICAgICAgIC8vIFRoZSBy
ZXN1bHQgb2YgZXh0cmFjdGluZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVhZGVyIGxp
c3QgKGlnbm9yaW5nIHBhcmFtZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLgor
ICAgICAgICAgICAgLy8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2lj
IHNjcmlwdCBkb2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3Qs
IG1vZHVsZSBzY3JpcHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNv
cnJlY3QgTUlNRSB0eXBlLgorICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwg
bWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlz
IG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChhdXRvKiBwYXJhbWV0ZXJzID0gbG9hZGVyLnBh
cmFtZXRlcnMoKSkgeworICAgICAgICAgICAgaWYgKCFtYXRjaEludGVncml0eU1ldGFkYXRhKGNh
Y2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkpKSB7CisgICAgICAgICAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiQ2Fubm90IGxvYWQgc2NyaXB0
ICIsIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRpb24oY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJz
LT5pbnRlZ3JpdHkoKSkpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKworICAgICAgICBVUkwgcmVzcG9uc2VVUkwgPSBjYWNoZWRTY3JpcHQucmVz
cG9uc2UoKS51cmwoKTsKKyAgICAgICAgLy8gSWYgd2UgZG8gbm90IGhhdmUgcmVkaXJlY3Rpb24s
IHdlIG11c3QgcmVzZXJ2ZSB0aGUgc291cmNlIFVSTCdzIGZyYWdtZW50IGV4cGxpY2l0bHkgaGVy
ZSBzaW5jZSBSZXNvdXJjZVJlc3BvbnNlOjp1cmwoKSBpcyB0aGUgb25lIHdoZW4gd2UgZmlyc3Qg
Y2FjaGUgaXQgdG8gTWVtb3J5Q2FjaGUuCisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJh
Y2sgZnJhZ21lbnRzIHRocm91Z2ggcmVkaXJlY3Rpb25zLgorICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCisgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0OTAKKyAgICAgICAgaWYgKCFjYWNo
ZWRTY3JpcHQuaGFzUmVkaXJlY3Rpb25zKCkgJiYgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkuc291
cmNlKCkgIT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7CisgICAg
ICAgICAgICBpZiAoc291cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQorICAgICAgICAg
ICAgICAgIHJlc3BvbnNlVVJMLnNldEZyYWdtZW50SWRlbnRpZmllcihzb3VyY2VVUkwuZnJhZ21l
bnRJZGVudGlmaWVyKCkpOworICAgICAgICB9CisKKyAgICAgICAgbV9yZXF1ZXN0VVJMVG9SZXNw
b25zZVVSTE1hcC5hZGQoc291cmNlVVJMLnN0cmluZygpLCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSk7
CisgICAgICAgIHByb21pc2UtPnJlc29sdmVXaXRoQ2FsbGJhY2soWyZdIChKU0RPTUdsb2JhbE9i
amVjdCYganNHbG9iYWxPYmplY3QpIHsKKyAgICAgICAgICAgIHJldHVybiBKU0M6OkpTU291cmNl
Q29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0LnZtKCksCisgICAgICAgICAgICAgICAgSlNDOjpT
b3VyY2VDb2RlIHsgU2NyaXB0U291cmNlQ29kZSB7ICZjYWNoZWRTY3JpcHQsIEpTQzo6U291cmNl
UHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUsIGxvYWRlci5zY3JpcHRGZXRjaGVyKCkgfS5qc1Nv
dXJjZUNvZGUoKSB9KTsKKyAgICAgICAgfSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXV0byYg
bG9hZGVyID0gc3RhdGljX2Nhc3Q8V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyJj4obW9kdWxlU2Ny
aXB0TG9hZGVyKTsKKyAgICAgICAgYXV0byYgd29ya2VyU2NyaXB0TG9hZGVyID0gbG9hZGVyLnNj
cmlwdExvYWRlcigpOwogCi0gICAgaWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1l
dGVycygpKSB7Ci0gICAgICAgIGlmICghbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShjYWNoZWRTY3Jp
cHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkgewotICAgICAgICAgICAgcHJvbWlzZS0+cmVq
ZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiQ2Fubm90IGxvYWQgc2NyaXB0ICIsIGludGVncml0
eU1pc21hdGNoRGVzY3JpcHRpb24oY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHko
KSkpKTsKKyAgICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5mYWlsZWQoKSkgeworICAgICAg
ICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5lcnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7
CisgICAgICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5n
ZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkNyb3NzLW9yaWdpbiBz
Y3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5
LiJfcyk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSkgewor
ICAgICAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0
KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEgbW9k
dWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3MpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3Io
cHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9y
dGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KLSAgICB9CiAKLSAgICBVUkwgcmVzcG9uc2VVUkwgPSBjYWNoZWRTY3JpcHQucmVz
cG9uc2UoKS51cmwoKTsKLSAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2Ug
bXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNp
bmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNo
ZSBpdCB0byBNZW1vcnlDYWNoZS4KLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNrIGZyYWdt
ZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDQ5MAotICAgIGlmICghY2FjaGVkU2NyaXB0Lmhhc1JlZGlyZWN0
aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnNvdXJjZSgpICE9IFJlc291cmNlUmVz
cG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgewotICAgICAgICBpZiAoc291cmNlVVJMLmhh
c0ZyYWdtZW50SWRlbnRpZmllcigpKQotICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21l
bnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7Ci0gICAgfQorICAg
ICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBl
KHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZU1JTUVUeXBlKCkpKSB7CisgICAgICAgICAgICAv
LyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwj
ZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhlIHJlc3VsdCBv
ZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdu
b3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCisgICAgICAg
ICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNzaWMgc2NyaXB0
IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFzdCwgbW9kdWxl
IHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEgY29ycmVjdCBN
SU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3Ry
aW5nKCInIiwgd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlTUlNRVR5cGUoKSwgIicgaXMgbm90
IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CiAKLSAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VV
Ukwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsKLSAgICBwcm9taXNlLT5yZXNvbHZl
V2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7Ci0g
ICAgICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0LnZt
KCksCi0gICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgJmNh
Y2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVy
LnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOwotICAgIH0pOworICAgICAgICBV
UkwgcmVzcG9uc2VVUkwgPSB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VVUkwoKTsKKworICAg
ICAgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRo
ZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVz
cG9uc2U6OnVybCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlD
YWNoZS4KKyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVudHMgdGhyb3Vn
aCByZWRpcmVjdGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMDQ5MAorICAgICAgICBpZiAoIXdvcmtlclNjcmlwdExvYWRlci5pc1Jl
ZGlyZWN0ZWQoKSAmJiB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VTb3VyY2UoKSAhPSBSZXNv
dXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAgICAgICAgICAgIGlmIChz
b3VyY2VVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAgICAgICAgICAgcmVzcG9u
c2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIo
KSk7CisgICAgICAgIH0KKworICAgICAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFk
ZChzb3VyY2VVUkwuc3RyaW5nKCksIHJlc3BvbnNlVVJMKTsKKyAgICAgICAgcHJvbWlzZS0+cmVz
b2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkg
eworICAgICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxP
YmplY3Qudm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3Vy
Y2VDb2RlIHsgd29ya2VyU2NyaXB0TG9hZGVyLnNjcmlwdCgpLCBXVEZNb3ZlKHJlc3BvbnNlVVJM
KSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2Ny
aXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7CisgICAgICAgIH0pOworICAgIH0KIH0K
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxl
TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIu
aAppbmRleCBkZTI5ZDJmNGJmMDk2YjYwYzM2OTk4MDMxNmMxNDg2YjI4MmFiZjA5Li5kZjM0ZDU1
MWExMWNkOThmNGUyMzZhMmFhMWY0ODI3OWQ5NjRjNjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaApAQCAtMjUsOCArMjUsOCBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIgotI2lu
Y2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIk1vZHVs
ZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDUsMTYgKzQ1LDE3IEBA
IGNsYXNzIFNvdXJjZU9yaWdpbjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEb2N1
bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIAotY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZpbmFs
IDogcHJpdmF0ZSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNjcmlwdE1vZHVsZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgotICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRlcihEb2N1bWVudCYpOworICAgIGVu
dW0gY2xhc3MgT3duZXJUeXBlIDogdWludDhfdCB7IERvY3VtZW50LCBXb3JrZXJPcldvcmtsZXQg
fTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIE93bmVyVHlwZSk7CiAgICAgflNjcmlwdE1vZHVsZUxvYWRlcigpOwogCi0gICAgRG9jdW1l
bnQmIGRvY3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudDsgfQorICAgIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQ7IH0KIAogICAgIEpTQzo6SWRl
bnRpZmllciByZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVy
KiwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtl
eSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwogICAgIEpTQzo6SlNJbnRlcm5hbFByb21p
c2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlND
OjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1
ZSBzY3JpcHRGZXRjaGVyKTsKQEAgLTYzLDEzICs2NCwxNSBAQCBjbGFzcyBTY3JpcHRNb2R1bGVM
b2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CiAg
ICAgSlNDOjpKU09iamVjdCogY3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2Jh
bE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNNb2R1
bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwogCiBwcml2YXRlOgotICAgIHZvaWQgbm90aWZ5Rmlu
aXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4p
IGZpbmFsOworICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJM
JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSBmaW5hbDsKKwogICAgIFVSTCBtb2R1bGVVUkwoSlND
OjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAgICAgVVJMIHJlc3BvbnNlVVJMRnJv
bVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAKLSAgICBE
b2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRl
eHQ7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFVSTD4gbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1h
cDsKLSAgICBIYXNoU2V0PFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+PiBtX2xvYWRlcnM7
CisgICAgSGFzaFNldDxSZWY8TW9kdWxlU2NyaXB0TG9hZGVyPj4gbV9sb2FkZXJzOworICAgIE93
bmVyVHlwZSBtX293bmVyVHlwZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaAppbmRleCBjNzA0NjI2
ZmI3MzNkYjQ3MmJkYTUwMjM2MjQxYTZlNzQwZTI3ODJiLi4xMGZhN2U4YjQ0OWM4Yjg0OWViMzdj
YzFmMmM4NjZmYTg5M2FhZDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRTb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0U291cmNlQ29kZS5oCkBAIC01Nyw3ICs1Nyw3IEBAIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGUg
ewogICAgIHsKICAgICB9CiAKLSAgICBTY3JpcHRTb3VyY2VDb2RlKGNvbnN0IFN0cmluZyYgc291
cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwgSlNDOjpT
b3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlwZSwgUmVmPENhY2hlZFNjcmlwdEZldGNo
ZXI+JiYgc2NyaXB0RmV0Y2hlcikKKyAgICBTY3JpcHRTb3VyY2VDb2RlKGNvbnN0IFN0cmluZyYg
c291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwgSlND
OjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlwZSwgUmVmPEpTQzo6U2NyaXB0RmV0
Y2hlcj4mJiBzY3JpcHRGZXRjaGVyKQogICAgICAgICA6IG1fcHJvdmlkZXIoSlNDOjpTdHJpbmdT
b3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgSlNDOjpTb3VyY2VPcmlnaW4geyB1cmwsIFdU
Rk1vdmUoc2NyaXB0RmV0Y2hlcikgfSwgdXJsLnN0cmluZygpLCBzdGFydFBvc2l0aW9uLCBzb3Vy
Y2VUeXBlKSkKICAgICAgICAgLCBtX2NvZGUobV9wcm92aWRlci5jb3B5UmVmKCksIHN0YXJ0UG9z
aXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFz
ZWRJbnQoKSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNzdiNTQ1OGFiNzg5YmU1
MTZjOTUyZGI1NjhiNTU3OTU1Nzk4Yzk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApAQCAtMCwwICsxLDg5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldvcmtlck1v
ZHVsZVNjcmlwdExvYWRlci5oIgorCisjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0RmV0Y2hlci5oIgor
I2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVk
ZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNp
bmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRl
ck9wdGlvbnMuaCIKKyNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiU2Ny
aXB0TW9kdWxlTG9hZGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgorI2luY2x1
ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
PiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBXb3JrZXJTY3JpcHRGZXRjaGVy
JiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRl
cnMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
KGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJzKSkpOwor
fQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcihN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNl
LCBXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQ
YXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50
LCBwcm9taXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKQorICAgICwgbV9z
Y3JpcHRMb2FkZXIoV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKSkKK3sKK30KKworV29ya2Vy
TW9kdWxlU2NyaXB0TG9hZGVyOjp+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKCkKK3sKKyAgICBt
X3NjcmlwdExvYWRlci0+Y2FuY2VsKCk7Cit9CisKK2Jvb2wgV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyOjpsb2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFVSTCYmIHNvdXJjZVVS
TCkKK3sKKyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291cmNlVVJMKTsKKworICAgIFJlc291
cmNlUmVxdWVzdCByZXF1ZXN0IHsgbV9zb3VyY2VVUkwgfTsKKyAgICByZXF1ZXN0LnNldFJlcXVl
c3RlcihSZXNvdXJjZVJlcXVlc3Q6OlJlcXVlc3Rlcjo6SW1wb3J0U2NyaXB0cyk7CisKKyAgICBG
ZXRjaE9wdGlvbnMgZmV0Y2hPcHRpb25zOworICAgIGZldGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hP
cHRpb25zOjpNb2RlOjpDb3JzOworICAgIGZldGNoT3B0aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9u
czo6Q2FjaGU6OkRlZmF1bHQ7CisgICAgZmV0Y2hPcHRpb25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRp
b25zOjpSZWRpcmVjdDo6Rm9sbG93OworICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHN0
YXRpY19jYXN0PFdvcmtlclNjcmlwdEZldGNoZXImPihzY3JpcHRGZXRjaGVyKCkpLmNyZWRlbnRp
YWxzKCk7CisgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0
aW5hdGlvbjo6U2NyaXB0OworICAgIGF1dG8gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQgPSBjb250ZXh0LnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgp
ID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6IENvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ2hpbGRTcmNEaXJlY3RpdmU7CisK
KyAgICBTdHJpbmcgdGFza01vZGUgPSAibG9hZE1vZHVsZXNJbldvcmtlck9yV29ya2xldE1vZGUi
X3M7CisgICAgbV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZN
b3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMsIFdURk1vdmUodGFz
a01vZGUpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBXb3JrZXJNb2R1bGVTY3JpcHRM
b2FkZXI6Om5vdGlmeUZpbmlzaGVkKCkKK3sKKyAgICBBU1NFUlQobV9wcm9taXNlKTsKKworICAg
IGF1dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpOworICAgIGlmIChtX2NsaWVudCkK
KyAgICAgICAgbV9jbGllbnQtPm5vdGlmeUZpbmlzaGVkKCp0aGlzLCBXVEZNb3ZlKG1fc291cmNl
VVJMKSwgbV9wcm9taXNlLnJlbGVhc2VOb25OdWxsKCkpOworfQorCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYxMDA4MGVlOTMxYmZiMGIzM2E5ZjU0NzNiMjk3Y2EyZGMyZTQ3NTgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRM
b2FkZXIuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJNb2R1bGVTY3JpcHRMb2FkZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2Fk
ZXJDbGllbnQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1VSTC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKK2NsYXNzIEpTRE9N
R2xvYmFsT2JqZWN0OworY2xhc3MgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzOworY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKK2NsYXNz
IFdvcmtlclNjcmlwdExvYWRlcjsKKworY2xhc3MgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyIGZp
bmFsIDogcHVibGljIE1vZHVsZVNjcmlwdExvYWRlciwgcHJpdmF0ZSBXb3JrZXJTY3JpcHRMb2Fk
ZXJDbGllbnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyPiBjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwg
V29ya2VyU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOwor
CisgICAgdmlydHVhbCB+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKCk7CisKKyAgICBib29sIGxv
YWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFVSTCYmIHNvdXJjZVVSTCk7CisKKyAgICBXb3Jr
ZXJTY3JpcHRMb2FkZXImIHNjcmlwdExvYWRlcigpIHsgcmV0dXJuIG1fc2NyaXB0TG9hZGVyLmdl
dCgpOyB9CisKK3ByaXZhdGU6CisgICAgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIFdvcmtlclNjcmlwdEZldGNoZXIm
LCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKworICAgIHZvaWQgZGlkUmVjZWl2
ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBmaW5hbCB7
IH0KKyAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKCkgZmluYWw7CisKKyAgICBSZWY8V29ya2VyU2Ny
aXB0TG9hZGVyPiBtX3NjcmlwdExvYWRlcjsKKyAgICBVUkwgbV9zb3VyY2VVUkw7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
b3JrZXJTY3JpcHRGZXRjaGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZiNTRlZjg5NGI1MzNlYWZjZWJjMWEx
NGJmMjc2YTAzZWNiYTEwYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJMb2FkYWJsZVNjcmlwdC5oIgorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL1NjcmlwdEZldGNoZXIuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBDYWNoZWRTY3JpcHQ7CitjbGFzcyBEb2N1bWVudDsKKworY2xhc3MgV29ya2Vy
U2NyaXB0RmV0Y2hlciBmaW5hbCA6IHB1YmxpYyBKU0M6OlNjcmlwdEZldGNoZXIgeworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8V29ya2VyU2NyaXB0RmV0Y2hlcj4gY3JlYXRlKEZldGNoT3B0aW9u
czo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBXb3JrZXJTY3JpcHRGZXRjaGVyKGNyZWRlbnRpYWxzKSk7CisgICAgfQorCisgICAg
RmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFscygpIGNvbnN0IHsgcmV0dXJuIG1f
Y3JlZGVudGlhbHM7IH0KKworICAgIHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3Ry
aW5nSW1wbCYgbW9kdWxlS2V5KQorICAgIHsKKyAgICAgICAgbV9tb2R1bGVLZXkgPSAmbW9kdWxl
S2V5OworICAgICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIG5vdGlm
eUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yJiYgZXJyb3IpCisgICAgeworICAgICAg
ICBtX2Vycm9yID0gV1RGTW92ZShlcnJvcik7CisgICAgICAgIG1faXNMb2FkZWQgPSB0cnVlOwor
ICAgIH0KKworICAgIHZvaWQgbm90aWZ5TG9hZFdhc0NhbmNlbGVkKCkKKyAgICB7CisgICAgICAg
IG1fd2FzQ2FuY2VsZWQgPSB0cnVlOworICAgICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAgICB9
CisKKyAgICBib29sIGlzTG9hZGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0xvYWRlZDsgfQorICAg
IE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpFcnJvcj4gZXJyb3IoKSBjb25zdCB7IHJldHVybiBt
X2Vycm9yOyB9CisgICAgYm9vbCB3YXNDYW5jZWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2FzQ2Fu
Y2VsZWQ7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogbW9kdWxlS2V5KCkgY29uc3QgeyByZXR1
cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0KKworcHJvdGVjdGVkOgorICAgIFdvcmtlclNjcmlwdEZl
dGNoZXIoRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFscykKKyAgICAgICAgOiBt
X2NyZWRlbnRpYWxzKGNyZWRlbnRpYWxzKQorICAgIHsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
RmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzOworICAgIFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4gbV9tb2R1bGVLZXk7CisgICAgT3B0aW9uYWw8TG9hZGFibGVTY3JpcHQ6
OkVycm9yPiBtX2Vycm9yOworICAgIGJvb2wgbV93YXNDYW5jZWxlZCB7IGZhbHNlIH07CisgICAg
Ym9vbCBtX2lzTG9hZGVkIHsgZmFsc2UgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDFiOWY3MjY2MzkyMTA4NWM1OGQwOGI1YjA3OTk2
NTY5ZmVhNjYyYWEuLjUwODBlYTg1OTU4OGZlOTM5YzdhMmM3ZjY1YTg4MWI0YTdiNDhhMDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjE1LDcgKzYxNSw3IEBAIERvY3VtZW50OjpEb2N1
bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IFNldHRpbmdzJiBzZXR0aW5ncywgY29uc3QgVVJMJiB1
cmwsIERvY3VtCiAgICAgLCBtX2RvY3VtZW50Q3JlYXRpb25UaW1lKE1vbm90b25pY1RpbWU6Om5v
dygpKQogI2VuZGlmCiAgICAgLCBtX3NjcmlwdFJ1bm5lcihtYWtlVW5pcXVlPFNjcmlwdFJ1bm5l
cj4oKnRoaXMpKQotICAgICwgbV9tb2R1bGVMb2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1bGVM
b2FkZXI+KCp0aGlzKSkKKyAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9k
dWxlTG9hZGVyPigqdGhpcywgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGU6OkRvY3VtZW50
KSkKICNpZiBFTkFCTEUoWFNMVCkKICAgICAsIG1fYXBwbHlQZW5kaW5nWFNMVHJhbnNmb3Jtc1Rp
bWVyKCp0aGlzLCAmRG9jdW1lbnQ6OmFwcGx5UGVuZGluZ1hTTFRyYW5zZm9ybXNUaW1lckZpcmVk
KQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaAppbmRleCBmNmI1NThlYTgyZDc5
MzY4ZTYxYWRiMDYwY2YwYjRlYTFkYmVhMjBjLi4xN2RlNzQzNDcyZjc3MzFiMDNjOThmZWNlN2Ix
ZWIxYjk2MDFlNzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgKQEAgLTYxLDYgKzYx
LDcgQEAgZW51bSBFeGNlcHRpb25Db2RlIHsKICAgICAvLyBTaW1wbGUgZXhjZXB0aW9ucyAoaHR0
cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jaWRsLWV4Y2VwdGlvbnMpLgogICAgIFJhbmdl
RXJyb3IsCiAgICAgVHlwZUVycm9yLAorICAgIEpTU3ludGF4RXJyb3IsIC8vIERpZmZlcmVudCBm
cm9tIERPTSBTWU5UQVhfRVJSLgogCiAgICAgLy8gTm9uLXN0YW5kYXJkIGVycm9yLgogICAgIFN0
YWNrT3ZlcmZsb3dFcnJvciwKQEAgLTExMSw2ICsxMTIsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU+IHsKICAgICBXZWJDb3JlOjpFeGNlcHRp
b25Db2RlOjpOb3RBbGxvd2VkRXJyb3IsCiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6UmFu
Z2VFcnJvciwKICAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlOjpUeXBlRXJyb3IsCisgICAgV2Vi
Q29yZTo6RXhjZXB0aW9uQ29kZTo6SlNTeW50YXhFcnJvciwKICAgICBXZWJDb3JlOjpFeGNlcHRp
b25Db2RlOjpTdGFja092ZXJmbG93RXJyb3IsCiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6
RXhpc3RpbmdFeGNlcHRpb25FcnJvcgogICAgID47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRh
YmxlTW9kdWxlU2NyaXB0LmNwcAppbmRleCA5YTI1YzE2NTg4ZWVjYWQ2NzhmYjkxMWVjODYyMmY0
MjQyNTkyYjVhLi40OGVjMDg1MWE0NTdkOWJhNDc0NzNmZWMyOGQ3YjQ5MzEyYjc4OGIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKQEAgLTg4LDE2ICs4
OCw0IEBAIHZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmV4ZWN1dGUoU2NyaXB0RWxlbWVudCYg
c2NyaXB0RWxlbWVudCkKICAgICBzY3JpcHRFbGVtZW50LmV4ZWN1dGVNb2R1bGVTY3JpcHQoKnRo
aXMpOwogfQogCi12b2lkIExvYWRhYmxlTW9kdWxlU2NyaXB0Ojpsb2FkKERvY3VtZW50JiBkb2N1
bWVudCwgY29uc3QgVVJMJiByb290VVJMKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3Vt
ZW50LmZyYW1lKCkpCi0gICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0
aGlzLCByb290VVJMLnN0cmluZygpLCBtX3BhcmFtZXRlcnMuY29weVJlZigpKTsKLX0KLQotdm9p
ZCBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNj
cmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCi17Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9j
dW1lbnQuZnJhbWUoKSkKLSAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQo
KnRoaXMsIHNvdXJjZUNvZGUpOwotfQotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oCmluZGV4IGJiNzk5NTRkN2I5OWIwZWQwNmJmZTU1ZWY4NTRlY2NlMjFmMzU4
NzcuLmQyNTM1OTYzZjY0OGIwMmE4YTAxZmQ2M2JiMWUzODEzODZjZWU0MzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCkBAIC01MCwxNSArNTAsMTQgQEAgY2xh
c3MgTG9hZGFibGVNb2R1bGVTY3JpcHQgZmluYWwgOiBwdWJsaWMgTG9hZGFibGVTY3JpcHQgewog
CiAgICAgdm9pZCBzZXRFcnJvcihFcnJvciYmKTsKIAotICAgIHZvaWQgbG9hZChEb2N1bWVudCYs
IGNvbnN0IFVSTCYgcm9vdFVSTCk7Ci0gICAgdm9pZCBsb2FkKERvY3VtZW50JiwgY29uc3QgU2Ny
aXB0U291cmNlQ29kZSYpOwotCiAgICAgdm9pZCBub3RpZnlMb2FkQ29tcGxldGVkKFVuaXF1ZWRT
dHJpbmdJbXBsJik7CiAgICAgdm9pZCBub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpF
cnJvciYmKTsKICAgICB2b2lkIG5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpOwogCiAgICAgVW5pcXVl
ZFN0cmluZ0ltcGwqIG1vZHVsZUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxlS2V5LmdldCgp
OyB9CiAKKyAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMoKSB7IHJldHVybiBt
X3BhcmFtZXRlcnMuZ2V0KCk7IH0KKwogcHJpdmF0ZToKICAgICBMb2FkYWJsZU1vZHVsZVNjcmlw
dChjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGludGVncml0eSwgUmVmZXJyZXJQ
b2xpY3ksIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBjb25zdCBTdHJpbmcmIGNoYXJz
ZXQsIGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIGJvb2wgaXNJblVzZXJBZ2VudFNo
YWRvd1RyZWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggMDU3NThi
NjAwYzc1MjJiNDdmMzY0YmE2YTE4ZDM1ZjE3MzExMDdmOS4uNWU5OWYwZjU3NzdiM2IyMTU4ZGQw
ZmE0YmMzODI3NzZjZGIzNDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApA
QCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkxvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oIgogI2lu
Y2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3Ry
eS5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlBlbmRp
bmdTY3JpcHQuaCIKICNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIKICNpbmNs
dWRlICJTVkdTY3JpcHRFbGVtZW50LmgiCkBAIC0zNTEsOCArMzUyLDExIEBAIGJvb2wgU2NyaXB0
RWxlbWVudDo6cmVxdWVzdE1vZHVsZVNjcmlwdChjb25zdCBUZXh0UG9zaXRpb24mIHNjcmlwdFN0
YXJ0UG9zaXRpb24pCiAgICAgICAgICAgICBzY3JpcHRDaGFyc2V0KCksCiAgICAgICAgICAgICBt
X2VsZW1lbnQubG9jYWxOYW1lKCksCiAgICAgICAgICAgICBtX2VsZW1lbnQuaXNJblVzZXJBZ2Vu
dFNoYWRvd1RyZWUoKSk7Ci0gICAgICAgIHNjcmlwdC0+bG9hZChtX2VsZW1lbnQuZG9jdW1lbnQo
KSwgbW9kdWxlU2NyaXB0Um9vdFVSTCk7CiAgICAgICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZN
b3ZlKHNjcmlwdCk7CisgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IG1fZWxlbWVudC5kb2N1bWVu
dCgpLmZyYW1lKCkpIHsKKyAgICAgICAgICAgIGF1dG8mIHNjcmlwdCA9IGRvd25jYXN0PExvYWRh
YmxlTW9kdWxlU2NyaXB0PigqbV9sb2FkYWJsZVNjcmlwdC5nZXQoKSk7CisgICAgICAgICAgICBm
cmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdChzY3JpcHQsIG1vZHVsZVNjcmlwdFJvb3RV
Ukwuc3RyaW5nKCksIG1ha2VSZWYoc2NyaXB0LnBhcmFtZXRlcnMoKSkpOworICAgICAgICB9CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMzY3LDggKzM3MSw5IEBAIGJvb2wgU2Ny
aXB0RWxlbWVudDo6cmVxdWVzdE1vZHVsZVNjcmlwdChjb25zdCBUZXh0UG9zaXRpb24mIHNjcmlw
dFN0YXJ0UG9zaXRpb24pCiAgICAgaWYgKCFjb250ZW50U2VjdXJpdHlQb2xpY3kuYWxsb3dJbmxp
bmVTY3JpcHQobV9lbGVtZW50LmRvY3VtZW50KCkudXJsKCkuc3RyaW5nKCksIG1fc3RhcnRMaW5l
TnVtYmVyLCBzb3VyY2VDb2RlLnNvdXJjZSgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSwgaGFz
S25vd25Ob25jZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHNjcmlwdC0+bG9hZCht
X2VsZW1lbnQuZG9jdW1lbnQoKSwgc291cmNlQ29kZSk7CiAgICAgbV9sb2FkYWJsZVNjcmlwdCA9
IFdURk1vdmUoc2NyaXB0KTsKKyAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1l
bnQoKS5mcmFtZSgpKQorICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdChk
b3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4oKm1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpLCBz
b3VyY2VDb2RlKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDI3MTdjODYxYzc0YjBmMmFlYmNkZTQwODcwMGUy
YTlhMDM3Mzc1OTUuLjFiNjUzMmMzYjBlYWE4MGQ5YmQ0NmM2ZDQzMjEzNjk2MjFjMDE5YmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTEwMSwxMCAr
MTAxLDEwIEBAIFRocmVhZGFibGVMb2FkZXJPcHRpb25zIFRocmVhZGFibGVMb2FkZXJPcHRpb25z
Ojppc29sYXRlZENvcHkoKSBjb25zdAogfQogCiAKLVJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBU
aHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0
LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgU3RyaW5nJiYgcmVmZXJy
ZXIpCitSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNs
aWVudCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmIG9wdGlvbnMsIFN0cmluZyYmIHJlZmVycmVyLCBTdHJpbmcmJiB0YXNrTW9kZSkKIHsK
ICAgICBpZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpIHx8IChpczxXb3JrbGV0R2xv
YmFsU2NvcGU+KGNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtsZXRHbG9iYWxTY29wZT4oY29udGV4
dCkud29ya2VyT3JXb3JrbGV0VGhyZWFkKCkpKQotICAgICAgICByZXR1cm4gV29ya2VyVGhyZWFk
YWJsZUxvYWRlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
Jj4oY29udGV4dCksIGNsaWVudCwgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSwgV1RGTW92
ZShyZXF1ZXN0KSwgb3B0aW9ucywgV1RGTW92ZShyZWZlcnJlcikpOworICAgICAgICByZXR1cm4g
V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlJj4oY29udGV4dCksIGNsaWVudCwgV1RGTW92ZSh0YXNrTW9kZSksIFdURk1v
dmUocmVxdWVzdCksIG9wdGlvbnMsIFdURk1vdmUocmVmZXJyZXIpKTsKIAogICAgIERvY3VtZW50
KiBkb2N1bWVudCA9IG51bGxwdHI7CiAgICAgaWYgKGlzPFdvcmtsZXRHbG9iYWxTY29wZT4oY29u
dGV4dCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCBjMmIy
NDVjM2ViYjhiYzkzMGVmNGQxNzJiYTE1MDlhMTc5ZjFkN2E2Li4xYWM3MDRiNGMzYjUwYjBmZmRh
MDM0MjhjM2NlN2RhMTQ5ODgyNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxl
TG9hZGVyLmgKQEAgLTc0LDcgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxlTG9hZGVyKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29u
c3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKLSAgICAgICAgc3RhdGljIFJlZlB0cjxUaHJl
YWRhYmxlTG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFRocmVhZGFibGVM
b2FkZXJDbGllbnQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmLCBTdHJpbmcmJiByZWZlcnJlciA9IFN0cmluZygpKTsKKyAgICAgICAgc3RhdGljIFJl
ZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmLCBTdHJpbmcmJiByZWZlcnJlciA9IFN0cmluZygpLCBTdHJpbmcmJiB0
YXNrTW9kZSA9IHsgfSk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJc0RvbmUoKSA9
IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKaW5kZXggYmY2ZTI3NmEzOWMyMzE1Zjg4OTBjNjMzMDMyOWQ2NDRkZmNhZWFhNS4u
MDRmZGY1ODI3NDNlYjk3M2I1MjVkNTRjOGE4ZDhmMzdkODI1MjBmYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmNwcApAQCAtNzQsNiArNzQsOCBAQCBpbmxpbmUgV29ya2VyOjpXb3JrZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZQog
ICAgICwgbV9pZGVudGlmaWVyKCJ3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0
b3J5OjpjcmVhdGVJZGVudGlmaWVyKCkpCiAgICAgLCBtX2NvbnRleHRQcm94eShXb3JrZXJHbG9i
YWxTY29wZVByb3h5OjpjcmVhdGUoKnRoaXMpKQogICAgICwgbV9ydW50aW1lRmxhZ3MocnVudGlt
ZUZsYWdzKQorICAgICwgbV90eXBlKG9wdGlvbnMudHlwZSkKKyAgICAsIG1fY3JlZGVudGlhbHMo
b3B0aW9ucy5jcmVkZW50aWFscykKIHsKICAgICBzdGF0aWMgYm9vbCBhZGRlZExpc3RlbmVyOwog
ICAgIGlmICghYWRkZWRMaXN0ZW5lcikgewpAQCAtMTE3LDEwICsxMTksMTUgQEAgRXhjZXB0aW9u
T3I8UmVmPFdvcmtlcj4+IFdvcmtlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIEpTQzo6UnUKIAogICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7CiAgICAgZmV0
Y2hPcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW47CisgICAgaWYg
KHdvcmtlci0+bV90eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSkKKyAgICAgICAgZmV0Y2hPcHRp
b25zLmNyZWRlbnRpYWxzID0gd29ya2VyLT5tX2NyZWRlbnRpYWxzOworICAgIGVsc2UKKyAgICAg
ICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6
U2FtZU9yaWdpbjsKICAgICBmZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9wdGlvbnM6OkNhY2hl
OjpEZWZhdWx0OwogICAgIGZldGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6UmVk
aXJlY3Q6OkZvbGxvdzsKICAgICBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXI7Ci0gICAgd29ya2VyLT5tX3NjcmlwdExvYWRlci0+bG9h
ZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0Y2hP
cHRpb25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJz
TW9kZTo6QWxsLCB3b3JrZXIpOworICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3lu
Y2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9u
cyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6
OkFsbCwgd29ya2VyLmdldCgpLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKwogICAg
IHJldHVybiB3b3JrZXI7CiB9CiAKQEAgLTIxOSw3ICsyMjYsMTMgQEAgdm9pZCBXb3JrZXI6Om5v
dGlmeUZpbmlzaGVkKCkKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSA9IFJlZmVy
cmVyUG9saWN5OjpFbXB0eVN0cmluZzsKICAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVy
cmVyUG9saWN5KG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpLCBSZWZlcnJlclBvbGlj
eVNvdXJjZTo6SFRUUEhlYWRlcikpCiAgICAgICAgIHJlZmVycmVyUG9saWN5ID0gKnBvbGljeTsK
LSAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVy
LT51cmwoKSwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgp
KSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBtX3J1bnRpbWVG
bGFncyk7CisKKyAgICBVUkwgcmVzcG9uc2VVUkwgPSBtX3NjcmlwdExvYWRlci0+cmVzcG9uc2VV
UkwoKTsKKyAgICBpZiAoIW1fc2NyaXB0TG9hZGVyLT5pc1JlZGlyZWN0ZWQoKSAmJiBtX3Njcmlw
dExvYWRlci0+cmVzcG9uc2VTb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNl
cnZpY2VXb3JrZXIpIHsKKyAgICAgICAgaWYgKG1fc2NyaXB0TG9hZGVyLT51cmwoKS5oYXNGcmFn
bWVudElkZW50aWZpZXIoKSkKKyAgICAgICAgICAgIHJlc3BvbnNlVVJMLnNldEZyYWdtZW50SWRl
bnRpZmllcihtX3NjcmlwdExvYWRlci0+dXJsKCkuZnJhZ21lbnRJZGVudGlmaWVyKCkpOworICAg
IH0KKyAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKHJlc3BvbnNlVVJM
LCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChyZXNwb25zZVVSTCksIGlzT25saW5lLCBtX3Nj
cmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2Vy
Q3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV90eXBlLCBtX2NyZWRlbnRpYWxzLCBtX3J1
bnRpbWVGbGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRl
ZCgqY29udGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXIt
PnNjcmlwdCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggNTNmNWU2ZmZmMjdj
OWZhM2U1YzBlMDFmMGY2YzQyYzZjYjZmOWQwZS4uMzhhNjIzYTk4ZGJhMzVmZjgwMTNjZDZmYzhj
ODVjODEwMjA1MDIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC0yOSw5ICsyOSwxMSBA
QAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5j
bHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5o
IgogI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlw
dExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgpAQCAtNTUsNiArNTcsOCBAQCBjbGFzcyBXb3Jr
ZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3Qs
IHByaXZhdGUgV29yawogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV29ya2VyKTsKIHB1Ymxp
YzoKICAgICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAgICAgIFdvcmtlclR5cGUgdHlwZTsKKyAgICAg
ICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgICAgIFN0cmluZyBu
YW1lOwogICAgIH07CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgT3B0aW9ucyYpOwpAQCAtNzksNiArODMsOCBAQCBjbGFzcyBXb3JrZXIgZmlu
YWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZh
dGUgV29yawogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZv
aWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKICNlbmRpZgogCisgICAgV29ya2VyVHlw
ZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGlj
aXQgV29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29u
c3QgT3B0aW9ucyYpOwogCkBAIC0xMTIsNiArMTE4LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDog
cHVibGljIEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdv
cmsKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1l
cnM7CiAjZW5kaWYKKyAgICBXb3JrZXJUeXBlIG1fdHlwZSB7IFdvcmtlclR5cGU6OkNsYXNzaWMg
fTsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzIHsgRmV0Y2hSZXF1
ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4gfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCA0NWQ2YTA4Njc4NTRlZTQwNGRlN2U3
ZDAxMjQ4Y2ViZjQ0ZGNhN2VkLi43MDIxNzk2ZGY1MDRhZGY4ZTZiOTU4OWFjZTlmMTQ0ODIxZjI5
NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0zOCw2ICszOCw4IEBACiB9Owog
CiBkaWN0aW9uYXJ5IFdvcmtlck9wdGlvbnMgeworICAgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFz
c2ljIjsKKyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscyA9ICJzYW1lLW9y
aWdpbiI7IC8vIGNyZWRlbnRpYWxzIGlzIG9ubHkgdXNlZCBpZiB0eXBlIGlzICJtb2R1bGUiCiAg
ICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggZGJhYjM0OGU4MGM5ZGU1MGJkMjE1Nzc3YTE0YTM5
YTBmNzBlNDljNy4uY2NkZTkwOWM3Y2I1MmU5Nzc3NGM1YjgxNTgyM2ViY2JiYjA3MGYzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTc0LDYg
Kzc0LDggQEAgV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3BlKFdvcmtlclRocmVh
ZFR5cGUgdHlwZSwgY29uc3QgV29ya2VyUGFyYW1ldGUKICAgICAsIG1fcGVyZm9ybWFuY2UoUGVy
Zm9ybWFuY2U6OmNyZWF0ZSh0aGlzLCBwYXJhbXMudGltZU9yaWdpbikpCiAgICAgLCBtX3JlZmVy
cmVyUG9saWN5KHBhcmFtcy5yZWZlcnJlclBvbGljeSkKICAgICAsIG1fc2V0dGluZ3NWYWx1ZXMo
cGFyYW1zLnNldHRpbmdzVmFsdWVzKQorICAgICwgbV93b3JrZXJUeXBlKHBhcmFtcy53b3JrZXJU
eXBlKQorICAgICwgbV9jcmVkZW50aWFscyhwYXJhbXMuY3JlZGVudGlhbHMpCiB7CiAjaWYgIUVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uUHJveHkp
OwpAQCAtMjc0LDYgKzI3NiwxMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBXb3JrZXJHbG9iYWxTY29w
ZTo6aW1wb3J0U2NyaXB0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscykKIHsKICAgICBBU1NF
UlQoY29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogCisgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sI2ltcG9ydGluZy1zY3JpcHRzLWFuZC1s
aWJyYXJpZXMKKyAgICAvLyAxLiBJZiB3b3JrZXIgZ2xvYmFsIHNjb3BlJ3MgdHlwZSBpcyAibW9k
dWxlIiwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgIGlmIChtX3dvcmtlclR5cGUg
PT0gV29ya2VyVHlwZTo6TW9kdWxlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVy
cm9yLCAiaW1wb3J0U2NyaXB0cyBjYW5ub3QgYmUgdXNlZCBpZiB3b2Vya2VyIHR5cGUgaXMgXCJt
b2R1bGVcIiJfcyB9OworCiAgICAgVmVjdG9yPFVSTD4gY29tcGxldGVkVVJMczsKICAgICBjb21w
bGV0ZWRVUkxzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkodXJscy5zaXplKCkpOwogICAgIGZvciAo
YXV0byYgZW50cnkgOiB1cmxzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKaW5kZXggNDZkNDlkOTRjNTIzOGU0Njg4ZDM5NWQ4N2MyMDYzZWI1NzIwZDFiZi4u
NzQ3OTVmNWMwZjlhMmEzNWQwMDkzMDEyYWQxOGY1N2UzMTdmODI3MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMTIzLDYgKzEyMyw4IEBAIGNsYXNz
IFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFdvcmtlckdsb2JhbFNj
b3BlPiwgcHVibGljIEJhc2U2CiAKICAgICBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5n
c1ZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXM7IH0KIAorICAg
IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMoKSBjb25zdCB7IHJldHVybiBt
X2NyZWRlbnRpYWxzOyB9CisKIHByb3RlY3RlZDoKICAgICBXb3JrZXJHbG9iYWxTY29wZShXb3Jr
ZXJUaHJlYWRUeXBlLCBjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmLCBXb3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CiAKQEAgLTE2Myw4
ICsxNjUsNiBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJs
ZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNgogICAgIG11dGFibGUgUmVmUHRyPFdv
cmtlckxvY2F0aW9uPiBtX2xvY2F0aW9uOwogICAgIG11dGFibGUgUmVmUHRyPFdvcmtlck5hdmln
YXRvcj4gbV9uYXZpZ2F0b3I7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlcj4gbV9zY3JpcHQ7Ci0KICAgICBib29sIG1faXNPbmxpbmU7CiAgICAg
Ym9vbCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeTsKIApAQCAt
MTg3LDYgKzE4Nyw4IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1l
bnRhYmxlPFdvcmtlckdsb2JhbFNjb3BlPiwgcHVibGljIEJhc2U2CiAgICAgc3RkOjp1bmlxdWVf
cHRyPENTU1ZhbHVlUG9vbD4gbV9jc3NWYWx1ZVBvb2w7CiAgICAgUmVmZXJyZXJQb2xpY3kgbV9y
ZWZlcnJlclBvbGljeTsKICAgICBTZXR0aW5nczo6VmFsdWVzIG1fc2V0dGluZ3NWYWx1ZXM7Cisg
ICAgV29ya2VyVHlwZSBtX3dvcmtlclR5cGU7CisgICAgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFs
cyBtX2NyZWRlbnRpYWxzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAppbmRleCA0MDAwM2Mz
ZTAxMDk5OTYwZjY0Nzg2MWU3MDE2ODdkMGUzNzFkNzJkLi5lZDY3M2FjOGY3YzBlZTU0YzA2MGVj
YjU5MjE2MzkwZWQ3MGZlMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBXb3JrZXJHbG9iYWxT
Y29wZVByb3h5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV29ya2VyR2xvYmFsU2NvcGVQcm94eSYg
Y3JlYXRlKFdvcmtlciYpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2Nv
cGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
biwgUmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZl
dGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRz
JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1
bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDE5ZDRiZTY0
OTkyZjMwZDNjY2U3NjU0N2EzZDIyMThhOThjODQyYzMuLjc4ODM1ODdhN2FmNjIwOWUzZWNjOGU3
YjQxYmFkNDdhZGY2MjI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuY3BwCkBAIC03Myw3ICs3Myw3IEBAIFdvcmtlck1lc3NhZ2luZ1Byb3h5
Ojp+V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2VyR2xvYmFsU2Nv
cGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtlckdsb2JhbFNj
b3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQoKSA9PSAmVGhy
ZWFkOjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRX
b3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1l
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVm
ZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFn
cykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVy
UG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNy
ZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiB7CiAgICAgLy8gRklY
TUU6IFRoaXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5lc3RlZCB3b3Jr
ZXIgb25lIGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwpAQCAtODks
NyArODksNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNj
b3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0UHJvdmlkZXIq
IHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAotICAgIFdvcmtl
clBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJB
Z2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2luLCByZWZl
cnJlclBvbGljeSwgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSB9OworICAgIFdvcmtlclBhcmFt
ZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwg
aXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBv
bGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCkg
fTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHBhcmFt
cywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBkb2N1bWVudC50
b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3MpOwogCiAgICAg
d29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGM1YjU3NWI5ZTYxNWIzZjNmNTk2YmZj
M2RmNjgzYzg3N2NjNjJiYWIuLmQ5ZTgxZTE1N2EwZjQ4NTJlNDliNTlkMjU2NmE4YTgwZjVmODE4
YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgK
QEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgZmluYWwgOiBwdWJs
aWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V29ya2VyTWVzc2FnaW5nUHIKIHByaXZhdGU6CiAgICAg
Ly8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAgLy8gKE9u
bHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQuKQotICAg
IHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1l
RmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwm
IHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Ym9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBv
bGljeSwgV29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZs
YWdzKSBmaW5hbDsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2JhbFNjb3BlKCkgZmluYWw7
CiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNz
YWdlUG9ydHMmJikgZmluYWw7CiAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUo
RnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpIGZpbmFsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNw
cAppbmRleCAyMzg0YTVhOGM3ZDJhMzAyZWVlNWNiNDA1ZTEwNWUwMjVjOTg0M2NjLi5mNGY0YjI3
NDY2ZjlhMzBiMjhiOGIyMWY2ZjJiZWY4YmRlOTM4NTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtMjYsNiAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlLmgiCiAKKyNpbmNsdWRlICJTY3JpcHRNb2R1bGVMb2FkZXIuaCIKICNpbmNsdWRl
ICJXb3JrZXJFdmVudExvb3AuaCIKICNpbmNsdWRlICJXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIgpAQCAtMzks
NiArNDAsNyBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGUpOwogCiBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0
R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBSZWY8SlNDOjpWTT4mJiB2bSwgV29y
a2VyT3JXb3JrbGV0VGhyZWFkKiB0aHJlYWQpCiAgICAgOiBtX3NjcmlwdChtYWtlVW5pcXVlPFdv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+KHR5cGUsIFdURk1vdmUodm0pLCB0aGlzKSkK
KyAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhp
cywgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGU6Oldvcmtlck9yV29ya2xldCkpCiAgICAg
LCBtX3RocmVhZCh0aHJlYWQpCiAgICAgLCBtX2luc3BlY3RvckNvbnRyb2xsZXIobWFrZVVuaXF1
ZTxXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyPigqdGhpcykpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgKaW5kZXggNmMyNDRh
MGM0MjdlZTFjOGM2NWZkY2M3NjU5NTJmODc3ZmQ5YjE2Yi4uNTQ0ZjA0N2FlYzI3ODMyNzQ0ZDBh
OGE3MGFmN2U5MzljMzMwOTkyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAtMzIsNiArMzIsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBFdmVudExvb3BUYXNrR3JvdXA7CitjbGFzcyBTY3JpcHRNb2R1
bGVMb2FkZXI7CiBjbGFzcyBXb3JrZXJFdmVudExvb3A7CiBjbGFzcyBXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyOwogY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjsKQEAgLTU0
LDYgKzU1LDggQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KIAogICAgIHVuc2lnbmVkIGxvbmcg
Y3JlYXRlVW5pcXVlSWRlbnRpZmllcigpIHsgcmV0dXJuIG1fdW5pcXVlSWRlbnRpZmllcisrOyB9
CiAKKyAgICBTY3JpcHRNb2R1bGVMb2FkZXImIG1vZHVsZUxvYWRlcigpIHsgcmV0dXJuICptX21v
ZHVsZUxvYWRlcjsgfQorCiAgICAgLy8gU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KICAgICBFdmVu
dExvb3BUYXNrR3JvdXAmIGV2ZW50TG9vcCgpIGZpbmFsOwogICAgIGJvb2wgaXNDb250ZXh0VGhy
ZWFkKCkgY29uc3QgZmluYWw7CkBAIC04OCw2ICs5MSw3IEBAIGNsYXNzIFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHB1YmxpYyBSZWZD
b3VuCiAgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcj4gbV9zY3Jp
cHQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNjcmlwdE1vZHVsZUxvYWRlcj4gbV9tb2R1bGVMb2Fk
ZXI7CiAgICAgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiBtX3RocmVhZDsKICAgICBSZWZQdHI8V29y
a2VyRXZlbnRMb29wPiBtX2V2ZW50TG9vcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRMb29w
VGFza0dyb3VwPiBtX2RlZmF1bHRUYXNrR3JvdXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCBj
ZDRlYzI0NjgyNTI1YWFiYzY0MmQ4NzdhMGRhMDExZWJkZTExNDMxLi45MWE4YTg3OTQ1NmUwNjc2
MjI5YTg3MDhhODc1MDk5OTNhMmUyNDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM1LDE1
ICszNSwyMyBAQAogI2luY2x1ZGUgIkpTRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiSlNQYWludFdv
cmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oIgorI2luY2x1ZGUgIk1vZHVs
ZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNs
dWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyQ29uc29sZUNsaWVu
dC5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKICNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9Db21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRGVmZXJyZWRX
b3JrVGltZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9FeGNlcHRpb24uaD4KICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9FeGNlcHRpb25IZWxwZXJzLmg+CiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvR0NBY3Rpdml0eUNhbGxiYWNrLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SlNJbnRlcm5hbFByb21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0xvY2suaD4K
KyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU01vZHVsZVJlY29yZC5oPgorI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0pTTmF0aXZlU3RkRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9KU1NjcmlwdEZldGNoUGFyYW1ldGVycy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTU2NyaXB0RmV0Y2hlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZ0lubGlu
ZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjI4LDYgKzIzNiwyNDUgQEAgdm9pZCBX
b3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZShjb25zdCBTY3JpcHRTb3Vy
Y2VDb2RlJiBzb3VyY2VDb2QKICAgICB9CiB9CiAKK3N0YXRpYyBJZGVudGlmaWVyIGpzVmFsdWVU
b01vZHVsZUtleShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2
YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgcmV0dXJuIElkZW50
aWZpZXI6OmZyb21VaWQoanNDYXN0PFN5bWJvbCo+KHZhbHVlKS0+cHJpdmF0ZU5hbWUoKSk7Cisg
ICAgQVNTRVJUKHZhbHVlLmlzU3RyaW5nKCkpOworICAgIHJldHVybiBhc1N0cmluZyh2YWx1ZSkt
PnRvSWRlbnRpZmllcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsKK30KKworSlNDOjpKU1ZhbHVlIFdv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlTW9kdWxlKEpTQzo6SlNNb2R1
bGVSZWNvcmQmIG1vZHVsZVJlY29yZCkKK3sKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9n
bG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7
CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAgIHJldHVybiBtb2R1bGVSZWNvcmQu
ZXZhbHVhdGUoJmdsb2JhbE9iamVjdCk7Cit9CisKK01lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgV29y
a2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9ub3VzbHkoV29y
a2VyU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYg
c291cmNlQ29kZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkKKyAgICAgICAg
cmV0dXJuIE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQ7CisKKyAgICBpbml0U2NyaXB0SWZOZWVkZWQo
KTsKKworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQo
KTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9j
ayB7IHZtIH07CisKKyAgICBhdXRvIHByb3RlY3RvciA9IG1ha2VSZWYoc2NyaXB0RmV0Y2hlcik7
CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNFeGVjU3RhdGU6OmxvYWRNb2R1bGUo
Z2xvYmFsT2JqZWN0LCBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgpLCBKU0M6OkpTU2NyaXB0RmV0
Y2hlcjo6Y3JlYXRlKHZtLCB7ICZzY3JpcHRGZXRjaGVyIH0pKTsKKworICAgICAgICBhdXRvJiBm
dWxmaWxsSGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxP
YmplY3QsIDEsIFN0cmluZygpLCBbcHJvdGVjdG9yXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgLT4gSlNDOjpFbmNvZGVkSlNWYWx1ZSB7CisgICAg
ICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAgICAgICBKU0xvY2tI
b2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CisgICAgICAgICAgICBJZGVudGlmaWVyIG1vZHVsZUtleSA9IGpzVmFsdWVU
b01vZHVsZUtleShnbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+YXJndW1lbnQoMCkpOworICAgICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAgICAgIHByb3Rl
Y3Rvci0+bm90aWZ5TG9hZENvbXBsZXRlZCgqbW9kdWxlS2V5LmltcGwoKSk7CisgICAgICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsKKwor
ICAgICAgICBhdXRvJiByZWplY3RIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNyZWF0
ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFtwcm90ZWN0b3JdKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSB7CisgICAgICAgICAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAgICAgICBKU0xvY2tIb2xkZXIgbG9j
ayB7IHZtIH07CisgICAgICAgICAgICBKU1ZhbHVlIGVycm9yVmFsdWUgPSBjYWxsRnJhbWUtPmFy
Z3VtZW50KDApOworICAgICAgICAgICAgaWYgKGVycm9yVmFsdWUuaXNPYmplY3QoKSkgeworICAg
ICAgICAgICAgICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6YXNPYmplY3QoZXJyb3JWYWx1ZSk7Cisg
ICAgICAgICAgICAgICAgaWYgKEpTVmFsdWUgZmFpbHVyZUtpbmRWYWx1ZSA9IG9iamVjdC0+Z2V0
RGlyZWN0KHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSY+KCp2bS5jbGllbnREYXRhKS5i
dWlsdGluTmFtZXMoKS5mYWlsdXJlS2luZFByaXZhdGVOYW1lKCkpKSB7CisgICAgICAgICAgICAg
ICAgICAgIC8vIFRoaXMgaXMgaG9zdCBwcm9wYWdhdGVkIGVycm9yIGluIHRoZSBtb2R1bGUgbG9h
ZGVyIHBpcGVsaW5lLgorICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PE1v
ZHVsZUZldGNoRmFpbHVyZUtpbmQ+KGZhaWx1cmVLaW5kVmFsdWUuYXNJbnQzMigpKSkgeworICAg
ICAgICAgICAgICAgICAgICBjYXNlIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQ6
CisgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRGYWlsZWQoTG9h
ZGFibGVTY3JpcHQ6OkVycm9yIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2FkYWJs
ZVNjcmlwdDo6RXJyb3JUeXBlOjpDYWNoZWRTY3JpcHQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgV1RGOjpudWxsb3B0CisgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNlIE1vZHVsZUZl
dGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkOgorICAgICAgICAgICAgICAgICAgICAgICAgcHJv
dGVjdG9yLT5ub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09Q
RSh2bSk7CisgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVT
Y3JpcHQ6OkVycm9yIHsKKyAgICAgICAgICAgICAgICBMb2FkYWJsZVNjcmlwdDo6RXJyb3JUeXBl
OjpDYWNoZWRTY3JpcHQsCisgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkNvbnNvbGVN
ZXNzYWdlIHsKKyAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVNvdXJjZTo6SlMsCisgICAgICAg
ICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbDo6RXJyb3IsCisgICAgICAgICAgICAgICAgICAgIHJl
dHJpZXZlRXJyb3JNZXNzYWdlKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJvclZhbHVlLCBzY29wZSks
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsKKworICAgICAgICBw
cm9taXNlLnRoZW4oJmdsb2JhbE9iamVjdCwgJmZ1bGZpbGxIYW5kbGVyLCAmcmVqZWN0SGFuZGxl
cik7CisgICAgfQorICAgIG1fZ2xvYmFsU2NvcGUtPmV2ZW50TG9vcCgpLnBlcmZvcm1NaWNyb3Rh
c2tDaGVja3BvaW50KCk7CisKKyAgICAvLyBEcml2ZSBSdW5Mb29wIHVudGlsIHdlIGdldCBlaXRo
ZXIgb2YgIldvcmtlciBpcyB0ZXJtaW5hdGVkIiwgIkxvYWRpbmcgaXMgZG9uZSIsIG9yICJMb2Fk
aW5nIGlzIGZhaWxlZCIuCisgICAgV29ya2VyUnVuTG9vcCYgcnVuTG9vcCA9IG1fZ2xvYmFsU2Nv
cGUtPndvcmtlck9yV29ya2xldFRocmVhZCgpLT5ydW5Mb29wKCk7CisKKyAgICAvLyBXZSBkbyBu
b3Qgd2FudCB0byByZWNlaXZlIG1lc3NhZ2VzIHRoYXQgYXJlIG5vdCByZWxhdGVkIHRvIGFzeW5j
aHJvbm91cyByZXNvdXJjZSBsb2FkaW5nLgorICAgIC8vIE90aGVyd2lzZSwgYSB3b3JrZXIgZGlz
Y2FyZHMgc29tZSBtZXNzYWdlcyBmcm9tIHRoZSBtYWluIHRocmVhZCBoZXJlIGluIGEgcmFjeSB3
YXkuCisgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBtYWluIHRocmVhZCBjYW4gcG9zdE1lc3NhZ2Ug
anVzdCBhZnRlciBjcmVhdGluZyBhIFdvcmtlci4gSW4gdGhhdCBjYXNlLCBwb3N0TWVzc2FnZSdz
CisgICAgLy8gdGFzayBpcyBxdWV1ZWQgaW4gV29ya2VyUnVuTG9vcCBiZWZvcmUgc3RhcnQgcnVu
bmluZyBtb2R1bGUgc2NyaXB0cy4gVGhpcyB0YXNrIHNob3VsZCBub3QgYmUgZGlzY2FyZGVkCisg
ICAgLy8gaW4gdGhlIGZvbGxvd2luZyBkcml2aW5nIG9mIHRoZSBSdW5Mb29wIHdoaWNoIG1haW5s
eSBhdHRlbXB0IHRvIGNvbGxlY3QgaW5pdGlhbCBsb2FkIG9mIG1vZHVsZSBzY3JpcHRzLgorICAg
IFN0cmluZyB0YXNrTW9kZSA9ICJsb2FkTW9kdWxlc0luV29ya2VyT3JXb3JrbGV0TW9kZSJfczsK
KyAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9IE1lc3NhZ2VRdWV1ZU1lc3NhZ2VS
ZWNlaXZlZDsKKyAgICB3aGlsZSAoKCFwcm90ZWN0b3ItPmlzTG9hZGVkKCkgJiYgIXByb3RlY3Rv
ci0+d2FzQ2FuY2VsZWQoKSkgJiYgcmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpIHsK
KyAgICAgICAgcmVzdWx0ID0gcnVuTG9vcC5ydW5Jbk1vZGUobV9nbG9iYWxTY29wZSwgdGFza01v
ZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQpCisgICAg
ICAgICAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90YXNrQ2hlY2tw
b2ludCgpOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgV29ya2VyT3JX
b3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKFdvcmtlclNjcmlw
dEZldGNoZXImIHNjcmlwdEZldGNoZXIsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNv
ZGUsIFN0cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlKQoreworICAgIGlmIChpc0V4ZWN1
dGlvbkZvcmJpZGRlbigpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbml0U2NyaXB0SWZOZWVk
ZWQoKTsKKworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5n
ZXQoKTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIg
bG9jayB7IHZtIH07CisKKyAgICBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4gcmV0dXJuZWRFeGNl
cHRpb247CisgICAgSlNFeGVjU3RhdGU6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShnbG9iYWxPYmpl
Y3QsIElkZW50aWZpZXI6OmZyb21VaWQodm0sIHNjcmlwdEZldGNoZXIubW9kdWxlS2V5KCkpLCBq
c1VuZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgaWYgKChyZXR1cm5lZEV4Y2Vw
dGlvbiAmJiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0
aW9uKSkgfHwgaXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgIGZvcmJpZEV4ZWN1
dGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJldHVybmVkRXhjZXB0
aW9uKSB7CisgICAgICAgIGlmIChtX2dsb2JhbFNjb3BlLT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxz
KHNvdXJjZUNvZGUuY2FjaGVkU2NyaXB0KCksIHNvdXJjZUNvZGUudXJsKCkuc3RyaW5nKCkpKSB7
CisgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4g
YXJiaXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4K
KyAgICAgICAgICAgIC8vIERvIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQg
cHJvcGVybHksIGlmIGl0LCBzYXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAg
ICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAgKnJldHVy
bmVkRXhjZXB0aW9uTWVzc2FnZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3Ry
aW5nKCZnbG9iYWxPYmplY3QpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gT3Zl
cndyaXRlIHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAgICAgICAg
ICAgIFN0cmluZyBnZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNjcmlwdCBlcnJvci4iX3MgfTsKKyAg
ICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisgICAgICAgICAgICAgICAg
KnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNFcnJvck1lc3NhZ2U7CisgICAgICAg
IH0KKyAgICB9Cit9CisKK3ZvaWQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9h
ZEFuZEV2YWx1YXRlTW9kdWxlKGNvbnN0IFVSTCYgbW9kdWxlVVJMLCBGZXRjaE9wdGlvbnM6OkNy
ZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4
Y2VwdGlvbj4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKGlzRXhlY3V0aW9u
Rm9yYmlkZGVuKCkpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoRXhjZXB0aW9uIHsgTm90
QWxsb3dlZEVycm9yIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaW5pdFNjcmlw
dElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdy
YXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2Nr
SG9sZGVyIGxvY2sgeyB2bSB9OworCisgICAgYXV0byBzY3JpcHRGZXRjaGVyID0gV29ya2VyU2Ny
aXB0RmV0Y2hlcjo6Y3JlYXRlKGNyZWRlbnRpYWxzKTsKKyAgICB7CisgICAgICAgIGF1dG8mIHBy
b21pc2UgPSBKU0V4ZWNTdGF0ZTo6bG9hZE1vZHVsZShnbG9iYWxPYmplY3QsIG1vZHVsZVVSTC5z
dHJpbmcoKSwganNVbmRlZmluZWQoKSwgSlNDOjpKU1NjcmlwdEZldGNoZXI6OmNyZWF0ZSh2bSwg
eyBzY3JpcHRGZXRjaGVyLnB0cigpIH0pKTsKKworICAgICAgICBhdXRvIHRhc2sgPSBjcmVhdGVT
aGFyZWRUYXNrPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYmKT4oW2NvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJiBleGNl
cHRpb24pIG11dGFibGUgeworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShl
eGNlcHRpb24pKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgZnVsZmlsbEhhbmRsZXIg
PSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBTdHJp
bmcoKSwgW3Rhc2ssIHNjcmlwdEZldGNoZXJdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKSAtPiBKU0M6OkVuY29kZWRKU1ZhbHVlIHsKKyAgICAgICAg
ICAgIC8vIHRhc2stPnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9Owor
ICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAg
ICAgICAgICBJZGVudGlmaWVyIG1vZHVsZUtleSA9IGpzVmFsdWVUb01vZHVsZUtleShnbG9iYWxP
YmplY3QsIGNhbGxGcmFtZS0+YXJndW1lbnQoMCkpOworICAgICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXItPm5vdGlmeUxv
YWRDb21wbGV0ZWQoKm1vZHVsZUtleS5pbXBsKCkpOworCisgICAgICAgICAgICBhdXRvKiBjb250
ZXh0ID0gZG93bmNhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KGpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cisg
ICAgICAgICAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPnNjcmlwdCgpKSB7CisgICAgICAg
ICAgICAgICAgdGFzay0+cnVuKFdURjo6bnVsbG9wdCk7CisgICAgICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhjZXB0aW9uOworICAgICAg
ICAgICAgSlNFeGVjU3RhdGU6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZSgqZ2xvYmFsT2JqZWN0LCBt
b2R1bGVLZXksIGpzVW5kZWZpbmVkKCksIHJldHVybmVkRXhjZXB0aW9uKTsKKyAgICAgICAgICAg
IGlmICgocmV0dXJuZWRFeGNlcHRpb24gJiYgaXNUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9u
KHZtLCByZXR1cm5lZEV4Y2VwdGlvbikpIHx8IGNvbnRleHQtPnNjcmlwdCgpLT5pc1Rlcm1pbmF0
aW5nRXhlY3V0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoY29udGV4dC0+c2NyaXB0KCkp
CisgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnNjcmlwdCgpLT5mb3JiaWRFeGVjdXRpb24o
KTsKKyAgICAgICAgICAgICAgICB0YXNrLT5ydW4oV1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICBTdHJpbmcgbWVzc2FnZTsKKyAgICAgICAgICAgICAgICBpZiAoY29udGV4dC0+Y2FuSW5jbHVk
ZUVycm9yRGV0YWlscyhudWxscHRyLCBtb2R1bGVLZXkuc3RyaW5nKCkpKSB7CisgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBncmVhdCB0aGF0IHRoaXMgY2FuIHJ1biBhcmJp
dHJhcnkgY29kZSB0byBzdHJpbmctaWZ5IHRoZSB2YWx1ZSBvZiB0aGUgZXhjZXB0aW9uLgorICAg
ICAgICAgICAgICAgICAgICAvLyBEbyB3ZSBuZWVkIHRvIGRvIGFueXRoaW5nIHRvIGhhbmRsZSB0
aGF0IHByb3Blcmx5LCBpZiBpdCwgc2F5LCByYWlzZXMgYW5vdGhlciBleGNlcHRpb24/CisgICAg
ICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSByZXR1cm5lZEV4Y2VwdGlvbi0+dmFsdWUoKS50b1dU
RlN0cmluZyhnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgIC8vIE92ZXJ3cml0ZSB0aGUgZGV0YWlsZWQgZXJyb3Igd2l0aCBhIGdlbmVy
aWMgZXJyb3IuCisgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAiU2NyaXB0IGVycm9yLiJf
czsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY29udGV4dC0+cmVwb3J0RXhj
ZXB0aW9uKG1lc3NhZ2UsIHsgfSwgeyB9LCB7IH0sIHsgfSwgeyB9KTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgdGFzay0+cnVuKFdURjo6bnVsbG9wdCk7CisgICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsKKworICAgICAg
ICBhdXRvJiByZWplY3RIYW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNyZWF0ZSh2bSwg
Jmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFt0YXNrXShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgeworICAgICAgICAgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9Owor
ICAgICAgICAgICAgSlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsK
KyAgICAgICAgICAgIGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAgICAgICAgICAgICAg
ICBhdXRvKiBvYmplY3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOworICAgICAgICAgICAg
ICAgIGlmIChvYmplY3QtPmdldERpcmVjdCh2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEm
Pigqdm0uY2xpZW50RGF0YSkuYnVpbHRpbk5hbWVzKCkuZmFpbHVyZUtpbmRQcml2YXRlTmFtZSgp
KSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENI
X1NDT1BFKHZtKTsKKyAgICAgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSByZXRyaWV2
ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmplY3QsIHZtLCBvYmplY3QsIGNhdGNo
U2NvcGUpOworICAgICAgICAgICAgICAgICAgICB0YXNrLT5ydW4oRXhjZXB0aW9uIHsgQWJvcnRF
cnJvciwgbWVzc2FnZSB9KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
aWYgKG9iamVjdC0+aW5oZXJpdHM8RXJyb3JJbnN0YW5jZT4odm0pKSB7CisgICAgICAgICAgICAg
ICAgICAgIGF1dG8qIGVycm9yID0ganNDYXN0PEVycm9ySW5zdGFuY2UqPihvYmplY3QpOworICAg
ICAgICAgICAgICAgICAgICBzd2l0Y2ggKGVycm9yLT5lcnJvclR5cGUoKSkgeworICAgICAgICAg
ICAgICAgICAgICBjYXNlIEVycm9yVHlwZTo6VHlwZUVycm9yOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJvck1lc3NhZ2VX
aXRob3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3IsIGNhdGNoU2NvcGUpOworICAgICAg
ICAgICAgICAgICAgICAgICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgbWVzc2Fn
ZSB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNV
bmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
Y2FzZSBFcnJvclR5cGU6OlN5bnRheEVycm9yOiB7CisgICAgICAgICAgICAgICAgICAgICAgICBh
dXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJvck1lc3NhZ2VXaXRob3V0TmFt
ZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3IsIGNhdGNoU2NvcGUpOworICAgICAgICAgICAgICAg
ICAgICAgICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7IEpTU3ludGF4RXJyb3IsIG1lc3NhZ2UgfSk7
CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byBj
YXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICBTdHJpbmcg
bWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoKmdsb2JhbE9iamVjdCwg
dm0sIGVycm9yVmFsdWUsIGNhdGNoU2NvcGUpOworICAgICAgICAgICAgdGFzay0+cnVuKEV4Y2Vw
dGlvbiB7IEFib3J0RXJyb3IsIG1lc3NhZ2UgfSk7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9KTsKKworICAgICAgICBwcm9taXNl
LnRoZW4oJmdsb2JhbE9iamVjdCwgJmZ1bGZpbGxIYW5kbGVyLCAmcmVqZWN0SGFuZGxlcik7Cisg
ICAgfQorICAgIG1fZ2xvYmFsU2NvcGUtPmV2ZW50TG9vcCgpLnBlcmZvcm1NaWNyb3Rhc2tDaGVj
a3BvaW50KCk7Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIEpTR2xvYmFsU2NvcGVQcm90b3R5cGUs
IHR5cGVuYW1lIEpTR2xvYmFsU2NvcGUsIHR5cGVuYW1lIEdsb2JhbFNjb3BlPgogdm9pZCBXb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjppbml0U2NyaXB0V2l0aFN1YmNsYXNzKCkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyLmgKaW5kZXggYzQ5MzAxYWVkM2RkMDg5ZGE3OTczMjc2MGNhZjJmN2I2NGRi
MTFiNi4uOWYwMjNhNjJmODE0M2U3ZDk4MmZiZjdmNThlZWVhZGNhM2E1YjU2NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1J1
bkxvb3BUaW1lci5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xv
Y2suaD4KKyNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL05ha2Vk
UHRyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDQsOSArNDUsMTEgQEAgY2xhc3MgSlNHbG9i
YWxPYmplY3Q7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0
OworY2xhc3MgTG9hZGFibGVNb2R1bGVTY3JpcHQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwog
Y2xhc3MgV29ya2VyQ29uc29sZUNsaWVudDsKIGNsYXNzIFdvcmtlck9yV29ya2xldEdsb2JhbFNj
b3BlOworY2xhc3MgV29ya2VyU2NyaXB0RmV0Y2hlcjsKIAogY2xhc3MgV29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyT3JXb3Jr
bGV0U2NyaXB0Q29udHJvbGxlcik7CkBAIC05NCw2ICs5NywxMyBAQCBjbGFzcyBXb3JrZXJPcldv
cmtsZXRTY3JpcHRDb250cm9sbGVyIHsKICAgICB2b2lkIGV2YWx1YXRlKGNvbnN0IFNjcmlwdFNv
dXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOwog
ICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIE5ha2VkUHRyPEpTQzo6
RXhjZXB0aW9uPiYgcmV0dXJuZWRFeGNlcHRpb24sIFN0cmluZyogcmV0dXJuZWRFeGNlcHRpb25N
ZXNzYWdlID0gbnVsbHB0cik7CiAKKyAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGVNb2R1bGUoSlND
OjpKU01vZHVsZVJlY29yZCYpOworCisgICAgdm9pZCBsaW5rQW5kRXZhbHVhdGVNb2R1bGUoV29y
a2VyU2NyaXB0RmV0Y2hlciYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVy
bmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1
bHQgbG9hZE1vZHVsZVN5bmNocm9ub3VzbHkoV29ya2VyU2NyaXB0RmV0Y2hlciYsIGNvbnN0IFNj
cmlwdFNvdXJjZUNvZGUmKTsKKworICAgIHZvaWQgbG9hZEFuZEV2YWx1YXRlTW9kdWxlKGNvbnN0
IFVSTCYgbW9kdWxlVVJMLCBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYpOworCiBwcm90ZWN0ZWQ6CiAgICAg
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUqIGdsb2JhbFNjb3BlKCkgY29uc3QgeyByZXR1cm4g
bV9nbG9iYWxTY29wZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5jcHAKaW5kZXggM2E0ZGFlZmMzOTAyYmRiMmVhODRmYzU4ZDdlNDJmODNlNWYwN2Uy
Zi4uOWYzMWQwZGZkNTlhODcwN2ZkNGViNTljYzNjOTJhMDY2NDgxZGUxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMTA3LDcgKzEwNyw3
IEBAIE9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25v
dXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0CiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0K
IAotdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBz
Y3JpcHRSZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2
aWNlV29ya2Vyc01vZGUgc2VydmljZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVu
dCYgY2xpZW50KQordm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJl
cXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2Vt
ZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUgc2VydmljZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExv
YWRlckNsaWVudCYgY2xpZW50LCBTdHJpbmcmJiB0YXNrTW9kZSkKIHsKICAgICBtX2NsaWVudCA9
ICZjbGllbnQ7CiAgICAgbV91cmwgPSBzY3JpcHRSZXF1ZXN0LnVybCgpOwpAQCAtMTIzLDggKzEy
Myw2IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgQVNTRVJUKGZldGNoT3B0aW9ucy5t
b2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbiB8fCAoZmV0Y2hPcHRpb25zLmRl
c3RpbmF0aW9uICE9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNlcnZpY2V3b3JrZXIgJiYg
ZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uICE9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246Oldv
cmtlcikpOwogCiAgICAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgb3B0aW9ucyB7IFdURk1vdmUo
ZmV0Y2hPcHRpb25zKSB9OwotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYWRkIGFuIG9wdGlvbiB0
byBzZXQgY3JlZGVudGlhbCBtb2RlLgotICAgIG9wdGlvbnMuY3JlZGVudGlhbHMgPSBGZXRjaE9w
dGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luOwogICAgIG9wdGlvbnMuc2VuZExvYWRDYWxs
YmFja3MgPSBTZW5kQ2FsbGJhY2tQb2xpY3k6OlNlbmRDYWxsYmFja3M7CiAgICAgb3B0aW9ucy5j
b250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IGNvbnRlbnRTZWN1cml0eVBvbGljeUVu
Zm9yY2VtZW50OwogICAgIGlmIChmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbjo6U2VydmljZXdvcmtlcikKQEAgLTE0Myw3ICsxNDEsNyBAQCB2b2lk
IFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIHNjcmlwdEV4ZWN1dAogCiAgICAgLy8gRHVyaW5nIGNyZWF0ZSwgY2FsbGJhY2tzIG1h
eSBoYXBwZW4gd2hpY2ggcmVtb3ZlIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdC4K
ICAgICBSZWY8V29ya2VyU2NyaXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKLSAgICBt
X3RocmVhZGFibGVMb2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCwgKnRoaXMsIFdURk1vdmUoKnJlcXVlc3QpLCBvcHRpb25zKTsKKyAgICBtX3Ro
cmVhZGFibGVMb2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCwgKnRoaXMsIFdURk1vdmUoKnJlcXVlc3QpLCBvcHRpb25zLCB7IH0sIFdURk1vdmUo
dGFza01vZGUpKTsKIH0KIAogY29uc3QgVVJMJiBXb3JrZXJTY3JpcHRMb2FkZXI6OnJlc3BvbnNl
VVJMKCkgY29uc3QKQEAgLTE5MCw2ICsxODgsOCBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzbwog
ICAgIG1fY2VydGlmaWNhdGVJbmZvID0gcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCkgPyAqcmVz
cG9uc2UuY2VydGlmaWNhdGVJbmZvKCkgOiBDZXJ0aWZpY2F0ZUluZm8oKTsKICAgICBtX3Jlc3Bv
bnNlTUlNRVR5cGUgPSByZXNwb25zZS5taW1lVHlwZSgpOwogICAgIG1fcmVzcG9uc2VFbmNvZGlu
ZyA9IHJlc3BvbnNlLnRleHRFbmNvZGluZ05hbWUoKTsKKyAgICBtX3Jlc3BvbnNlU291cmNlID0g
cmVzcG9uc2Uuc291cmNlKCk7CisgICAgbV9pc1JlZGlyZWN0ZWQgPSByZXNwb25zZS5pc1JlZGly
ZWN0ZWQoKTsKICAgICBtX2NvbnRlbnRTZWN1cml0eVBvbGljeSA9IENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyB7IHJlc3BvbnNlIH07CiAgICAgbV9yZWZlcnJlclBvbGljeSA9
IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6UmVmZXJyZXJQb2xpY3kp
OwogICAgIGlmIChtX2NsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5oCmluZGV4IDdmZGQwYjNmNmEwMWMyZGI1NzcyNGE5MGIzYmI5ODQwZjFlNjhlNWYu
LmNmYTMxYTM1MzI1OWFlZWQxOThmOTM5MWZmYzE1MTFiNDA1MGI4NWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgIkZldGNoT3B0aW9ucy5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNs
dWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAj
aW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKICNpbmNsdWRlIDxtZW1vcnk+CkBAIC00Myw3ICs0NCw2IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEV4Y2VwdGlvbjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBj
bGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsK
IGNsYXNzIFdvcmtlclNjcmlwdExvYWRlckNsaWVudDsKQEAgLTU4LDcgKzU4LDcgQEAgY2xhc3Mg
V29ya2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVy
PiwgcHVibGljIFRocmVhZGEKICAgICB9CiAKICAgICBPcHRpb25hbDxFeGNlcHRpb24+IGxvYWRT
eW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBVUkwmLCBGZXRjaE9w
dGlvbnM6Ok1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUsIENvbnRlbnRTZWN1cml0eVBvbGljeUVu
Zm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpOwotICAgIHZvaWQg
bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVl
c3QmJiwgRmV0Y2hPcHRpb25zJiYsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBT
ZXJ2aWNlV29ya2Vyc01vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYpOworICAgIHZvaWQg
bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVl
c3QmJiwgRmV0Y2hPcHRpb25zJiYsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBT
ZXJ2aWNlV29ya2Vyc01vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYsIFN0cmluZyYmIHRh
c2tNb2RlKTsKIAogICAgIHZvaWQgbm90aWZ5RXJyb3IoKTsKIApAQCAtNjcsNiArNjcsOCBAQCBj
bGFzcyBXb3JrZXJTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJTY3JpcHRM
b2FkZXI+LCBwdWJsaWMgVGhyZWFkYQogICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3ko
KSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5OyB9CiAgICAgY29uc3QgVVJMJiB1cmwo
KSBjb25zdCB7IHJldHVybiBtX3VybDsgfQogICAgIGNvbnN0IFVSTCYgcmVzcG9uc2VVUkwoKSBj
b25zdDsKKyAgICBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2UgcmVzcG9uc2VTb3VyY2UoKSBjb25z
dCB7IHJldHVybiBtX3Jlc3BvbnNlU291cmNlOyB9CisgICAgYm9vbCBpc1JlZGlyZWN0ZWQoKSBj
b25zdCB7IHJldHVybiBtX2lzUmVkaXJlY3RlZDsgfQogICAgIGNvbnN0IENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0K
ICAgICBjb25zdCBTdHJpbmcmIHJlc3BvbnNlTUlNRVR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Jl
c3BvbnNlTUlNRVR5cGU7IH0KICAgICBib29sIGZhaWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmFp
bGVkOyB9CkBAIC0xMDcsNiArMTA5LDggQEAgY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGEKICAgICB1
bnNpZ25lZCBsb25nIG1faWRlbnRpZmllciB7IDAgfTsKICAgICBib29sIG1fZmFpbGVkIHsgZmFs
c2UgfTsKICAgICBib29sIG1fZmluaXNoaW5nIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNSZWRp
cmVjdGVkIHsgZmFsc2UgfTsKKyAgICBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2UgbV9yZXNwb25z
ZVNvdXJjZSB7IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6VW5rbm93biB9OwogICAgIFJlc291
cmNlRXJyb3IgbV9lcnJvcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmNwcAppbmRleCA3Mjc5MGEwMzMyMjYxOWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1NzgzLi42M2Vl
OGM4ZDM2ZjNiZDcyNDYzNTNjNWJkZjg0MTdkZDgxMDdjNGEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSAiU2VjdXJp
dHlPcmlnaW4uaCIKICNpbmNsdWRlICJTb2NrZXRQcm92aWRlci5oIgogI2luY2x1ZGUgIldvcmtl
ckdsb2JhbFNjb3BlLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTUsNiArNTcsOCBAQCBXb3JrZXJQ
YXJhbWV0ZXJzIFdvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgICAg
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgdGlt
ZU9yaWdpbiwKICAgICAgICAgcmVmZXJyZXJQb2xpY3ksCisgICAgICAgIHdvcmtlclR5cGUsCisg
ICAgICAgIGNyZWRlbnRpYWxzLAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHko
KQogICAgIH07CiB9CkBAIC0xMjMsOSArMTI3LDMxIEBAIGJvb2wgV29ya2VyVGhyZWFkOjpzaG91
bGRXYWl0Rm9yV2ViSW5zcGVjdG9yT25TdGFydHVwKCkgY29uc3QKIAogdm9pZCBXb3JrZXJUaHJl
YWQ6OmV2YWx1YXRlU2NyaXB0SWZOZWNlc3NhcnkoU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKQog
ewotICAgIGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2Rl
KG1fc3RhcnR1cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2Ny
aXB0VVJMKSksICZleGNlcHRpb25NZXNzYWdlKTsKLQotICAgIGZpbmlzaGVkRXZhbHVhdGluZ1Nj
cmlwdCgpOworICAgIC8vIFdlIGFyZSBjdXJyZW50bHkgaG9sZGluZyBvbmx5IHRoZSBpbml0aWFs
IHNjcmlwdCBjb2RlLiBJZiB0aGUgV29ya2VyVHlwZSBpcyBNb2R1bGUsIHdlIHNob3VsZCBmZXRj
aCB0aGUgZW50aXJlIGdyYXBoIGJlZm9yZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2YgdGhpcy4KKyAg
ICAvLyBXZSBpbnZva2UgbW9kdWxlIGxvYWRlciBhcyBpZiB3ZSBhcmUgZXhlY3V0aW5nIGlubGlu
ZSBtb2R1bGUgc2NyaXB0IHRhZyBpbiBEb2N1bWVudC4KKworICAgIGlmIChtX3N0YXJ0dXBEYXRh
LT5wYXJhbXMud29ya2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpDbGFzc2ljKSB7CisgICAgICAgIGds
b2JhbFNjb3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1
cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSks
ICZleGNlcHRpb25NZXNzYWdlKTsKKyAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gRklYTUUgZml4IGluaXRpYXRvciBuYW1lLgorICAg
ICAgICBTY3JpcHRTb3VyY2VDb2RlIHNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29k
ZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpLCB7IH0sIEpTQzo6U291cmNl
UHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUpOworICAgICAgICBhdXRvIHNjcmlwdEZldGNoZXIg
PSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpjcmVhdGUoZ2xvYmFsU2NvcGUoKS0+Y3JlZGVudGlhbHMo
KSk7CisgICAgICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgcmVzdWx0ID0gZ2xvYmFsU2NvcGUo
KS0+c2NyaXB0KCktPmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KHNjcmlwdEZldGNoZXIuZ2V0KCks
IHNvdXJjZUNvZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0
ZWQpIHsKKyAgICAgICAgICAgIGlmIChPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6RXJyb3I+IGVy
cm9yID0gc2NyaXB0RmV0Y2hlci0+ZXJyb3IoKSkgeworICAgICAgICAgICAgICAgIGlmIChPcHRp
b25hbDxMb2FkYWJsZVNjcmlwdDo6Q29uc29sZU1lc3NhZ2U+IG1lc3NhZ2UgPSBlcnJvci0+Y29u
c29sZU1lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UgPSBtZXNz
YWdlLT5tZXNzYWdlOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAg
ZXhjZXB0aW9uTWVzc2FnZSA9ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3M7
CisgICAgICAgICAgICAgICAgZ2xvYmFsU2NvcGUoKS0+cmVwb3J0RXhjZXB0aW9uKGV4Y2VwdGlv
bk1lc3NhZ2UsIHsgfSwgeyB9LCB7IH0sIHsgfSwgeyB9KTsKKyAgICAgICAgICAgIH0gZWxzZSBp
ZiAoIXNjcmlwdEZldGNoZXItPndhc0NhbmNlbGVkKCkpIHsKKyAgICAgICAgICAgICAgICAvLyBF
dmFsdWF0ZS4KKyAgICAgICAgICAgICAgICBnbG9iYWxTY29wZSgpLT5zY3JpcHQoKS0+bGlua0Fu
ZEV2YWx1YXRlTW9kdWxlKHNjcmlwdEZldGNoZXIuZ2V0KCksIHNvdXJjZUNvZGUsICZleGNlcHRp
b25NZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIAogICAgIC8vIEZyZWUgdGhlIHN0YXJ0
dXAgZGF0YSB0byBjYXVzZSBpdHMgbWVtYmVyIHZhcmlhYmxlIGRlcmVmJ3MgaGFwcGVuIG9uIHRo
ZSB3b3JrZXIncyB0aHJlYWQgKHNpbmNlCiAgICAgLy8gYWxsIHJlZi9kZXJlZnMgb2YgdGhlc2Ug
b2JqZWN0cyBhcmUgaGFwcGVuaW5nIG9uIHRoZSB0aHJlYWQgYXQgdGhpcyBwb2ludCkuIE5vdGUg
dGhhdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggODg5MDc5MDhlN2E5
YjgwOWU4ZjJhNGU0NzNkNzUyZDExZDI5MzdjMC4uOTUxMmVmZGIxOGYzMmE1MGVjYjdmYjU2OTU5
ZDYxZTg4NzJmYTFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0y
Niw3ICsyNiwxMCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFs
cy5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFRocmVhZC5oIgorI2luY2x1ZGUgIldvcmtl
clJ1bkxvb3AuaCIKKyNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9V
UkwuaD4KQEAgLTYzLDYgKzY2LDggQEAgc3RydWN0IFdvcmtlclBhcmFtZXRlcnMgewogICAgIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogICAgIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbjsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeTsK
KyAgICBXb3JrZXJUeXBlIHdvcmtlclR5cGU7CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMg
Y3JlZGVudGlhbHM7CiAgICAgU2V0dGluZ3M6OlZhbHVlcyBzZXR0aW5nc1ZhbHVlczsKIAogICAg
IFdvcmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVHlwZS5oCmluZGV4IDBiMGVkODYwZDljNzE0MjM4YTJhNWJiOWZkZjQzODQwMmQxNmVi
ZjAuLjFjMWJiOTQ0ODY3YWRmNGVkNTc4YTI4MTRmYTMzMjMyNmFlZDhhNTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVHlwZS5oCkBAIC0yNyw3ICsyNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotZW51bSBjbGFzcyBXb3JrZXJUeXBlIHsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6
IHVpbnQ4X3QgewogICAgIENsYXNzaWMsCiAgICAgTW9kdWxlLAogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCmlu
ZGV4IGViYmU5NWU4OTI0YzhmMWQ3Mzc1MjVkZWExNjMwYjFmYWQ1NmZiMjcuLjRjN2RkZjRhNGMx
MzFlMGRjZDZiYTA5NTA5YWIyZDk3NTc1ZjMwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApAQCAtNDcsNyAr
NDcsNyBAQCBjbGFzcyBOYXZpZ2F0b3JCYXNlOwogY2xhc3MgU2VydmljZVdvcmtlcjsKIAogZW51
bSBjbGFzcyBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgOiB1aW50OF90OwotZW51bSBjbGFz
cyBXb3JrZXJUeXBlOworZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogdWludDhfdDsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZVByb3h5OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKaW5kZXgg
ZWMzOWMwZjg0OWE1NGUxYjZkMGJlZTM0YThkN2QxOWNiYTQ1ZTI4OC4uZjk1MTBjYmY2ZmRmNzA0
NmY3ZDFiOTIyMzY5MTc0ZDAxZmEwYmUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAtMTEwLDcgKzExMCw4IEBAIHZv
aWQgU2VydmljZVdvcmtlckpvYjo6ZmV0Y2hTY3JpcHRXaXRoQ29udGV4dChTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBGCiAgICAgb3B0aW9ucy5jYWNoZSA9IGNhY2hlUG9saWN5Owog
ICAgIG9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpFcnJvcjsKICAg
ICBvcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2Vydmlj
ZXdvcmtlcjsKLSAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQs
IFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucyksIENvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UsIFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSwgKnRo
aXMpOworICAgIG9wdGlvbnMuY3JlZGVudGlhbHMgPSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxz
OjpTYW1lT3JpZ2luOworICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29u
dGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSwgQ29udGVudFNlY3VyaXR5
UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSwgU2VydmljZVdvcmtlcnNNb2RlOjpOb25l
LCAqdGhpcywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CiB9CiAKIFJlc291cmNlRXJy
b3IgU2VydmljZVdvcmtlckpvYjo6dmFsaWRhdGVTZXJ2aWNlV29ya2VyUmVzcG9uc2UoY29uc3Qg
U2VydmljZVdvcmtlckpvYkRhdGEmIGpvYkRhdGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaAppbmRleCA5ZDUwMGY4NWFj
YjE4ODQxY2M1NWJlYTgyMTFkYjE0ZmFkYzk3NDc1Li4yZTM1NTdmYTdkZjY3ZjFiZjk4YzdiN2E1
ZGU0YjBhNWE3YmNjY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaApAQCAt
MzIsNyArMzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIFNlcnZpY2VX
b3JrZXJVcGRhdGVWaWFDYWNoZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7Citl
bnVtIGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90OwogCiBzdHJ1Y3QgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbk9wdGlvbnMgewogICAgIFN0cmluZyBzY29wZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRo
cmVhZC5jcHAKaW5kZXggYzhhN2E5OTcyZjljYzhjMTZhNzk2NzUxMTU1MmY1NDkzYTY4NmY5OC4u
MzNjYTBlYzIzYjU4YTU1MTE4NzY4NDZiYTA3MTgzNTMyYjVjNDdkNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdv
cmtlclRocmVhZC5jcHAKQEAgLTczLDggKzczLDkgQEAgY2xhc3MgRHVtbXlTZXJ2aWNlV29ya2Vy
VGhyZWFkUHJveHkgOiBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHkgewogLy8gRklYTUU6IFVzZSBh
IHZhbGlkIFdvcmtlck9iamVjdFByb3h5CiAvLyBGSVhNRTogVXNlIHZhbGlkIHJ1bnRpbWUgZmxh
Z3MKIAorLy8gRklYTUU6IFVzZSBhIHZhbGlkIFdvcmtlclR5cGUgYW5kIENyZWRlbnRhaWxzIGZv
ciBtb2R1bGUgc2VydmljZSB3b3JrZXJzLgogU2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdv
cmtlclRocmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIFN0cmluZyYm
IHVzZXJBZ2VudCwgY29uc3QgU2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMsIFdvcmtl
ckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdnZXJQ
cm94eSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwg
U29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKHsgZGF0
YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6
OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2Vu
dCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBk
YXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6Om5vdygpLCB7
IH0sIHNldHRpbmdzVmFsdWVzIH0sIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQ
cm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJl
YWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdpbigpLnNl
Y3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIs
IEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpCisgICAgOiBXb3JrZXJUaHJl
YWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3b3JrZXI6IiArIElu
c3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1vdmUo
dXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25M
aW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgTW9ub3RvbmljVGltZTo6
bm93KCksIHsgfSwgV29ya2VyVHlwZTo6Q2xhc3NpYywgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6
OlNhbWVPcmlnaW4sIHNldHRpbmdzVmFsdWVzIH0sIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwg
ZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBX
b3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9y
aWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0
UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpCiAgICAgLCBt
X2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fd29ya2VyT2JqZWN0UHJveHkoRHVt
bXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpKQogICAgICwgbV9oZWFydEJlYXRU
aW1lb3V0KFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rpb24oKS0+c2hvdWxk
VXNlU2hvcnRUaW1lb3V0KCkgPyBoZWFydEJlYXRUaW1lb3V0Rm9yVGVzdCA6IGhlYXJ0QmVhdFRp
bWVvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyV29ya2VyLmgKaW5kZXggMmRkZGIzYjViNDFlZDg3YmQ2MTRhMGI5NGQwOWI3NjEy
OTNkNzYwNy4uMzc4ZmJhNjU3ZThiYmY0ODQxZTU2Y2JmODY1NjFmOGVjYzMxMTAyMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJX
b3JrZXIuaApAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudElkZW50
aWZpZXI7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9uczsKIHN0cnVjdCBT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGE7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVu
dGlmaWVyOwotZW51bSBjbGFzcyBXb3JrZXJUeXBlOworZW51bSBjbGFzcyBXb3JrZXJUeXBlIDog
dWludDhfdDsKIAogY2xhc3MgU1dTZXJ2ZXJXb3JrZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxTV1Nl
cnZlcldvcmtlcj4gewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2xl
dHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmts
ZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggZDcwNDg4NjY0OGMwZWZhYTZiNzgwODRjNTM4NzIwMWNh
MmIxYzU0My4uMmFlMGUzMzg5MWRiYzg5ZjE0Njg3ZDQxNDgwMmFhYTEyZDBkODRmZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0xNTgs
NzIgKzE1OCw3IEBAIFJlZmVycmVyUG9saWN5IFdvcmtsZXRHbG9iYWxTY29wZTo6cmVmZXJyZXJQ
b2xpY3koKSBjb25zdAogdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OmZldGNoQW5kSW52b2tlU2Ny
aXB0KGNvbnN0IFVSTCYgbW9kdWxlVVJMLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50
aWFscywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxFeGNlcHRpb24+JiYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwotICAgIG1f
c2NyaXB0RmV0Y2hKb2JzLmFwcGVuZCh7IG1vZHVsZVVSTCwgY3JlZGVudGlhbHMsIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpIH0pOwotICAgIHByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5l
ZWRlZCgpOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6cHJvY2Vzc05leHRTY3JpcHRG
ZXRjaEpvYklmTmVlZGVkKCkKLXsKLSAgICBpZiAobV9zY3JpcHRGZXRjaEpvYnMuaXNFbXB0eSgp
IHx8IG1fc2NyaXB0TG9hZGVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRvJiBzY3JpcHRG
ZXRjaEpvYiA9IG1fc2NyaXB0RmV0Y2hKb2JzLmZpcnN0KCk7Ci0KLSAgICBSZXNvdXJjZVJlcXVl
c3QgcmVxdWVzdCB7IHNjcmlwdEZldGNoSm9iLm1vZHVsZVVSTCB9OwotCi0gICAgRmV0Y2hPcHRp
b25zIGZldGNoT3B0aW9uczsKLSAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6
TW9kZTo6Q29yczsKLSAgICBmZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9wdGlvbnM6OkNhY2hl
OjpEZWZhdWx0OwotICAgIGZldGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6UmVk
aXJlY3Q6OkZvbGxvdzsKLSAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSBzY3JpcHRGZXRj
aEpvYi5jcmVkZW50aWFsczsKLSNpZiBFTkFCTEUoV0VCX0FVRElPKQotICAgIGlmIChpc0F1ZGlv
V29ya2xldEdsb2JhbFNjb3BlKCkpCi0gICAgICAgIGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiA9
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkF1ZGlvd29ya2xldDsKLSNlbmRpZgotI2lmIEVO
QUJMRShDU1NfUEFJTlRJTkdfQVBJKQotICAgIGlmIChpc1BhaW50V29ya2xldEdsb2JhbFNjb3Bl
KCkpCi0gICAgICAgIGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiA9IEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OlBhaW50d29ya2xldDsKLSNlbmRpZgotCi0gICAgYXV0byBjb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudCA9IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3Jj
ZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ2hpbGRTcmNEaXJl
Y3RpdmU7Ci0KLSAgICBtX3NjcmlwdExvYWRlciA9IFdvcmtlclNjcmlwdExvYWRlcjo6Y3JlYXRl
KCk7Ci0gICAgbV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseSgqdGhpcywgV1RGTW92
ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzKTsKLX0KLQotdm9pZCBX
b3JrbGV0R2xvYmFsU2NvcGU6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJikKLXsKLX0KLQotdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6Om5v
dGlmeUZpbmlzaGVkKCkKLXsKLSAgICBhdXRvIGNvbXBsZXRlZEpvYiA9IG1fc2NyaXB0RmV0Y2hK
b2JzLnRha2VGaXJzdCgpOwotCi0gICAgaWYgKG1fc2NyaXB0TG9hZGVyLT5mYWlsZWQoKSkgewot
ICAgICAgICBkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKFdURk1vdmUoY29tcGxldGVkSm9iKSwg
RXhjZXB0aW9uIHsgQWJvcnRFcnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHRvIGZldGNoIG1vZHVs
ZSwgZXJyb3I6ICIsIG1fc2NyaXB0TG9hZGVyLT5lcnJvcigpLmxvY2FsaXplZERlc2NyaXB0aW9u
KCkpIH0pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gRklYTUU6IFRoaXMgc2hv
dWxkIHJlYWxseSBiZSBydW4gYXMgYSBtb2R1bGUgc2NyaXB0IGJ1dCB3ZSBkb24ndCBzdXBwb3J0
IHRoaXMgaW4gd29ya2VycyB5ZXQuCi0gICAgVVJMIG1vZHVsZVVSTChtX3NjcmlwdExvYWRlci0+
cmVzcG9uc2VVUkwoKSk7Ci0gICAgYXV0byBhZGRSZXN1bHQgPSBtX2V2YWx1YXRlZE1vZHVsZXMu
YWRkKG1vZHVsZVVSTCk7Ci0gICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5KSB7Ci0gICAgICAg
IE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiBleGNlcHRpb247Ci0gICAgICAgIHNjcmlwdCgpLT5l
dmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgV1RGTW92
ZShtb2R1bGVVUkwpKSwgZXhjZXB0aW9uKTsKLSAgICAgICAgaWYgKGV4Y2VwdGlvbikKLSAgICAg
ICAgICAgIHNjcmlwdCgpLT5zZXRFeGNlcHRpb24oZXhjZXB0aW9uKTsKLSAgICB9Ci0KLSAgICBk
aWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKFdURk1vdmUoY29tcGxldGVkSm9iKSwgeyB9KTsKLX0K
LQotdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OmRpZENvbXBsZXRlU2NyaXB0RmV0Y2hKb2IoU2Ny
aXB0RmV0Y2hKb2ImJiBqb2IsIE9wdGlvbmFsPEV4Y2VwdGlvbj4gcmVzdWx0KQotewotICAgIG1f
c2NyaXB0TG9hZGVyID0gbnVsbHB0cjsKLQotICAgIGpvYi5jb21wbGV0aW9uSGFuZGxlcihXVEZN
b3ZlKHJlc3VsdCkpOwotCi0gICAgcHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKCk7
CisgICAgc2NyaXB0KCktPmxvYWRBbmRFdmFsdWF0ZU1vZHVsZShtb2R1bGVVUkwsIGNyZWRlbnRp
YWxzLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIE1lc3NhZ2VQb3J0Q2hhbm5l
bFByb3ZpZGVyJiBXb3JrbGV0R2xvYmFsU2NvcGU6Om1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVy
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29w
ZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKaW5kZXgg
ZjIzMjBmMGQxMzAyNWNlYWIzYmFjNTZhNDVlYzJkMWRkM2ZiNmNjMC4uZmU1NGI4NTMyNTY3OTI1
ODNkZWRhMDU1YTQzM2EyNTY1NGU4Njc1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMv
V29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJTY3JpcHRT
b3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIKICNp
bmNsdWRlICJXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiV29y
a2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29uc29s
ZU1lc3NhZ2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNp
bmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KQEAgLTU0LDcgKzUzLDcgQEAgc3RydWN0
IFdvcmtsZXRQYXJhbWV0ZXJzOwogZW51bSBXb3JrbGV0R2xvYmFsU2NvcGVJZGVudGlmaWVyVHlw
ZSB7IH07CiB1c2luZyBXb3JrbGV0R2xvYmFsU2NvcGVJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRp
ZmllcjxXb3JrbGV0R2xvYmFsU2NvcGVJZGVudGlmaWVyVHlwZT47CiAKLWNsYXNzIFdvcmtsZXRH
bG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSwgcHVibGljIFdv
cmtlclNjcmlwdExvYWRlckNsaWVudCB7CitjbGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJs
aWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoV29ya2xldEdsb2JhbFNjb3BlKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Xb3JrbGV0R2xv
YmFsU2NvcGUoKTsKQEAgLTExMSwxMCArMTEwLDYgQEAgY2xhc3MgV29ya2xldEdsb2JhbFNjb3Bl
IDogcHVibGljIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyU2NyaXAK
ICAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCwgdW5zaWduZWQsIFJlZlB0cjxJbnNwZWN0
b3I6OlNjcmlwdENhbGxTdGFjaz4mJiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIHVuc2lnbmVkIGxv
bmcpIGZpbmFsOwogICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBsb25nKSBmaW5hbDsKIAotICAgIC8v
IFdvcmtlclNjcmlwdExvYWRlckNsaWVudC4KLSAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBmaW5hbDsK
LSAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKCkgZmluYWw7Ci0KICAgICBFdmVudFRhcmdldCogZXJy
b3JFdmVudFRhcmdldCgpIGZpbmFsIHsgcmV0dXJuIHRoaXM7IH0KIAogI2lmIEVOQUJMRShXRUJf
Q1JZUFRPKQpAQCAtMTI1LDE1ICsxMjAsNiBAQCBjbGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUgOiBw
dWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJTY3JpcAogICAg
IFN0cmluZyB1c2VyQWdlbnQoY29uc3QgVVJMJikgY29uc3QgZmluYWw7CiAgICAgY29uc3QgU2V0
dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Nl
dHRpbmdzVmFsdWVzOyB9CiAKLSAgICBzdHJ1Y3QgU2NyaXB0RmV0Y2hKb2IgewotICAgICAgICBV
UkwgbW9kdWxlVVJMOwotICAgICAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFs
czsKLSAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxFeGNlcHRpb24+JiYp
PiBjb21wbGV0aW9uSGFuZGxlcjsKLSAgICB9OwotCi0gICAgdm9pZCBwcm9jZXNzTmV4dFNjcmlw
dEZldGNoSm9iSWZOZWVkZWQoKTsKLSAgICB2b2lkIGRpZENvbXBsZXRlU2NyaXB0RmV0Y2hKb2Io
U2NyaXB0RmV0Y2hKb2ImJiwgT3B0aW9uYWw8RXhjZXB0aW9uPik7Ci0KICAgICBXZWFrUHRyPERv
Y3VtZW50PiBtX2RvY3VtZW50OwogCiAgICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBtX3RvcE9yaWdp
bjsKQEAgLTE0NCw5ICsxMzAsNiBAQCBjbGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMg
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJTY3JpcAogCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdvcmtlck1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyPiBtX21lc3NhZ2VQ
b3J0Q2hhbm5lbFByb3ZpZGVyOwogCi0gICAgUmVmUHRyPFdvcmtlclNjcmlwdExvYWRlcj4gbV9z
Y3JpcHRMb2FkZXI7Ci0gICAgRGVxdWU8U2NyaXB0RmV0Y2hKb2I+IG1fc2NyaXB0RmV0Y2hKb2Jz
OwotICAgIEhhc2hTZXQ8VVJMPiBtX2V2YWx1YXRlZE1vZHVsZXM7CiAgICAgU2V0dGluZ3M6OlZh
bHVlcyBtX3NldHRpbmdzVmFsdWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI2MjBhOTZlNmViNzIzY2ZjNTk0
NjlkZTNhOTI3YTMzZGRiOWY4N2IuLjE5ZDczMzU2YTk2ZDc3NmM2NTM3MGRiMGM2M2JhNjU3ODk2
OWRmZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wMi0xNyAgWXVzdWtlIFN1enVraSAg
PHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc3VicmVzb3VyY2UtaW50ZWdyaXR5L3NyaS1tb2R1bGUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvd29ya2xldC1hZGRNb2R1bGUtZmFpbHVyZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViYXVkaW8vd29ya2xldC1jcmFzaC1leHBlY3RlZC50
eHQ6CisKIDIwMjEtMDItMTYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgRXZlbnRIYW5kbGVyOjp1cGRhdGVTZWxlY3Rpb25Gb3JNb3VzZURvd25EaXNwYXRjaGlu
Z1NlbGVjdFN0YXJ0IHNob3VsZCBub3QgdXNlIGFuIG9ycGhhbmVkIHNlbGVjdGlvbgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYzEzMzI5NDVlZDgxYjM3MjQyMGQxYTcyZjA2NjU5
MjIyOWM4MGMwMS4uYTczYjk3ZjM2YmU5NTFkNDM1NWZiODgwN2JiMGNkN2EyMDhmZGRhZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMjEtMDItMTcg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBKUyBNb2R1bGVz
IGluIFdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2NDg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRlbnRhdGl2ZS5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1h
ZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2Vy
LWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5
bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0x
LXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlv
bi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVsZXdv
cmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
YmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9k
dWxld29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmln
aW4tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2lu
dGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2Vy
R2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1jc3AtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1t
ZXRhLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJl
ZmVycmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJv
cGVydHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0
cy9hdWRpby13b3JrbGV0LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0cHMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13
b3JrbGV0LWltcG9ydC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtcmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJlY3RlZC13
b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wMi0xNiAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFSZWNvcmRlci5zdG9wKCkgZG9lcyBu
b3Qgd29yayBjb3JyZWN0bHkgd2hlbiByZWNvcmRpbmcgaGFzIGJlZW4gcGF1c2VkLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggYjEwYmU4NjM5MGVkY2U2OThjZGMzZWNiMjlmZjFmOWJiMjNmNjdiYi4u
M2VhMmNiNzZlOGNhNzk1MWNjNjMxZDc1MmU3Y2EwMmMwZWU4MzE3ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCkBAIC02NDAsNyArNjQwLDYgQEAgZmFzdC9kb20vY29ubmVjdGVkLXN1YmZyYW1lLWNvdW50
ZXItb3ZlcmZsb3cuaHRtbCBbIFNsb3cgXQogWyBEZWJ1ZyBdIGh0dHAvdGVzdHMvd29ya2Vycy93
b3JrZXItbWVzc2FnZXBvcnQtMi5odG1sIFsgU2xvdyBdCiAKICMgU2tpcCB3b3JrZXJzIHRlc3Rz
IHRoYXQgYXJlIHRpbWluZyBvdXQgb3IgYXJlIFNoYXJlZFdvcmtlciByZWxhdGVkIG9ubHkKLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2Vy
L3NhbWUtb3JpZ2luLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9kYXRhLXVybC1zaGFyZWQuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2V4YW1wbGVzL29uY29ubmVjdC5hbnkuaHRtbCBbIFNr
aXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2V4YW1wbGVzL29u
Y29ubmVjdC5hbnkud29ya2VyLmh0bWwgWyBTa2lwIF0KQEAgLTY2Myw3ICs2NjIsNiBAQCBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyLXJlcGxhY2Ut
RXZlbnRIYW5kbGVyLmFueS5odAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL1NoYXJlZFdvcmtlci1yZXBsYWNlLUV2ZW50SGFuZGxlci5hbnkud29ya2VyLmh0bWwgWyBT
a2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9TaGFyZWRXb3Jr
ZXItc2NyaXB0LWVycm9yLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9TaGFyZWRXb3JrZXItc2ltcGxlLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LXJlZmVycmVyLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy1jcmVkZW50aWFs
cy5odG1sIFsgU2tpcCBdCiAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvbW9kdWxl
LXNjcmlwdG5vbmNlLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2Ut
cmVkaXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4IDUwOTkxOWY3YmZkOGNmOTRjNWQzMzQ3Zjg3YTY0
NGQxNTg4NDU5MjEuLmUxNzJkZTRkMDRlMmE1NzQ3Yzc3ZjIyMjI0ZmQ0NWFjMDUyNTA1ZjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMiBA
QAogQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlzIG5vdCBh
bGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KLUNPTlNPTEUgTUVTU0FHRTog
VHlwZUVycm9yOiBDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdp
biBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4KIFRoaXMgdGVzdHMgd2hldGhlciBhIGRlZmVycmVk
IHNjcmlwdCBsb2FkIGNhdXNlZCBieSBhIHJlZGlyZWN0IGlzIHByb3Blcmx5IGFsbG93ZWQgYnkg
YSBub25jZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3VicmVzb3VyY2Ut
aW50ZWdyaXR5L3NyaS1tb2R1bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXggYTAx
ZDlmMDcyNmZmOTdjNTI1YTUwNDUwNzZiYWU1MTRjODJlZTJlYS4uOTBhMjkxZWI4MjllZTk4YTc5
OGVjMzc0ODUxODRlYTBlOTVhY2M4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBl
Y3RlZC50eHQKQEAgLTMsNyArMyw2IEBAIENPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBDYW5u
b3QgbG9hZCBzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N1YnJlc291cmNlCiBDT05TT0xF
IE1FU1NBR0U6IFR5cGVFcnJvcjogQ2Fubm90IGxvYWQgc2NyaXB0IGh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvcmVzb3VyY2VzL2Nyb3Nzb3JpZ2luLWFub24tc2Ny
aXB0LW1vZHVsZS5qcy4gRmFpbGVkIGludGVncml0eSBtZXRhZGF0YSBjaGVjay4gQ29udGVudCBs
ZW5ndGg6IDM3LCBFeHBlY3RlZCBjb250ZW50IGxlbmd0aDogMzcsIEV4cGVjdGVkIG1ldGFkYXRh
OiBzaGEyNTYtZGVhZGJlZWZjU0xsYkZaQ2oxT0FDTHhUeFZjazJUT3JCVEVkVWJ3ejF5VT0KIENP
TlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBDYW5ub3QgbG9hZCBzY3JpcHQgaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3N1YnJlc291cmNlLWludGVncml0eS9yZXNvdXJjZXMvY3Jvc3NvcmlnaW4tY3Jl
ZHMtc2NyaXB0LW1vZHVsZS5qcy4gRmFpbGVkIGludGVncml0eSBtZXRhZGF0YSBjaGVjay4gQ29u
dGVudCBsZW5ndGg6IDM4LCBFeHBlY3RlZCBjb250ZW50IGxlbmd0aDogMzgsIEV4cGVjdGVkIG1l
dGFkYXRhOiBzaGEyNTYtZGVhZGJlZWYyUytwVFJaZ2l3M0RXcmhDNkpMRGx0MnpSeUdwd0g3dW5V
OD0KIENPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3Qg
YWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCi1DT05TT0xFIE1FU1NBR0U6
IFR5cGVFcnJvcjogQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1Pcmln
aW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuCiBDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjog
Q2Fubm90IGxvYWQgc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zdWJyZXNvdXJjZS1pbnRl
Z3JpdHkvcmVzb3VyY2VzL21hdGNoaW5nLWRpZ2VzdC1tb2R1bGUuanMuIEZhaWxlZCBpbnRlZ3Jp
dHkgbWV0YWRhdGEgY2hlY2suIENvbnRlbnQgbGVuZ3RoOiAyOSwgRXhwZWN0ZWQgY29udGVudCBs
ZW5ndGg6IDI5LCBFeHBlY3RlZCBtZXRhZGF0YTogc2hhMjU2LWNXaDluUGZtN19tUmJLaHphcm5S
WWxzSld6NVhUTmNzcVBGektFeCt6U1U9CiBDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogQ2Fu
bm90IGxvYWQgc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zdWJyZXNvdXJjZS1pbnRlZ3Jp
dHkvcmVzb3VyY2VzL21hdGNoaW5nLWRpZ2VzdC1tb2R1bGUuanMuIEZhaWxlZCBpbnRlZ3JpdHkg
bWV0YWRhdGEgY2hlY2suIENvbnRlbnQgbGVuZ3RoOiAyOSwgRXhwZWN0ZWQgY29udGVudCBsZW5n
dGg6IDI5LCBFeHBlY3RlZCBtZXRhZGF0YTogc2hhMjU2LVU5V1lEdEJXa2NIeDEzKzlVS2svM1E1
ZW9xRGM0WUd4WWIwN0VQV3piOWU9P2Zvbz1iYXI/c3BhbT1lZ2dzCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVu
dGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggNDkyNjliM2I1MGI5MTc1Y2I2MmVjYTMxMmU1ODZiM2IxNjYyYTI1OS4u
MmNhZTVmN2UzNWEzMmZlY2ViMjY4ZjI5MDAwMGU0ZTU1NTZjNjg2MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50
YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKLUZBSUwgTm9uLW9iamVjdDogbnVsbCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjog
Q291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL251bGwuanNvbicuIgotRkFJTCBOb24tb2Jq
ZWN0OiB0cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vdHJ1ZS5qc29uJy4i
Ci1GQUlMIE5vbi1vYmplY3Q6IGZhbHNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUg
Jy4vZmFsc2UuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBzdHJpbmcgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBp
bXBvcnQgdGhlIG1vZHVsZSAnLi9zdHJpbmcuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBhcnJh
eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJF
cnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2FycmF5Lmpzb24nLiIKK0ZBSUwg
Tm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxp
ZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHRydWUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAn
YXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgor
RkFJTCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3Qg
YSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHN0cmluZyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUg
dHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24n
IGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVy
LXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3Jr
ZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVl
OGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uZjY4Y2M3M2I0ZDY3NGM1NGRmYWZlNTIy
MTJiNjQzYzQwMzBmZDQyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVs
ZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJy
b3ItbW9kdWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJv
ci1tb2R1bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1IYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBQcm9taXNlIHJlc29sdmVkIGR1cmluZyAj
cmVwb3J0LXRoZS1lcnJvciBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhw
ZWN0ZWQgYXJyYXkgWyJoYW5kbGVyIDEiLCAiaGFuZGxlciAyIiwgImhhbmRsZXIgMSBwcm9taXNl
IiwgImhhbmRsZXIgMiBwcm9taXNlIl0gbGVuZ3RoIDQsIGdvdCBbXSBsZW5ndGggMAorUEFTUyBQ
cm9taXNlIHJlc29sdmVkIGR1cmluZyBldmVudCBoYW5kbGVycyBvdGhlciB0aGFuIGVycm9yCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5h
bWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBv
cnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0CmluZGV4
IDUxZDYxMDBlNjEyMmE5N2MzNjRiM2NlYjFkN2ZkMDdlMGUxNTYxMTcuLmE4MDUwYzA3OGNmOGI4
OGQ1NjhhZmZlMGQ1NWNjMzE5MGMzNjU0N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3Jr
ZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1p
bXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBSZWxhdGl2
ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90
IGltcG9ydCB0aGUgbW9kdWxlICcuL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9cmVsYXRpdmUtY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlw
dHMoKScuIgotRkFJTCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNj
cmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3LjAuMC4x
Ojg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRy
b2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLWNyb3NzLW9yaWdpbiBpbXBvcnRTY3Jp
cHRzKCknLiIKLVBBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4gaW1wb3J0
U2NyaXB0cygpCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZyb20gY3Jvc3Mtb3JpZ2luIGltcG9y
dFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3LjAu
MC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21v
ZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLWNyb3NzLW9yaWdpbiBpbXBvcnRT
Y3JpcHRzKCknLiIKK1BBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBzYW1lLW9yaWdpbiBpbXBv
cnRTY3JpcHRzKCkKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBzYW1lLW9yaWdpbiBpbXBv
cnRTY3JpcHRzKCkKK0ZBSUwgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4gaW1w
b3J0U2NyaXB0cygpIGFzc2VydF9lcXVhbHM6IFJlbGF0aXZlIFVSTC1saWtlIHNwZWNpZmllciBy
ZXNvbHV0aW9uIHNob3VsZCBmYWlsIGV4cGVjdGVkICIodW5yZWFjaGVkKSIgYnV0IGdvdCAiZ2Ft
bWEvaW1wb3J0LmpzIgorUEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9yaWdpbiBp
bXBvcnRTY3JpcHRzKCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVs
ZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFt
aWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0CmluZGV4IDg2
NmViYjIyN2FkMjZhYWNlMWE1NzhiYWVhNmE4MWRjMGU2ZTc3ZjAuLjVlNzA2MzQ5MGUyZGZmZWNl
ODVlYTc2NWFlYmRkZTRiMTZlYjBmYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIu
c3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9t
b2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSB3b3JrZXIg
dG9wLWxldmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2ltcG9y
dC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9cmVs
YXRpdmUtd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQnLiIKLUZBSUwgQWJzb2x1dGUgVVJMLWxpa2Ug
ZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9k
dWxlICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlw
ZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLXdv
cmtlciB0b3AtbGV2ZWwgc2NyaXB0Jy4iCitQQVNTIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gd29y
a2VyIHRvcC1sZXZlbCBzY3JpcHQKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSB3b3JrZXIg
dG9wLWxldmVsIHNjcmlwdAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9u
LW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4
YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0MmZhZDIyNGUzYTE4YTZmYjVkODQ4
MzI1ZWE2Nzc2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9y
ZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi1IYXJu
ZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorUEFTUyBUZXN0IGV2YWx1YXRp
b24gb3JkZXIgb2YgbW9kdWxlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3Jp
cHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRl
ci0xLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRk
MjJlNGMxZGNiM2E1Zi4uYjg2MWY3MDFmOTQ4ZmIxMzI3NjkzMjJjMzgzNjZmMmQxMzhmMDRlMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1
YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2Ug
PSBudWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMgYXNzZXJ0X2Fy
cmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsic3RlcC0xLTEiLCAi
c3RlcC0xLTIiLCAiZ2xvYmFsLWVycm9yIiwgImVycm9yIiwgIm1pY3JvdGFzayJdIGxlbmd0aCA1
LCBnb3QgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJtaWNyb3Rhc2siXSBsZW5ndGggMwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVh
dGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2Vy
LWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2Iz
YTVmLi5jMWQzOGJkZTUwYzU5ZTVkNTk0MTczZDk2ZjljZDE5ZWIxMDdjOWI0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRl
ci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNz
YWdlID0gbnVsbAotCitGQUlMIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbInN0ZXAtMi4y
LTEiLCAic3RlcC0yLjItMiIsICJnbG9iYWwtZXJyb3IiLCAiZXJyb3IiLCAibWljcm90YXNrLTIu
MiJdIGxlbmd0aCA1LCBnb3QgWyJzdGVwLTIuMi0xIiwgInN0ZXAtMi4yLTIiLCAibWljcm90YXNr
LTIuMiJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24t
b3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThi
YmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQyZmFkMjI0ZTNhMThhNmZiNWQ4NDgz
MjVlYTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3Jk
ZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5l
c3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitQQVNTIFRlc3QgZXZhbHVhdGlv
biBvcmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9y
dC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9p
bXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDEyZDk0YTkxZWYx
ZjhhYjBhMTg3Yzc0OWIwZGRlYzY5NmQxMTg4ZTcuLmI0ZDY4YWYwNTZlZWY2MjJhMzNkNTRmMDc2
ZjM4MWQ0ZTFiYjI5YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1
bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1w
b3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMiw4ICsyLDggQEAKIEZB
SUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
KicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgogRkFJTCBOZXN0
ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
KicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgogRkFJTCBTdGF0
aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1
bWVudC4iCi1GQUlMIER5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBp
cyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0
aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkK
LUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBp
cyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0
aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1keW5hbWljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4cGVj
dGVkIGFycmF5Ci1GQUlMIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuIGFz
c2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6
IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLXN0YXRpYy1p
bXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBldmFsKGltcG9ydCgpKS4g
YXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9y
dDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tbG9hZC1z
Y3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5CitQQVNTIER5bmFtaWMgaW1wb3J0LgorUEFTUyBO
ZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRp
YyBpbXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9p
bXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1t
b2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGRkOWFmMzhmZjA5ZmJlYzFmYWMwYjhmNWVh
OWJhZDZlMzE2MzY0OWQuLjUxZWIzNjYzOGMxY2E3ZDA2MGI3Njc1OTI2ZmNjNzBjNWJmMDc2ZTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0x
LDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVu
dGlmaWVyICdyJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAot
RkFJTCBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IGltcG9ydCBhc3NlcnRf
dW5yZWFjaGVkOiBHb3QgZXJyb3IgZXZlbnQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNT
IEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VyczogaW1wb3J0CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9i
YXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2Fs
cGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBhYjVhN2ZiODkw
MjBmMjlmZDg5M2E3NTY4MGZmZTE3ZDNkMzUwZjdjLi5hYjUzYjgwNTk5YWUwMTk1NzgwODVlZTQ0
YWFlZmE0Yzc5NTUyNjg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXdv
cmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIGltcG9ydFNjcmlwdHMgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgImdhbW1hL3NjcmlwdC5qcyIgYnV0IGdvdCAiYmV0YS9zY3JpcHQu
anMiCitQQVNTIGltcG9ydFNjcmlwdHMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1v
ZHVsZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4
cGVjdGVkLnR4dAppbmRleCA4M2YzNjdmMmNmM2E2NmM2NGE2MjY0Mjk0NjU2ZDVlODgxZDFjMTFj
Li4yOGIwY2I0MDAxMzkyZDA4ODdhNGZlYmU2ODFjMWUxNTFkMGRmMThiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVy
bC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94
aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBC
YXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IFhIUiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiZ2FtbWFcbiIgYnV0IGdvdCAiYmV0YVxuIgorUEFTUyBCYXNlIFVSTCBpbiBtb2R1
bGUgZGVkaWNhdGVkIHdvcmtlcnM6IFhIUgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4t
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0
CmluZGV4IGQ2YjA4ZWVkYWU2ZjY5NmM3YTRiZmE2NTVlMTNiNWVkNDYwN2VhMDEuLmVhMTQ1NGQ5
YjNmMjBmODVkOTAxNmM1MDZhMTU0NmFmNjE3ODQyZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3ho
ci1pbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIHhoci13b3JrZXIgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgImdhbW1hXG4iIGJ1dCBnb3QgImJldGFcbiIKK1BBU1MgeGhyLXdvcmtlcgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3Ry
dWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggODMxZjBjNThjNjk0
YzJkNGZlYmQ2ZDhkMGFmMzA3YjEwOTQ0MmE2ZS4uZDU1NWVlN2NmM2ZjNzJlZmI4MmRmOWRiN2Rh
ZDM2N2Y5YWI3ZmZiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4tZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dApA
QCAtMSwxMyArMSwxMSBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51
bGwKLQogUEFTUyB1bnN1cHBvcnRlZF9zY2hlbWUKIEZBSUwgZGF0YV91cmwgVGhlIG9wZXJhdGlv
biBpcyBpbnNlY3VyZS4KLVRJTUVPVVQgYWJvdXRfYmxhbmsgVGVzdCB0aW1lZCBvdXQKLVRJTUVP
VVQgZXhhbXBsZV9pbnZhbGlkIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIHBvcnRfODEgVGVzdCB0
aW1lZCBvdXQKLVRJTUVPVVQgaHR0cHNfcG9ydF84MCBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBo
dHRwc19wb3J0XzgwMDAgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgaHR0cF9wb3N0XzgwMTIgVGVz
dCB0aW1lZCBvdXQKLVRJTUVPVVQgamF2YXNjcmlwdF91cmwgVGVzdCB0aW1lZCBvdXQKK1BBU1Mg
YWJvdXRfYmxhbmsKK1BBU1MgZXhhbXBsZV9pbnZhbGlkCitQQVNTIHBvcnRfODEKK1BBU1MgaHR0
cHNfcG9ydF84MAorUEFTUyBodHRwc19wb3J0XzgwMDAKK1BBU1MgaHR0cF9wb3N0XzgwMTIKK1BB
U1MgamF2YXNjcmlwdF91cmwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUv
bG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUv
bG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4IGYxNzQxZjlkOGJmMDcwMzI3MGQy
ZTM3NjJkYmNiZTI2YzBiOTAwNTkuLjNiMGRmYjM1ZTUxY2QxYTg1NDU1MzAxOWMwZTQwM2RiZTJm
MWQzM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGly
ZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9y
ZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgV29ya2VyTG9jYXRp
b24gd2l0aCByZWRpcmVjdHM6IGNsYXNzaWMgZGVkaWNhdGVkIHdvcmtlcnMgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29y
a2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcG9zdC1sb2NhdGlvbi1tZW1iZXJzLmpzP2EiIGJ1dCBn
b3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFs
U2NvcGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5P2ZhaWwiCitQQVNTIFdvcmtlckxvY2F0
aW9uIHdpdGggcmVkaXJlY3RzOiBjbGFzc2ljIGRlZGljYXRlZCB3b3JrZXJzCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1
bGUtZXhwZWN0ZWQudHh0CmluZGV4IGRjMmUyZTIwN2RiMDAxZWU3MGU3MzMwN2QyN2JiMzM1NzIw
ZmQ1NTkuLmIzYmY4MWVlODY4MWI5ZGMwODBmNTgwMjcxZThiOGYzOTA5NjU0OTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3Qt
bW9kdWxlLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBXb3JrZXJMb2NhdGlv
biB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtl
ckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Bvc3QtbG9jYXRpb24tbWVtYmVycy5qcz9hIiBidXQgZ290
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNj
b3BlL2xvY2F0aW9uL2hlbHBlci1yZWRpcmVjdC5weT9mYWlsIgorUEFTUyBXb3JrZXJMb2NhdGlv
biB3aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1
bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxl
cy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0CmluZGV4
IDIwYWMxN2Q1NjNjNGIzYTQ2MWYwY2FhZmJlYWVlYmQ3MTNmOTcwODEuLmRjY2VkY2NkMzY4ZTFm
ZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3Jr
ZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwxOCArMSw5IEBACi1D
T05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0aWMtaW1w
b3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
Ci1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFs
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9uZXN0ZWQt
c3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25l
IGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJp
bmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJj
ZXMvc3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4
ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzIi4g
aW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FH
RTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1keW5hbWljLWltcG9ydC13
b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09O
U09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0
cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBv
cnQtYW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3Rz
IGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9k
dWxlcy9yZXNvdXJjZXMvZXZhbC1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwg
bWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8v
bG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9ydC1h
bmQtdGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhh
Y3RseSBvbmUgYXJndW1lbnQuCi0KLUZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBz
dHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhh
Y3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGltcG9ydCBhbmQg
dGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQt
YW5kLXRoZW4tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMg
ZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3Rz
IGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMv
bW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBpbXBv
cnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBc
Imh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMt
aW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBldmFsKGltcG9ydCgpKS4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL2V2YWwtZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBj
YWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgorUEFTUyBTdGF0aWMgaW1wb3J0Lgor
UEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBk
eW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBkeW5hbWlj
IGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4KK1BB
U1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1w
b3J0LWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1jc3AtZXhw
ZWN0ZWQudHh0CmluZGV4IDFkYTQ2YjkyNmJlMDg5NmVlOGY3NWE3OGRjYWU0ZjI2OWIwNTA5MmIu
LjIzOWNjOWNlMTUzMDFmN2VlZDgzZDVlYjIyMzBhOWRlMjk0ZWEyZWQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwyMiBAQAogQ09O
U09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0
aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBz
Oi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1v
bi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29n
bml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAor
QmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0
My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09O
U09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0
aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBz
Oi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1v
bi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8v
d3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1s
b2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3
MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2Fk
LXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0
eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogCiBQQVNTIHdvcmtlci1zcmMgJ3NlbGYn
IGRpcmVjdGl2ZSBzaG91bGQgZGlzYWxsb3cgY3Jvc3Mgb3JpZ2luIHN0YXRpYyBpbXBvcnQuCiBG
QUlMIHdvcmtlci1zcmMgKiBkaXJlY3RpdmUgc2hvdWxkIGFsbG93IGNyb3NzIG9yaWdpbiBzdGF0
aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBleHBlY3RlZCBwcm9wZXJ0eSAwIHRvIGJl
ICJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiIGJ1dCBnb3QgIkVSUk9SIiAoZXhwZWN0ZWQgYXJy
YXkgWyJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiXSBnb3QgWyJFUlJPUiJdKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21v
ZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRleCA5NWM2ZDE1
ZGY0NGUxOGEzNWRmZWIwZmEzOWM4ZDM4NDQyMGMyYzEzLi5lOTU1NzhlNzFiMWM1MGE0ZTA0NzFi
MDM3MTU0YjM4NmIzN2FlZDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9y
dC1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1m
YWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgJy4vbm9uLWV4aXN0ZW50LXNjcmlw
dC5qcycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCitDT05TT0xF
IE1FU1NBR0U6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLgogCi1GQUlMIGltcG9y
dFNjcmlwdHMoKSBvbiBtb2R1bGUgd29ya2VyIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJUeXBlRXJyb3IiIGJ1dCBnb3QgIkxPQURFRCIKK1BBU1Mg
aW1wb3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3b3JrZXIgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlv
bi4KIFBBU1MgV29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91
bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KIFBBU1MgU3RhdGljIGltcG9ydCBmb3Igbm9uLWV4
aXN0ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KLUZBSUwgRHluYW1p
YyBpbXBvcnQgZm9yIG5vbi1leGlzdGVudCBzY3JpcHQgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlv
bi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlR5cGVFcnJvciIgYnV0IGdvdCAiRXJyb3IiCitQ
QVNTIER5bmFtaWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIGFuIGludmFsaWQgVVJM
IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9y
IGEgZmlsZSBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMv
ZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAppbmRleCBkNTgwNjIwNDFjM2U2OTUxNWI4
MTVlMDJkN2MzODY4NGQ3N2M3NmI3Li43NzI5MWJhYTFhNDE4NGJlYmU3YWQ3YjVkOWYxMTljNzFh
NzhkZTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4
dApAQCAtMSw4ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IGltcG9ydC5t
ZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwp
LCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRl
IG1vZHVsZXMuCi0KLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIHRvcC1sZXZlbCBt
b2R1bGUgc2NyaXB0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogIlN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5IHZhbGlkIGluc2lkZSBtb2R1bGVz
LiIKLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3Jp
cHQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBUZXN0IGltcG9y
dC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJhZ21lbnQu
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBUZXN0IGltcG9ydC5t
ZXRhLnVybCBvbiB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQuCitQQVNTIFRlc3QgaW1wb3J0
Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0LgorUEFTUyBUZXN0IGltcG9y
dC5tZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJhZ21lbnQu
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbAppbmRleCBjZmY4ZTkxNDg4ZTgyMzlh
YmUyMTM2MTlkMTJkNWE2MDMwNzJmYmVhLi5lZGUyNjkyZTFjNjM0MWJlZmZjOTAxMGM0MWI4ZjRj
ZmU0MzgzMjliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1sCkBAIC01Myw3ICs1
Myw3IEBACiAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgnLi8nICsgc2NyaXB0X3VybCArICcj
MScpOwogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIub25tZXNz
YWdlID0gcmVzb2x2ZSk7CiAgICAgICB9KQotICAgICAgLnRoZW4obXNnX2V2ZW50ID0+IGFzc2Vy
dF90cnVlKG1zZ19ldmVudC5kYXRhLmVuZHNXaXRoKHNjcmlwdF91cmwpKSk7CisgICAgICAudGhl
bihtc2dfZXZlbnQgPT4gYXNzZXJ0X3RydWUobXNnX2V2ZW50LmRhdGEuZW5kc1dpdGgoc2NyaXB0
X3VybCArICcjMScpKSk7CiB9LCAnVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVk
IG1vZHVsZSBzY3JpcHQgd2l0aCBhIGZyYWdtZW50LicpOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4dAppbmRleCA2ZGM0
MmMxY2ZkMzM0OGFmZGQxZGZkM2IxMGE1MDQ3MDU1MzAxOTZhLi5mZTFiOWQ5M2MwODAxMWI1MGU5
NDFmNGUxMjM2MDY3YWJiZDNmMjNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWlt
cG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0CkBAIC0xLDE5ICsxLDIzIEBACi0KLUhhcm5lc3MgRXJy
b3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwg
VVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2Vz
L2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBV
UkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMv
ZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVS
TCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9l
eHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4
cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwg
aHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhw
b3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBo
dHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBv
cnQtcmVmZXJyZXItY2hlY2tlci5weQogCiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZlbCBtb2R1
bGUgc2NyaXB0IGxvYWRpbmcgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeQogUEFT
UyBTYW1lLW9yaWdpbiB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlwdCBsb2FkaW5nIHdpdGggIm9yaWdp
biIgcmVmZXJyZXIgcG9saWN5CiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZlbCBtb2R1bGUgc2Ny
aXB0IGxvYWRpbmcgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeQotRkFJTCBTYW1l
LW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3ku
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogVHlwZSBlcnJvciIKLUZBSUwgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRo
ICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotRkFJTCBTYW1l
LW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3ku
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogVHlwZSBlcnJvciIKK1BBU1MgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRo
ICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LgorUEFTUyBTYW1lLW9yaWdpbiBzdGF0aWMg
aW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgorUEFTUyBTYW1lLW9yaWdpbiBz
dGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCiBGQUlMIENy
b3NzLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xp
Y3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQg
d2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIEZBSUwg
Q3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBv
bGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotVElNRU9VVCBTYW1lLW9yaWdpbiBkeW5hbWljIGlt
cG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBUZXN0IHRpbWVkIG91dAot
Tk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIg
cG9saWN5LgotTk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggInNhbWUtb3Jp
Z2luIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0
IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2lu
IGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgotTk9UUlVOIENy
b3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9s
aWN5LgorRkFJTCBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIg
cmVmZXJyZXIgcG9saWN5LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiIiBidXQgZ290ICJodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9y
dC1zYW1lLW9yaWdpbi1yZWZlcnJlci1jaGVja2VyLXdvcmtlci5qcyIKK0ZBSUwgU2FtZS1vcmln
aW4gZHluYW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8v
bG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9ydC1z
YW1lLW9yaWdpbi1yZWZlcnJlci1jaGVja2VyLXdvcmtlci5qcyIKK1BBU1MgU2FtZS1vcmlnaW4g
ZHluYW1pYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KK0ZBSUwg
Q3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBw
b2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1w
b3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCitG
QUlMIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJy
ZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRl
ZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWlt
cG9ydC5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGEyM2E1NTc1ZGI0Mjc0MjdmODViZDZiNjM1NGRl
ODgzODMxZmUyYjQuLmRjY2VkY2NkMzY4ZTFmZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21v
ZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwxNCAr
MSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcq
Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVT
U0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJn
dW1lbnQuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3Vt
ZW50LgotCi1GQUlMIFN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVkIHN0YXRp
YyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWlj
IGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhh
Y3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2Vx
dWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxk
IG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4
cGVjdGVkIGFycmF5Ci1GQUlMIE5lc3RlZCBkeW5hbWljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2Vx
dWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxk
IG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tZHluYW1pYy1pbXBvcnQtc2NyaXB0
LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0
aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5
bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9y
dC1vbi1zdGF0aWMtaW1wb3J0LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgZXZh
bChpbXBvcnQoKSkuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8g
ZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhw
b3J0LW9uLWxvYWQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQorUEFTUyBTdGF0aWMgaW1w
b3J0LgorUEFTUyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3RhdGljIGltcG9ydCBhbmQg
dGhlbiBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBk
eW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9y
dC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3Jr
ZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9u
cy10eXBlLWV4cGVjdGVkLnR4dAppbmRleCBkYTBlNGViNjc1OGQxNGEzN2EzOThkMGI2ZmM3MWFk
Mzg3NmJkMjZiLi4xZmMwYzY2ZmRmNzI0YzJhYTNiOTEwNjk4MGJmYmU3ZTk4OGY5NzczIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21v
ZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0CkBAIC0yLDEx
ICsyLDYgQEAKIFBBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggdGhlIGRlZmF1bHQg
d29ya2VyIHR5cGUuCiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIHRoZSAiY2xh
c3NpYyIgd29ya2VyIHR5cGUuCiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIHRo
ZSAibW9kdWxlIiB3b3JrZXIgdHlwZS4KLUZBSUwgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdp
dGggYW4gZW1wdHkgd29ya2VyIHR5cGUuIGFzc2VydF90aHJvd3NfanM6IFdvcmtlciBjb25zdHJ1
Y3Rpb24gd2l0aCBhbiBlbXB0eSB0eXBlIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24gZnVuY3Rp
b24gIigpID0+IHsKLSAgICAgICAgbmV3IFdvcmtlcigncmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS1v
bi1sb2FkLXdvcmtlci5qcycsIHsgdHlwZTogJycgfSk7Ci0gICAgICB9IiBkaWQgbm90IHRocm93
Ci1GQUlMIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVua25vd24gd29ya2VyIHR5
cGUuIGFzc2VydF90aHJvd3NfanM6IFdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtub3du
IHR5cGUgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAg
ICBuZXcgV29ya2VyKCdyZXNvdXJjZXMvcG9zdC1tZXNzYWdlLW9uLWxvYWQtd29ya2VyLmpzJywK
LSAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICd1bmtub3duJyB9KTsKLSAgICAgIH0iIGRpZCBu
b3QgdGhyb3cKK1BBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgd29y
a2VyIHR5cGUuCitQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVua25vd24g
d29ya2VyIHR5cGUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJy
b3ItZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVycm9y
LWZhaWx1cmUtZXhwZWN0ZWQudHh0CmluZGV4IGU4ZWI1NDBiZDMzOTI0MDBhOGRiZmQ5Mzg2NDhh
NjQ5MjM5YzBkOWUuLmQxYTUwZjdlYTNjZDZkYzI5OGVmNzU0MTQ3NzYyYzY5YzU3ZDczYjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVj
dGVkLnR4dApAQCAtMSw3ICsxLDE0IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1
bWVudC4KK0NPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzsn
CitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc7JwogCi1I
YXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IEVycm9yOiBhc3NlcnRfaW1wbGVtZW50czog
U3RhdGljIGltcG9ydCBtdXN0IGJlIHN1cHBvcnRlZCBvbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtl
ciB0byBydW4gdGhpcyB0ZXN0LiB1bmRlZmluZWQKLQotTk9UUlVOIE1vZHVsZSB3b3JrZXIgY29u
c3RydWN0aW9uIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxkIGRpc3BhdGNoIGFu
IGV2ZW50IG5hbWVkIGVycm9yLgotTk9UUlVOIFN0YXRpYyBpbXBvcnQgb24gbW9kdWxlIHdvcmtl
ciBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBhbiBldmVudCBu
YW1lZCBlcnJvci4KK0ZBSUwgTW9kdWxlIHdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIHNjcmlwdCB3
aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlzcGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBFdmVudCgpIHsKKyAgICBb
bmF0aXZlIGNvZGVdCit9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBFcnJvckV2ZW50KCkg
eworICAgIFtuYXRpdmUgY29kZV0KK30iCitGQUlMIFN0YXRpYyBpbXBvcnQgb24gbW9kdWxlIHdv
cmtlciBmb3Igc2NyaXB0IHdpdGggc3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBhbiBldmVu
dCBuYW1lZCBlcnJvci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0aW9u
IEV2ZW50KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0
aW9uIEVycm9yRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUt
cHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CmluZGV4IDYzOTg0
NzEyMTQ1OWE3YWIzN2I5ZjA5YTY4YmE2NGVhOGE5ZWQ1N2MuLmU5NDY5NDdiMTRhZWYzZTUyOTlh
MGFiYTNhZTRiMWNmOWZjZDk1NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw4IEBACiBDT05TT0xFIE1FU1NB
R0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1GQUlMIFRlc3QgdGhlIG5hbWUgcHJvcGVydHkg
b2Ygc2hhcmVkIGFuZCBkZWRpY2F0ZWQgd29ya2VycyB2aWEgdGhlIG5hbWUgY29uc3RydWN0b3Ig
b3B0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotUEFTUyBEZWNsYXJpbmcg
bmFtZSBhcyBhbiBhY2NpZGVudGFsIGdsb2JhbCBtdXN0IG5vdCBjYXVzZSBhIGhhcm5lc3MgZXJy
b3IgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCitIYXJuZXNzIEVycm9yIChGQUlMKSwg
bWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgorCiBQQVNTIG5hbWUgcHJvcGVydHkgdmFsdWUgZm9yIERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlCiBQQVNTIG5hbWUgcHJvcGVydHkgaXMgcmVwbGFjZWFibGUgZm9yIERlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlCitQQVNTIERlY2xhcmluZyBuYW1lIGFzIGFuIGFjY2lkZW50YWwg
Z2xvYmFsIG11c3Qgbm90IGNhdXNlIGEgaGFybmVzcyBlcnJvciBmb3IgRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNyZWRlbnRpYWxzLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggZjA2OTFhYTA5Y2M0OWNkZjdmMmE5NDM3NGM2ZTYyMjIwZjkzYjhlMi4uYTU3MGQ4ZDI5MmZh
ODU2MjEyYjA1NDc4ODIwZjEzMGY4MWQ5YmJmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNyZWRl
bnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlhbHMuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiBDT05TT0xFIE1FU1NBR0U6IE9yaWdp
biBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbi4KIAotRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0
aCB0aGUgZGVmYXVsdCBXb3JrbGV0T3B0aW9ucyBzaG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJv
cnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFJlc3BvbnNlIGlzIG5vdCAy
eHgiCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIHRoZSBkZWZhdWx0
IFdvcmtsZXRPcHRpb25zIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBJbXBv
cnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1v
cmlnaW4gc2NyaXB0IHdpdGggdGhlIGRlZmF1bHQgV29ya2xldE9wdGlvbnMgc2hvdWxkIG5vdCBz
ZW5kIHRoZSBjcmVkZW50aWFscwotRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQg
d2l0aCBjcmVkZW50aWFscz1vbWl0IHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRF
cnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgi
CitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPW9t
aXQgc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBt
b2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91bGQgbm90IHNlbmQgdGhlIGNyZWRlbnRpYWxz
Ci1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPXNh
bWUtb3JpZ2luIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBGYWlsZWQgdG8g
ZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90IDJ4eCIKK0ZBSUwgSW1wb3J0aW5n
IGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4gc2hvdWxk
IHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQg
ZmFpbGVkLiIKIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVk
ZW50aWFscz1zYW1lLW9yaWdpbiBzaG91bGQgbm90IHNlbmQgdGhlIGNyZWRlbnRpYWxzCi1GQUlM
IEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1ZGUg
c2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1
bGUsIGVycm9yOiBSZXNwb25zZSBpcyBub3QgMnh4IgotRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUt
b3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNy
ZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBPcmlnaW4g
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4uIgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCBj
cmVkZW50aWFscz1pbmNsdWRlIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBJ
bXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90
ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5jbHVkZSBzaG91bGQgc2VuZCB0aGUg
Y3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiQWJvcnRFcnJvcjogQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBD
cm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdv
cmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0cHMtZXhwZWN0
ZWQudHh0CmluZGV4IGJmMzM1Y2YzMDU1ZTA2NWIzODk4OWI0MWFhMWUyMzZmZWI0YWMyOWQuLjI3
NWIzNDM3ZmFkOTc1M2E2ZWNlMjQyMDBlYWJmMjU3ZmZkNjI3MmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29y
a2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQwICsxLDUyIEBACitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBV
UkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13
b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9l
bXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291
cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFj
Y2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRz
L3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9j
a2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dv
cmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpz
CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5
NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVh
ZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBv
bGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2du
aXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQz
L3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVy
LmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGlj
eSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXpl
ZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05T
T0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3Rp
dmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6
Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNj
cmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFtibG9ja2VkXSBUaGUg
cGFnZSBhdCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9hZGRtb2R1
bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVu
dCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29y
a2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KIAogQ09OU09MRSBNRVNTQUdFOiBbYmxv
Y2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJj
ZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBkaXNwbGF5IGluc2Vj
dXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2xldHMvcmVzb3VyY2Vz
L2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMuCiAKK0NPTlNPTEUgTUVT
U0FHRTogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvd29ya2xl
dHMvcmVzb3VyY2VzL2FkZG1vZHVsZS13aW5kb3cuaHRtbCB3YXMgbm90IGFsbG93ZWQgdG8gZGlz
cGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRz
L3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzLgorCitD
T05TT0xFIE1FU1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2FsaG9zdDo5
NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBhbGxv
d2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6OTQ0
My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRl
ci5qcy4KKwogCiBGQUlMIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBiZSBibG9ja2Vk
IGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCi1GQUlMIEEgc2FtZS1vcmlnaW4gd29y
a2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBi
eSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmts
ZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkg
dGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4KIEZBSUwgQSByZW1vdGUtb3JpZ2luIHdv
cmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQg
YnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKIEZBSUwgQSByZW1vdGUtb3JpZ2luLXJl
ZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2Vs
ZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3Qg
IlJFU09MVkVEIgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3Rl
LW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0
LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQi
IGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5n
IGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBieSB0
aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29y
a2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3Rp
dmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3
b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxv
Y2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmln
aW4gYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVt
b3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlw
dC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVt
b3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3Vs
ZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5
aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3Rl
ZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRp
cmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgotUEFTUyBBIHNhbWUtb3Jp
Z2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBz
aG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3Bl
Y2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0
IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBi
ZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhl
IG9yaWdpbiBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0
IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBub3Qg
YmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4K
LVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0
aXZlIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3Jp
cHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJF
U09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQg
aW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJl
Y2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LgogUEFTUyBBIHJlbW90
ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNl
IHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdp
biB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hv
dWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxs
b3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9y
aWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUg
c2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3Jr
bGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVj
YXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KLVBBU1MgQSBzYW1l
LW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBu
b3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0
cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3Jr
bGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tl
ZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBz
Y3JpcHQtc3JjIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBi
dXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5n
IGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3Jr
ZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGly
ZWN0aXZlLgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBu
b3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0
cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3Jr
bGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5v
dCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmtsZXRz
IG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmts
ZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90
IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMg
b2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJS
RVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEFuIGluc2VjdXJlLW9yaWdpbiB3b3Jr
bGV0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuCiBQQVNTIEFu
IGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHdvcmtsZXQgc2hvdWxkIGJlIGJsb2NrZWQgYmVj
YXVzZSBvZiBtaXhlZCBjb250ZW50cy4KLUZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9y
dGluZyBhbiBpbnNlY3VyZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ug
b2YgbWl4ZWQgY29udGVudHMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0
IGdvdCAiUkVTT0xWRUQiCi1GQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYW4g
aW5zZWN1cmUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1
c2Ugb2YgbWl4ZWQgY29udGVudHMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIg
YnV0IGdvdCAiUkVTT0xWRUQiCitQQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcg
YW4gaW5zZWN1cmUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1p
eGVkIGNvbnRlbnRzLgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGFuIGlu
c2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNl
IG9mIG1peGVkIGNvbnRlbnRzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IGZlODk2NWFlZjZjYWRhMjIxOWVmOGUzMDg4OGJhOTFlMjQwMTdhYzAuLjY3NjQ3ZDQ2ODdiOWQz
Y2ZjODZlMGIyYzhmNTY4ZTIwZjViZWMzOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQu
aHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xNiw3ICsxNiw3IEBAIFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mgb3JpZ2luIHJlc291
cmNlIHdpdGggdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBoZWFkCiBQQVNTIEltcG9y
dGluZyBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRob3V0IHRoZSBBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UKIFBBU1Mg
SW1wb3J0aW5nIGEgY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0ZWQgcmVzb3VyY2Ugd2l0aCB0aGUgQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWRlciBzaG91bGQgcmVzb2x2ZSB0aGUgZ2l2ZW4g
cHJvbWlzZQogUEFTUyBJbXBvcnRpbmcgYSBjcm9zcy1vcmlnaW4tcmVkaXJlY3RlZCByZXNvdXJj
ZSB3aXRob3V0IHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCBy
ZWplY3QgdGhlIGdpdmVuIHByb21pc2UKLUZBSUwgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaGFz
IGEgc3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuIGFzc2VydF91
bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNo
YWJsZSBjb2RlCi1GQUlMIEltcG9ydGluZyBhIG5lc3RlZCBzY3JpcHQgdGhhdCBoYXMgYSBzeW50
YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4gYXNzZXJ0X3VucmVhY2hl
ZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKLUZBSUwgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1wb3J0cyBhbiBpbnZhbGlkIGlkZW50
aWZpZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4gYXNzZXJ0X3VucmVhY2hlZDog
U2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUK
K1BBU1MgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVycm9yIHNob3VsZCBy
ZWplY3QgdGhlIGdpdmVuIHByb21pc2UuCitQQVNTIEltcG9ydGluZyBhIG5lc3RlZCBzY3JpcHQg
dGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4K
K1BBU1MgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaW1wb3J0cyBhbiBpbnZhbGlkIGlkZW50aWZp
ZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3Jr
bGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5odHRw
cy1leHBlY3RlZC50eHQKaW5kZXggMjRkNDk5YzE0MWNlZTZkYzliMmViZTI0YmZiNGZmNGMwM2Ew
YTk3My4uOWY2ZDExMzA1OWQ5ZmFkNTBjNjMwMDdiN2ZjZDJjYmQ2NzI3NzY1MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9h
dWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQt
cmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsOCBAQAorQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9y
ZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9bm8tcmVmZXJyZXIm
ZXhwZWN0ZWRfcmVmZXJyZXI9CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6
Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9yZWZlcnJlci1jaGVja2Vy
LnB5P3JlZmVycmVyX3BvbGljeT1vcmlnaW4mZXhwZWN0ZWRfcmVmZXJyZXI9aHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My8KK0NPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3Jr
bGV0cy9yZXNvdXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9c2FtZS1v
cmlnaW4mZXhwZWN0ZWRfcmVmZXJyZXI9CitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczov
L2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbi4KIAogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2Ug
dGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJl
ZmVycmVyLgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFn
ZSB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQg
cmVmZXJyZXIuCkBAIC02LDE1ICsxMSwxNSBAQCBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmln
aW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbAogUEFT
UyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgInNh
bWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCiBQQVNTIElt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJzYW1l
LW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4KIFBBU1Mg
SW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0
IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90
IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZy
b20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJl
ZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCitGQUlMIEltcG9ydGluZyBh
IHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0
aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVm
ZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiQ3Jvc3Mt
b3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmlu
ZyBwb2xpY3kuIgogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJl
bW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJl
ciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcgYSByZW1v
dGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0
IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJy
ZXIuCiBQQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmln
aW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3Vs
ZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBm
cm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJy
ZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9y
aWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMg
Im9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBv
cnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0
IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVm
ZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1v
cmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4g
c2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1v
cmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIElt
cG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0
IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90
IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZy
b20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgorRkFJTCBJbXBvcnRpbmcgYSBy
ZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhh
dCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3Jp
cHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIK
K0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2lu
IHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQg
c2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290
ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRo
YXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJDcm9zcy1vcmlnaW4gc2Ny
aXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4i
CitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4g
d29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hv
dWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0
IGdvdCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIgorRkFJTCBJbXBvcnRpbmcg
YSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQg
dGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJl
ZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3Nz
LW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJp
bmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBy
ZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJy
ZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4i
CitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3Jp
Z2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQi
IGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2lu
IFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJlY3RlZC13b3Jr
ZXItb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3Rl
ZC50eHQKaW5kZXggMWUyZDM5OTJmNmQ1ZGYzMjIwN2E2YjBmNjE5YTZkNzExODEyNDAwZC4uN2E3
YTkxN2VhYTk4ZTkyZWUwM2VjMjhhMTFlNzgwODRkMjM0Yjg4NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJl
Y3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVjdGVkLXdvcmtlci1v
cmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHA6Ly93d3cyLmxvY2FsaG9zdDo4ODAwL3hoci9yZXNvdXJjZXMvaW5zcGVj
dC1oZWFkZXJzLnB5P2ZpbHRlcl9uYW1lPW9yaWdpbiZjb3JzCiAKLUZBSUwgUmVmZXJlciBoZWFk
ZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJlZmVyZXI6IGh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC94aHIvcmVzb3VyY2VzL3dvcmtlcnhoci1vcmlnaW4tcmVmZXJyZXIuanNcbiIgYnV0IGdvdCAi
UmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3hoci9yZXNvdXJjZXMvcmVkaXJlY3QucHk/
bG9jYXRpb249d29ya2VyeGhyLW9yaWdpbi1yZWZlcnJlci5qc1xuIgorUEFTUyBSZWZlcmVyIGhl
YWRlcgogRkFJTCBPcmlnaW4gaGVhZGVyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJPcmlnaW46
IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMFxuIiBidXQgZ290ICIiCiBQQVNTIFJlcXVlc3QgVVJMIHRl
c3QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW93b3JrbGV0LWFkZE1v
ZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvd29y
a2xldC1hZGRNb2R1bGUtZmFpbHVyZS1leHBlY3RlZC50eHQKaW5kZXggMDhhZjExNDM2MDU1MWJm
NWE4MDc5YWYwYTM4MTVjNGUwOGViZDE0My4uZGVmMzNhZDg2OTFiNjk0MzZlMGUxODFjNWJkMDA0
ODM1NDgzNTFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW93b3JrbGV0
LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRp
by9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC00LDcgKzQs
NyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1MgY29udGV4dC5hdWRpb1dvcmts
ZXQuYWRkTW9kdWxlKGludmFsaWRVUkwpOyByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVy
cm9yOiBNb2R1bGUgVVJMIGlzIGludmFsaWQuCi1QQVNTIGNvbnRleHQuYXVkaW9Xb3JrbGV0LmFk
ZE1vZHVsZSgnZG9lc25vdEV4aXN0LmpzJyk7IHJlamVjdGVkIHByb21pc2UgIHdpdGggQWJvcnRF
cnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFRoZSByZXF1ZXN0ZWQgVVJMIHdh
cyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuLgorUEFTUyBjb250ZXh0LmF1ZGlvV29ya2xldC5h
ZGRNb2R1bGUoJ2RvZXNub3RFeGlzdC5qcycpOyByZWplY3RlZCBwcm9taXNlICB3aXRoIEFib3J0
RXJyb3I6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLi4KIFBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vd29ya2xldC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJh
dWRpby93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA2NTRkZGY3ZjE3ZWZhYjU4ZTQy
ZmFiZTM4NTI1Nzk2NGFlMmM1ZDQxLi4xYTQzZTNmOTdjYjJmMDZiOWY3Y2Q1ZjJiMTgyMzM4MTA1
MTNlZWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4cGVj
dGVkLnR4dApAQCAtMSArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogJ3RleHQv
aHRtbCcgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCiBUaGlzIHRlc3QgcGFz
c2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420925</attachid>
            <date>2021-02-18 23:02:39 -0800</date>
            <delta_ts>2021-02-18 23:36:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210218230238.patch</filename>
            <type>text/plain</type>
            <size>247336</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MjJkM2U1NmU1OGNhNjNiMGYwZDYyZWIzMDg4Yjc3MTI3ZGZkNGYxLi5lMjI1MDJmZDZhYzM5NzAy
NWNiOGNjOGYwNTExZWU5YmJhNGU3OWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MyBAQAorMjAyMS0wMi0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGVycm9yIGluZm9ybWF0aW9uIHRvIGV4dHJh
Y3QgdGhpcyBpbiBXZWJDb3JlJ3MgbW9kdWxlIGxvYWRlci4KKyAgICAgICAgQ3VycmVudGx5LCB3
ZSBhcmUgdXNpbmcgUHJvbWlzZSBwaXBlbGluZSwgYW5kIHRoaXMgbWFrZXMgaXQgYSBiaXQgZGlm
ZmljdWx0IHRvIGV4dHJhY3QgZXJyb3IgaW5mb3JtYXRpb24uCisgICAgICAgIFRoaXMgZXJyb3Ig
aW5mb3JtYXRpb24gYXR0YWNoZWQgaW4gdGhpcyBwYXRjaCBhbGxvd3MgdXMgdG8gZXh0cmFjdCBT
eW50YXhFcnJvciBpbiBXZWJDb3JlLCBhbmQgdGhyb3dpbmcKKyAgICAgICAgSlMgU3ludGF4RXJy
b3IgaW5zdGVhZCBvZiBBYm9ydEVycm9yLgorCisgICAgICAgIFdlIGFyZSBwbGFubmluZyB0byB1
cGRhdGUgb3VyIG1vZHVsZSBwaXBpZWxpbmUgbm90IHVzaW5nIFByb21pc2VzIGluIHRoZSBmdXR1
cmUuIFRoZSBjdXJyZW50IGRlc2lnbiBkZXJpdmVkCisgICAgICAgIGZyb20gdGhlIG9yaWdpbmFs
IG1vZHVsZSBsb2FkZXIgcGlwZWxpbmUgd2hlcmUgdXNpbmcgUHJvbWlzZXMgaXMgY3JpdGljYWwu
IEJ1dCBub3csIHRoYXQgcHJvcG9zYWwgd2FzIGFiYW5kb25lZCwKKyAgICAgICAgc28gd2UgY2Fu
IGp1c3Qgc2ltcGxpZnkgdGhlIG1vZHVsZSBsb2FkZXIuCisKKyAgICAgICAgKiBydW50aW1lL0Fn
Z3JlZ2F0ZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0
ZUVycm9yKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3Jl
YXRlRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlND
OjpjcmVhdGVSYW5nZUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3Ip
OgorICAgICAgICAoSlNDOjpjcmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0
ZVR5cGVFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpT
Qzo6Y3JlYXRlR2V0dGVyVHlwZUVycm9yKToKKyAgICAgICAgKEpTQzo6dGhyb3dTeW50YXhFcnJv
cik6CisgICAgICAgICogcnVudGltZS9FcnJvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6
CisgICAgICAgICogcnVudGltZS9FcnJvckluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJy
b3JJbnN0YW5jZTo6RXJyb3JJbnN0YW5jZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6
OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VT
dHJpbmcpOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5n
KToKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcpOgorICAg
ICAgICAqIHJ1bnRpbWUvRXJyb3JJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpFcnJvckluc3Rh
bmNlOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjplcnJvclR5cGUgY29u
c3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAg
ICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUv
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29u
c3RydWN0b3I8ZXJyb3JUeXBlPjo6Y29uc3RydWN0SW1wbCk6CisgICAgICAgIChKU0M6Ok5hdGl2
ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBlPjo6Y2FsbEltcGwpOgorICAgICAgICAqIHJ1bnRp
bWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TnVsbFNldHRlckZ1bmN0
aW9uSW50ZXJuYWw6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9q
cy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3Nl
bWJseUNvbXBpbGVFcnJvcjo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6CisgICAgICAgICog
d2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJB
c3NlbWJseUxpbmtFcnJvcjo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcik6CisgICAgICAgICogd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJB
c3NlbWJseVJ1bnRpbWVFcnJvcjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcik6CisgICAgICAg
ICogd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3YXNtL2pzL1dl
YkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTik6CisKIDIwMjEtMDItMTYgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZSBzaG91bGQgY2FsbCB0cnlDcmVhdGUg
aW5zdGVhZCBvZiBjcmVhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MDIyZGJiYzViMTBhMWQ3NmYyYjRhOTI1
MjI2M2Q2ZWJmM2IwOTQ0Li4wODY0ODM5ZGRmZTc4ODFhOTVmNmRlMGZkZDFkMGM2ZmMwZjA4ZDNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTU2IEBACisyMDIxLTAyLTE4ICBZdXN1a2UgU3V6dWtp
ICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IGltcGxlbWVudHMgSlMgbW9kdWxlcyBpbiBXb3JrZXJzIGFuZCBXb3JrbGV0cy4gV2UgYXJlIG5v
dCBzdXBwb3J0aW5nIG1vZHVsZXMgaW4gU2VydmljZVdvcmtlcnMnIGluaXRpYWxpemF0aW9uIHll
dC4KKyAgICAgICAgQnV0IHNlcnZpY2Utd29ya2VyIGNhbiBpbXBvcnQgbW9kdWxlcyB2aWEgSlMg
YGltcG9ydCgpYC4KKworICAgICAgICBUaGUgd29ya2VyIGNhbiBiZSBleGVjdXRlZCBhcyBhIG1v
ZHVsZSBpZiB3ZSBwYXNzLCBgdHlwZTogIm1vZHVsZSJgIHRvIHdvcmtlciBvcHRpb25zLiBXb3Jr
bGV0IGlzIGV4ZWN1dGVkIGFzIG1vZHVsZXMgYnkgZGVmYXVsdC4KKworICAgICAgICAxLiBJbiBX
b3JrZXIsIHdlIGZpcnN0IGZldGNoIHRoZSBpbml0aWFsIGNvZGUuIEFuZCB0aGVuLCBhbmFseXpl
IHRoZSBkZXBlbmRlbmNpZXMgYW5kIGxvYWQgc3Vic2VxdWVudCBtb2R1bGVzLgorICAgICAgICAg
ICBXZSBpdGVyYXRlIHJ1bi1sb29wIHRvIGxvYWQgYWxsIHRoZSBkZXBlbmRlbnQgbW9kdWxlcyBp
biB0aGUgbW9kdWxlIGxvYWRlci4gQXQgdGhhdCB0aW1lLCB3ZSBhbm5vdGF0ZSBydW4tbG9vcCB0
YXNrcyB3aXRoCisgICAgICAgICAgIHNwZWNpYWwgdGFza01vZGUgdG8gaXRlcmF0ZSB0YXNrcyB3
aXRoIHRoaXMgdGFza01vZGUuIFRoaXMgcHJldmVudHMgdXMgZnJvbSBkaXNjYXJkaW5nIGRpZmZl
cmVudCB0YXNrcyBpbiB0aGlzIHJ1bi1sb29wIGRyaXZpbmcKKyAgICAgICAgICAgcGhhc2UuIChl
LmcuIHBvc3RNZXNzYWdlIGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQgd2hpbGUg
bG9hZGluZyBtb2R1bGUgZ3JhcGgsIGluIHRoYXQgY2FzZSwgd2Ugc2hvdWxkIG5vdCBkaXNjYXJk
IHRoaXMKKyAgICAgICAgICAgdGFzay4pCisKKyAgICAgICAgMi4gSW4gV29ya2xldCwgd2UganVz
dCByZXF1ZXN0IG1vZHVsZSBsb2FkaW5nIHRvIFNjcmlwdE1vZHVsZUxvYWRlciwgYW5kIHJ1biBp
dCBhZnRlciBsb2FkaW5nIG1vZHVsZSBncmFwaC4gVGhpcyBpcyBPSyBzaW5jZSB3b3JrbGV0Cisg
ICAgICAgICAgIHRocmVhZCBpcyBhbHJlYWR5IHJ1bm5pbmcuIFNvIHdlIGNhbiBqdXN0IHJlcXVl
c3QgbW9kdWxlcyBhbmQgd29ya2xldCB0aHJlYWQgYXV0b21hdGljYWxseSBkcml2ZXMgbW9kdWxl
IGxvYWRpbmcgdmlhIHJ1bi1sb29wLgorCisgICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xldEdsb2JhbFNjb3BlLmg6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb1dvcmtsZXRHbG9iYWxTY29wZTo6Y3VycmVudEZyYW1lIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvV29ya2xldEdsb2JhbFNjb3BlOjpzYW1w
bGVSYXRlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvV29ya2xldEds
b2JhbFNjb3BlOjpjdXJyZW50VGltZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogU291cmNl
cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRl
cik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hl
ZCk6CisgICAgICAgICogYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmg6Cisg
ICAgICAgICogYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHA6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpyZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmNy
ZWF0ZURPTUV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25I
YW5kbGluZy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnNjcmlwdE1vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckV2YWx1YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUlt
cG9ydE1ldGFQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJlc29sdmUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRj
aCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxv
YWRlckV2YWx1YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFz
ZTo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMp
OiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclR5cGUuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExv
YWRlcjo6Y2xlYXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVy
OjpzY3JpcHRGZXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6
cGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpNb2R1bGVTY3JpcHRMb2FkZXI6Ok1vZHVs
ZVNjcmlwdExvYWRlcik6CisgICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRN
b2R1bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpT
Y3JpcHRNb2R1bGVMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZU1vZHVsZVNwZWNp
Zmllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc29sdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaCk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVsZVVSTCk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRT
b3VyY2VDb2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlOjpTY3JpcHRT
b3VyY2VDb2RlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRl
cjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVs
ZVNjcmlwdExvYWRlcjo6fldvcmtlck1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OnRhc2tNb2RlKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmguCisgICAgICAgICogYmluZGluZ3MvanMvV29ya2Vy
U2NyaXB0RmV0Y2hlci5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAqIGRvbS9FeGNlcHRpb25Db2RlLmg6CisgICAgICAgICogZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlTW9kdWxlU2NyaXB0Ojpsb2Fk
KTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaDoKKyAgICAg
ICAgKiBkb20vU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVt
ZW50OjpyZXF1ZXN0TW9kdWxlU2NyaXB0KToKKyAgICAgICAgKiBsb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUpOgor
ICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpU
aHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXI6Oldvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmlkbDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJHbG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0cyk6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6
OmNyZWRlbnRpYWxzIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
UHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNj
b3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2FkZXIp
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpqc1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVs
ZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVsZSk6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmg6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3Jp
cHRMb2FkZXI6OnJlc3BvbnNlU291cmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
clNjcmlwdExvYWRlcjo6aXNSZWRpcmVjdGVkIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29s
YXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0
ZVNjcmlwdElmTmVjZXNzYXJ5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyVHlwZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2I6OmZl
dGNoU2NyaXB0V2l0aENvbnRleHQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9j
b250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZCk6CisgICAgICAgICogd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oOgorICAgICAgICAqIHdvcmtsZXRzL1BhaW50
V29ya2xldEdsb2JhbFNjb3BlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWludFdvcmtsZXRHbG9i
YWxTY29wZTo6cGFpbnREZWZpbml0aW9uTWFwKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlBhaW50V29ya2xldEdsb2JhbFNjb3BlOjpwYWludERlZmluaXRpb25Mb2NrKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlBhaW50V29ya2xldEdsb2JhbFNjb3BlOjp+UGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGUpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9iYWxT
Y29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OmZldGNoQW5k
SW52b2tlU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6cHJv
Y2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OldvcmtsZXRHbG9iYWxTY29wZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6bm90aWZ5RmluaXNoZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpkaWRDb21wbGV0ZVNj
cmlwdEZldGNoSm9iKTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFs
U2NvcGUuaDoKKwogMjAyMS0wMi0xNiAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW1wbGVtZW50IEdyaWQgT3ZlcmxheSAiU2hvdyBh
cmVhIG5hbWVzIiBkcmF3aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BZ2dyZWdhdGVFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
Z2dyZWdhdGVFcnJvci5jcHAKaW5kZXggNzU5YTViMjRhMGVkMDg2ODBjY2FhNjM0MGQyZTk1ZDQ1
MGI4MGZkNi4uMjk2Yzg1Y2M5MGUwNWI1NDU0N2Y2NjJhN2UyZjhhMWUxMzBhNDZkYyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcApAQCAt
MzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIGNvbnN0IENsYXNzSW5mbyBBZ2dyZWdhdGVF
cnJvcjo6c19pbmZvID0geyAiQWdncmVnYXRlRXJyb3IiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEFnZ3JlZ2F0ZUVycm9yKSB9OwogCiBBZ2dy
ZWdhdGVFcnJvcjo6QWdncmVnYXRlRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
LSAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJy
b3JUeXBlOjpBZ2dyZWdhdGVFcnJvcikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3IuY3BwCmluZGV4IGY0NzNiODE4MWVjMmYwMmEwY2M3OGEyNmMwYzIwZGM5NjMxZmRj
NzQuLmZjYWNmMWUzMjJlYjI3Mjc4NzRmZjI1MjYyNDFlZDdiZTk4Y2U1MzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKQEAgLTM1LDM3ICszNSwzNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIEpTT2JqZWN0KiBjcmVhdGVFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVy
IGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkpOwotICAgIHJldHVy
biBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCks
IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVO
b3RoaW5nLCB0cnVlKTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKCks
IG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgdHJ1ZSk7
CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVFdmFsRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRl
ciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1
cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgp
LCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6RXZhbEVycm9yKSwgbWVz
c2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsKKyAgICByZXR1cm4gRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmpl
Y3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6RXZhbEVycm9yKSwgbWVzc2FnZSwgYXBwZW5k
ZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkV2YWxFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2Jq
ZWN0KiBjcmVhdGVSYW5nZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIp
CiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5z
dGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2Jq
ZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJhbmdlRXJyb3IpLCBtZXNzYWdlLCBhcHBl
bmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVh
dGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JT
dHJ1Y3R1cmUoRXJyb3JUeXBlOjpSYW5nZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVO
b3RoaW5nLCBFcnJvclR5cGU6OlJhbmdlRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3Jl
YXRlUmVmZXJlbmNlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsK
ICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5j
ZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3Qt
PmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmVmZXJlbmNlRXJyb3IpLCBtZXNzYWdlLCBhcHBl
bmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVh
dGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JT
dHJ1Y3R1cmUoRXJyb3JUeXBlOjpSZWZlcmVuY2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBU
eXBlTm90aGluZywgRXJyb3JUeXBlOjpSZWZlcmVuY2VFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2Jq
ZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVy
KQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvcklu
c3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9i
amVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpTeW50YXhFcnJvciksIG1lc3NhZ2UsIGFw
cGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNy
ZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJv
clN0cnVjdHVyZShFcnJvclR5cGU6OlN5bnRheEVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5
cGVOb3RoaW5nLCBFcnJvclR5cGU6OlN5bnRheEVycm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3Qq
IGNyZWF0ZVR5cGVFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyLCBSdW50
aW1lVHlwZSB0eXBlKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkpOwotICAgIHJl
dHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZt
KCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpLCBt
ZXNzYWdlLCBhcHBlbmRlciwgdHlwZSwgdHJ1ZSk7CisgICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6
OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5l
cnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCB0
eXBlLCBFcnJvclR5cGU6OlR5cGVFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVO
b3RFbm91Z2hBcmd1bWVudHNFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJv
ckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKQEAgLTc2LDcgKzc2LDcgQEAgSlNP
YmplY3QqIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEVycm9ySW5zdGEKIEpTT2JqZWN0KiBjcmVhdGVVUklFcnJvcihKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6
OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5
KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpV
UklFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0
dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0o
KSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlVSSUVycm9yKSwgbWVz
c2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlVSSUVycm9yLCB0cnVlKTsK
IH0KIAogSlNPYmplY3QqIGNyZWF0ZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEVycm9yVHlwZSBlcnJvclR5cGUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKQEAgLTExMyw3ICsx
MTMsNyBAQCBKU09iamVjdCogY3JlYXRlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgRXJyb3JUeXBlV2l0aEV4dGVuc2lvbiBlcnJvcgogSlNPYmplY3QqIGNyZWF0ZUdldHRlclR5
cGVFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgYXV0byogZXJyb3Ig
PSBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCks
IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpLCBtZXNz
YWdlKTsKKyAgICBhdXRvKiBlcnJvciA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJv
clR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5
cGU6OlR5cGVFcnJvcik7CiAgICAgZXJyb3ItPnNldE5hdGl2ZUdldHRlclR5cGVFcnJvcigpOwog
ICAgIHJldHVybiBlcnJvcjsKIH0KQEAgLTI3NCw3ICsyNzQsNyBAQCBFeGNlcHRpb24qIHRocm93
VHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRocm93U2NvcGUmIHNjb3Bl
LCBjb25zdAogCiBFeGNlcHRpb24qIHRocm93U3ludGF4RXJyb3IoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGhyb3dTY29wZSYgc2NvcGUpCiB7Ci0gICAgcmV0dXJuIHRocm93RXhjZXB0
aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUsIGNyZWF0ZVN5bnRheEVycm9yKGdsb2JhbE9iamVjdCwg
IlN5bnRheCBlcnJvciJfcykpOworICAgIHJldHVybiB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmpl
Y3QsIHNjb3BlLCBjcmVhdGVTeW50YXhFcnJvcihnbG9iYWxPYmplY3QpKTsKIH0KIAogRXhjZXB0
aW9uKiB0aHJvd1N5bnRheEVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRocm93
U2NvcGUmIHNjb3BlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCkBAIC0zMTcsNiArMzE3LDExIEBA
IEpTT2JqZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgcmV0dXJuIGNyZWF0ZVN5bnRheEVycm9yKGds
b2JhbE9iamVjdCwgbWVzc2FnZSwgbnVsbHB0cik7CiB9CiAKK0pTT2JqZWN0KiBjcmVhdGVTeW50
YXhFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIHJldHVybiBjcmVh
dGVTeW50YXhFcnJvcihnbG9iYWxPYmplY3QsICJTeW50YXggZXJyb3IiX3MsIG51bGxwdHIpOwor
fQorCiBKU09iamVjdCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCiB7CiAgICAgcmV0dXJuIGNyZWF0ZVR5cGVFcnJvcihnbG9iYWxPYmplY3QsICJUeXBlIGVy
cm9yIl9zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5oCmluZGV4IDZkYWExNTQy
MTU2NjYxMGU0YWNlNmRlMzM1ZjM0ZDNiZjdjNzQ0NGQuLmRjODI1MjgyYzM1NjQ4NzEzMjU0NTQ0
YmM4ZDgxODg4NDAwZTQzOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Vycm9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaApA
QCAtNTUsNiArNTUsNyBAQCBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3JlYXRlRXZhbEVy
cm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19FWFBPUlRfUFJJVkFURSBK
U09iamVjdCogY3JlYXRlUmFuZ2VFcnJvcihKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYp
OwogSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVJlZmVyZW5jZUVycm9yKEpTR2xv
YmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCog
Y3JlYXRlU3ludGF4RXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmKTsKK0pTX0VY
UE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0dsb2JhbE9iamVjdCop
OwogSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVR5cGVFcnJvcihKU0dsb2JhbE9i
amVjdCopOwogSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVR5cGVFcnJvcihKU0ds
b2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYpOwogSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3Qq
IGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKEpTR2xvYmFsT2JqZWN0Kik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4
IDBmMmY1YTMxODQwMmZiYjdjN2Q4ODAyYjZkNzg0MmVmZTQwNmM4NDYuLjliZTkzMGNmMWMzYzlh
NDBlNjA4NTk4MzU1OGExYTU5YmM3OGI2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCkBAIC02MCwxNCArNjAsMTQgQEAgSlND
X0RFRklORV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdEVycm9yQ29uc3RydWN0b3IsIChKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWMKICAgICAgICAgOiBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVT
dWJjbGFzc1N0cnVjdHVyZShnbG9iYWxPYmplY3QsIG5ld1RhcmdldCwgZ2V0RnVuY3Rpb25SZWFs
bSh2bSwgbmV3VGFyZ2V0KS0+ZXJyb3JTdHJ1Y3R1cmUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgeyB9KTsKIAotICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1
ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0
dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKSk7CisgICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRl
KGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3Ro
aW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpKTsKIH0KIAogSlNDX0RFRklORV9IT1NUX0ZV
TkNUSU9OKGNhbGxFcnJvckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxG
cmFtZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGdsb2Jh
bE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVy
cm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdl
LCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBt
ZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2UpKTsK
IH0KIAogYm9vbCBFcnJvckNvbnN0cnVjdG9yOjpwdXQoSlNDZWxsKiBjZWxsLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZh
bHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwCmluZGV4IDJlNGVjMzlmMTIwNThiMjUwODcyMmUwYjgy
NTIyNDdiZWIwMzE5ZTYuLjBmODZlMjJiOTJkZGQ2ZDEzOTg1OGI4NmU1NmNlYWRjYWVjZTBkNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2Uu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3Bw
CkBAIC0zNCwxOCArMzQsMjMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNvbnN0IENsYXNzSW5mbyBF
cnJvckluc3RhbmNlOjpzX2luZm8gPSB7ICJFcnJvciIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2lu
Zm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRXJyb3JJbnN0YW5jZSkg
fTsKIAotRXJyb3JJbnN0YW5jZTo6RXJyb3JJbnN0YW5jZShWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQorRXJyb3JJbnN0YW5jZTo6RXJyb3JJbnN0YW5jZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBFcnJvclR5cGUgZXJyb3JUeXBlKQogICAgIDogQmFzZSh2bSwgc3RydWN0dXJl
KQorICAgICwgbV9lcnJvclR5cGUoZXJyb3JUeXBlKQorICAgICwgbV9zdGFja092ZXJmbG93RXJy
b3IoZmFsc2UpCisgICAgLCBtX291dE9mTWVtb3J5RXJyb3IoZmFsc2UpCisgICAgLCBtX2Vycm9y
SW5mb01hdGVyaWFsaXplZChmYWxzZSkKKyAgICAsIG1fbmF0aXZlR2V0dGVyVHlwZUVycm9yKGZh
bHNlKQogewogfQogCi1FcnJvckluc3RhbmNlKiBFcnJvckluc3RhbmNlOjpjcmVhdGUoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUgbWVz
c2FnZSwgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1bnRpbWVUeXBlIHR5cGUsIGJvb2wgdXNl
Q3VycmVudEZyYW1lKQorRXJyb3JJbnN0YW5jZSogRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1ZhbHVlIG1l
c3NhZ2UsIFNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyLCBSdW50aW1lVHlwZSB0eXBlLCBFcnJvclR5
cGUgZXJyb3JUeXBlLCBib29sIHVzZUN1cnJlbnRGcmFtZSkKIHsKICAgICBWTSYgdm0gPSBnbG9i
YWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OwogICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nID0gbWVzc2FnZS5pc1VuZGVmaW5lZCgpID8gU3Ry
aW5nKCkgOiBtZXNzYWdlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7CiAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAgcmV0dXJuIGNyZWF0ZShnbG9iYWxPYmpl
Y3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGFwcGVuZGVyLCB0eXBlLCB1c2VDdXJy
ZW50RnJhbWUpOworICAgIHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0dXJl
LCBtZXNzYWdlU3RyaW5nLCBhcHBlbmRlciwgdHlwZSwgZXJyb3JUeXBlLCB1c2VDdXJyZW50RnJh
bWUpOwogfQogCiBzdGF0aWMgU3RyaW5nIGFwcGVuZFNvdXJjZVRvRXJyb3JNZXNzYWdlKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBFcnJvckluc3RhbmNlKiBleGNlcHRpb24sIEJ5dGVjb2RlSW5kZXgg
Ynl0ZWNvZGVJbmRleCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQpAQCAtMTMxLDcgKzEzNiwyNSBA
QCB2b2lkIEVycm9ySW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUwogLy8gQmFzZWQgb24gRXJyb3JQcm90b3R5cGUncyBl
cnJvclByb3RvRnVuY1RvU3RyaW5nKCksIGJ1dCBpcyBtb2RpZmllZCB0bwogLy8gaGF2ZSBubyBv
YnNlcnZhYmxlIHNpZGUgZWZmZWN0cyB0byB0aGUgdXNlciAoaS5lLiBkb2VzIG5vdCBjYWxsIHBy
b3hpZXMsCiAvLyBhbmQgZ2V0dGVycykuCi1TdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVk
VG9TdHJpbmcoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK1N0cmluZyBFcnJvckluc3Rh
bmNlOjpzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
Cit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBJbnRlZ3JpdHk6OmF1ZGl0U3RydWN0dXJlSUQo
dm0sIHN0cnVjdHVyZUlEKCkpOworCisgICAgSlNWYWx1ZSBtZXNzYWdlVmFsdWU7CisgICAgYXV0
byBtZXNzYWdlUHJvcGVydE5hbWUgPSB2bS5wcm9wZXJ0eU5hbWVzLT5tZXNzYWdlOworICAgIFBy
b3BlcnR5U2xvdCBtZXNzYWdlU2xvdCh0aGlzLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9k
VHlwZTo6Vk1JbnF1aXJ5LCAmdm0pOworICAgIGlmIChKU09iamVjdDo6Z2V0T3duUHJvcGVydHlT
bG90KHRoaXMsIGdsb2JhbE9iamVjdCwgbWVzc2FnZVByb3BlcnROYW1lLCBtZXNzYWdlU2xvdCkg
JiYgbWVzc2FnZVNsb3QuaXNWYWx1ZSgpKQorICAgICAgICBtZXNzYWdlVmFsdWUgPSBtZXNzYWdl
U2xvdC5nZXRWYWx1ZShnbG9iYWxPYmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSk7CisgICAgc2Nv
cGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKKworICAgIGlmICghbWVzc2FnZVZhbHVlKQorICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBtZXNzYWdl
VmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KSk7Cit9CisKK1N0cmluZyBFcnJvckluc3Rh
bmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7
CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTE1NywyOCArMTgwLDIyIEBAIFN0cmluZyBFcnJvcklu
c3RhbmNlOjpzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQog
ICAgIH0KICAgICBzY29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOwogCi0gICAgU3RyaW5nIG5hbWVT
dHJpbmc7CiAgICAgaWYgKCFuYW1lVmFsdWUpCi0gICAgICAgIG5hbWVTdHJpbmcgPSAiRXJyb3Ii
X3M7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG5hbWVTdHJpbmcgPSBuYW1lVmFsdWUudG9XVEZTdHJp
bmcoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgU3Ry
aW5nKCkpOwotICAgIH0KKyAgICAgICAgcmV0dXJuICJFcnJvciJfczsKKyAgICBSRUxFQVNFX0FO
RF9SRVRVUk4oc2NvcGUsIG5hbWVWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpKTsKK30K
IAotICAgIEpTVmFsdWUgbWVzc2FnZVZhbHVlOwotICAgIGF1dG8gbWVzc2FnZVByb3BlcnROYW1l
ID0gdm0ucHJvcGVydHlOYW1lcy0+bWVzc2FnZTsKLSAgICBQcm9wZXJ0eVNsb3QgbWVzc2FnZVNs
b3QodGhpcywgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSwgJnZt
KTsKLSAgICBpZiAoSlNPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdCh0aGlzLCBnbG9iYWxPYmpl
Y3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSwgbWVzc2FnZVNsb3QpICYmIG1lc3NhZ2VTbG90LmlzVmFs
dWUoKSkKLSAgICAgICAgbWVzc2FnZVZhbHVlID0gbWVzc2FnZVNsb3QuZ2V0VmFsdWUoZ2xvYmFs
T2JqZWN0LCBtZXNzYWdlUHJvcGVydE5hbWUpOwotICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9u
KCk7CitTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Cisg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEludGVncml0eTo6
YXVkaXRTdHJ1Y3R1cmVJRCh2bSwgc3RydWN0dXJlSUQoKSk7CiAKLSAgICBTdHJpbmcgbWVzc2Fn
ZVN0cmluZzsKLSAgICBpZiAoIW1lc3NhZ2VWYWx1ZSkKLSAgICAgICAgbWVzc2FnZVN0cmluZyA9
IFN0cmluZygpOwotICAgIGVsc2UgewotICAgICAgICBtZXNzYWdlU3RyaW5nID0gbWVzc2FnZVZh
bHVlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIFN0cmluZygpKTsKLSAgICB9CisgICAgU3RyaW5nIG5hbWVTdHJpbmcgPSBzYW5p
dGl6ZWROYW1lU3RyaW5nKGdsb2JhbE9iamVjdCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgU3RyaW5nKCkpOworCisgICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcgPSBzYW5pdGl6ZWRN
ZXNzYWdlU3RyaW5nKGdsb2JhbE9iamVjdCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgU3RyaW5nKCkpOwogCiAgICAgaWYgKCFuYW1lU3RyaW5nLmxlbmd0aCgpKQogICAgICAgICBy
ZXR1cm4gbWVzc2FnZVN0cmluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9ySW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9ySW5zdGFuY2UuaAppbmRleCBkYTY2ZWI3NmU3YWRlOTBmZDQxYmIxNjI3MDcyNWE3ZDE0NzBh
ZDM4Li45ODcxMzU3MjFiMzA1NjYyMzBkMjYxYzgzM2FkOGRlY2E1NDYxNDU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCkBAIC0yMCw2ICsyMCw3
IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRXJyb3JUeXBlLmgiCiAjaW5jbHVkZSAi
SlNPYmplY3QuaCIKICNpbmNsdWRlICJSdW50aW1lVHlwZS5oIgogI2luY2x1ZGUgIlN0YWNrRnJh
bWUuaCIKQEAgLTUzLDE0ICs1NCwxNCBAQCBjbGFzcyBFcnJvckluc3RhbmNlIDogcHVibGljIEpT
Tm9uRmluYWxPYmplY3QgewogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhFcnJvckluc3RhbmNlVHlwZSwgU3RydWN0
dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotICAgIHN0YXRpYyBFcnJvckluc3RhbmNlKiBj
cmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRlciA9
IG51bGxwdHIsIFJ1bnRpbWVUeXBlIHR5cGUgPSBUeXBlTm90aGluZywgYm9vbCB1c2VDdXJyZW50
RnJhbWUgPSB0cnVlKQorICAgIHN0YXRpYyBFcnJvckluc3RhbmNlKiBjcmVhdGUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRp
bWVUeXBlIHR5cGUgPSBUeXBlTm90aGluZywgRXJyb3JUeXBlIGVycm9yVHlwZSA9IEVycm9yVHlw
ZTo6RXJyb3IsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSkKICAgICB7Ci0gICAgICAgIEVy
cm9ySW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RXJyb3JJ
bnN0YW5jZT4odm0uaGVhcCkpIEVycm9ySW5zdGFuY2Uodm0sIHN0cnVjdHVyZSk7CisgICAgICAg
IEVycm9ySW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RXJy
b3JJbnN0YW5jZT4odm0uaGVhcCkpIEVycm9ySW5zdGFuY2Uodm0sIHN0cnVjdHVyZSwgZXJyb3JU
eXBlKTsKICAgICAgICAgaW5zdGFuY2UtPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3Qs
IG1lc3NhZ2UsIGFwcGVuZGVyLCB0eXBlLCB1c2VDdXJyZW50RnJhbWUpOwogICAgICAgICByZXR1
cm4gaW5zdGFuY2U7CiAgICAgfQogCi0gICAgc3RhdGljIEVycm9ySW5zdGFuY2UqIGNyZWF0ZShK
U0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTVmFsdWUgbWVzc2FnZSwgU291cmNlQXBwZW5k
ZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVOb3RoaW5nLCBib29sIHVzZUN1cnJlbnRG
cmFtZSA9IHRydWUpOworICAgIHN0YXRpYyBFcnJvckluc3RhbmNlKiBjcmVhdGUoSlNHbG9iYWxP
YmplY3QqLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyID0gbnVs
bHB0ciwgUnVudGltZVR5cGUgPSBUeXBlTm90aGluZywgRXJyb3JUeXBlID0gRXJyb3JUeXBlOjpF
cnJvciwgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKTsKIAogICAgIGJvb2wgaGFzU291cmNl
QXBwZW5kZXIoKSBjb25zdCB7IHJldHVybiAhIW1fc291cmNlQXBwZW5kZXI7IH0KICAgICBTb3Vy
Y2VBcHBlbmRlciBzb3VyY2VBcHBlbmRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBwZW5k
ZXI7IH0KQEAgLTcwLDYgKzcxLDcgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKICAgICBSdW50aW1lVHlwZSBydW50aW1lVHlwZUZvckNhdXNlKCkgY29u
c3QgeyByZXR1cm4gbV9ydW50aW1lVHlwZUZvckNhdXNlOyB9CiAgICAgdm9pZCBjbGVhclJ1bnRp
bWVUeXBlRm9yQ2F1c2UoKSB7IG1fcnVudGltZVR5cGVGb3JDYXVzZSA9IFR5cGVOb3RoaW5nOyB9
CiAKKyAgICBFcnJvclR5cGUgZXJyb3JUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvclR5cGU7
IH0KICAgICB2b2lkIHNldFN0YWNrT3ZlcmZsb3dFcnJvcigpIHsgbV9zdGFja092ZXJmbG93RXJy
b3IgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1N0YWNrT3ZlcmZsb3dFcnJvcigpIGNvbnN0IHsgcmV0
dXJuIG1fc3RhY2tPdmVyZmxvd0Vycm9yOyB9CiAgICAgdm9pZCBzZXRPdXRPZk1lbW9yeUVycm9y
KCkgeyBtX291dE9mTWVtb3J5RXJyb3IgPSB0cnVlOyB9CkBAIC03OSw2ICs4MSw4IEBAIGNsYXNz
IEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgYm9vbCBpc05h
dGl2ZUdldHRlclR5cGVFcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlR2V0dGVyVHlwZUVy
cm9yOyB9CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgc2FuaXRpemVkVG9TdHJpbmco
SlNHbG9iYWxPYmplY3QqKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgc2FuaXRpemVk
TWVzc2FnZVN0cmluZyhKU0dsb2JhbE9iamVjdCopOworICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0
cmluZyBzYW5pdGl6ZWROYW1lU3RyaW5nKEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgCiAgICAgVmVj
dG9yPFN0YWNrRnJhbWU+KiBzdGFja1RyYWNlKCkgeyByZXR1cm4gbV9zdGFja1RyYWNlLmdldCgp
OyB9CiAKQEAgLTg4LDcgKzkyLDcgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKICAgICB2b2lkIGZpbmFsaXplVW5jb25kaXRpb25hbGx5KFZNJik7CiAK
IHByb3RlY3RlZDoKLSAgICBleHBsaWNpdCBFcnJvckluc3RhbmNlKFZNJiwgU3RydWN0dXJlKik7
CisgICAgZXhwbGljaXQgRXJyb3JJbnN0YW5jZShWTSYsIFN0cnVjdHVyZSosIEVycm9yVHlwZSk7
CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBjb25zdCBT
dHJpbmcmLCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlID0gVHlwZU5vdGhp
bmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSk7CiAKQEAgLTEwOCwxMCArMTEyLDExIEBA
IGNsYXNzIEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgU3Ry
aW5nIG1fc291cmNlVVJMOwogICAgIFN0cmluZyBtX3N0YWNrU3RyaW5nOwogICAgIFJ1bnRpbWVU
eXBlIG1fcnVudGltZVR5cGVGb3JDYXVzZSB7IFR5cGVOb3RoaW5nIH07Ci0gICAgYm9vbCBtX3N0
YWNrT3ZlcmZsb3dFcnJvciB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX291dE9mTWVtb3J5RXJyb3Ig
eyBmYWxzZSB9OwotICAgIGJvb2wgbV9lcnJvckluZm9NYXRlcmlhbGl6ZWQgeyBmYWxzZSB9Owot
ICAgIGJvb2wgbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3IgeyBmYWxzZSB9OworICAgIEVycm9yVHlw
ZSBtX2Vycm9yVHlwZSB7IEVycm9yVHlwZTo6RXJyb3IgfTsKKyAgICBib29sIG1fc3RhY2tPdmVy
Zmxvd0Vycm9yIDogMTsKKyAgICBib29sIG1fb3V0T2ZNZW1vcnlFcnJvciA6IDE7CisgICAgYm9v
bCBtX2Vycm9ySW5mb01hdGVyaWFsaXplZCA6IDE7CisgICAgYm9vbCBtX25hdGl2ZUdldHRlclR5
cGVFcnJvciA6IDE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcApp
bmRleCA0MDIxZmM3ZTBhZGFmN2EwYTllMGVmNmNmZDIyNTgzOGI1YmY4NzgzLi5hZjcyNjI4MzFj
YTFiYjc1YzZhZTU1NDExZGU0Y2Q4NWE4MTM3ZGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCkBAIC02
OTQsNyArNjk0LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNUaHJvd1R5
cGVFcnJvckFyZ3VtZW50c0NhbGxlZUFuZENhbGxlciwgKEpTR2wKIEpTQ19ERUZJTkVfSE9TVF9G
VU5DVElPTihnbG9iYWxGdW5jTWFrZVR5cGVFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3Ry
dWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlR5cGVFcnJv
cik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xv
YmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgY2FsbEZyYW1lLT5hcmd1bWVudCgwKSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJv
ckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgY2FsbEZyYW1l
LT5hcmd1bWVudCgwKSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6VHlwZUVycm9y
LCBmYWxzZSkpOwogfQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY1Byb3Rv
R2V0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJh
bWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJy
b3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVF
cnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA3Y2MxMWI1ZjVlMTI5NzIyMDE2Yjg2NzFmMTM3YzZi
YjE3MjEzODQwLi5iNmU3ZWRlZmQ0MmVkYzYzNWQ5MGI3ZTBlOGM3YjRmYzBjMjQzZDFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNv
bnN0cnVjdG9yLmNwcApAQCAtNTgsNyArNTgsNyBAQCBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgTmF0
aXZlRXJyb3JDb25zdHJ1Y3RvcjxlcnJvclR5cGU+Ojpjb25zdHJ1Y3RJbXBsKEpTR2xvYmFsTwog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAgICAgQVNTRVJUKGVycm9yU3Ry
dWN0dXJlKTsKIAotICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5jb2Rl
KEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNz
YWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKSk7CisgICAgUkVMRUFTRV9BTkRfUkVU
VVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBlcnJv
clR5cGUsIGZhbHNlKSkpOwogfQogCiB0ZW1wbGF0ZTxFcnJvclR5cGUgZXJyb3JUeXBlPgpAQCAt
NjYsNyArNjYsNyBAQCBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rv
cjxlcnJvclR5cGU+OjpjYWxsSW1wbChKU0dsb2JhbE9iamVjdAogewogICAgIEpTVmFsdWUgbWVz
c2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVj
dHVyZSA9IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoZXJyb3JUeXBlKTsKLSAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVy
cm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZXJyb3JU
eXBlLCBmYWxzZSkpOwogfQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEV2YWxFcnJv
ciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxTZXR0ZXJGdW5j
dGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsU2V0dGVyRnVuY3Rp
b24uY3BwCmluZGV4IDI2ZjNiNmE4ZjlkYjY3OGNkOTRkMDVhZTg4YjExYjg5ZTYxYzBlYmMuLjBk
ZGIyYzZhNTBmNDZiYzYzNjk5NWNhNDZkN2YxOGU1YjI2ODYzZWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcApAQCAtOTQs
NyArOTQsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbFRocm93RXJyb3IsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbQogICAgIGF1dG8gc2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVk
IGZyb20gSUMuIEFuZCB3ZSBkbyBub3Qgd2FudCB0byBpbmNsdWRlIHRoaXMgZnJhbWUgaW4gRXJy
b3IncyBzdGFjay4KICAgICBjb25zdGV4cHIgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSBmYWxzZTsK
LSAgICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlLCBFcnJvckluc3RhbmNlOjpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJv
clR5cGU6OlR5cGVFcnJvciksIFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yLCBudWxscHRyLCBU
eXBlTm90aGluZywgdXNlQ3VycmVudEZyYW1lKSk7CisgICAgdGhyb3dFeGNlcHRpb24oZ2xvYmFs
T2JqZWN0LCBzY29wZSwgRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIGds
b2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpLCBSZWFkb25s
eVByb3BlcnR5V3JpdGVFcnJvciwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6VHlw
ZUVycm9yLCB1c2VDdXJyZW50RnJhbWUpKTsKICAgICByZXR1cm4geyB9OwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVy
cm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21w
aWxlRXJyb3IuY3BwCmluZGV4IDM4MzczYTc2MGQ1OWQwZWVkYjQ5NGRiODhkODUyNGZhYjlhNTE1
NGUuLjllYmQzZDQ0NmE5ZGE5YWQxOWQ3YmE0MTk5MDA2M2ZjNWE2MzI4ZmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21w
aWxlRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3Iq
IEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvCiB9
CiAKIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OkpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3Io
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkK
KyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtF
cnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlu
a0Vycm9yLmNwcAppbmRleCBlYWRlMDM0MTNlNGNlMzYwYmEwODlmOGM1M2QxOGNmOGQ2ZDcwMjM1
Li45YjIwMDU4ZWNmMzRhZjkxYjZiMThkMTVmNjUxNTc4NWMyMTcyZTJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9y
LmNwcApAQCAtNDEsNyArNDEsNyBAQCBKU1dlYkFzc2VtYmx5TGlua0Vycm9yKiBKU1dlYkFzc2Vt
Ymx5TGlua0Vycm9yOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iagogfQogCiBKU1dl
YkFzc2VtYmx5TGlua0Vycm9yOjpKU1dlYkFzc2VtYmx5TGlua0Vycm9yKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZt
LCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3IpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5j
cHAKaW5kZXggYmUxZjkyODYwMzA0NWQ3Y2Y3MjkzMjRlZTRhNzdhZTgzZmNlOWNiZS4uMTkzM2E2
ZTM4ODhmYmVhY2NmMDdhYzJiMzdjNzQ1MDQ4NGZhNTFmMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5j
cHAKQEAgLTQxLDcgKzQxLDcgQEAgSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciogSlNXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvcjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG8KIH0KIAogSlNXZWJB
c3NlbWJseVJ1bnRpbWVFcnJvcjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcihWTSYgdm0sIFN0
cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDogQmFz
ZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5cGU6OkVycm9yKQogewogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0
cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29t
cGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDVjZDAwMzVhMDFmZGI3OGRkYzM1ZmM0N2I2
Yjg1ODBiZTQ1ZDM1OTcuLmMzYTBkMzk3ZjUwNGUyNThmMWQ3MGY4YjQ4MmI3OWExZDllNzI2NmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29t
cGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC02NSw3ICs2NSw3
IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJv
ciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPCiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2Fs
bEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xv
YmFsT2JqZWN0LT53ZWJBc3NlbWJseUNvbXBpbGVFcnJvclN0cnVjdHVyZSgpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJy
b3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOworICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5
cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVj
dG9yKiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUqIHRo
aXNQcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDk0NmRl
ZjRmMTE1MjI5YTIyNWJlOTMyYWM5ZTY0MzViNmM4YWIyYTkuLjJjNWY2YTI5MzFmMTUyMTU4NWFh
YTkzNWU1NmI0YmQyZjE5YzE2YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3Bw
CkBAIC02NSw3ICs2NSw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsSlNXZWJBc3Nl
bWJseUxpbmtFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplCiB7CiAgICAgSlNWYWx1
ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1Y3R1cmUqIGVycm9y
U3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseUxpbmtFcnJvclN0cnVjdHVyZSgp
OwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2Jh
bE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBm
YWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRl
KGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3Ro
aW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBXZWJBc3NlbWJseUxpbmtFcnJv
ckNvbnN0cnVjdG9yKiBXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0m
IHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUq
IHRoaXNQcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IDNkZmQ5MTU2N2I2MGE1OGRkOWFhNjg0MmZmNjc5MDIxZjVjYjkyNTIuLmE4NTY2OWM1MThi
MWU5YWE2OGM5NWFkMDU2NmViZmQ2ZmMzZGZhOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9y
Q29uc3RydWN0b3IuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElP
TihjYWxsSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
CiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBT
dHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseVJ1bnRp
bWVFcnJvclN0cnVjdHVyZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxw
dHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJy
b3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2Us
IG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBX
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yKiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
ckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNz
ZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUqIHRoaXNQcm90b3R5cGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQppbmRleCBiMzNhMzY5MTdiYTIyNGJkZGY2MmQ2MDU3NTA0MGQyZDdlYzk2Yzk4Li41YmMxZDZl
NzAzZGI2NGY2ZjdlZTU2Y2NiNzViY2FiNjJiOThhODk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAg
LTMwLDYgKzMwLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogCiAg
ICAgTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oCiAgICAgTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHlTb3VyY2UuaAorICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Q3JlZGVudGlh
bHMuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKICAgICBNb2R1bGVzL2ZldGNo
L0ZldGNoSWRlbnRpZmllci5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5oCkBAIC0y
ODgsNiArMjg5LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAg
IGJpbmRpbmdzL2pzL1dlYkNvcmVKSVRPcGVyYXRpb25zLmgKICAgICBiaW5kaW5ncy9qcy9XZWJD
b3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaAogICAgIGJpbmRpbmdzL2pzL1dpbmRvd1Byb3h5LmgK
KyAgICBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmgKIAogICAgIGJyaWRnZS9Ccmlk
Z2UuaAogICAgIGJyaWRnZS9JZGVudGlmaWVyUmVwLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCBk
NDFiNzA4ZjI5YzhmNzU1NjkxNmY3ODEzMGY2NjQzM2NmZTcxMzNkLi4wMDIxOWYyZDAyOTE4MzA5
MTM0NDU4NDFhMGE0YzcwMWFkZDM3NTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1dvcmtsZXRHbG9iYWxTY29wZS5oCkBAIC00Niw3ICs0
Niw3IEBAIGNsYXNzIEpTQXVkaW9Xb3JrbGV0UHJvY2Vzc29yQ29uc3RydWN0b3I7CiAKIHN0cnVj
dCBXb3JrbGV0UGFyYW1ldGVyczsKIAotY2xhc3MgQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUgOiBw
dWJsaWMgV29ya2xldEdsb2JhbFNjb3BlIHsKK2NsYXNzIEF1ZGlvV29ya2xldEdsb2JhbFNjb3Bl
IGZpbmFsIDogcHVibGljIFdvcmtsZXRHbG9iYWxTY29wZSB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChBdWRpb1dvcmtsZXRHbG9iYWxTY29wZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZlB0cjxBdWRpb1dvcmtsZXRHbG9iYWxTY29wZT4gdHJ5Q3JlYXRlKEF1ZGlvV29ya2xldFRocmVh
ZCYsIGNvbnN0IFdvcmtsZXRQYXJhbWV0ZXJzJik7CkBAIC02OSw2ICs2OSw4IEBAIGNsYXNzIEF1
ZGlvV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtsZXRHbG9iYWxTY29wZSB7CiAgICAg
dm9pZCBoYW5kbGVQcmVSZW5kZXJUYXNrcygpOwogICAgIHZvaWQgaGFuZGxlUG9zdFJlbmRlclRh
c2tzKHNpemVfdCBjdXJyZW50RnJhbWUpOwogCisgICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
biBkZXN0aW5hdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEZldGNoT3B0aW9uczo6RGVzdGlu
YXRpb246OkF1ZGlvd29ya2xldDsgfQorCiBwcml2YXRlOgogICAgIEF1ZGlvV29ya2xldEdsb2Jh
bFNjb3BlKEF1ZGlvV29ya2xldFRocmVhZCYsIFJlZjxKU0M6OlZNPiYmLCBjb25zdCBXb3JrbGV0
UGFyYW1ldGVycyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGMzNWMwNmYwMzA2N2YxZGMwMmI1NDU2
OTc1M2E0OTc1MDdhOWQ1MmUuLjk3OTc0YmM2ODkzNzIyYjZjZGNiODJmMzM1Mjg2MTFmMTJkYzg4
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC02MzksNiArNjM5LDcgQEAgYmluZGluZ3MvanMvU3RydWN0
dXJlZENsb25lLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZUpJVE9wZXJhdGlvbnMuY3BwCiBiaW5k
aW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZVR5cGVk
QXJyYXlDb250cm9sbGVyLmNwcAorYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
LmNwcAogYmluZGluZ3MvanMvV2luZG93UHJveHkuY3BwCiBiaW5kaW5ncy9qcy9Xcml0YWJsZVN0
cmVhbS5jcHAKIGJyaWRnZS9JZGVudGlmaWVyUmVwLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDcxYWE4YzU4MWI2NWQ5NGNi
OWY1NDMyNDczMzlmODA3NWJmMGE2ZjIuLmYxMDcwYWZlMDVkNDU4MmEwYWQ3N2RjNjQ5YTQ2NTI4
NzE3ZDFlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTUwNzMsMTUgKzUwNzMsMTggQEAKIAkJRTMwNTkyNjQxRTI3QTNBRDAw
RDU3Qzk4IC8qIElubGluZUNsYXNzaWNTY3JpcHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDU5MjYyMUUyN0EzOEMwMEQ1N0M5OCAvKiBJbmxpbmVD
bGFzc2ljU2NyaXB0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTMwNTkyNjgxRTI3QTNEMTAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZldGNoZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDU5MjY2
MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMwN0RFRDAxRDgxRTRDNzAwMTQx
Q0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCUUzMDdERUQxMUQ4MUU0Q0IwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzMDdERUM4MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlFMzA3REVENTFEODFFNEYyMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDdERUQz
MUQ4MUU0RUQwMDE0MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNjcmlwdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMTUwRUE3MURBNzIxOTMwMDE5
NDAxMiAvKiBET01KSVRIZWxwZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzE1MEVBNTFEQTcyMThEMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5o
ICovOyB9OwogCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzhE
MDYwOTFGOEU4MTE5MDA2NDlDRjIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMyM0NGRkExRTVBRjZB
RjAwRjBCNEEwIC8qIEpTRE9NQ29udmVydFByb21pc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMjNDRkY5MUU1QUY2QTUwMEYwQjRBMCAvKiBKU0RP
TUNvbnZlcnRQcm9taXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRTM0MzJERTQyNUQzNzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlw
dExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oICov
OyB9OworCQlFMzQ3RTVGQTI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM0N0U1Rjgy
NUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzUxODhCNDI1RDM4N0NGMDBBNzdB
RjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxl
U2NyaXB0TG9hZGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTM1NjVCN0IxREMyRDZDOTAwMjE3REJEIC8qIEpTRXZlbnRDdXN0b20u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNEVFNDlG
MURDMkQ1NzUwMEVBQTlEMyAvKiBKU0V2ZW50Q3VzdG9tLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM1ODAyQjYxREM4NDM1RDAwQTk3NzNDIC8q
IERPTUpJVElETFR5cGVGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNTgwMkI1MURDODQzNTgwMEE5NzczQyAvKiBET01KSVRJRExUeXBlRmls
dGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RTM1ODJDMjgyNTI3RjY2OTAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzU4MkMyNjI1MjdGNjY4
MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzVCOTA3RjIzRjYwQTUwMDAwMDExRkYgLyog
TG9jYWxpemVkRGV2aWNlTW9kZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNUI5MDdDMjNGNjA2NzcwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VN
b2RlbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUUzNjQzMjFDMjVEMzdBNjcwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNjQzMjFBMjVEMzdBNjYw
MEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzc3RkU0RDFEQURFMTY1MDBDREQwMjUgLyogTm9k
ZUNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTNEMDQ5OTMxREFEQzA0NTAwNzE4RjNDIC8qIE5vZGVDb25zdGFudHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzdDODY1MDFFQjYzRTNG
MDA4N0M2Q0EgLyogSlNET01Qcm9taXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMzdDODY0RjFFQjYzRTJEMDA4N0M2Q0EgLyogSlNET01Qcm9taXNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM5
NjI4QkYyMzk1NzI4RjAwNjU4RUNEIC8qIERldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYyOEJE
MjM5NTcyOEUwMDY1OEVDRCAvKiBEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE2MjA3LDcg
KzE2MjEwLDYgQEAKIAkJRTMwNTkyNjYxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNjcmlwdEZl
dGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkU2NyaXB0RmV0
Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVDNjFEODFFNDQ4MDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMDdERUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUz
MDdERUM4MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMDdERUQyMUQ4MUU0
RUQwMDE0MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBMb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzMDdERUQzMUQ4MUU0RUQwMDE0MUNBRiAvKiBMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2FkYWJsZU1v
ZHVsZVNjcmlwdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzE1MEVBNTFEQTcy
MThEMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01KSVRIZWxwZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NjIyMCwxMiArMTYyMjIsMTcgQEAKIAkJRTMyOTI3NjMyMjU0M0Y1OTAwMzA4QTlBIC8qIFR5cGVk
T01DU1NVbml0VmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHlwZWRPTUNTU1VuaXRWYWx1
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMjkyNzY2MjI1NDNGREUwMDMw
OEE5QSAvKiBET01SZWN0UmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NUmVjdFJl
YWRPbmx5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMzNDgyNUUxREM5M0FB
MDAwOUM5NTQ0IC8qIERPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCUUzNDMyREUwMjVEMzc3RTIw
MDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUUzNDMyREUzMjVEMzc3RTMwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTM0N0U1RjgyNUQ0RjAwMDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2VyU2NyaXB0RmV0Y2hlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMgLyogSlNFdmVu
dEN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2ZW50Q3VzdG9t
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FG
MyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUzNTgwMkI1MURDODQzNTgwMEE5NzczQyAvKiBET01KSVRJRExUeXBlRmlsdGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVElETFR5cGVGaWx0ZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODJDMjQyNTI3RjY2ODAwRDFCNzkw
IC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVKSVRPcGVyYXRpb25z
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdDMjNGNjA2NzcwMDAwMTFG
RiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFMzVCOTA3RTIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbGl6ZWREZXZpY2VNb2Rl
bC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM2NDMyMUEyNUQzN0E2NjAwRjkw
RTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVByb21pc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUzIC8qIFNjcmlwdE1vZHVsZUxvYWRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRNb2R1bGVMb2Fk
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5NTFCQUQxNDVGMDBE
NjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjcwMjIsNyArMjcwMjksNiBAQAogCQkJCTJERkE0ODhFMURCNTQxQzIwMDM2MkI5OSAvKiBC
dWZmZXJTb3VyY2UuaCAqLywKIAkJCQlFMzA3REVDNjFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLywKIAkJCQlFMzA3REVDNzFEODFFNDQ4MDAxNDFDQUYg
LyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCi0JCQkJRTMwN0RFQzgxRDgxRTQ0ODAw
MTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovLAogCQkJCUUzMDU5
MjY1MUUyN0EzQzYwMEQ1N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCAqLywKIAkJCQlF
MzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovLAogCQkJ
CUJDRDUzMzYzMEVENjg0ODkwMDg4NzQ2OCAvKiBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5o
ICovLApAQCAtMjcwOTYsNiArMjcxMDIsOCBAQAogCQkJCTRCREVBMzJEMjE4MDM0MDUwMDUyREZD
RCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwICovLAogCQkJCTRCREVBMzJCMjE4MDMz
RUIwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuaCAqLywKIAkJCQk3MDlBMDFG
RDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oICovLAorCQkJCUUz
NjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLywKKwkJCQlF
MzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8s
CiAJCQkJNDFCNDU5RUQxRjU1RUJDNzAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmNwcCAqLywK
IAkJCQk0MUI0NTlEQTFGNENBREI5MDAwMEY2RkQgLyogUmVhZGFibGVTdHJlYW0uaCAqLywKIAkJ
CQk0MThDMzk1RTFDOEYwQUFCMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJv
bGxlci5jcHAgKi8sCkBAIC0yNzEyNyw2ICsyNzEzNSw5IEBACiAJCQkJMEYwOTlEMDcxN0I5NjhB
MTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oICovLAogCQkJCTQ2MzUy
MUFDMjA4MTA5MEUwMEMyODkyMiAvKiBXaW5kb3dQcm94eS5jcHAgKi8sCiAJCQkJNDYzNTIxQUEy
MDgxMDkwQjAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5LmggKi8sCisJCQkJRTM0MzJERTMyNUQzNzdF
MzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8sCisJCQkJRTM0MzJE
RTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oICovLAorCQkJ
CUUzNDdFNUY4MjVENEYwMDAwMEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggKi8sCiAJ
CQkJNDE0MThBMDMyNTY0M0UxMjAwMzYzNDE3IC8qIFdyaXRhYmxlU3RyZWFtLmNwcCAqLywKIAkJ
CQk0MTQxOEEwNDI1NjQzRTEzMDAzNjM0MTcgLyogV3JpdGFibGVTdHJlYW0uaCAqLywKIAkJCSk7
CkBAIC0zMTQwNSw3ICszMTQxNiw2IEBACiAJCQkJQkNCMTZDMUMwOTc5QzNCRDAwNDY3NzQxIC8q
IENhY2hlZEltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTlGQkQ1RjE1RDJGNDY0MDA5NjQw
QTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzMDdERUQwMUQ4
MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICov
LAotCQkJCUUzMDdERUQxMUQ4MUU0Q0IwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDE4NDY5MEIwODYwMkEwMDRBODI1RiAv
KiBDYWNoZWRQYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMEVEQTc3NTE0M0UzMDNDMDAyOEUz
ODMgLyogQ2FjaGVkUmF3UmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQjUzMzQ5MTcx
N0RFRTMwMEYyMDVGOSAvKiBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zMzg4MCw2ICszMzg5MCw4IEBACiAJCQkJQzZENzRBRDUwOUFBMjgyRTAwMEIwQTUyIC8q
IE1vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzA5QTAxRkUx
RTNEMEJERDAwNkIwRDRDIC8qIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUzMjAxQzFBMUY4RTgyMTMwMDc2QTAzMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUUzNjQzMjFDMjVEMzdBNjcwMEY5MEUyQSAvKiBNb2R1bGVT
Y3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FG
MyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIz
REM2MTI1MUYxMkQwMDNFRjI2OSAvKiBNb250aElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTM5NjI4QzEyMzk1NzQzMTAwNjU4RUNEIC8qIE1vdGlvbk1hbmFnZXJDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg1MDMxQjQ2MEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZUV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTM1NTMyLDYgKzM1NTQ0LDcgQEAKIAkJCQkxOEY4MzFCODBGRDQ4
Qzc4MDBEOEM1NkIgLyogV29ya2VyTG9hZGVyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJF
NDM0NjREMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMkU0MzQ2NTAwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlck1lc3NhZ2luZ1Byb3h5Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI3MUEwQjBFRUVDNzdBMDBG
NjEyMTMgLyogV29ya2VyTmF2aWdhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUNCMDUyNTFG
QjUxRjNBMDAwODlCOTcgLyogV29ya2VyTmV0d29ya0FnZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyRTQzNDY1MTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyT2JqZWN0UHJveHkuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzU1NDEsNiArMzU1NTQsNyBAQAogCQkJCTQxNkUyOUE2MTAyRkE5NjIwMDdG
QzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2
NTMwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlclJ1bkxvb3AuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE1QjgxQ0NGMUZBQTQ0REUwMDM3RDFFNiAvKiBXb3JrZXJSdW50aW1lQWdlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUUzNDdFNUZBMjVENEYwMDAwMEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRj
aGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q2QjM0OTBGNjExMDQ1MDBCNzlGRDEgLyogV29y
a2VyU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRUE3NjgwNDBGRTcxMjY0MDBB
QjlDOEEgLyogV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQky
RTQzNDY1NTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyVGhyZWFkLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlw
dExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIuY3BwCmluZGV4IDM1MmRjYzRhY2Y3NTE3NmQ5OGFkMzQxMGJlMTUxNjA4MDEwODg1
MjQuLjI3N2Y2MmE3YzEzM2ZlMTU2YzZjY2U5ODU1MzU1MGVkYjEzNmQwMDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
LmNwcApAQCAtNDAsMTYgKzQwLDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUo
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYg
cHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVs
ZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorUmVmPENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcj4gQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0
Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykp
KTsKIH0KIAotQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlz
ZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1v
ZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQotICAgIDogbV9jbGllbnQoJmNsaWVu
dCkKLSAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkKLSAgICAsIG1fc2NyaXB0RmV0Y2hlcihzY3Jp
cHRGZXRjaGVyKQotICAgICwgbV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCitDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXI6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRT
Y3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJz
PiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9taXNl
LCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKQogewogfQogCkBAIC02MSwxNCAr
NTgsMTUgQEAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjp+Q2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyKCkKICAgICB9CiB9CiAKLWJvb2wgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKERv
Y3VtZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiBzb3VyY2VVUkwpCitib29sIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIFVSTCYmIHNvdXJjZVVSTCkK
IHsKKyAgICBBU1NFUlQobV9wcm9taXNlKTsKICAgICBBU1NFUlQoIW1fY2FjaGVkU2NyaXB0KTsK
ICAgICBTdHJpbmcgaW50ZWdyaXR5ID0gbV9wYXJhbWV0ZXJzID8gbV9wYXJhbWV0ZXJzLT5pbnRl
Z3JpdHkoKSA6IFN0cmluZyB7IH07Ci0gICAgbV9jYWNoZWRTY3JpcHQgPSBtX3NjcmlwdEZldGNo
ZXItPnJlcXVlc3RNb2R1bGVTY3JpcHQoZG9jdW1lbnQsIHNvdXJjZVVSTCwgV1RGTW92ZShpbnRl
Z3JpdHkpKTsKKyAgICBtX2NhY2hlZFNjcmlwdCA9IHNjcmlwdEZldGNoZXIoKS5yZXF1ZXN0TW9k
dWxlU2NyaXB0KGRvY3VtZW50LCBzb3VyY2VVUkwsIFdURk1vdmUoaW50ZWdyaXR5KSk7CiAgICAg
aWYgKCFtX2NhY2hlZFNjcmlwdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIG1fc291cmNl
VVJMID0gc291cmNlVVJMOworICAgIG1fc291cmNlVVJMID0gV1RGTW92ZShzb3VyY2VVUkwpOwog
CiAgICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgYWxyZWFkeSBjYWNoZWQsIHRoaXMgaW1tZWRpYXRl
bHkgY2FsbHMgbm90aWZ5RmluaXNoZWQuCiAgICAgbV9jYWNoZWRTY3JpcHQtPmFkZENsaWVudCgq
dGhpcyk7CkBAIC04Myw3ICs4MSw3IEBAIHZvaWQgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpu
b3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IE5lCiAKICAgICBS
ZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKICAgICBp
ZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RG
TW92ZShtX3Byb21pc2UpKTsKKyAgICAgICAgbV9jbGllbnQtPm5vdGlmeUZpbmlzaGVkKCp0aGlz
LCBXVEZNb3ZlKG1fc291cmNlVVJMKSwgbV9wcm9taXNlLnJlbGVhc2VOb25OdWxsKCkpOwogCiAg
ICAgLy8gUmVtb3ZlIHRoZSBjbGllbnQgYWZ0ZXIgY2FsbGluZyBub3RpZnlGaW5pc2hlZCB0byBr
ZWVwIHRoZSBkYXRhIGJ1ZmZlciBpbgogICAgIC8vIENhY2hlZFJlc291cmNlIGFsaXZlIHdoaWxl
IG5vdGlmeUZpbmlzaGVkIHByb2Nlc3NlcyB0aGUgcmVzb3VyY2UuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCmluZGV4IDQz
YWJkODc1YjI0M2ZhZjVmY2Q0ZDk4ZWMzYzVkMjRlNzkwYjU3MmUuLmE0ODc1NWY5M2QwNWVmMzUz
ZDJiM2UyMjhkODIxOWZlODkxZTY3NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0yNyw2ICsyNyw4IEBACiAK
ICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUg
Ik1vZHVsZVNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM0LDQyICszNiwy
OSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudDsKK2NsYXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKIGNsYXNzIENhY2hl
ZFNjcmlwdDsKLWNsYXNzIENhY2hlZFNjcmlwdEZldGNoZXI7CiBjbGFzcyBEZWZlcnJlZFByb21p
c2U7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OwogY2xhc3MgTW9k
dWxlRmV0Y2hQYXJhbWV0ZXJzOwogCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmlu
YWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+LCBwcml2YXRl
IENhY2hlZFJlc291cmNlQ2xpZW50IHsKK2NsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciBm
aW5hbCA6IHB1YmxpYyBNb2R1bGVTY3JpcHRMb2FkZXIsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
PiBjcmVhdGUoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNl
JiwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYp
OworICAgIHN0YXRpYyBSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBjcmVhdGUoTW9kdWxl
U2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0Y2hl
ciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOwogCiAgICAgdmlydHVhbCB+Q2Fj
aGVkTW9kdWxlU2NyaXB0TG9hZGVyKCk7CiAKLSAgICBib29sIGxvYWQoRG9jdW1lbnQmLCBjb25z
dCBVUkwmIHNvdXJjZVVSTCk7CisgICAgYm9vbCBsb2FkKERvY3VtZW50JiwgVVJMJiYgc291cmNl
VVJMKTsKIAotICAgIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVy
biBtX3NjcmlwdEZldGNoZXIuZ2V0KCk7IH0KICAgICBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlw
dCgpIHsgcmV0dXJuIG1fY2FjaGVkU2NyaXB0LmdldCgpOyB9Ci0gICAgTW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzKiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9Ci0gICAg
Y29uc3QgVVJMJiBzb3VyY2VVUkwoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZVVSTDsgfQotCi0g
ICAgdm9pZCBjbGVhckNsaWVudCgpCi0gICAgewotICAgICAgICBBU1NFUlQobV9jbGllbnQpOwot
ICAgICAgICBtX2NsaWVudCA9IG51bGxwdHI7Ci0gICAgfQorICAgIENhY2hlZFNjcmlwdEZldGNo
ZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRGZXRj
aGVyJj4oTW9kdWxlU2NyaXB0TG9hZGVyOjpzY3JpcHRGZXRjaGVyKCkpOyB9CiAKIHByaXZhdGU6
Ci0gICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNs
aWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9k
dWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2FjaGVkU2NyaXB0RmV0
Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOwogCiAgICAgdm9pZCBub3Rp
ZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZp
bmFsOwogCi0gICAgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KiBtX2NsaWVudCB7IG51
bGxwdHIgfTsKLSAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBtX3Byb21pc2U7Ci0gICAgUmVm
PENhY2hlZFNjcmlwdEZldGNoZXI+IG1fc2NyaXB0RmV0Y2hlcjsKLSAgICBSZWZQdHI8TW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzPiBtX3BhcmFtZXRlcnM7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkU2NyaXB0PiBtX2NhY2hlZFNjcmlwdDsKICAgICBVUkwgbV9zb3VyY2VVUkw7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY4OGFk
OTBkYWUzZWNlOTQ5ZWEwOWIxZWZlZTVkYTI2Zjk0Yzc4Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdt
YSBvbmNlCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOwotY2xhc3MgRGVmZXJyZWRQcm9taXNlOwotCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQgewotcHVibGljOgotICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVsZVNjcmlw
dExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKLQotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5p
c2hlZChDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPikg
PSAwOwotfTsKLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2Fj
aGVkU2NyaXB0RmV0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRT
Y3JpcHRGZXRjaGVyLmNwcAppbmRleCBhNDMzNzU4NjViYmYxZWM1OTczYmYxNzJjOTFhMzg1MzIz
NGUzNzRkLi5jMGZmYWRkNmYyNTI0MjZhYmE3MjJhNTA4NDRlNjM1NzJmNGQ1ZTkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcApA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGlu
Zy5jcHAKaW5kZXggZGY3ZjNkNzQ2ZDVlMzJhYmFiNTE0NzZjOWRkYWNhNjNhNDM1MTM2Yy4uZWVm
MjEwMzg4NDlmZDg5ODQ5YWZjZWQ3MDMxODVmZjg5NGM0MGM3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKQEAgLTUy
LDYgKzUyLDI1IEBAIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlCiAgICAgcmVwb3J0RXhjZXB0aW9u
KGxleGljYWxHbG9iYWxPYmplY3QsIGV4Y2VwdGlvbiwgY2FjaGVkU2NyaXB0KTsKIH0KIAorU3Ry
aW5nIHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIFZNJiB2bSwgSlNWYWx1ZSBleGNlcHRpb24sIENhdGNoU2NvcGUmIGNh
dGNoU2NvcGUpCit7CisgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNTA4Nz4g
V2ViIEluc3BlY3RvcjogV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9uIHNob3VsZCBub3QgZXZhbHVh
dGUgSmF2YVNjcmlwdCBoYW5kbGluZyBleGNlcHRpb25zCisgICAgLy8gSWYgdGhpcyBpcyBhIGN1
c3RvbSBleGNlcHRpb24gb2JqZWN0LCBjYWxsIHRvU3RyaW5nIG9uIGl0IHRvIHRyeSBhbmQgZ2V0
IGEgbmljZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBleGNlcHRpb24uCisgICAgU3Ry
aW5nIGVycm9yTWVzc2FnZTsKKyAgICBpZiAoYXV0byogZXJyb3IgPSBqc0R5bmFtaWNDYXN0PEVy
cm9ySW5zdGFuY2UqPih2bSwgZXhjZXB0aW9uKSkKKyAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJy
b3ItPnNhbml0aXplZE1lc3NhZ2VTdHJpbmcoJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIGVs
c2UgaWYgKGF1dG8qIGVycm9yID0ganNEeW5hbWljQ2FzdDxKU0RPTUV4Y2VwdGlvbio+KHZtLCBl
eGNlcHRpb24pKQorICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci0+d3JhcHBlZCgpLm1lc3Nh
Z2UoKTsKKyAgICBlbHNlCisgICAgICAgIGVycm9yTWVzc2FnZSA9IGV4Y2VwdGlvbi50b1dURlN0
cmluZygmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisKKyAgICAvLyBXZSBuZWVkIHRvIGNsZWFyIGFu
eSBuZXcgZXhjZXB0aW9uIHRoYXQgbWF5IGJlIHRocm93biBpbiB0aGUgdG9TdHJpbmcoKSBjYWxs
IGFib3ZlLgorICAgIC8vIHJlcG9ydEV4Y2VwdGlvbigpIGlzIG5vdCBzdXBwb3NlZCB0byBiZSBt
YWtpbmcgbmV3IGV4Y2VwdGlvbnMuCisgICAgY2F0Y2hTY29wZS5jbGVhckV4Y2VwdGlvbigpOwor
ICAgIHZtLmNsZWFyTGFzdEV4Y2VwdGlvbigpOworICAgIHJldHVybiBlcnJvck1lc3NhZ2U7Cit9
CisKIFN0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZShKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgVk0mIHZtLCBKU1ZhbHVlIGV4Y2VwdGlvbiwgQ2F0Y2hTY29wZSYgY2F0Y2hT
Y29wZSkKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE1MDg3PiBXZWIg
SW5zcGVjdG9yOiBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24gc2hvdWxkIG5vdCBldmFsdWF0ZSBK
YXZhU2NyaXB0IGhhbmRsaW5nIGV4Y2VwdGlvbnMKQEAgLTEyMSwzNiArMTQwLDQ1IEBAIHZvaWQg
cmVwb3J0Q3VycmVudEV4Y2VwdGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCkKIAogSlNWYWx1ZSBjcmVhdGVET01FeGNlcHRpb24oSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEV4Y2VwdGlvbkNvZGUgZWMsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsK
LSAgICBpZiAoZWMgPT0gRXhpc3RpbmdFeGNlcHRpb25FcnJvcikKKyAgICBzd2l0Y2ggKGVjKSB7
CisgICAgY2FzZSBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yOgogICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKIAogICAgIC8vIEZJWE1FOiBIYW5kbGUgb3RoZXIgV2ViSURMIGV4Y2VwdGlvbiB0
eXBlcy4KLSAgICBpZiAoZWMgPT0gVHlwZUVycm9yKSB7CisgICAgY2FzZSBUeXBlRXJyb3I6CiAg
ICAgICAgIGlmIChtZXNzYWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVU
eXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVUeXBl
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7Ci0gICAgfQogCi0gICAgaWYgKGVj
ID09IFJhbmdlRXJyb3IpIHsKKyAgICBjYXNlIFJhbmdlRXJyb3I6CiAgICAgICAgIGlmIChtZXNz
YWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVSYW5nZUVycm9yKGxleGlj
YWxHbG9iYWxPYmplY3QsICJCYWQgdmFsdWUiX3MpOwogICAgICAgICByZXR1cm4gY3JlYXRlUmFu
Z2VFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBtZXNzYWdlKTsKLSAgICB9CiAKLSAgICBpZiAo
ZWMgPT0gU3RhY2tPdmVyZmxvd0Vycm9yKQorICAgIGNhc2UgSlNTeW50YXhFcnJvcjoKKyAgICAg
ICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVN5bnRh
eEVycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gY3JlYXRlU3ludGF4
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2FnZSk7CisKKyAgICBjYXNlIFN0YWNrT3Zl
cmZsb3dFcnJvcjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihsZXhp
Y2FsR2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoZWMgPT0gT3V0T2ZNZW1vcnlFcnJvcikKKworICAg
IGNhc2UgT3V0T2ZNZW1vcnlFcnJvcjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZU91dE9mTWVtb3J5
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7CiAKLSAgICAvLyBGSVhNRTogQWxsIGNhbGxlcnMg
dG8gY3JlYXRlRE9NRXhjZXB0aW9uIG5lZWQgdG8gcGFzcyBpbiB0aGUgY29ycmVjdCBnbG9iYWwg
b2JqZWN0LgotICAgIC8vIEZvciBub3csIHdlJ3JlIGdvaW5nIHRvIGFzc3VtZSB0aGUgbGV4aWNh
bEdsb2JhbE9iamVjdC4gV2hpY2ggaXMgd3JvbmcgaW4gY2FzZXMgbGlrZSB0aGlzOgotICAgIC8v
IGZyYW1lc1swXS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3Mg
YW4gZXhjZXB0aW9uIHdoaWNoIHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZSdzIHByb3RvdHlwZXMu
Ci0gICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGRlcHJlY2F0ZWRHbG9iYWxP
YmplY3RGb3JQcm90b3R5cGUobGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgSlNWYWx1ZSBlcnJv
ck9iamVjdCA9IHRvSlMobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBET01FeGNl
cHRpb246OmNyZWF0ZShlYywgbWVzc2FnZSkpOwotICAgIAotICAgIEFTU0VSVChlcnJvck9iamVj
dCk7Ci0gICAgYWRkRXJyb3JJbmZvKGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KGVycm9y
T2JqZWN0KSwgdHJ1ZSk7Ci0gICAgcmV0dXJuIGVycm9yT2JqZWN0OworICAgIGRlZmF1bHQ6IHsK
KyAgICAgICAgLy8gRklYTUU6IEFsbCBjYWxsZXJzIHRvIGNyZWF0ZURPTUV4Y2VwdGlvbiBuZWVk
IHRvIHBhc3MgaW4gdGhlIGNvcnJlY3QgZ2xvYmFsIG9iamVjdC4KKyAgICAgICAgLy8gRm9yIG5v
dywgd2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoZSBsZXhpY2FsR2xvYmFsT2JqZWN0LiBXaGljaCBp
cyB3cm9uZyBpbiBjYXNlcyBsaWtlIHRoaXM6CisgICAgICAgIC8vIGZyYW1lc1swXS5kb2N1bWVu
dC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3MgYW4gZXhjZXB0aW9uIHdoaWNo
IHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZSdzIHByb3RvdHlwZXMuCisgICAgICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90
eXBlKGxleGljYWxHbG9iYWxPYmplY3QpOworICAgICAgICBKU1ZhbHVlIGVycm9yT2JqZWN0ID0g
dG9KUyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIERPTUV4Y2VwdGlvbjo6Y3Jl
YXRlKGVjLCBtZXNzYWdlKSk7CisKKyAgICAgICAgQVNTRVJUKGVycm9yT2JqZWN0KTsKKyAgICAg
ICAgYWRkRXJyb3JJbmZvKGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KGVycm9yT2JqZWN0
KSwgdHJ1ZSk7CisgICAgICAgIHJldHVybiBlcnJvck9iamVjdDsKKyAgICB9CisgICAgfQorICAg
IHJldHVybiB7IH07CiB9CiAKIEpTVmFsdWUgY3JlYXRlRE9NRXhjZXB0aW9uKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFeGNlcHRpb24mJiBleGNlcHRpb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgKaW5k
ZXggMmQzZTMxMWY2MWVlYjY4NWFhYzM1NTQ2YWFlMTYwZGE5NzkwZWY1Zi4uZDFmNmRlOTM3NDcw
Y2U2ZGYyY2NiNjQ3MjI4NDc2NmZkMDE5NTgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaApAQCAtNjUsNiArNjUsNyBAQCBX
RUJDT1JFX0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoR2V0dGVy
VHlwZUVycm9yKEpTQzo6SlNHbG9iYQogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1
ZSByZWplY3RQcm9taXNlV2l0aFRoaXNUeXBlRXJyb3IoRGVmZXJyZWRQcm9taXNlJiwgY29uc3Qg
Y2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogb3BlcmF0aW9uTmFtZSk7CiBXRUJDT1JF
X0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoVGhpc1R5cGVFcnJv
cihKU0M6OkpTR2xvYmFsT2JqZWN0JiwgY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3Qg
Y2hhciogb3BlcmF0aW9uTmFtZSk7CiAKK1N0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhv
dXROYW1lKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlIGV4Y2Vw
dGlvbiwgSlNDOjpDYXRjaFNjb3BlJik7CiBTdHJpbmcgcmV0cmlldmVFcnJvck1lc3NhZ2UoSlND
OjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Vk0mLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBKU0M6
OkNhdGNoU2NvcGUmKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBDYWNoZWRTY3JpcHQqID0g
bnVsbHB0cik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpFeGNlcHRpb24qLCBDYWNoZWRTY3JpcHQqID0gbnVsbHB0ciwgRXhj
ZXB0aW9uRGV0YWlscyogPSBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1OGI3ZGY3NjBjMDBhMzFmZjA4ZWQyMmRl
ZTIyYThjNzQ0M2FlOGRkLi45ZDY5N2Q0NTliNTYzNDVjYzgzOTYyMDI2Njc2ZTAwYTk4YmY0OWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiSlNXb3JrbGV0R2xvYmFsU2NvcGUuaCIK
ICNpbmNsdWRlICJSZWplY3RlZFByb21pc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN0cnVjdHVyZWRDbG9uZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIK
ICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtNDIyLDYgKzQyMyw3OSBAQCBKU0M6
OkpTUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Omluc3RhbnRpYXRlU3RyZWFtaW5nKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsbwogfQogI2VuZGlmCiAKK3N0YXRpYyBTY3JpcHRNb2R1bGVMb2Fk
ZXIqIHNjcmlwdE1vZHVsZUxvYWRlcihKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQor
eworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0
LT5pbmhlcml0czxKU0RPTVdpbmRvd0Jhc2U+KHZtKSkgeworICAgICAgICBpZiAoYXV0byBkb2N1
bWVudCA9IGpzQ2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpLT53cmFw
cGVkKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiAmZG9jdW1lbnQtPm1vZHVsZUxv
YWRlcigpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaWYgKGdsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNSZW1vdGVET01XaW5kb3dCYXNlPih2bSkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2VyR2xvYmFs
U2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PGNvbnN0IEpTV29ya2VyR2xv
YmFsU2NvcGVCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1vZHVsZUxvYWRlcigpOwor
ICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZT4o
dm0pKQorICAgICAgICByZXR1cm4gJmpzQ2FzdDxjb25zdCBKU1dvcmtsZXRHbG9iYWxTY29wZUJh
c2UqPihnbG9iYWxPYmplY3QpLT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJT
ZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0Pih2bSkpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
I2VuZGlmCisgICAgZGF0YUxvZygiVW5leHBlY3RlZCBnbG9iYWwgb2JqZWN0OiAiLCBKU1ZhbHVl
KGdsb2JhbE9iamVjdCksICJcbiIpOworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTQzo6SWRlbnRpZmllciBKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6Ompz
Q2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxv
YWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxv
YWRlci0+cmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgaW1w
b3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiB7IH07Cit9CisKK0pT
Qzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFt
ZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlw
dE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNj
b3BlLCBsb2FkZXItPmZldGNoKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXks
IHBhcmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7Cisg
ICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7CisgICAgcmV0
dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
TW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6
SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAg
IEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1
bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPmV2YWx1YXRlKGds
b2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0
RmV0Y2hlcik7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKworSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIq
IG1vZHVsZUxvYWRlciwgSlNDOjpKU1N0cmluZyogbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHBh
cmFtZXRlcnMsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJiBzb3VyY2VPcmlnaW4pCit7CisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6
anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byog
bG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+aW1wb3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9k
dWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0ZXJzLCBzb3VyY2VPcmlnaW4pKTsKKyAgICBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKKyAg
ICBzY29wZS5yZWxlYXNlKCk7CisgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNV
bmRlZmluZWQoKSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisKK0pTQzo6SlNPYmplY3QqIEpT
RE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhK
U0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1v
ZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCog
bW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUds
b2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVy
KHRoaXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5jcmVhdGVJbXBvcnRNZXRhUHJv
cGVydGllcyhnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNv
cmQsIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVy
ZSgpKTsKK30KKwogSlNET01HbG9iYWxPYmplY3QmIGNhbGxlckdsb2JhbE9iamVjdChKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBjYWxsRnJhbWUpCiB7CiAg
ICAgY2xhc3MgR2V0Q2FsbGVyR2xvYmFsT2JqZWN0RnVuY3RvciB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAppbmRleCBiODQwNzJkZGQ3NDZiM2Q2
YzUxMDYwZDkwNTAxYjVjZWExYjQ5OWIxLi5mNDlhNGNkMjU3MTk3MTE4OTE3YTdkN2E0YjZjMGUx
MWZjNzZiYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmgKQEAgLTEwNSw2ICsxMDUsMTIgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNET01H
bG9iYWxPYmplY3QgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbE9iamVjdCB7CiAgICAgc3RhdGljIEpT
Qzo6SlNQcm9taXNlKiBpbnN0YW50aWF0ZVN0cmVhbWluZyhKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTT2JqZWN0Kik7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBKU0M6
OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFs
dWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2FkZXJGZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1
ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUg
bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVM
b2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAgICBz
dGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0cmluZyos
IEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKKyAgICBzdGF0aWMgSlND
OjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOworCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAg
bV9zdHJ1Y3R1cmVzOwogICAgIEpTRE9NQ29uc3RydWN0b3JNYXAgbV9jb25zdHJ1Y3RvcnM7CiAg
ICAgRE9NR3VhcmRlZE9iamVjdFNldCBtX2d1YXJkZWRPYmplY3RzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggNTYzZWZhMDU3MWI1ZDQ2
MmQ5ZTY0NTA4OWYwYmQ4Zjc3ZDE5YTc2OC4uMzEyYTAxMTU4ZThjMjgwODNjMDdlNDJkYjg3MjQ1
ZmU0ZTVjNTdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCkBAIC0zMzksNTQgKzMzOSw0IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJl
RnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiAgICAg
fQogfQogCi1KU0M6OklkZW50aWZpZXIgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNv
bHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRl
ciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGlt
cG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RP
TVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihn
bG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09i
amVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCkucmVzb2x2ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFt
ZSwgaW1wb3J0ZXJNb2R1bGVLZXksIHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiB7IH07Ci19
Ci0KLUpTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVy
RmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9h
ZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBw
YXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9N
V2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9j
dW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAgICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuZmV0Y2goZ2xvYmFs
T2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hl
cikpOwotICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0
dXJlKCkpOwotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFs
T2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpK
U1ZhbHVlIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIs
IEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQsIEpTQzo6
SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVj
dCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYg
KFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1l
bnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5ldmFsdWF0ZShn
bG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlw
dEZldGNoZXIpOwotICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTQzo6SlNJ
bnRlcm5hbFByb21pc2UqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxl
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciog
bW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5nKiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFy
YW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mIHNvdXJjZU9yaWdpbikKLXsKLSAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anND
YXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0cjxEb2N1
bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkKLSAgICAg
ICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCkuaW1w
b3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBwYXJhbWV0
ZXJzLCBzb3VyY2VPcmlnaW4pKTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBwcm9taXNl
ID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVy
bmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcHJvbWlz
ZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7Ci0gICAgcmV0dXJuIHByb21p
c2U7Ci19Ci0KLUpTQzo6SlNPYmplY3QqIEpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3Jl
YXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVL
ZXksIEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nh
c3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3Vt
ZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAg
ICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0
aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwg
c2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9i
amVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkp
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5oCmluZGV4IDNlZjk4MGRkMjdmNmIyMTM5ODcwMDhiYTQ3NmM4
Y2E2OWYyZjBiNjQuLjUxNDJiMWM3ZGMyNWMyMmZlOTc4OTVlNzVhZTIyZWY0ZDFlNTg5ZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC05OSwx
MiArOTksNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTVdpbmRvd0Jhc2UgOiBwdWJsaWMg
SlNET01HbG9iYWxPYmplY3QgewogcHJpdmF0ZToKICAgICB1c2luZyBSZXNwb25zZUNhbGxiYWNr
ID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IGNoYXIqLCBzaXplX3QpPjsKIAotICAgIHN0YXRp
YyBKU0M6OklkZW50aWZpZXIgbW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6
OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVMb2Fk
ZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6
SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpT
VmFsdWUgbW9kdWxlTG9hZGVyRXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNN
b2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsK
LSAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9k
dWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0
cmluZyosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKLSAgICBzdGF0
aWMgSlNDOjpKU09iamVjdCogbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUs
IEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwotCiAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV93cmFwcGVkOwogICAgIFJlZlB0cjxFdmVudD4gbV9jdXJyZW50RXZlbnQ7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwCmluZGV4IDQyYjI2YzlmNGVhMjE2MjA3ZGU0Yzg2ODIwYjhhODFiNjAzNWI3ZWIu
LjJkNzkzZmZmMjE4NTNhOGExYTc4ODA2NjcyNTBmNTdlNzUyZmUzZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAK
QEAgLTU5LDExICs1OSwxMSBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtl
ckdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZQogICAgICZqYXZhU2Ny
aXB0UnVudGltZUZsYWdzLAogICAgICZxdWV1ZU1pY3JvdGFza1RvRXZlbnRMb29wLAogICAgICZz
aG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckltcG9ydE1vZHVsZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlclJlc29sdmUK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJGZXRjaAotICAgIG51bGxwdHIsIC8vIG1vZHVs
ZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxl
TG9hZGVyRXZhbHVhdGUKKyAgICAmbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlLAorICAgICZtb2R1
bGVMb2FkZXJSZXNvbHZlLAorICAgICZtb2R1bGVMb2FkZXJGZXRjaCwKKyAgICAmbW9kdWxlTG9h
ZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMsCisgICAgJm1vZHVsZUxvYWRlckV2YWx1YXRl
LAogICAgICZwcm9taXNlUmVqZWN0aW9uVHJhY2tlciwKICAgICAmcmVwb3J0VW5jYXVnaHRFeGNl
cHRpb25BdEV2ZW50TG9vcCwKICAgICAmY3VycmVudFNjcmlwdEV4ZWN1dGlvbk93bmVyLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3Bl
QmFzZS5jcHAKaW5kZXggMzVmYTZlMzI3N2ZiMGQ0YmUwZTBlMWVkYzQzNzIyZWRhZGZjOGFmMi4u
OWZhZWM5NTljMzlkMTc0ODE4MWM5ODY1MDAzZDVhODZmMTdmNWUzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3Bw
CkBAIC00OSwxMSArNDksMTEgQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNXb3Jr
bGV0R2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmwKICAgICAmamF2YVNj
cmlwdFJ1bnRpbWVGbGFncywKICAgICBudWxscHRyLCAvLyBxdWV1ZU1pY3JvdGFza1RvRXZlbnRM
b29wCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9h
ZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckZldGNoCi0gICAgbnVsbHB0
ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMKLSAgICBudWxscHRy
LCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUs
CisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVsZUxvYWRlckZldGNoLAorICAg
ICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcywKKyAgICAmbW9kdWxlTG9h
ZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFja2VyLAogICAgICZyZXBvcnRV
bmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJyZW50U2NyaXB0RXhlY3V0aW9u
T3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZhOTEwZTk0OWI3YWMxYTM4ZWRlZWNiMDNkZWI2ZWU4OTRjY2ViMGQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3Jp
cHRMb2FkZXIuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNo
UGFyYW1ldGVycy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEZldGNoZXIuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudDsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8TW9kdWxlU2NyaXB0TG9hZGVyPiB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+TW9kdWxlU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBjbGVh
ckNsaWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQobV9jbGllbnQpOworICAgICAgICBtX2Ns
aWVudCA9IG51bGxwdHI7CisgICAgfQorCisgICAgSlNDOjpTY3JpcHRGZXRjaGVyJiBzY3JpcHRG
ZXRjaGVyKCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVyLmdldCgpOyB9CisgICAgTW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9
CisKK3Byb3RlY3RlZDoKKyAgICBNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgSlNDOjpTY3JpcHRGZXRj
aGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFt
ZXRlcnMpCisgICAgICAgIDogbV9jbGllbnQoJmNsaWVudCkKKyAgICAgICAgLCBtX3Byb21pc2Uo
JnByb21pc2UpCisgICAgICAgICwgbV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNoZXIpCisgICAg
ICAgICwgbV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCisgICAgeworICAgIH0KKwor
ICAgIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCogbV9jbGllbnQ7CisgICAgUmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4gbV9wcm9taXNlOworICAgIFJlZjxKU0M6OlNjcmlwdEZldGNoZXI+IG1fc2Ny
aXB0RmV0Y2hlcjsKKyAgICBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiBtX3BhcmFtZXRl
cnM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5
OTVmNDhlZTNkMWUwMmMxZDhjOWM5ZGEyYmQ1ODIzNmYzYmEwN2QKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaApA
QCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1vZHVs
ZVNjcmlwdExvYWRlcjsKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKKworY2xhc3MgTW9kdWxlU2Ny
aXB0TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQo
TW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSA9IDA7Cit9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1
bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9h
ZGVyLmNwcAppbmRleCBhYTViODBiNTg2Yjc5ZTBlNTc1MDFjZDUxMDc4ZGYyNWE2MjVlNWQ5Li5m
MzE1NTE3NmIzNDkzZTA2ZmFiODc4YmZiM2I0ZWU0ZWExNzM2ZTA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKQEAgLTI5LDcgKzI5
LDYgQEAKICNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlICJD
YWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCi0jaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCkBAIC00MSw2ICs0MCw5IEBA
CiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlSW50
ZWdyaXR5LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgorI2luY2x1ZGUgIldv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIu
aCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9Db21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNJbnRlcm5hbFBy
b21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU01vZHVsZVJlY29yZC5oPgpAQCAt
NTIsOCArNTQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNjcmlwdE1vZHVsZUxvYWRl
cjo6U2NyaXB0TW9kdWxlTG9hZGVyKERvY3VtZW50JiBkb2N1bWVudCkKLSAgICA6IG1fZG9jdW1l
bnQoZG9jdW1lbnQpCitTY3JpcHRNb2R1bGVMb2FkZXI6OlNjcmlwdE1vZHVsZUxvYWRlcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBPd25lclR5cGUgb3duZXJUeXBlKQorICAgIDog
bV9jb250ZXh0KGNvbnRleHQpCisgICAgLCBtX293bmVyVHlwZShvd25lclR5cGUpCiB7CiB9CiAK
QEAgLTY4LDcgKzcxLDcgQEAgc3RhdGljIGJvb2wgaXNSb290TW9kdWxlKEpTQzo6SlNWYWx1ZSBp
bXBvcnRlck1vZHVsZUtleSkKICAgICByZXR1cm4gaW1wb3J0ZXJNb2R1bGVLZXkuaXNTeW1ib2wo
KSB8fCBpbXBvcnRlck1vZHVsZUtleS5pc1VuZGVmaW5lZCgpOwogfQogCi1zdGF0aWMgRXhwZWN0
ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50
LCBjb25zdCBTdHJpbmcmIHNwZWNpZmllciwgY29uc3QgVVJMJiBiYXNlVVJMKQorc3RhdGljIEV4
cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlIG93bmVyVHlw
ZSwgY29uc3QgU3RyaW5nJiBzcGVjaWZpZXIsIGNvbnN0IFVSTCYgYmFzZVVSTCkKIHsKICAgICAv
LyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwj
cmVzb2x2ZS1hLW1vZHVsZS1zcGVjaWZpZXIKIApAQCAtNzksNyArODIsMTIgQEAgc3RhdGljIEV4
cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKERvY3VtZW50JiBkb2N1
bWVudCwgY29uc3QgU3QKICAgICBpZiAoIXNwZWNpZmllci5zdGFydHNXaXRoKCcvJykgJiYgIXNw
ZWNpZmllci5zdGFydHNXaXRoKCIuLyIpICYmICFzcGVjaWZpZXIuc3RhcnRzV2l0aCgiLi4vIikp
CiAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChtYWtlU3RyaW5nKCJNb2R1bGUgc3BlY2lm
aWVyLCAnIl9zLCBzcGVjaWZpZXIsICInIGRvZXMgbm90IHN0YXJ0IHdpdGggXCIvXCIsIFwiLi9c
Iiwgb3IgXCIuLi9cIi4gUmVmZXJlbmNlZCBmcm9tICJfcywgYmFzZVVSTC5zdHJpbmcoKSkpOwog
Ci0gICAgYXV0byByZXN1bHQgPSBkb2N1bWVudC5jb21wbGV0ZVVSTChzcGVjaWZpZXIsIGJhc2VV
UkwpOworICAgIFVSTCByZXN1bHQ7CisgICAgaWYgKG93bmVyVHlwZSA9PSBTY3JpcHRNb2R1bGVM
b2FkZXI6Ok93bmVyVHlwZTo6RG9jdW1lbnQpCisgICAgICAgIHJlc3VsdCA9IGRvd25jYXN0PERv
Y3VtZW50Pihjb250ZXh0KS5jb21wbGV0ZVVSTChzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGVs
c2UKKyAgICAgICAgcmVzdWx0ID0gVVJMKGJhc2VVUkwsIHNwZWNpZmllcik7CisKICAgICBpZiAo
IXJlc3VsdC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChtYWtlU3Ry
aW5nKCJNb2R1bGUgbmFtZSwgJyJfcywgcmVzdWx0LnN0cmluZygpLCAiJyBkb2VzIG5vdCByZXNv
bHZlIHRvIGEgdmFsaWQgVVJMLiJfcykpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMDcsNyAr
MTE1LDcgQEAgSlNDOjpJZGVudGlmaWVyIFNjcmlwdE1vZHVsZUxvYWRlcjo6cmVzb2x2ZShKU0M6
OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE9iamVjdCwKICAgICBVUkwgYmFzZVVSTCA9IHJlc3Bv
bnNlVVJMRnJvbVJlcXVlc3RVUkwoKmpzR2xvYmFsT2JqZWN0LCBpbXBvcnRlck1vZHVsZUtleSk7
CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAotICAgIGF1dG8gcmVzdWx0
ID0gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2RvY3VtZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwp
OworICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2NvbnRleHQsIG1f
b3duZXJUeXBlLCBzcGVjaWZpZXIsIGJhc2VVUkwpOwogICAgIGlmICghcmVzdWx0KSB7CiAgICAg
ICAgIEpTQzo6dGhyb3dUeXBlRXJyb3IoanNHbG9iYWxPYmplY3QsIHNjb3BlLCByZXN1bHQuZXJy
b3IoKSk7CiAgICAgICAgIHJldHVybiB7IH07CkBAIC0xNjEsMTMgKzE2OSwxOSBAQCBKU0M6OkpT
SW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxP
YmplY3QqIGpzR2xvYmFsTwogICAgIGlmIChhdXRvKiBzY3JpcHRGZXRjaFBhcmFtZXRlcnMgPSBK
U0M6OmpzRHluYW1pY0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNoUGFyYW1ldGVycyo+KHZtLCBwYXJh
bWV0ZXJzKSkKICAgICAgICAgdG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMgPSBzdGF0aWNfY2FzdDxN
b2R1bGVGZXRjaFBhcmFtZXRlcnMqPigmc2NyaXB0RmV0Y2hQYXJhbWV0ZXJzLT5wYXJhbWV0ZXJz
KCkpOwogCi0gICAgYXV0byBsb2FkZXIgPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0
ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVy
Kj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNoZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0
Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFyYW1ldGVycykpOwotICAgIG1fbG9hZGVy
cy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7Ci0gICAgaWYgKCFsb2FkZXItPmxvYWQobV9kb2N1bWVu
dCwgY29tcGxldGVkVVJMKSkgewotICAgICAgICBsb2FkZXItPmNsZWFyQ2xpZW50KCk7Ci0gICAg
ICAgIG1fbG9hZGVycy5yZW1vdmUoV1RGTW92ZShsb2FkZXIpKTsKLSAgICAgICAgcmVqZWN0VG9Q
cm9wYWdhdGVOZXR3b3JrRXJyb3IoZGVmZXJyZWQuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtp
bmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwot
ICAgICAgICByZXR1cm4ganNQcm9taXNlOworICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5
cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGF1dG8gbG9hZGVyID0gQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdldCgpLCAqc3RhdGljX2Nhc3Q8Q2FjaGVk
U2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6SlNTY3JpcHRGZXRjaGVyKj4oc2NyaXB0
RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9wTGV2ZWxGZXRjaFBhcmFtZXRlcnMpKTsK
KyAgICAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29weVJlZigpKTsKKyAgICAgICAgaWYgKCFs
b2FkZXItPmxvYWQoZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCksIFdURk1vdmUoY29tcGxl
dGVkVVJMKSkpIHsKKyAgICAgICAgICAgIGxvYWRlci0+Y2xlYXJDbGllbnQoKTsKKyAgICAgICAg
ICAgIG1fbG9hZGVycy5yZW1vdmUoV1RGTW92ZShsb2FkZXIpKTsKKyAgICAgICAgICAgIHJlamVj
dFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKGRlZmVycmVkLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1
cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9z
KTsKKyAgICAgICAgICAgIHJldHVybiBqc1Byb21pc2U7CisgICAgICAgIH0KKyAgICB9IGVsc2Ug
eworICAgICAgICBhdXRvIGxvYWRlciA9IFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRl
KCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0YXRpY19jYXN0PFdvcmtlclNjcmlwdEZldGNoZXIq
PihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRj
aGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0Y2hQYXJhbWV0ZXJzKSk7CisgICAgICAgIG1fbG9h
ZGVycy5hZGQobG9hZGVyLmNvcHlSZWYoKSk7CisgICAgICAgIGxvYWRlci0+bG9hZChtX2NvbnRl
eHQsIFdURk1vdmUoY29tcGxldGVkVVJMKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGpzUHJvbWlz
ZTsKQEAgLTE3Niw3ICsxOTAsNyBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1
bGVMb2FkZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsTwogVVJMIFNjcmlw
dE1vZHVsZUxvYWRlcjo6bW9kdWxlVVJMKEpTQzo6SlNHbG9iYWxPYmplY3QmIGpzR2xvYmFsT2Jq
ZWN0LCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5VmFsdWUpCiB7CiAgICAgaWYgKG1vZHVsZUtleVZh
bHVlLmlzU3ltYm9sKCkpCi0gICAgICAgIHJldHVybiBtX2RvY3VtZW50LnVybCgpOworICAgICAg
ICByZXR1cm4gbV9jb250ZXh0LnVybCgpOwogCiAgICAgQVNTRVJUKG1vZHVsZUtleVZhbHVlLmlz
U3RyaW5nKCkpOwogICAgIHJldHVybiBVUkwoVVJMKCksIGFzU3RyaW5nKG1vZHVsZUtleVZhbHVl
KS0+dmFsdWUoJmpzR2xvYmFsT2JqZWN0KSk7CkBAIC0xODcsOCArMjAxLDExIEBAIFVSTCBTY3Jp
cHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9i
amVjdCYganNHbG9iYWxPCiAgICAgSlNDOjpWTSYgdm0gPSBqc0dsb2JhbE9iamVjdC52bSgpOwog
ICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGlmIChpc1Jv
b3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKQotICAgICAgICByZXR1cm4gbV9kb2N1bWVudC5iYXNl
VVJMKCk7CisgICAgaWYgKGlzUm9vdE1vZHVsZShtb2R1bGVLZXlWYWx1ZSkpIHsKKyAgICAgICAg
aWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpCisgICAgICAgICAgICByZXR1
cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuYmFzZVVSTCgpOworICAgICAgICByZXR1
cm4gbV9jb250ZXh0LnVybCgpOworICAgIH0KIAogICAgIEFTU0VSVCghaXNSb290TW9kdWxlKG1v
ZHVsZUtleVZhbHVlKSk7CiAgICAgQVNTRVJUKG1vZHVsZUtleVZhbHVlLmlzU3RyaW5nKCkpOwpA
QCAtMjE5LDggKzIzNiwxNCBAQCBKU0M6OkpTVmFsdWUgU2NyaXB0TW9kdWxlTG9hZGVyOjpldmFs
dWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE9iamVjdCwgSgogICAgIGlmICghc291
cmNlVVJMLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIEpTQzo6dGhyb3dUeXBlRXJyb3IoanNH
bG9iYWxPYmplY3QsIHNjb3BlLCAiTW9kdWxlIGtleSBpcyBhbiBpbnZhbGlkIFVSTC4iX3MpOwog
Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gbV9kb2N1bWVudC5mcmFtZSgpKQotICAgICAgICByZXR1
cm4gZnJhbWUtPnNjcmlwdCgpLmV2YWx1YXRlTW9kdWxlKHNvdXJjZVVSTCwgKm1vZHVsZVJlY29y
ZCk7CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAg
ICAgaWYgKGF1dG8qIGZyYW1lID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuZnJhbWUo
KSkKKyAgICAgICAgICAgIHJldHVybiBmcmFtZS0+c2NyaXB0KCkuZXZhbHVhdGVNb2R1bGUoc291
cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAgICB9IGVsc2UgeworICAgICAgICBBU1NFUlQoaXM8
V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KG1fY29udGV4dCkpOworICAgICAgICBpZiAoYXV0
byogc2NyaXB0ID0gZG93bmNhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KG1fY29udGV4
dCkuc2NyaXB0KCkpCisgICAgICAgICAgICByZXR1cm4gc2NyaXB0LT5ldmFsdWF0ZU1vZHVsZSgq
bW9kdWxlUmVjb3JkKTsKKyAgICB9CiAgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKIH0K
IApAQCAtMjQ4LDIzICsyNzEsNDEgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9k
dWxlTG9hZGVyOjppbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganMKICAgICBVUkwg
YmFzZVVSTDsKICAgICBSZWZQdHI8SlNDOjpTY3JpcHRGZXRjaGVyPiBzY3JpcHRGZXRjaGVyOwog
ICAgIGlmIChzb3VyY2VPcmlnaW4uaXNOdWxsKCkpIHsKLSAgICAgICAgYmFzZVVSTCA9IG1fZG9j
dW1lbnQuYmFzZVVSTCgpOwotICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0
Y2hlcjo6Y3JlYXRlKG1fZG9jdW1lbnQuY2hhcnNldCgpKTsKKyAgICAgICAgaWYgKG1fb3duZXJU
eXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgICAgIGJhc2VVUkwgPSBkb3du
Y2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5iYXNlVVJMKCk7CisgICAgICAgICAgICBzY3JpcHRG
ZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKGRvd25jYXN0PERvY3VtZW50Piht
X2NvbnRleHQpLmNoYXJzZXQoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBo
dHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZGVm
YXVsdC1jbGFzc2ljLXNjcmlwdC1mZXRjaC1vcHRpb25zCisgICAgICAgICAgICBiYXNlVVJMID0g
bV9jb250ZXh0LnVybCgpOworICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlw
dEZldGNoZXI6OmNyZWF0ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luLCBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTY3JpcHQsIFJlZmVycmVyUG9saWN5OjpFbXB0eVN0
cmluZyk7CisgICAgICAgIH0KICAgICB9IGVsc2UgewogICAgICAgICBiYXNlVVJMID0gVVJMKFVS
TCgpLCBzb3VyY2VPcmlnaW4uc3RyaW5nKCkpOwogICAgICAgICBpZiAoIWJhc2VVUkwuaXNWYWxp
ZCgpKQogICAgICAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2UoZ2xvYmFsT2JqZWN0LCBUeXBl
RXJyb3IsICJJbXBvcnRlciBtb2R1bGUga2V5IGlzIG5vdCBhIFN5bWJvbCBvciBhIFN0cmluZy4i
X3MpOwogCi0gICAgICAgIGlmIChzb3VyY2VPcmlnaW4uZmV0Y2hlcigpKQorICAgICAgICBpZiAo
c291cmNlT3JpZ2luLmZldGNoZXIoKSkgewogICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IHNv
dXJjZU9yaWdpbi5mZXRjaGVyKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNjcmlwdEZl
dGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUobV9kb2N1bWVudC5jaGFyc2V0KCkp
OworICAgICAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uv
d2ViYXBwYXBpcy5odG1sI2ZldGNoLWFuLWltcG9ydCgpLW1vZHVsZS1zY3JpcHQtZ3JhcGgKKyAg
ICAgICAgICAgIC8vIERlc3RpbmF0aW9uIHNob3VsZCBiZSAic2NyaXB0IiBmb3IgZHluYW1pYy1p
bXBvcnQuCisgICAgICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpXb3JrZXJP
cldvcmtsZXQpIHsKKyAgICAgICAgICAgICAgICBhdXRvJiBmZXRjaGVyID0gc3RhdGljX2Nhc3Q8
V29ya2VyU2NyaXB0RmV0Y2hlciY+KCpzY3JpcHRGZXRjaGVyKTsKKyAgICAgICAgICAgICAgICBz
Y3JpcHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKGZldGNoZXIuY3JlZGVu
dGlhbHMoKSwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2NyaXB0LCBmZXRjaGVyLnJlZmVy
cmVyUG9saWN5KCkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKCFz
Y3JpcHRGZXRjaGVyKSB7CisgICAgICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBl
OjpEb2N1bWVudCkKKyAgICAgICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0
RmV0Y2hlcjo6Y3JlYXRlKGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmNoYXJzZXQoKSk7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IFdvcmtl
clNjcmlwdEZldGNoZXI6OmNyZWF0ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3Jp
Z2luLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTY3JpcHQsIFJlZmVycmVyUG9saWN5OjpF
bXB0eVN0cmluZyk7CisgICAgICAgIH0KICAgICB9CiAgICAgQVNTRVJUKGJhc2VVUkwuaXNWYWxp
ZCgpKTsKICAgICBBU1NFUlQoc2NyaXB0RmV0Y2hlcik7CiAKICAgICBhdXRvIHNwZWNpZmllciA9
IG1vZHVsZU5hbWUtPnZhbHVlKGpzR2xvYmFsT2JqZWN0KTsKLSAgICBhdXRvIHJlc3VsdCA9IHJl
c29sdmVNb2R1bGVTcGVjaWZpZXIobV9kb2N1bWVudCwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAg
ICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIobV9jb250ZXh0LCBtX293bmVy
VHlwZSwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0
dXJuIHJlamVjdFByb21pc2UoZ2xvYmFsT2JqZWN0LCBUeXBlRXJyb3IsIHJlc3VsdC5lcnJvcigp
KTsKIApAQCAtMjg4LDYyICszMjksMTAwIEBAIEpTQzo6SlNPYmplY3QqIFNjcmlwdE1vZHVsZUxv
YWRlcjo6Y3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjCiAgICAg
cmV0dXJuIG1ldGFQcm9wZXJ0aWVzOwogfQogCi12b2lkIFNjcmlwdE1vZHVsZUxvYWRlcjo6bm90
aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiBsb2FkZXIsIFJlZlB0cjxEZWZl
cnJlZFByb21pc2U+IHByb21pc2UpCit2b2lkIFNjcmlwdE1vZHVsZUxvYWRlcjo6bm90aWZ5Rmlu
aXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiBtb2R1bGVTY3JpcHRMb2FkZXIsIFVSTCYmIHNvdXJj
ZVVSTCwgUmVmPERlZmVycmVkUHJvbWlzZT4gcHJvbWlzZSkKIHsKICAgICAvLyBodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5n
bGUtbW9kdWxlLXNjcmlwdAogCi0gICAgVVJMIHNvdXJjZVVSTCA9IGxvYWRlci5zb3VyY2VVUkwo
KTsKLSAgICBpZiAoIW1fbG9hZGVycy5yZW1vdmUoJmxvYWRlcikpCisgICAgaWYgKCFtX2xvYWRl
cnMucmVtb3ZlKCZtb2R1bGVTY3JpcHRMb2FkZXIpKQogICAgICAgICByZXR1cm47Ci0gICAgbG9h
ZGVyLmNsZWFyQ2xpZW50KCk7CisgICAgbW9kdWxlU2NyaXB0TG9hZGVyLmNsZWFyQ2xpZW50KCk7
CisKKyAgICBhdXRvIGNhbm9uaWNhbGl6ZUFuZFJlZ2lzdGVyUmVzcG9uc2VVUkwgPSBbJl0gKFVS
TCByZXNwb25zZVVSTCwgYm9vbCBoYXNSZWRpcmVjdGlvbnMsIFJlc291cmNlUmVzcG9uc2U6OlNv
dXJjZSBzb3VyY2UpIHsKKyAgICAgICAgLy8gSWYgd2UgZG8gbm90IGhhdmUgcmVkaXJlY3Rpb24s
IHdlIG11c3QgcmVzZXJ2ZSB0aGUgc291cmNlIFVSTCdzIGZyYWdtZW50IGV4cGxpY2l0bHkgaGVy
ZSBzaW5jZSBSZXNvdXJjZVJlc3BvbnNlOjp1cmwoKSBpcyB0aGUgb25lIHdoZW4gd2UgZmlyc3Qg
Y2FjaGUgaXQgdG8gTWVtb3J5Q2FjaGUuCisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJh
Y2sgZnJhZ21lbnRzIHRocm91Z2ggcmVkaXJlY3Rpb25zLgorICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCisgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0OTAKKyAgICAgICAgaWYgKCFoYXNS
ZWRpcmVjdGlvbnMgJiYgc291cmNlICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2Vydmlj
ZVdvcmtlcikgeworICAgICAgICAgICAgaWYgKHNvdXJjZVVSTC5oYXNGcmFnbWVudElkZW50aWZp
ZXIoKSkKKyAgICAgICAgICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIo
c291cmNlVVJMLmZyYWdtZW50SWRlbnRpZmllcigpKTsKKyAgICAgICAgfQogCi0gICAgYXV0byYg
Y2FjaGVkU2NyaXB0ID0gKmxvYWRlci5jYWNoZWRTY3JpcHQoKTsKKyAgICAgICAgbV9yZXF1ZXN0
VVJMVG9SZXNwb25zZVVSTE1hcC5hZGQoc291cmNlVVJMLnN0cmluZygpLCByZXNwb25zZVVSTCk7
CisgICAgICAgIHJldHVybiByZXNwb25zZVVSTDsKKyAgICB9OwogCi0gICAgaWYgKGNhY2hlZFNj
cmlwdC5yZXNvdXJjZUVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkpIHsKLSAgICAgICAgcHJvbWlz
ZS0+cmVqZWN0KFR5cGVFcnJvciwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkg
Q3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9CisgICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsK
KyAgICAgICAgYXV0byYgbG9hZGVyID0gc3RhdGljX2Nhc3Q8Q2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyJj4obW9kdWxlU2NyaXB0TG9hZGVyKTsKKyAgICAgICAgYXV0byYgY2FjaGVkU2NyaXB0ID0g
KmxvYWRlci5jYWNoZWRTY3JpcHQoKTsKIAotICAgIGlmIChjYWNoZWRTY3JpcHQuZXJyb3JPY2N1
cnJlZCgpKSB7Ci0gICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKCpwcm9taXNl
LCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxl
IHNjcmlwdCBmYWlsZWQuIl9zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYg
KGNhY2hlZFNjcmlwdC5yZXNvdXJjZUVycm9yKCkuaXNBY2Nlc3NDb250cm9sKCkpIHsKKyAgICAg
ICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVs
ZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQg
ZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iX3MpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0Lndhc0Nh
bmNlbGVkKCkpIHsKLSAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoKnByb21p
c2UsIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEgbW9k
dWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAg
ICAgICBpZiAoY2FjaGVkU2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgcmVq
ZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWls
dXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJf
cyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlmICghTUlNRVR5cGVS
ZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUoY2FjaGVkU2NyaXB0LnJlc3Bv
bnNlKCkubWltZVR5cGUoKSkpIHsKLSAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3Jp
cHQKLSAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20g
cmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2
YVNjcmlwdCBNSU1FIHR5cGUuCi0gICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIGZl
dGNoaW5nIGEgY2xhc3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5cGUgY2hlY2tp
bmcuIEluIGNvbnRyYXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9hZCBpZiB0aGV5
IGFyZSBub3Qgb2YgYSBjb3JyZWN0IE1JTUUgdHlwZS4KLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0
KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIsIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVU
eXBlKCksICInIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKGNhY2hlZFNjcmlwdC53YXNDYW5jZWxlZCgp
KSB7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdl
dCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1v
ZHVsZSBzY3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQogCi0gICAgaWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7
Ci0gICAgICAgIGlmICghbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShjYWNoZWRTY3JpcHQsIHBhcmFt
ZXRlcnMtPmludGVncml0eSgpKSkgewotICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVF
cnJvciwgbWFrZVN0cmluZygiQ2Fubm90IGxvYWQgc2NyaXB0ICIsIGludGVncml0eU1pc21hdGNo
RGVzY3JpcHRpb24oY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpKTsKKyAg
ICAgICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlw
ZShjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgeworICAgICAgICAgICAgLy8g
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2Zl
dGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKKyAgICAgICAgICAgIC8vIFRoZSByZXN1bHQgb2Yg
ZXh0cmFjdGluZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVhZGVyIGxpc3QgKGlnbm9y
aW5nIHBhcmFtZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLgorICAgICAgICAg
ICAgLy8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBk
b2VzIG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBz
Y3JpcHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlN
RSB0eXBlLgorICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmlu
ZygiJyIsIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCksICInIGlzIG5vdCBhIHZh
bGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQotICAgIH0KIAotICAgIFVSTCByZXNwb25zZVVSTCA9IGNhY2hlZFNjcmlwdC5yZXNwb25z
ZSgpLnVybCgpOwotICAgIC8vIElmIHdlIGRvIG5vdCBoYXZlIHJlZGlyZWN0aW9uLCB3ZSBtdXN0
IHJlc2VydmUgdGhlIHNvdXJjZSBVUkwncyBmcmFnbWVudCBleHBsaWNpdGx5IGhlcmUgc2luY2Ug
UmVzb3VyY2VSZXNwb25zZTo6dXJsKCkgaXMgdGhlIG9uZSB3aGVuIHdlIGZpcnN0IGNhY2hlIGl0
IHRvIE1lbW9yeUNhY2hlLgotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJhY2sgZnJhZ21lbnRz
IHRocm91Z2ggcmVkaXJlY3Rpb25zLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTg0MjAKLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjEwNDkwCi0gICAgaWYgKCFjYWNoZWRTY3JpcHQuaGFzUmVkaXJlY3Rpb25z
KCkgJiYgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkuc291cmNlKCkgIT0gUmVzb3VyY2VSZXNwb25z
ZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7Ci0gICAgICAgIGlmIChzb3VyY2VVUkwuaGFzRnJh
Z21lbnRJZGVudGlmaWVyKCkpCi0gICAgICAgICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElk
ZW50aWZpZXIoc291cmNlVVJMLmZyYWdtZW50SWRlbnRpZmllcigpKTsKLSAgICB9CisgICAgICAg
IGlmIChhdXRvKiBwYXJhbWV0ZXJzID0gbG9hZGVyLnBhcmFtZXRlcnMoKSkgeworICAgICAgICAg
ICAgaWYgKCFtYXRjaEludGVncml0eU1ldGFkYXRhKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+
aW50ZWdyaXR5KCkpKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJv
ciwgbWFrZVN0cmluZygiQ2Fubm90IGxvYWQgc2NyaXB0ICIsIGludGVncml0eU1pc21hdGNoRGVz
Y3JpcHRpb24oY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KIAotICAgIG1fcmVx
dWVzdFVSTFRvUmVzcG9uc2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5zdHJpbmcoKSwgV1RGTW92ZShy
ZXNwb25zZVVSTCkpOwotICAgIHByb21pc2UtPnJlc29sdmVXaXRoQ2FsbGJhY2soWyZdIChKU0RP
TUdsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6SlNT
b3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKLSAgICAgICAgICAgIEpTQzo6
U291cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyAmY2FjaGVkU2NyaXB0LCBKU0M6OlNvdXJj
ZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNT
b3VyY2VDb2RlKCkgfSk7Ci0gICAgfSk7CisgICAgICAgIGNhbm9uaWNhbGl6ZUFuZFJlZ2lzdGVy
UmVzcG9uc2VVUkwoY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkudXJsKCksIGNhY2hlZFNjcmlwdC5o
YXNSZWRpcmVjdGlvbnMoKSwgY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkuc291cmNlKCkpOworICAg
ICAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3Qm
IGpzR2xvYmFsT2JqZWN0KSB7CisgICAgICAgICAgICByZXR1cm4gSlNDOjpKU1NvdXJjZUNvZGU6
OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52bSgpLAorICAgICAgICAgICAgICAgIEpTQzo6U291cmNl
Q29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyAmY2FjaGVkU2NyaXB0LCBKU0M6OlNvdXJjZVByb3Zp
ZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VD
b2RlKCkgfSk7CisgICAgICAgIH0pOworICAgIH0gZWxzZSB7CisgICAgICAgIGF1dG8mIGxvYWRl
ciA9IHN0YXRpY19jYXN0PFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciY+KG1vZHVsZVNjcmlwdExv
YWRlcik7CisgICAgICAgIGF1dG8mIHdvcmtlclNjcmlwdExvYWRlciA9IGxvYWRlci5zY3JpcHRM
b2FkZXIoKTsKKworICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmZhaWxlZCgpKSB7Cisg
ICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVycm9yKCkuaXNBY2Nlc3NDb250cm9s
KCkpIHsKKyAgICAgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9t
aXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiQ3Jvc3Mtb3Jp
Z2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBw
b2xpY3kuIl9zKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGlmICh3b3JrZXJTY3JpcHRMb2FkZXIuZXJyb3IoKS5pc0NhbmNlbGxhdGlvbigp
KSB7CisgICAgICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlz
ZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcg
YSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7CisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtF
cnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAi
SW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0
ZWRKYXZhU2NyaXB0TUlNRVR5cGUod29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlTUlNRVR5cGUo
KSkpIHsKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlw
YWdlL3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0CisgICAgICAg
ICAgICAvLyBUaGUgcmVzdWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5cGUgZnJvbSByZXNwb25z
ZSdzIGhlYWRlciBsaXN0IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0
IE1JTUUgdHlwZS4KKyAgICAgICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIGZldGNo
aW5nIGEgY2xhc3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5cGUgY2hlY2tpbmcu
IEluIGNvbnRyYXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9hZCBpZiB0aGV5IGFy
ZSBub3Qgb2YgYSBjb3JyZWN0IE1JTUUgdHlwZS4KKyAgICAgICAgICAgIHByb21pc2UtPnJlamVj
dChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIiciLCB3b3JrZXJTY3JpcHRMb2FkZXIucmVzcG9uc2VN
SU1FVHlwZSgpLCAiJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iKSk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBVUkwgcmVzcG9uc2VVUkwg
PSBjYW5vbmljYWxpemVBbmRSZWdpc3RlclJlc3BvbnNlVVJMKHdvcmtlclNjcmlwdExvYWRlci5y
ZXNwb25zZVVSTCgpLCB3b3JrZXJTY3JpcHRMb2FkZXIuaXNSZWRpcmVjdGVkKCksIHdvcmtlclNj
cmlwdExvYWRlci5yZXNwb25zZVNvdXJjZSgpKTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdp
dGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAg
ICAgICAgICAgcmV0dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qu
dm0oKSwKKyAgICAgICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2Rl
IHsgd29ya2VyU2NyaXB0TG9hZGVyLnNjcmlwdCgpLCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSwgeyB9
LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0
Y2hlcigpIH0uanNTb3VyY2VDb2RlKCkgfSk7CisgICAgICAgIH0pOworICAgIH0KIH0KIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaAppbmRl
eCBkZTI5ZDJmNGJmMDk2YjYwYzM2OTk4MDMxNmMxNDg2YjI4MmFiZjA5Li5kZjM0ZDU1MWExMWNk
OThmNGUyMzZhMmFhMWY0ODI3OWQ5NjRjNjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaApAQCAtMjUsOCArMjUsOCBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIgotI2luY2x1ZGUg
IkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlw
dExvYWRlci5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDUsMTYgKzQ1LDE3IEBAIGNsYXNz
IFNvdXJjZU9yaWdpbjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEb2N1bWVudDsK
IGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IAotY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQgeworY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJp
dmF0ZSBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdE1vZHVsZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgot
ICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRlcihEb2N1bWVudCYpOworICAgIGVudW0gY2xh
c3MgT3duZXJUeXBlIDogdWludDhfdCB7IERvY3VtZW50LCBXb3JrZXJPcldvcmtsZXQgfTsKKyAg
ICBleHBsaWNpdCBTY3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE93
bmVyVHlwZSk7CiAgICAgflNjcmlwdE1vZHVsZUxvYWRlcigpOwogCi0gICAgRG9jdW1lbnQmIGRv
Y3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudDsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQ7IH0KIAogICAgIEpTQzo6SWRlbnRpZmll
ciByZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlND
OjpKU1ZhbHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlND
OjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwogICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIGZl
dGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1Zh
bHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3Jp
cHRGZXRjaGVyKTsKQEAgLTYzLDEzICs2NCwxNSBAQCBjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIg
ZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CiAgICAgSlND
OjpKU09iamVjdCogY3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNv
cmQqLCBKU0M6OkpTVmFsdWUpOwogCiBwcml2YXRlOgotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQo
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4pIGZpbmFs
OworICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJl
ZjxEZWZlcnJlZFByb21pc2U+KSBmaW5hbDsKKwogICAgIFVSTCBtb2R1bGVVUkwoSlNDOjpKU0ds
b2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAgICAgVVJMIHJlc3BvbnNlVVJMRnJvbVJlcXVl
c3RVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAKLSAgICBEb2N1bWVu
dCYgbV9kb2N1bWVudDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAg
ICAgSGFzaE1hcDxTdHJpbmcsIFVSTD4gbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcDsKLSAg
ICBIYXNoU2V0PFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+PiBtX2xvYWRlcnM7CisgICAg
SGFzaFNldDxSZWY8TW9kdWxlU2NyaXB0TG9hZGVyPj4gbV9sb2FkZXJzOworICAgIE93bmVyVHlw
ZSBtX293bmVyVHlwZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaAppbmRleCBjNzA0NjI2ZmI3MzNk
YjQ3MmJkYTUwMjM2MjQxYTZlNzQwZTI3ODJiLi4xMGZhN2U4YjQ0OWM4Yjg0OWViMzdjYzFmMmM4
NjZmYTg5M2FhZDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRTb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291
cmNlQ29kZS5oCkBAIC01Nyw3ICs1Nyw3IEBAIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGUgewogICAg
IHsKICAgICB9CiAKLSAgICBTY3JpcHRTb3VyY2VDb2RlKGNvbnN0IFN0cmluZyYgc291cmNlLCBV
UkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwgSlNDOjpTb3VyY2VQ
cm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlwZSwgUmVmPENhY2hlZFNjcmlwdEZldGNoZXI+JiYg
c2NyaXB0RmV0Y2hlcikKKyAgICBTY3JpcHRTb3VyY2VDb2RlKGNvbnN0IFN0cmluZyYgc291cmNl
LCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwgSlNDOjpTb3Vy
Y2VQcm92aWRlclNvdXJjZVR5cGUgc291cmNlVHlwZSwgUmVmPEpTQzo6U2NyaXB0RmV0Y2hlcj4m
JiBzY3JpcHRGZXRjaGVyKQogICAgICAgICA6IG1fcHJvdmlkZXIoSlNDOjpTdHJpbmdTb3VyY2VQ
cm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgSlNDOjpTb3VyY2VPcmlnaW4geyB1cmwsIFdURk1vdmUo
c2NyaXB0RmV0Y2hlcikgfSwgdXJsLnN0cmluZygpLCBzdGFydFBvc2l0aW9uLCBzb3VyY2VUeXBl
KSkKICAgICAgICAgLCBtX2NvZGUobV9wcm92aWRlci5jb3B5UmVmKCksIHN0YXJ0UG9zaXRpb24u
bV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQo
KSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJN
b2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2Vy
TW9kdWxlU2NyaXB0TG9hZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDEzNDhjOTNkMTYwZWFlNWM0OGRm
ZDU3OWRkYzgwODE5MjFmNThkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcApAQCAtMCwwICsxLDkzIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldvcmtlck1vZHVsZVNj
cmlwdExvYWRlci5oIgorCisjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1
ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNE
T01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRl
ICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlv
bnMuaCIKKyNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0TW9k
dWxlTG9hZGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgorI2luY2x1ZGUgIldv
cmtlclNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyPiBXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNs
aWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3Jp
cHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVu
dCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJzKSkpOworfQorCitX
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVT
Y3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBXb3Jr
ZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzPiYmIHBhcmFtZXRlcnMpCisgICAgOiBNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9t
aXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKQorICAgICwgbV9zY3JpcHRM
b2FkZXIoV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKSkKK3sKK30KKworV29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyOjp+V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKCkKK3sKKyAgICBtX3Njcmlw
dExvYWRlci0+Y2FuY2VsKCk7Cit9CisKK2Jvb2wgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjps
b2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFVSTCYmIHNvdXJjZVVSTCkKK3sK
KyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUoc291cmNlVVJMKTsKKworICAgIFJlc291cmNlUmVx
dWVzdCByZXF1ZXN0IHsgbV9zb3VyY2VVUkwgfTsKKworICAgIEZldGNoT3B0aW9ucyBmZXRjaE9w
dGlvbnM7CisgICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnM7
CisgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsK
KyAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xs
b3c7CisgICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gc3RhdGljX2Nhc3Q8V29ya2VyU2Ny
aXB0RmV0Y2hlciY+KHNjcmlwdEZldGNoZXIoKSkuY3JlZGVudGlhbHMoKTsKKyAgICBmZXRjaE9w
dGlvbnMuZGVzdGluYXRpb24gPSBzdGF0aWNfY2FzdDxXb3JrZXJTY3JpcHRGZXRjaGVyJj4oc2Ny
aXB0RmV0Y2hlcigpKS5kZXN0aW5hdGlvbigpOworICAgIGZldGNoT3B0aW9ucy5yZWZlcnJlclBv
bGljeSA9IHN0YXRpY19jYXN0PFdvcmtlclNjcmlwdEZldGNoZXImPihzY3JpcHRGZXRjaGVyKCkp
LnJlZmVycmVyUG9saWN5KCk7CisgICAgYXV0byBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNl
bWVudCA9IGNvbnRleHQuc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
KCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlIDogQ29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VDaGlsZFNyY0RpcmVjdGl2ZTsK
KworICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92
ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCB0YXNrTW9kZSgpKTsK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Om5v
dGlmeUZpbmlzaGVkKCkKK3sKKyAgICBBU1NFUlQobV9wcm9taXNlKTsKKworICAgIGF1dG8gcHJv
dGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpOworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAg
bV9jbGllbnQtPm5vdGlmeUZpbmlzaGVkKCp0aGlzLCBXVEZNb3ZlKG1fc291cmNlVVJMKSwgbV9w
cm9taXNlLnJlbGVhc2VOb25OdWxsKCkpOworfQorCitTdHJpbmcgV29ya2VyTW9kdWxlU2NyaXB0
TG9hZGVyOjp0YXNrTW9kZSgpCit7CisgICAgcmV0dXJuICJsb2FkTW9kdWxlc0luV29ya2VyT3JX
b3JrbGV0TW9kZSJfczsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzliNjMzMDRkMWU3
ODkyNDBjNDQxOTNhN2RhZGE3NjhjZjEyYjgyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgKQEAgLTAsMCArMSw2
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0
TG9hZGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVk
ZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNz
IE1vZHVsZUZldGNoUGFyYW1ldGVyczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7Citj
bGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXI7
CisKK2NsYXNzIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBNb2R1bGVT
Y3JpcHRMb2FkZXIsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlzZSYsIFdvcmtlclNjcmlwdEZldGNoZXIm
LCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKworICAgIHZpcnR1YWwgfldvcmtl
ck1vZHVsZVNjcmlwdExvYWRlcigpOworCisgICAgYm9vbCBsb2FkKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBVUkwmJiBzb3VyY2VVUkwpOworCisgICAgV29ya2VyU2NyaXB0TG9hZGVyJiBzY3Jp
cHRMb2FkZXIoKSB7IHJldHVybiBtX3NjcmlwdExvYWRlci5nZXQoKTsgfQorCisgICAgc3RhdGlj
IFN0cmluZyB0YXNrTW9kZSgpOworCitwcml2YXRlOgorICAgIFdvcmtlck1vZHVsZVNjcmlwdExv
YWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBXb3JrZXJT
Y3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2
b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJikgZmluYWwgeyB9CisgICAgdm9pZCBub3RpZnlGaW5pc2hlZCgpIGZpbmFsOworCisgICAg
UmVmPFdvcmtlclNjcmlwdExvYWRlcj4gbV9zY3JpcHRMb2FkZXI7CisgICAgVVJMIG1fc291cmNl
VVJMOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RmV0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV29ya2VyU2NyaXB0RmV0Y2hlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3MDkxNTJjZWQ1
ZjViMzQ0NDk2MjI5ODViOWUxOTE2YTcyMDJkZGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRGZXRjaGVyLmgKQEAgLTAsMCArMSw5MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTG9hZGFibGVTY3JpcHQu
aCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRGZXRjaGVyLmg+CisjaW5jbHVkZSA8
d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVkU2NyaXB0OworY2xhc3MgRG9jdW1lbnQ7CisK
K2NsYXNzIFdvcmtlclNjcmlwdEZldGNoZXIgZmluYWwgOiBwdWJsaWMgSlNDOjpTY3JpcHRGZXRj
aGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdvcmtlclNjcmlwdEZldGNoZXI+IGNyZWF0
ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uIGRlc3RpbmF0aW9uLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdvcmtlclNjcmlwdEZldGNoZXIoY3Jl
ZGVudGlhbHMsIGRlc3RpbmF0aW9uLCByZWZlcnJlclBvbGljeSkpOworICAgIH0KKworICAgIEZl
dGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMoKSBjb25zdCB7IHJldHVybiBtX2Ny
ZWRlbnRpYWxzOyB9CisgICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fZGVzdGluYXRpb247IH0KKyAgICBSZWZlcnJlclBvbGljeSByZWZl
cnJlclBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmZXJyZXJQb2xpY3k7IH0KKworICAgIHZv
aWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYgbW9kdWxlS2V5KQorICAg
IHsKKyAgICAgICAgbV9tb2R1bGVLZXkgPSAmbW9kdWxlS2V5OworICAgICAgICBtX2lzTG9hZGVk
ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIG5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3Jp
cHQ6OkVycm9yJiYgZXJyb3IpCisgICAgeworICAgICAgICBtX2Vycm9yID0gV1RGTW92ZShlcnJv
cik7CisgICAgICAgIG1faXNMb2FkZWQgPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgbm90aWZ5
TG9hZFdhc0NhbmNlbGVkKCkKKyAgICB7CisgICAgICAgIG1fd2FzQ2FuY2VsZWQgPSB0cnVlOwor
ICAgICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIGlzTG9hZGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc0xvYWRlZDsgfQorICAgIE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0
OjpFcnJvcj4gZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9CisgICAgYm9vbCB3YXND
YW5jZWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2FzQ2FuY2VsZWQ7IH0KKyAgICBVbmlxdWVkU3Ry
aW5nSW1wbCogbW9kdWxlS2V5KCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0K
KworcHJvdGVjdGVkOgorICAgIFdvcmtlclNjcmlwdEZldGNoZXIoRmV0Y2hPcHRpb25zOjpDcmVk
ZW50aWFscyBjcmVkZW50aWFscywgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlv
biwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kpCisgICAgICAgIDogbV9jcmVkZW50aWFs
cyhjcmVkZW50aWFscykKKyAgICAgICAgLCBtX2Rlc3RpbmF0aW9uKGRlc3RpbmF0aW9uKQorICAg
ICAgICAsIG1fcmVmZXJyZXJQb2xpY3kocmVmZXJyZXJQb2xpY3kpCisgICAgeworICAgIH0KKwor
cHJpdmF0ZToKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIG1fY3JlZGVudGlhbHM7Cisg
ICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBtX2Rlc3RpbmF0aW9uOworICAgIFJlZmVycmVy
UG9saWN5IG1fcmVmZXJyZXJQb2xpY3kgeyBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcgfTsK
KyAgICBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+IG1fbW9kdWxlS2V5OworICAgIE9wdGlvbmFs
PExvYWRhYmxlU2NyaXB0OjpFcnJvcj4gbV9lcnJvcjsKKyAgICBib29sIG1fd2FzQ2FuY2VsZWQg
eyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0xvYWRlZCB7IGZhbHNlIH07Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAxYjlmNzI2NjM5MjEw
ODVjNThkMDhiNWIwNzk5NjU2OWZlYTY2MmFhLi41MDgwZWE4NTk1ODhmZTkzOWM3YTJjN2Y2NWE4
ODFiNGE3YjQ4YTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYxNSw3ICs2MTUsNyBA
QCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBTZXR0aW5ncyYgc2V0dGlu
Z3MsIGNvbnN0IFVSTCYgdXJsLCBEb2N1bQogICAgICwgbV9kb2N1bWVudENyZWF0aW9uVGltZShN
b25vdG9uaWNUaW1lOjpub3coKSkKICNlbmRpZgogICAgICwgbV9zY3JpcHRSdW5uZXIobWFrZVVu
aXF1ZTxTY3JpcHRSdW5uZXI+KCp0aGlzKSkKLSAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlx
dWU8U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRlcihtYWtl
VW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3du
ZXJUeXBlOjpEb2N1bWVudCkpCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgLCBtX2FwcGx5UGVuZGlu
Z1hTTFRyYW5zZm9ybXNUaW1lcigqdGhpcywgJkRvY3VtZW50OjphcHBseVBlbmRpbmdYU0xUcmFu
c2Zvcm1zVGltZXJGaXJlZCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0V4Y2VwdGlvbkNvZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgKaW5k
ZXggZjZiNTU4ZWE4MmQ3OTM2OGU2MWFkYjA2MGNmMGI0ZWExZGJlYTIwYy4uMTdkZTc0MzQ3MmY3
NzMxYjAzYzk4ZmVjZTdiMWViMWI5NjAxZTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V4Y2VwdGlvbkNvZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29k
ZS5oCkBAIC02MSw2ICs2MSw3IEBAIGVudW0gRXhjZXB0aW9uQ29kZSB7CiAgICAgLy8gU2ltcGxl
IGV4Y2VwdGlvbnMgKGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC1leGNlcHRp
b25zKS4KICAgICBSYW5nZUVycm9yLAogICAgIFR5cGVFcnJvciwKKyAgICBKU1N5bnRheEVycm9y
LCAvLyBEaWZmZXJlbnQgZnJvbSBET00gU1lOVEFYX0VSUi4KIAogICAgIC8vIE5vbi1zdGFuZGFy
ZCBlcnJvci4KICAgICBTdGFja092ZXJmbG93RXJyb3IsCkBAIC0xMTEsNiArMTEyLDcgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpFeGNlcHRpb25Db2RlPiB7CiAgICAg
V2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6Tm90QWxsb3dlZEVycm9yLAogICAgIFdlYkNvcmU6OkV4
Y2VwdGlvbkNvZGU6OlJhbmdlRXJyb3IsCiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6VHlw
ZUVycm9yLAorICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OkpTU3ludGF4RXJyb3IsCiAgICAg
V2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6U3RhY2tPdmVyZmxvd0Vycm9yLAogICAgIFdlYkNvcmU6
OkV4Y2VwdGlvbkNvZGU6OkV4aXN0aW5nRXhjZXB0aW9uRXJyb3IKICAgICA+OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKaW5kZXggOWEyNWMxNjU4OGVlY2Fk
Njc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uNDhlYzA4NTFhNDU3ZDliYTQ3NDczZmVjMjhkN2I0
OTMxMmI3ODhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxl
U2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQu
Y3BwCkBAIC04OCwxNiArODgsNCBAQCB2b2lkIExvYWRhYmxlTW9kdWxlU2NyaXB0OjpleGVjdXRl
KFNjcmlwdEVsZW1lbnQmIHNjcmlwdEVsZW1lbnQpCiAgICAgc2NyaXB0RWxlbWVudC5leGVjdXRl
TW9kdWxlU2NyaXB0KCp0aGlzKTsKIH0KIAotdm9pZCBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9h
ZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgcm9vdFVSTCkKLXsKLSAgICBpZiAoYXV0
byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9h
ZE1vZHVsZVNjcmlwdCgqdGhpcywgcm9vdFVSTC5zdHJpbmcoKSwgbV9wYXJhbWV0ZXJzLmNvcHlS
ZWYoKSk7Ci19Ci0KLXZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRv
Y3VtZW50LCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQotewotICAgIGlmIChh
dXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0gICAgICAgIGZyYW1lLT5zY3JpcHQoKS5s
b2FkTW9kdWxlU2NyaXB0KCp0aGlzLCBzb3VyY2VDb2RlKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaAppbmRleCBiYjc5OTU0ZDdiOTliMGVkMDZiZmU1
NWVmODU0ZWNjZTIxZjM1ODc3Li5kMjUzNTk2M2Y2NDhiMDJhOGEwMWZkNjNiYjFlMzgxMzg2Y2Vl
NDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaApAQCAtNTAs
MTUgKzUwLDE0IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxlU2NyaXB0IGZpbmFsIDogcHVibGljIExv
YWRhYmxlU2NyaXB0IHsKIAogICAgIHZvaWQgc2V0RXJyb3IoRXJyb3ImJik7CiAKLSAgICB2b2lk
IGxvYWQoRG9jdW1lbnQmLCBjb25zdCBVUkwmIHJvb3RVUkwpOwotICAgIHZvaWQgbG9hZChEb2N1
bWVudCYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKLQogICAgIHZvaWQgbm90aWZ5TG9hZENv
bXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYpOwogICAgIHZvaWQgbm90aWZ5TG9hZEZhaWxlZChM
b2FkYWJsZVNjcmlwdDo6RXJyb3ImJik7CiAgICAgdm9pZCBub3RpZnlMb2FkV2FzQ2FuY2VsZWQo
KTsKIAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtb2R1bGVLZXkoKSBjb25zdCB7IHJldHVybiBt
X21vZHVsZUtleS5nZXQoKTsgfQogCisgICAgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzJiBwYXJhbWV0
ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgTG9h
ZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBpbnRl
Z3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBib29s
IGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQu
Y3BwCmluZGV4IDA1NzU4YjYwMGM3NTIyYjQ3ZjM2NGJhNmExOGQzNWYxNzMxMTA3ZjkuLjVlOTlm
MGY1Nzc3YjNiMjE1OGRkMGZhNGJjMzgyNzc2Y2RiMzQ4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJMb2FkYWJsZUNsYXNz
aWNTY3JpcHQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUg
Ik1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIK
ICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHU2NyaXB0RWxlbWVudC5oIgpAQCAtMzUxLDggKzM1Miwx
MSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4dFBv
c2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgICAgICAgICAgc2NyaXB0Q2hhcnNldCgp
LAogICAgICAgICAgICAgbV9lbGVtZW50LmxvY2FsTmFtZSgpLAogICAgICAgICAgICAgbV9lbGVt
ZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwotICAgICAgICBzY3JpcHQtPmxvYWQobV9l
bGVtZW50LmRvY3VtZW50KCksIG1vZHVsZVNjcmlwdFJvb3RVUkwpOwogICAgICAgICBtX2xvYWRh
YmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOworICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBt
X2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7CisgICAgICAgICAgICBhdXRvJiBzY3JpcHQg
PSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlwdD4oKm1fbG9hZGFibGVTY3JpcHQuZ2V0KCkp
OworICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoc2NyaXB0LCBt
b2R1bGVTY3JpcHRSb290VVJMLnN0cmluZygpLCBtYWtlUmVmKHNjcmlwdC5wYXJhbWV0ZXJzKCkp
KTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTM2Nyw4ICsz
NzEsOSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4
dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgIGlmICghY29udGVudFNlY3VyaXR5
UG9saWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVudC5kb2N1bWVudCgpLnVybCgpLnN0cmlu
ZygpLCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29kZS5zb3VyY2UoKS50b1N0cmluZ1dpdGhv
dXRDb3B5aW5nKCksIGhhc0tub3duTm9uY2UpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBzY3JpcHQtPmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIHNvdXJjZUNvZGUpOwogICAgIG1f
bG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7CisgICAgaWYgKGF1dG8qIGZyYW1lID0g
bV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxv
YWRNb2R1bGVTY3JpcHQoZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVTY3JpcHQ+KCptX2xvYWRhYmxl
U2NyaXB0LmdldCgpKSwgc291cmNlQ29kZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCAyNzE3Yzg2MWM3NGIw
ZjJhZWJjZGU0MDg3MDBlMmE5YTAzNzM3NTk1Li4xYjY1MzJjM2IwZWFhODBkOWJkNDZjNmQ0MzIx
MzY5NjIxYzAxOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
Y3BwCkBAIC0xMDEsMTAgKzEwMSwxMCBAQCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyBUaHJlYWRh
YmxlTG9hZGVyT3B0aW9uczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKIH0KIAogCi1SZWZQdHI8VGhy
ZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgUmVzb3VyY2VS
ZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMs
IFN0cmluZyYmIHJlZmVycmVyKQorUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVhZGFibGVM
b2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50JiBjbGllbnQsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFRo
cmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBTdHJpbmcmJiByZWZlcnJlciwgU3RyaW5n
JiYgdGFza01vZGUpCiB7CiAgICAgaWYgKGlzPFdvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KSB8
fCAoaXM8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KSAmJiBkb3duY2FzdDxXb3JrbGV0R2xv
YmFsU2NvcGU+KGNvbnRleHQpLndvcmtlck9yV29ya2xldFRocmVhZCgpKSkKLSAgICAgICAgcmV0
dXJuIFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxXb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZSY+KGNvbnRleHQpLCBjbGllbnQsIFdvcmtlclJ1bkxvb3A6OmRlZmF1
bHRNb2RlKCksIFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMsIFdURk1vdmUocmVmZXJyZXIpKTsK
KyAgICAgICAgcmV0dXJuIFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzdGF0aWNfY2Fz
dDxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSY+KGNvbnRleHQpLCBjbGllbnQsIFdURk1vdmUo
dGFza01vZGUpLCBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRpb25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7
CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBudWxscHRyOwogICAgIGlmIChpczxXb3JrbGV0
R2xvYmFsU2NvcGU+KGNvbnRleHQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyLmgKaW5kZXggYzJiMjQ1YzNlYmI4YmM5MzBlZjRkMTcyYmExNTA5YTE3OWYxZDdhNi4uMWFj
NzA0YjRjM2I1MGIwZmZkYTAzNDI4YzNjZTdkYTE0OTg4MjYzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC03NCw3ICs3NCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7Ci0gICAgICAgIHN0
YXRpYyBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFRo
cmVhZGFibGVMb2FkZXJPcHRpb25zJiwgU3RyaW5nJiYgcmVmZXJyZXIgPSBTdHJpbmcoKSk7Cisg
ICAgICAgIHN0YXRpYyBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgUmVzb3VyY2VSZXF1ZXN0JiYs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgU3RyaW5nJiYgcmVmZXJyZXIgPSBTdHJp
bmcoKSwgU3RyaW5nJiYgdGFza01vZGUgPSB7IH0pOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBj
b21wdXRlSXNEb25lKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKCkgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZS5oCmluZGV4IDBmY2I2MDlkMTFmMmM5MmU1NTQ1Y2Y3NzAwMWUwODIzZmE4NjViMjcuLjU3ZjQ1
MmM2ZWVhOWUwNjNmZDc1ODhkZTkxMzQyNzkwY2Q4OTljMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTgxLDYgKzgx
LDggQEAgY2xhc3MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUgZmluYWwgOiBwdWJsaWMgV29y
a2VyR2xvYmFsU2NvcGUgewogICAgIFJlZlB0cjxNZXNzYWdlUG9ydD4gdGFrZVBlbmRpbmdSVENU
cmFuc2ZvbWVyTWVzc2FnZVBvcnQoKSB7IHJldHVybiBXVEZNb3ZlKG1fcGVuZGluZ1JUQ1RyYW5z
Zm9tZXJNZXNzYWdlUG9ydCk7IH0KICNlbmRpZgogCisgICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5h
dGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OldvcmtlcjsgfQorCiBwcml2YXRlOgogICAgIHVzaW5nIEJhc2UgPSBXb3JrZXJH
bG9iYWxTY29wZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IGJmNmUyNzZhMzlj
MjMxNWY4ODkwYzYzMzAzMjlkNjQ0ZGZjYWVhYTUuLjA0ZmRmNTgyNzQzZWI5NzNiNTI1ZDU0Yzhh
OGQ4ZjM3ZDgyNTIwZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTc0LDYgKzc0
LDggQEAgaW5saW5lIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWUKICAgICAsIG1faWRlbnRpZmllcigid29ya2Vy
OiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpKQog
ICAgICwgbV9jb250ZXh0UHJveHkoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6Y3JlYXRlKCp0aGlz
KSkKICAgICAsIG1fcnVudGltZUZsYWdzKHJ1bnRpbWVGbGFncykKKyAgICAsIG1fdHlwZShvcHRp
b25zLnR5cGUpCisgICAgLCBtX2NyZWRlbnRpYWxzKG9wdGlvbnMuY3JlZGVudGlhbHMpCiB7CiAg
ICAgc3RhdGljIGJvb2wgYWRkZWRMaXN0ZW5lcjsKICAgICBpZiAoIWFkZGVkTGlzdGVuZXIpIHsK
QEAgLTExNywxMCArMTE5LDE1IEBAIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBXb3JrZXI6OmNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1CiAKICAgICBGZXRj
aE9wdGlvbnMgZmV0Y2hPcHRpb25zOwogICAgIGZldGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRp
b25zOjpNb2RlOjpTYW1lT3JpZ2luOworICAgIGlmICh3b3JrZXItPm1fdHlwZSA9PSBXb3JrZXJU
eXBlOjpNb2R1bGUpCisgICAgICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHdvcmtlci0+
bV9jcmVkZW50aWFsczsKKyAgICBlbHNlCisgICAgICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFs
cyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW47CiAgICAgZmV0Y2hPcHRp
b25zLmNhY2hlID0gRmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKICAgICBmZXRjaE9wdGlv
bnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CiAgICAgZmV0Y2hP
cHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyOwot
ICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBX
VEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgd29ya2VyKTsKKyAgICB3
b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92
ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSwgV29ya2Vy
UnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CisKICAgICByZXR1cm4gd29ya2VyOwogfQogCkBAIC0y
MTksNyArMjI2LDEzIEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAgICAgUmVmZXJy
ZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiAg
ICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRlci0+
cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQogICAg
ICAgICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7Ci0gICAgbV9jb250ZXh0UHJveHkuc3RhcnRX
b3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4dC0+
dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRl
ci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRpb25U
aW1lLCByZWZlcnJlclBvbGljeSwgbV9ydW50aW1lRmxhZ3MpOworCisgICAgVVJMIHJlc3BvbnNl
VVJMID0gbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlVVJMKCk7CisgICAgaWYgKCFtX3NjcmlwdExv
YWRlci0+aXNSZWRpcmVjdGVkKCkgJiYgbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlU291cmNlKCkg
IT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7CisgICAgICAgIGlm
IChtX3NjcmlwdExvYWRlci0+dXJsKCkuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAg
ICAgICByZXNwb25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIobV9zY3JpcHRMb2FkZXItPnVy
bCgpLmZyYWdtZW50SWRlbnRpZmllcigpKTsKKyAgICB9CisgICAgbV9jb250ZXh0UHJveHkuc3Rh
cnRXb3JrZXJHbG9iYWxTY29wZShyZXNwb25zZVVSTCwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdl
bnQocmVzcG9uc2VVUkwpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xp
Y3ksIG1fdHlwZSwgbV9jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOwogICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2NyaXB0TG9hZGVy
LT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlci5oCmluZGV4IDUzZjVlNmZmZjI3YzlmYTNlNWMwZTAxZjBmNmM0MmM2Y2I2Zjlk
MGUuLjM4YTYyM2E5OGRiYTM1ZmY4MDEzY2Q2ZmM4Yzg1YzgxMDIwNTAyMTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuaApAQCAtMjksOSArMjksMTEgQEAKICNpbmNsdWRlICJBY3RpdmVET01PYmpl
Y3QuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIK
ICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIkZldGNoUmVxdWVzdENyZWRlbnRp
YWxzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJQb3N0TWVzc2FnZU9w
dGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRl
ICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+
CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwu
aD4KQEAgLTU1LDYgKzU3LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3RyYWN0
V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAgICBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEKFdvcmtlcik7CiBwdWJsaWM6CiAgICAgc3RydWN0IE9wdGlvbnMgewor
ICAgICAgICBXb3JrZXJUeXBlIHR5cGU7CisgICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxz
IGNyZWRlbnRpYWxzOwogICAgICAgICBTdHJpbmcgbmFtZTsKICAgICB9OwogICAgIHN0YXRpYyBF
eGNlcHRpb25PcjxSZWY8V29ya2VyPj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBK
U0M6OlJ1bnRpbWVGbGFncywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IE9wdGlvbnMmKTsKQEAg
LTc5LDYgKzgzLDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2Vy
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICAgICB2b2lkIHBvc3RUYXNr
VG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
KT4mJik7CiAjZW5kaWYKIAorICAgIFdvcmtlclR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdvcmtlcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IE9wdGlvbnMmKTsKIApAQCAtMTEyLDYg
KzExOCw4IEBAIGNsYXNzIFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciwgcHVi
bGljIEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBXb3JrCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAg
ICAgSGFzaFNldDxTdHJpbmc+IG1fdHJhbnNmb3JtZXJzOwogI2VuZGlmCisgICAgV29ya2VyVHlw
ZSBtX3R5cGUgeyBXb3JrZXJUeXBlOjpDbGFzc2ljIH07CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVu
dGlhbHMgbV9jcmVkZW50aWFscyB7IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpTYW1lT3JpZ2lu
IH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5p
ZGwKaW5kZXggNDVkNmEwODY3ODU0ZWU0MDRkZTdlN2QwMTI0OGNlYmY0NGRjYTdlZC4uNzAyMTc5
NmRmNTA0YWRmOGU2Yjk1ODlhY2U5ZjE0NDgyMWYyOTVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmlkbApAQCAtMzgsNiArMzgsOCBAQAogfTsKIAogZGljdGlvbmFyeSBXb3JrZXJPcHRpb25z
IHsKKyAgICBXb3JrZXJUeXBlIHR5cGUgPSAiY2xhc3NpYyI7CisgICAgRmV0Y2hSZXF1ZXN0Q3Jl
ZGVudGlhbHMgY3JlZGVudGlhbHMgPSAic2FtZS1vcmlnaW4iOyAvLyBjcmVkZW50aWFscyBpcyBv
bmx5IHVzZWQgaWYgdHlwZSBpcyAibW9kdWxlIgogICAgIERPTVN0cmluZyBuYW1lID0gIiI7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4
IGRiYWIzNDhlODBjOWRlNTBiZDIxNTc3N2ExNGEzOWEwZjcwZTQ5YzcuLmNjZGU5MDljN2NiNTJl
OTc3NzRjNWI4MTU4MjNlYmNiYmIwNzBmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC03NCw2ICs3NCw4IEBAIFdvcmtlckdsb2JhbFNjb3Bl
OjpXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIGNvbnN0IFdvcmtlclBh
cmFtZXRlCiAgICAgLCBtX3BlcmZvcm1hbmNlKFBlcmZvcm1hbmNlOjpjcmVhdGUodGhpcywgcGFy
YW1zLnRpbWVPcmlnaW4pKQogICAgICwgbV9yZWZlcnJlclBvbGljeShwYXJhbXMucmVmZXJyZXJQ
b2xpY3kpCiAgICAgLCBtX3NldHRpbmdzVmFsdWVzKHBhcmFtcy5zZXR0aW5nc1ZhbHVlcykKKyAg
ICAsIG1fd29ya2VyVHlwZShwYXJhbXMud29ya2VyVHlwZSkKKyAgICAsIG1fY3JlZGVudGlhbHMo
cGFyYW1zLmNyZWRlbnRpYWxzKQogewogI2lmICFFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAg
ICBVTlVTRURfUEFSQU0oY29ubmVjdGlvblByb3h5KTsKQEAgLTI3NCw2ICsyNzYsMTEgQEAgRXhj
ZXB0aW9uT3I8dm9pZD4gV29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNjcmlwdHMoY29uc3QgVmVj
dG9yPFN0cmluZz4mIHVybHMpCiB7CiAgICAgQVNTRVJUKGNvbnRlbnRTZWN1cml0eVBvbGljeSgp
KTsKIAorICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtl
cnMuaHRtbCNpbXBvcnRpbmctc2NyaXB0cy1hbmQtbGlicmFyaWVzCisgICAgLy8gMS4gSWYgd29y
a2VyIGdsb2JhbCBzY29wZSdzIHR5cGUgaXMgIm1vZHVsZSIsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgICBpZiAobV93b3JrZXJUeXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSkKKyAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgImltcG9ydFNjcmlwdHMgY2Fubm90
IGJlIHVzZWQgaWYgd29lcmtlciB0eXBlIGlzIFwibW9kdWxlXCIiX3MgfTsKKwogICAgIFZlY3Rv
cjxVUkw+IGNvbXBsZXRlZFVSTHM7CiAgICAgY29tcGxldGVkVVJMcy5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KHVybHMuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIGVudHJ5IDogdXJscykgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDQ2ZDQ5ZDk0YzUy
MzhlNDY4OGQzOTVkODdjMjA2M2ViNTcyMGQxYmYuLjc0Nzk1ZjVjMGY5YTJhMzVkMDA5MzAxMmFk
MThmNTdlMzE3ZjgyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmgKQEAgLTEyMyw2ICsxMjMsOCBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1Ymxp
YyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNgogCiAgICAg
Y29uc3QgU2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX3NldHRpbmdzVmFsdWVzOyB9CiAKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxz
IGNyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1cm4gbV9jcmVkZW50aWFsczsgfQorCiBwcm90ZWN0
ZWQ6CiAgICAgV29ya2VyR2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSwgY29uc3QgV29ya2Vy
UGFyYW1ldGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgV29ya2VyVGhyZWFkJiwgUmVmPFNl
Y3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkq
LCBTb2NrZXRQcm92aWRlciopOwogCkBAIC0xNjMsOCArMTY1LDYgQEAgY2xhc3MgV29ya2VyR2xv
YmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+LCBwdWJs
aWMgQmFzZTYKICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJMb2NhdGlvbj4gbV9sb2NhdGlvbjsK
ICAgICBtdXRhYmxlIFJlZlB0cjxXb3JrZXJOYXZpZ2F0b3I+IG1fbmF2aWdhdG9yOwogCi0gICAg
c3RkOjp1bmlxdWVfcHRyPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+IG1fc2NyaXB0
OwotCiAgICAgYm9vbCBtX2lzT25saW5lOwogICAgIGJvb2wgbV9zaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAKQEAgLTE4Nyw2ICsxODcsOCBAQCBjbGFzcyBXb3Jr
ZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4s
IHB1YmxpYyBCYXNlNgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDU1NWYWx1ZVBvb2w+IG1fY3NzVmFs
dWVQb29sOwogICAgIFJlZmVycmVyUG9saWN5IG1fcmVmZXJyZXJQb2xpY3k7CiAgICAgU2V0dGlu
Z3M6OlZhbHVlcyBtX3NldHRpbmdzVmFsdWVzOworICAgIFdvcmtlclR5cGUgbV93b3JrZXJUeXBl
OworICAgIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgbV9jcmVkZW50aWFsczsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZVByb3h5LmgKaW5kZXggNDAwMDNjM2UwMTA5OTk2MGY2NDc4NjFlNzAxNjg3ZDBl
MzcxZDcyZC4uZWQ2NzNhYzhmN2MwZWU1NGMwNjBlY2I1OTIxNjM5MGVkNzBmZTJjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKQEAgLTQ4
LDcgKzQ4LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsKIAotICAgIHZp
cnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5l
LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1
bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3Bl
KGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlND
OjpSdW50aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2VyR2xv
YmFsU2NvcGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9i
YWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmKT4mJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5LmNwcAppbmRleCAxOWQ0YmU2NDk5MmYzMGQzY2NlNzY1NDdhM2QyMjE4YTk4
Yzg0MmMzLi43ODgzNTg3YTdhZjYyMDllM2VjYzhlN2I0MWJhZDQ3YWRmNjIyNDBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtNzMs
NyArNzMsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5KCkK
ICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250
ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAKLXZv
aWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5
LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1By
b3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25z
dCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3JrZXJU
eXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxh
Z3MgcnVudGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2aXNp
dGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQobV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KTsKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBXb3JrZXJNZXNz
YWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9IGRvY3VtZW50
LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsgc2Ny
aXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGRvY3VtZW50LnNldHRp
bmdzVmFsdWVzKCkgfTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsgc2NyaXB0VVJM
LCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUsIGNyZWRlbnRp
YWxzLCBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpIH07CiAgICAgYXV0byB0aHJlYWQgPSBEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhp
cywgKnRoaXMsIHN0YXJ0TW9kZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHByb3h5LCBzb2NrZXRQ
cm92aWRlciwgcnVudGltZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0ZWQodGhyZWFk
LmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
aAppbmRleCBjNWI1NzViOWU2MTViM2YzZjU5NmJmYzNkZjY4M2M4NzdjYzYyYmFiLi5kOWU4MWUx
NTdhMGY0ODUyZTQ5YjU5ZDI1NjZhOGE4MGY1ZjgxOGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01MCw3ICs1MCw3IEBAIGNsYXNzIFdv
cmtlck1lc3NhZ2luZ1Byb3h5IGZpbmFsIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFdv
cmtlck1lc3NhZ2luZ1ByCiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3Jr
ZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5jdGlvbnMgaW4g
dGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2Nv
cGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
biwgUmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAgICB2b2lkIHN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmlu
ZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZldGNoUmVx
dWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAgdm9pZCB0ZXJt
aW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1dv
cmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFsOwogICAgIHZv
aWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYpPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggMjM4NGE1YThjN2QyYTMwMmVl
ZTVjYjQwNWUxMDVlMDI1Yzk4NDNjYy4uMDhhYWQ5MGY0NWUwOWY5ZDE0OWNhMzk4NWE2MTMwMjA1
NDFmYWMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTI2LDExICsyNiwxNCBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgiCiAKKyNpbmNsdWRl
ICJTY3JpcHRNb2R1bGVMb2FkZXIuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUuaCIKICNpbmNsdWRlICJXb3JrZXJFdmVudExvb3AuaCIKICNpbmNsdWRlICJXb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFRocmVhZC5oIgogI2luY2x1ZGUgIldv
cmtlclJ1bkxvb3AuaCIKKyNpbmNsdWRlICJXb3JrbGV0R2xvYmFsU2NvcGUuaCIKICNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOSw2
ICs0Miw3IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZSk7CiAKIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjpXb3JrZXJPcldvcmtsZXRH
bG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIFJlZjxKU0M6OlZNPiYmIHZtLCBXb3Jr
ZXJPcldvcmtsZXRUaHJlYWQqIHRocmVhZCkKICAgICA6IG1fc2NyaXB0KG1ha2VVbmlxdWU8V29y
a2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcj4odHlwZSwgV1RGTW92ZSh2bSksIHRoaXMpKQor
ICAgICwgbV9tb2R1bGVMb2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlz
LCBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93bmVyVHlwZTo6V29ya2VyT3JXb3JrbGV0KSkKICAgICAs
IG1fdGhyZWFkKHRocmVhZCkKICAgICAsIG1faW5zcGVjdG9yQ29udHJvbGxlcihtYWtlVW5pcXVl
PFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI+KCp0aGlzKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCA2YzI0NGEw
YzQyN2VlMWM4YzY1ZmRjYzc2NTk1MmY4NzdmZDliMTZiLi5lNDc5ZGRlYTA0ZWE1ZTFlMjY2ZTUx
NWFmOTJjZWQzZjk5NTdlYzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCkBAIC0yNiwxMiArMjYsMTQgQEAKICNwcmFnbWEg
b25jZQogCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJGZXRjaE9wdGlvbnMu
aCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2Vy
VGhyZWFkVHlwZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEV2ZW50TG9vcFRh
c2tHcm91cDsKK2NsYXNzIFNjcmlwdE1vZHVsZUxvYWRlcjsKIGNsYXNzIFdvcmtlckV2ZW50TG9v
cDsKIGNsYXNzIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBXb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyOwpAQCAtNTQsNiArNTYsOCBAQCBjbGFzcyBXb3JrZXJPcldvcmts
ZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LCBwdWJsaWMgUmVm
Q291bgogCiAgICAgdW5zaWduZWQgbG9uZyBjcmVhdGVVbmlxdWVJZGVudGlmaWVyKCkgeyByZXR1
cm4gbV91bmlxdWVJZGVudGlmaWVyKys7IH0KIAorICAgIFNjcmlwdE1vZHVsZUxvYWRlciYgbW9k
dWxlTG9hZGVyKCkgeyByZXR1cm4gKm1fbW9kdWxlTG9hZGVyOyB9CisKICAgICAvLyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0LgogICAgIEV2ZW50TG9vcFRhc2tHcm91cCYgZXZlbnRMb29wKCkgZmlu
YWw7CiAgICAgYm9vbCBpc0NvbnRleHRUaHJlYWQoKSBjb25zdCBmaW5hbDsKQEAgLTY3LDYgKzcx
LDggQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZCgp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXN1bWUoKSB7IH0KIAorICAgIHZpcnR1YWwgRmV0Y2hP
cHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVk
OgogICAgIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUsIFJlZjxK
U0M6OlZNPiYmLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQqKTsKIApAQCAtODgsNiArOTQsNyBAQCBj
bGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBwdWJsaWMgUmVmQ291bgogICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFs
IHsgZGVyZWYoKTsgfQogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck9yV29ya2xldFNjcmlw
dENvbnRyb2xsZXI+IG1fc2NyaXB0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTY3JpcHRNb2R1bGVM
b2FkZXI+IG1fbW9kdWxlTG9hZGVyOwogICAgIFdvcmtlck9yV29ya2xldFRocmVhZCogbV90aHJl
YWQ7CiAgICAgUmVmUHRyPFdvcmtlckV2ZW50TG9vcD4gbV9ldmVudExvb3A7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPEV2ZW50TG9vcFRhc2tHcm91cD4gbV9kZWZhdWx0VGFza0dyb3VwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29u
dHJvbGxlci5jcHAKaW5kZXggY2Q0ZWMyNDY4MjUyNWFhYmM2NDJkODc3YTBkYTAxMWViZGUxMTQz
MS4uNjAzOGIwYmQxOTJjZDE1MDI4OTZhZDg1ZWJiNDk2YTIzMmEzMjU3OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXIuY3BwCkBAIC0zNSwxNSArMzUsMjQgQEAKICNpbmNsdWRlICJKU0V4ZWNTdGF0ZS5oIgog
I2luY2x1ZGUgIkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJKU1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNoRmFpbHVyZUtpbmQu
aCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJTY3JpcHRT
b3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUg
IldvcmtlckNvbnNvbGVDbGllbnQuaCIKKyNpbmNsdWRlICJXb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRGZXRjaGVyLmgiCiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvQ29tcGxldGlvbi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0RlZmVycmVk
V29ya1RpbWVyLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXhjZXB0aW9uLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvRXhjZXB0aW9uSGVscGVycy5oPgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0dDQWN0aXZpdHlDYWxsYmFjay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTSW50ZXJuYWxQcm9taXNlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNMb2NrLmg+
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNNb2R1bGVSZWNvcmQuaD4KKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KU05hdGl2ZVN0ZEZ1bmN0aW9uLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvSlNTY3JpcHRGZXRjaFBhcmFtZXRlcnMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU1NjcmlwdEZldGNoZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmdJbmxp
bmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIyOCw2ICsyMzcsMjQ1IEBAIHZvaWQg
V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29uc3QgU2NyaXB0U291
cmNlQ29kZSYgc291cmNlQ29kCiAgICAgfQogfQogCitzdGF0aWMgSWRlbnRpZmllciBqc1ZhbHVl
VG9Nb2R1bGVLZXkoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUg
dmFsdWUpCit7CisgICAgaWYgKHZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVybiBJZGVu
dGlmaWVyOjpmcm9tVWlkKGpzQ2FzdDxTeW1ib2wqPih2YWx1ZSktPnByaXZhdGVOYW1lKCkpOwor
ICAgIEFTU0VSVCh2YWx1ZS5pc1N0cmluZygpKTsKKyAgICByZXR1cm4gYXNTdHJpbmcodmFsdWUp
LT50b0lkZW50aWZpZXIobGV4aWNhbEdsb2JhbE9iamVjdCk7Cit9CisKK0pTQzo6SlNWYWx1ZSBX
b3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZU1vZHVsZShKU0M6OkpTTW9k
dWxlUmVjb3JkJiBtb2R1bGVSZWNvcmQpCit7CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKm1f
Z2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgp
OworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICByZXR1cm4gbW9kdWxlUmVjb3Jk
LmV2YWx1YXRlKCZnbG9iYWxPYmplY3QpOworfQorCitNZXNzYWdlUXVldWVXYWl0UmVzdWx0IFdv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KFdv
cmtlclNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
IHNvdXJjZUNvZGUpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAg
IHJldHVybiBNZXNzYWdlUXVldWVUZXJtaW5hdGVkOworCisgICAgaW5pdFNjcmlwdElmTmVlZGVk
KCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0
KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxv
Y2sgeyB2bSB9OworCisgICAgYXV0byBwcm90ZWN0b3IgPSBtYWtlUmVmKHNjcmlwdEZldGNoZXIp
OworICAgIHsKKyAgICAgICAgYXV0byYgcHJvbWlzZSA9IEpTRXhlY1N0YXRlOjpsb2FkTW9kdWxl
KGdsb2JhbE9iamVjdCwgc291cmNlQ29kZS5qc1NvdXJjZUNvZGUoKSwgSlNDOjpKU1NjcmlwdEZl
dGNoZXI6OmNyZWF0ZSh2bSwgeyAmc2NyaXB0RmV0Y2hlciB9KSk7CisKKyAgICAgICAgYXV0byYg
ZnVsZmlsbEhhbmRsZXIgPSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFs
T2JqZWN0LCAxLCBTdHJpbmcoKSwgW3Byb3RlY3Rvcl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIC0+IEpTQzo6RW5jb2RlZEpTVmFsdWUgeworICAg
ICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2Nr
SG9sZGVyIGxvY2sgeyB2bSB9OworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworICAgICAgICAgICAgSWRlbnRpZmllciBtb2R1bGVLZXkgPSBqc1ZhbHVl
VG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApKTsKKyAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICBwcm90
ZWN0b3ItPm5vdGlmeUxvYWRDb21wbGV0ZWQoKm1vZHVsZUtleS5pbXBsKCkpOworICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisK
KyAgICAgICAgYXV0byYgcmVqZWN0SGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVh
dGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbcHJvdGVjdG9yXShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgeworICAgICAgICAgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgICAgICAgICAgSlNMb2NrSG9sZGVyIGxv
Y2sgeyB2bSB9OworICAgICAgICAgICAgSlNWYWx1ZSBlcnJvclZhbHVlID0gY2FsbEZyYW1lLT5h
cmd1bWVudCgwKTsKKyAgICAgICAgICAgIGlmIChlcnJvclZhbHVlLmlzT2JqZWN0KCkpIHsKKyAg
ICAgICAgICAgICAgICBhdXRvKiBvYmplY3QgPSBKU0M6OmFzT2JqZWN0KGVycm9yVmFsdWUpOwor
ICAgICAgICAgICAgICAgIGlmIChKU1ZhbHVlIGZhaWx1cmVLaW5kVmFsdWUgPSBvYmplY3QtPmdl
dERpcmVjdCh2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEmPigqdm0uY2xpZW50RGF0YSku
YnVpbHRpbk5hbWVzKCkuZmFpbHVyZUtpbmRQcml2YXRlTmFtZSgpKSkgeworICAgICAgICAgICAg
ICAgICAgICAvLyBUaGlzIGlzIGhvc3QgcHJvcGFnYXRlZCBlcnJvciBpbiB0aGUgbW9kdWxlIGxv
YWRlciBwaXBlbGluZS4KKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxN
b2R1bGVGZXRjaEZhaWx1cmVLaW5kPihmYWlsdXJlS2luZFZhbHVlLmFzSW50MzIoKSkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVk
OgorICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkRmFpbGVkKExv
YWRhYmxlU2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGFi
bGVTY3JpcHQ6OkVycm9yVHlwZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdURjo6bnVsbG9wdAorICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5jZWxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHBy
b3RlY3Rvci0+bm90aWZ5TG9hZFdhc0NhbmNlbGVkKCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NP
UEUodm0pOworICAgICAgICAgICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxl
U2NyaXB0OjpFcnJvciB7CisgICAgICAgICAgICAgICAgTG9hZGFibGVTY3JpcHQ6OkVycm9yVHlw
ZTo6Q2FjaGVkU2NyaXB0LAorICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpDb25zb2xl
TWVzc2FnZSB7CisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VTb3VyY2U6OkpTLAorICAgICAg
ICAgICAgICAgICAgICBNZXNzYWdlTGV2ZWw6OkVycm9yLAorICAgICAgICAgICAgICAgICAgICBy
ZXRyaWV2ZUVycm9yTWVzc2FnZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgc2NvcGUp
LAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAg
cHJvbWlzZS50aGVuKCZnbG9iYWxPYmplY3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRs
ZXIpOworICAgIH0KKyAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90
YXNrQ2hlY2twb2ludCgpOworCisgICAgLy8gRHJpdmUgUnVuTG9vcCB1bnRpbCB3ZSBnZXQgZWl0
aGVyIG9mICJXb3JrZXIgaXMgdGVybWluYXRlZCIsICJMb2FkaW5nIGlzIGRvbmUiLCBvciAiTG9h
ZGluZyBpcyBmYWlsZWQiLgorICAgIFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSBtX2dsb2JhbFNj
b3BlLT53b3JrZXJPcldvcmtsZXRUaHJlYWQoKS0+cnVuTG9vcCgpOworCisgICAgLy8gV2UgZG8g
bm90IHdhbnQgdG8gcmVjZWl2ZSBtZXNzYWdlcyB0aGF0IGFyZSBub3QgcmVsYXRlZCB0byBhc3lu
Y2hyb25vdXMgcmVzb3VyY2UgbG9hZGluZy4KKyAgICAvLyBPdGhlcndpc2UsIGEgd29ya2VyIGRp
c2NhcmRzIHNvbWUgbWVzc2FnZXMgZnJvbSB0aGUgbWFpbiB0aHJlYWQgaGVyZSBpbiBhIHJhY3kg
d2F5LgorICAgIC8vIEZvciBleGFtcGxlLCB0aGUgbWFpbiB0aHJlYWQgY2FuIHBvc3RNZXNzYWdl
IGp1c3QgYWZ0ZXIgY3JlYXRpbmcgYSBXb3JrZXIuIEluIHRoYXQgY2FzZSwgcG9zdE1lc3NhZ2Un
cworICAgIC8vIHRhc2sgaXMgcXVldWVkIGluIFdvcmtlclJ1bkxvb3AgYmVmb3JlIHN0YXJ0IHJ1
bm5pbmcgbW9kdWxlIHNjcmlwdHMuIFRoaXMgdGFzayBzaG91bGQgbm90IGJlIGRpc2NhcmRlZAor
ICAgIC8vIGluIHRoZSBmb2xsb3dpbmcgZHJpdmluZyBvZiB0aGUgUnVuTG9vcCB3aGljaCBtYWlu
bHkgYXR0ZW1wdCB0byBjb2xsZWN0IGluaXRpYWwgbG9hZCBvZiBtb2R1bGUgc2NyaXB0cy4KKyAg
ICBTdHJpbmcgdGFza01vZGUgPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OnRhc2tNb2RlKCk7
CisgICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCByZXN1bHQgPSBNZXNzYWdlUXVldWVNZXNzYWdl
UmVjZWl2ZWQ7CisgICAgd2hpbGUgKCghcHJvdGVjdG9yLT5pc0xvYWRlZCgpICYmICFwcm90ZWN0
b3ItPndhc0NhbmNlbGVkKCkpICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKSB7
CisgICAgICAgIHJlc3VsdCA9IHJ1bkxvb3AucnVuSW5Nb2RlKG1fZ2xvYmFsU2NvcGUsIHRhc2tN
b2RlKTsKKyAgICAgICAgaWYgKHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKQorICAg
ICAgICAgICAgbV9nbG9iYWxTY29wZS0+ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNr
cG9pbnQoKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFdvcmtlck9y
V29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZShXb3JrZXJTY3Jp
cHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VD
b2RlLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSkKK3sKKyAgICBpZiAoaXNFeGVj
dXRpb25Gb3JiaWRkZW4oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdFNjcmlwdElmTmVl
ZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIu
Z2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVy
IGxvY2sgeyB2bSB9OworCisgICAgTmFrZWRQdHI8SlNDOjpFeGNlcHRpb24+IHJldHVybmVkRXhj
ZXB0aW9uOworICAgIEpTRXhlY1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoZ2xvYmFsT2Jq
ZWN0LCBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCBzY3JpcHRGZXRjaGVyLm1vZHVsZUtleSgpKSwg
anNVbmRlZmluZWQoKSwgcmV0dXJuZWRFeGNlcHRpb24pOworICAgIGlmICgocmV0dXJuZWRFeGNl
cHRpb24gJiYgaXNUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uKHZtLCByZXR1cm5lZEV4Y2Vw
dGlvbikpIHx8IGlzVGVybWluYXRpbmdFeGVjdXRpb24oKSkgeworICAgICAgICBmb3JiaWRFeGVj
dXRpb24oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChyZXR1cm5lZEV4Y2Vw
dGlvbikgeworICAgICAgICBpZiAobV9nbG9iYWxTY29wZS0+Y2FuSW5jbHVkZUVycm9yRGV0YWls
cyhzb3VyY2VDb2RlLmNhY2hlZFNjcmlwdCgpLCBzb3VyY2VDb2RlLnVybCgpLnN0cmluZygpKSkg
eworICAgICAgICAgICAgLy8gRklYTUU6IEl0J3Mgbm90IGdyZWF0IHRoYXQgdGhpcyBjYW4gcnVu
IGFyYml0cmFyeSBjb2RlIHRvIHN0cmluZy1pZnkgdGhlIHZhbHVlIG9mIHRoZSBleGNlcHRpb24u
CisgICAgICAgICAgICAvLyBEbyB3ZSBuZWVkIHRvIGRvIGFueXRoaW5nIHRvIGhhbmRsZSB0aGF0
IHByb3Blcmx5LCBpZiBpdCwgc2F5LCByYWlzZXMgYW5vdGhlciBleGNlcHRpb24/CisgICAgICAg
ICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlKQorICAgICAgICAgICAgICAgICpyZXR1
cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSByZXR1cm5lZEV4Y2VwdGlvbi0+dmFsdWUoKS50b1dURlN0
cmluZygmZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIE92
ZXJ3cml0ZSB0aGUgZGV0YWlsZWQgZXJyb3Igd2l0aCBhIGdlbmVyaWMgZXJyb3IuCisgICAgICAg
ICAgICBTdHJpbmcgZ2VuZXJpY0Vycm9yTWVzc2FnZSB7ICJTY3JpcHQgZXJyb3IuIl9zIH07Cisg
ICAgICAgICAgICBpZiAocmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlKQorICAgICAgICAgICAgICAg
ICpyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBnZW5lcmljRXJyb3JNZXNzYWdlOworICAgICAg
ICB9CisgICAgfQorfQorCit2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6Omxv
YWRBbmRFdmFsdWF0ZU1vZHVsZShjb25zdCBVUkwmIG1vZHVsZVVSTCwgRmV0Y2hPcHRpb25zOjpD
cmVkZW50aWFscyBjcmVkZW50aWFscywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxF
eGNlcHRpb24+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChpc0V4ZWN1dGlv
bkZvcmJpZGRlbigpKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKEV4Y2VwdGlvbiB7IE5v
dEFsbG93ZWRFcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGluaXRTY3Jp
cHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFsU2NvcGVX
cmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOworICAgIEpTTG9j
a0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIGF1dG8gc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNj
cmlwdEZldGNoZXI6OmNyZWF0ZShjcmVkZW50aWFscywgZ2xvYmFsU2NvcGUoKS0+ZGVzdGluYXRp
b24oKSwgZ2xvYmFsU2NvcGUoKS0+cmVmZXJyZXJQb2xpY3koKSk7CisgICAgeworICAgICAgICBh
dXRvJiBwcm9taXNlID0gSlNFeGVjU3RhdGU6OmxvYWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1
bGVVUkwuc3RyaW5nKCksIGpzVW5kZWZpbmVkKCksIEpTQzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVh
dGUodm0sIHsgc2NyaXB0RmV0Y2hlci5wdHIoKSB9KSk7CisKKyAgICAgICAgYXV0byB0YXNrID0g
Y3JlYXRlU2hhcmVkVGFzazx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+KFtjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShPcHRpb25hbDxFeGNlcHRpb24+
JiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdU
Rk1vdmUoZXhjZXB0aW9uKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGF1dG8mIGZ1bGZpbGxI
YW5kbGVyID0gKkpTTmF0aXZlU3RkRnVuY3Rpb246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwg
MSwgU3RyaW5nKCksIFt0YXNrLCBzY3JpcHRGZXRjaGVyXShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgLT4gSlNDOjpFbmNvZGVkSlNWYWx1ZSB7Cisg
ICAgICAgICAgICAvLyB0YXNrLT5ydW4oV1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsg
dm0gfTsKKyAgICAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
KworICAgICAgICAgICAgSWRlbnRpZmllciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXko
Z2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICBzY3JpcHRGZXRjaGVyLT5u
b3RpZnlMb2FkQ29tcGxldGVkKCptb2R1bGVLZXkuaW1wbCgpKTsKKworICAgICAgICAgICAgYXV0
byogY29udGV4dCA9IGRvd25jYXN0PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPihqc0Nhc3Q8
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOworICAgICAgICAgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5zY3JpcHQoKSkgewor
ICAgICAgICAgICAgICAgIHRhc2stPnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsK
KyAgICAgICAgICAgIEpTRXhlY1N0YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoKmdsb2JhbE9i
amVjdCwgbW9kdWxlS2V5LCBqc1VuZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAg
ICAgICAgICBpZiAoKHJldHVybmVkRXhjZXB0aW9uICYmIGlzVGVybWluYXRlZEV4ZWN1dGlvbkV4
Y2VwdGlvbih2bSwgcmV0dXJuZWRFeGNlcHRpb24pKSB8fCBjb250ZXh0LT5zY3JpcHQoKS0+aXNU
ZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7CisgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQtPnNj
cmlwdCgpKQorICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5zY3JpcHQoKS0+Zm9yYmlkRXhl
Y3V0aW9uKCk7CisgICAgICAgICAgICAgICAgdGFzay0+cnVuKFdURjo6bnVsbG9wdCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHJldHVybmVkRXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgU3RyaW5nIG1lc3NhZ2U7CisgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQtPmNh
bkluY2x1ZGVFcnJvckRldGFpbHMobnVsbHB0ciwgbW9kdWxlS2V5LnN0cmluZygpKSkgeworICAg
ICAgICAgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBy
dW4gYXJiaXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlv
bi4KKyAgICAgICAgICAgICAgICAgICAgLy8gRG8gd2UgbmVlZCB0byBkbyBhbnl0aGluZyB0byBo
YW5kbGUgdGhhdCBwcm9wZXJseSwgaWYgaXQsIHNheSwgcmFpc2VzIGFub3RoZXIgZXhjZXB0aW9u
PworICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gcmV0dXJuZWRFeGNlcHRpb24tPnZhbHVl
KCkudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgICAgICAvLyBPdmVyd3JpdGUgdGhlIGRldGFpbGVkIGVycm9yIHdpdGgg
YSBnZW5lcmljIGVycm9yLgorICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gIlNjcmlwdCBl
cnJvci4iX3M7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNvbnRleHQtPnJl
cG9ydEV4Y2VwdGlvbihtZXNzYWdlLCB7IH0sIHsgfSwgeyB9LCB7IH0sIHsgfSk7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIHRhc2stPnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisK
KyAgICAgICAgYXV0byYgcmVqZWN0SGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVh
dGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbdGFza10oSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIHsKKyAgICAgICAgICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsg
dm0gfTsKKyAgICAgICAgICAgIEpTVmFsdWUgZXJyb3JWYWx1ZSA9IGNhbGxGcmFtZS0+YXJndW1l
bnQoMCk7CisgICAgICAgICAgICBpZiAoZXJyb3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAg
ICAgICAgICAgYXV0byogb2JqZWN0ID0gSlNDOjphc09iamVjdChlcnJvclZhbHVlKTsKKyAgICAg
ICAgICAgICAgICBpZiAob2JqZWN0LT5nZXREaXJlY3Qodm0sIHN0YXRpY19jYXN0PEpTVk1DbGll
bnREYXRhJj4oKnZtLmNsaWVudERhdGEpLmJ1aWx0aW5OYW1lcygpLmZhaWx1cmVLaW5kUHJpdmF0
ZU5hbWUoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFS
RV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0g
cmV0cmlldmVFcnJvck1lc3NhZ2VXaXRob3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgb2JqZWN0
LCBjYXRjaFNjb3BlKTsKKyAgICAgICAgICAgICAgICAgICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7
IEFib3J0RXJyb3IsIG1lc3NhZ2UgfSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIGlmIChvYmplY3QtPmluaGVyaXRzPEVycm9ySW5zdGFuY2U+KHZtKSkgeworICAgICAg
ICAgICAgICAgICAgICBhdXRvKiBlcnJvciA9IGpzQ2FzdDxFcnJvckluc3RhbmNlKj4ob2JqZWN0
KTsKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChlcnJvci0+ZXJyb3JUeXBlKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgY2FzZSBFcnJvclR5cGU6OlR5cGVFcnJvcjogeworICAgICAgICAg
ICAgICAgICAgICAgICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JN
ZXNzYWdlV2l0aG91dE5hbWUoKmdsb2JhbE9iamVjdCwgdm0sIGVycm9yLCBjYXRjaFNjb3BlKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHRhc2stPnJ1bihFeGNlcHRpb24geyBUeXBlRXJyb3Is
IG1lc3NhZ2UgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgICAgIGNhc2UgRXJyb3JUeXBlOjpTeW50YXhFcnJvcjogeworICAgICAgICAgICAgICAgICAg
ICAgICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0
aG91dE5hbWUoKmdsb2JhbE9iamVjdCwgdm0sIGVycm9yLCBjYXRjaFNjb3BlKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHRhc2stPnJ1bihFeGNlcHRpb24geyBKU1N5bnRheEVycm9yLCBtZXNz
YWdlIH0pOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAg
U3RyaW5nIG1lc3NhZ2UgPSByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxP
YmplY3QsIHZtLCBlcnJvclZhbHVlLCBjYXRjaFNjb3BlKTsKKyAgICAgICAgICAgIHRhc2stPnJ1
bihFeGNlcHRpb24geyBBYm9ydEVycm9yLCBtZXNzYWdlIH0pOworICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAg
cHJvbWlzZS50aGVuKCZnbG9iYWxPYmplY3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRs
ZXIpOworICAgIH0KKyAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90
YXNrQ2hlY2twb2ludCgpOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBKU0dsb2JhbFNjb3BlUHJv
dG90eXBlLCB0eXBlbmFtZSBKU0dsb2JhbFNjb3BlLCB0eXBlbmFtZSBHbG9iYWxTY29wZT4KIHZv
aWQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6aW5pdFNjcmlwdFdpdGhTdWJjbGFz
cygpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xl
dFNjcmlwdENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0U2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGM0OTMwMWFlZDNkZDA4OWRhNzk3MzI3NjBjYWYy
ZjdiNjRkYjExYjYuLmU5ODA2MzkxMDI5OTU0OTI4NDY4MDVjMGMxN2YwMGM3OGI3MTQxYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlci5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNSdW5Mb29wVGltZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9Mb2NrLmg+CisjaW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgogI2luY2x1ZGUgPHd0
Zi9OYWtlZFB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQ3LDYgKzQ4LDcgQEAgY2xhc3Mg
SlNET01HbG9iYWxPYmplY3Q7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogY2xhc3MgV29ya2Vy
Q29uc29sZUNsaWVudDsKIGNsYXNzIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOworY2xhc3Mg
V29ya2VyU2NyaXB0RmV0Y2hlcjsKIAogY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29u
dHJvbGxlcik7CkBAIC05NCw2ICs5NiwxMyBAQCBjbGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRD
b250cm9sbGVyIHsKICAgICB2b2lkIGV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBT
dHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOwogICAgIHZvaWQgZXZh
bHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiYg
cmV0dXJuZWRFeGNlcHRpb24sIFN0cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gbnVs
bHB0cik7CiAKKyAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJl
Y29yZCYpOworCisgICAgdm9pZCBsaW5rQW5kRXZhbHVhdGVNb2R1bGUoV29ya2VyU2NyaXB0RmV0
Y2hlciYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9u
TWVzc2FnZSA9IG51bGxwdHIpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVs
ZVN5bmNocm9ub3VzbHkoV29ya2VyU2NyaXB0RmV0Y2hlciYsIGNvbnN0IFNjcmlwdFNvdXJjZUNv
ZGUmKTsKKworICAgIHZvaWQgbG9hZEFuZEV2YWx1YXRlTW9kdWxlKGNvbnN0IFVSTCYgbW9kdWxl
VVJMLCBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9w
dGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYpOworCiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGUqIGdsb2JhbFNjb3BlKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxTY29w
ZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAK
aW5kZXggM2E0ZGFlZmMzOTAyYmRiMmVhODRmYzU4ZDdlNDJmODNlNWYwN2UyZi4uOWYzMWQwZGZk
NTlhODcwN2ZkNGViNTljYzNjOTJhMDY2NDgxZGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIE9wdGlvbmFs
PEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRF
eGVjdXRpb25Db250ZXh0CiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotdm9pZCBXb3Jr
ZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0
LCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01v
ZGUgc2VydmljZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50KQor
dm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3Jp
cHRSZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNl
V29ya2Vyc01vZGUgc2VydmljZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYg
Y2xpZW50LCBTdHJpbmcmJiB0YXNrTW9kZSkKIHsKICAgICBtX2NsaWVudCA9ICZjbGllbnQ7CiAg
ICAgbV91cmwgPSBzY3JpcHRSZXF1ZXN0LnVybCgpOwpAQCAtMTIzLDggKzEyMyw2IEBAIHZvaWQg
V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgQVNTRVJUKGZldGNoT3B0aW9ucy5tb2RlID09IEZldGNo
T3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbiB8fCAoZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uICE9
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNlcnZpY2V3b3JrZXIgJiYgZmV0Y2hPcHRpb25z
LmRlc3RpbmF0aW9uICE9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikpOwogCiAg
ICAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgb3B0aW9ucyB7IFdURk1vdmUoZmV0Y2hPcHRpb25z
KSB9OwotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYWRkIGFuIG9wdGlvbiB0byBzZXQgY3JlZGVu
dGlhbCBtb2RlLgotICAgIG9wdGlvbnMuY3JlZGVudGlhbHMgPSBGZXRjaE9wdGlvbnM6OkNyZWRl
bnRpYWxzOjpTYW1lT3JpZ2luOwogICAgIG9wdGlvbnMuc2VuZExvYWRDYWxsYmFja3MgPSBTZW5k
Q2FsbGJhY2tQb2xpY3k6OlNlbmRDYWxsYmFja3M7CiAgICAgb3B0aW9ucy5jb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudCA9IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50Owog
ICAgIGlmIChmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5h
dGlvbjo6U2VydmljZXdvcmtlcikKQEAgLTE0Myw3ICsxNDEsNyBAQCB2b2lkIFdvcmtlclNjcmlw
dExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlw
dEV4ZWN1dAogCiAgICAgLy8gRHVyaW5nIGNyZWF0ZSwgY2FsbGJhY2tzIG1heSBoYXBwZW4gd2hp
Y2ggcmVtb3ZlIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdC4KICAgICBSZWY8V29y
a2VyU2NyaXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKLSAgICBtX3RocmVhZGFibGVM
b2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwg
KnRoaXMsIFdURk1vdmUoKnJlcXVlc3QpLCBvcHRpb25zKTsKKyAgICBtX3RocmVhZGFibGVMb2Fk
ZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgKnRo
aXMsIFdURk1vdmUoKnJlcXVlc3QpLCBvcHRpb25zLCB7IH0sIFdURk1vdmUodGFza01vZGUpKTsK
IH0KIAogY29uc3QgVVJMJiBXb3JrZXJTY3JpcHRMb2FkZXI6OnJlc3BvbnNlVVJMKCkgY29uc3QK
QEAgLTE5MCw2ICsxODgsOCBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzbwogICAgIG1fY2VydGlm
aWNhdGVJbmZvID0gcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCkgPyAqcmVzcG9uc2UuY2VydGlm
aWNhdGVJbmZvKCkgOiBDZXJ0aWZpY2F0ZUluZm8oKTsKICAgICBtX3Jlc3BvbnNlTUlNRVR5cGUg
PSByZXNwb25zZS5taW1lVHlwZSgpOwogICAgIG1fcmVzcG9uc2VFbmNvZGluZyA9IHJlc3BvbnNl
LnRleHRFbmNvZGluZ05hbWUoKTsKKyAgICBtX3Jlc3BvbnNlU291cmNlID0gcmVzcG9uc2Uuc291
cmNlKCk7CisgICAgbV9pc1JlZGlyZWN0ZWQgPSByZXNwb25zZS5pc1JlZGlyZWN0ZWQoKTsKICAg
ICBtX2NvbnRlbnRTZWN1cml0eVBvbGljeSA9IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyB7IHJlc3BvbnNlIH07CiAgICAgbV9yZWZlcnJlclBvbGljeSA9IHJlc3BvbnNlLmh0
dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6UmVmZXJyZXJQb2xpY3kpOwogICAgIGlmICht
X2NsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCmlu
ZGV4IDdmZGQwYjNmNmEwMWMyZGI1NzcyNGE5MGIzYmI5ODQwZjFlNjhlNWYuLmNmYTMxYTM1MzI1
OWFlZWQxOThmOTM5MWZmYzE1MTFiNDA1MGI4NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkZldGNo
T3B0aW9ucy5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiVGhy
ZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKICNp
bmNsdWRlIDxtZW1vcnk+CkBAIC00Myw3ICs0NCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEV4Y2VwdGlvbjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFdvcmtl
clNjcmlwdExvYWRlckNsaWVudDsKQEAgLTU4LDcgKzU4LDcgQEAgY2xhc3MgV29ya2VyU2NyaXB0
TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRo
cmVhZGEKICAgICB9CiAKICAgICBPcHRpb25hbDxFeGNlcHRpb24+IGxvYWRTeW5jaHJvbm91c2x5
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBVUkwmLCBGZXRjaE9wdGlvbnM6Ok1vZGUs
IEZldGNoT3B0aW9uczo6Q2FjaGUsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBj
b25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpOwotICAgIHZvaWQgbG9hZEFzeW5jaHJv
bm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hP
cHRpb25zJiYsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vy
c01vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYpOworICAgIHZvaWQgbG9hZEFzeW5jaHJv
bm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hP
cHRpb25zJiYsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vy
c01vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYsIFN0cmluZyYmIHRhc2tNb2RlKTsKIAog
ICAgIHZvaWQgbm90aWZ5RXJyb3IoKTsKIApAQCAtNjcsNiArNjcsOCBAQCBjbGFzcyBXb3JrZXJT
Y3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+LCBwdWJs
aWMgVGhyZWFkYQogICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3koKSBjb25zdCB7IHJl
dHVybiBtX3JlZmVycmVyUG9saWN5OyB9CiAgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCB7IHJl
dHVybiBtX3VybDsgfQogICAgIGNvbnN0IFVSTCYgcmVzcG9uc2VVUkwoKSBjb25zdDsKKyAgICBS
ZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2UgcmVzcG9uc2VTb3VyY2UoKSBjb25zdCB7IHJldHVybiBt
X3Jlc3BvbnNlU291cmNlOyB9CisgICAgYm9vbCBpc1JlZGlyZWN0ZWQoKSBjb25zdCB7IHJldHVy
biBtX2lzUmVkaXJlY3RlZDsgfQogICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KICAgICBjb25zdCBT
dHJpbmcmIHJlc3BvbnNlTUlNRVR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlTUlNRVR5
cGU7IH0KICAgICBib29sIGZhaWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmFpbGVkOyB9CkBAIC0x
MDcsNiArMTA5LDggQEAgY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50
ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGEKICAgICB1bnNpZ25lZCBsb25n
IG1faWRlbnRpZmllciB7IDAgfTsKICAgICBib29sIG1fZmFpbGVkIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fZmluaXNoaW5nIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNSZWRpcmVjdGVkIHsgZmFs
c2UgfTsKKyAgICBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2UgbV9yZXNwb25zZVNvdXJjZSB7IFJl
c291cmNlUmVzcG9uc2U6OlNvdXJjZTo6VW5rbm93biB9OwogICAgIFJlc291cmNlRXJyb3IgbV9l
cnJvcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA3
Mjc5MGEwMzMyMjYxOWU2ZWU3ZTYxNmE4YmRlMThiZDU1MmE1NzgzLi45YjZjM2U3ZTBlNzMxNDVi
NzViNjUzNzQxM2Q1ZmYwNWJjNTUxYjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
ICNpbmNsdWRlICJTb2NrZXRQcm92aWRlci5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3Bl
LmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTUsNiArNTcsOCBAQCBXb3JrZXJQYXJhbWV0ZXJzIFdv
cmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgICAgIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgdGltZU9yaWdpbiwKICAg
ICAgICAgcmVmZXJyZXJQb2xpY3ksCisgICAgICAgIHdvcmtlclR5cGUsCisgICAgICAgIGNyZWRl
bnRpYWxzLAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKQogICAgIH07CiB9
CkBAIC0xMjMsOSArMTI3LDI5IEBAIGJvb2wgV29ya2VyVGhyZWFkOjpzaG91bGRXYWl0Rm9yV2Vi
SW5zcGVjdG9yT25TdGFydHVwKCkgY29uc3QKIAogdm9pZCBXb3JrZXJUaHJlYWQ6OmV2YWx1YXRl
U2NyaXB0SWZOZWNlc3NhcnkoU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKQogewotICAgIGdsb2Jh
bFNjb3BlKCktPnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERh
dGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZl
eGNlcHRpb25NZXNzYWdlKTsKLQotICAgIGZpbmlzaGVkRXZhbHVhdGluZ1NjcmlwdCgpOworICAg
IC8vIFdlIGFyZSBjdXJyZW50bHkgaG9sZGluZyBvbmx5IHRoZSBpbml0aWFsIHNjcmlwdCBjb2Rl
LiBJZiB0aGUgV29ya2VyVHlwZSBpcyBNb2R1bGUsIHdlIHNob3VsZCBmZXRjaCB0aGUgZW50aXJl
IGdyYXBoIGJlZm9yZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2YgdGhpcy4KKyAgICAvLyBXZSBpbnZv
a2UgbW9kdWxlIGxvYWRlciBhcyBpZiB3ZSBhcmUgZXhlY3V0aW5nIGlubGluZSBtb2R1bGUgc2Ny
aXB0IHRhZyBpbiBEb2N1bWVudC4KKworICAgIGlmIChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMud29y
a2VyVHlwZSA9PSBXb3JrZXJUeXBlOjpDbGFzc2ljKSB7CisgICAgICAgIGdsb2JhbFNjb3BlKCkt
PnNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPnNvdXJj
ZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSksICZleGNlcHRpb25N
ZXNzYWdlKTsKKyAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgYXV0byBzY3JpcHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3Jl
YXRlKGdsb2JhbFNjb3BlKCktPmNyZWRlbnRpYWxzKCksIGdsb2JhbFNjb3BlKCktPmRlc3RpbmF0
aW9uKCksIGdsb2JhbFNjb3BlKCktPnJlZmVycmVyUG9saWN5KCkpOworICAgICAgICBTY3JpcHRT
b3VyY2VDb2RlIHNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3Rh
cnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpLCB7IH0sIEpTQzo6U291cmNlUHJvdmlkZXJTb3Vy
Y2VUeXBlOjpNb2R1bGUsIHNjcmlwdEZldGNoZXIuY29weVJlZigpKTsKKyAgICAgICAgTWVzc2Fn
ZVF1ZXVlV2FpdFJlc3VsdCByZXN1bHQgPSBnbG9iYWxTY29wZSgpLT5zY3JpcHQoKS0+bG9hZE1v
ZHVsZVN5bmNocm9ub3VzbHkoc2NyaXB0RmV0Y2hlci5nZXQoKSwgc291cmNlQ29kZSk7CisgICAg
ICAgIGlmIChyZXN1bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICAgICAg
aWYgKE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpFcnJvcj4gZXJyb3IgPSBzY3JpcHRGZXRjaGVy
LT5lcnJvcigpKSB7CisgICAgICAgICAgICAgICAgaWYgKE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0
OjpDb25zb2xlTWVzc2FnZT4gbWVzc2FnZSA9IGVycm9yLT5jb25zb2xlTWVzc2FnZSkKKyAgICAg
ICAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IG1lc3NhZ2UtPm1lc3NhZ2U7CisgICAg
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0g
IkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfczsKKyAgICAgICAgICAgICAgICBn
bG9iYWxTY29wZSgpLT5yZXBvcnRFeGNlcHRpb24oZXhjZXB0aW9uTWVzc2FnZSwgeyB9LCB7IH0s
IHsgfSwgeyB9LCB7IH0pOworICAgICAgICAgICAgfSBlbHNlIGlmICghc2NyaXB0RmV0Y2hlci0+
d2FzQ2FuY2VsZWQoKSkgeworICAgICAgICAgICAgICAgIGdsb2JhbFNjb3BlKCktPnNjcmlwdCgp
LT5saW5rQW5kRXZhbHVhdGVNb2R1bGUoc2NyaXB0RmV0Y2hlci5nZXQoKSwgc291cmNlQ29kZSwg
JmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgICAgICAgICAgICAgIGZpbmlzaGVkRXZhbHVhdGluZ1Nj
cmlwdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQogCiAgICAgLy8gRnJlZSB0
aGUgc3RhcnR1cCBkYXRhIHRvIGNhdXNlIGl0cyBtZW1iZXIgdmFyaWFibGUgZGVyZWYncyBoYXBw
ZW4gb24gdGhlIHdvcmtlcidzIHRocmVhZCAoc2luY2UKICAgICAvLyBhbGwgcmVmL2RlcmVmcyBv
ZiB0aGVzZSBvYmplY3RzIGFyZSBoYXBwZW5pbmcgb24gdGhlIHRocmVhZCBhdCB0aGlzIHBvaW50
KS4gTm90ZSB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAppbmRleCA4ODkw
NzkwOGU3YTliODA5ZThmMmE0ZTQ3M2Q3NTJkMTFkMjkzN2MwLi45NTEyZWZkYjE4ZjMyYTUwZWNi
N2ZiNTY5NTlkNjFlODg3MmZhMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmgKQEAgLTI2LDcgKzI2LDEwIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgorI2luY2x1ZGUgIkZldGNoUmVxdWVzdENy
ZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0VGhyZWFkLmgiCisjaW5jbHVk
ZSAiV29ya2VyUnVuTG9vcC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVk
ZSA8d3RmL1VSTC5oPgpAQCAtNjMsNiArNjYsOCBAQCBzdHJ1Y3QgV29ya2VyUGFyYW1ldGVycyB7
CiAgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAg
ICAgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luOwogICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVy
UG9saWN5OworICAgIFdvcmtlclR5cGUgd29ya2VyVHlwZTsKKyAgICBGZXRjaFJlcXVlc3RDcmVk
ZW50aWFscyBjcmVkZW50aWFsczsKICAgICBTZXR0aW5nczo6VmFsdWVzIHNldHRpbmdzVmFsdWVz
OwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRlZENvcHkoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJUeXBlLmgKaW5kZXggMGIwZWQ4NjBkOWM3MTQyMzhhMmE1YmI5ZmRmNDM4
NDAyZDE2ZWJmMC4uMWMxYmI5NDQ4NjdhZGY0ZWQ1NzhhMjgxNGZhMzMyMzI2YWVkOGE1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFdvcmtlclR5cGUgeworZW51bSBjbGFzcyBXb3Jr
ZXJUeXBlIDogdWludDhfdCB7CiAgICAgQ2xhc3NpYywKICAgICBNb2R1bGUsCiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmgKaW5kZXggZWJiZTk1ZTg5MjRjOGYxZDczNzUyNWRlYTE2MzBiMWZhZDU2ZmIyNy4uNGM3
ZGRmNGE0YzEzMWUwZGNkNmJhMDk1MDlhYjJkOTc1NzVmMzBjMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBA
IC00Nyw3ICs0Nyw3IEBAIGNsYXNzIE5hdmlnYXRvckJhc2U7CiBjbGFzcyBTZXJ2aWNlV29ya2Vy
OwogCiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSA6IHVpbnQ4X3Q7Ci1l
bnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVtIGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90Owog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJveHk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuaAppbmRleCA2MDJkYTcyMzVkZmFmMGY3MjUwMzE2NzE3MDNmZWY3NmFmNjRm
MTdkLi5jZTA3YmY5MDQyYTEwZjVmYzJkNDU2Zjk4NTlmYjlmNmU1MWM1OTgzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZS5oCkBAIC02OSw2ICs2OSw4IEBAIGNsYXNzIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7CiAgICAgdm9pZCBzZXRTY3JpcHRS
ZXNvdXJjZShjb25zdCBVUkwmLCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OkltcG9ydGVkU2Ny
aXB0JiYpOwogCiAgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBj
b25zdCB7IHJldHVybiBtX2NvbnRleHREYXRhLmNlcnRpZmljYXRlSW5mbzsgfQorCisgICAgRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNlcnZpY2V3b3JrZXI7IH0KICAgICAKIHByaXZh
dGU6CiAgICAgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YSYsIGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYs
IFNlcnZpY2VXb3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKaW5k
ZXggZWMzOWMwZjg0OWE1NGUxYjZkMGJlZTM0YThkN2QxOWNiYTQ1ZTI4OC4uZjk1MTBjYmY2ZmRm
NzA0NmY3ZDFiOTIyMzY5MTc0ZDAxZmEwYmUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAtMTEwLDcgKzExMCw4IEBA
IHZvaWQgU2VydmljZVdvcmtlckpvYjo6ZmV0Y2hTY3JpcHRXaXRoQ29udGV4dChTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBGCiAgICAgb3B0aW9ucy5jYWNoZSA9IGNhY2hlUG9saWN5
OwogICAgIG9wdGlvbnMucmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpFcnJvcjsK
ICAgICBvcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2Vy
dmljZXdvcmtlcjsKLSAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRl
eHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucyksIENvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UsIFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSwg
KnRoaXMpOworICAgIG9wdGlvbnMuY3JlZGVudGlhbHMgPSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRp
YWxzOjpTYW1lT3JpZ2luOworICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHko
Y29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSwgQ29udGVudFNlY3Vy
aXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSwgU2VydmljZVdvcmtlcnNNb2RlOjpO
b25lLCAqdGhpcywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CiB9CiAKIFJlc291cmNl
RXJyb3IgU2VydmljZVdvcmtlckpvYjo6dmFsaWRhdGVTZXJ2aWNlV29ya2VyUmVzcG9uc2UoY29u
c3QgU2VydmljZVdvcmtlckpvYkRhdGEmIGpvYkRhdGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaAppbmRleCA5ZDUwMGY4
NWFjYjE4ODQxY2M1NWJlYTgyMTFkYjE0ZmFkYzk3NDc1Li4yZTM1NTdmYTdkZjY3ZjFiZjk4Yzdi
N2E1ZGU0YjBhNWE3YmNjY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaApA
QCAtMzIsNyArMzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIFNlcnZp
Y2VXb3JrZXJVcGRhdGVWaWFDYWNoZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7
CitlbnVtIGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90OwogCiBzdHJ1Y3QgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbk9wdGlvbnMgewogICAgIFN0cmluZyBzY29wZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
clRocmVhZC5jcHAKaW5kZXggYzhhN2E5OTcyZjljYzhjMTZhNzk2NzUxMTU1MmY1NDkzYTY4NmY5
OC4uYTJkM2NkNDBiYzJhMGFhMjczYjE2MDgzYzVmNDg2NDRkMzc1ZTMzZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVh
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vydmlj
ZVdvcmtlclRocmVhZC5jcHAKQEAgLTczLDggKzczLDEwIEBAIGNsYXNzIER1bW15U2VydmljZVdv
cmtlclRocmVhZFByb3h5IDogcHVibGljIFdvcmtlck9iamVjdFByb3h5IHsKIC8vIEZJWE1FOiBV
c2UgYSB2YWxpZCBXb3JrZXJPYmplY3RQcm94eQogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1l
IGZsYWdzCiAKKy8vIEZJWE1FOiBTdXBwb3J0IG1vZHVsZXMgaW4gc2VydmljZS13b3JrZXJzLgor
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjE1NQogU2Vydmlj
ZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29u
dGV4dERhdGEmIGRhdGEsIFN0cmluZyYmIHVzZXJBZ2VudCwgY29uc3QgU2V0dGluZ3M6OlZhbHVl
cyYgc2V0dGluZ3NWYWx1ZXMsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgV29ya2Vy
RGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94eSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJv
eHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQot
ICAgIDogV29ya2VyVGhyZWFkKHsgZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2
aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRp
ZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJT
dHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2Us
IE1vbm90b25pY1RpbWU6Om5vdygpLCB7IH0sIHNldHRpbmdzVmFsdWVzIH0sIGRhdGEuc2NyaXB0
LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJv
eHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3Ry
YXRpb24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rp
b25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFi
bGVkKCkpCisgICAgOiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmco
KSwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVh
dGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCkt
PmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5
LCBmYWxzZSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgV29ya2VyVHlwZTo6Q2xhc3NpYywg
RmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4sIHNldHRpbmdzVmFsdWVzIH0sIGRh
dGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2Vy
VGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0
YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlk
YkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVh
dGVBbGxFbmFibGVkKCkpCiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAs
IG1fd29ya2VyT2JqZWN0UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJl
ZCgpKQogICAgICwgbV9oZWFydEJlYXRUaW1lb3V0KFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRv
bigpLmNvbm5lY3Rpb24oKS0+c2hvdWxkVXNlU2hvcnRUaW1lb3V0KCkgPyBoZWFydEJlYXRUaW1l
b3V0Rm9yVGVzdCA6IGhlYXJ0QmVhdFRpbWVvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmgKaW5kZXggMmRkZGIzYjVi
NDFlZDg3YmQ2MTRhMGI5NGQwOWI3NjEyOTNkNzYwNy4uMzc4ZmJhNjU3ZThiYmY0ODQxZTU2Y2Jm
ODY1NjFmOGVjYzMxMTAyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaApAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3Qg
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVu
dFF1ZXJ5T3B0aW9uczsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE7CiBzdHJ1Y3Qg
U2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyOwotZW51bSBjbGFzcyBXb3JrZXJUeXBlOwor
ZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogdWludDhfdDsKIAogY2xhc3MgU1dTZXJ2ZXJXb3JrZXIg
OiBwdWJsaWMgUmVmQ291bnRlZDxTV1NlcnZlcldvcmtlcj4gewogcHVibGljOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgKaW5kZXggNDJh
NzViNDU4MjQ3NmVlZGEyOGU5YTQyYjk2YjExY2RiYWM2ZTUzYS4uZDA3NmVlOWQzNWViN2Y3Mzk4
ZTBkNDA5ZTg4N2U2NTdmMjI2MDIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xl
dHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0
cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5oCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIFZNOwog
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CiAKLWNsYXNzIFBh
aW50V29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtsZXRHbG9iYWxTY29wZSB7CitjbGFz
cyBQYWludFdvcmtsZXRHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrbGV0R2xvYmFsU2Nv
cGUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUp
OwogcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU+IHRy
eUNyZWF0ZShEb2N1bWVudCYsIFNjcmlwdFNvdXJjZUNvZGUmJik7CkBAIC03Niw2ICs3Niw4IEBA
IGNsYXNzIFBhaW50V29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtsZXRHbG9iYWxTY29w
ZSB7CiAgICAgICAgIFdvcmtsZXRHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCk7
CiAgICAgfQogCisgICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlBhaW50d29ya2xl
dDsgfQorCiBwcml2YXRlOgogICAgIFBhaW50V29ya2xldEdsb2JhbFNjb3BlKERvY3VtZW50Jiwg
UmVmPEpTQzo6Vk0+JiYsIFNjcmlwdFNvdXJjZUNvZGUmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IGQ3MDQ4ODY2NDhjMGVmYWE2
Yjc4MDg0YzUzODcyMDFjYTJiMWM1NDMuLjJhZTBlMzM4OTFkYmM4OWYxNDY4N2Q0MTQ4MDJhYWEx
MmQwZDg0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNj
b3BlLmNwcApAQCAtMTU4LDcyICsxNTgsNyBAQCBSZWZlcnJlclBvbGljeSBXb3JrbGV0R2xvYmFs
U2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjpm
ZXRjaEFuZEludm9rZVNjcmlwdChjb25zdCBVUkwmIG1vZHVsZVVSTCwgRmV0Y2hSZXF1ZXN0Q3Jl
ZGVudGlhbHMgY3JlZGVudGlhbHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhj
ZXB0aW9uPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoIWlzTWFpblRo
cmVhZCgpKTsKLSAgICBtX3NjcmlwdEZldGNoSm9icy5hcHBlbmQoeyBtb2R1bGVVUkwsIGNyZWRl
bnRpYWxzLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSB9KTsKLSAgICBwcm9jZXNzTmV4dFNj
cmlwdEZldGNoSm9iSWZOZWVkZWQoKTsKLX0KLQotdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OnBy
b2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCgpCi17Ci0gICAgaWYgKG1fc2NyaXB0RmV0
Y2hKb2JzLmlzRW1wdHkoKSB8fCBtX3NjcmlwdExvYWRlcikKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgYXV0byYgc2NyaXB0RmV0Y2hKb2IgPSBtX3NjcmlwdEZldGNoSm9icy5maXJzdCgpOwotCi0g
ICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgeyBzY3JpcHRGZXRjaEpvYi5tb2R1bGVVUkwgfTsK
LQotICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7Ci0gICAgZmV0Y2hPcHRpb25zLm1vZGUg
PSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnM7Ci0gICAgZmV0Y2hPcHRpb25zLmNhY2hlID0gRmV0
Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKLSAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3QgPSBG
ZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7Ci0gICAgZmV0Y2hPcHRpb25zLmNyZWRlbnRp
YWxzID0gc2NyaXB0RmV0Y2hKb2IuY3JlZGVudGlhbHM7Ci0jaWYgRU5BQkxFKFdFQl9BVURJTykK
LSAgICBpZiAoaXNBdWRpb1dvcmtsZXRHbG9iYWxTY29wZSgpKQotICAgICAgICBmZXRjaE9wdGlv
bnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpBdWRpb3dvcmtsZXQ7
Ci0jZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKLSAgICBpZiAoaXNQYWludFdv
cmtsZXRHbG9iYWxTY29wZSgpKQotICAgICAgICBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPSBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpQYWludHdvcmtsZXQ7Ci0jZW5kaWYKLQotICAgIGF1
dG8gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2Vt
ZW50OjpEb05vdEVuZm9yY2UgOiBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5m
b3JjZUNoaWxkU3JjRGlyZWN0aXZlOwotCi0gICAgbV9zY3JpcHRMb2FkZXIgPSBXb3JrZXJTY3Jp
cHRMb2FkZXI6OmNyZWF0ZSgpOwotICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3Vz
bHkoKnRoaXMsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0Y2hPcHRpb25zKSwgY29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhp
cyk7Ci19Ci0KLXZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5z
aWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpCi17Ci19Ci0KLXZvaWQgV29ya2xl
dEdsb2JhbFNjb3BlOjpub3RpZnlGaW5pc2hlZCgpCi17Ci0gICAgYXV0byBjb21wbGV0ZWRKb2Ig
PSBtX3NjcmlwdEZldGNoSm9icy50YWtlRmlyc3QoKTsKLQotICAgIGlmIChtX3NjcmlwdExvYWRl
ci0+ZmFpbGVkKCkpIHsKLSAgICAgICAgZGlkQ29tcGxldGVTY3JpcHRGZXRjaEpvYihXVEZNb3Zl
KGNvbXBsZXRlZEpvYiksIEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IsIG1ha2VTdHJpbmcoIkZhaWxl
ZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiAiLCBtX3NjcmlwdExvYWRlci0+ZXJyb3IoKS5sb2Nh
bGl6ZWREZXNjcmlwdGlvbigpKSB9KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8v
IEZJWE1FOiBUaGlzIHNob3VsZCByZWFsbHkgYmUgcnVuIGFzIGEgbW9kdWxlIHNjcmlwdCBidXQg
d2UgZG9uJ3Qgc3VwcG9ydCB0aGlzIGluIHdvcmtlcnMgeWV0LgotICAgIFVSTCBtb2R1bGVVUkwo
bV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlVVJMKCkpOwotICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9l
dmFsdWF0ZWRNb2R1bGVzLmFkZChtb2R1bGVVUkwpOwotICAgIGlmIChhZGRSZXN1bHQuaXNOZXdF
bnRyeSkgewotICAgICAgICBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4gZXhjZXB0aW9uOwotICAg
ICAgICBzY3JpcHQoKS0+ZXZhbHVhdGUoU2NyaXB0U291cmNlQ29kZShtX3NjcmlwdExvYWRlci0+
c2NyaXB0KCksIFdURk1vdmUobW9kdWxlVVJMKSksIGV4Y2VwdGlvbik7Ci0gICAgICAgIGlmIChl
eGNlcHRpb24pCi0gICAgICAgICAgICBzY3JpcHQoKS0+c2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7
Ci0gICAgfQotCi0gICAgZGlkQ29tcGxldGVTY3JpcHRGZXRjaEpvYihXVEZNb3ZlKGNvbXBsZXRl
ZEpvYiksIHsgfSk7Ci19Ci0KLXZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjpkaWRDb21wbGV0ZVNj
cmlwdEZldGNoSm9iKFNjcmlwdEZldGNoSm9iJiYgam9iLCBPcHRpb25hbDxFeGNlcHRpb24+IHJl
c3VsdCkKLXsKLSAgICBtX3NjcmlwdExvYWRlciA9IG51bGxwdHI7Ci0KLSAgICBqb2IuY29tcGxl
dGlvbkhhbmRsZXIoV1RGTW92ZShyZXN1bHQpKTsKLQotICAgIHByb2Nlc3NOZXh0U2NyaXB0RmV0
Y2hKb2JJZk5lZWRlZCgpOworICAgIHNjcmlwdCgpLT5sb2FkQW5kRXZhbHVhdGVNb2R1bGUobW9k
dWxlVVJMLCBjcmVkZW50aWFscywgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiBN
ZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlciYgV29ya2xldEdsb2JhbFNjb3BlOjptZXNzYWdlUG9y
dENoYW5uZWxQcm92aWRlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9X
b3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5oCmluZGV4IGYyMzIwZjBkMTMwMjVjZWFiM2JhYzU2YTQ1ZWMyZDFkZDNmYjZjYzAu
LmZlNTRiODUzMjU2NzkyNTgzZGVkYTA1NWE0MzNhMjU2NTRlODY3NTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oCkBAIC0zMyw3ICszMyw2IEBACiAj
aW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5o
IgotI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0NvbnNvbGVNZXNzYWdlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVu
dGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CkBAIC01NCw3
ICs1Myw3IEBAIHN0cnVjdCBXb3JrbGV0UGFyYW1ldGVyczsKIGVudW0gV29ya2xldEdsb2JhbFNj
b3BlSWRlbnRpZmllclR5cGUgeyB9OwogdXNpbmcgV29ya2xldEdsb2JhbFNjb3BlSWRlbnRpZmll
ciA9IE9iamVjdElkZW50aWZpZXI8V29ya2xldEdsb2JhbFNjb3BlSWRlbnRpZmllclR5cGU+Owog
Ci1jbGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUsIHB1YmxpYyBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQgeworY2xhc3MgV29ya2xldEds
b2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlIHsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFdvcmtsZXRHbG9iYWxTY29wZSk7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+V29ya2xldEdsb2JhbFNjb3BlKCk7CkBAIC0xMTEsMTAgKzExMCw2IEBAIGNsYXNzIFdv
cmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSwgcHVi
bGljIFdvcmtlclNjcmlwCiAgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQsIHVuc2lnbmVk
LCBSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYsIEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCB1bnNpZ25lZCBsb25nKSBmaW5hbDsKICAgICB2b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQgbG9uZykg
ZmluYWw7CiAKLSAgICAvLyBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuCi0gICAgdm9pZCBkaWRS
ZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJikgZmluYWw7Ci0gICAgdm9pZCBub3RpZnlGaW5pc2hlZCgpIGZpbmFsOwotCiAgICAg
RXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJldHVybiB0aGlzOyB9CiAK
ICNpZiBFTkFCTEUoV0VCX0NSWVBUTykKQEAgLTEyNSwxNSArMTIwLDYgQEAgY2xhc3MgV29ya2xl
dEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLCBwdWJsaWMg
V29ya2VyU2NyaXAKICAgICBTdHJpbmcgdXNlckFnZW50KGNvbnN0IFVSTCYpIGNvbnN0IGZpbmFs
OwogICAgIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9zZXR0aW5nc1ZhbHVlczsgfQogCi0gICAgc3RydWN0IFNjcmlwdEZldGNo
Sm9iIHsKLSAgICAgICAgVVJMIG1vZHVsZVVSTDsKLSAgICAgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVu
dGlhbHMgY3JlZGVudGlhbHM7Ci0gICAgICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9u
YWw8RXhjZXB0aW9uPiYmKT4gY29tcGxldGlvbkhhbmRsZXI7Ci0gICAgfTsKLQotICAgIHZvaWQg
cHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKCk7Ci0gICAgdm9pZCBkaWRDb21wbGV0
ZVNjcmlwdEZldGNoSm9iKFNjcmlwdEZldGNoSm9iJiYsIE9wdGlvbmFsPEV4Y2VwdGlvbj4pOwot
CiAgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKIAogICAgIFJlZjxTZWN1cml0eU9y
aWdpbj4gbV90b3BPcmlnaW47CkBAIC0xNDQsOSArMTMwLDYgQEAgY2xhc3MgV29ya2xldEdsb2Jh
bFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLCBwdWJsaWMgV29ya2Vy
U2NyaXAKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJNZXNzYWdlUG9ydENoYW5uZWxQcm92
aWRlcj4gbV9tZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjsKIAotICAgIFJlZlB0cjxXb3JrZXJT
Y3JpcHRMb2FkZXI+IG1fc2NyaXB0TG9hZGVyOwotICAgIERlcXVlPFNjcmlwdEZldGNoSm9iPiBt
X3NjcmlwdEZldGNoSm9iczsKLSAgICBIYXNoU2V0PFVSTD4gbV9ldmFsdWF0ZWRNb2R1bGVzOwog
ICAgIFNldHRpbmdzOjpWYWx1ZXMgbV9zZXR0aW5nc1ZhbHVlczsKIH07CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiNjIw
YTk2ZTZlYjcyM2NmYzU5NDY5ZGUzYTkyN2EzM2RkYjlmODdiLi43MmMwZTc4ZWJkMGY5MmZiNjhm
ZTc0NDBkOGU1ZGMxNzk5OTFlODZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDItMTgg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBKUyBNb2R1bGVz
IGluIFdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2NDg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvbW9kdWxlLXNjcmlwdG5vbmNlLXJlZGlyZWN0LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3N1YnJlc291cmNlLWludGVncml0eS9zcmkt
bW9kdWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRk
TW9kdWxlLWZhaWx1cmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmF1ZGlvL3dvcmtsZXQt
Y3Jhc2gtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAyLTE2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgogCiAgICAgICAgIEV2ZW50SGFuZGxlcjo6dXBkYXRlU2VsZWN0aW9uRm9yTW91
c2VEb3duRGlzcGF0Y2hpbmdTZWxlY3RTdGFydCBzaG91bGQgbm90IHVzZSBhbiBvcnBoYW5lZCBz
ZWxlY3Rpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGMxMzMyOTQ1ZWQ4MWIz
NzI0MjBkMWE3MmYwNjY1OTIyMjljODBjMDEuLjNiNjFmOWFhMTE0NDk5NjY4M2JkMzMzYzdhYzAx
ZWEzZGZmMjljOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4
IEBACisyMDIxLTAyLTE4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBTb21lIG9mIHdvcmtsZXQgZmFpbHVyZXMgaW4gV1BUIGlzIGJl
Y2F1c2UsCisKKyAgICAgICAgICAgIDEuIFByZXZpb3VzbHksIHdvcmtsZXQgZG9lcyBub3Qgc3Vw
cG9ydCBtb2R1bGUuIFRoZXNlIHRlc3RzIGFyZSBwYXNzaW5nIGluY29ycmVjdGx5IHdoZW4gbW9k
dWxlcyBhcmUgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgICAgICAgIE5vdywgbW9kdWxlcyBhcmUg
c3VwcG9ydGVkLCBhbmQgc29tZSBlZGdlIGZlYXR1cmVzIGFyZSBtaXNzaW5nLCBzbyBzdGFydCBm
YWlsaW5nCisgICAgICAgICAgICAyLiBXUFQgaXMgdXNpbmcgd3d3MS5sb2NhbGhvc3QgaW4gc29t
ZSB0ZXN0cyAoQ1NQIHRlc3RzKSwgYW5kIHRoaXMgaXMgbm90IHN1cHBvcnRlZCBpbiBXZWJLaXQn
cyBXUFQgdGVzdGluZy4gU28gZmFpbGluZyBpbmNvcnJlY3RseS4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGlu
Zy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2Vy
Z2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3Jp
cHRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9y
dC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1p
bXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFs
dWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1v
ZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxw
aGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVy
bC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dv
cmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3Bl
L2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9i
LXVybC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3Jr
ZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLXR5
cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21v
ZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29y
a2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBv
cnQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
bGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdp
bi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDItMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIE1lZGlhUmVjb3JkZXIuc3RvcCgpIGRvZXMgbm90IHdvcmsgY29y
cmVjdGx5IHdoZW4gcmVjb3JkaW5nIGhhcyBiZWVuIHBhdXNlZC4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IGIxMGJlODYzOTBlZGNlNjk4Y2RjM2VjYjI5ZmYxZjliYjIzZjY3YmIuLjNlYTJjYjc2ZThj
YTc5NTFjYzYzMWQ3NTJlN2NhMDJjMGVlODMxN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjQw
LDcgKzY0MCw2IEBAIGZhc3QvZG9tL2Nvbm5lY3RlZC1zdWJmcmFtZS1jb3VudGVyLW92ZXJmbG93
Lmh0bWwgWyBTbG93IF0KIFsgRGVidWcgXSBodHRwL3Rlc3RzL3dvcmtlcnMvd29ya2VyLW1lc3Nh
Z2Vwb3J0LTIuaHRtbCBbIFNsb3cgXQogCiAjIFNraXAgd29ya2VycyB0ZXN0cyB0aGF0IGFyZSB0
aW1pbmcgb3V0IG9yIGFyZSBTaGFyZWRXb3JrZXIgcmVsYXRlZCBvbmx5Ci1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdp
bi5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
ZGF0YS11cmwtc2hhcmVkLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9leGFtcGxlcy9vbmNvbm5lY3QuYW55Lmh0bWwgWyBTa2lwIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9leGFtcGxlcy9vbmNvbm5lY3QuYW55
Lndvcmtlci5odG1sIFsgU2tpcCBdCkBAIC02NjMsNyArNjYyLDYgQEAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlci1yZXBsYWNlLUV2ZW50SGFuZGxl
ci5hbnkuaHQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9TaGFyZWRX
b3JrZXItcmVwbGFjZS1FdmVudEhhbmRsZXIuYW55Lndvcmtlci5odG1sIFsgU2tpcCBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyLXNjcmlwdC1l
cnJvci5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvU2hhcmVkV29ya2VyLXNpbXBsZS5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1yZWZl
cnJlci5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtY3JlZGVudGlhbHMuaHRtbCBbIFNr
aXAgXQogCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0
b3JzL1NoYXJlZFdvcmtlciBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL21vZHVsZS1zY3JpcHRub25j
ZS1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvbW9kdWxlLXNjcmlwdG5vbmNlLXJlZGlyZWN0LWV4
cGVjdGVkLnR4dAppbmRleCA1MDk5MTlmN2JmZDhjZjk0YzVkMzM0N2Y4N2E2NDRkMTU4ODQ1OTIx
Li5lMTcyZGU0ZDA0ZTJhNTc0N2M3N2YyMjIyNGZkNDVhYzA1MjUwNWY0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
bW9kdWxlLXNjcmlwdG5vbmNlLXJlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvbW9kdWxlLXNj
cmlwdG5vbmNlLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDIgQEAKIENPTlNPTEUg
TUVTU0FHRTogT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxsb3dlZCBieSBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjog
Q3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2Ug
U2hhcmluZyBwb2xpY3kuCiBUaGlzIHRlc3RzIHdoZXRoZXIgYSBkZWZlcnJlZCBzY3JpcHQgbG9h
ZCBjYXVzZWQgYnkgYSByZWRpcmVjdCBpcyBwcm9wZXJseSBhbGxvd2VkIGJ5IGEgbm9uY2UuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N1YnJlc291cmNlLWludGVncml0eS9z
cmktbW9kdWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3VicmVzb3Vy
Y2UtaW50ZWdyaXR5L3NyaS1tb2R1bGUtZXhwZWN0ZWQudHh0CmluZGV4IGEwMWQ5ZjA3MjZmZjk3
YzUyNWE1MDQ1MDc2YmFlNTE0YzgyZWUyZWEuLjkwYTI5MWViODI5ZWU5OGE3OThlYzM3NDg1MTg0
ZWEwZTk1YWNjOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3VicmVzb3Vy
Y2UtaW50ZWdyaXR5L3NyaS1tb2R1bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3VicmVzb3VyY2UtaW50ZWdyaXR5L3NyaS1tb2R1bGUtZXhwZWN0ZWQudHh0CkBA
IC0zLDcgKzMsNiBAQCBDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogQ2Fubm90IGxvYWQgc2Ny
aXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zdWJyZXNvdXJjZQogQ09OU09MRSBNRVNTQUdFOiBU
eXBlRXJyb3I6IENhbm5vdCBsb2FkIHNjcmlwdCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc3VicmVz
b3VyY2UtaW50ZWdyaXR5L3Jlc291cmNlcy9jcm9zc29yaWdpbi1hbm9uLXNjcmlwdC1tb2R1bGUu
anMuIEZhaWxlZCBpbnRlZ3JpdHkgbWV0YWRhdGEgY2hlY2suIENvbnRlbnQgbGVuZ3RoOiAzNywg
RXhwZWN0ZWQgY29udGVudCBsZW5ndGg6IDM3LCBFeHBlY3RlZCBtZXRhZGF0YTogc2hhMjU2LWRl
YWRiZWVmY1NMbGJGWkNqMU9BQ0x4VHhWY2syVE9yQlRFZFVid3oxeVU9CiBDT05TT0xFIE1FU1NB
R0U6IFR5cGVFcnJvcjogQ2Fubm90IGxvYWQgc2NyaXB0IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9z
dWJyZXNvdXJjZS1pbnRlZ3JpdHkvcmVzb3VyY2VzL2Nyb3Nzb3JpZ2luLWNyZWRzLXNjcmlwdC1t
b2R1bGUuanMuIEZhaWxlZCBpbnRlZ3JpdHkgbWV0YWRhdGEgY2hlY2suIENvbnRlbnQgbGVuZ3Ro
OiAzOCwgRXhwZWN0ZWQgY29udGVudCBsZW5ndGg6IDM4LCBFeHBlY3RlZCBtZXRhZGF0YTogc2hh
MjU2LWRlYWRiZWVmMlMrcFRSWmdpdzNEV3JoQzZKTERsdDJ6UnlHcHdIN3VuVTg9CiBDT05TT0xF
IE1FU1NBR0U6IE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkg
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6
IENyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNl
IFNoYXJpbmcgcG9saWN5LgogQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IENhbm5vdCBsb2Fk
IHNjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3VicmVzb3VyY2UtaW50ZWdyaXR5L3Jlc291
cmNlcy9tYXRjaGluZy1kaWdlc3QtbW9kdWxlLmpzLiBGYWlsZWQgaW50ZWdyaXR5IG1ldGFkYXRh
IGNoZWNrLiBDb250ZW50IGxlbmd0aDogMjksIEV4cGVjdGVkIGNvbnRlbnQgbGVuZ3RoOiAyOSwg
RXhwZWN0ZWQgbWV0YWRhdGE6IHNoYTI1Ni1jV2g5blBmbTdfbVJiS2h6YXJuUllsc0pXejVYVE5j
c3FQRnpLRXgrelNVPQogQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IENhbm5vdCBsb2FkIHNj
cmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3VicmVzb3VyY2UtaW50ZWdyaXR5L3Jlc291cmNl
cy9tYXRjaGluZy1kaWdlc3QtbW9kdWxlLmpzLiBGYWlsZWQgaW50ZWdyaXR5IG1ldGFkYXRhIGNo
ZWNrLiBDb250ZW50IGxlbmd0aDogMjksIEV4cGVjdGVkIGNvbnRlbnQgbGVuZ3RoOiAyOSwgRXhw
ZWN0ZWQgbWV0YWRhdGE6IHNoYTI1Ni1VOVdZRHRCV2tjSHgxMys5VUtrLzNRNWVvcURjNFlHeFli
MDdFUFd6YjllPT9mb289YmFyP3NwYW09ZWdncwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRlbnRhdGl2ZS5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pz
b24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDQ5MjY5YjNiNTBiOTE3NWNiNjJlY2EzMTJlNTg2YjNiMTY2MmEyNTkuLjJjYWU1ZjdlMzVh
MzJmZWNlYjI2OGYyOTAwMDBlNGU1NTU2YzY4NjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDcgKzEsNyBAQAogCi1GQUlMIE5vbi1vYmplY3Q6IG51bGwgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBp
bXBvcnQgdGhlIG1vZHVsZSAnLi9udWxsLmpzb24nLiIKLUZBSUwgTm9uLW9iamVjdDogdHJ1ZSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJv
cjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL3RydWUuanNvbicuIgotRkFJTCBOb24t
b2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2ZhbHNlLmpz
b24nLiIKLUZBSUwgTm9uLW9iamVjdDogc3RyaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBt
b2R1bGUgJy4vc3RyaW5nLmpzb24nLiIKLUZBSUwgTm9uLW9iamVjdDogYXJyYXkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxk
IG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9hcnJheS5qc29uJy4iCitGQUlMIE5vbi1vYmplY3Q6
IG51bGwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlw
dCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiB0cnVlIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9u
L2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9i
amVjdDogZmFsc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2
YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBzdHJpbmcgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBw
bGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJ
TCBOb24tb2JqZWN0OiBhcnJheSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2
YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9i
YWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2Nv
cGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5
ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLmY2OGNjNzNiNGQ2NzRjNTRkZmFmZTUyMjEyYjY0M2M0MDMw
ZmQ0MmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3Jv
dGFza3MvY2hlY2twb2ludC1hZnRlci13b3JrZXJnbG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90
YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCi0KK0ZBSUwgUHJvbWlzZSByZXNvbHZlZCBkdXJpbmcgI3JlcG9ydC10aGUt
ZXJyb3IgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5
IFsiaGFuZGxlciAxIiwgImhhbmRsZXIgMiIsICJoYW5kbGVyIDEgcHJvbWlzZSIsICJoYW5kbGVy
IDIgcHJvbWlzZSJdIGxlbmd0aCA0LCBnb3QgW10gbGVuZ3RoIDAKK1BBU1MgUHJvbWlzZSByZXNv
bHZlZCBkdXJpbmcgZXZlbnQgaGFuZGxlcnMgb3RoZXIgdGhhbiBlcnJvcgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQv
YWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jh
c2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dAppbmRleCA1MWQ2MTAwZTYx
MjJhOTdjMzY0YjNjZWIxZDdmZDA3ZTBlMTU2MTE3Li5hODA1MGMwNzhjZjhiODhkNTY4YWZmZTBk
NTVjYzMxOTBjMzY1NDdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNj
cmlwdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0
cy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgUmVsYXRpdmUgVVJMLWxpa2Ug
ZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhl
IG1vZHVsZSAnLi9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3Jp
Z2luLCopJmxhYmVsPXJlbGF0aXZlLWNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCknLiIKLUZB
SUwgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6
IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL2h0bWwv
c2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1p
bXBvcnQvZ2FtbWEvaW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbiwqKSZsYWJlbD1hYnNvbHV0ZS1jcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpJy4iCi1Q
QVNTIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQot
RkFJTCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJy
b3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1p
Yy1pbXBvcnQvZ2FtbWEvaW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93
LU9yaWdpbiwqKSZsYWJlbD1hYnNvbHV0ZS1jcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpJy4i
CitQQVNTIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gc2FtZS1vcmlnaW4gaW1wb3J0U2NyaXB0cygp
CitQQVNTIEFic29sdXRlIFVSTC1saWtlIGZyb20gc2FtZS1vcmlnaW4gaW1wb3J0U2NyaXB0cygp
CitGQUlMIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMo
KSBhc3NlcnRfZXF1YWxzOiBSZWxhdGl2ZSBVUkwtbGlrZSBzcGVjaWZpZXIgcmVzb2x1dGlvbiBz
aG91bGQgZmFpbCBleHBlY3RlZCAiKHVucmVhY2hlZCkiIGJ1dCBnb3QgImdhbW1hL2ltcG9ydC5q
cyIKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0
cygpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9h
bHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVkLnR4dAppbmRleCA4NjZlYmIyMjdhZDI2
YWFjZTFhNTc4YmFlYTZhODFkYzBlNmU3N2YwLi41ZTcwNjM0OTBlMmRmZmVjZTg1ZWE3NjVhZWJk
ZGU0YjE2ZWIwZmMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFt
aWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDQg
KzEsNCBAQAogCi1GQUlMIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gd29ya2VyIHRvcC1sZXZlbCBz
Y3JpcHQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9pbXBvcnQuanM/cGlwZT1o
ZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPXJlbGF0aXZlLXdvcmtl
ciB0b3AtbGV2ZWwgc2NyaXB0Jy4iCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZyb20gd29ya2Vy
IHRvcC1sZXZlbCBzY3JpcHQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnaHR0cDov
LzEyNy4wLjAuMTo4ODAwL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvZ2FtbWEvaW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFj
Y2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1hYnNvbHV0ZS13b3JrZXIgdG9wLWxl
dmVsIHNjcmlwdCcuIgorUEFTUyBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2
ZWwgc2NyaXB0CitQQVNTIEFic29sdXRlIFVSTC1saWtlIGZyb20gd29ya2VyIHRvcC1sZXZlbCBz
Y3JpcHQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5v
dGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFk
ZGQyMmU0YzFkY2IzYTVmLi4yZjEyYTIzNDJmYWQyMjRlM2ExOGE2ZmI1ZDg0ODMyNWVhNjc3NmZl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZh
bHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhy
b3ctd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK1BBU1MgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9m
IG1vZHVsZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS13b3JrZXIt
ZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNh
NWYuLmI4NjFmNzAxZjk0OGZiMTMyNzY5MzIyYzM4MzY2ZjJkMTM4ZjA0ZTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVy
LTEtd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEs
NCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitG
QUlMIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzIGFzc2VydF9hcnJheV9lcXVhbHM6
IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbInN0ZXAtMS0xIiwgInN0ZXAtMS0yIiwg
Imdsb2JhbC1lcnJvciIsICJlcnJvciIsICJtaWNyb3Rhc2siXSBsZW5ndGggNSwgZ290IFsic3Rl
cC0xLTEiLCAic3RlcC0xLTIiLCAibWljcm90YXNrIl0gbGVuZ3RoIDMKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXIt
Mi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50
eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uYzFkMzhi
ZGU1MGM1OWU1ZDU5NDE3M2Q5NmY5Y2QxOWViMTA3YzliNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQt
d29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
LQorRkFJTCBUZXN0IGV2YWx1YXRpb24gb3JkZXIgb2YgbW9kdWxlcyBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJzdGVwLTIuMi0xIiwgInN0ZXAt
Mi4yLTIiLCAiZ2xvYmFsLWVycm9yIiwgImVycm9yIiwgIm1pY3JvdGFzay0yLjIiXSBsZW5ndGgg
NSwgZ290IFsic3RlcC0yLjItMSIsICJzdGVwLTIuMi0yIiwgIm1pY3JvdGFzay0yLjIiXSBsZW5n
dGggMwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHlu
YW1pYy13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRk
ZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0MmZhZDIyNGUzYTE4YTZmYjVkODQ4MzI1ZWE2Nzc2ZmUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFs
dWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1p
Yy13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorUEFTUyBUZXN0IGV2YWx1YXRpb24gb3JkZXIgb2Yg
bW9kdWxlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtbW9kdWxlLXNj
cmlwdHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVs
ZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAxMmQ5NGE5MWVmMWY4YWIwYTE4N2M3
NDliMGRkZWM2OTZkMTE4OGU3Li5iNGQ2OGFmMDU2ZWVmNjIyYTMzZDU0ZjA3NmYzODFkNGUxYmIy
OWEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMu
aHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUt
c2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTIsOCArMiw4IEBACiBGQUlMIFN0YXRpYyBp
bXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQg
Y2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKIEZBSUwgTmVzdGVkIHN0YXRpYyBp
bXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQg
Y2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKIEZBSUwgU3RhdGljIGltcG9ydCBh
bmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJ
TCBEeW5hbWljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0
byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAn
Li9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIE5lc3Rl
ZCBkeW5hbWljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0
byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAn
Li9leHBvcnQtb24tZHluYW1pYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQot
RkFJTCBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1zdGF0aWMtaW1wb3J0LXNjcmlw
dC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgZXZhbChpbXBvcnQoKSkuIGFzc2VydF9hcnJh
eV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBD
b3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzJy4i
LCBleHBlY3RlZCBhcnJheQorUEFTUyBEeW5hbWljIGltcG9ydC4KK1BBU1MgTmVzdGVkIGR5bmFt
aWMgaW1wb3J0LgorUEFTUyBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0Lgor
UEFTUyBldmFsKGltcG9ydCgpKS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1v
ZHVsZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2Vy
LWV4cGVjdGVkLnR4dAppbmRleCBkZDlhZjM4ZmYwOWZiZWMxZmFjMGI4ZjVlYTliYWQ2ZTMxNjM2
NDlkLi41MWViMzY2MzhjMWNhN2QwNjBiNzY3NTkyNmZjYzcwYzViZjA3NmU3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFz
ZXVybC9hbHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9h
bHBoYS9pbXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAK
LUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAncicu
IGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKLUZBSUwgQmFzZSBV
UkwgaW4gbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzOiBpbXBvcnQgYXNzZXJ0X3VucmVhY2hlZDog
R290IGVycm9yIGV2ZW50IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBCYXNlIFVSTCBp
biBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IGltcG9ydAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBo
YS9pbXBvcnRTY3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRT
Y3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggYWI1YTdmYjg5MDIwZjI5ZmQ4OTNh
NzU2ODBmZmUxN2QzZDM1MGY3Yy4uYWI1M2I4MDU5OWFlMDE5NTc4MDg1ZWU0NGFhZWZhNGM3OTU1
MjY4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4
dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBpbXBvcnRTY3JpcHRzIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJnYW1tYS9zY3JpcHQuanMiIGJ1dCBnb3QgImJldGEvc2NyaXB0LmpzIgorUEFTUyBp
bXBvcnRTY3JpcHRzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQK
aW5kZXggODNmMzY3ZjJjZjNhNjZjNjRhNjI2NDI5NDY1NmQ1ZTg4MWQxYzExYy4uMjhiMGNiNDAw
MTM5MmQwODg3YTRmZWJlNjgxYzFlMTUxZDBkZjE4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhy
LWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVs
ZXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQmFzZSBVUkwgaW4g
bW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzOiBYSFIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdh
bW1hXG4iIGJ1dCBnb3QgImJldGFcbiIKK1BBU1MgQmFzZSBVUkwgaW4gbW9kdWxlIGRlZGljYXRl
ZCB3b3JrZXJzOiBYSFIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXdvcmtlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBkNmIw
OGVlZGFlNmY2OTZjN2E0YmZhNjU1ZTEzYjVlZDQ2MDdlYTAxLi5lYTE0NTRkOWIzZjIwZjg1ZDkw
MTZjNTA2YTE1NDZhZjYxNzg0MmQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4td29ya2Vy
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCB4aHItd29ya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJnYW1tYVxuIiBidXQgZ290ICJiZXRhXG4iCitQQVNTIHhoci13b3JrZXIKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Nv
bnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3Jr
ZXIvc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0CmluZGV4IDgzMWYwYzU4YzY5NGMyZDRmZWJkNmQ4
ZDBhZjMwN2IxMDk0NDJhNmUuLmQ1NTVlZTdjZjNmYzcyZWZiODJkZjlkYjdkYWQzNjdmOWFiN2Zm
YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
Y29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEs
MTEgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KIFBBU1Mg
dW5zdXBwb3J0ZWRfc2NoZW1lCiBGQUlMIGRhdGFfdXJsIFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1
cmUuCi1USU1FT1VUIGFib3V0X2JsYW5rIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIGV4YW1wbGVf
aW52YWxpZCBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBwb3J0XzgxIFRlc3QgdGltZWQgb3V0Ci1U
SU1FT1VUIGh0dHBzX3BvcnRfODAgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgaHR0cHNfcG9ydF84
MDAwIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIGh0dHBfcG9zdF84MDEyIFRlc3QgdGltZWQgb3V0
Ci1USU1FT1VUIGphdmFzY3JpcHRfdXJsIFRlc3QgdGltZWQgb3V0CitQQVNTIGFib3V0X2JsYW5r
CitQQVNTIGV4YW1wbGVfaW52YWxpZAorUEFTUyBwb3J0XzgxCitQQVNTIGh0dHBzX3BvcnRfODAK
K1BBU1MgaHR0cHNfcG9ydF84MDAwCitQQVNTIGh0dHBfcG9zdF84MDEyCitQQVNTIGphdmFzY3Jp
cHRfdXJsCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Jl
ZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Jl
ZGlyZWN0LWV4cGVjdGVkLnR4dAppbmRleCBmMTc0MWY5ZDhiZjA3MDMyNzBkMmUzNzYyZGJjYmUy
NmMwYjkwMDU5Li4zYjBkZmIzNWU1MWNkMWE4NTQ1NTMwMTljMGU0MDNkYmUyZjFkMzNmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFdvcmtlckxvY2F0aW9uIHdpdGggcmVk
aXJlY3RzOiBjbGFzc2ljIGRlZGljYXRlZCB3b3JrZXJzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNj
b3BlL2xvY2F0aW9uL3Bvc3QtbG9jYXRpb24tbWVtYmVycy5qcz9hIiBidXQgZ290ICJodHRwOi8v
bG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0
aW9uL2hlbHBlci1yZWRpcmVjdC5weT9mYWlsIgorUEFTUyBXb3JrZXJMb2NhdGlvbiB3aXRoIHJl
ZGlyZWN0czogY2xhc3NpYyBkZWRpY2F0ZWQgd29ya2VycwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9X
b3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtbW9kdWxlLWV4cGVjdGVk
LnR4dAppbmRleCBkYzJlMmUyMDdkYjAwMWVlNzBlNzMzMDdkMjdiYjMzNTcyMGZkNTU5Li5iM2Jm
ODFlZTg2ODFiOWRjMDgwZjU4MDI3MWU4YjhmMzkwOTY1NDk1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9X
b3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBl
Y3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgV29ya2VyTG9jYXRpb24gd2l0aCByZWRp
cmVjdHM6IG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VycyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
aHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29w
ZS9sb2NhdGlvbi9wb3N0LWxvY2F0aW9uLW1lbWJlcnMuanM/YSIgYnV0IGdvdCAiaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlv
bi9oZWxwZXItcmVkaXJlY3QucHk/ZmFpbCIKK1BBU1MgV29ya2VyTG9jYXRpb24gd2l0aCByZWRp
cmVjdHM6IG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VycwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dAppbmRleCAyMGFjMTdkNTYz
YzRiM2E0NjFmMGNhYWZiZWFlZWJkNzEzZjk3MDgxLi5kY2NlZGNjZDM2OGUxZmYxN2IxZGQxMzZl
NDUzZmVjNGZlMTBiYzgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1i
bG9iLXVybC5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0
LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQKQEAgLTEsMTggKzEsOSBAQAotQ09OU09MRSBNRVNT
QUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvc3RhdGljLWltcG9ydC13b3JrZXIu
anMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBN
RVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLXN0YXRpYy1pbXBv
cnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4K
LUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwg
Imh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1p
bXBvcnQtYW5kLXRoZW4tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJz
L21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxs
IGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29y
a2Vycy9tb2R1bGVzL3Jlc291cmNlcy9uZXN0ZWQtZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzIi4g
aW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FH
RTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1wb3J0LWFuZC10aGVu
LXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9u
ZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3Ry
aW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3Vy
Y2VzL2V2YWwtZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBl
eGFjdGx5IG9uZSBhcmd1bWVudC4KIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4
ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtYW5kLXRoZW4tc3Rh
dGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFy
Z3VtZW50LgotCi1GQUlMIFN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVy
YWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0
aWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFy
Z3VtZW50LiIKLUZBSUwgTmVzdGVkIHN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5n
IGxpdGVyYWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNl
cy9uZXN0ZWQtc3RhdGljLWltcG9ydC13b3JrZXIuanNcIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBl
eGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIFN0YXRpYyBpbXBvcnQgYW5kIHRoZW4gZHluYW1p
YyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgXCJodHRwOi8vbG9jYWxob3N0
Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0aWMtaW1wb3J0LWFuZC10aGVuLWR5
bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25l
IGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxp
dGVyYWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9k
eW5hbWljLWltcG9ydC13b3JrZXIuanNcIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9u
ZSBhcmd1bWVudC4iCi1GQUlMIE5lc3RlZCBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBz
dHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL25lc3RlZC1keW5hbWljLWltcG9ydC13b3JrZXIuanNcIi4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVu
IHN0YXRpYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgXCJodHRwOi8vbG9j
YWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9ydC1hbmQt
dGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0
bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgZXZhbChpbXBvcnQoKSkuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3Ry
aW5nIGxpdGVyYWwgXCJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9ldmFsLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3Rz
IGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKK1BBU1MgU3RhdGljIGltcG9ydC4KK1BBU1MgTmVzdGVk
IHN0YXRpYyBpbXBvcnQuCitQQVNTIFN0YXRpYyBpbXBvcnQgYW5kIHRoZW4gZHluYW1pYyBpbXBv
cnQuCitQQVNTIER5bmFtaWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQ
QVNTIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuCitQQVNTIGV2YWwoaW1w
b3J0KCkpLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1jc3AtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dApp
bmRleCAxZGE0NmI5MjZiZTA4OTZlZThmNzVhNzhkY2FlNGYyNjliMDUwOTJiLi4yMzljYzljZTE1
MzAxZjdlZWQ4M2Q1ZWIyMjMwYTlkZTI5NGVhMmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC1jc3AtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LWNzcC1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMjIgQEAKIENPTlNPTEUgTUVTU0FH
RTogVW5yZWNvZ25pemVkIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IGRpcmVjdGl2ZSAnd29ya2Vy
LXNyYycuCiAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9j
YWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtb24tbG9hZC1zY3Jp
cHQuanMKIENPTlNPTEUgTUVTU0FHRTogVW5yZWNvZ25pemVkIENvbnRlbnQtU2VjdXJpdHktUG9s
aWN5IGRpcmVjdGl2ZSAnd29ya2VyLXNyYycuCiAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFs
IFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNl
cy9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVS
TCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9l
eHBvcnQtb24tbG9hZC1zY3JpcHQuanMKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBo
dHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBv
cnQtb24tbG9hZC1zY3JpcHQuanMKIENPTlNPTEUgTUVTU0FHRTogVW5yZWNvZ25pemVkIENvbnRl
bnQtU2VjdXJpdHktUG9saWN5IGRpcmVjdGl2ZSAnd29ya2VyLXNyYycuCiAKK0Jsb2NrZWQgYWNj
ZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9t
b2R1bGVzL3Jlc291cmNlcy9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMKIENPTlNPTEUgTUVTU0FH
RTogVW5yZWNvZ25pemVkIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IGRpcmVjdGl2ZSAnd29ya2Vy
LXNyYycuCiAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9j
YWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtb24tbG9hZC1zY3Jp
cHQuanMKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxo
b3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtb24tbG9hZC1zY3JpcHQu
anMKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0
Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMK
IENPTlNPTEUgTUVTU0FHRTogVW5yZWNvZ25pemVkIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IGRp
cmVjdGl2ZSAnd29ya2VyLXNyYycuCiAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBo
dHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBv
cnQtb24tbG9hZC1zY3JpcHQuanMKIAogUEFTUyB3b3JrZXItc3JjICdzZWxmJyBkaXJlY3RpdmUg
c2hvdWxkIGRpc2FsbG93IGNyb3NzIG9yaWdpbiBzdGF0aWMgaW1wb3J0LgogRkFJTCB3b3JrZXIt
c3JjICogZGlyZWN0aXZlIHNob3VsZCBhbGxvdyBjcm9zcyBvcmlnaW4gc3RhdGljIGltcG9ydC4g
YXNzZXJ0X2FycmF5X2VxdWFsczogZXhwZWN0ZWQgcHJvcGVydHkgMCB0byBiZSAiZXhwb3J0LW9u
LWxvYWQtc2NyaXB0LmpzIiBidXQgZ290ICJFUlJPUiIgKGV4cGVjdGVkIGFycmF5IFsiZXhwb3J0
LW9uLWxvYWQtc2NyaXB0LmpzIl0gZ290IFsiRVJST1IiXSkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50eHQKaW5kZXggOTVjNmQxNWRmNDRlMThhMzVk
ZmViMGZhMzljOGQzODQ0MjBjMmMxMy4uZTk1NTc4ZTcxYjFjNTBhNGUwNDcxYjAzNzE1NGIzODZi
MzdhZWQ3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVyZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVyZS1leHBl
Y3RlZC50eHQKQEAgLTEsOSArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICcuL25vbi1leGlzdGVudC1zY3JpcHQuanMnLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgorQ09OU09MRSBNRVNTQUdFOiBJ
bXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4KIAotRkFJTCBpbXBvcnRTY3JpcHRzKCkg
b24gbW9kdWxlIHdvcmtlciBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiVHlwZUVycm9yIiBidXQgZ290ICJMT0FERUQiCitQQVNTIGltcG9ydFNjcmlw
dHMoKSBvbiBtb2R1bGUgd29ya2VyIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdv
cmtlciBjb25zdHJ1Y3Rpb24gZm9yIG5vbi1leGlzdGVudCBzY3JpcHQgc2hvdWxkIGRpc3BhdGNo
IGFuIEVycm9yRXZlbnQuCiBQQVNTIFN0YXRpYyBpbXBvcnQgZm9yIG5vbi1leGlzdGVudCBzY3Jp
cHQgc2hvdWxkIGRpc3BhdGNoIGFuIEVycm9yRXZlbnQuCi1GQUlMIER5bmFtaWMgaW1wb3J0IGZv
ciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJUeXBlRXJyb3IiIGJ1dCBnb3QgIkVycm9yIgorUEFTUyBEeW5hbWlj
IGltcG9ydCBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9u
LgogUEFTUyBXb3JrZXIgY29uc3RydWN0aW9uIGZvciBhbiBpbnZhbGlkIFVSTCBzaG91bGQgdGhy
b3cgYW4gZXhjZXB0aW9uLgogUEFTUyBXb3JrZXIgY29uc3RydWN0aW9uIGZvciBhIGZpbGUgVVJM
IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItaW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtbWV0YS1leHBlY3RlZC50eHQKaW5kZXggZDU4MDYyMDQxYzNlNjk1MTViODE1ZTAyZDdjMzg2
ODRkNzdjNzZiNy4uNzcyOTFiYWExYTQxODRiZWJlN2FkN2I1ZDlmMTE5YzcxYTc4ZGU0ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21v
ZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQKQEAgLTEsOCAr
MSw1IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5
IHZhbGlkIGluc2lkZSBtb2R1bGVzLgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9
IFN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5IHZhbGlkIGluc2lkZSBtb2R1bGVzLgot
Ci1GQUlMIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlw
dC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhF
cnJvcjogaW1wb3J0Lm1ldGEgaXMgb25seSB2YWxpZCBpbnNpZGUgbW9kdWxlcy4iCi1GQUlMIFRl
c3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0LiBhc3NlcnRf
dHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwg
b24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQgd2l0aCBhIGZyYWdtZW50LiBhc3NlcnRfdHJ1
ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgVGVzdCBpbXBvcnQubWV0YS51cmwgb24g
dGhlIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0LgorUEFTUyBUZXN0IGltcG9ydC5tZXRhLnVybCBv
biB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdC4KK1BBU1MgVGVzdCBpbXBvcnQubWV0YS51cmwg
b24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQgd2l0aCBhIGZyYWdtZW50LgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC1tZXRhLmh0bWwKaW5kZXggY2ZmOGU5MTQ4OGU4MjM5YWJlMjEzNjE5ZDEy
ZDVhNjAzMDcyZmJlYS4uZWRlMjY5MmUxYzYzNDFiZWZmYzkwMTBjNDFiOGY0Y2ZlNDM4MzI5YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbApAQCAtNTMsNyArNTMsNyBAQAogICAg
ICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoJy4vJyArIHNjcmlwdF91cmwgKyAnIzEnKTsKICAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd29ya2VyLm9ubWVzc2FnZSA9IHJlc29s
dmUpOwogICAgICAgfSkKLSAgICAgIC50aGVuKG1zZ19ldmVudCA9PiBhc3NlcnRfdHJ1ZShtc2df
ZXZlbnQuZGF0YS5lbmRzV2l0aChzY3JpcHRfdXJsKSkpOworICAgICAgLnRoZW4obXNnX2V2ZW50
ID0+IGFzc2VydF90cnVlKG1zZ19ldmVudC5kYXRhLmVuZHNXaXRoKHNjcmlwdF91cmwgKyAnIzEn
KSkpOwogfSwgJ1Rlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2Ny
aXB0IHdpdGggYSBmcmFnbWVudC4nKTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQt
d29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQKaW5kZXggNmRjNDJjMWNmZDMzNDhh
ZmRkMWRmZDNiMTBhNTA0NzA1NTMwMTk2YS4uNzAxNjU4ZGE2ODA0Y2FlYjBkZWMyNTQ4NzAwOWVl
Njc2Y2VlYTlkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJy
ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVy
LWV4cGVjdGVkLnR4dApAQCAtMSwxOSArMSwyMyBAQAotCi1IYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczov
L3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVm
ZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8v
d3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZl
cnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93
d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVy
cmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3
dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJy
ZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3
MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJl
ci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cx
LmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVy
LWNoZWNrZXIucHkKIAogUEFTUyBTYW1lLW9yaWdpbiB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlwdCBs
b2FkaW5nIHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kKIFBBU1MgU2FtZS1vcmln
aW4gdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQgbG9hZGluZyB3aXRoICJvcmlnaW4iIHJlZmVycmVy
IHBvbGljeQogUEFTUyBTYW1lLW9yaWdpbiB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlwdCBsb2FkaW5n
IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kKLUZBSUwgU2FtZS1vcmlnaW4gc3Rh
dGljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5
cGUgZXJyb3IiCi1GQUlMIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAib3JpZ2luIiBy
ZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKLUZBSUwgU2FtZS1vcmlnaW4gc3Rh
dGljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5
cGUgZXJyb3IiCitQQVNTIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAibm8tcmVmZXJy
ZXIiIHJlZmVycmVyIHBvbGljeS4KK1BBU1MgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRo
ICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KK1BBU1MgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9y
dCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgogRkFJTCBDcm9zcy1vcmlnaW4g
c3RhdGljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IFR5cGUgZXJyb3IiCiBGQUlMIENyb3NzLW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm9yaWdp
biIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiBGQUlMIENyb3NzLW9yaWdp
biBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogVHlwZSBlcnJvciIKLVRJTUVPVVQgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAi
bm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeS4gVGVzdCB0aW1lZCBvdXQKLU5PVFJVTiBTYW1l
LW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KLU5P
VFJVTiBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJy
ZXIgcG9saWN5LgotTk9UUlVOIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJuby1y
ZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LgotTk9UUlVOIENyb3NzLW9yaWdpbiBkeW5hbWljIGlt
cG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KLU5PVFJVTiBDcm9zcy1vcmlnaW4g
ZHluYW1pYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KK1BBU1Mg
U2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBv
bGljeS4KK1BBU1MgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZl
cnJlciBwb2xpY3kuCitQQVNTIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggInNhbWUt
b3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCitGQUlMIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9y
dCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3Ii
CitGQUlMIENyb3NzLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVy
IHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgorRkFJTCBDcm9zcy1vcmlnaW4gZHluYW1pYyBp
bXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVy
cm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dAppbmRl
eCBhMjNhNTU3NWRiNDI3NDI3Zjg1YmQ2YjYzNTRkZTg4MzgzMWZlMmI0Li5kY2NlZGNjZDM2OGUx
ZmYxN2IxZGQxMzZlNDUzZmVjNGZlMTBiYzgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1w
b3J0LmFueS1leHBlY3RlZC50eHQKQEAgLTEsMTQgKzEsOSBAQAotQ09OU09MRSBNRVNTQUdFOiBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhh
Y3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4K
LUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1IYXJuZXNzIEVycm9yIChG
QUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0
IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLQotRkFJTCBTdGF0aWMgaW1wb3J0
LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9u
ZSBhcmd1bWVudC4iCi1GQUlMIE5lc3RlZCBzdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRv
a2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlM
IFN0YXRpYyBpbXBvcnQgYW5kIHRoZW4gZHluYW1pYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwg
RHluYW1pYyBpbXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8g
ZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4v
ZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBOZXN0ZWQg
ZHluYW1pYyBpbXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8g
ZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4v
ZXhwb3J0LW9uLWR5bmFtaWMtaW1wb3J0LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZB
SUwgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2Vx
dWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxk
IG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tc3RhdGljLWltcG9ydC1zY3JpcHQu
anMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIGV2YWwoaW1wb3J0KCkpLiBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwg
ZXhwZWN0ZWQgYXJyYXkKK1BBU1MgU3RhdGljIGltcG9ydC4KK1BBU1MgTmVzdGVkIHN0YXRpYyBp
bXBvcnQuCitQQVNTIFN0YXRpYyBpbXBvcnQgYW5kIHRoZW4gZHluYW1pYyBpbXBvcnQuCitQQVNT
IER5bmFtaWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFt
aWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQKaW5kZXgg
ZGEwZTRlYjY3NThkMTRhMzdhMzk4ZDBiNmZjNzFhZDM4NzZiZDI2Yi4uMWZjMGM2NmZkZjcyNGMy
YWEzYjkxMDY5ODBiZmJlN2U5ODhmOTc3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtl
ci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0
aW9ucy10eXBlLWV4cGVjdGVkLnR4dApAQCAtMiwxMSArMiw2IEBACiBQQVNTIFRlc3Qgd29ya2Vy
IGNvbnN0cnVjdGlvbiB3aXRoIHRoZSBkZWZhdWx0IHdvcmtlciB0eXBlLgogUEFTUyBUZXN0IHdv
cmtlciBjb25zdHJ1Y3Rpb24gd2l0aCB0aGUgImNsYXNzaWMiIHdvcmtlciB0eXBlLgogUEFTUyBU
ZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCB0aGUgIm1vZHVsZSIgd29ya2VyIHR5cGUuCi1G
QUlMIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIGVtcHR5IHdvcmtlciB0eXBlLiBh
c3NlcnRfdGhyb3dzX2pzOiBXb3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgdHlwZSBz
aG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uIGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICAgIG5ldyBX
b3JrZXIoJ3Jlc291cmNlcy9wb3N0LW1lc3NhZ2Utb24tbG9hZC13b3JrZXIuanMnLCB7IHR5cGU6
ICcnIH0pOwotICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBUZXN0IHdvcmtlciBjb25zdHJ1
Y3Rpb24gd2l0aCBhbiB1bmtub3duIHdvcmtlciB0eXBlLiBhc3NlcnRfdGhyb3dzX2pzOiBXb3Jr
ZXIgY29uc3RydWN0aW9uIHdpdGggYW4gdW5rbm93biB0eXBlIHNob3VsZCB0aHJvdyBhbiBleGNl
cHRpb24gZnVuY3Rpb24gIigpID0+IHsKLSAgICAgICAgbmV3IFdvcmtlcigncmVzb3VyY2VzL3Bv
c3QtbWVzc2FnZS1vbi1sb2FkLXdvcmtlci5qcycsCi0gICAgICAgICAgICAgICAgICAgeyB0eXBl
OiAndW5rbm93bicgfSk7Ci0gICAgICB9IiBkaWQgbm90IHRocm93CitQQVNTIFRlc3Qgd29ya2Vy
IGNvbnN0cnVjdGlvbiB3aXRoIGFuIGVtcHR5IHdvcmtlciB0eXBlLgorUEFTUyBUZXN0IHdvcmtl
ciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtub3duIHdvcmtlciB0eXBlLgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRl
eCBlOGViNTQwYmQzMzkyNDAwYThkYmZkOTM4NjQ4YTY0OTIzOWMwZDllLi5kMWE1MGY3ZWEzY2Q2
ZGMyOThlZjc1NDE0Nzc2MmM2OWM1N2Q3M2IzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13
b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSwxNCBAQAot
Q09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9y
dCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCitDT05TT0xFIE1FU1NBR0U6IFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc7JworQ09OU09MRSBNRVNTQUdFOiBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnOycKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3Nh
Z2UgPSBFcnJvcjogYXNzZXJ0X2ltcGxlbWVudHM6IFN0YXRpYyBpbXBvcnQgbXVzdCBiZSBzdXBw
b3J0ZWQgb24gbW9kdWxlIGRlZGljYXRlZCB3b3JrZXIgdG8gcnVuIHRoaXMgdGVzdC4gdW5kZWZp
bmVkCi0KLU5PVFJVTiBNb2R1bGUgd29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igc2NyaXB0IHdpdGgg
c3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4KLU5PVFJV
TiBTdGF0aWMgaW1wb3J0IG9uIG1vZHVsZSB3b3JrZXIgZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBl
cnJvciBzaG91bGQgZGlzcGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuCitGQUlMIE1vZHVsZSB3
b3JrZXIgY29uc3RydWN0aW9uIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxkIGRp
c3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9yLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmdW5j
dGlvbiAiZnVuY3Rpb24gRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgYnV0IGdvdCBm
dW5jdGlvbiAiZnVuY3Rpb24gRXJyb3JFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9Igor
RkFJTCBTdGF0aWMgaW1wb3J0IG9uIG1vZHVsZSB3b3JrZXIgZm9yIHNjcmlwdCB3aXRoIHN5bnRh
eCBlcnJvciBzaG91bGQgZGlzcGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNv
ZGVdCit9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBFcnJvckV2ZW50KCkgeworICAgIFtu
YXRpdmUgY29kZV0KK30iCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1lLXBy
b3BlcnR5LWV4cGVjdGVkLnR4dAppbmRleCA2Mzk4NDcxMjE0NTlhN2FiMzdiOWYwOWE2OGJhNjRl
YThhOWVkNTdjLi5lOTQ2OTQ3YjE0YWVmM2U1Mjk5YTBhYmEzYWU0YjFjZjlmY2Q5NTcwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0
CkBAIC0xLDcgKzEsOCBAQAogQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWpl
Y3Rpb246IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIK
IAotRkFJTCBUZXN0IHRoZSBuYW1lIHByb3BlcnR5IG9mIHNoYXJlZCBhbmQgZGVkaWNhdGVkIHdv
cmtlcnMgdmlhIHRoZSBuYW1lIGNvbnN0cnVjdG9yIG9wdGlvbiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBTaGFyZWRXb3JrZXIKLVBBU1MgRGVjbGFyaW5nIG5hbWUgYXMgYW4gYWNjaWRlbnRhbCBnbG9i
YWwgbXVzdCBub3QgY2F1c2UgYSBoYXJuZXNzIGVycm9yIGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZQorSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBVbmhhbmRsZWQgcmVqZWN0
aW9uOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKwogUEFTUyBuYW1lIHByb3Bl
cnR5IHZhbHVlIGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQogUEFTUyBuYW1lIHByb3Bl
cnR5IGlzIHJlcGxhY2VhYmxlIGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQorUEFTUyBE
ZWNsYXJpbmcgbmFtZSBhcyBhbiBhY2NpZGVudGFsIGdsb2JhbCBtdXN0IG5vdCBjYXVzZSBhIGhh
cm5lc3MgZXJyb3IgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVk
aW8td29ya2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3Jl
ZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGYwNjkxYWEwOWNjNDljZGY3ZjJhOTQz
NzRjNmU2MjIyMGY5M2I4ZTIuLmE1NzBkOGQyOTJmYTg1NjIxMmIwNTQ3ODgyMGYxMzBmODFkOWJi
ZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0
cy9hdWRpby13b3JrbGV0LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMSAr
MSwxMSBAQAogQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBp
cyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCiAKLUZBSUwgSW1w
b3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggdGhlIGRlZmF1bHQgV29ya2xldE9wdGlv
bnMgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBt
b2R1bGUsIGVycm9yOiBSZXNwb25zZSBpcyBub3QgMnh4IgorRkFJTCBJbXBvcnRpbmcgYSBzYW1l
LW9yaWdpbiBzY3JpcHQgd2l0aCB0aGUgZGVmYXVsdCBXb3JrbGV0T3B0aW9ucyBzaG91bGQgc2Vu
ZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWls
ZWQuIgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIHRoZSBkZWZh
dWx0IFdvcmtsZXRPcHRpb25zIHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlhbHMKLUZBSUwg
SW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9b21pdCBzaG91
bGQgbm90IHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1
bGUsIGVycm9yOiBSZXNwb25zZSBpcyBub3QgMnh4IgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9y
aWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1vbWl0IHNob3VsZCBub3Qgc2VuZCB0aGUgY3Jl
ZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiQWJvcnRFcnJvcjogSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIgogUEFT
UyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPW9taXQg
c2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscwotRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9y
aWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1zYW1lLW9yaWdpbiBzaG91bGQgc2VuZCB0aGUg
Y3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFJlc3Bv
bnNlIGlzIG5vdCAyeHgiCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRo
IGNyZWRlbnRpYWxzPXNhbWUtb3JpZ2luIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVy
cm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQQVNTIEltcG9ydGluZyBh
IHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4gc2hvdWxk
IG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscwotRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBz
Y3JpcHQgd2l0aCBjcmVkZW50aWFscz1pbmNsdWRlIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFs
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJB
Ym9ydEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90
IDJ4eCIKLUZBSUwgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50
aWFscz1pbmNsdWRlIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBGYWlsZWQg
dG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMg
bm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLiIKK0ZBSUwgSW1wb3J0
aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5jbHVkZSBzaG91bGQg
c2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBm
YWlsZWQuIgorRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRl
bnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IENyb3Nz
LW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJp
bmcgcG9saWN5LiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNzcC5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRz
L2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBiZjMzNWNmMzA1NWUw
NjViMzg5ODliNDFhYTFlMjM2ZmViNGFjMjlkLi4yNzViMzQzN2ZhZDk3NTNhNmVjZTI0MjAwZWFi
ZjI1N2ZmZDYyNzJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmts
ZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0MCArMSw1MiBA
QAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6
OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhl
YWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2Nh
bGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1j
b3JzLWhlYWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3
MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQt
d2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBz
Oi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1z
Y3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29y
a2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1w
dHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcwogQ09OU09MRSBNRVNTQUdFOiBV
bnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3Jj
Jy4KIAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xp
Y3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwg
VVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHkt
d29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJl
Y29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4K
IAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kg
ZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQg
Q29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3Jr
bGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcwog
Q09OU09MRSBNRVNTQUdFOiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxs
b3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojg4
MDAvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFk
ZXIuanMuCiAKIENPTlNPTEUgTUVTU0FHRTogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2FkZG1vZHVsZS13aW5kb3cuaHRtbCB3
YXMgbm90IGFsbG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRo
LWNvcnMtaGVhZGVyLmpzLgogCitDT05TT0xFIE1FU1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBh
dCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2lu
ZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9t
IGh0dHA6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1z
Y3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KKworQ09OU09MRSBNRVNTQUdFOiBbYmxvY2tlZF0g
VGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvYWRk
bW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNv
bnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5
LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMuCisKIAogRkFJTCBBIHJlbW90ZS1v
cmlnaW4gd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicg
ZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJF
U09MVkVEIgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9y
aWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRp
cmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNP
TFZFRCIKK1BBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmln
aW4gc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJl
Y3RpdmUuCiBGQUlMIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1v
cmlnaW4gc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBk
aXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVT
T0xWRUQiCiBGQUlMIEEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHdvcmtsZXQgc2hvdWxkIGJl
IGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKLUZBSUwgQSBzYW1lLW9y
aWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQg
c2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKK1BBU1Mg
QSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3Rl
ZCBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVj
dGl2ZS4KIFBBU1MgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2hvdWxkIG5vdCBiZSBibG9ja2Vk
IGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBh
bGxvd3MgaXQuCi1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUt
b3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNy
YyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1l
LW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBu
b3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5n
IHRoZSBvcmlnaW4gYWxsb3dzIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQi
IGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBpbXBvcnRp
bmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0
aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4K
IFBBU1MgQSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgbm90IGJlIGJs
b2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3Jp
Z2luIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1
c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3Mg
aXQuCitGQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2lu
LXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3Jp
cHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBIHJl
bW90ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2Ny
aXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuCi1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xl
dCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQg
YmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuCitGQUlMIEEgc2Ft
ZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQg
bm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3Mg
aXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQi
CiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4g
c2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGly
ZWN0aXZlIGFsbG93cyBpdC4KIFBBU1MgQSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xl
dCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2
ZSBhbGxvd3MgaXQuCi1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1v
dGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNl
IHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdp
biB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hv
dWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxs
b3dzIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVD
VEVEIgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQg
YnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2Ny
aXB0LXNyYyBkaXJlY3RpdmUuCi1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcg
YSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtl
ci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJl
Y3RpdmUuCitGQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3Jp
Z2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0
aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEg
cmVtb3RlLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNo
b3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3
b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KIFBBU1MgQSByZW1vdGUtb3Jp
Z2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtl
ci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJl
Y3RpdmUuCi1QQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3Jp
Z2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2Vy
LXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVj
dGl2ZS4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmln
aW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXIt
c3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0
aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVE
IgogUEFTUyBBbiBpbnNlY3VyZS1vcmlnaW4gd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBiZWNh
dXNlIG9mIG1peGVkIGNvbnRlbnRzLgogUEFTUyBBbiBpbnNlY3VyZS1vcmlnaW4tcmVkaXJlY3Rl
ZCB3b3JrbGV0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuCi1G
QUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luIHNj
cmlwdCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgotRkFJTCBBIHNh
bWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGFuIGluc2VjdXJlLW9yaWdpbi1yZWRpcmVjdGVk
IHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgorUEFTUyBB
IHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGFuIGluc2VjdXJlLW9yaWdpbiBzY3JpcHQg
c2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVzZSBvZiBtaXhlZCBjb250ZW50cy4KK1BBU1MgQSBzYW1l
LW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhbiBpbnNlY3VyZS1vcmlnaW4tcmVkaXJlY3RlZCBz
Y3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVzZSBvZiBtaXhlZCBjb250ZW50cy4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
bGV0cy9hdWRpby13b3JrbGV0LWltcG9ydC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQt
aW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmZTg5NjVhZWY2Y2FkYTIyMTllZjhlMzA4
ODhiYTkxZTI0MDE3YWMwLi42NzY0N2Q0Njg3YjlkM2NmYzg2ZTBiMmM4ZjU2OGUyMGY1YmVjMzk0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlv
LXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTYsNyArMTYsNyBAQCBQQVNT
IEltcG9ydGluZyBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRoIHRoZSBBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4gaGVhZAogUEFTUyBJbXBvcnRpbmcgYSBjcm9zcyBvcmlnaW4gcmVzb3Vy
Y2Ugd2l0aG91dCB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWRlciBzaG91bGQg
cmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlCiBQQVNTIEltcG9ydGluZyBhIGNyb3NzLW9yaWdpbi1y
ZWRpcmVjdGVkIHJlc291cmNlIHdpdGggdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBo
ZWFkZXIgc2hvdWxkIHJlc29sdmUgdGhlIGdpdmVuIHByb21pc2UKIFBBU1MgSW1wb3J0aW5nIGEg
Y3Jvc3Mtb3JpZ2luLXJlZGlyZWN0ZWQgcmVzb3VyY2Ugd2l0aG91dCB0aGUgQWNjZXNzLUNvbnRy
b2wtQWxsb3ctT3JpZ2luIGhlYWRlciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlCi1G
QUlMIEltcG9ydGluZyBhIHNjcmlwdCB0aGF0IGhhcyBhIHN5bnRheCBlcnJvciBzaG91bGQgcmVq
ZWN0IHRoZSBnaXZlbiBwcm9taXNlLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWpl
Y3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBJbXBvcnRpbmcg
YSBuZXN0ZWQgc2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhl
IGdpdmVuIHByb21pc2UuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1
bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIEltcG9ydGluZyBhIHNjcmlw
dCB0aGF0IGltcG9ydHMgYW4gaW52YWxpZCBpZGVudGlmaWVyIHNob3VsZCByZWplY3QgdGhlIGdp
dmVuIHByb21pc2UuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRl
ZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIEltcG9ydGluZyBhIHNjcmlwdCB0
aGF0IGhhcyBhIHN5bnRheCBlcnJvciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlLgor
UEFTUyBJbXBvcnRpbmcgYSBuZXN0ZWQgc2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVycm9yIHNo
b3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuCitQQVNTIEltcG9ydGluZyBhIHNjcmlwdCB0
aGF0IGltcG9ydHMgYW4gaW52YWxpZCBpZGVudGlmaWVyIHNob3VsZCByZWplY3QgdGhlIGdpdmVu
IHByb21pc2UuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmts
ZXRzL2F1ZGlvLXdvcmtsZXQtcmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDI0ZDQ5
OWMxNDFjZWU2ZGM5YjJlYmUyNGJmYjRmZjRjMDNhMGE5NzMuLjM3YjIzOWE0MGU3Y2YwZDAyNWZj
MDQxNWJkZTM0YzY4Y2FlYjY1NWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5odHRw
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMSwyMCArMSwyNiBAQAorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4u
CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5
NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9yZWZlcnJlci1jaGVja2VyLnB5P3JlZmVycmVyX3BvbGlj
eT1uby1yZWZlcnJlciZleHBlY3RlZF9yZWZlcnJlcj0KK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVy
bmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL3Jl
ZmVycmVyLWNoZWNrZXIucHk/cmVmZXJyZXJfcG9saWN5PW9yaWdpbiZleHBlY3RlZF9yZWZlcnJl
cj1odHRwczovL2xvY2FsaG9zdDo5NDQzLworQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4uCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2Fs
aG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9yZWZlcnJlci1jaGVja2VyLnB5P3JlZmVycmVy
X3BvbGljeT1zYW1lLW9yaWdpbiZleHBlY3RlZF9yZWZlcnJlcj0KK0NPTlNPTEUgTUVTU0FHRTog
T3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luLgogCiBQQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlw
dCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91
bGQgbm90IHNlbmQgcmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5IHNo
b3VsZCBub3Qgc2VuZCByZWZlcnJlci4KLVBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2Ny
aXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQg
c2VuZCBvbmx5IGFuIG9yaWdpbiBhcyByZWZlcnJlci4KLVBBU1MgSW1wb3J0aW5nIGEgcmVtb3Rl
LW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9s
aWN5IHNob3VsZCBzZW5kIG9ubHkgYW4gb3JpZ2luIGFzIHJlZmVycmVyLgotUEFTUyBJbXBvcnRp
bmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgInNhbWUtb3JpZ2lu
IiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCitGQUlMIEltcG9ydGluZyBh
IHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJl
ciBwb2xpY3kgc2hvdWxkIHNlbmQgb25seSBhbiBvcmlnaW4gYXMgcmVmZXJyZXIuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNj
cmlwdCBmYWlsZWQuIgorRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9t
IGEgcGFnZSB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgb25s
eSBhbiBvcmlnaW4gYXMgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZF
RCIgYnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1Pcmln
aW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdp
biBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZF
RCIgYnV0IGdvdCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIgogUEFTUyBJbXBv
cnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAic2FtZS1v
cmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCiBQQVNTIElt
cG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBz
Y3JpcHQgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBz
ZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9t
IGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZl
cnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgorRkFJTCBJbXBvcnRpbmcgYSBy
ZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhh
dCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVy
cmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9y
aWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcg
cG9saWN5LiIKIFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1v
dGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJuby1yZWZlcnJlciIgcmVmZXJyZXIg
cG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4KIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3Rl
LW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBo
YXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVy
LgotUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHNhbWUtb3JpZ2lu
IHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQg
c2VuZCByZWZlcnJlci4KLVBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJv
bSBhIHNhbWUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVy
IHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4KLVBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmln
aW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJv
cmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4KLVBBU1MgSW1wb3J0
aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBz
Y3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVy
cmVyLgotUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHNhbWUtb3Jp
Z2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNj
cmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3Jp
Z2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgorRkFJTCBJbXBv
cnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHNhbWUtb3JpZ2luIHdvcmtsZXQgc2Ny
aXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJl
ci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcg
YSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4g
c2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2lu
IiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmll
ZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgorRkFJTCBJbXBvcnRp
bmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3Jp
cHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVy
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkltcG9ydGluZyBh
IG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKK0ZBSUwgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBz
Y3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdp
biIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5p
ZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0
aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlw
dCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZl
cnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRp
bmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmln
aW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2Ft
ZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNjcmlw
dCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgog
UEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4g
d29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hv
dWxkIG5vdCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNj
cmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1v
cmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4KK0ZBSUwgSW1wb3J0
aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBz
Y3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQg
cmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiQ3Jv
c3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hh
cmluZyBwb2xpY3kuIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVjdGVkLXdvcmtlci1vcmlnaW4tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvb3Blbi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAppbmRleCAx
ZTJkMzk5MmY2ZDVkZjMyMjA3YTZiMGY2MTlhNmQ3MTE4MTI0MDBkLi43YTdhOTE3ZWFhOThlOTJl
ZTAzZWMyOGExMWU3ODA4NGQyMzRiODg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVjdGVkLXdvcmtlci1v
cmlnaW4tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3Rl
ZC50eHQKQEAgLTEsNiArMSw2IEBACiBCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0
cDovL3d3dzIubG9jYWxob3N0Ojg4MDAveGhyL3Jlc291cmNlcy9pbnNwZWN0LWhlYWRlcnMucHk/
ZmlsdGVyX25hbWU9b3JpZ2luJmNvcnMKIAotRkFJTCBSZWZlcmVyIGhlYWRlciBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiUmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3hoci9yZXNvdXJj
ZXMvd29ya2VyeGhyLW9yaWdpbi1yZWZlcnJlci5qc1xuIiBidXQgZ290ICJSZWZlcmVyOiBodHRw
Oi8vbG9jYWxob3N0Ojg4MDAveGhyL3Jlc291cmNlcy9yZWRpcmVjdC5weT9sb2NhdGlvbj13b3Jr
ZXJ4aHItb3JpZ2luLXJlZmVycmVyLmpzXG4iCitQQVNTIFJlZmVyZXIgaGVhZGVyCiBGQUlMIE9y
aWdpbiBoZWFkZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk9yaWdpbjogaHR0cDovL2xvY2Fs
aG9zdDo4ODAwXG4iIGJ1dCBnb3QgIiIKIFBBU1MgUmVxdWVzdCBVUkwgdGVzdAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW93b3JrbGV0LWFkZE1vZHVs
ZS1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRleCAwOGFmMTE0MzYwNTUxYmY1YTgwNzlhZjBhMzgx
NWM0ZTA4ZWJkMTQzLi5kZWYzM2FkODY5MWI2OTQzNmUwZTE4MWM1YmQwMDQ4MzU0ODM1MWJiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZh
aWx1cmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvd29ya2xl
dC1hZGRNb2R1bGUtZmFpbHVyZS1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw3IEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyBjb250ZXh0LmF1ZGlvV29ya2xldC5hZGRNb2R1bGUo
aW52YWxpZFVSTCk7IHJlamVjdGVkIHByb21pc2UgIHdpdGggU3ludGF4RXJyb3I6IE1vZHVsZSBV
UkwgaXMgaW52YWxpZC4KLVBBU1MgY29udGV4dC5hdWRpb1dvcmtsZXQuYWRkTW9kdWxlKCdkb2Vz
bm90RXhpc3QuanMnKTsgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBBYm9ydEVycm9yOiBGYWlsZWQg
dG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogVGhlIHJlcXVlc3RlZCBVUkwgd2FzIG5vdCBmb3VuZCBv
biB0aGlzIHNlcnZlci4uCitQQVNTIGNvbnRleHQuYXVkaW9Xb3JrbGV0LmFkZE1vZHVsZSgnZG9l
c25vdEV4aXN0LmpzJyk7IHJlamVjdGVkIHByb21pc2UgIHdpdGggQWJvcnRFcnJvcjogSW1wb3J0
aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby93
b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dvcmtsZXQt
Y3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDY1NGRkZjdmMTdlZmFiNThlNDJmYWJlMzg1MjU3OTY0
YWUyYzVkNDEuLjFhNDNlM2Y5N2NiMmYwNmI5ZjdjZDVmMmIxODIzMzgxMDUxM2VlZjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dvcmtsZXQtY3Jhc2gtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dvcmtsZXQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0x
ICsxLDIgQEAKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiAndGV4dC9odG1sJyBpcyBub3Qg
YSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4KIFRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9l
cyBub3QgY3Jhc2guCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420927</attachid>
            <date>2021-02-18 23:36:33 -0800</date>
            <delta_ts>2021-02-19 11:26:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210218233632.patch</filename>
            <type>text/plain</type>
            <size>250567</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MjJkM2U1NmU1OGNhNjNiMGYwZDYyZWIzMDg4Yjc3MTI3ZGZkNGYxLi5lMjI1MDJmZDZhYzM5NzAy
NWNiOGNjOGYwNTExZWU5YmJhNGU3OWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MyBAQAorMjAyMS0wMi0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGVycm9yIGluZm9ybWF0aW9uIHRvIGV4dHJh
Y3QgdGhpcyBpbiBXZWJDb3JlJ3MgbW9kdWxlIGxvYWRlci4KKyAgICAgICAgQ3VycmVudGx5LCB3
ZSBhcmUgdXNpbmcgUHJvbWlzZSBwaXBlbGluZSwgYW5kIHRoaXMgbWFrZXMgaXQgYSBiaXQgZGlm
ZmljdWx0IHRvIGV4dHJhY3QgZXJyb3IgaW5mb3JtYXRpb24uCisgICAgICAgIFRoaXMgZXJyb3Ig
aW5mb3JtYXRpb24gYXR0YWNoZWQgaW4gdGhpcyBwYXRjaCBhbGxvd3MgdXMgdG8gZXh0cmFjdCBT
eW50YXhFcnJvciBpbiBXZWJDb3JlLCBhbmQgdGhyb3dpbmcKKyAgICAgICAgSlMgU3ludGF4RXJy
b3IgaW5zdGVhZCBvZiBBYm9ydEVycm9yLgorCisgICAgICAgIFdlIGFyZSBwbGFubmluZyB0byB1
cGRhdGUgb3VyIG1vZHVsZSBwaXBpZWxpbmUgbm90IHVzaW5nIFByb21pc2VzIGluIHRoZSBmdXR1
cmUuIFRoZSBjdXJyZW50IGRlc2lnbiBkZXJpdmVkCisgICAgICAgIGZyb20gdGhlIG9yaWdpbmFs
IG1vZHVsZSBsb2FkZXIgcGlwZWxpbmUgd2hlcmUgdXNpbmcgUHJvbWlzZXMgaXMgY3JpdGljYWwu
IEJ1dCBub3csIHRoYXQgcHJvcG9zYWwgd2FzIGFiYW5kb25lZCwKKyAgICAgICAgc28gd2UgY2Fu
IGp1c3Qgc2ltcGxpZnkgdGhlIG1vZHVsZSBsb2FkZXIuCisKKyAgICAgICAgKiBydW50aW1lL0Fn
Z3JlZ2F0ZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0
ZUVycm9yKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3Jl
YXRlRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlND
OjpjcmVhdGVSYW5nZUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3Ip
OgorICAgICAgICAoSlNDOjpjcmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0
ZVR5cGVFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpT
Qzo6Y3JlYXRlR2V0dGVyVHlwZUVycm9yKToKKyAgICAgICAgKEpTQzo6dGhyb3dTeW50YXhFcnJv
cik6CisgICAgICAgICogcnVudGltZS9FcnJvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6
CisgICAgICAgICogcnVudGltZS9FcnJvckluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJy
b3JJbnN0YW5jZTo6RXJyb3JJbnN0YW5jZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6
OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VT
dHJpbmcpOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5n
KToKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcpOgorICAg
ICAgICAqIHJ1bnRpbWUvRXJyb3JJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpFcnJvckluc3Rh
bmNlOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjplcnJvclR5cGUgY29u
c3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAg
ICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUv
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29u
c3RydWN0b3I8ZXJyb3JUeXBlPjo6Y29uc3RydWN0SW1wbCk6CisgICAgICAgIChKU0M6Ok5hdGl2
ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBlPjo6Y2FsbEltcGwpOgorICAgICAgICAqIHJ1bnRp
bWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TnVsbFNldHRlckZ1bmN0
aW9uSW50ZXJuYWw6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9q
cy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3Nl
bWJseUNvbXBpbGVFcnJvcjo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6CisgICAgICAgICog
d2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJB
c3NlbWJseUxpbmtFcnJvcjo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcik6CisgICAgICAgICogd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJB
c3NlbWJseVJ1bnRpbWVFcnJvcjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcik6CisgICAgICAg
ICogd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3YXNtL2pzL1dl
YkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTik6CisKIDIwMjEtMDItMTYgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZSBzaG91bGQgY2FsbCB0cnlDcmVhdGUg
aW5zdGVhZCBvZiBjcmVhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MDIyZGJiYzViMTBhMWQ3NmYyYjRhOTI1
MjI2M2Q2ZWJmM2IwOTQ0Li4xYWM4MDE0Yzg4ZTg5YjliODVhZTRmZmU1MmQ3NDU0MTk3NTNhNTRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYyIEBACisyMDIxLTAyLTE4ICBZdXN1a2UgU3V6dWtp
ICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IGltcGxlbWVudHMgSlMgbW9kdWxlcyBpbiBXb3JrZXJzIGFuZCBXb3JrbGV0cy4gV2UgYXJlIG5v
dCBzdXBwb3J0aW5nIG1vZHVsZXMgaW4gU2VydmljZVdvcmtlcnMnIGluaXRpYWxpemF0aW9uIHll
dC4KKyAgICAgICAgQnV0IHNlcnZpY2Utd29ya2VyIGNhbiBpbXBvcnQgbW9kdWxlcyB2aWEgSlMg
YGltcG9ydCgpYC4KKworICAgICAgICBUaGUgd29ya2VyIGNhbiBiZSBleGVjdXRlZCBhcyBhIG1v
ZHVsZSBpZiB3ZSBwYXNzLCBgdHlwZTogIm1vZHVsZSJgIHRvIHdvcmtlciBvcHRpb25zLiBXb3Jr
bGV0IGlzIGV4ZWN1dGVkIGFzIG1vZHVsZXMgYnkgZGVmYXVsdC4KKworICAgICAgICAxLiBJbiBX
b3JrZXIsIHdlIGZpcnN0IGZldGNoIHRoZSBpbml0aWFsIGNvZGUuIEFuZCB0aGVuLCBhbmFseXpl
IHRoZSBkZXBlbmRlbmNpZXMgYW5kIGxvYWQgc3Vic2VxdWVudCBtb2R1bGVzLgorICAgICAgICAg
ICBXZSBpdGVyYXRlIHJ1bi1sb29wIHRvIGxvYWQgYWxsIHRoZSBkZXBlbmRlbnQgbW9kdWxlcyBp
biB0aGUgbW9kdWxlIGxvYWRlci4gQXQgdGhhdCB0aW1lLCB3ZSBhbm5vdGF0ZSBydW4tbG9vcCB0
YXNrcyB3aXRoCisgICAgICAgICAgIHNwZWNpYWwgdGFza01vZGUgdG8gaXRlcmF0ZSB0YXNrcyB3
aXRoIHRoaXMgdGFza01vZGUuIFRoaXMgcHJldmVudHMgdXMgZnJvbSBkaXNjYXJkaW5nIGRpZmZl
cmVudCB0YXNrcyBpbiB0aGlzIHJ1bi1sb29wIGRyaXZpbmcKKyAgICAgICAgICAgcGhhc2UuIChl
LmcuIHBvc3RNZXNzYWdlIGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQgd2hpbGUg
bG9hZGluZyBtb2R1bGUgZ3JhcGgsIGluIHRoYXQgY2FzZSwgd2Ugc2hvdWxkIG5vdCBkaXNjYXJk
IHRoaXMKKyAgICAgICAgICAgdGFzay4pCisKKyAgICAgICAgMi4gSW4gV29ya2xldCwgd2UganVz
dCByZXF1ZXN0IG1vZHVsZSBsb2FkaW5nIHRvIFNjcmlwdE1vZHVsZUxvYWRlciwgYW5kIHJ1biBp
dCBhZnRlciBsb2FkaW5nIG1vZHVsZSBncmFwaC4gVGhpcyBpcyBPSyBzaW5jZSB3b3JrbGV0Cisg
ICAgICAgICAgIHRocmVhZCBpcyBhbHJlYWR5IHJ1bm5pbmcuIFNvIHdlIGNhbiBqdXN0IHJlcXVl
c3QgbW9kdWxlcyBhbmQgd29ya2xldCB0aHJlYWQgYXV0b21hdGljYWxseSBkcml2ZXMgbW9kdWxl
IGxvYWRpbmcgdmlhIHJ1bi1sb29wLgorCisgICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xldEdsb2JhbFNjb3BlLmg6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb1dvcmtsZXRHbG9iYWxTY29wZTo6Y3VycmVudEZyYW1lIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvV29ya2xldEdsb2JhbFNjb3BlOjpzYW1w
bGVSYXRlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvV29ya2xldEds
b2JhbFNjb3BlOjpjdXJyZW50VGltZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogU291cmNl
cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRl
cik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hl
ZCk6CisgICAgICAgICogYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmg6Cisg
ICAgICAgICogYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHA6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpyZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmNy
ZWF0ZURPTUV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25I
YW5kbGluZy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnNjcmlwdE1vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckV2YWx1YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckNyZWF0ZUlt
cG9ydE1ldGFQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJlc29sdmUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRj
aCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxv
YWRlckV2YWx1YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFz
ZTo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMp
OiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9kb20vTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmguCisgICAgICAgIChXZWJDb3JlOjpNb2R1bGVT
Y3JpcHRMb2FkZXI6OmNsZWFyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZVNjcmlw
dExvYWRlcjo6c2NyaXB0RmV0Y2hlcik6CisgICAgICAgIChXZWJDb3JlOjpNb2R1bGVTY3JpcHRM
b2FkZXI6OnBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlU2NyaXB0TG9hZGVy
OjpNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL01vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmguCisgICAgICAgICogYmluZGluZ3MvanMv
U2NyaXB0TW9kdWxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVsZUxv
YWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OnJlc29sdmVNb2R1
bGVTcGVjaWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNv
bHZlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2gpOgorICAg
ICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjptb2R1bGVVUkwpOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNwb25zZVVSTEZyb21SZXF1ZXN0VVJMKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdE1vZHVsZUxvYWRlcjo6ZXZhbHVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjppbXBvcnRNb2R1bGUpOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICog
YmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmg6CisgICAgICAgICogYmluZGluZ3MvanMv
U2NyaXB0U291cmNlQ29kZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0U291cmNlQ29kZTo6
U2NyaXB0U291cmNlQ29kZSk6CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVTY3Jp
cHRMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVTY3JpcHRM
b2FkZXI6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXI6On5Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6cmVmZXJyZXJQb2xpY3kpOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OnRhc2tNb2RlKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvZG9tL01vZHVsZUZldGNoUGFyYW1ldGVycy5oLgorICAgICAgICAq
IGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNoZXIuaDogQWRkZWQuCisgICAgICAgICogZG9t
L0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRXhjZXB0aW9uQ29kZS5oOgorICAgICAgICAq
IGRvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJs
ZU1vZHVsZVNjcmlwdDo6TG9hZGFibGVNb2R1bGVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6
TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Mb2Fk
YWJsZU1vZHVsZVNjcmlwdC5oOgorICAgICAgICAqIGRvbS9Nb2R1bGVGZXRjaFBhcmFtZXRlcnMu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZUZldGNoUGFyYW1ldGVyczo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vZHVsZUZldGNoUGFyYW1ldGVyczo6aXNUb3BMZXZlbE1vZHVsZSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNb2R1bGVGZXRjaFBhcmFtZXRlcnM6Ok1vZHVsZUZl
dGNoUGFyYW1ldGVycyk6CisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVsZVNjcmlwdCk6CisgICAgICAg
ICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFk
YWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5o
OgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAg
KiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpXb3JrZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpu
b3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlci5pZGw6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6V29ya2VyR2xvYmFsU2Nv
cGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNjcmlwdHMp
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlckdsb2JhbFNjb3BlOjpjcmVkZW50aWFscyBjb25zdCk6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94
eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU6Oldv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29y
a2xldEdsb2JhbFNjb3BlLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZTo6bW9kdWxlTG9hZGVyKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29ya2xl
dFNjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6anNWYWx1ZVRvTW9kdWxl
S2V5KToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6
OmV2YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldFNjcmlw
dENvbnRyb2xsZXI6OmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmxpbmtBbmRFdmFsdWF0ZU1vZHVsZSk6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2Fk
QW5kRXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91
c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpyZXNwb25zZVNvdXJjZSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmlzUmVkaXJlY3RlZCBjb25zdCk6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OldvcmtlclRocmVhZDo6ZXZhbHVhdGVTY3JpcHRJZk5lY2Vzc2FyeSk6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJUaHJlYWQuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclR5cGUuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySm9iOjpmZXRjaFNjcmlwdFdpdGhDb250ZXh0KToKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaDoKKyAg
ICAgICAgKiB3b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OnBhaW50RGVmaW5pdGlvbk1hcCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6cGFpbnREZWZp
bml0aW9uTG9jayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWludFdvcmtsZXRHbG9i
YWxTY29wZTo6flBhaW50V29ya2xldEdsb2JhbFNjb3BlKTogRGVsZXRlZC4KKyAgICAgICAgKiB3
b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2xl
dEdsb2JhbFNjb3BlOjpmZXRjaEFuZEludm9rZVNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrbGV0R2xvYmFsU2NvcGU6OnByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5lZWRlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OmRpZFJlY2VpdmVS
ZXNwb25zZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6
Om5vdGlmeUZpbmlzaGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9i
YWxTY29wZTo6ZGlkQ29tcGxldGVTY3JpcHRGZXRjaEpvYik6IERlbGV0ZWQuCisgICAgICAgICog
d29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmg6CisKIDIwMjEtMDItMTYgIFBhdHJpY2sgQW5n
bGUgIDxwYW5nbGVAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEltcGxlbWVu
dCBHcmlkIE92ZXJsYXkgIlNob3cgYXJlYSBuYW1lcyIgZHJhd2luZwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuY3BwCmluZGV4IDc1OWE1YjI0YTBl
ZDA4NjgwY2NhYTYzNDBkMmU5NWQ0NTBiODBmZDYuLjI5NmM4NWNjOTBlMDViNTQ1NDdmNjYyYTdl
MmY4YTFlMTMwYTQ2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FnZ3JlZ2F0ZUVycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
Z2dyZWdhdGVFcnJvci5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiBjb25z
dCBDbGFzc0luZm8gQWdncmVnYXRlRXJyb3I6OnNfaW5mbyA9IHsgIkFnZ3JlZ2F0ZUVycm9yIiwg
JkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShBZ2dy
ZWdhdGVFcnJvcikgfTsKIAogQWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0ZUVycm9yKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgOiBC
YXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6QWdncmVnYXRlRXJyb3IpCiB7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAppbmRleCBmNDczYjgxODFlYzJmMDJh
MGNjNzhhMjZjMGMyMGRjOTYzMWZkYzc0Li5mY2FjZjFlMzIyZWIyNzI3ODc0ZmYyNTI2MjQxZWQ3
YmU5OGNlNTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwCkBAIC0z
NSwzNyArMzUsMzcgQEAgbmFtZXNwYWNlIEpTQyB7CiBKU09iamVjdCogY3JlYXRlRXJyb3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvcklu
c3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2Uu
aXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKCksIG1l
c3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7CisgICAgcmV0dXJuIEVycm9ySW5z
dGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2Jq
ZWN0LT5lcnJvclN0cnVjdHVyZSgpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVy
cm9yVHlwZTo6RXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlRXZhbEVycm9yKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJ
bnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdl
LmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJv
clR5cGU6OkV2YWxFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7
CisgICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9i
amVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OkV2YWxF
cnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFdmFsRXJy
b3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlUmFuZ2VFcnJvcihKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6OlNv
dXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkp
OwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxP
YmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpSYW5n
ZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsKKyAgICByZXR1
cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgp
LCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmFuZ2VFcnJvciksIG1l
c3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpSYW5nZUVycm9yLCB0cnVl
KTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVJlZmVyZW5jZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNl
QXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0g
ICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJlZmVyZW5j
ZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsKKyAgICByZXR1
cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgp
LCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6UmVmZXJlbmNlRXJyb3Ip
LCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6UmVmZXJlbmNlRXJy
b3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlU3ludGF4RXJyb3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpT
b3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgp
KTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFs
T2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6U3lu
dGF4RXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJl
dHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZt
KCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpTeW50YXhFcnJvciks
IG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpTeW50YXhFcnJvciwg
dHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3RhbmNlOjpTb3VyY2VB
cHBlbmRlciBhcHBlbmRlciwgUnVudGltZVR5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQoIW1lc3Nh
Z2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVy
cm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIHRydWUpOworICAg
IHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3Qt
PnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3Ip
LCBtZXNzYWdlLCBhcHBlbmRlciwgdHlwZSwgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIHRydWUpOwog
fQogCiBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIp
CkBAIC03Niw3ICs3Niw3IEBAIEpTT2JqZWN0KiBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJv
cihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvckluc3RhCiBKU09iamVjdCogY3Jl
YXRlVVJJRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBFcnJvckluc3RhbmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBB
U1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3Jl
YXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9y
U3RydWN0dXJlKEVycm9yVHlwZTo6VVJJRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5v
dGhpbmcsIHRydWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJy
b3JUeXBlOjpVUklFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JU
eXBlOjpVUklFcnJvciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVFcnJvcihKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvclR5cGUgZXJyb3JUeXBlLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UpCkBAIC0xMTMsNyArMTEzLDcgQEAgSlNPYmplY3QqIGNyZWF0ZUVycm9yKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVycm9yVHlwZVdpdGhFeHRlbnNpb24gZXJyb3IKIEpT
T2JqZWN0KiBjcmVhdGVHZXR0ZXJUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5
KCkpOwotICAgIGF1dG8qIGVycm9yID0gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9y
VHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSk7CisgICAgYXV0byogZXJyb3IgPSBFcnJvckluc3Rh
bmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVj
dC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpLCBtZXNzYWdlLCBudWxscHRy
LCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IpOwogICAgIGVycm9yLT5zZXROYXRp
dmVHZXR0ZXJUeXBlRXJyb3IoKTsKICAgICByZXR1cm4gZXJyb3I7CiB9CkBAIC0yNzQsNyArMjc0
LDcgQEAgRXhjZXB0aW9uKiB0aHJvd1R5cGVFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBUaHJvd1Njb3BlJiBzY29wZSwgY29uc3QKIAogRXhjZXB0aW9uKiB0aHJvd1N5bnRheEVy
cm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRocm93U2NvcGUmIHNjb3BlKQogewot
ICAgIHJldHVybiB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlLCBjcmVhdGVTeW50
YXhFcnJvcihnbG9iYWxPYmplY3QsICJTeW50YXggZXJyb3IiX3MpKTsKKyAgICByZXR1cm4gdGhy
b3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSwgY3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFs
T2JqZWN0KSk7CiB9CiAKIEV4Y2VwdGlvbiogdGhyb3dTeW50YXhFcnJvcihKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUaHJvd1Njb3BlJiBzY29wZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
KQpAQCAtMzE3LDYgKzMxNywxMSBAQCBKU09iamVjdCogY3JlYXRlU3ludGF4RXJyb3IoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIHJldHVy
biBjcmVhdGVTeW50YXhFcnJvcihnbG9iYWxPYmplY3QsIG1lc3NhZ2UsIG51bGxwdHIpOwogfQog
CitKU09iamVjdCogY3JlYXRlU3ludGF4RXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKK3sKKyAgICByZXR1cm4gY3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCAiU3ludGF4
IGVycm9yIl9zLCBudWxscHRyKTsKK30KKwogSlNPYmplY3QqIGNyZWF0ZVR5cGVFcnJvcihKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIHJldHVybiBjcmVhdGVUeXBlRXJyb3Io
Z2xvYmFsT2JqZWN0LCAiVHlwZSBlcnJvciJfcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FcnJvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3IuaAppbmRleCA2ZGFhMTU0MjE1NjY2MTBlNGFjZTZkZTMzNWYzNGQzYmY3Yzc0NDRkLi5k
YzgyNTI4MmMzNTY0ODcxMzI1NDU0NGJjOGQ4MTg4ODQwMGU0MzhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Vycm9yLmgKQEAgLTU1LDYgKzU1LDcgQEAgSlNfRVhQT1JUX1BSSVZBVEUg
SlNPYmplY3QqIGNyZWF0ZUV2YWxFcnJvcihKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYp
OwogSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVJhbmdlRXJyb3IoSlNHbG9iYWxP
YmplY3QqLCBjb25zdCBTdHJpbmcmKTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVh
dGVSZWZlcmVuY2VFcnJvcihKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYpOwogSlNfRVhQ
T1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xvYmFsT2JqZWN0Kiwg
Y29uc3QgU3RyaW5nJik7CitKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3JlYXRlU3ludGF4
RXJyb3IoSlNHbG9iYWxPYmplY3QqKTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVh
dGVUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqKTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0
KiBjcmVhdGVUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmKTsKIEpTX0VY
UE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihKU0ds
b2JhbE9iamVjdCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ckNvbnN0cnVjdG9yLmNwcAppbmRleCAwZjJmNWEzMTg0MDJmYmI3YzdkODgwMmI2ZDc4NDJlZmU0
MDZjODQ2Li45YmU5MzBjZjFjM2M5YTQwZTYwODU5ODM1NThhMWE1OWJjNzhiNjJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcApA
QCAtNjAsMTQgKzYwLDE0IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3RFcnJv
ckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjCiAgICAgICAgIDogSW50
ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBuZXdU
YXJnZXQsIGdldEZ1bmN0aW9uUmVhbG0odm0sIG5ld1RhcmdldCktPmVycm9yU3RydWN0dXJlKCkp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKLSAgICBSRUxFQVNFX0FO
RF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xv
YmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcs
IGZhbHNlKSkpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5jb2Rl
KEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNz
YWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2UpKSk7CiB9
CiAKIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsRXJyb3JDb25zdHJ1Y3RvciwgKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsKICAgICBK
U1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVyZSog
ZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBl
cnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7Cisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2Jq
ZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9y
VHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9CiAKIGJvb2wgRXJyb3JDb25zdHJ1Y3Rvcjo6cHV0KEpT
Q2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlTbG90JiBzbG90KQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcAppbmRleCAyZTRl
YzM5ZjEyMDU4YjI1MDg3MjJlMGI4MjUyMjQ3YmViMDMxOWU2Li4wZjg2ZTIyYjkyZGRkNmQxMzk4
NThiODZlNTZjZWFkY2FlY2UwZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FcnJvckluc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvckluc3RhbmNlLmNwcApAQCAtMzQsMTggKzM0LDIzIEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiBjb25zdCBDbGFzc0luZm8gRXJyb3JJbnN0YW5jZTo6c19pbmZvID0geyAiRXJyb3IiLCAm
SlNOb25GaW5hbE9iamVjdDo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKEVycm9ySW5zdGFuY2UpIH07CiAKLUVycm9ySW5zdGFuY2U6OkVycm9ySW5zdGFuY2Uo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK0Vycm9ySW5zdGFuY2U6OkVycm9ySW5zdGFu
Y2UoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRXJyb3JUeXBlIGVycm9yVHlwZSkKICAg
ICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKKyAgICAsIG1fZXJyb3JUeXBlKGVycm9yVHlwZSkKKyAg
ICAsIG1fc3RhY2tPdmVyZmxvd0Vycm9yKGZhbHNlKQorICAgICwgbV9vdXRPZk1lbW9yeUVycm9y
KGZhbHNlKQorICAgICwgbV9lcnJvckluZm9NYXRlcmlhbGl6ZWQoZmFsc2UpCisgICAgLCBtX25h
dGl2ZUdldHRlclR5cGVFcnJvcihmYWxzZSkKIHsKIH0KIAotRXJyb3JJbnN0YW5jZSogRXJyb3JJ
bnN0YW5jZTo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU1ZhbHVlIG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyLCBSdW50
aW1lVHlwZSB0eXBlLCBib29sIHVzZUN1cnJlbnRGcmFtZSkKK0Vycm9ySW5zdGFuY2UqIEVycm9y
SW5zdGFuY2U6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNWYWx1ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRlciwgUnVu
dGltZVR5cGUgdHlwZSwgRXJyb3JUeXBlIGVycm9yVHlwZSwgYm9vbCB1c2VDdXJyZW50RnJhbWUp
CiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBTdHJpbmcgbWVzc2FnZVN0cmluZyA9IG1lc3Nh
Z2UuaXNVbmRlZmluZWQoKSA/IFN0cmluZygpIDogbWVzc2FnZS50b1dURlN0cmluZyhnbG9iYWxP
YmplY3QpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgIHJl
dHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0dXJlLCBtZXNzYWdlU3RyaW5nLCBh
cHBlbmRlciwgdHlwZSwgdXNlQ3VycmVudEZyYW1lKTsKKyAgICByZXR1cm4gY3JlYXRlKGdsb2Jh
bE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbWVzc2FnZVN0cmluZywgYXBwZW5kZXIsIHR5cGUsIGVy
cm9yVHlwZSwgdXNlQ3VycmVudEZyYW1lKTsKIH0KIAogc3RhdGljIFN0cmluZyBhcHBlbmRTb3Vy
Y2VUb0Vycm9yTWVzc2FnZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgRXJyb3JJbnN0YW5jZSogZXhj
ZXB0aW9uLCBCeXRlY29kZUluZGV4IGJ5dGVjb2RlSW5kZXgsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKQEAgLTEzMSw3ICsxMzYsMjUgQEAgdm9pZCBFcnJvckluc3RhbmNlOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFMKIC8vIEJhc2Vk
IG9uIEVycm9yUHJvdG90eXBlJ3MgZXJyb3JQcm90b0Z1bmNUb1N0cmluZygpLCBidXQgaXMgbW9k
aWZpZWQgdG8KIC8vIGhhdmUgbm8gb2JzZXJ2YWJsZSBzaWRlIGVmZmVjdHMgdG8gdGhlIHVzZXIg
KGkuZS4gZG9lcyBub3QgY2FsbCBwcm94aWVzLAogLy8gYW5kIGdldHRlcnMpLgotU3RyaW5nIEVy
cm9ySW5zdGFuY2U6OnNhbml0aXplZFRvU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCitTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkTWVzc2FnZVN0cmluZyhKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgSW50ZWdy
aXR5OjphdWRpdFN0cnVjdHVyZUlEKHZtLCBzdHJ1Y3R1cmVJRCgpKTsKKworICAgIEpTVmFsdWUg
bWVzc2FnZVZhbHVlOworICAgIGF1dG8gbWVzc2FnZVByb3BlcnROYW1lID0gdm0ucHJvcGVydHlO
YW1lcy0+bWVzc2FnZTsKKyAgICBQcm9wZXJ0eVNsb3QgbWVzc2FnZVNsb3QodGhpcywgUHJvcGVy
dHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSwgJnZtKTsKKyAgICBpZiAoSlNP
YmplY3Q6OmdldE93blByb3BlcnR5U2xvdCh0aGlzLCBnbG9iYWxPYmplY3QsIG1lc3NhZ2VQcm9w
ZXJ0TmFtZSwgbWVzc2FnZVNsb3QpICYmIG1lc3NhZ2VTbG90LmlzVmFsdWUoKSkKKyAgICAgICAg
bWVzc2FnZVZhbHVlID0gbWVzc2FnZVNsb3QuZ2V0VmFsdWUoZ2xvYmFsT2JqZWN0LCBtZXNzYWdl
UHJvcGVydE5hbWUpOworICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9uKCk7CisKKyAgICBpZiAo
IW1lc3NhZ2VWYWx1ZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIFJFTEVBU0VfQU5E
X1JFVFVSTihzY29wZSwgbWVzc2FnZVZhbHVlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCkpOwor
fQorCitTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkTmFtZVN0cmluZyhKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
ICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkBAIC0xNTcsMjggKzE4
MCwyMiBAQCBTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKICAgICB9CiAgICAgc2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24o
KTsKIAotICAgIFN0cmluZyBuYW1lU3RyaW5nOwogICAgIGlmICghbmFtZVZhbHVlKQotICAgICAg
ICBuYW1lU3RyaW5nID0gIkVycm9yIl9zOwotICAgIGVsc2UgewotICAgICAgICBuYW1lU3RyaW5n
ID0gbmFtZVZhbHVlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIFN0cmluZygpKTsKLSAgICB9CisgICAgICAgIHJldHVybiAiRXJy
b3IiX3M7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBuYW1lVmFsdWUudG9XVEZTdHJp
bmcoZ2xvYmFsT2JqZWN0KSk7Cit9CiAKLSAgICBKU1ZhbHVlIG1lc3NhZ2VWYWx1ZTsKLSAgICBh
dXRvIG1lc3NhZ2VQcm9wZXJ0TmFtZSA9IHZtLnByb3BlcnR5TmFtZXMtPm1lc3NhZ2U7Ci0gICAg
UHJvcGVydHlTbG90IG1lc3NhZ2VTbG90KHRoaXMsIFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRo
b2RUeXBlOjpWTUlucXVpcnksICZ2bSk7Ci0gICAgaWYgKEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0
eVNsb3QodGhpcywgZ2xvYmFsT2JqZWN0LCBtZXNzYWdlUHJvcGVydE5hbWUsIG1lc3NhZ2VTbG90
KSAmJiBtZXNzYWdlU2xvdC5pc1ZhbHVlKCkpCi0gICAgICAgIG1lc3NhZ2VWYWx1ZSA9IG1lc3Nh
Z2VTbG90LmdldFZhbHVlKGdsb2JhbE9iamVjdCwgbWVzc2FnZVByb3BlcnROYW1lKTsKLSAgICBz
Y29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOworU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXpl
ZFRvU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKKyAgICBJbnRlZ3JpdHk6OmF1ZGl0U3RydWN0dXJlSUQodm0sIHN0cnVjdHVyZUlEKCkp
OwogCi0gICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmc7Ci0gICAgaWYgKCFtZXNzYWdlVmFsdWUpCi0g
ICAgICAgIG1lc3NhZ2VTdHJpbmcgPSBTdHJpbmcoKTsKLSAgICBlbHNlIHsKLSAgICAgICAgbWVz
c2FnZVN0cmluZyA9IG1lc3NhZ2VWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpOwotICAg
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7Ci0gICAgfQorICAgIFN0
cmluZyBuYW1lU3RyaW5nID0gc2FuaXRpemVkTmFtZVN0cmluZyhnbG9iYWxPYmplY3QpOworICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFN0cmluZygpKTsKKworICAgIFN0cmluZyBtZXNz
YWdlU3RyaW5nID0gc2FuaXRpemVkTWVzc2FnZVN0cmluZyhnbG9iYWxPYmplY3QpOworICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFN0cmluZygpKTsKIAogICAgIGlmICghbmFtZVN0cmlu
Zy5sZW5ndGgoKSkKICAgICAgICAgcmV0dXJuIG1lc3NhZ2VTdHJpbmc7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmgKaW5kZXggZGE2NmViNzZlN2FkZTkw
ZmQ0MWJiMTYyNzA3MjVhN2QxNDcwYWQzOC4uOTg3MTM1NzIxYjMwNTY2MjMwZDI2MWM4MzNhZDhk
ZWNhNTQ2MTQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5z
dGFuY2UuaApAQCAtMjAsNiArMjAsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkVy
cm9yVHlwZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAjaW5jbHVkZSAiUnVudGltZVR5cGUu
aCIKICNpbmNsdWRlICJTdGFja0ZyYW1lLmgiCkBAIC01MywxNCArNTQsMTQgQEAgY2xhc3MgRXJy
b3JJbnN0YW5jZSA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICAgICAgcmV0dXJuIFN0
cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oRXJy
b3JJbnN0YW5jZVR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLSAgICBz
dGF0aWMgRXJyb3JJbnN0YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgU291
cmNlQXBwZW5kZXIgYXBwZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSB0eXBlID0gVHlwZU5v
dGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSkKKyAgICBzdGF0aWMgRXJyb3JJbnN0
YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgU291cmNlQXBwZW5kZXIgYXBw
ZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSB0eXBlID0gVHlwZU5vdGhpbmcsIEVycm9yVHlw
ZSBlcnJvclR5cGUgPSBFcnJvclR5cGU6OkVycm9yLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRy
dWUpCiAgICAgewotICAgICAgICBFcnJvckluc3RhbmNlKiBpbnN0YW5jZSA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPEVycm9ySW5zdGFuY2U+KHZtLmhlYXApKSBFcnJvckluc3RhbmNlKHZt
LCBzdHJ1Y3R1cmUpOworICAgICAgICBFcnJvckluc3RhbmNlKiBpbnN0YW5jZSA9IG5ldyAoTm90
TnVsbCwgYWxsb2NhdGVDZWxsPEVycm9ySW5zdGFuY2U+KHZtLmhlYXApKSBFcnJvckluc3RhbmNl
KHZtLCBzdHJ1Y3R1cmUsIGVycm9yVHlwZSk7CiAgICAgICAgIGluc3RhbmNlLT5maW5pc2hDcmVh
dGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBtZXNzYWdlLCBhcHBlbmRlciwgdHlwZSwgdXNlQ3VycmVu
dEZyYW1lKTsKICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgIH0KIAotICAgIHN0YXRpYyBF
cnJvckluc3RhbmNlKiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVl
IG1lc3NhZ2UsIFNvdXJjZUFwcGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgPSBUeXBlTm90
aGluZywgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKTsKKyAgICBzdGF0aWMgRXJyb3JJbnN0
YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBtZXNzYWdl
LCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlID0gVHlwZU5vdGhpbmcsIEVy
cm9yVHlwZSA9IEVycm9yVHlwZTo6RXJyb3IsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSk7
CiAKICAgICBib29sIGhhc1NvdXJjZUFwcGVuZGVyKCkgY29uc3QgeyByZXR1cm4gISFtX3NvdXJj
ZUFwcGVuZGVyOyB9CiAgICAgU291cmNlQXBwZW5kZXIgc291cmNlQXBwZW5kZXIoKSBjb25zdCB7
IHJldHVybiBtX3NvdXJjZUFwcGVuZGVyOyB9CkBAIC03MCw2ICs3MSw3IEBAIGNsYXNzIEVycm9y
SW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgUnVudGltZVR5cGUgcnVu
dGltZVR5cGVGb3JDYXVzZSgpIGNvbnN0IHsgcmV0dXJuIG1fcnVudGltZVR5cGVGb3JDYXVzZTsg
fQogICAgIHZvaWQgY2xlYXJSdW50aW1lVHlwZUZvckNhdXNlKCkgeyBtX3J1bnRpbWVUeXBlRm9y
Q2F1c2UgPSBUeXBlTm90aGluZzsgfQogCisgICAgRXJyb3JUeXBlIGVycm9yVHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZXJyb3JUeXBlOyB9CiAgICAgdm9pZCBzZXRTdGFja092ZXJmbG93RXJyb3Io
KSB7IG1fc3RhY2tPdmVyZmxvd0Vycm9yID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNTdGFja092ZXJm
bG93RXJyb3IoKSBjb25zdCB7IHJldHVybiBtX3N0YWNrT3ZlcmZsb3dFcnJvcjsgfQogICAgIHZv
aWQgc2V0T3V0T2ZNZW1vcnlFcnJvcigpIHsgbV9vdXRPZk1lbW9yeUVycm9yID0gdHJ1ZTsgfQpA
QCAtNzksNiArODEsOCBAQCBjbGFzcyBFcnJvckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxP
YmplY3QgewogICAgIGJvb2wgaXNOYXRpdmVHZXR0ZXJUeXBlRXJyb3IoKSBjb25zdCB7IHJldHVy
biBtX25hdGl2ZUdldHRlclR5cGVFcnJvcjsgfQogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3Ry
aW5nIHNhbml0aXplZFRvU3RyaW5nKEpTR2xvYmFsT2JqZWN0Kik7CisgICAgSlNfRVhQT1JUX1BS
SVZBVEUgU3RyaW5nIHNhbml0aXplZE1lc3NhZ2VTdHJpbmcoSlNHbG9iYWxPYmplY3QqKTsKKyAg
ICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgc2FuaXRpemVkTmFtZVN0cmluZyhKU0dsb2JhbE9i
amVjdCopOwogICAgIAogICAgIFZlY3RvcjxTdGFja0ZyYW1lPiogc3RhY2tUcmFjZSgpIHsgcmV0
dXJuIG1fc3RhY2tUcmFjZS5nZXQoKTsgfQogCkBAIC04OCw3ICs5Miw3IEBAIGNsYXNzIEVycm9y
SW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgdm9pZCBmaW5hbGl6ZVVu
Y29uZGl0aW9uYWxseShWTSYpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgRXJyb3JJbnN0
YW5jZShWTSYsIFN0cnVjdHVyZSopOworICAgIGV4cGxpY2l0IEVycm9ySW5zdGFuY2UoVk0mLCBT
dHJ1Y3R1cmUqLCBFcnJvclR5cGUpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
R2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJiwgU291cmNlQXBwZW5kZXIgPSBudWxscHRyLCBS
dW50aW1lVHlwZSA9IFR5cGVOb3RoaW5nLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUpOwog
CkBAIC0xMDgsMTAgKzExMiwxMSBAQCBjbGFzcyBFcnJvckluc3RhbmNlIDogcHVibGljIEpTTm9u
RmluYWxPYmplY3QgewogICAgIFN0cmluZyBtX3NvdXJjZVVSTDsKICAgICBTdHJpbmcgbV9zdGFj
a1N0cmluZzsKICAgICBSdW50aW1lVHlwZSBtX3J1bnRpbWVUeXBlRm9yQ2F1c2UgeyBUeXBlTm90
aGluZyB9OwotICAgIGJvb2wgbV9zdGFja092ZXJmbG93RXJyb3IgeyBmYWxzZSB9OwotICAgIGJv
b2wgbV9vdXRPZk1lbW9yeUVycm9yIHsgZmFsc2UgfTsKLSAgICBib29sIG1fZXJyb3JJbmZvTWF0
ZXJpYWxpemVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fbmF0aXZlR2V0dGVyVHlwZUVycm9yIHsg
ZmFsc2UgfTsKKyAgICBFcnJvclR5cGUgbV9lcnJvclR5cGUgeyBFcnJvclR5cGU6OkVycm9yIH07
CisgICAgYm9vbCBtX3N0YWNrT3ZlcmZsb3dFcnJvciA6IDE7CisgICAgYm9vbCBtX291dE9mTWVt
b3J5RXJyb3IgOiAxOworICAgIGJvb2wgbV9lcnJvckluZm9NYXRlcmlhbGl6ZWQgOiAxOworICAg
IGJvb2wgbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3IgOiAxOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
SlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdEZ1bmN0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdEZ1bmN0aW9ucy5jcHAKaW5kZXggNDAyMWZjN2UwYWRhZjdhMGE5ZTBlZjZjZmQyMjU4
MzhiNWJmODc4My4uYWY3MjYyODMxY2ExYmI3NWM2YWU1NTQxMWRlNGNkODVhODEzN2RhNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5j
dGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0RnVuY3Rpb25zLmNwcApAQCAtNjk0LDcgKzY5NCw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTihnbG9iYWxGdW5jVGhyb3dUeXBlRXJyb3JBcmd1bWVudHNDYWxsZWVBbmRDYWxsZXIsIChK
U0dsCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY01ha2VUeXBlRXJyb3IsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAg
ICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1
cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJy
b3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIGNhbGxGcmFt
ZS0+YXJndW1lbnQoMCksIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJy
b3JTdHJ1Y3R1cmUsIGNhbGxGcmFtZS0+YXJndW1lbnQoMCksIG51bGxwdHIsIFR5cGVOb3RoaW5n
LCBFcnJvclR5cGU6OlR5cGVFcnJvciwgZmFsc2UpKTsKIH0KIAogSlNDX0RFRklORV9IT1NUX0ZV
TkNUSU9OKGdsb2JhbEZ1bmNQcm90b0dldHRlciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggN2NjMTFiNWY1
ZTEyOTcyMjAxNmI4NjcxZjEzN2M2YmIxNzIxMzg0MC4uYjZlN2VkZWZkNDJlZGM2MzVkOTBiN2Uw
ZThjN2I0ZmMwYzI0M2QxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgaW5s
aW5lIEVuY29kZWRKU1ZhbHVlIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBlPjo6Y29u
c3RydWN0SW1wbChKU0dsb2JhbE8KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0p
OwogICAgIEFTU0VSVChlcnJvclN0cnVjdHVyZSk7CiAKLSAgICBSRUxFQVNFX0FORF9SRVRVUk4o
c2NvcGUsIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0
LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSkp
OworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5z
dGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxs
cHRyLCBUeXBlTm90aGluZywgZXJyb3JUeXBlLCBmYWxzZSkpKTsKIH0KIAogdGVtcGxhdGU8RXJy
b3JUeXBlIGVycm9yVHlwZT4KQEAgLTY2LDcgKzY2LDcgQEAgaW5saW5lIEVuY29kZWRKU1ZhbHVl
IE5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBlPjo6Y2FsbEltcGwoSlNHbG9iYWxPYmpl
Y3QKIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAg
IFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJl
KGVycm9yVHlwZSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlw
ZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3Rh
bmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIGVycm9yVHlwZSwgZmFsc2UpKTsKIH0KIAogSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKGNhbGxFdmFsRXJyb3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBD
YWxsRnJhbWUqIGNhbGxGcmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OdWxsU2V0dGVyRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcAppbmRleCAyNmYzYjZhOGY5ZGI2NzhjZDk0ZDA1
YWU4OGIxMWI4OWU2MWMwZWJjLi4wZGRiMmM2YTUwZjQ2YmM2MzY5OTVjYTQ2ZDdmMThlNWIyNjg2
M2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsU2V0dGVy
RnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxTZXR0
ZXJGdW5jdGlvbi5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9O
KGNhbGxUaHJvd0Vycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW0K
ICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgLy8gVGhpcyBm
dW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBmcm9tIElDLiBBbmQgd2UgZG8gbm90IHdhbnQgdG8gaW5j
bHVkZSB0aGlzIGZyYW1lIGluIEVycm9yJ3Mgc3RhY2suCiAgICAgY29uc3RleHByIGJvb2wgdXNl
Q3VycmVudEZyYW1lID0gZmFsc2U7Ci0gICAgdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBz
Y29wZSwgRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIGdsb2JhbE9iamVj
dC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpUeXBlRXJyb3IpLCBSZWFkb25seVByb3BlcnR5
V3JpdGVFcnJvciwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIHVzZUN1cnJlbnRGcmFtZSkpOworICAg
IHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUsIEVycm9ySW5zdGFuY2U6OmNyZWF0
ZShnbG9iYWxPYmplY3QsIHZtLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlw
ZTo6VHlwZUVycm9yKSwgUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IsIG51bGxwdHIsIFR5cGVO
b3RoaW5nLCBFcnJvclR5cGU6OlR5cGVFcnJvciwgdXNlQ3VycmVudEZyYW1lKSk7CiAgICAgcmV0
dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcAppbmRleCAzODM3M2E3NjBkNTlkMGVl
ZGI0OTRkYjg4ZDg1MjRmYWI5YTUxNTRlLi45ZWJkM2Q0NDZhOWRhOWFkMTlkN2JhNDE5OTAwNjNm
YzVhNjMyOGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcApAQCAtNDEsNyArNDEsNyBAQCBKU1dl
YkFzc2VtYmx5Q29tcGlsZUVycm9yKiBKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yOjpjcmVhdGUo
SlNHbG9iYWxPYmplY3QqIGdsbwogfQogCiBKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yOjpKU1dl
YkFzc2VtYmx5Q29tcGlsZUVycm9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAg
OiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlw
ZTo6RXJyb3IpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5jcHAKaW5kZXggZWFkZTAzNDEzZTRjZTM2MGJh
MDg5ZjhjNTNkMThjZjhkNmQ3MDIzNS4uOWIyMDA1OGVjZjM0YWY5MWI2YjE4ZDE1ZjY1MTU3ODVj
MjE3MmUyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJB
c3NlbWJseUxpbmtFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
SlNXZWJBc3NlbWJseUxpbmtFcnJvci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgSlNXZWJBc3NlbWJs
eUxpbmtFcnJvciogSlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmoKIH0KIAogSlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6SlNXZWJBc3NlbWJseUxp
bmtFcnJvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3Ry
dWN0dXJlKQorICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5cGU6OkVycm9yKQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5UnVudGltZUVycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwCmluZGV4IGJlMWY5Mjg2MDMwNDVkN2NmNzI5MzI0ZWU0
YTc3YWU4M2ZjZTljYmUuLjE5MzNhNmUzODg4ZmJlYWNjZjA3YWMyYjM3Yzc0NTA0ODRmYTUxZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlS
dW50aW1lRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEpTV2ViQXNzZW1ibHlS
dW50aW1lRXJyb3IqIEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3I6OmNyZWF0ZShKU0dsb2JhbE9i
amVjdCogZ2xvCiB9CiAKIEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3I6OkpTV2ViQXNzZW1ibHlS
dW50aW1lRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0s
IHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikK
IHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNz
ZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA1Y2Qw
MDM1YTAxZmRiNzhkZGMzNWZjNDdiNmI4NTgwYmU0NWQzNTk3Li5jM2EwZDM5N2Y1MDRlMjU4ZjFk
NzBmOGI0ODJiNzlhMWQ5ZTcyNjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVj
dG9yLmNwcApAQCAtNjUsNyArNjUsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEpT
V2ViQXNzZW1ibHlDb21waWxlRXJyb3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsTwogewogICAg
IEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJl
KiBlcnJvclN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+d2ViQXNzZW1ibHlDb21waWxlRXJyb3JT
dHJ1Y3R1cmUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNy
ZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBl
Tm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFu
Y2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRy
LCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2UpKTsKIH0KIAogV2ViQXNzZW1i
bHlDb21waWxlRXJyb3JDb25zdHJ1Y3RvciogV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1
Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYkFzc2VtYmx5Q29t
cGlsZUVycm9yUHJvdG90eXBlKiB0aGlzUHJvdG90eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0
cnVjdG9yLmNwcAppbmRleCA5NDZkZWY0ZjExNTIyOWEyMjViZTkzMmFjOWU2NDM1YjZjOGFiMmE5
Li4yYzVmNmEyOTMxZjE1MjE1ODVhYWE5MzVlNTZiNGJkMmYxOWMxNmIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxp
bmtFcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtNjUsNyArNjUsNyBAQCBKU0NfREVGSU5FX0hPU1Rf
RlVOQ1RJT04oY2FsbEpTV2ViQXNzZW1ibHlMaW5rRXJyb3IsIChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZQogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7
CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+d2ViQXNzZW1i
bHlMaW5rRXJyb3JTdHJ1Y3R1cmUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9y
SW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBu
dWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNz
YWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2UpKTsKIH0K
IAogV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3RvciogV2ViQXNzZW1ibHlMaW5rRXJyb3JD
b25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYkFzc2Vt
Ymx5TGlua0Vycm9yUHJvdG90eXBlKiB0aGlzUHJvdG90eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rv
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVF
cnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCAzZGZkOTE1NjdiNjBhNThkZDlhYTY4NDJmZjY3OTAy
MWY1Y2I5MjUyLi5hODU2NjljNTE4YjFlOWFhNjhjOTVhZDA1NjZlYmZkNmZjM2RmYThhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVF
cnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtNjcsNyArNjcsNyBAQCBK
U0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsTwogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFt
ZS0+YXJndW1lbnQoMCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGdsb2JhbE9i
amVjdC0+d2ViQXNzZW1ibHlSdW50aW1lRXJyb3JTdHJ1Y3R1cmUoKTsKLSAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3Ry
dWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVy
cm9yU3RydWN0dXJlLCBtZXNzYWdlLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpF
cnJvciwgZmFsc2UpKTsKIH0KIAogV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvciog
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFdlYkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlKiB0aGlzUHJv
dG90eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYjMzYTM2OTE3YmEyMjRiZGRmNjJkNjA1NzUw
NDBkMmQ3ZWM5NmM5OC4uNWJjMWQ2ZTcwM2RiNjRmNmY3ZWU1NmNjYjc1YmNhYjYyYjk4YTg5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zMCw2ICszMCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKIAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Q29uc3VtZXIu
aAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5U291cmNlLmgKKyAgICBNb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVy
cy5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaElkZW50aWZpZXIuaAogICAgIE1vZHVsZXMvZmV0
Y2gvRmV0Y2hMb2FkZXIuaApAQCAtMjg4LDYgKzI4OSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBiaW5kaW5ncy9qcy9XZWJDb3JlSklUT3BlcmF0aW9ucy5o
CiAgICAgYmluZGluZ3MvanMvV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmgKICAgICBiaW5k
aW5ncy9qcy9XaW5kb3dQcm94eS5oCisgICAgYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RmV0Y2hl
ci5oCiAKICAgICBicmlkZ2UvQnJpZGdlLmgKICAgICBicmlkZ2UvSWRlbnRpZmllclJlcC5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xldEds
b2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xl
dEdsb2JhbFNjb3BlLmgKaW5kZXggZDQxYjcwOGYyOWM4Zjc1NTY5MTZmNzgxMzBmNjY0MzNjZmU3
MTMzZC4uMDAyMTlmMmQwMjkxODMwOTEzNDQ1ODQxYTBhNGM3MDFhZGQzNzUyNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1dvcmtsZXRHbG9iYWxTY29w
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0R2xv
YmFsU2NvcGUuaApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBKU0F1ZGlvV29ya2xldFByb2Nlc3Nv
ckNvbnN0cnVjdG9yOwogCiBzdHJ1Y3QgV29ya2xldFBhcmFtZXRlcnM7CiAKLWNsYXNzIEF1ZGlv
V29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtsZXRHbG9iYWxTY29wZSB7CitjbGFzcyBB
dWRpb1dvcmtsZXRHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrbGV0R2xvYmFsU2NvcGUg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUpOwog
cHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8QXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGU+IHRyeUNy
ZWF0ZShBdWRpb1dvcmtsZXRUaHJlYWQmLCBjb25zdCBXb3JrbGV0UGFyYW1ldGVycyYpOwpAQCAt
NjksNiArNjksOCBAQCBjbGFzcyBBdWRpb1dvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3Jr
bGV0R2xvYmFsU2NvcGUgewogICAgIHZvaWQgaGFuZGxlUHJlUmVuZGVyVGFza3MoKTsKICAgICB2
b2lkIGhhbmRsZVBvc3RSZW5kZXJUYXNrcyhzaXplX3QgY3VycmVudEZyYW1lKTsKIAorICAgIEZl
dGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVy
biBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpBdWRpb3dvcmtsZXQ7IH0KKwogcHJpdmF0ZToK
ICAgICBBdWRpb1dvcmtsZXRHbG9iYWxTY29wZShBdWRpb1dvcmtsZXRUaHJlYWQmLCBSZWY8SlND
OjpWTT4mJiwgY29uc3QgV29ya2xldFBhcmFtZXRlcnMmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBj
MzVjMDZmMDMwNjdmMWRjMDJiNTQ1Njk3NTNhNDk3NTA3YTlkNTJlLi45Nzk3NGJjNjg5MzcyMmI2
Y2RjYjgyZjMzNTI4NjExZjEyZGM4ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtNjM5LDYgKzYzOSw3
IEBAIGJpbmRpbmdzL2pzL1N0cnVjdHVyZWRDbG9uZS5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVK
SVRPcGVyYXRpb25zLmNwcAogYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5jcHAKIGJp
bmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5jcHAKK2JpbmRpbmdzL2pzL1dv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAKIGJpbmRpbmdzL2pzL1dpbmRvd1Byb3h5LmNwcAog
YmluZGluZ3MvanMvV3JpdGFibGVTdHJlYW0uY3BwCiBicmlkZ2UvSWRlbnRpZmllclJlcC5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA3MWFhOGM1ODFiNjVkOTRjYjlmNTQzMjQ3MzM5ZjgwNzViZjBhNmYyLi5mMTA3MGFmZTA1
ZDQ1ODJhMGFkNzdkYzY0OWE0NjUyODcxN2QxZTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MDczLDE1ICs1MDczLDE4IEBA
CiAJCUUzMDU5MjY0MUUyN0EzQUQwMEQ1N0M5OCAvKiBJbmxpbmVDbGFzc2ljU2NyaXB0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA1OTI2MjFFMjdB
MzhDMDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDU5MjY4MUUyN0EzRDEwMEQ1N0M5OCAv
KiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzA1OTI2NjFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0
Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzMDdERUQwMUQ4MUU0QzcwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMDdERUM3MUQ4
MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlFMzA3REVEMTFEODFFNENCMDAx
NDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3REVDODFEODFFNDQ4MDAxNDFDQUYg
LyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMwN0RFRDUxRDgxRTRGMjAwMTQxQ0FGIC8q
IExvYWRhYmxlTW9kdWxlU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzA3REVEMzFEODFFNEVEMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVT
Y3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFMzE1MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMxNTBFQTUxREE3MjE4RDAwMTk0
MDEyIC8qIERPTUpJVEhlbHBlcnMuaCAqLzsgfTsKIAkJRTMyMDFDMUExRjhFODIxMzAwNzZBMDMy
IC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTM4RDA2MDkxRjhFODExOTAwNjQ5Q0YyIC8qIE1vZHVsZUZldGNo
UGFyYW1ldGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUUzMjNDRkZBMUU1QUY2QUYwMEYwQjRBMCAvKiBKU0RPTUNvbnZlcnRQcm9taXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzIzQ0ZGOTFF
NUFGNkE1MDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJvbWlzZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzNDMyREU0MjVEMzc3RTMwMDU4RTYx
MiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNDMyREUwMjVEMzc3RTIwMDU4RTYxMiAvKiBXb3JrZXJN
b2R1bGVTY3JpcHRMb2FkZXIuaCAqLzsgfTsKKwkJRTM0N0U1RkEyNUQ0RjAwMDAwRjE3QTVDIC8q
IFdvcmtlclNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNDdFNUY4MjVENEYwMDAwMEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRj
aGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
RTM1MTg4QjQyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1MTg4QjMyNUQz
ODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTY1QjdCMURDMkQ2QzkwMDIx
N0RCRCAvKiBKU0V2ZW50Q3VzdG9tLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMgLyogSlNFdmVudEN1c3RvbS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTgw
MkI2MURDODQzNUQwMEE5NzczQyAvKiBET01KSVRJRExUeXBlRmlsdGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzU4MDJCNTFEQzg0MzU4MDBBOTc3
M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUUzNTgyQzI4MjUyN0Y2NjkwMEQxQjc5MCAvKiBXZWJDb3Jl
SklUT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTM1ODJDMjYyNTI3RjY2ODAwRDFCNzkwIC8qIFdlYkNvcmVKSVRPcGVyYXRpb25zLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM1Qjkw
N0YyM0Y2MEE1MDAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzVCOTA3QzIzRjYwNjc3MDAwMDEx
RkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlFMzY0MzIxQzI1RDM3QTY3MDBGOTBFMkEgLyogTW9kdWxl
U2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM3N0ZFNEQx
REFERTE2NTAwQ0REMDI1IC8qIE5vZGVDb25zdGFudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDA0OTkzMURBREMwNDUwMDcxOEYzQyAvKiBOb2Rl
Q29uc3RhbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJRTM3Qzg2NTAxRUI2M0UzRjAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM3Qzg2NEYxRUI2M0UyRDAw
ODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUUzOTYyOEJGMjM5NTcyOEYwMDY1OEVDRCAvKiBEZXZpY2VPcmll
bnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzk2MjhCRDIzOTU3MjhFMDA2NThFQ0QgLyogRGV2aWNlT3JpZW50YXRp
b25VcGRhdGVQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0xNjIwNyw3ICsxNjIxMCw2IEBACiAJCUUzMDU5MjY2MUUyN0EzQzYwMEQ1
N0M5OCAvKiBDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENhY2hlZFNjcmlwdEZldGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTMwN0RFQzYxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVDNzFEODFF
NDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQlFMzA3REVDODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMzA3REVEMjFEODFFNEVEMDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9hZGFibGVNb2R1bGVT
Y3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzA3REVEMzFEODFFNEVE
MDAxNDFDQUYgLyogTG9hZGFibGVNb2R1bGVTY3JpcHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTG9hZGFibGVNb2R1bGVTY3JpcHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTMxNTBFQTUxREE3MjE4RDAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUSGVscGVycy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTYyMjAsMTIgKzE2MjIyLDE3IEBACiAJCUUzMjkyNzYzMjI1
NDNGNTkwMDMwOEE5QSAvKiBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFR5cGVkT01DU1NVbml0VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFMzI5Mjc2NjIyNTQzRkRFMDAzMDhBOUEgLyogRE9NUmVjdFJlYWRPbmx5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERPTVJlY3RSZWFkT25seS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUzMzQ4MjVFMURDOTNBQTAwMDlDOTU0NCAvKiBET01KSVRBYnN0cmFjdEhlYXBSZXBv
c2l0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERPTUpJVEFic3RyYWN0
SGVhcFJlcG9zaXRvcnkuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NSklUQWJz
dHJhY3RIZWFwUmVwb3NpdG9yeS5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OworCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlck1vZHVsZVNjcmlwdExv
YWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzQzMkRFMzI1RDM3N0UzMDA1
OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzNDdFNUY4MjVENEYwMDAwMEYxN0E1QyAvKiBXb3JrZXJT
Y3JpcHRGZXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlclNj
cmlwdEZldGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM0RUU0OUYxREMy
RDU3NTAwRUFBOUQzIC8qIEpTRXZlbnRDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNFdmVudEN1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MzUxODhCMzI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MDJCNTFEQzg0MzU4MDBBOTc3M0Mg
LyogRE9NSklUSURMVHlwZUZpbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBET01KSVRJRExUeXBlRmlsdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUz
NTgyQzI0MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0aW9ucy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlSklUT3BlcmF0aW9ucy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNTgyQzI2MjUyN0Y2NjgwMEQxQjc5MCAv
KiBXZWJDb3JlSklUT3BlcmF0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJDb3JlSklUT3BlcmF0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MzVCOTA3QzIzRjYwNjc3MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxpemVkRGV2aWNlTW9kZWwuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1QjkwN0UyM0Y2MDY3NzAwMDAxMUZGIC8qIExvY2Fs
aXplZERldmljZU1vZGVsLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gTG9jYWxpemVkRGV2aWNlTW9kZWwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUUzNjQzMjFBMjVEMzdBNjYwMEY5MEUyQSAvKiBNb2R1bGVTY3JpcHRMb2FkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlU2NyaXB0TG9hZGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzN0M4NjRGMUVCNjNFMkQwMDg3QzZDQSAvKiBKU0RPTVBy
b21pc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Qcm9taXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzODgzODk0MUJBRDE0NUYwMEQ2MkVFMyAv
KiBTY3JpcHRNb2R1bGVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU2NyaXB0TW9kdWxlTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTM4ODM4OTUxQkFEMTQ1RjAwRDYyRUUzIC8qIFNjcmlwdE1vZHVsZUxvYWRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRNb2R1bGVMb2FkZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MDIyLDcgKzI3MDI5LDYgQEAKIAkJCQkyREZBNDg4
RTFEQjU0MUMyMDAzNjJCOTkgLyogQnVmZmVyU291cmNlLmggKi8sCiAJCQkJRTMwN0RFQzYxRDgx
RTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8sCiAJCQkJRTMw
N0RFQzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oICovLAot
CQkJCUUzMDdERUM4MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaCAqLywKIAkJCQlFMzA1OTI2NTFFMjdBM0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0
RmV0Y2hlci5jcHAgKi8sCiAJCQkJRTMwNTkyNjYxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNj
cmlwdEZldGNoZXIuaCAqLywKIAkJCQlCQ0Q1MzM2MzBFRDY4NDg5MDA4ODc0NjggLyogQ2FjaGVk
U2NyaXB0U291cmNlUHJvdmlkZXIuaCAqLywKQEAgLTI3MDk2LDYgKzI3MTAyLDggQEAKIAkJCQk0
QkRFQTMyRDIxODAzNDA1MDA1MkRGQ0QgLyogSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcCAq
LywKIAkJCQk0QkRFQTMyQjIxODAzM0VCMDA1MkRGQ0QgLyogSlNXb3JrbGV0R2xvYmFsU2NvcGVC
YXNlLmggKi8sCiAJCQkJNzA5QTAxRkQxRTNEMEJDQzAwNkIwRDRDIC8qIE1vZHVsZUZldGNoRmFp
bHVyZUtpbmQuaCAqLywKKwkJCQlFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxlU2Ny
aXB0TG9hZGVyLmggKi8sCisJCQkJRTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudC5oICovLAogCQkJCTQxQjQ1OUVEMUY1NUVCQzcwMDAwRjZGRCAvKiBS
ZWFkYWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDFCNDU5REExRjRDQURCOTAwMDBGNkZEIC8qIFJl
YWRhYmxlU3RyZWFtLmggKi8sCiAJCQkJNDE4QzM5NUUxQzhGMEFBQjAwNTFDOEEzIC8qIFJlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuY3BwICovLApAQCAtMjcxMjcsNiArMjcxMzUsOSBA
QAogCQkJCTBGMDk5RDA3MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJDb3JlVHlwZWRBcnJheUNvbnRy
b2xsZXIuaCAqLywKIAkJCQk0NjM1MjFBQzIwODEwOTBFMDBDMjg5MjIgLyogV2luZG93UHJveHku
Y3BwICovLAogCQkJCTQ2MzUyMUFBMjA4MTA5MEIwMEMyODkyMiAvKiBXaW5kb3dQcm94eS5oICov
LAorCQkJCUUzNDMyREUzMjVEMzc3RTMwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuY3BwICovLAorCQkJCUUzNDMyREUwMjVEMzc3RTIwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIuaCAqLywKKwkJCQlFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2Vy
U2NyaXB0RmV0Y2hlci5oICovLAogCQkJCTQxNDE4QTAzMjU2NDNFMTIwMDM2MzQxNyAvKiBXcml0
YWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDE0MThBMDQyNTY0M0UxMzAwMzYzNDE3IC8qIFdyaXRh
YmxlU3RyZWFtLmggKi8sCiAJCQkpOwpAQCAtMzE0MDUsNyArMzE0MTYsNiBAQAogCQkJCUJDQjE2
QzFDMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE5RkJENUYxNUQyRjQ2NDAwOTY0MEE2IC8qIENhY2hlZEltYWdlQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMzA3REVEMDFEODFFNEM3MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMzA3REVEMTFEODFFNENCMDAxNDFDQUYgLyog
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAx
ODQ2OTBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RDBFREE3NzUxNDNFMzAzQzAwMjhFMzgzIC8qIENhY2hlZFJhd1Jlc291cmNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMUI1MzM0OTE3MTdERUUzMDBGMjA1RjkgLyogQ2FjaGVkUmF3UmVzb3VyY2VD
bGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzM4ODAsNiArMzM4OTAsOCBAQAogCQkJCUM2RDc0
QUQ1MDlBQTI4MkUwMDBCMEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25MaXN0TGV2ZWwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTcwOUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1
cmVLaW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyog
TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzY0MzIxQzI1RDM3
QTY3MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlF
MzUxODhCNDI1RDM4N0NGMDBBNzdBRjMgLyogTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlGNTVCM0RDNjEyNTFGMTJEMDAzRUYyNjkgLyogTW9udGhJbnB1dFR5
cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzOTYyOEMxMjM5NTc0MzEwMDY1OEVDRCAvKiBNb3Rp
b25NYW5hZ2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0NjBBNDRFRkM3MDBG
OTkyRTAgLyogTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTUzMiw2ICszNTU0NCw3
IEBACiAJCQkJMThGODMxQjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0RDBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyTG9j
YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUwMEY1NDZBODIwMEIwRjFCQSAvKiBX
b3JrZXJNZXNzYWdpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM0MzJERTQyNUQzNzdF
MzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTEyNzFBMEIwRUVFQzc3QTAwRjYxMjEzIC8qIFdvcmtlck5hdmlnYXRvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTVDQjA1MjUxRkI1MUYzQTAwMDg5Qjk3IC8qIFdvcmtlck5ldHdvcmtBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTEwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtl
ck9iamVjdFByb3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NTQxLDYgKzM1NTU0LDcgQEAKIAkJ
CQk0MTZFMjlBNjEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTJFNDM0NjUzMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJSdW5Mb29w
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUI4MUNDRjFGQUE0NERFMDAzN0QxRTYgLyogV29ya2Vy
UnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzQ3RTVGQTI1RDRGMDAwMDBGMTdB
NUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdENkIzNDkw
RjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkVBNzY4MDQwRkU3MTI2NDAwQUI5QzhBIC8qIFdvcmtlclNjcmlwdExvYWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTUwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlclRo
cmVhZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAppbmRleCAzNTJkY2M0YWNmNzUxNzZk
OThhZDM0MTBiZTE1MTYwODAxMDg4NTI0Li4yNzdmNjJhN2MxMzNmZTE1NmM2Y2NlOTg1NTM1NTBl
ZGIxMzZkMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0Nh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKQEAgLTQwLDE2ICs0MCwxMyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLVJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcjo6Y3JlYXRlKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xp
ZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlw
dEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKK1Jl
ZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3Jl
YXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHBy
b21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVG
ZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9taXNlLCBzY3JpcHRGZXRjaGVy
LCBXVEZNb3ZlKHBhcmFtZXRlcnMpKSk7CiB9CiAKLUNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYg
Y2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNj
cmlwdEZldGNoZXIsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykK
LSAgICA6IG1fY2xpZW50KCZjbGllbnQpCi0gICAgLCBtX3Byb21pc2UoJnByb21pc2UpCi0gICAg
LCBtX3NjcmlwdEZldGNoZXIoc2NyaXB0RmV0Y2hlcikKLSAgICAsIG1fcGFyYW1ldGVycyhXVEZN
b3ZlKHBhcmFtZXRlcnMpKQorQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpDYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJv
bWlzZSYgcHJvbWlzZSwgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRy
PE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorICAgIDogTW9kdWxlU2NyaXB0
TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJz
KSkKIHsKIH0KIApAQCAtNjEsMTQgKzU4LDE1IEBAIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6
fkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcigpCiAgICAgfQogfQogCi1ib29sIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlcjo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFVSTCYgc291cmNl
VVJMKQorYm9vbCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoRG9jdW1lbnQmIGRvY3Vt
ZW50LCBVUkwmJiBzb3VyY2VVUkwpCiB7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CiAgICAgQVNT
RVJUKCFtX2NhY2hlZFNjcmlwdCk7CiAgICAgU3RyaW5nIGludGVncml0eSA9IG1fcGFyYW1ldGVy
cyA/IG1fcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkgOiBTdHJpbmcgeyB9OwotICAgIG1fY2FjaGVk
U2NyaXB0ID0gbV9zY3JpcHRGZXRjaGVyLT5yZXF1ZXN0TW9kdWxlU2NyaXB0KGRvY3VtZW50LCBz
b3VyY2VVUkwsIFdURk1vdmUoaW50ZWdyaXR5KSk7CisgICAgbV9jYWNoZWRTY3JpcHQgPSBzY3Jp
cHRGZXRjaGVyKCkucmVxdWVzdE1vZHVsZVNjcmlwdChkb2N1bWVudCwgc291cmNlVVJMLCBXVEZN
b3ZlKGludGVncml0eSkpOwogICAgIGlmICghbV9jYWNoZWRTY3JpcHQpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICBtX3NvdXJjZVVSTCA9IHNvdXJjZVVSTDsKKyAgICBtX3NvdXJjZVVSTCA9
IFdURk1vdmUoc291cmNlVVJMKTsKIAogICAgIC8vIElmIHRoZSBjb250ZW50IGlzIGFscmVhZHkg
Y2FjaGVkLCB0aGlzIGltbWVkaWF0ZWx5IGNhbGxzIG5vdGlmeUZpbmlzaGVkLgogICAgIG1fY2Fj
aGVkU2NyaXB0LT5hZGRDbGllbnQoKnRoaXMpOwpAQCAtODMsNyArODEsNyBAQCB2b2lkIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291
cmNlLCBjb25zdCBOZQogCiAgICAgUmVmPENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7CiAgICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+bm90
aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9wcm9taXNlKSk7CisgICAgICAgIG1fY2xpZW50
LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJjZVVSTCksIG1fcHJvbWlzZS5y
ZWxlYXNlTm9uTnVsbCgpKTsKIAogICAgIC8vIFJlbW92ZSB0aGUgY2xpZW50IGFmdGVyIGNhbGxp
bmcgbm90aWZ5RmluaXNoZWQgdG8ga2VlcCB0aGUgZGF0YSBidWZmZXIgaW4KICAgICAvLyBDYWNo
ZWRSZXNvdXJjZSBhbGl2ZSB3aGlsZSBub3RpZnlGaW5pc2hlZCBwcm9jZXNzZXMgdGhlIHJlc291
cmNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVT
Y3JpcHRMb2FkZXIuaAppbmRleCA0M2FiZDg3NWIyNDNmYWY1ZmNkNGQ5OGVjM2M1ZDI0ZTc5MGI1
NzJlLi5hNDg3NTVmOTNkMDVlZjM1M2QyYjNlMjI4ZDgyMTlmZTg5MWU2NzQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIu
aApAQCAtMjcsNiArMjcsOCBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCIK
ICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgorI2luY2x1ZGUgIkNhY2hlZFNjcmlw
dEZldGNoZXIuaCIKKyNpbmNsdWRlICJNb2R1bGVTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlIDx3
dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CkBAIC0zNCw0MiArMzYsMjkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CitjbGFzcyBNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQ7CiBjbGFzcyBDYWNoZWRTY3JpcHQ7Ci1jbGFzcyBDYWNoZWRTY3JpcHRGZXRjaGVy
OwogY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBKU0RPTUds
b2JhbE9iamVjdDsKIGNsYXNzIE1vZHVsZUZldGNoUGFyYW1ldGVyczsKIAotY2xhc3MgQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyPiwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CitjbGFzcyBDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgTW9kdWxlU2NyaXB0TG9hZGVyLCBw
cml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlcj4gY3JlYXRlKENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNs
aWVudCYsIERlZmVycmVkUHJvbWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9k
dWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKKyAgICBzdGF0aWMgUmVmPENhY2hlZE1vZHVsZVNjcmlw
dExvYWRlcj4gY3JlYXRlKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJvbWlz
ZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYm
KTsKIAogICAgIHZpcnR1YWwgfkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcigpOwogCi0gICAgYm9v
bCBsb2FkKERvY3VtZW50JiwgY29uc3QgVVJMJiBzb3VyY2VVUkwpOworICAgIGJvb2wgbG9hZChE
b2N1bWVudCYsIFVSTCYmIHNvdXJjZVVSTCk7CiAKLSAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBz
Y3JpcHRGZXRjaGVyKCkgeyByZXR1cm4gbV9zY3JpcHRGZXRjaGVyLmdldCgpOyB9CiAgICAgQ2Fj
aGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQoKSB7IHJldHVybiBtX2NhY2hlZFNjcmlwdC5nZXQoKTsg
fQotICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyogcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFy
YW1ldGVycy5nZXQoKTsgfQotICAgIGNvbnN0IFVSTCYgc291cmNlVVJMKCkgY29uc3QgeyByZXR1
cm4gbV9zb3VyY2VVUkw7IH0KLQotICAgIHZvaWQgY2xlYXJDbGllbnQoKQotICAgIHsKLSAgICAg
ICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICAgICAgbV9jbGllbnQgPSBudWxscHRyOwotICAgIH0K
KyAgICBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyKCkgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlciY+KE1vZHVsZVNjcmlwdExvYWRlcjo6c2NyaXB0RmV0
Y2hlcigpKTsgfQogCiBwcml2YXRlOgotICAgIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3Jp
cHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisgICAgQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYsIERlZmVycmVkUHJv
bWlzZSYsIENhY2hlZFNjcmlwdEZldGNoZXImLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJz
PiYmKTsKIAogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBO
ZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbDsKIAotICAgIENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ckNsaWVudCogbV9jbGllbnQgeyBudWxscHRyIH07Ci0gICAgUmVmUHRyPERlZmVycmVkUHJvbWlz
ZT4gbV9wcm9taXNlOwotICAgIFJlZjxDYWNoZWRTY3JpcHRGZXRjaGVyPiBtX3NjcmlwdEZldGNo
ZXI7Ci0gICAgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4gbV9wYXJhbWV0ZXJzOwogICAg
IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gbV9jYWNoZWRTY3JpcHQ7CiAgICAg
VVJMIG1fc291cmNlVVJMOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDg2ODhhZDkwZGFlM2VjZTk0OWVhMDliMWVmZWU1ZGEyNmY5NGM3ODYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
LCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNs
YXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjsKLWNsYXNzIERlZmVycmVkUHJvbWlzZTsKLQot
Y2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50IHsKLXB1YmxpYzoKLSAgICB2aXJ0
dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7Ci0KLSAgICB2
aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiwgUmVm
UHRyPERlZmVycmVkUHJvbWlzZT4pID0gMDsKLX07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAKaW5kZXggYTQzMzc1ODY1YmJm
MWVjNTk3M2JmMTcyYzkxYTM4NTMyMzRlMzc0ZC4uYzBmZmFkZDZmMjUyNDI2YWJhNzIyYTUwODQ0
ZTYzNTcyZjRkNWU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2Fj
aGVkU2NyaXB0RmV0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2Fj
aGVkU2NyaXB0RmV0Y2hlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJDcm9zc09y
aWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCisjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCmluZGV4IGRmN2YzZDc0NmQ1ZTMyYWJhYjUxNDc2
YzlkZGFjYTYzYTQzNTEzNmMuLmVlZjIxMDM4ODQ5ZmQ4OTg0OWFmY2VkNzAzMTg1ZmY4OTRjNDBj
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9u
SGFuZGxpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0
aW9uSGFuZGxpbmcuY3BwCkBAIC01Miw2ICs1MiwyNSBAQCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSBleGNlcHRpb25WYWx1
ZQogICAgIHJlcG9ydEV4Y2VwdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LCBleGNlcHRpb24sIGNh
Y2hlZFNjcmlwdCk7CiB9CiAKK1N0cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1l
KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBWTSYgdm0sIEpTVmFsdWUgZXhj
ZXB0aW9uLCBDYXRjaFNjb3BlJiBjYXRjaFNjb3BlKQoreworICAgIC8vIEZJWE1FOiA8aHR0cDov
L3dlYmtpdC5vcmcvYi8xMTUwODc+IFdlYiBJbnNwZWN0b3I6IFdlYkNvcmU6OnJlcG9ydEV4Y2Vw
dGlvbiBzaG91bGQgbm90IGV2YWx1YXRlIEphdmFTY3JpcHQgaGFuZGxpbmcgZXhjZXB0aW9ucwor
ICAgIC8vIElmIHRoaXMgaXMgYSBjdXN0b20gZXhjZXB0aW9uIG9iamVjdCwgY2FsbCB0b1N0cmlu
ZyBvbiBpdCB0byB0cnkgYW5kIGdldCBhIG5pY2Ugc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciB0
aGUgZXhjZXB0aW9uLgorICAgIFN0cmluZyBlcnJvck1lc3NhZ2U7CisgICAgaWYgKGF1dG8qIGVy
cm9yID0ganNEeW5hbWljQ2FzdDxFcnJvckluc3RhbmNlKj4odm0sIGV4Y2VwdGlvbikpCisgICAg
ICAgIGVycm9yTWVzc2FnZSA9IGVycm9yLT5zYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKCZsZXhpY2Fs
R2xvYmFsT2JqZWN0KTsKKyAgICBlbHNlIGlmIChhdXRvKiBlcnJvciA9IGpzRHluYW1pY0Nhc3Q8
SlNET01FeGNlcHRpb24qPih2bSwgZXhjZXB0aW9uKSkKKyAgICAgICAgZXJyb3JNZXNzYWdlID0g
ZXJyb3ItPndyYXBwZWQoKS5tZXNzYWdlKCk7CisgICAgZWxzZQorICAgICAgICBlcnJvck1lc3Nh
Z2UgPSBleGNlcHRpb24udG9XVEZTdHJpbmcoJmxleGljYWxHbG9iYWxPYmplY3QpOworCisgICAg
Ly8gV2UgbmVlZCB0byBjbGVhciBhbnkgbmV3IGV4Y2VwdGlvbiB0aGF0IG1heSBiZSB0aHJvd24g
aW4gdGhlIHRvU3RyaW5nKCkgY2FsbCBhYm92ZS4KKyAgICAvLyByZXBvcnRFeGNlcHRpb24oKSBp
cyBub3Qgc3VwcG9zZWQgdG8gYmUgbWFraW5nIG5ldyBleGNlcHRpb25zLgorICAgIGNhdGNoU2Nv
cGUuY2xlYXJFeGNlcHRpb24oKTsKKyAgICB2bS5jbGVhckxhc3RFeGNlcHRpb24oKTsKKyAgICBy
ZXR1cm4gZXJyb3JNZXNzYWdlOworfQorCiBTdHJpbmcgcmV0cmlldmVFcnJvck1lc3NhZ2UoSlNH
bG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIFZNJiB2bSwgSlNWYWx1ZSBleGNlcHRp
b24sIENhdGNoU2NvcGUmIGNhdGNoU2NvcGUpCiB7CiAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Vi
a2l0Lm9yZy9iLzExNTA4Nz4gV2ViIEluc3BlY3RvcjogV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9u
IHNob3VsZCBub3QgZXZhbHVhdGUgSmF2YVNjcmlwdCBoYW5kbGluZyBleGNlcHRpb25zCkBAIC0x
MjEsMzYgKzE0MCw0NSBAQCB2b2lkIHJlcG9ydEN1cnJlbnRFeGNlcHRpb24oSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUgY3JlYXRlRE9NRXhjZXB0aW9uKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFeGNlcHRpb25Db2RlIGVjLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgaWYgKGVjID09IEV4aXN0aW5nRXhjZXB0aW9uRXJy
b3IpCisgICAgc3dpdGNoIChlYykgeworICAgIGNhc2UgRXhpc3RpbmdFeGNlcHRpb25FcnJvcjoK
ICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAKICAgICAvLyBGSVhNRTogSGFuZGxlIG90
aGVyIFdlYklETCBleGNlcHRpb24gdHlwZXMuCi0gICAgaWYgKGVjID09IFR5cGVFcnJvcikgewor
ICAgIGNhc2UgVHlwZUVycm9yOgogICAgICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCiAgICAg
ICAgICAgICByZXR1cm4gY3JlYXRlVHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOwogICAg
ICAgICByZXR1cm4gY3JlYXRlVHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIG1lc3NhZ2Up
OwotICAgIH0KIAotICAgIGlmIChlYyA9PSBSYW5nZUVycm9yKSB7CisgICAgY2FzZSBSYW5nZUVy
cm9yOgogICAgICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4g
Y3JlYXRlUmFuZ2VFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCAiQmFkIHZhbHVlIl9zKTsKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZVJhbmdlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgbWVzc2Fn
ZSk7Ci0gICAgfQogCi0gICAgaWYgKGVjID09IFN0YWNrT3ZlcmZsb3dFcnJvcikKKyAgICBjYXNl
IEpTU3ludGF4RXJyb3I6CisgICAgICAgIGlmIChtZXNzYWdlLmlzRW1wdHkoKSkKKyAgICAgICAg
ICAgIHJldHVybiBjcmVhdGVTeW50YXhFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICAg
ICAgcmV0dXJuIGNyZWF0ZVN5bnRheEVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIG1lc3NhZ2Up
OworCisgICAgY2FzZSBTdGFja092ZXJmbG93RXJyb3I6CiAgICAgICAgIHJldHVybiBjcmVhdGVT
dGFja092ZXJmbG93RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKGVjID09IE91
dE9mTWVtb3J5RXJyb3IpCisKKyAgICBjYXNlIE91dE9mTWVtb3J5RXJyb3I6CiAgICAgICAgIHJl
dHVybiBjcmVhdGVPdXRPZk1lbW9yeUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOwogCi0gICAg
Ly8gRklYTUU6IEFsbCBjYWxsZXJzIHRvIGNyZWF0ZURPTUV4Y2VwdGlvbiBuZWVkIHRvIHBhc3Mg
aW4gdGhlIGNvcnJlY3QgZ2xvYmFsIG9iamVjdC4KLSAgICAvLyBGb3Igbm93LCB3ZSdyZSBnb2lu
ZyB0byBhc3N1bWUgdGhlIGxleGljYWxHbG9iYWxPYmplY3QuIFdoaWNoIGlzIHdyb25nIGluIGNh
c2VzIGxpa2UgdGhpczoKLSAgICAvLyBmcmFtZXNbMF0uZG9jdW1lbnQuY3JlYXRlRWxlbWVudChu
dWxsLCBudWxsKTsgLy8gdGhyb3dzIGFuIGV4Y2VwdGlvbiB3aGljaCBzaG91bGQgaGF2ZSB0aGUg
c3ViZnJhbWUncyBwcm90b3R5cGVzLgotICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKGxleGljYWxHbG9iYWxPYmpl
Y3QpOwotICAgIEpTVmFsdWUgZXJyb3JPYmplY3QgPSB0b0pTKGxleGljYWxHbG9iYWxPYmplY3Qs
IGdsb2JhbE9iamVjdCwgRE9NRXhjZXB0aW9uOjpjcmVhdGUoZWMsIG1lc3NhZ2UpKTsKLSAgICAK
LSAgICBBU1NFUlQoZXJyb3JPYmplY3QpOwotICAgIGFkZEVycm9ySW5mbyhsZXhpY2FsR2xvYmFs
T2JqZWN0LCBhc09iamVjdChlcnJvck9iamVjdCksIHRydWUpOwotICAgIHJldHVybiBlcnJvck9i
amVjdDsKKyAgICBkZWZhdWx0OiB7CisgICAgICAgIC8vIEZJWE1FOiBBbGwgY2FsbGVycyB0byBj
cmVhdGVET01FeGNlcHRpb24gbmVlZCB0byBwYXNzIGluIHRoZSBjb3JyZWN0IGdsb2JhbCBvYmpl
Y3QuCisgICAgICAgIC8vIEZvciBub3csIHdlJ3JlIGdvaW5nIHRvIGFzc3VtZSB0aGUgbGV4aWNh
bEdsb2JhbE9iamVjdC4gV2hpY2ggaXMgd3JvbmcgaW4gY2FzZXMgbGlrZSB0aGlzOgorICAgICAg
ICAvLyBmcmFtZXNbMF0uZG9jdW1lbnQuY3JlYXRlRWxlbWVudChudWxsLCBudWxsKTsgLy8gdGhy
b3dzIGFuIGV4Y2VwdGlvbiB3aGljaCBzaG91bGQgaGF2ZSB0aGUgc3ViZnJhbWUncyBwcm90b3R5
cGVzLgorICAgICAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZGVwcmVjYXRl
ZEdsb2JhbE9iamVjdEZvclByb3RvdHlwZShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICAgICAg
SlNWYWx1ZSBlcnJvck9iamVjdCA9IHRvSlMobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LCBET01FeGNlcHRpb246OmNyZWF0ZShlYywgbWVzc2FnZSkpOworCisgICAgICAgIEFTU0VS
VChlcnJvck9iamVjdCk7CisgICAgICAgIGFkZEVycm9ySW5mbyhsZXhpY2FsR2xvYmFsT2JqZWN0
LCBhc09iamVjdChlcnJvck9iamVjdCksIHRydWUpOworICAgICAgICByZXR1cm4gZXJyb3JPYmpl
Y3Q7CisgICAgfQorICAgIH0KKyAgICByZXR1cm4geyB9OwogfQogCiBKU1ZhbHVlIGNyZWF0ZURP
TUV4Y2VwdGlvbihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgRXhjZXB0aW9u
JiYgZXhjZXB0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01FeGNlcHRpb25IYW5kbGluZy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01F
eGNlcHRpb25IYW5kbGluZy5oCmluZGV4IDJkM2UzMTFmNjFlZWI2ODVhYWMzNTU0NmFhZTE2MGRh
OTc5MGVmNWYuLmQxZjZkZTkzNzQ3MGNlNmRmMmNjYjY0NzIyODQ3NjZmZDAxOTU4MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5n
LmgKQEAgLTY1LDYgKzY1LDcgQEAgV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1ZSBy
ZWplY3RQcm9taXNlV2l0aEdldHRlclR5cGVFcnJvcihKU0M6OkpTR2xvYmEKIFdFQkNPUkVfRVhQ
T1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgcmVqZWN0UHJvbWlzZVdpdGhUaGlzVHlwZUVycm9yKERl
ZmVycmVkUHJvbWlzZSYsIGNvbnN0IGNoYXIqIGludGVyZmFjZU5hbWUsIGNvbnN0IGNoYXIqIG9w
ZXJhdGlvbk5hbWUpOwogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1ZSByZWplY3RQ
cm9taXNlV2l0aFRoaXNUeXBlRXJyb3IoSlNDOjpKU0dsb2JhbE9iamVjdCYsIGNvbnN0IGNoYXIq
IGludGVyZmFjZU5hbWUsIGNvbnN0IGNoYXIqIG9wZXJhdGlvbk5hbWUpOwogCitTdHJpbmcgcmV0
cmlldmVFcnJvck1lc3NhZ2VXaXRob3V0TmFtZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpW
TSYsIEpTQzo6SlNWYWx1ZSBleGNlcHRpb24sIEpTQzo6Q2F0Y2hTY29wZSYpOwogU3RyaW5nIHJl
dHJpZXZlRXJyb3JNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlZNJiwgSlNDOjpK
U1ZhbHVlIGV4Y2VwdGlvbiwgSlNDOjpDYXRjaFNjb3BlJik7CiBXRUJDT1JFX0VYUE9SVCB2b2lk
IHJlcG9ydEV4Y2VwdGlvbihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU1ZhbHVlIGV4Y2Vw
dGlvbiwgQ2FjaGVkU2NyaXB0KiA9IG51bGxwdHIpOwogV0VCQ09SRV9FWFBPUlQgdm9pZCByZXBv
cnRFeGNlcHRpb24oSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhjZXB0aW9uKiwgQ2FjaGVk
U2NyaXB0KiA9IG51bGxwdHIsIEV4Y2VwdGlvbkRldGFpbHMqID0gbnVsbHB0cik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNThi
N2RmNzYwYzAwYTMxZmYwOGVkMjJkZWUyMmE4Yzc0NDNhZThkZC4uOWQ2OTdkNDU5YjU2MzQ1Y2M4
Mzk2MjAyNjY3NmUwMGE5OGJmNDlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIkpT
V29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiUmVqZWN0ZWRQcm9taXNlVHJhY2tlci5o
IgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTY3JpcHRN
b2R1bGVMb2FkZXIuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmVkQ2xvbmUuaCIKICNpbmNsdWRlICJX
ZWJDb3JlSlNDbGllbnREYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAg
LTQyMiw2ICs0MjMsNzkgQEAgSlNDOjpKU1Byb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0OjppbnN0
YW50aWF0ZVN0cmVhbWluZyhKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG8KIH0KICNlbmRpZgogCitz
dGF0aWMgU2NyaXB0TW9kdWxlTG9hZGVyKiBzY3JpcHRNb2R1bGVMb2FkZXIoSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNET01XaW5kb3dCYXNlPih2bSkpIHsK
KyAgICAgICAgaWYgKGF1dG8gZG9jdW1lbnQgPSBqc0Nhc3Q8Y29uc3QgSlNET01XaW5kb3dCYXNl
Kj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCisgICAgICAgICAgICByZXR1
cm4gJmRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgfQorICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTUmVtb3RlRE9NV2luZG93QmFz
ZT4odm0pKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5p
bmhlcml0czxKU1dvcmtlckdsb2JhbFNjb3BlQmFzZT4odm0pKQorICAgICAgICByZXR1cm4gJmpz
Q2FzdDxjb25zdCBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBw
ZWQoKS5tb2R1bGVMb2FkZXIoKTsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2U+KHZtKSkKKyAgICAgICAgcmV0dXJuICZqc0Nhc3Q8Y29uc3Qg
SlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlKj4oZ2xvYmFsT2JqZWN0KS0+d3JhcHBlZCgpLm1vZHVs
ZUxvYWRlcigpOworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorICAgIGlmIChnbG9iYWxP
YmplY3QtPmluaGVyaXRzPEpTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdD4odm0pKQorICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyNlbmRpZgorICAgIGRhdGFMb2coIlVuZXhwZWN0ZWQgZ2xv
YmFsIG9iamVjdDogIiwgSlNWYWx1ZShnbG9iYWxPYmplY3QpLCAiXG4iKTsKKyAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCitKU0M6Oklk
ZW50aWZpZXIgSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2Fk
ZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVL
ZXksIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQoreworICAgIEpTRE9NR2xvYmFsT2JqZWN0
KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVj
dCkpCisgICAgICAgIHJldHVybiBsb2FkZXItPnJlc29sdmUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVM
b2FkZXIsIG1vZHVsZU5hbWUsIGltcG9ydGVyTW9kdWxlS2V5LCBzY3JpcHRGZXRjaGVyKTsKKyAg
ICByZXR1cm4geyB9OworfQorCitKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVL
ZXksIEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikK
K3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0
ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlm
IChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAg
IFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbG9hZGVyLT5mZXRjaChnbG9iYWxPYmplY3QsIG1v
ZHVsZUxvYWRlciwgbW9kdWxlS2V5LCBwYXJhbWV0ZXJzLCBzY3JpcHRGZXRjaGVyKSk7CisgICAg
SlNDOjpKU0ludGVybmFsUHJvbWlzZSogcHJvbWlzZSA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2U6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7Cisg
ICAgc2NvcGUucmVsZWFzZSgpOworICAgIHByb21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGpz
VW5kZWZpbmVkKCkpOworICAgIHJldHVybiBwcm9taXNlOworfQorCitKU0M6OkpTVmFsdWUgSlNE
T01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckV2YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpT
VmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgbW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUg
c2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IEpT
Qzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0
byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQorICAgICAgICByZXR1
cm4gbG9hZGVyLT5ldmFsdWF0ZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlS2V5
LCBtb2R1bGVSZWNvcmQsIHNjcmlwdEZldGNoZXIpOworICAgIHJldHVybiBKU0M6OmpzVW5kZWZp
bmVkKCk7Cit9CisKK0pTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpTRE9NR2xvYmFsT2JqZWN0Ojpt
b2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNTdHJpbmcqIG1vZHVs
ZU5hbWUsIEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBjb25zdCBKU0M6OlNvdXJjZU9yaWdpbiYg
c291cmNlT3JpZ2luKQoreworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgSlNET01HbG9iYWxPYmpl
Y3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2Jq
ZWN0KSkKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBsb2FkZXItPmltcG9ydE1v
ZHVsZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxlTmFtZSwgcGFyYW1ldGVycywg
c291cmNlT3JpZ2luKSk7CisgICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogcHJvbWlzZSA9IEpT
Qzo6SlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFBy
b21pc2VTdHJ1Y3R1cmUoKSk7CisgICAgc2NvcGUucmVsZWFzZSgpOworICAgIHByb21pc2UtPnJl
amVjdChnbG9iYWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOworICAgIHJldHVybiBwcm9taXNlOwor
fQorCitKU0M6OkpTT2JqZWN0KiBKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyQ3JlYXRl
SW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXks
IEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZl
dGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKGF1dG8qIGxvYWRl
ciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIGxvYWRl
ci0+Y3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIs
IG1vZHVsZUtleSwgbW9kdWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKKyAgICByZXR1cm4gY29u
c3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPm51bGxQ
cm90b3R5cGVPYmplY3RTdHJ1Y3R1cmUoKSk7Cit9CisKIEpTRE9NR2xvYmFsT2JqZWN0JiBjYWxs
ZXJHbG9iYWxPYmplY3QoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxG
cmFtZSYgY2FsbEZyYW1lKQogewogICAgIGNsYXNzIEdldENhbGxlckdsb2JhbE9iamVjdEZ1bmN0
b3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgK
aW5kZXggYjg0MDcyZGRkNzQ2YjNkNmM1MTA2MGQ5MDUwMWI1Y2VhMWI0OTliMS4uZjQ5YTRjZDI1
NzE5NzExODkxN2E3ZDdhNGI2YzBlMTFmYzc2YmE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCkBAIC0xMDUsNiArMTA1LDEyIEBAIGNsYXNz
IFdFQkNPUkVfRVhQT1JUIEpTRE9NR2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6SlNHbG9iYWxP
YmplY3QgewogICAgIHN0YXRpYyBKU0M6OkpTUHJvbWlzZSogaW5zdGFudGlhdGVTdHJlYW1pbmco
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU09iamVjdCopOwogI2Vu
ZGlmCiAKKyAgICBzdGF0aWMgSlNDOjpJZGVudGlmaWVyIG1vZHVsZUxvYWRlclJlc29sdmUoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpT
Qzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJv
bWlzZSogbW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1
bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKKyAg
ICBzdGF0aWMgSlNDOjpKU1ZhbHVlIG1vZHVsZUxvYWRlckV2YWx1YXRlKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUs
IEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVs
ZUxvYWRlckltcG9ydE1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxv
YWRlciosIEpTQzo6SlNTdHJpbmcqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6U291cmNlT3Jp
Z2luJik7CisgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIG1vZHVsZUxvYWRlckNyZWF0ZUltcG9y
dE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVy
KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTTW9kdWxlUmVjb3JkKiwgSlNDOjpKU1ZhbHVlKTsKKwog
ICAgIEpTRE9NU3RydWN0dXJlTWFwIG1fc3RydWN0dXJlczsKICAgICBKU0RPTUNvbnN0cnVjdG9y
TWFwIG1fY29uc3RydWN0b3JzOwogICAgIERPTUd1YXJkZWRPYmplY3RTZXQgbV9ndWFyZGVkT2Jq
ZWN0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3Bw
CmluZGV4IDU2M2VmYTA1NzFiNWQ0NjJkOWU2NDUwODlmMGJkOGY3N2QxOWE3NjguLjMxMmEwMTE1
OGU4YzI4MDgzYzA3ZTQyZGI4NzI0NWZlNGU1YzU3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcApAQCAtMzM5LDU0ICszMzksNCBAQCB2b2lk
IEpTRE9NV2luZG93QmFzZTo6ZmlyZUZyYW1lQ2xlYXJlZFdhdGNocG9pbnRzRm9yV2luZG93KERP
TVdpbmRvdyogd2luZG93KQogICAgIH0KIH0KIAotSlNDOjpJZGVudGlmaWVyIEpTRE9NV2luZG93
QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZU5hbWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlw
dEZldGNoZXIpCi17Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nh
c3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3Vt
ZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAg
ICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLnJlc29sdmUoZ2xvYmFsT2JqZWN0LCBt
b2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIGltcG9ydGVyTW9kdWxlS2V5LCBzY3JpcHRGZXRjaGVy
KTsKLSAgICByZXR1cm4geyB9OwotfQotCi1KU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTVdp
bmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9k
dWxlS2V5LCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNo
ZXIpCi17Ci0gICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwotICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmpl
Y3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3QpOwotICAgIGlm
IChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBlZCgpLmRvY3Vt
ZW50KCkpCi0gICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgZG9jdW1lbnQtPm1vZHVs
ZUxvYWRlcigpLmZldGNoKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVLZXksIHBh
cmFtZXRlcnMsIHNjcmlwdEZldGNoZXIpKTsKLSAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBw
cm9taXNlID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qt
PmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAg
cHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwganNVbmRlZmluZWQoKSk7Ci0gICAgcmV0dXJu
IHByb21pc2U7Ci19Ci0KLUpTQzo6SlNWYWx1ZSBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRl
ckV2YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVs
ZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFs
dWUgbW9kdWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RP
TVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihn
bG9iYWxPYmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09i
amVjdC0+d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9k
dWxlTG9hZGVyKCkuZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtl
eSwgbW9kdWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKLSAgICByZXR1cm4gSlNDOjpqc1VuZGVm
aW5lZCgpOwotfQotCi1KU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTVdpbmRvd0Jhc2U6Om1v
ZHVsZUxvYWRlckltcG9ydE1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1N0cmluZyogbW9kdWxl
TmFtZSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIGNvbnN0IEpTQzo6U291cmNlT3JpZ2luJiBz
b3VyY2VPcmlnaW4pCi17Ci0gICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwotICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBKU0RPTVdpbmRvd0Jhc2Uq
IHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxPYmplY3Qp
OwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+d3JhcHBl
ZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgZG9jdW1l
bnQtPm1vZHVsZUxvYWRlcigpLmltcG9ydE1vZHVsZShnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRl
ciwgbW9kdWxlTmFtZSwgcGFyYW1ldGVycywgc291cmNlT3JpZ2luKSk7Ci0gICAgSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogcHJvbWlzZSA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2
bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7Ci0gICAgc2NvcGUu
cmVsZWFzZSgpOwotICAgIHByb21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGpzVW5kZWZpbmVk
KCkpOwotICAgIHJldHVybiBwcm9taXNlOwotfQotCi1KU0M6OkpTT2JqZWN0KiBKU0RPTVdpbmRv
d0Jhc2U6Om1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVy
LCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTTW9kdWxlUmVjb3JkKiBtb2R1bGVSZWNv
cmQsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSog
dGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7
Ci0gICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVk
KCkuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5j
cmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9k
dWxlS2V5LCBtb2R1bGVSZWNvcmQsIHNjcmlwdEZldGNoZXIpOwotICAgIHJldHVybiBjb25zdHJ1
Y3RFbXB0eU9iamVjdChnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+bnVsbFByb3Rv
dHlwZU9iamVjdFN0cnVjdHVyZSgpKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAppbmRleCAzZWY5ODBk
ZDI3ZjZiMjEzOTg3MDA4YmE0NzZjOGNhNjlmMmYwYjY0Li41MTQyYjFjN2RjMjVjMjJmZTk3ODk1
ZTc1YWUyMmVmNGQxZTU4OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuaApAQCAtOTksMTIgKzk5LDYgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNE
T01XaW5kb3dCYXNlIDogcHVibGljIEpTRE9NR2xvYmFsT2JqZWN0IHsKIHByaXZhdGU6CiAgICAg
dXNpbmcgUmVzcG9uc2VDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBjaGFyKiwg
c2l6ZV90KT47CiAKLSAgICBzdGF0aWMgSlNDOjpJZGVudGlmaWVyIG1vZHVsZUxvYWRlclJlc29s
dmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFs
dWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMgSlNDOjpKU0ludGVy
bmFsUHJvbWlzZSogbW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6
SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVl
KTsKLSAgICBzdGF0aWMgSlNDOjpKU1ZhbHVlIG1vZHVsZUxvYWRlckV2YWx1YXRlKEpTQzo6SlNH
bG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpT
VmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2Uq
IG1vZHVsZUxvYWRlckltcG9ydE1vZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01v
ZHVsZUxvYWRlciosIEpTQzo6SlNTdHJpbmcqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6U291
cmNlT3JpZ2luJik7Ci0gICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIG1vZHVsZUxvYWRlckNyZWF0
ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxl
TG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTTW9kdWxlUmVjb3JkKiwgSlNDOjpKU1ZhbHVl
KTsKLQogICAgIFJlZlB0cjxET01XaW5kb3c+IG1fd3JhcHBlZDsKICAgICBSZWZQdHI8RXZlbnQ+
IG1fY3VycmVudEV2ZW50OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCA0MmIyNmM5ZjRlYTIxNjIwN2Rl
NGM4NjgyMGI4YTgxYjYwMzViN2ViLi4yZDc5M2ZmZjIxODUzYThhMWE3ODgwNjY3MjUwZjU3ZTc1
MmZlM2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckds
b2JhbFNjb3BlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
ZXJHbG9iYWxTY29wZUJhc2UuY3BwCkBAIC01OSwxMSArNTksMTEgQEAgY29uc3QgR2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibGUgSlNXb3JrZXJHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFsT2JqZWN0TWV0
aG9kVGFibGUKICAgICAmamF2YVNjcmlwdFJ1bnRpbWVGbGFncywKICAgICAmcXVldWVNaWNyb3Rh
c2tUb0V2ZW50TG9vcCwKICAgICAmc2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGltZW91dCwK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUKLSAgICBudWxscHRyLCAv
LyBtb2R1bGVMb2FkZXJSZXNvbHZlCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyRmV0Y2gK
LSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcwot
ICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckV2YWx1YXRlCisgICAgJm1vZHVsZUxvYWRlcklt
cG9ydE1vZHVsZSwKKyAgICAmbW9kdWxlTG9hZGVyUmVzb2x2ZSwKKyAgICAmbW9kdWxlTG9hZGVy
RmV0Y2gsCisgICAgJm1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzLAorICAg
ICZtb2R1bGVMb2FkZXJFdmFsdWF0ZSwKICAgICAmcHJvbWlzZVJlamVjdGlvblRyYWNrZXIsCiAg
ICAgJnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uQXRFdmVudExvb3AsCiAgICAgJmN1cnJlbnRTY3Jp
cHRFeGVjdXRpb25Pd25lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCmluZGV4IDM1ZmE2ZTMyNzdmYjBkNGJlMGUw
ZTFlZGM0MzcyMmVkYWRmYzhhZjIuLjlmYWVjOTU5YzM5ZDE3NDgxODFjOTg2NTAwM2Q1YTg2ZjE3
ZjVlM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEds
b2JhbFNjb3BlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
bGV0R2xvYmFsU2NvcGVCYXNlLmNwcApAQCAtNDksMTEgKzQ5LDExIEBAIGNvbnN0IEdsb2JhbE9i
amVjdE1ldGhvZFRhYmxlIEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RN
ZXRob2RUYWJsCiAgICAgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsCiAgICAgbnVsbHB0ciwgLy8g
cXVldWVNaWNyb3Rhc2tUb0V2ZW50TG9vcAogICAgICZzaG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZv
cmVUaW1lb3V0LAotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckltcG9ydE1vZHVsZQotICAg
IG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlclJlc29sdmUKLSAgICBudWxscHRyLCAvLyBtb2R1bGVM
b2FkZXJGZXRjaAotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1ldGFQ
cm9wZXJ0aWVzCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyRXZhbHVhdGUKKyAgICAmbW9k
dWxlTG9hZGVySW1wb3J0TW9kdWxlLAorICAgICZtb2R1bGVMb2FkZXJSZXNvbHZlLAorICAgICZt
b2R1bGVMb2FkZXJGZXRjaCwKKyAgICAmbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3Bl
cnRpZXMsCisgICAgJm1vZHVsZUxvYWRlckV2YWx1YXRlLAogICAgICZwcm9taXNlUmVqZWN0aW9u
VHJhY2tlciwKICAgICAmcmVwb3J0VW5jYXVnaHRFeGNlcHRpb25BdEV2ZW50TG9vcCwKICAgICAm
Y3VycmVudFNjcmlwdEV4ZWN1dGlvbk93bmVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTkxMGU5NDliN2FjMWEzOGVk
ZWVjYjAzZGViNmVlODk0Y2NlYjBkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
KyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9TY3JpcHRGZXRjaGVyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQ7CisKK2Ns
YXNzIE1vZHVsZVNjcmlwdExvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPE1vZHVsZVNjcmlwdExv
YWRlcj4geworcHVibGljOgorICAgIHZpcnR1YWwgfk1vZHVsZVNjcmlwdExvYWRlcigpID0gZGVm
YXVsdDsKKworICAgIHZvaWQgY2xlYXJDbGllbnQoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1f
Y2xpZW50KTsKKyAgICAgICAgbV9jbGllbnQgPSBudWxscHRyOworICAgIH0KKworICAgIEpTQzo6
U2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlcigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hlci5n
ZXQoKTsgfQorICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyogcGFyYW1ldGVycygpIHsgcmV0dXJu
IG1fcGFyYW1ldGVycy5nZXQoKTsgfQorCitwcm90ZWN0ZWQ6CisgICAgTW9kdWxlU2NyaXB0TG9h
ZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZlcnJlZFByb21pc2UmIHBy
b21pc2UsIEpTQzo6U2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZl
dGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IG1fY2xpZW50KCZjbGllbnQp
CisgICAgICAgICwgbV9wcm9taXNlKCZwcm9taXNlKQorICAgICAgICAsIG1fc2NyaXB0RmV0Y2hl
cihzY3JpcHRGZXRjaGVyKQorICAgICAgICAsIG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRl
cnMpKQorICAgIHsKKyAgICB9CisKKyAgICBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQqIG1fY2xp
ZW50OworICAgIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IG1fcHJvbWlzZTsKKyAgICBSZWY8SlND
OjpTY3JpcHRGZXRjaGVyPiBtX3NjcmlwdEZldGNoZXI7CisgICAgUmVmUHRyPE1vZHVsZUZldGNo
UGFyYW1ldGVycz4gbV9wYXJhbWV0ZXJzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mOTk1ZjQ4ZWUzZDFlMDJjMWQ4YzljOWRhMmJkNTgyMzZmM2Jh
MDdkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxl
U2NyaXB0TG9hZGVyQ2xpZW50LmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXI7CitjbGFzcyBEZWZlcnJlZFByb21p
c2U7CisKK2NsYXNzIE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CitwdWJsaWM6CisgICAgdmly
dHVhbCB+TW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KCkgPSBkZWZhdWx0OworCisgICAgdmlydHVh
bCB2b2lkIG5vdGlmeUZpbmlzaGVkKE1vZHVsZVNjcmlwdExvYWRlciYsIFVSTCYmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPikgPSAwOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAKaW5kZXggYWE1YjgwYjU4NmI3OWUwZTU3NTAx
Y2Q1MTA3OGRmMjVhNjI1ZTVkOS4uZDFlZTcxYjliNTVmMDU2YmMzNTZhNjk2ZjMwMWU4NGRhZGU3
N2NmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVM
b2FkZXIuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyLmgiCiAjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiQ2FjaGVkU2Ny
aXB0RmV0Y2hlci5oIgotI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIK
ICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIgpAQCAtNDEsNiArNDAsOSBAQAogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNp
bmNsdWRlICJTdWJyZXNvdXJjZUludGVncml0eS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVu
dERhdGEuaCIKKyNpbmNsdWRlICJXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCIKKyNpbmNsdWRl
ICJXb3JrZXJTY3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgi
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29tcGxldGlvbi5oPgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SlNNb2R1bGVSZWNvcmQuaD4KQEAgLTUyLDggKzU0LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1TY3JpcHRNb2R1bGVMb2FkZXI6OlNjcmlwdE1vZHVsZUxvYWRlcihEb2N1bWVudCYgZG9j
dW1lbnQpCi0gICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQorU2NyaXB0TW9kdWxlTG9hZGVyOjpT
Y3JpcHRNb2R1bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgT3duZXJU
eXBlIG93bmVyVHlwZSkKKyAgICA6IG1fY29udGV4dChjb250ZXh0KQorICAgICwgbV9vd25lclR5
cGUob3duZXJUeXBlKQogewogfQogCkBAIC02OCw3ICs3MSw3IEBAIHN0YXRpYyBib29sIGlzUm9v
dE1vZHVsZShKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXkpCiAgICAgcmV0dXJuIGltcG9y
dGVyTW9kdWxlS2V5LmlzU3ltYm9sKCkgfHwgaW1wb3J0ZXJNb2R1bGVLZXkuaXNVbmRlZmluZWQo
KTsKIH0KIAotc3RhdGljIEV4cGVjdGVkPFVSTCwgU3RyaW5nPiByZXNvbHZlTW9kdWxlU3BlY2lm
aWVyKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBzcGVjaWZpZXIsIGNvbnN0IFVS
TCYgYmFzZVVSTCkKK3N0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNw
ZWNpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTY3JpcHRNb2R1bGVMb2Fk
ZXI6Ok93bmVyVHlwZSBvd25lclR5cGUsIGNvbnN0IFN0cmluZyYgc3BlY2lmaWVyLCBjb25zdCBV
UkwmIGJhc2VVUkwpCiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI3Jlc29sdmUtYS1tb2R1bGUtc3BlY2lmaWVyCiAKQEAgLTc5
LDcgKzgyLDEyIEBAIHN0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2ZU1vZHVsZVNw
ZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0CiAgICAgaWYgKCFzcGVjaWZpZXIu
c3RhcnRzV2l0aCgnLycpICYmICFzcGVjaWZpZXIuc3RhcnRzV2l0aCgiLi8iKSAmJiAhc3BlY2lm
aWVyLnN0YXJ0c1dpdGgoIi4uLyIpKQogICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQobWFr
ZVN0cmluZygiTW9kdWxlIHNwZWNpZmllciwgJyJfcywgc3BlY2lmaWVyLCAiJyBkb2VzIG5vdCBz
dGFydCB3aXRoIFwiL1wiLCBcIi4vXCIsIG9yIFwiLi4vXCIuIFJlZmVyZW5jZWQgZnJvbSAiX3Ms
IGJhc2VVUkwuc3RyaW5nKCkpKTsKIAotICAgIGF1dG8gcmVzdWx0ID0gZG9jdW1lbnQuY29tcGxl
dGVVUkwoc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBVUkwgcmVzdWx0OworICAgIGlmIChvd25l
clR5cGUgPT0gU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5cGU6OkRvY3VtZW50KQorICAgICAg
ICByZXN1bHQgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkuY29tcGxldGVVUkwoc3BlY2lm
aWVyLCBiYXNlVVJMKTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IFVSTChiYXNlVVJMLCBz
cGVjaWZpZXIpOworCiAgICAgaWYgKCFyZXN1bHQuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4g
bWFrZVVuZXhwZWN0ZWQobWFrZVN0cmluZygiTW9kdWxlIG5hbWUsICciX3MsIHJlc3VsdC5zdHJp
bmcoKSwgIicgZG9lcyBub3QgcmVzb2x2ZSB0byBhIHZhbGlkIFVSTC4iX3MpKTsKICAgICByZXR1
cm4gcmVzdWx0OwpAQCAtMTA3LDcgKzExNSw3IEBAIEpTQzo6SWRlbnRpZmllciBTY3JpcHRNb2R1
bGVMb2FkZXI6OnJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPYmplY3QsCiAg
ICAgVVJMIGJhc2VVUkwgPSByZXNwb25zZVVSTEZyb21SZXF1ZXN0VVJMKCpqc0dsb2JhbE9iamVj
dCwgaW1wb3J0ZXJNb2R1bGVLZXkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsg
fSk7CiAKLSAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIobV9kb2N1bWVu
dCwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKKyAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVT
cGVjaWZpZXIobV9jb250ZXh0LCBtX293bmVyVHlwZSwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKICAg
ICBpZiAoIXJlc3VsdCkgewogICAgICAgICBKU0M6OnRocm93VHlwZUVycm9yKGpzR2xvYmFsT2Jq
ZWN0LCBzY29wZSwgcmVzdWx0LmVycm9yKCkpOwogICAgICAgICByZXR1cm4geyB9OwpAQCAtMTYx
LDEzICsxNjksMTkgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9hZGVy
OjpmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBqc0dsb2JhbE8KICAgICBpZiAoYXV0byogc2Ny
aXB0RmV0Y2hQYXJhbWV0ZXJzID0gSlNDOjpqc0R5bmFtaWNDYXN0PEpTQzo6SlNTY3JpcHRGZXRj
aFBhcmFtZXRlcnMqPih2bSwgcGFyYW1ldGVycykpCiAgICAgICAgIHRvcExldmVsRmV0Y2hQYXJh
bWV0ZXJzID0gc3RhdGljX2Nhc3Q8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzKj4oJnNjcmlwdEZldGNo
UGFyYW1ldGVycy0+cGFyYW1ldGVycygpKTsKIAotICAgIGF1dG8gbG9hZGVyID0gQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdldCgpLCAqc3RhdGljX2Nh
c3Q8Q2FjaGVkU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6SlNTY3JpcHRGZXRjaGVy
Kj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9wTGV2ZWxGZXRjaFBhcmFt
ZXRlcnMpKTsKLSAgICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOwotICAgIGlmICgh
bG9hZGVyLT5sb2FkKG1fZG9jdW1lbnQsIGNvbXBsZXRlZFVSTCkpIHsKLSAgICAgICAgbG9hZGVy
LT5jbGVhckNsaWVudCgpOwotICAgICAgICBtX2xvYWRlcnMucmVtb3ZlKFdURk1vdmUobG9hZGVy
KSk7Ci0gICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKGRlZmVycmVkLmdldCgp
LCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0aW5nIGEgbW9kdWxl
IHNjcmlwdCBmYWlsZWQuIl9zKTsKLSAgICAgICAgcmV0dXJuIGpzUHJvbWlzZTsKKyAgICBpZiAo
bV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBhdXRvIGxvYWRl
ciA9IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQo
KSwgKnN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpT
U2NyaXB0RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExl
dmVsRmV0Y2hQYXJhbWV0ZXJzKSk7CisgICAgICAgIG1fbG9hZGVycy5hZGQobG9hZGVyLmNvcHlS
ZWYoKSk7CisgICAgICAgIGlmICghbG9hZGVyLT5sb2FkKGRvd25jYXN0PERvY3VtZW50PihtX2Nv
bnRleHQpLCBXVEZNb3ZlKGNvbXBsZXRlZFVSTCkpKSB7CisgICAgICAgICAgICBsb2FkZXItPmNs
ZWFyQ2xpZW50KCk7CisgICAgICAgICAgICBtX2xvYWRlcnMucmVtb3ZlKFdURk1vdmUobG9hZGVy
KSk7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihkZWZlcnJlZC5n
ZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1v
ZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7CisgICAgICAgICAgICByZXR1cm4ganNQcm9taXNlOwor
ICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXV0byBsb2FkZXIgPSBXb3JrZXJNb2R1
bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJyZWQuZ2V0KCksICpzdGF0aWNfY2Fz
dDxXb3JrZXJTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8SlNDOjpKU1NjcmlwdEZldGNoZXIq
PihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92ZSh0b3BMZXZlbEZldGNoUGFyYW1l
dGVycykpOworICAgICAgICBtX2xvYWRlcnMuYWRkKGxvYWRlci5jb3B5UmVmKCkpOworICAgICAg
ICBsb2FkZXItPmxvYWQobV9jb250ZXh0LCBXVEZNb3ZlKGNvbXBsZXRlZFVSTCkpOwogICAgIH0K
IAogICAgIHJldHVybiBqc1Byb21pc2U7CkBAIC0xNzYsNyArMTkwLDcgQEAgSlNDOjpKU0ludGVy
bmFsUHJvbWlzZSogU2NyaXB0TW9kdWxlTG9hZGVyOjpmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0
KiBqc0dsb2JhbE8KIFVSTCBTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVsZVVSTChKU0M6OkpTR2xv
YmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleVZhbHVlKQog
ewogICAgIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N5bWJvbCgpKQotICAgICAgICByZXR1cm4gbV9k
b2N1bWVudC51cmwoKTsKKyAgICAgICAgcmV0dXJuIG1fY29udGV4dC51cmwoKTsKIAogICAgIEFT
U0VSVChtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKTsKICAgICByZXR1cm4gVVJMKFVSTCgpLCBh
c1N0cmluZyhtb2R1bGVLZXlWYWx1ZSktPnZhbHVlKCZqc0dsb2JhbE9iamVjdCkpOwpAQCAtMTg3
LDggKzIwMSwxMSBAQCBVUkwgU2NyaXB0TW9kdWxlTG9hZGVyOjpyZXNwb25zZVVSTEZyb21SZXF1
ZXN0VVJMKEpTQzo6SlNHbG9iYWxPYmplY3QmIGpzR2xvYmFsTwogICAgIEpTQzo6Vk0mIHZtID0g
anNHbG9iYWxPYmplY3Qudm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7CiAKLSAgICBpZiAoaXNSb290TW9kdWxlKG1vZHVsZUtleVZhbHVlKSkKLSAgICAgICAg
cmV0dXJuIG1fZG9jdW1lbnQuYmFzZVVSTCgpOworICAgIGlmIChpc1Jvb3RNb2R1bGUobW9kdWxl
S2V5VmFsdWUpKSB7CisgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3Vt
ZW50KQorICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmJh
c2VVUkwoKTsKKyAgICAgICAgcmV0dXJuIG1fY29udGV4dC51cmwoKTsKKyAgICB9CiAKICAgICBB
U1NFUlQoIWlzUm9vdE1vZHVsZShtb2R1bGVLZXlWYWx1ZSkpOwogICAgIEFTU0VSVChtb2R1bGVL
ZXlWYWx1ZS5pc1N0cmluZygpKTsKQEAgLTIxOSw4ICsyMzYsMTQgQEAgSlNDOjpKU1ZhbHVlIFNj
cmlwdE1vZHVsZUxvYWRlcjo6ZXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxP
YmplY3QsIEoKICAgICBpZiAoIXNvdXJjZVVSTC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBK
U0M6OnRocm93VHlwZUVycm9yKGpzR2xvYmFsT2JqZWN0LCBzY29wZSwgIk1vZHVsZSBrZXkgaXMg
YW4gaW52YWxpZCBVUkwuIl9zKTsKIAotICAgIGlmIChhdXRvKiBmcmFtZSA9IG1fZG9jdW1lbnQu
ZnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS5ldmFsdWF0ZU1vZHVsZShz
b3VyY2VVUkwsICptb2R1bGVSZWNvcmQpOworICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5
cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvd25jYXN0PERvY3Vt
ZW50PihtX2NvbnRleHQpLmZyYW1lKCkpCisgICAgICAgICAgICByZXR1cm4gZnJhbWUtPnNjcmlw
dCgpLmV2YWx1YXRlTW9kdWxlKHNvdXJjZVVSTCwgKm1vZHVsZVJlY29yZCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgQVNTRVJUKGlzPFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPihtX2NvbnRl
eHQpKTsKKyAgICAgICAgaWYgKGF1dG8qIHNjcmlwdCA9IGRvd25jYXN0PFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlPihtX2NvbnRleHQpLnNjcmlwdCgpKQorICAgICAgICAgICAgcmV0dXJuIHNj
cmlwdC0+ZXZhbHVhdGVNb2R1bGUoKm1vZHVsZVJlY29yZCk7CisgICAgfQogICAgIHJldHVybiBK
U0M6OmpzVW5kZWZpbmVkKCk7CiB9CiAKQEAgLTI0OCwyMyArMjcxLDQxIEBAIEpTQzo6SlNJbnRl
cm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGpzCiAgICAgVVJMIGJhc2VVUkw7CiAgICAgUmVmUHRyPEpTQzo6U2NyaXB0RmV0
Y2hlcj4gc2NyaXB0RmV0Y2hlcjsKICAgICBpZiAoc291cmNlT3JpZ2luLmlzTnVsbCgpKSB7Ci0g
ICAgICAgIGJhc2VVUkwgPSBtX2RvY3VtZW50LmJhc2VVUkwoKTsKLSAgICAgICAgc2NyaXB0RmV0
Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7
CisgICAgICAgIGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KSB7CisgICAg
ICAgICAgICBiYXNlVVJMID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuYmFzZVVSTCgp
OworICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0
ZShkb3duY2FzdDxEb2N1bWVudD4obV9jb250ZXh0KS5jaGFyc2V0KCkpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBh
Z2Uvd2ViYXBwYXBpcy5odG1sI2RlZmF1bHQtY2xhc3NpYy1zY3JpcHQtZmV0Y2gtb3B0aW9ucwor
ICAgICAgICAgICAgYmFzZVVSTCA9IG1fY29udGV4dC51cmwoKTsKKyAgICAgICAgICAgIHNjcmlw
dEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpjcmVhdGUoRmV0Y2hPcHRpb25zOjpDcmVk
ZW50aWFsczo6U2FtZU9yaWdpbiwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2NyaXB0LCBS
ZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOworICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgYmFzZVVSTCA9IFVSTChVUkwoKSwgc291cmNlT3JpZ2luLnN0cmluZygpKTsKICAgICAg
ICAgaWYgKCFiYXNlVVJMLmlzVmFsaWQoKSkKICAgICAgICAgICAgIHJldHVybiByZWplY3RQcm9t
aXNlKGdsb2JhbE9iamVjdCwgVHlwZUVycm9yLCAiSW1wb3J0ZXIgbW9kdWxlIGtleSBpcyBub3Qg
YSBTeW1ib2wgb3IgYSBTdHJpbmcuIl9zKTsKIAotICAgICAgICBpZiAoc291cmNlT3JpZ2luLmZl
dGNoZXIoKSkKKyAgICAgICAgaWYgKHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpIHsKICAgICAgICAg
ICAgIHNjcmlwdEZldGNoZXIgPSBzb3VyY2VPcmlnaW4uZmV0Y2hlcigpOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gQ2FjaGVkU2NyaXB0RmV0Y2hlcjo6Y3JlYXRl
KG1fZG9jdW1lbnQuY2hhcnNldCgpKTsKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVj
LndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hbi1pbXBvcnQoKS1t
b2R1bGUtc2NyaXB0LWdyYXBoCisgICAgICAgICAgICAvLyBEZXN0aW5hdGlvbiBzaG91bGQgYmUg
InNjcmlwdCIgZm9yIGR5bmFtaWMtaW1wb3J0LgorICAgICAgICAgICAgaWYgKG1fb3duZXJUeXBl
ID09IE93bmVyVHlwZTo6V29ya2VyT3JXb3JrbGV0KSB7CisgICAgICAgICAgICAgICAgYXV0byYg
ZmV0Y2hlciA9IHN0YXRpY19jYXN0PFdvcmtlclNjcmlwdEZldGNoZXImPigqc2NyaXB0RmV0Y2hl
cik7CisgICAgICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IFdvcmtlclNjcmlwdEZldGNoZXI6
OmNyZWF0ZShmZXRjaGVyLmNyZWRlbnRpYWxzKCksIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OlNjcmlwdCwgZmV0Y2hlci5yZWZlcnJlclBvbGljeSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorCisgICAgICAgIGlmICghc2NyaXB0RmV0Y2hlcikgeworICAgICAgICAgICAgaWYgKG1f
b3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpCisgICAgICAgICAgICAgICAgc2NyaXB0
RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShkb3duY2FzdDxEb2N1bWVudD4o
bV9jb250ZXh0KS5jaGFyc2V0KCkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
IHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpjcmVhdGUoRmV0Y2hPcHRpb25z
OjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbiwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2Ny
aXB0LCBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOworICAgICAgICB9CiAgICAgfQogICAg
IEFTU0VSVChiYXNlVVJMLmlzVmFsaWQoKSk7CiAgICAgQVNTRVJUKHNjcmlwdEZldGNoZXIpOwog
CiAgICAgYXV0byBzcGVjaWZpZXIgPSBtb2R1bGVOYW1lLT52YWx1ZShqc0dsb2JhbE9iamVjdCk7
Ci0gICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNw
ZWNpZmllciwgYmFzZVVSTCk7CisgICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lm
aWVyKG1fY29udGV4dCwgbV9vd25lclR5cGUsIHNwZWNpZmllciwgYmFzZVVSTCk7CiAgICAgaWYg
KCFyZXN1bHQpCiAgICAgICAgIHJldHVybiByZWplY3RQcm9taXNlKGdsb2JhbE9iamVjdCwgVHlw
ZUVycm9yLCByZXN1bHQuZXJyb3IoKSk7CiAKQEAgLTI4OCw2MiArMzI5LDEwNiBAQCBKU0M6OkpT
T2JqZWN0KiBTY3JpcHRNb2R1bGVMb2FkZXI6OmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpT
Qzo6SlNHbG9iYWxPYmplYwogICAgIHJldHVybiBtZXRhUHJvcGVydGllczsKIH0KIAotdm9pZCBT
Y3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ciYgbG9hZGVyLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBwcm9taXNlKQordm9pZCBTY3JpcHRN
b2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKE1vZHVsZVNjcmlwdExvYWRlciYgbW9kdWxlU2Ny
aXB0TG9hZGVyLCBVUkwmJiBzb3VyY2VVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+IHByb21pc2Up
CiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBw
YXBpcy5odG1sI2ZldGNoLWEtc2luZ2xlLW1vZHVsZS1zY3JpcHQKIAotICAgIFVSTCBzb3VyY2VV
UkwgPSBsb2FkZXIuc291cmNlVVJMKCk7Ci0gICAgaWYgKCFtX2xvYWRlcnMucmVtb3ZlKCZsb2Fk
ZXIpKQorICAgIGlmICghbV9sb2FkZXJzLnJlbW92ZSgmbW9kdWxlU2NyaXB0TG9hZGVyKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIGxvYWRlci5jbGVhckNsaWVudCgpOworICAgIG1vZHVsZVNjcmlw
dExvYWRlci5jbGVhckNsaWVudCgpOworCisgICAgYXV0byBjYW5vbmljYWxpemVBbmRSZWdpc3Rl
clJlc3BvbnNlVVJMID0gWyZdIChVUkwgcmVzcG9uc2VVUkwsIGJvb2wgaGFzUmVkaXJlY3Rpb25z
LCBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2Ugc291cmNlKSB7CisgICAgICAgIC8vIElmIHdlIGRv
IG5vdCBoYXZlIHJlZGlyZWN0aW9uLCB3ZSBtdXN0IHJlc2VydmUgdGhlIHNvdXJjZSBVUkwncyBm
cmFnbWVudCBleHBsaWNpdGx5IGhlcmUgc2luY2UgUmVzb3VyY2VSZXNwb25zZTo6dXJsKCkgaXMg
dGhlIG9uZSB3aGVuIHdlIGZpcnN0IGNhY2hlIGl0IHRvIE1lbW9yeUNhY2hlLgorICAgICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIHRyYWNrIGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4K
KyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODQy
MAorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEw
NDkwCisgICAgICAgIGlmICghaGFzUmVkaXJlY3Rpb25zICYmIHNvdXJjZSAhPSBSZXNvdXJjZVJl
c3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VV
UkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAgICAgICAgICAgcmVzcG9uc2VVUkwu
c2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZpZXIoKSk7Cisg
ICAgICAgIH0KIAotICAgIGF1dG8mIGNhY2hlZFNjcmlwdCA9ICpsb2FkZXIuY2FjaGVkU2NyaXB0
KCk7CisgICAgICAgIG1fcmVxdWVzdFVSTFRvUmVzcG9uc2VVUkxNYXAuYWRkKHNvdXJjZVVSTC5z
dHJpbmcoKSwgcmVzcG9uc2VVUkwpOworICAgICAgICByZXR1cm4gcmVzcG9uc2VVUkw7CisgICAg
fTsKIAotICAgIGlmIChjYWNoZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNjZXNzQ29udHJv
bCgpKSB7Ci0gICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsICJDcm9zcy1vcmlnaW4g
c2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGlj
eS4iX3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIGlmIChtX293bmVyVHlwZSA9PSBP
d25lclR5cGU6OkRvY3VtZW50KSB7CisgICAgICAgIGF1dG8mIGxvYWRlciA9IHN0YXRpY19jYXN0
PENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciY+KG1vZHVsZVNjcmlwdExvYWRlcik7CisgICAgICAg
IGF1dG8mIGNhY2hlZFNjcmlwdCA9ICpsb2FkZXIuY2FjaGVkU2NyaXB0KCk7CiAKLSAgICBpZiAo
Y2FjaGVkU2NyaXB0LmVycm9yT2NjdXJyZWQoKSkgewotICAgICAgICByZWplY3RUb1Byb3BhZ2F0
ZU5ldHdvcmtFcnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3Jl
ZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQucmVzb3VyY2VFcnJvcigpLmlzQWNj
ZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJv
cihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiQ3Jv
c3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hh
cmluZyBwb2xpY3kuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAg
aWYgKGNhY2hlZFNjcmlwdC53YXNDYW5jZWxlZCgpKSB7Ci0gICAgICAgIHJlamVjdFRvUHJvcGFn
YXRlTmV0d29ya0Vycm9yKCpwcm9taXNlLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNDYW5j
ZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgaXMgY2FuY2VsZWQuIl9zKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgaWYgKGNhY2hlZFNjcmlwdC5lcnJvck9jY3VycmVk
KCkpIHsKKyAgICAgICAgICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2Uu
Z2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBt
b2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CiAKLSAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVU
eXBlKGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1pbWVUeXBlKCkpKSB7Ci0gICAgICAgIC8vIGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNmZXRj
aC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0Ci0gICAgICAgIC8vIFRoZSByZXN1bHQgb2YgZXh0cmFj
dGluZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVhZGVyIGxpc3QgKGlnbm9yaW5nIHBh
cmFtZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLgotICAgICAgICAvLyBGb3Ig
aGlzdG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGlu
Y2x1ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2ls
bCBmYWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCi0g
ICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIiciLCBjYWNoZWRT
Y3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpLCAiJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0
IE1JTUUgdHlwZS4iKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNo
ZWRTY3JpcHQud2FzQ2FuY2VsZWQoKSkgeworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVO
ZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2Fu
Y2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlmIChhdXRvKiBwYXJhbWV0ZXJzID0g
bG9hZGVyLnBhcmFtZXRlcnMoKSkgewotICAgICAgICBpZiAoIW1hdGNoSW50ZWdyaXR5TWV0YWRh
dGEoY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpIHsKLSAgICAgICAgICAg
IHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIkNhbm5vdCBsb2FkIHNjcmlw
dCAiLCBpbnRlZ3JpdHlNaXNtYXRjaERlc2NyaXB0aW9uKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVy
cy0+aW50ZWdyaXR5KCkpKSk7CisgICAgICAgIGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBw
b3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUoY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUo
KSkpIHsKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlw
YWdlL3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0CisgICAgICAg
ICAgICAvLyBUaGUgcmVzdWx0IG9mIGV4dHJhY3RpbmcgYSBNSU1FIHR5cGUgZnJvbSByZXNwb25z
ZSdzIGhlYWRlciBsaXN0IChpZ25vcmluZyBwYXJhbWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0
IE1JTUUgdHlwZS4KKyAgICAgICAgICAgIC8vIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIGZldGNo
aW5nIGEgY2xhc3NpYyBzY3JpcHQgZG9lcyBub3QgaW5jbHVkZSBNSU1FIHR5cGUgY2hlY2tpbmcu
IEluIGNvbnRyYXN0LCBtb2R1bGUgc2NyaXB0cyB3aWxsIGZhaWwgdG8gbG9hZCBpZiB0aGV5IGFy
ZSBub3Qgb2YgYSBjb3JyZWN0IE1JTUUgdHlwZS4KKyAgICAgICAgICAgIHByb21pc2UtPnJlamVj
dChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIiciLCBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1l
VHlwZSgpLCAiJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iKSk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICB9CiAKLSAgICBVUkwgcmVzcG9uc2VVUkwg
PSBjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS51cmwoKTsKLSAgICAvLyBJZiB3ZSBkbyBub3QgaGF2
ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2UgVVJMJ3MgZnJhZ21lbnQg
ZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVybCgpIGlzIHRoZSBvbmUg
d2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KLSAgICAvLyBGSVhNRTogV2Ug
c2hvdWxkIHRyYWNrIGZyYWdtZW50cyB0aHJvdWdoIHJlZGlyZWN0aW9ucy4KLSAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDIwCi0gICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ5MAotICAgIGlmICghY2FjaGVk
U2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpICYmIGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLnNvdXJj
ZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgewotICAgICAg
ICBpZiAoc291cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQotICAgICAgICAgICAgcmVz
cG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHNvdXJjZVVSTC5mcmFnbWVudElkZW50aWZp
ZXIoKSk7Ci0gICAgfQorICAgICAgICBpZiAoYXV0byogcGFyYW1ldGVycyA9IGxvYWRlci5wYXJh
bWV0ZXJzKCkpIHsKKyAgICAgICAgICAgIGlmICghbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShjYWNo
ZWRTY3JpcHQsIHBhcmFtZXRlcnMtPmludGVncml0eSgpKSkgeworICAgICAgICAgICAgICAgIHBy
b21pc2UtPnJlamVjdChUeXBlRXJyb3IsIG1ha2VTdHJpbmcoIkNhbm5vdCBsb2FkIHNjcmlwdCAi
LCBpbnRlZ3JpdHlNaXNtYXRjaERlc2NyaXB0aW9uKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+
aW50ZWdyaXR5KCkpKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
ICAgICAgICB9CiAKLSAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3VyY2VV
Ukwuc3RyaW5nKCksIFdURk1vdmUocmVzcG9uc2VVUkwpKTsKLSAgICBwcm9taXNlLT5yZXNvbHZl
V2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxPYmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7Ci0g
ICAgICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0LnZt
KCksCi0gICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgJmNh
Y2hlZFNjcmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVy
LnNjcmlwdEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOwotICAgIH0pOworICAgICAgICBj
YW5vbmljYWxpemVBbmRSZWdpc3RlclJlc3BvbnNlVVJMKGNhY2hlZFNjcmlwdC5yZXNwb25zZSgp
LnVybCgpLCBjYWNoZWRTY3JpcHQuaGFzUmVkaXJlY3Rpb25zKCksIGNhY2hlZFNjcmlwdC5yZXNw
b25zZSgpLnNvdXJjZSgpKTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhb
Jl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0
dXJuIEpTQzo6SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAg
ICAgICAgICAgICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgJmNhY2hlZFNj
cmlwdCwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6Ok1vZHVsZSwgbG9hZGVyLnNjcmlw
dEZldGNoZXIoKSB9LmpzU291cmNlQ29kZSgpIH0pOworICAgICAgICB9KTsKKyAgICB9IGVsc2Ug
eworICAgICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0aWNfY2FzdDxXb3JrZXJNb2R1bGVTY3JpcHRM
b2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIpOworICAgICAgICBhdXRvJiB3b3JrZXJTY3JpcHRM
b2FkZXIgPSBsb2FkZXIuc2NyaXB0TG9hZGVyKCk7CisKKyAgICAgICAgaWYgKHdvcmtlclNjcmlw
dExvYWRlci5mYWlsZWQoKSkgeworICAgICAgICAgICAgaWYgKHdvcmtlclNjcmlwdExvYWRlci5l
cnJvcigpLmlzQWNjZXNzQ29udHJvbCgpKSB7CisgICAgICAgICAgICAgICAgcmVqZWN0VG9Qcm9w
YWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6
V2FzRXJyb3JlZCwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3Jp
Z2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7CisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod29ya2VyU2NyaXB0TG9hZGVyLmVy
cm9yKCkuaXNDYW5jZWxsYXRpb24oKSkgeworICAgICAgICAgICAgICAgIHJlamVjdFRvUHJvcGFn
YXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldh
c0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3MpOwor
ICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVq
ZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWls
dXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJf
cyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoIU1JTUVU
eXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKHdvcmtlclNjcmlwdExv
YWRlci5yZXNwb25zZU1JTUVUeXBlKCkpKSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUt
bW9kdWxlLXNjcmlwdAorICAgICAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEg
TUlNRSB0eXBlIGZyb20gcmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVy
cykgaXMgbm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlz
dG9yaWNhbCByZWFzb25zLCBmZXRjaGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1
ZGUgTUlNRSB0eXBlIGNoZWNraW5nLiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBm
YWlsIHRvIGxvYWQgaWYgdGhleSBhcmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAg
ICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgd29ya2Vy
U2NyaXB0TG9hZGVyLnJlc3BvbnNlTUlNRVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNj
cmlwdCBNSU1FIHR5cGUuIikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2FkZXIucGFyYW1ldGVycygpKSB7CisgICAg
ICAgICAgICAvLyBJZiB0aGlzIGlzIHRvcC1sZXZlbC1tb2R1bGUsIHRoZW4gd2UgZXh0cmFjdCBy
ZWZlcnJlci1wb2xpY3kgYW5kIGFwcGx5IHRvIHRoZSBkZXBlbmRlbnQgbW9kdWxlcy4KKyAgICAg
ICAgICAgIGlmIChwYXJhbWV0ZXJzLT5pc1RvcExldmVsTW9kdWxlKCkpCisgICAgICAgICAgICAg
ICAgc3RhdGljX2Nhc3Q8V29ya2VyU2NyaXB0RmV0Y2hlciY+KGxvYWRlci5zY3JpcHRGZXRjaGVy
KCkpLnNldFJlZmVycmVyUG9saWN5KGxvYWRlci5yZWZlcnJlclBvbGljeSgpKTsKKyAgICAgICAg
fQorCisgICAgICAgIFVSTCByZXNwb25zZVVSTCA9IGNhbm9uaWNhbGl6ZUFuZFJlZ2lzdGVyUmVz
cG9uc2VVUkwod29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlVVJMKCksIHdvcmtlclNjcmlwdExv
YWRlci5pc1JlZGlyZWN0ZWQoKSwgd29ya2VyU2NyaXB0TG9hZGVyLnJlc3BvbnNlU291cmNlKCkp
OworICAgICAgICBwcm9taXNlLT5yZXNvbHZlV2l0aENhbGxiYWNrKFsmXSAoSlNET01HbG9iYWxP
YmplY3QmIGpzR2xvYmFsT2JqZWN0KSB7CisgICAgICAgICAgICByZXR1cm4gSlNDOjpKU1NvdXJj
ZUNvZGU6OmNyZWF0ZShqc0dsb2JhbE9iamVjdC52bSgpLAorICAgICAgICAgICAgICAgIEpTQzo6
U291cmNlQ29kZSB7IFNjcmlwdFNvdXJjZUNvZGUgeyB3b3JrZXJTY3JpcHRMb2FkZXIuc2NyaXB0
KCksIFdURk1vdmUocmVzcG9uc2VVUkwpLCB7IH0sIEpTQzo6U291cmNlUHJvdmlkZXJTb3VyY2VU
eXBlOjpNb2R1bGUsIGxvYWRlci5zY3JpcHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9KTsK
KyAgICAgICAgfSk7CisgICAgfQogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdE1vZHVsZUxvYWRlci5oCmluZGV4IGRlMjlkMmY0YmYwOTZiNjBjMzY5OTgwMzE2
YzE0ODZiMjgyYWJmMDkuLmRmMzRkNTUxYTExY2Q5OGY0ZTIzNmEyYWExZjQ4Mjc5ZDk2NGM2ODUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5o
CkBAIC0yNSw4ICsyNSw4IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyLmgiCi0jaW5jbHVkZSAiQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50LmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiTW9kdWxl
U2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNDSlNWYWx1
ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CkBAIC00NSwxNiArNDUsMTcgQEAgY2xhc3MgU291cmNlT3JpZ2luOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIERvY3VtZW50OwogY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7Citj
bGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi1jbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIg
ZmluYWwgOiBwcml2YXRlIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CitjbGFzcyBT
Y3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0TW9kdWxlTG9hZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgU2NyaXB0TW9kdWxlTG9h
ZGVyKERvY3VtZW50Jik7CisgICAgZW51bSBjbGFzcyBPd25lclR5cGUgOiB1aW50OF90IHsgRG9j
dW1lbnQsIFdvcmtlck9yV29ya2xldCB9OworICAgIGV4cGxpY2l0IFNjcmlwdE1vZHVsZUxvYWRl
cihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgT3duZXJUeXBlKTsKICAgICB+U2NyaXB0TW9kdWxl
TG9hZGVyKCk7CiAKLSAgICBEb2N1bWVudCYgZG9jdW1lbnQoKSB7IHJldHVybiBtX2RvY3VtZW50
OyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCgpIHsgcmV0dXJuIG1fY29u
dGV4dDsgfQogCiAgICAgSlNDOjpJZGVudGlmaWVyIHJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpK
U1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcik7CiAg
ICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUg
cGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpOwpAQCAtNjMsMTMgKzY0LDE1
IEBAIGNsYXNzIFNjcmlwdE1vZHVsZUxvYWRlciBmaW5hbCA6IHByaXZhdGUgQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyQ2xpZW50IHsKICAgICBKU0M6OkpTT2JqZWN0KiBjcmVhdGVJbXBvcnRNZXRh
UHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpT
Qzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7CiAKIHByaXZh
dGU6Ci0gICAgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImLCBS
ZWZQdHI8RGVmZXJyZWRQcm9taXNlPikgZmluYWw7CisgICAgdm9pZCBub3RpZnlGaW5pc2hlZChN
b2R1bGVTY3JpcHRMb2FkZXImLCBVUkwmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4pIGZpbmFsOwor
CiAgICAgVVJMIG1vZHVsZVVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlKTsK
ICAgICBVUkwgcmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTChKU0M6OkpTR2xvYmFsT2JqZWN0Jiwg
SlNDOjpKU1ZhbHVlKTsKIAotICAgIERvY3VtZW50JiBtX2RvY3VtZW50OworICAgIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIG1fY29udGV4dDsKICAgICBIYXNoTWFwPFN0cmluZywgVVJMPiBtX3Jl
cXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwOwotICAgIEhhc2hTZXQ8UmVmPENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlcj4+IG1fbG9hZGVyczsKKyAgICBIYXNoU2V0PFJlZjxNb2R1bGVTY3JpcHRMb2Fk
ZXI+PiBtX2xvYWRlcnM7CisgICAgT3duZXJUeXBlIG1fb3duZXJUeXBlOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0U291cmNlQ29kZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291
cmNlQ29kZS5oCmluZGV4IGM3MDQ2MjZmYjczM2RiNDcyYmRhNTAyMzYyNDFhNmU3NDBlMjc4MmIu
LjEwZmE3ZThiNDQ5YzhiODQ5ZWIzN2NjMWYyYzg2NmZhODkzYWFkNmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKQEAgLTU3LDcgKzU3LDcgQEAg
Y2xhc3MgU2NyaXB0U291cmNlQ29kZSB7CiAgICAgewogICAgIH0KIAotICAgIFNjcmlwdFNvdXJj
ZUNvZGUoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFVSTCYmIHVybCwgY29uc3QgVGV4dFBvc2l0aW9u
JiBzdGFydFBvc2l0aW9uLCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZSBzb3VyY2VUeXBl
LCBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hlcj4mJiBzY3JpcHRGZXRjaGVyKQorICAgIFNjcmlwdFNv
dXJjZUNvZGUoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFVSTCYmIHVybCwgY29uc3QgVGV4dFBvc2l0
aW9uJiBzdGFydFBvc2l0aW9uLCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZSBzb3VyY2VU
eXBlLCBSZWY8SlNDOjpTY3JpcHRGZXRjaGVyPiYmIHNjcmlwdEZldGNoZXIpCiAgICAgICAgIDog
bV9wcm92aWRlcihKU0M6OlN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCBKU0M6
OlNvdXJjZU9yaWdpbiB7IHVybCwgV1RGTW92ZShzY3JpcHRGZXRjaGVyKSB9LCB1cmwuc3RyaW5n
KCksIHN0YXJ0UG9zaXRpb24sIHNvdXJjZVR5cGUpKQogICAgICAgICAsIG1fY29kZShtX3Byb3Zp
ZGVyLmNvcHlSZWYoKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQ
b3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjg0N2U5YWYzZDNmYWRhZDRjNzkyOTdkNGEzOTFhYWIzMDE2NTQyYTUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRM
b2FkZXIuY3BwCkBAIC0wLDAgKzEsMTAwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorCisjaW5jbHVkZSAi
Q2FjaGVkU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgorI2lu
Y2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCIK
KyNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKKyNpbmNsdWRlICJTY3JpcHRDb250
cm9sbGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCisjaW5jbHVkZSAiU2Ny
aXB0U291cmNlQ29kZS5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIuaCIKKyNpbmNs
dWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyPiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0
ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9t
aXNlLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwg
V1RGTW92ZShwYXJhbWV0ZXJzKSkpOworfQorCitXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Oldv
cmtlck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwg
RGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRj
aGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCisgICAgOiBN
b2R1bGVTY3JpcHRMb2FkZXIoY2xpZW50LCBwcm9taXNlLCBzY3JpcHRGZXRjaGVyLCBXVEZNb3Zl
KHBhcmFtZXRlcnMpKQorICAgICwgbV9zY3JpcHRMb2FkZXIoV29ya2VyU2NyaXB0TG9hZGVyOjpj
cmVhdGUoKSkKK3sKK30KKworV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjp+V29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyKCkKK3sKKyAgICBtX3NjcmlwdExvYWRlci0+Y2FuY2VsKCk7Cit9CisKK2Jv
b2wgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFVSTCYmIHNvdXJjZVVSTCkKK3sKKyAgICBtX3NvdXJjZVVSTCA9IFdURk1vdmUo
c291cmNlVVJMKTsKKworICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0IHsgbV9zb3VyY2VVUkwg
fTsKKworICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7CisgICAgZmV0Y2hPcHRpb25zLm1v
ZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnM7CisgICAgZmV0Y2hPcHRpb25zLmNhY2hlID0g
RmV0Y2hPcHRpb25zOjpDYWNoZTo6RGVmYXVsdDsKKyAgICBmZXRjaE9wdGlvbnMucmVkaXJlY3Qg
PSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0OjpGb2xsb3c7CisgICAgZmV0Y2hPcHRpb25zLmNyZWRl
bnRpYWxzID0gc3RhdGljX2Nhc3Q8V29ya2VyU2NyaXB0RmV0Y2hlciY+KHNjcmlwdEZldGNoZXIo
KSkuY3JlZGVudGlhbHMoKTsKKyAgICBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPSBzdGF0aWNf
Y2FzdDxXb3JrZXJTY3JpcHRGZXRjaGVyJj4oc2NyaXB0RmV0Y2hlcigpKS5kZXN0aW5hdGlvbigp
OworICAgIGZldGNoT3B0aW9ucy5yZWZlcnJlclBvbGljeSA9IHN0YXRpY19jYXN0PFdvcmtlclNj
cmlwdEZldGNoZXImPihzY3JpcHRGZXRjaGVyKCkpLnJlZmVycmVyUG9saWN5KCk7CisgICAgYXV0
byBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IGNvbnRleHQuc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlIDogQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQ6OkVuZm9yY2VDaGlsZFNyY0RpcmVjdGl2ZTsKKworICAgIG1fc2NyaXB0TG9hZGVyLT5sb2Fk
QXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9w
dGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNN
b2RlOjpBbGwsICp0aGlzLCB0YXNrTW9kZSgpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworUmVm
ZXJyZXJQb2xpY3kgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpyZWZlcnJlclBvbGljeSgpCit7
CisgICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRl
ci0+cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQor
ICAgICAgICByZXR1cm4gKnBvbGljeTsKKyAgICByZXR1cm4gUmVmZXJyZXJQb2xpY3k6OkVtcHR5
U3RyaW5nOworfQorCit2b2lkIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNo
ZWQoKQoreworICAgIEFTU0VSVChtX3Byb21pc2UpOworCisgICAgYXV0byBwcm90ZWN0ZWRUaGlz
ID0gbWFrZVJlZigqdGhpcyk7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+
bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9zb3VyY2VVUkwpLCBtX3Byb21pc2UucmVs
ZWFzZU5vbk51bGwoKSk7Cit9CisKK1N0cmluZyBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OnRh
c2tNb2RlKCkKK3sKKyAgICByZXR1cm4gImxvYWRNb2R1bGVzSW5Xb3JrZXJPcldvcmtsZXRNb2Rl
Il9zOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3Jr
ZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtl
ck1vZHVsZVNjcmlwdExvYWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyOGI4YjE3NjE0NWMyNzBiYWI2NGYw
YzBmNGM3ODdlYjI0YTMwZDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaApAQCAtMCwwICsxLDY3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJNb2R1bGVTY3JpcHRMb2FkZXIuaCIK
KyNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlIDx3dGYvUmVm
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1VSTC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERl
ZmVycmVkUHJvbWlzZTsKK2NsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgTW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudDsKK2NsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKKworY2xhc3Mg
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIE1vZHVsZVNjcmlwdExvYWRl
ciwgcHJpdmF0ZSBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQgeworcHVibGljOgorICAgIHN0YXRp
YyBSZWY8V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyPiBjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgV29ya2VyU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxN
b2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOworCisgICAgdmlydHVhbCB+V29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyKCk7CisKKyAgICBib29sIGxvYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFVS
TCYmIHNvdXJjZVVSTCk7CisKKyAgICBXb3JrZXJTY3JpcHRMb2FkZXImIHNjcmlwdExvYWRlcigp
IHsgcmV0dXJuIG1fc2NyaXB0TG9hZGVyLmdldCgpOyB9CisKKyAgICBzdGF0aWMgU3RyaW5nIHRh
c2tNb2RlKCk7CisgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKTsKKworcHJpdmF0
ZToKKyAgICBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
JiwgRGVmZXJyZWRQcm9taXNlJiwgV29ya2VyU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVG
ZXRjaFBhcmFtZXRlcnM+JiYpOworCisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWdu
ZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsIHsgfQorICAgIHZvaWQgbm90
aWZ5RmluaXNoZWQoKSBmaW5hbDsKKworICAgIFJlZjxXb3JrZXJTY3JpcHRMb2FkZXI+IG1fc2Ny
aXB0TG9hZGVyOworICAgIFVSTCBtX3NvdXJjZVVSTDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlw
dEZldGNoZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdEZldGNo
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45OWUyZDI1ZDg4NTA0Zjc4NDQ3MWZlYzRkZWZhMjU2ZDZlNTdmOGZl
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2Ny
aXB0RmV0Y2hlci5oCkBAIC0wLDAgKzEsOTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIkxvYWRhYmxlU2NyaXB0LmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0RmV0Y2hlci5oPgorI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENhY2hlZFNjcmlwdDsKK2NsYXNzIERvY3Vt
ZW50OworCitjbGFzcyBXb3JrZXJTY3JpcHRGZXRjaGVyIGZpbmFsIDogcHVibGljIEpTQzo6U2Ny
aXB0RmV0Y2hlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXb3JrZXJTY3JpcHRGZXRjaGVy
PiBjcmVhdGUoRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFscywgRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xp
Y3kpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXb3JrZXJTY3JpcHRGZXRj
aGVyKGNyZWRlbnRpYWxzLCBkZXN0aW5hdGlvbiwgcmVmZXJyZXJQb2xpY3kpKTsKKyAgICB9CisK
KyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIGNyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1
cm4gbV9jcmVkZW50aWFsczsgfQorICAgIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGlu
YXRpb24oKSBjb25zdCB7IHJldHVybiBtX2Rlc3RpbmF0aW9uOyB9CisgICAgUmVmZXJyZXJQb2xp
Y3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5OyB9CisK
KyAgICB2b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmluZ0ltcGwmIG1vZHVsZUtl
eSkKKyAgICB7CisgICAgICAgIG1fbW9kdWxlS2V5ID0gJm1vZHVsZUtleTsKKyAgICAgICAgbV9p
c0xvYWRlZCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBub3RpZnlMb2FkRmFpbGVkKExvYWRh
YmxlU2NyaXB0OjpFcnJvciYmIGVycm9yKQorICAgIHsKKyAgICAgICAgbV9lcnJvciA9IFdURk1v
dmUoZXJyb3IpOworICAgICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lk
IG5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpCisgICAgeworICAgICAgICBtX3dhc0NhbmNlbGVkID0g
dHJ1ZTsKKyAgICAgICAgbV9pc0xvYWRlZCA9IHRydWU7CisgICAgfQorCisgICAgYm9vbCBpc0xv
YWRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMb2FkZWQ7IH0KKyAgICBPcHRpb25hbDxMb2FkYWJs
ZVNjcmlwdDo6RXJyb3I+IGVycm9yKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvcjsgfQorICAgIGJv
b2wgd2FzQ2FuY2VsZWQoKSBjb25zdCB7IHJldHVybiBtX3dhc0NhbmNlbGVkOyB9CisgICAgVW5p
cXVlZFN0cmluZ0ltcGwqIG1vZHVsZUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxlS2V5Lmdl
dCgpOyB9CisgICAgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCkgeyByZXR1cm4g
bV9wYXJhbWV0ZXJzLmdldCgpOyB9CisKKyAgICB2b2lkIHNldFJlZmVycmVyUG9saWN5KFJlZmVy
cmVyUG9saWN5IHJlZmVycmVyUG9saWN5KQorICAgIHsKKyAgICAgICAgbV9yZWZlcnJlclBvbGlj
eSA9IHJlZmVycmVyUG9saWN5OworICAgIH0KKworcHJvdGVjdGVkOgorICAgIFdvcmtlclNjcmlw
dEZldGNoZXIoRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFscywgRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xp
Y3kpCisgICAgICAgIDogbV9jcmVkZW50aWFscyhjcmVkZW50aWFscykKKyAgICAgICAgLCBtX2Rl
c3RpbmF0aW9uKGRlc3RpbmF0aW9uKQorICAgICAgICAsIG1fcmVmZXJyZXJQb2xpY3kocmVmZXJy
ZXJQb2xpY3kpCisgICAgICAgICwgbV9wYXJhbWV0ZXJzKE1vZHVsZUZldGNoUGFyYW1ldGVyczo6
Y3JlYXRlKGVtcHR5U3RyaW5nKCksIC8qIGlzVG9wTGV2ZWxNb2R1bGUgKi8gdHJ1ZSkpCisgICAg
eworICAgIH0KKworcHJpdmF0ZToKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIG1fY3Jl
ZGVudGlhbHM7CisgICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBtX2Rlc3RpbmF0aW9uOwor
ICAgIFJlZmVycmVyUG9saWN5IG1fcmVmZXJyZXJQb2xpY3kgeyBSZWZlcnJlclBvbGljeTo6RW1w
dHlTdHJpbmcgfTsKKyAgICBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+IG1fbW9kdWxlS2V5Owor
ICAgIFJlZjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVyczsKKyAgICBPcHRpb25h
bDxMb2FkYWJsZVNjcmlwdDo6RXJyb3I+IG1fZXJyb3I7CisgICAgYm9vbCBtX3dhc0NhbmNlbGVk
IHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNMb2FkZWQgeyBmYWxzZSB9OworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMWI5ZjcyNjYzOTIx
MDg1YzU4ZDA4YjViMDc5OTY1NjlmZWE2NjJhYS4uNTA4MGVhODU5NTg4ZmU5MzljN2EyYzdmNjVh
ODgxYjRhN2I0OGEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02MTUsNyArNjE1LDcg
QEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgU2V0dGluZ3MmIHNldHRp
bmdzLCBjb25zdCBVUkwmIHVybCwgRG9jdW0KICAgICAsIG1fZG9jdW1lbnRDcmVhdGlvblRpbWUo
TW9ub3RvbmljVGltZTo6bm93KCkpCiAjZW5kaWYKICAgICAsIG1fc2NyaXB0UnVubmVyKG1ha2VV
bmlxdWU8U2NyaXB0UnVubmVyPigqdGhpcykpCi0gICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5p
cXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMpKQorICAgICwgbV9tb2R1bGVMb2FkZXIobWFr
ZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93
bmVyVHlwZTo6RG9jdW1lbnQpKQogI2lmIEVOQUJMRShYU0xUKQogICAgICwgbV9hcHBseVBlbmRp
bmdYU0xUcmFuc2Zvcm1zVGltZXIoKnRoaXMsICZEb2N1bWVudDo6YXBwbHlQZW5kaW5nWFNMVHJh
bnNmb3Jtc1RpbWVyRmlyZWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FeGNlcHRpb25Db2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oCmlu
ZGV4IGY2YjU1OGVhODJkNzkzNjhlNjFhZGIwNjBjZjBiNGVhMWRiZWEyMGMuLjE3ZGU3NDM0NzJm
NzczMWIwM2M5OGZlY2U3YjFlYjFiOTYwMWU3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FeGNlcHRpb25Db2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNv
ZGUuaApAQCAtNjEsNiArNjEsNyBAQCBlbnVtIEV4Y2VwdGlvbkNvZGUgewogICAgIC8vIFNpbXBs
ZSBleGNlcHRpb25zIChodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpZGwtZXhjZXB0
aW9ucykuCiAgICAgUmFuZ2VFcnJvciwKICAgICBUeXBlRXJyb3IsCisgICAgSlNTeW50YXhFcnJv
ciwgLy8gRGlmZmVyZW50IGZyb20gRE9NIFNZTlRBWF9FUlIuCiAKICAgICAvLyBOb24tc3RhbmRh
cmQgZXJyb3IuCiAgICAgU3RhY2tPdmVyZmxvd0Vycm9yLApAQCAtMTExLDYgKzExMiw3IEBAIHRl
bXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6RXhjZXB0aW9uQ29kZT4gewogICAg
IFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6Ok5vdEFsbG93ZWRFcnJvciwKICAgICBXZWJDb3JlOjpF
eGNlcHRpb25Db2RlOjpSYW5nZUVycm9yLAogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OlR5
cGVFcnJvciwKKyAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlOjpKU1N5bnRheEVycm9yLAogICAg
IFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OlN0YWNrT3ZlcmZsb3dFcnJvciwKICAgICBXZWJDb3Jl
OjpFeGNlcHRpb25Db2RlOjpFeGlzdGluZ0V4Y2VwdGlvbkVycm9yCiAgICAgPjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCmluZGV4IDlhMjVjMTY1ODhlZWNh
ZDY3OGZiOTExZWM4NjIyZjQyNDI1OTJiNWEuLmZmOTBhMjc5M2NhYjA2ODllZTA2YTI4ODJhYzY0
Y2ZhMmM2NWU5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVs
ZVNjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0
LmNwcApAQCAtNDEsNyArNDEsNyBAQCBSZWY8TG9hZGFibGVNb2R1bGVTY3JpcHQ+IExvYWRhYmxl
TW9kdWxlU2NyaXB0OjpjcmVhdGUoY29uc3QgU3RyaW5nJiBub25jZSwgY29ucwogCiBMb2FkYWJs
ZU1vZHVsZVNjcmlwdDo6TG9hZGFibGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBub25jZSwg
Y29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5IHBvbGljeSwgY29uc3QgU3Ry
aW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0
cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKICAgICA6
IExvYWRhYmxlU2NyaXB0KG5vbmNlLCBwb2xpY3ksIGNyb3NzT3JpZ2luTW9kZSwgY2hhcnNldCwg
aW5pdGlhdG9yTmFtZSwgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUpCi0gICAgLCBtX3BhcmFtZXRl
cnMoTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzOjpjcmVhdGUoaW50ZWdyaXR5KSkKKyAgICAsIG1fcGFy
YW1ldGVycyhNb2R1bGVGZXRjaFBhcmFtZXRlcnM6OmNyZWF0ZShpbnRlZ3JpdHksIC8qIGlzVG9w
TGV2ZWxNb2R1bGUgKi8gdHJ1ZSkpCiB7CiB9CiAKQEAgLTg4LDE2ICs4OCw0IEBAIHZvaWQgTG9h
ZGFibGVNb2R1bGVTY3JpcHQ6OmV4ZWN1dGUoU2NyaXB0RWxlbWVudCYgc2NyaXB0RWxlbWVudCkK
ICAgICBzY3JpcHRFbGVtZW50LmV4ZWN1dGVNb2R1bGVTY3JpcHQoKnRoaXMpOwogfQogCi12b2lk
IExvYWRhYmxlTW9kdWxlU2NyaXB0Ojpsb2FkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVVJM
JiByb290VVJMKQotewotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCi0g
ICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KCp0aGlzLCByb290VVJMLnN0
cmluZygpLCBtX3BhcmFtZXRlcnMuY29weVJlZigpKTsKLX0KLQotdm9pZCBMb2FkYWJsZU1vZHVs
ZVNjcmlwdDo6bG9hZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
IHNvdXJjZUNvZGUpCi17Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkK
LSAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoKnRoaXMsIHNvdXJjZUNv
ZGUpOwotfQotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1
bGVTY3JpcHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCmlu
ZGV4IGJiNzk5NTRkN2I5OWIwZWQwNmJmZTU1ZWY4NTRlY2NlMjFmMzU4NzcuLmQyNTM1OTYzZjY0
OGIwMmE4YTAxZmQ2M2JiMWUzODEzODZjZWU0MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2Fk
YWJsZU1vZHVsZVNjcmlwdC5oCkBAIC01MCwxNSArNTAsMTQgQEAgY2xhc3MgTG9hZGFibGVNb2R1
bGVTY3JpcHQgZmluYWwgOiBwdWJsaWMgTG9hZGFibGVTY3JpcHQgewogCiAgICAgdm9pZCBzZXRF
cnJvcihFcnJvciYmKTsKIAotICAgIHZvaWQgbG9hZChEb2N1bWVudCYsIGNvbnN0IFVSTCYgcm9v
dFVSTCk7Ci0gICAgdm9pZCBsb2FkKERvY3VtZW50JiwgY29uc3QgU2NyaXB0U291cmNlQ29kZSYp
OwotCiAgICAgdm9pZCBub3RpZnlMb2FkQ29tcGxldGVkKFVuaXF1ZWRTdHJpbmdJbXBsJik7CiAg
ICAgdm9pZCBub3RpZnlMb2FkRmFpbGVkKExvYWRhYmxlU2NyaXB0OjpFcnJvciYmKTsKICAgICB2
b2lkIG5vdGlmeUxvYWRXYXNDYW5jZWxlZCgpOwogCiAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1v
ZHVsZUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxlS2V5LmdldCgpOyB9CiAKKyAgICBNb2R1
bGVGZXRjaFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMoKSB7IHJldHVybiBtX3BhcmFtZXRlcnMuZ2V0
KCk7IH0KKwogcHJpdmF0ZToKICAgICBMb2FkYWJsZU1vZHVsZVNjcmlwdChjb25zdCBTdHJpbmcm
IG5vbmNlLCBjb25zdCBTdHJpbmcmIGludGVncml0eSwgUmVmZXJyZXJQb2xpY3ksIGNvbnN0IFN0
cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IEF0b21T
dHJpbmcmIGluaXRpYXRvck5hbWUsIGJvb2wgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgKaW5kZXggMjQ4NDliNmY2
N2IyYzAxZTJjOTFmYjlhNDczM2RlN2VlNGIwMzA0NC4uNjVkODAwMWUxYzJlYWEyODBmNGNmN2Vj
ZDQ5YTFmZDZhMTQ4MGI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01vZHVsZUZl
dGNoUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb2R1bGVGZXRjaFBhcmFt
ZXRlcnMuaApAQCAtMzEsMjAgKzMxLDIzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzIDogcHVibGljIEpTQzo6U2NyaXB0RmV0Y2hQYXJhbWV0ZXJz
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPE1vZHVsZUZldGNoUGFyYW1ldGVycz4gY3JlYXRl
KGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5KQorICAgIHN0YXRpYyBSZWY8TW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIGJvb2wgaXNUb3BMZXZlbE1v
ZHVsZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1vZHVsZUZldGNoUGFy
YW1ldGVycyhpbnRlZ3JpdHkpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzKGludGVncml0eSwgaXNUb3BMZXZlbE1vZHVsZSkpOwogICAgIH0KIAog
ICAgIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5KCkgY29uc3QgeyByZXR1cm4gbV9pbnRlZ3JpdHk7
IH0KKyAgICBib29sIGlzVG9wTGV2ZWxNb2R1bGUoKSBjb25zdCB7IHJldHVybiBtX2lzVG9wTGV2
ZWxNb2R1bGU7IH0KIAogcHJpdmF0ZToKLSAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMoY29uc3Qg
U3RyaW5nJiBpbnRlZ3JpdHkpCisgICAgTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzKGNvbnN0IFN0cmlu
ZyYgaW50ZWdyaXR5LCBib29sIGlzVG9wTGV2ZWxNb2R1bGUpCiAgICAgICAgIDogbV9pbnRlZ3Jp
dHkoaW50ZWdyaXR5KQorICAgICAgICAsIG1faXNUb3BMZXZlbE1vZHVsZShpc1RvcExldmVsTW9k
dWxlKQogICAgIHsKICAgICB9CiAKICAgICBTdHJpbmcgbV9pbnRlZ3JpdHk7CisgICAgYm9vbCBt
X2lzVG9wTGV2ZWxNb2R1bGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggMDU3NThiNjAwYzc1MjJiNDdmMzY0YmE2YTE4
ZDM1ZjE3MzExMDdmOS4uNWU5OWYwZjU3NzdiM2IyMTU4ZGQwZmE0YmMzODI3NzZjZGIzNDgxMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2lu
Y2x1ZGUgIkxvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oIgogI2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxl
U2NyaXB0LmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgorI2luY2x1ZGUgIk1vZHVs
ZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlBlbmRpbmdTY3JpcHQuaCIKICNpbmNsdWRl
ICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIKICNpbmNsdWRlICJTVkdTY3JpcHRFbGVtZW50
LmgiCkBAIC0zNTEsOCArMzUyLDExIEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVs
ZVNjcmlwdChjb25zdCBUZXh0UG9zaXRpb24mIHNjcmlwdFN0YXJ0UG9zaXRpb24pCiAgICAgICAg
ICAgICBzY3JpcHRDaGFyc2V0KCksCiAgICAgICAgICAgICBtX2VsZW1lbnQubG9jYWxOYW1lKCks
CiAgICAgICAgICAgICBtX2VsZW1lbnQuaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUoKSk7Ci0gICAg
ICAgIHNjcmlwdC0+bG9hZChtX2VsZW1lbnQuZG9jdW1lbnQoKSwgbW9kdWxlU2NyaXB0Um9vdFVS
TCk7CiAgICAgICAgIG1fbG9hZGFibGVTY3JpcHQgPSBXVEZNb3ZlKHNjcmlwdCk7CisgICAgICAg
IGlmIChhdXRvKiBmcmFtZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmZyYW1lKCkpIHsKKyAgICAg
ICAgICAgIGF1dG8mIHNjcmlwdCA9IGRvd25jYXN0PExvYWRhYmxlTW9kdWxlU2NyaXB0PigqbV9s
b2FkYWJsZVNjcmlwdC5nZXQoKSk7CisgICAgICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1v
ZHVsZVNjcmlwdChzY3JpcHQsIG1vZHVsZVNjcmlwdFJvb3RVUkwuc3RyaW5nKCksIG1ha2VSZWYo
c2NyaXB0LnBhcmFtZXRlcnMoKSkpOworICAgICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KIApAQCAtMzY3LDggKzM3MSw5IEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdE1v
ZHVsZVNjcmlwdChjb25zdCBUZXh0UG9zaXRpb24mIHNjcmlwdFN0YXJ0UG9zaXRpb24pCiAgICAg
aWYgKCFjb250ZW50U2VjdXJpdHlQb2xpY3kuYWxsb3dJbmxpbmVTY3JpcHQobV9lbGVtZW50LmRv
Y3VtZW50KCkudXJsKCkuc3RyaW5nKCksIG1fc3RhcnRMaW5lTnVtYmVyLCBzb3VyY2VDb2RlLnNv
dXJjZSgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSwgaGFzS25vd25Ob25jZSkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIHNjcmlwdC0+bG9hZChtX2VsZW1lbnQuZG9jdW1lbnQoKSwg
c291cmNlQ29kZSk7CiAgICAgbV9sb2FkYWJsZVNjcmlwdCA9IFdURk1vdmUoc2NyaXB0KTsKKyAg
ICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKQorICAgICAg
ICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdChkb3duY2FzdDxMb2FkYWJsZU1vZHVs
ZVNjcmlwdD4oKm1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpLCBzb3VyY2VDb2RlKTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3Bw
CmluZGV4IDI3MTdjODYxYzc0YjBmMmFlYmNkZTQwODcwMGUyYTlhMDM3Mzc1OTUuLjFiNjUzMmMz
YjBlYWE4MGQ5YmQ0NmM2ZDQzMjEzNjk2MjFjMDE5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTEwMSwxMCArMTAxLDEwIEBAIFRocmVhZGFibGVM
b2FkZXJPcHRpb25zIFRocmVhZGFibGVMb2FkZXJPcHRpb25zOjppc29sYXRlZENvcHkoKSBjb25z
dAogfQogCiAKLVJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCYgY2xpZW50LCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9h
ZGVyT3B0aW9ucyYgb3B0aW9ucywgU3RyaW5nJiYgcmVmZXJyZXIpCitSZWZQdHI8VGhyZWFkYWJs
ZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgUmVzb3VyY2VSZXF1ZXN0
JiYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIFN0cmlu
ZyYmIHJlZmVycmVyLCBTdHJpbmcmJiB0YXNrTW9kZSkKIHsKICAgICBpZiAoaXM8V29ya2VyR2xv
YmFsU2NvcGU+KGNvbnRleHQpIHx8IChpczxXb3JrbGV0R2xvYmFsU2NvcGU+KGNvbnRleHQpICYm
IGRvd25jYXN0PFdvcmtsZXRHbG9iYWxTY29wZT4oY29udGV4dCkud29ya2VyT3JXb3JrbGV0VGhy
ZWFkKCkpKQotICAgICAgICByZXR1cm4gV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHN0
YXRpY19jYXN0PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlJj4oY29udGV4dCksIGNsaWVudCwg
V29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSwgV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9ucywg
V1RGTW92ZShyZWZlcnJlcikpOworICAgICAgICByZXR1cm4gV29ya2VyVGhyZWFkYWJsZUxvYWRl
cjo6Y3JlYXRlKHN0YXRpY19jYXN0PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlJj4oY29udGV4
dCksIGNsaWVudCwgV1RGTW92ZSh0YXNrTW9kZSksIFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMs
IFdURk1vdmUocmVmZXJyZXIpKTsKIAogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG51bGxwdHI7
CiAgICAgaWYgKGlzPFdvcmtsZXRHbG9iYWxTY29wZT4oY29udGV4dCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCBjMmIyNDVjM2ViYjhiYzkzMGVmNGQxNzJi
YTE1MDlhMTc5ZjFkN2E2Li4xYWM3MDRiNGMzYjUwYjBmZmRhMDM0MjhjM2NlN2RhMTQ5ODgyNjM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTc0LDcgKzc0
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
aHJlYWRhYmxlTG9hZGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRS
ZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVx
dWVzdCYmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmKTsKLSAgICAgICAgc3RhdGljIFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBSZXNvdXJj
ZVJlcXVlc3QmJiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmLCBTdHJpbmcmJiByZWZl
cnJlciA9IFN0cmluZygpKTsKKyAgICAgICAgc3RhdGljIFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVy
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQm
LCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmLCBTdHJp
bmcmJiByZWZlcnJlciA9IFN0cmluZygpLCBTdHJpbmcmJiB0YXNrTW9kZSA9IHsgfSk7CiAKICAg
ICAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJc0RvbmUoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBjYW5jZWwoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggMGZjYjYwOWQxMWYyYzkyZTU1NDVjZjc3MDAx
ZTA4MjNmYTg2NWIyNy4uNTdmNDUyYzZlZWE5ZTA2M2ZkNzU4OGRlOTEzNDI3OTBjZDg5OWMxMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuaApAQCAtODEsNiArODEsOCBAQCBjbGFzcyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7CiAgICAgUmVmUHRyPE1lc3NhZ2VQ
b3J0PiB0YWtlUGVuZGluZ1JUQ1RyYW5zZm9tZXJNZXNzYWdlUG9ydCgpIHsgcmV0dXJuIFdURk1v
dmUobV9wZW5kaW5nUlRDVHJhbnNmb21lck1lc3NhZ2VQb3J0KTsgfQogI2VuZGlmCiAKKyAgICBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyOyB9CisKIHByaXZhdGU6CiAgICAg
dXNpbmcgQmFzZSA9IFdvcmtlckdsb2JhbFNjb3BlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5j
cHAKaW5kZXggYmY2ZTI3NmEzOWMyMzE1Zjg4OTBjNjMzMDMyOWQ2NDRkZmNhZWFhNS4uMDRmZGY1
ODI3NDNlYjk3M2I1MjVkNTRjOGE4ZDhmMzdkODI1MjBmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmNwcApAQCAtNzQsNiArNzQsOCBAQCBpbmxpbmUgV29ya2VyOjpXb3JrZXIoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZQogICAgICwg
bV9pZGVudGlmaWVyKCJ3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5Ojpj
cmVhdGVJZGVudGlmaWVyKCkpCiAgICAgLCBtX2NvbnRleHRQcm94eShXb3JrZXJHbG9iYWxTY29w
ZVByb3h5OjpjcmVhdGUoKnRoaXMpKQogICAgICwgbV9ydW50aW1lRmxhZ3MocnVudGltZUZsYWdz
KQorICAgICwgbV90eXBlKG9wdGlvbnMudHlwZSkKKyAgICAsIG1fY3JlZGVudGlhbHMob3B0aW9u
cy5jcmVkZW50aWFscykKIHsKICAgICBzdGF0aWMgYm9vbCBhZGRlZExpc3RlbmVyOwogICAgIGlm
ICghYWRkZWRMaXN0ZW5lcikgewpAQCAtMTE3LDEwICsxMTksMTUgQEAgRXhjZXB0aW9uT3I8UmVm
PFdvcmtlcj4+IFdvcmtlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IEpTQzo6UnUKIAogICAgIEZldGNoT3B0aW9ucyBmZXRjaE9wdGlvbnM7CiAgICAgZmV0Y2hPcHRp
b25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW47CisgICAgaWYgKHdvcmtl
ci0+bV90eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSkKKyAgICAgICAgZmV0Y2hPcHRpb25zLmNy
ZWRlbnRpYWxzID0gd29ya2VyLT5tX2NyZWRlbnRpYWxzOworICAgIGVsc2UKKyAgICAgICAgZmV0
Y2hPcHRpb25zLmNyZWRlbnRpYWxzID0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9y
aWdpbjsKICAgICBmZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9wdGlvbnM6OkNhY2hlOjpEZWZh
dWx0OwogICAgIGZldGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6UmVkaXJlY3Q6
OkZvbGxvdzsKICAgICBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpXb3JrZXI7Ci0gICAgd29ya2VyLT5tX3NjcmlwdExvYWRlci0+bG9hZEFzeW5j
aHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0Y2hPcHRpb25z
KSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6
QWxsLCB3b3JrZXIpOworICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25v
dXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGZldGNoT3B0aW9ucyksIGNv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwg
d29ya2VyLmdldCgpLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKwogICAgIHJldHVy
biB3b3JrZXI7CiB9CiAKQEAgLTIxOSw3ICsyMjYsMTMgQEAgdm9pZCBXb3JrZXI6Om5vdGlmeUZp
bmlzaGVkKCkKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSA9IFJlZmVycmVyUG9s
aWN5OjpFbXB0eVN0cmluZzsKICAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9s
aWN5KG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJj
ZTo6SFRUUEhlYWRlcikpCiAgICAgICAgIHJlZmVycmVyUG9saWN5ID0gKnBvbGljeTsKLSAgICBt
X2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwo
KSwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNP
bmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBtX3J1bnRpbWVGbGFncyk7
CisKKyAgICBVUkwgcmVzcG9uc2VVUkwgPSBtX3NjcmlwdExvYWRlci0+cmVzcG9uc2VVUkwoKTsK
KyAgICBpZiAoIW1fc2NyaXB0TG9hZGVyLT5pc1JlZGlyZWN0ZWQoKSAmJiBtX3NjcmlwdExvYWRl
ci0+cmVzcG9uc2VTb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VX
b3JrZXIpIHsKKyAgICAgICAgaWYgKG1fc2NyaXB0TG9hZGVyLT51cmwoKS5oYXNGcmFnbWVudElk
ZW50aWZpZXIoKSkKKyAgICAgICAgICAgIHJlc3BvbnNlVVJMLnNldEZyYWdtZW50SWRlbnRpZmll
cihtX3NjcmlwdExvYWRlci0+dXJsKCkuZnJhZ21lbnRJZGVudGlmaWVyKCkpOworICAgIH0KKyAg
ICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKHJlc3BvbnNlVVJMLCBtX25h
bWUsIGNvbnRleHQtPnVzZXJBZ2VudChyZXNwb25zZVVSTCksIGlzT25saW5lLCBtX3NjcmlwdExv
YWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9z
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRp
b25UaW1lLCByZWZlcnJlclBvbGljeSwgbV90eXBlLCBtX2NyZWRlbnRpYWxzLCBtX3J1bnRpbWVG
bGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZCgqY29u
dGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlw
dCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggNTNmNWU2ZmZmMjdjOWZhM2U1
YzBlMDFmMGY2YzQyYzZjYjZmOWQwZS4uMzhhNjIzYTk4ZGJhMzVmZjgwMTNjZDZmYzhjODVjODEw
MjA1MDIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC0yOSw5ICsyOSwxMSBAQAogI2lu
Y2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAi
RmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2lu
Y2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRl
ckNsaWVudC5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgpAQCAtNTUsNiArNTcsOCBAQCBjbGFzcyBXb3JrZXIgZmlu
YWwgOiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZh
dGUgV29yawogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV29ya2VyKTsKIHB1YmxpYzoKICAg
ICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAgICAgIFdvcmtlclR5cGUgdHlwZTsKKyAgICAgICAgRmV0
Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgICAgIFN0cmluZyBuYW1lOwog
ICAgIH07CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXb3JrZXI+PiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBjb25zdCBTdHJpbmcmIHVybCwg
Y29uc3QgT3B0aW9ucyYpOwpAQCAtNzksNiArODMsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwgOiBw
dWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29y
awogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKICNlbmRpZgogCisgICAgV29ya2VyVHlwZSB0eXBl
KCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV29y
a2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgT3B0
aW9ucyYpOwogCkBAIC0xMTIsNiArMTE4LDggQEAgY2xhc3MgV29ya2VyIGZpbmFsIDogcHVibGlj
IEFic3RyYWN0V29ya2VyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIFdvcmsKICNp
ZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1lcnM7CiAj
ZW5kaWYKKyAgICBXb3JrZXJUeXBlIG1fdHlwZSB7IFdvcmtlclR5cGU6OkNsYXNzaWMgfTsKKyAg
ICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBtX2NyZWRlbnRpYWxzIHsgRmV0Y2hSZXF1ZXN0Q3Jl
ZGVudGlhbHM6OlNhbWVPcmlnaW4gfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCA0NWQ2YTA4Njc4NTRlZTQwNGRlN2U3ZDAxMjQ4
Y2ViZjQ0ZGNhN2VkLi43MDIxNzk2ZGY1MDRhZGY4ZTZiOTU4OWFjZTlmMTQ0ODIxZjI5NWYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0zOCw2ICszOCw4IEBACiB9OwogCiBkaWN0
aW9uYXJ5IFdvcmtlck9wdGlvbnMgeworICAgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFzc2ljIjsK
KyAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscyA9ICJzYW1lLW9yaWdpbiI7
IC8vIGNyZWRlbnRpYWxzIGlzIG9ubHkgdXNlZCBpZiB0eXBlIGlzICJtb2R1bGUiCiAgICAgRE9N
U3RyaW5nIG5hbWUgPSAiIjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5jcHAKaW5kZXggZGJhYjM0OGU4MGM5ZGU1MGJkMjE1Nzc3YTE0YTM5YTBmNzBl
NDljNy4uY2NkZTkwOWM3Y2I1MmU5Nzc3NGM1YjgxNTgyM2ViY2JiYjA3MGYzMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTc0LDYgKzc0LDgg
QEAgV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUg
dHlwZSwgY29uc3QgV29ya2VyUGFyYW1ldGUKICAgICAsIG1fcGVyZm9ybWFuY2UoUGVyZm9ybWFu
Y2U6OmNyZWF0ZSh0aGlzLCBwYXJhbXMudGltZU9yaWdpbikpCiAgICAgLCBtX3JlZmVycmVyUG9s
aWN5KHBhcmFtcy5yZWZlcnJlclBvbGljeSkKICAgICAsIG1fc2V0dGluZ3NWYWx1ZXMocGFyYW1z
LnNldHRpbmdzVmFsdWVzKQorICAgICwgbV93b3JrZXJUeXBlKHBhcmFtcy53b3JrZXJUeXBlKQor
ICAgICwgbV9jcmVkZW50aWFscyhwYXJhbXMuY3JlZGVudGlhbHMpCiB7CiAjaWYgIUVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQogICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uUHJveHkpOwpAQCAt
Mjc0LDYgKzI3NiwxMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBXb3JrZXJHbG9iYWxTY29wZTo6aW1w
b3J0U2NyaXB0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscykKIHsKICAgICBBU1NFUlQoY29u
dGVudFNlY3VyaXR5UG9saWN5KCkpOwogCisgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sI2ltcG9ydGluZy1zY3JpcHRzLWFuZC1saWJyYXJp
ZXMKKyAgICAvLyAxLiBJZiB3b3JrZXIgZ2xvYmFsIHNjb3BlJ3MgdHlwZSBpcyAibW9kdWxlIiwg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgIGlmIChtX3dvcmtlclR5cGUgPT0gV29y
a2VyVHlwZTo6TW9kdWxlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAi
aW1wb3J0U2NyaXB0cyBjYW5ub3QgYmUgdXNlZCBpZiB3b2Vya2VyIHR5cGUgaXMgXCJtb2R1bGVc
IiJfcyB9OworCiAgICAgVmVjdG9yPFVSTD4gY29tcGxldGVkVVJMczsKICAgICBjb21wbGV0ZWRV
UkxzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkodXJscy5zaXplKCkpOwogICAgIGZvciAoYXV0byYg
ZW50cnkgOiB1cmxzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmgKaW5kZXggNDZkNDlkOTRjNTIzOGU0Njg4ZDM5NWQ4N2MyMDYzZWI1NzIwZDFiZi4uNzQ3OTVm
NWMwZjlhMmEzNWQwMDkzMDEyYWQxOGY1N2UzMTdmODI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMTIzLDYgKzEyMyw4IEBAIGNsYXNzIFdvcmtl
ckdsb2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFdvcmtlckdsb2JhbFNjb3BlPiwg
cHVibGljIEJhc2U2CiAKICAgICBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVl
cygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXM7IH0KIAorICAgIEZldGNo
T3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMoKSBjb25zdCB7IHJldHVybiBtX2NyZWRl
bnRpYWxzOyB9CisKIHByb3RlY3RlZDoKICAgICBXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJl
YWRUeXBlLCBjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBX
b3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBJREJDbGllbnQ6
OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CiAKQEAgLTE2Myw4ICsxNjUs
NiBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxXb3Jr
ZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNgogICAgIG11dGFibGUgUmVmUHRyPFdvcmtlckxv
Y2F0aW9uPiBtX2xvY2F0aW9uOwogICAgIG11dGFibGUgUmVmUHRyPFdvcmtlck5hdmlnYXRvcj4g
bV9uYXZpZ2F0b3I7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyT3JXb3JrbGV0U2NyaXB0
Q29udHJvbGxlcj4gbV9zY3JpcHQ7Ci0KICAgICBib29sIG1faXNPbmxpbmU7CiAgICAgYm9vbCBt
X3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeTsKIApAQCAtMTg3LDYg
KzE4Nyw4IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxl
PFdvcmtlckdsb2JhbFNjb3BlPiwgcHVibGljIEJhc2U2CiAgICAgc3RkOjp1bmlxdWVfcHRyPENT
U1ZhbHVlUG9vbD4gbV9jc3NWYWx1ZVBvb2w7CiAgICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJl
clBvbGljeTsKICAgICBTZXR0aW5nczo6VmFsdWVzIG1fc2V0dGluZ3NWYWx1ZXM7CisgICAgV29y
a2VyVHlwZSBtX3dvcmtlclR5cGU7CisgICAgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBtX2Ny
ZWRlbnRpYWxzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAppbmRleCA0MDAwM2MzZTAxMDk5
OTYwZjY0Nzg2MWU3MDE2ODdkMGUzNzFkNzJkLi5lZDY3M2FjOGY3YzBlZTU0YzA2MGVjYjU5MjE2
MzkwZWQ3MGZlMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlUHJveHkuaApAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZVBy
b3h5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV29ya2VyR2xvYmFsU2NvcGVQcm94eSYgY3JlYXRl
KFdvcmtlciYpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVm
ZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmlu
ZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZldGNoUmVx
dWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9z
dE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9u
PHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDE5ZDRiZTY0OTkyZjMw
ZDNjY2U3NjU0N2EzZDIyMThhOThjODQyYzMuLjc4ODM1ODdhN2FmNjIwOWUzZWNjOGU3YjQxYmFk
NDdhZGY2MjI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuY3BwCkBAIC03Myw3ICs3Myw3IEBAIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+V29y
a2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KCpt
X3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPigq
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQoKSA9PSAmVGhyZWFkOjpj
dXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VD
b2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQ
b2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK3Zv
aWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5
LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRp
YWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiB7CiAgICAgLy8gRklYTUU6IFRo
aXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5lc3RlZCB3b3JrZXIgb25l
IGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwpAQCAtODksNyArODks
NyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNv
bnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tl
dFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAotICAgIFdvcmtlclBhcmFt
ZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwg
aXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBv
bGljeSwgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSB9OworICAgIFdvcmtlclBhcmFtZXRlcnMg
cGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxp
bmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwg
d29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCkgfTsKICAg
ICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHBhcmFtcywgc291
cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBkb2N1bWVudC50b3BPcmln
aW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3MpOwogCiAgICAgd29ya2Vy
VGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGM1YjU3NWI5ZTYxNWIzZjNmNTk2YmZjM2RmNjgz
Yzg3N2NjNjJiYWIuLmQ5ZTgxZTE1N2EwZjQ4NTJlNDliNTlkMjU2NmE4YTgwZjVmODE4YWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTUw
LDcgKzUwLDcgQEAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgZmluYWwgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8V29ya2VyTWVzc2FnaW5nUHIKIHByaXZhdGU6CiAgICAgLy8gSW1w
bGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAgLy8gKE9ubHkgdXNl
IHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQuKQotICAgIHZvaWQg
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3Mp
IGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBp
c09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwg
V29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzKSBm
aW5hbDsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2JhbFNjb3BlKCkgZmluYWw7CiAgICAg
dm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9y
dHMmJikgZmluYWw7CiAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rp
b248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRl
eCAyMzg0YTVhOGM3ZDJhMzAyZWVlNWNiNDA1ZTEwNWUwMjVjOTg0M2NjLi4wOGFhZDkwZjQ1ZTA5
ZjlkMTQ5Y2EzOTg1YTYxMzAyMDU0MWZhYzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtMjYsMTEgKzI2LDE0
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUuaCIKIAorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgorI2luY2x1ZGUgIlNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlckV2ZW50TG9vcC5oIgog
I2luY2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0VGhy
ZWFkLmgiCiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgorI2luY2x1ZGUgIldvcmtsZXRHbG9i
YWxTY29wZS5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTM5LDYgKzQyLDcgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBM
KFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKTsKIAogV29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUgdHlwZSwgUmVm
PEpTQzo6Vk0+JiYgdm0sIFdvcmtlck9yV29ya2xldFRocmVhZCogdGhyZWFkKQogICAgIDogbV9z
Y3JpcHQobWFrZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPih0eXBlLCBX
VEZNb3ZlKHZtKSwgdGhpcykpCisgICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlw
dE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpXb3Jr
ZXJPcldvcmtsZXQpKQogICAgICwgbV90aHJlYWQodGhyZWFkKQogICAgICwgbV9pbnNwZWN0b3JD
b250cm9sbGVyKG1ha2VVbmlxdWU8V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcj4oKnRoaXMpKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZS5oCmluZGV4IDZjMjQ0YTBjNDI3ZWUxYzhjNjVmZGNjNzY1OTUyZjg3N2ZkOWIxNmIuLmU0
NzlkZGVhMDRlYTVlMWUyNjZlNTE1YWY5MmNlZDNmOTk1N2VjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTI2LDEy
ICsyNiwxNCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2lu
Y2x1ZGUgIkZldGNoT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWRUeXBlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRXZlbnRMb29wVGFza0dyb3VwOworY2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyOwog
Y2xhc3MgV29ya2VyRXZlbnRMb29wOwogY2xhc3MgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjsK
IGNsYXNzIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI7CkBAIC01NCw2ICs1Niw4IEBA
IGNsYXNzIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsIHB1YmxpYyBSZWZDb3VuCiAKICAgICB1bnNpZ25lZCBsb25nIGNyZWF0ZVVuaXF1
ZUlkZW50aWZpZXIoKSB7IHJldHVybiBtX3VuaXF1ZUlkZW50aWZpZXIrKzsgfQogCisgICAgU2Ny
aXB0TW9kdWxlTG9hZGVyJiBtb2R1bGVMb2FkZXIoKSB7IHJldHVybiAqbV9tb2R1bGVMb2FkZXI7
IH0KKwogICAgIC8vIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCiAgICAgRXZlbnRMb29wVGFza0dy
b3VwJiBldmVudExvb3AoKSBmaW5hbDsKICAgICBib29sIGlzQ29udGV4dFRocmVhZCgpIGNvbnN0
IGZpbmFsOwpAQCAtNjcsNiArNzEsOCBAQCBjbGFzcyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZSA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LCBwdWJsaWMgUmVmQ291bgogICAgIHZp
cnR1YWwgdm9pZCBzdXNwZW5kKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZSgpIHsgfQog
CisgICAgdmlydHVhbCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29u
c3QgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoV29y
a2VyVGhyZWFkVHlwZSwgUmVmPEpTQzo6Vk0+JiYsIFdvcmtlck9yV29ya2xldFRocmVhZCopOwog
CkBAIC04OCw2ICs5NCw3IEBAIGNsYXNzIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlIDogcHVi
bGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHB1YmxpYyBSZWZDb3VuCiAgICAgdm9pZCBkZXJl
ZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcj4gbV9zY3JpcHQ7CisgICAgc3RkOjp1bmlx
dWVfcHRyPFNjcmlwdE1vZHVsZUxvYWRlcj4gbV9tb2R1bGVMb2FkZXI7CiAgICAgV29ya2VyT3JX
b3JrbGV0VGhyZWFkKiBtX3RocmVhZDsKICAgICBSZWZQdHI8V29ya2VyRXZlbnRMb29wPiBtX2V2
ZW50TG9vcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRMb29wVGFza0dyb3VwPiBtX2RlZmF1
bHRUYXNrR3JvdXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9y
V29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCBjZDRlYzI0NjgyNTI1YWFiYzY0
MmQ4NzdhMGRhMDExZWJkZTExNDMxLi4xODg3MzVjNGI4NzM1MDkwMjNlNGRmMWJjZTJjODJhZDcx
MmJkM2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xl
dFNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM1LDE1ICszNSwyNCBAQAogI2luY2x1
ZGUgIkpTRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZS5o
IgogI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgiCisjaW5jbHVkZSAiTW9k
dWxlRmV0Y2hGYWlsdXJlS2luZC5oIgorI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5o
IgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGll
bnREYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyQ29uc29sZUNsaWVudC5oIgorI2luY2x1ZGUgIldv
cmtlck1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZldGNoZXIu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvRGVmZXJyZWRXb3JrVGltZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9FeGNlcHRpb24uaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9FeGNlcHRpb25IZWxwZXJz
Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvR0NBY3Rpdml0eUNhbGxiYWNrLmg+CisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSlNJbnRlcm5hbFByb21pc2UuaD4KICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9KU0xvY2suaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU01vZHVsZVJl
Y29yZC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTmF0aXZlU3RkRnVuY3Rpb24uaD4K
KyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1NjcmlwdEZldGNoUGFyYW1ldGVycy5oPgorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hlci5oPgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL1N0cm9uZ0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjI4
LDYgKzIzNywyNDUgQEAgdm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpldmFs
dWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2QKICAgICB9CiB9CiAKK3N0YXRp
YyBJZGVudGlmaWVyIGpzVmFsdWVUb01vZHVsZUtleShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUuaXNTeW1ib2woKSkK
KyAgICAgICAgcmV0dXJuIElkZW50aWZpZXI6OmZyb21VaWQoanNDYXN0PFN5bWJvbCo+KHZhbHVl
KS0+cHJpdmF0ZU5hbWUoKSk7CisgICAgQVNTRVJUKHZhbHVlLmlzU3RyaW5nKCkpOworICAgIHJl
dHVybiBhc1N0cmluZyh2YWx1ZSktPnRvSWRlbnRpZmllcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsK
K30KKworSlNDOjpKU1ZhbHVlIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1
YXRlTW9kdWxlKEpTQzo6SlNNb2R1bGVSZWNvcmQmIG1vZHVsZVJlY29yZCkKK3sKKyAgICBhdXRv
JiBnbG9iYWxPYmplY3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworICAg
IHJldHVybiBtb2R1bGVSZWNvcmQuZXZhbHVhdGUoJmdsb2JhbE9iamVjdCk7Cit9CisKK01lc3Nh
Z2VRdWV1ZVdhaXRSZXN1bHQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1v
ZHVsZVN5bmNocm9ub3VzbHkoV29ya2VyU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgY29u
c3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSkKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25G
b3JiaWRkZW4oKSkKKyAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQ7CisKKyAg
ICBpbml0U2NyaXB0SWZOZWVkZWQoKTsKKworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2ds
b2JhbFNjb3BlV3JhcHBlci5nZXQoKTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsK
KyAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisKKyAgICBhdXRvIHByb3RlY3RvciA9IG1h
a2VSZWYoc2NyaXB0RmV0Y2hlcik7CisgICAgeworICAgICAgICBhdXRvJiBwcm9taXNlID0gSlNF
eGVjU3RhdGU6OmxvYWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBzb3VyY2VDb2RlLmpzU291cmNlQ29k
ZSgpLCBKU0M6OkpTU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCB7ICZzY3JpcHRGZXRjaGVyIH0p
KTsKKworICAgICAgICBhdXRvJiBmdWxmaWxsSGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9u
OjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbcHJvdGVjdG9yXShKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkgLT4gSlNDOjpF
bmNvZGVkSlNWYWx1ZSB7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgICAgICAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgICAgICAgICBJZGVudGlmaWVy
IG1vZHVsZUtleSA9IGpzVmFsdWVUb01vZHVsZUtleShnbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+
YXJndW1lbnQoMCkpOworICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9
KTsKKyAgICAgICAgICAgIHByb3RlY3Rvci0+bm90aWZ5TG9hZENvbXBsZXRlZCgqbW9kdWxlS2V5
LmltcGwoKSk7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworICAgICAgICB9KTsKKworICAgICAgICBhdXRvJiByZWplY3RIYW5kbGVyID0gKkpTTmF0
aXZlU3RkRnVuY3Rpb246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFtw
cm90ZWN0b3JdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZy
YW1lKSB7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgICAg
ICAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBKU1ZhbHVlIGVycm9y
VmFsdWUgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgICAgICAgICAgaWYgKGVycm9yVmFs
dWUuaXNPYmplY3QoKSkgeworICAgICAgICAgICAgICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6YXNP
YmplY3QoZXJyb3JWYWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKEpTVmFsdWUgZmFpbHVyZUtp
bmRWYWx1ZSA9IG9iamVjdC0+Z2V0RGlyZWN0KHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0
YSY+KCp2bS5jbGllbnREYXRhKS5idWlsdGluTmFtZXMoKS5mYWlsdXJlS2luZFByaXZhdGVOYW1l
KCkpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgaG9zdCBwcm9wYWdhdGVkIGVy
cm9yIGluIHRoZSBtb2R1bGUgbG9hZGVyIHBpcGVsaW5lLgorICAgICAgICAgICAgICAgICAgICBz
d2l0Y2ggKHN0YXRpY19jYXN0PE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ+KGZhaWx1cmVLaW5kVmFs
dWUuYXNJbnQzMigpKSkgeworICAgICAgICAgICAgICAgICAgICBjYXNlIE1vZHVsZUZldGNoRmFp
bHVyZUtpbmQ6Oldhc0Vycm9yZWQ6CisgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0b3It
Pm5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBMb2FkYWJsZVNjcmlwdDo6RXJyb3JUeXBlOjpDYWNoZWRTY3JpcHQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgV1RGOjpudWxsb3B0CisgICAgICAgICAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgICAgICBjYXNlIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0NhbmNlbGVkOgorICAgICAg
ICAgICAgICAgICAgICAgICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkV2FzQ2FuY2VsZWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBhdXRvIHNjb3Bl
ID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlm
eUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yIHsKKyAgICAgICAgICAgICAgICBMb2Fk
YWJsZVNjcmlwdDo6RXJyb3JUeXBlOjpDYWNoZWRTY3JpcHQsCisgICAgICAgICAgICAgICAgTG9h
ZGFibGVTY3JpcHQ6OkNvbnNvbGVNZXNzYWdlIHsKKyAgICAgICAgICAgICAgICAgICAgTWVzc2Fn
ZVNvdXJjZTo6SlMsCisgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbDo6RXJyb3IsCisg
ICAgICAgICAgICAgICAgICAgIHJldHJpZXZlRXJyb3JNZXNzYWdlKCpnbG9iYWxPYmplY3QsIHZt
LCBlcnJvclZhbHVlLCBzY29wZSksCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAg
ICAgICB9KTsKKworICAgICAgICBwcm9taXNlLnRoZW4oJmdsb2JhbE9iamVjdCwgJmZ1bGZpbGxI
YW5kbGVyLCAmcmVqZWN0SGFuZGxlcik7CisgICAgfQorICAgIG1fZ2xvYmFsU2NvcGUtPmV2ZW50
TG9vcCgpLnBlcmZvcm1NaWNyb3Rhc2tDaGVja3BvaW50KCk7CisKKyAgICAvLyBEcml2ZSBSdW5M
b29wIHVudGlsIHdlIGdldCBlaXRoZXIgb2YgIldvcmtlciBpcyB0ZXJtaW5hdGVkIiwgIkxvYWRp
bmcgaXMgZG9uZSIsIG9yICJMb2FkaW5nIGlzIGZhaWxlZCIuCisgICAgV29ya2VyUnVuTG9vcCYg
cnVuTG9vcCA9IG1fZ2xvYmFsU2NvcGUtPndvcmtlck9yV29ya2xldFRocmVhZCgpLT5ydW5Mb29w
KCk7CisKKyAgICAvLyBXZSBkbyBub3Qgd2FudCB0byByZWNlaXZlIG1lc3NhZ2VzIHRoYXQgYXJl
IG5vdCByZWxhdGVkIHRvIGFzeW5jaHJvbm91cyByZXNvdXJjZSBsb2FkaW5nLgorICAgIC8vIE90
aGVyd2lzZSwgYSB3b3JrZXIgZGlzY2FyZHMgc29tZSBtZXNzYWdlcyBmcm9tIHRoZSBtYWluIHRo
cmVhZCBoZXJlIGluIGEgcmFjeSB3YXkuCisgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBtYWluIHRo
cmVhZCBjYW4gcG9zdE1lc3NhZ2UganVzdCBhZnRlciBjcmVhdGluZyBhIFdvcmtlci4gSW4gdGhh
dCBjYXNlLCBwb3N0TWVzc2FnZSdzCisgICAgLy8gdGFzayBpcyBxdWV1ZWQgaW4gV29ya2VyUnVu
TG9vcCBiZWZvcmUgc3RhcnQgcnVubmluZyBtb2R1bGUgc2NyaXB0cy4gVGhpcyB0YXNrIHNob3Vs
ZCBub3QgYmUgZGlzY2FyZGVkCisgICAgLy8gaW4gdGhlIGZvbGxvd2luZyBkcml2aW5nIG9mIHRo
ZSBSdW5Mb29wIHdoaWNoIG1haW5seSBhdHRlbXB0IHRvIGNvbGxlY3QgaW5pdGlhbCBsb2FkIG9m
IG1vZHVsZSBzY3JpcHRzLgorICAgIFN0cmluZyB0YXNrTW9kZSA9IFdvcmtlck1vZHVsZVNjcmlw
dExvYWRlcjo6dGFza01vZGUoKTsKKyAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdCA9
IE1lc3NhZ2VRdWV1ZU1lc3NhZ2VSZWNlaXZlZDsKKyAgICB3aGlsZSAoKCFwcm90ZWN0b3ItPmlz
TG9hZGVkKCkgJiYgIXByb3RlY3Rvci0+d2FzQ2FuY2VsZWQoKSkgJiYgcmVzdWx0ICE9IE1lc3Nh
Z2VRdWV1ZVRlcm1pbmF0ZWQpIHsKKyAgICAgICAgcmVzdWx0ID0gcnVuTG9vcC5ydW5Jbk1vZGUo
bV9nbG9iYWxTY29wZSwgdGFza01vZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VR
dWV1ZVRlcm1pbmF0ZWQpCisgICAgICAgICAgICBtX2dsb2JhbFNjb3BlLT5ldmVudExvb3AoKS5w
ZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKK3ZvaWQgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bGlua0FuZEV2YWx1
YXRlTW9kdWxlKFdvcmtlclNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIGNvbnN0IFNjcmlw
dFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUsIFN0cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdl
KQoreworICAgIGlmIChpc0V4ZWN1dGlvbkZvcmJpZGRlbigpKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbml0U2NyaXB0SWZOZWVkZWQoKTsKKworICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICpt
X2dsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0o
KTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisKKyAgICBOYWtlZFB0cjxKU0M6OkV4
Y2VwdGlvbj4gcmV0dXJuZWRFeGNlcHRpb247CisgICAgSlNFeGVjU3RhdGU6OmxpbmtBbmRFdmFs
dWF0ZU1vZHVsZShnbG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZyb21VaWQodm0sIHNjcmlwdEZl
dGNoZXIubW9kdWxlS2V5KCkpLCBqc1VuZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7Cisg
ICAgaWYgKChyZXR1cm5lZEV4Y2VwdGlvbiAmJiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRp
b24odm0sIHJldHVybmVkRXhjZXB0aW9uKSkgfHwgaXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigpKSB7
CisgICAgICAgIGZvcmJpZEV4ZWN1dGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKHJldHVybmVkRXhjZXB0aW9uKSB7CisgICAgICAgIGlmIChtX2dsb2JhbFNjb3BlLT5j
YW5JbmNsdWRlRXJyb3JEZXRhaWxzKHNvdXJjZUNvZGUuY2FjaGVkU2NyaXB0KCksIHNvdXJjZUNv
ZGUudXJsKCkuc3RyaW5nKCkpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBub3QgZ3Jl
YXQgdGhhdCB0aGlzIGNhbiBydW4gYXJiaXRyYXJ5IGNvZGUgdG8gc3RyaW5nLWlmeSB0aGUgdmFs
dWUgb2YgdGhlIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgIC8vIERvIHdlIG5lZWQgdG8gZG8gYW55
dGhpbmcgdG8gaGFuZGxlIHRoYXQgcHJvcGVybHksIGlmIGl0LCBzYXksIHJhaXNlcyBhbm90aGVy
IGV4Y2VwdGlvbj8KKyAgICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UpCisg
ICAgICAgICAgICAgICAgKnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IHJldHVybmVkRXhjZXB0
aW9uLT52YWx1ZSgpLnRvV1RGU3RyaW5nKCZnbG9iYWxPYmplY3QpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgLy8gT3ZlcndyaXRlIHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2Vu
ZXJpYyBlcnJvci4KKyAgICAgICAgICAgIFN0cmluZyBnZW5lcmljRXJyb3JNZXNzYWdlIHsgIlNj
cmlwdCBlcnJvci4iX3MgfTsKKyAgICAgICAgICAgIGlmIChyZXR1cm5lZEV4Y2VwdGlvbk1lc3Nh
Z2UpCisgICAgICAgICAgICAgICAgKnJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IGdlbmVyaWNF
cnJvck1lc3NhZ2U7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgV29ya2VyT3JXb3JrbGV0
U2NyaXB0Q29udHJvbGxlcjo6bG9hZEFuZEV2YWx1YXRlTW9kdWxlKGNvbnN0IFVSTCYgbW9kdWxl
VVJMLCBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7
CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpIHsKKyAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoRXhjZXB0aW9uIHsgTm90QWxsb3dlZEVycm9yIH0pOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CisKKyAgICBhdXRvJiBnbG9iYWxPYmpl
Y3QgPSAqbV9nbG9iYWxTY29wZVdyYXBwZXIuZ2V0KCk7CisgICAgVk0mIHZtID0gZ2xvYmFsT2Jq
ZWN0LnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sgeyB2bSB9OworCisgICAgYXV0byBzY3Jp
cHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKGNyZWRlbnRpYWxzLCBnbG9i
YWxTY29wZSgpLT5kZXN0aW5hdGlvbigpLCBnbG9iYWxTY29wZSgpLT5yZWZlcnJlclBvbGljeSgp
KTsKKyAgICB7CisgICAgICAgIGF1dG8mIHByb21pc2UgPSBKU0V4ZWNTdGF0ZTo6bG9hZE1vZHVs
ZShnbG9iYWxPYmplY3QsIG1vZHVsZVVSTC5zdHJpbmcoKSwgSlNDOjpKU1NjcmlwdEZldGNoUGFy
YW1ldGVyczo6Y3JlYXRlKHZtLCBtYWtlUmVmKHNjcmlwdEZldGNoZXItPnBhcmFtZXRlcnMoKSkp
LCBKU0M6OkpTU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCB7IHNjcmlwdEZldGNoZXIucHRyKCkg
fSkpOworCisgICAgICAgIGF1dG8gdGFzayA9IGNyZWF0ZVNoYXJlZFRhc2s8dm9pZChPcHRpb25h
bDxFeGNlcHRpb24+JiYpPihbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKV0oT3B0aW9uYWw8RXhjZXB0aW9uPiYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CisgICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGV4Y2VwdGlvbikpOworICAgICAgICB9
KTsKKworICAgICAgICBhdXRvJiBmdWxmaWxsSGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9u
OjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIDEsIFN0cmluZygpLCBbdGFzaywgc2NyaXB0RmV0
Y2hlcl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUp
IC0+IEpTQzo6RW5jb2RlZEpTVmFsdWUgeworICAgICAgICAgICAgLy8gdGFzay0+cnVuKFdURjo6
bnVsbG9wdCk7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAg
ICAgICAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBhdXRvIHNjb3Bl
ID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICAgICAgICAgIElkZW50aWZpZXIgbW9k
dWxlS2V5ID0ganNWYWx1ZVRvTW9kdWxlS2V5KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT5hcmd1
bWVudCgwKSk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwor
ICAgICAgICAgICAgc2NyaXB0RmV0Y2hlci0+bm90aWZ5TG9hZENvbXBsZXRlZCgqbW9kdWxlS2V5
LmltcGwoKSk7CisKKyAgICAgICAgICAgIGF1dG8qIGNvbnRleHQgPSBkb3duY2FzdDxXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZT4oanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICAgICAgICAgIGlmICghY29udGV4
dCB8fCAhY29udGV4dC0+c2NyaXB0KCkpIHsKKyAgICAgICAgICAgICAgICB0YXNrLT5ydW4oV1RG
OjpudWxsb3B0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBOYWtlZFB0cjxKU0M6OkV4
Y2VwdGlvbj4gcmV0dXJuZWRFeGNlcHRpb247CisgICAgICAgICAgICBKU0V4ZWNTdGF0ZTo6bGlu
a0FuZEV2YWx1YXRlTW9kdWxlKCpnbG9iYWxPYmplY3QsIG1vZHVsZUtleSwganNVbmRlZmluZWQo
KSwgcmV0dXJuZWRFeGNlcHRpb24pOworICAgICAgICAgICAgaWYgKChyZXR1cm5lZEV4Y2VwdGlv
biAmJiBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIHJldHVybmVkRXhjZXB0aW9u
KSkgfHwgY29udGV4dC0+c2NyaXB0KCktPmlzVGVybWluYXRpbmdFeGVjdXRpb24oKSkgeworICAg
ICAgICAgICAgICAgIGlmIChjb250ZXh0LT5zY3JpcHQoKSkKKyAgICAgICAgICAgICAgICAgICAg
Y29udGV4dC0+c2NyaXB0KCktPmZvcmJpZEV4ZWN1dGlvbigpOworICAgICAgICAgICAgICAgIHRh
c2stPnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChy
ZXR1cm5lZEV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlOworICAg
ICAgICAgICAgICAgIGlmIChjb250ZXh0LT5jYW5JbmNsdWRlRXJyb3JEZXRhaWxzKG51bGxwdHIs
IG1vZHVsZUtleS5zdHJpbmcoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEl0
J3Mgbm90IGdyZWF0IHRoYXQgdGhpcyBjYW4gcnVuIGFyYml0cmFyeSBjb2RlIHRvIHN0cmluZy1p
ZnkgdGhlIHZhbHVlIG9mIHRoZSBleGNlcHRpb24uCisgICAgICAgICAgICAgICAgICAgIC8vIERv
IHdlIG5lZWQgdG8gZG8gYW55dGhpbmcgdG8gaGFuZGxlIHRoYXQgcHJvcGVybHksIGlmIGl0LCBz
YXksIHJhaXNlcyBhbm90aGVyIGV4Y2VwdGlvbj8KKyAgICAgICAgICAgICAgICAgICAgbWVzc2Fn
ZSA9IHJldHVybmVkRXhjZXB0aW9uLT52YWx1ZSgpLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7
CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gT3Zlcndy
aXRlIHRoZSBkZXRhaWxlZCBlcnJvciB3aXRoIGEgZ2VuZXJpYyBlcnJvci4KKyAgICAgICAgICAg
ICAgICAgICAgbWVzc2FnZSA9ICJTY3JpcHQgZXJyb3IuIl9zOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICBjb250ZXh0LT5yZXBvcnRFeGNlcHRpb24obWVzc2FnZSwgeyB9LCB7
IH0sIHsgfSwgeyB9LCB7IH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0YXNrLT5y
dW4oV1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNV
bmRlZmluZWQoKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGF1dG8mIHJlamVjdEhhbmRsZXIg
PSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBTdHJp
bmcoKSwgW3Rhc2tdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2Fs
bEZyYW1lKSB7CisgICAgICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAg
ICAgICAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisgICAgICAgICAgICBKU1ZhbHVlIGVy
cm9yVmFsdWUgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgICAgICAgICAgaWYgKGVycm9y
VmFsdWUuaXNPYmplY3QoKSkgeworICAgICAgICAgICAgICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6
YXNPYmplY3QoZXJyb3JWYWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKG9iamVjdC0+Z2V0RGly
ZWN0KHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSY+KCp2bS5jbGllbnREYXRhKS5idWls
dGluTmFtZXMoKS5mYWlsdXJlS2luZFByaXZhdGVOYW1lKCkpKSB7CisgICAgICAgICAgICAgICAg
ICAgIGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAg
ICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5h
bWUoKmdsb2JhbE9iamVjdCwgdm0sIG9iamVjdCwgY2F0Y2hTY29wZSk7CisgICAgICAgICAgICAg
ICAgICAgIHRhc2stPnJ1bihFeGNlcHRpb24geyBBYm9ydEVycm9yLCBtZXNzYWdlIH0pOworICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0LT5pbmhlcml0czxF
cnJvckluc3RhbmNlPih2bSkpIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byogZXJyb3IgPSBq
c0Nhc3Q8RXJyb3JJbnN0YW5jZSo+KG9iamVjdCk7CisgICAgICAgICAgICAgICAgICAgIHN3aXRj
aCAoZXJyb3ItPmVycm9yVHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgRXJyb3JU
eXBlOjpUeXBlRXJyb3I6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gY2F0Y2hTY29w
ZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgICAgICAgICAgICAgU3Ry
aW5nIG1lc3NhZ2UgPSByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmpl
Y3QsIHZtLCBlcnJvciwgY2F0Y2hTY29wZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0YXNr
LT5ydW4oRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBtZXNzYWdlIH0pOworICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjYXNlIEVycm9yVHlwZTo6U3ludGF4
RXJyb3I6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xB
UkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3Nh
Z2UgPSByZXRyaWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmplY3QsIHZtLCBl
cnJvciwgY2F0Y2hTY29wZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0YXNrLT5ydW4oRXhj
ZXB0aW9uIHsgSlNTeW50YXhFcnJvciwgbWVzc2FnZSB9KTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NB
VENIX1NDT1BFKHZtKTsKKyAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJv
ck1lc3NhZ2VXaXRob3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgZXJyb3JWYWx1ZSwgY2F0Y2hT
Y29wZSk7CisgICAgICAgICAgICB0YXNrLT5ydW4oRXhjZXB0aW9uIHsgQWJvcnRFcnJvciwgbWVz
c2FnZSB9KTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CisgICAgICAgIH0pOworCisgICAgICAgIHByb21pc2UudGhlbigmZ2xvYmFsT2JqZWN0LCAm
ZnVsZmlsbEhhbmRsZXIsICZyZWplY3RIYW5kbGVyKTsKKyAgICB9CisgICAgbV9nbG9iYWxTY29w
ZS0+ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNrcG9pbnQoKTsKK30KKwogdGVtcGxh
dGU8dHlwZW5hbWUgSlNHbG9iYWxTY29wZVByb3RvdHlwZSwgdHlwZW5hbWUgSlNHbG9iYWxTY29w
ZSwgdHlwZW5hbWUgR2xvYmFsU2NvcGU+CiB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRy
b2xsZXI6OmluaXRTY3JpcHRXaXRoU3ViY2xhc3MoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaAppbmRleCBj
NDkzMDFhZWQzZGQwODlkYTc5NzMyNzYwY2FmMmY3YjY0ZGIxMWI2Li5lOTgwNjM5MTAyOTk1NDky
ODQ2ODA1YzBjMTdmMDBjNzhiNzE0MWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaApAQCAtMzEsNiArMzEs
NyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTUnVuTG9vcFRpbWVyLmg+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9N
ZXNzYWdlUXVldWUuaD4KICNpbmNsdWRlIDx3dGYvTmFrZWRQdHIuaD4KIAogbmFtZXNwYWNlIEpT
QyB7CkBAIC00Nyw2ICs0OCw3IEBAIGNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OwogY2xhc3MgU2Ny
aXB0U291cmNlQ29kZTsKIGNsYXNzIFdvcmtlckNvbnNvbGVDbGllbnQ7CiBjbGFzcyBXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZTsKK2NsYXNzIFdvcmtlclNjcmlwdEZldGNoZXI7CiAKIGNsYXNz
IFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIpOwpAQCAtOTQsNiArOTYsMTMgQEAg
Y2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlciB7CiAgICAgdm9pZCBldmFsdWF0
ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3Nh
Z2UgPSBudWxscHRyKTsKICAgICB2b2lkIGV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
LCBOYWtlZFB0cjxKU0M6OkV4Y2VwdGlvbj4mIHJldHVybmVkRXhjZXB0aW9uLCBTdHJpbmcqIHJl
dHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOwogCisgICAgSlNDOjpKU1ZhbHVlIGV2
YWx1YXRlTW9kdWxlKEpTQzo6SlNNb2R1bGVSZWNvcmQmKTsKKworICAgIHZvaWQgbGlua0FuZEV2
YWx1YXRlTW9kdWxlKFdvcmtlclNjcmlwdEZldGNoZXImLCBjb25zdCBTY3JpcHRTb3VyY2VDb2Rl
JiwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlvbk1lc3NhZ2UgPSBudWxscHRyKTsKKyAgICBNZXNz
YWdlUXVldWVXYWl0UmVzdWx0IGxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KFdvcmtlclNjcmlwdEZl
dGNoZXImLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7CisKKyAgICB2b2lkIGxvYWRBbmRFdmFs
dWF0ZU1vZHVsZShjb25zdCBVUkwmIG1vZHVsZVVSTCwgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFs
cywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxFeGNlcHRpb24+JiYpPiYmKTsKKwog
cHJvdGVjdGVkOgogICAgIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKiBnbG9iYWxTY29wZSgp
IGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsU2NvcGU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDNhNGRhZWZjMzkwMmJkYjJlYTg0ZmM1
OGQ3ZTQyZjgzZTVmMDdlMmYuLjlmMzFkMGRmZDU5YTg3MDdmZDRlYjU5Y2MzYzkyYTA2NjQ4MWRl
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAK
QEAgLTEwNyw3ICsxMDcsNyBAQCBPcHRpb25hbDxFeGNlcHRpb24+IFdvcmtlclNjcmlwdExvYWRl
cjo6bG9hZFN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dAogICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CiB9CiAKLXZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9u
b3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmVz
b3VyY2VSZXF1ZXN0JiYgc2NyaXB0UmVxdWVzdCwgRmV0Y2hPcHRpb25zJiYgZmV0Y2hPcHRpb25z
LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCBjb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlIHNlcnZpY2VXb3JrZXJNb2RlLCBXb3JrZXJT
Y3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCkKK3ZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2Fk
QXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgUmVzb3VyY2VSZXF1ZXN0JiYgc2NyaXB0UmVxdWVzdCwgRmV0Y2hPcHRpb25zJiYgZmV0
Y2hPcHRpb25zLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCBjb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlIHNlcnZpY2VXb3JrZXJNb2Rl
LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgU3RyaW5nJiYgdGFza01vZGUpCiB7
CiAgICAgbV9jbGllbnQgPSAmY2xpZW50OwogICAgIG1fdXJsID0gc2NyaXB0UmVxdWVzdC51cmwo
KTsKQEAgLTEyMyw4ICsxMjMsNiBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5j
aHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogICAgIEFTU0VS
VChmZXRjaE9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW4gfHwg
KGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiAhPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpT
ZXJ2aWNld29ya2VyICYmIGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiAhPSBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uOjpXb3JrZXIpKTsKIAogICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zIG9w
dGlvbnMgeyBXVEZNb3ZlKGZldGNoT3B0aW9ucykgfTsKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IGFkZCBhbiBvcHRpb24gdG8gc2V0IGNyZWRlbnRpYWwgbW9kZS4KLSAgICBvcHRpb25zLmNyZWRl
bnRpYWxzID0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbjsKICAgICBvcHRp
b25zLnNlbmRMb2FkQ2FsbGJhY2tzID0gU2VuZENhbGxiYWNrUG9saWN5OjpTZW5kQ2FsbGJhY2tz
OwogICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBjb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDsKICAgICBpZiAoZmV0Y2hPcHRpb25zLmRlc3RpbmF0
aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNlcnZpY2V3b3JrZXIpCkBAIC0xNDMs
NyArMTQxLDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXQKIAogICAgIC8vIER1cmluZyBjcmVh
dGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVuIHdoaWNoIHJlbW92ZSB0aGUgbGFzdCByZWZlcmVuY2Ug
dG8gdGhpcyBvYmplY3QuCiAgICAgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gcHJvdGVjdGVkVGhp
cygqdGhpcyk7Ci0gICAgbV90aHJlYWRhYmxlTG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3Jl
YXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKCpyZXF1ZXN0KSwgb3B0
aW9ucyk7CisgICAgbV90aHJlYWRhYmxlTG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRl
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKCpyZXF1ZXN0KSwgb3B0aW9u
cywgeyB9LCBXVEZNb3ZlKHRhc2tNb2RlKSk7CiB9CiAKIGNvbnN0IFVSTCYgV29ya2VyU2NyaXB0
TG9hZGVyOjpyZXNwb25zZVVSTCgpIGNvbnN0CkBAIC0xOTAsNiArMTg4LDggQEAgdm9pZCBXb3Jr
ZXJTY3JpcHRMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIGNvbnN0IFJlc28KICAgICBtX2NlcnRpZmljYXRlSW5mbyA9IHJlc3BvbnNlLmNlcnRpZmlj
YXRlSW5mbygpID8gKnJlc3BvbnNlLmNlcnRpZmljYXRlSW5mbygpIDogQ2VydGlmaWNhdGVJbmZv
KCk7CiAgICAgbV9yZXNwb25zZU1JTUVUeXBlID0gcmVzcG9uc2UubWltZVR5cGUoKTsKICAgICBt
X3Jlc3BvbnNlRW5jb2RpbmcgPSByZXNwb25zZS50ZXh0RW5jb2RpbmdOYW1lKCk7CisgICAgbV9y
ZXNwb25zZVNvdXJjZSA9IHJlc3BvbnNlLnNvdXJjZSgpOworICAgIG1faXNSZWRpcmVjdGVkID0g
cmVzcG9uc2UuaXNSZWRpcmVjdGVkKCk7CiAgICAgbV9jb250ZW50U2VjdXJpdHlQb2xpY3kgPSBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgeyByZXNwb25zZSB9OwogICAgIG1f
cmVmZXJyZXJQb2xpY3kgPSByZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6
OlJlZmVycmVyUG9saWN5KTsKICAgICBpZiAobV9jbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCA3ZmRkMGIzZjZhMDFjMmRiNTc3MjRhOTBi
M2JiOTg0MGYxZTY4ZTVmLi5jZmEzMWEzNTMyNTlhZWVkMTk4ZjkzOTFmZmMxNTExYjQwNTBiODVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlICJGZXRjaE9wdGlvbnMuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXIuaCIKICNpbmNsdWRlICJU
aHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8bWVtb3J5PgpAQCAtNDMsNyArNDQs
NiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFeGNlcHRpb247Ci1jbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFRleHRS
ZXNvdXJjZURlY29kZXI7CiBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQ7CkBAIC01OCw3
ICs1OCw3IEBAIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdv
cmtlclNjcmlwdExvYWRlcj4sIHB1YmxpYyBUaHJlYWRhCiAgICAgfQogCiAgICAgT3B0aW9uYWw8
RXhjZXB0aW9uPiBsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29u
c3QgVVJMJiwgRmV0Y2hPcHRpb25zOjpNb2RlLCBGZXRjaE9wdGlvbnM6OkNhY2hlLCBDb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3JJZGVudGlm
aWVyKTsKLSAgICB2b2lkIGxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZldGNoT3B0aW9ucyYmLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGll
bnQmKTsKKyAgICB2b2lkIGxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZldGNoT3B0aW9ucyYmLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGll
bnQmLCBTdHJpbmcmJiB0YXNrTW9kZSk7CiAKICAgICB2b2lkIG5vdGlmeUVycm9yKCk7CiAKQEAg
LTY3LDYgKzY3LDggQEAgY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50
ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGEKICAgICBjb25zdCBTdHJpbmcm
IHJlZmVycmVyUG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9yZWZlcnJlclBvbGljeTsgfQogICAg
IGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0KICAgICBjb25zdCBVUkwm
IHJlc3BvbnNlVVJMKCkgY29uc3Q7CisgICAgUmVzb3VyY2VSZXNwb25zZTo6U291cmNlIHJlc3Bv
bnNlU291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZVNvdXJjZTsgfQorICAgIGJvb2wg
aXNSZWRpcmVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1JlZGlyZWN0ZWQ7IH0KICAgICBjb25z
dCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2Vy
dGlmaWNhdGVJbmZvOyB9CiAgICAgY29uc3QgU3RyaW5nJiByZXNwb25zZU1JTUVUeXBlKCkgY29u
c3QgeyByZXR1cm4gbV9yZXNwb25zZU1JTUVUeXBlOyB9CiAgICAgYm9vbCBmYWlsZWQoKSBjb25z
dCB7IHJldHVybiBtX2ZhaWxlZDsgfQpAQCAtMTA3LDYgKzEwOSw4IEBAIGNsYXNzIFdvcmtlclNj
cmlwdExvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj4sIHB1Ymxp
YyBUaHJlYWRhCiAgICAgdW5zaWduZWQgbG9uZyBtX2lkZW50aWZpZXIgeyAwIH07CiAgICAgYm9v
bCBtX2ZhaWxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2ZpbmlzaGluZyB7IGZhbHNlIH07Cisg
ICAgYm9vbCBtX2lzUmVkaXJlY3RlZCB7IGZhbHNlIH07CisgICAgUmVzb3VyY2VSZXNwb25zZTo6
U291cmNlIG1fcmVzcG9uc2VTb3VyY2UgeyBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlVua25v
d24gfTsKICAgICBSZXNvdXJjZUVycm9yIG1fZXJyb3I7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggNzI3OTBhMDMzMjI2MTllNmVlN2U2MTZhOGJkZTE4
YmQ1NTJhNTc4My4uOWI2YzNlN2UwZTczMTQ1Yjc1YjY1Mzc0MTNkNWZmMDViYzU1MWI0MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtMzIsNiArMzIsOCBAQAog
I2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU29ja2V0UHJvdmlkZXIuaCIK
ICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdEZl
dGNoZXIuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KICNp
bmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU1LDYg
KzU3LDggQEAgV29ya2VyUGFyYW1ldGVycyBXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRlZENvcHko
KSBjb25zdAogICAgICAgICBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksCiAgICAgICAgIHRpbWVPcmlnaW4sCiAgICAgICAgIHJlZmVycmVyUG9saWN5LAorICAgICAg
ICB3b3JrZXJUeXBlLAorICAgICAgICBjcmVkZW50aWFscywKICAgICAgICAgc2V0dGluZ3NWYWx1
ZXMuaXNvbGF0ZWRDb3B5KCkKICAgICB9OwogfQpAQCAtMTIzLDkgKzEyNywyOSBAQCBib29sIFdv
cmtlclRocmVhZDo6c2hvdWxkV2FpdEZvcldlYkluc3BlY3Rvck9uU3RhcnR1cCgpIGNvbnN0CiAK
IHZvaWQgV29ya2VyVGhyZWFkOjpldmFsdWF0ZVNjcmlwdElmTmVjZXNzYXJ5KFN0cmluZyYgZXhj
ZXB0aW9uTWVzc2FnZSkKIHsKLSAgICBnbG9iYWxTY29wZSgpLT5zY3JpcHQoKS0+ZXZhbHVhdGUo
U2NyaXB0U291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVw
RGF0YS0+cGFyYW1zLnNjcmlwdFVSTCkpLCAmZXhjZXB0aW9uTWVzc2FnZSk7Ci0KLSAgICBmaW5p
c2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICAvLyBXZSBhcmUgY3VycmVudGx5IGhvbGRpbmcg
b25seSB0aGUgaW5pdGlhbCBzY3JpcHQgY29kZS4gSWYgdGhlIFdvcmtlclR5cGUgaXMgTW9kdWxl
LCB3ZSBzaG91bGQgZmV0Y2ggdGhlIGVudGlyZSBncmFwaCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBy
ZXN0IG9mIHRoaXMuCisgICAgLy8gV2UgaW52b2tlIG1vZHVsZSBsb2FkZXIgYXMgaWYgd2UgYXJl
IGV4ZWN1dGluZyBpbmxpbmUgbW9kdWxlIHNjcmlwdCB0YWcgaW4gRG9jdW1lbnQuCisKKyAgICBp
ZiAobV9zdGFydHVwRGF0YS0+cGFyYW1zLndvcmtlclR5cGUgPT0gV29ya2VyVHlwZTo6Q2xhc3Np
YykgeworICAgICAgICBnbG9iYWxTY29wZSgpLT5zY3JpcHQoKS0+ZXZhbHVhdGUoU2NyaXB0U291
cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFy
YW1zLnNjcmlwdFVSTCkpLCAmZXhjZXB0aW9uTWVzc2FnZSk7CisgICAgICAgIGZpbmlzaGVkRXZh
bHVhdGluZ1NjcmlwdCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGF1dG8gc2NyaXB0RmV0Y2hl
ciA9IFdvcmtlclNjcmlwdEZldGNoZXI6OmNyZWF0ZShnbG9iYWxTY29wZSgpLT5jcmVkZW50aWFs
cygpLCBnbG9iYWxTY29wZSgpLT5kZXN0aW5hdGlvbigpLCBnbG9iYWxTY29wZSgpLT5yZWZlcnJl
clBvbGljeSgpKTsKKyAgICAgICAgU2NyaXB0U291cmNlQ29kZSBzb3VyY2VDb2RlKG1fc3RhcnR1
cERhdGEtPnNvdXJjZUNvZGUsIFVSTChtX3N0YXJ0dXBEYXRhLT5wYXJhbXMuc2NyaXB0VVJMKSwg
eyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVyU291cmNlVHlwZTo6TW9kdWxlLCBzY3JpcHRGZXRjaGVy
LmNvcHlSZWYoKSk7CisgICAgICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgcmVzdWx0ID0gZ2xv
YmFsU2NvcGUoKS0+c2NyaXB0KCktPmxvYWRNb2R1bGVTeW5jaHJvbm91c2x5KHNjcmlwdEZldGNo
ZXIuZ2V0KCksIHNvdXJjZUNvZGUpOworICAgICAgICBpZiAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1
ZVRlcm1pbmF0ZWQpIHsKKyAgICAgICAgICAgIGlmIChPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6
RXJyb3I+IGVycm9yID0gc2NyaXB0RmV0Y2hlci0+ZXJyb3IoKSkgeworICAgICAgICAgICAgICAg
IGlmIChPcHRpb25hbDxMb2FkYWJsZVNjcmlwdDo6Q29uc29sZU1lc3NhZ2U+IG1lc3NhZ2UgPSBl
cnJvci0+Y29uc29sZU1lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3Nh
Z2UgPSBtZXNzYWdlLT5tZXNzYWdlOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZh
aWxlZC4iX3M7CisgICAgICAgICAgICAgICAgZ2xvYmFsU2NvcGUoKS0+cmVwb3J0RXhjZXB0aW9u
KGV4Y2VwdGlvbk1lc3NhZ2UsIHsgfSwgeyB9LCB7IH0sIHsgfSwgeyB9KTsKKyAgICAgICAgICAg
IH0gZWxzZSBpZiAoIXNjcmlwdEZldGNoZXItPndhc0NhbmNlbGVkKCkpIHsKKyAgICAgICAgICAg
ICAgICBnbG9iYWxTY29wZSgpLT5zY3JpcHQoKS0+bGlua0FuZEV2YWx1YXRlTW9kdWxlKHNjcmlw
dEZldGNoZXIuZ2V0KCksIHNvdXJjZUNvZGUsICZleGNlcHRpb25NZXNzYWdlKTsKKyAgICAgICAg
ICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0KIAogICAgIC8vIEZyZWUgdGhlIHN0YXJ0dXAgZGF0YSB0byBjYXVzZSBpdHMg
bWVtYmVyIHZhcmlhYmxlIGRlcmVmJ3MgaGFwcGVuIG9uIHRoZSB3b3JrZXIncyB0aHJlYWQgKHNp
bmNlCiAgICAgLy8gYWxsIHJlZi9kZXJlZnMgb2YgdGhlc2Ugb2JqZWN0cyBhcmUgaGFwcGVuaW5n
IG9uIHRoZSB0aHJlYWQgYXQgdGhpcyBwb2ludCkuIE5vdGUgdGhhdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmgKaW5kZXggODg5MDc5MDhlN2E5YjgwOWU4ZjJhNGU0NzNkNzUyZDEx
ZDI5MzdjMC4uOTUxMmVmZGIxOGYzMmE1MGVjYjdmYjU2OTU5ZDYxZTg4NzJmYTFkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0yNiw3ICsyNiwxMCBAQAogI3ByYWdt
YSBvbmNlCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMu
aCIKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oIgogI2luY2x1ZGUgIldvcmtl
ck9yV29ya2xldFRocmVhZC5oIgorI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKKyNpbmNsdWRl
ICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+
CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KQEAgLTYzLDYgKzY2LDgg
QEAgc3RydWN0IFdvcmtlclBhcmFtZXRlcnMgewogICAgIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogICAgIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbjsK
ICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeTsKKyAgICBXb3JrZXJUeXBlIHdvcmtl
clR5cGU7CisgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHM7CiAgICAgU2V0
dGluZ3M6OlZhbHVlcyBzZXR0aW5nc1ZhbHVlczsKIAogICAgIFdvcmtlclBhcmFtZXRlcnMgaXNv
bGF0ZWRDb3B5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5oCmluZGV4IDBi
MGVkODYwZDljNzE0MjM4YTJhNWJiOWZkZjQzODQwMmQxNmViZjAuLjFjMWJiOTQ0ODY3YWRmNGVk
NTc4YTI4MTRmYTMzMjMyNmFlZDhhNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVHlwZS5o
CkBAIC0yNyw3ICsyNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBX
b3JrZXJUeXBlIHsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3QgewogICAgIENsYXNz
aWMsCiAgICAgTW9kdWxlLAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCmluZGV4IGViYmU5NWU4OTI0YzhmMWQ3
Mzc1MjVkZWExNjMwYjFmYWQ1NmZiMjcuLjRjN2RkZjRhNGMxMzFlMGRjZDZiYTA5NTA5YWIyZDk3
NTc1ZjMwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApAQCAtNDcsNyArNDcsNyBAQCBjbGFzcyBOYXZpZ2F0
b3JCYXNlOwogY2xhc3MgU2VydmljZVdvcmtlcjsKIAogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2Vy
VXBkYXRlVmlhQ2FjaGUgOiB1aW50OF90OwotZW51bSBjbGFzcyBXb3JrZXJUeXBlOworZW51bSBj
bGFzcyBXb3JrZXJUeXBlIDogdWludDhfdDsKIAogdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4g
Y2xhc3MgRE9NUHJvbWlzZVByb3h5OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggNjAyZGE3MjM1
ZGZhZjBmNzI1MDMxNjcxNzAzZmVmNzZhZjY0ZjE3ZC4uY2UwN2JmOTA0MmExMGY1ZmMyZDQ1NmY5
ODU5ZmI5ZjZlNTFjNTk4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtNjksNiArNjksOCBAQCBj
bGFzcyBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgZmluYWwgOiBwdWJsaWMgV29ya2VyR2xvYmFs
U2NvcGUgewogICAgIHZvaWQgc2V0U2NyaXB0UmVzb3VyY2UoY29uc3QgVVJMJiwgU2VydmljZVdv
cmtlckNvbnRleHREYXRhOjpJbXBvcnRlZFNjcmlwdCYmKTsKIAogICAgIGNvbnN0IENlcnRpZmlj
YXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0RGF0YS5j
ZXJ0aWZpY2F0ZUluZm87IH0KKworICAgIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGlu
YXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpT
ZXJ2aWNld29ya2VyOyB9CiAgICAgCiBwcml2YXRlOgogICAgIFNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmLCBjb25zdCBXb3JrZXJQYXJhbWV0
ZXJzJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiwgUmVmPFNl
Y3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkq
LCBTb2NrZXRQcm92aWRlciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCmluZGV4IGVjMzljMGY4NDlhNTRlMWI2ZDBiZWUzNGE4
ZDdkMTljYmE0NWUyODguLmY5NTEwY2JmNmZkZjcwNDZmN2QxYjkyMjM2OTE3NGQwMWZhMGJlMDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Sm9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckpvYi5jcHAKQEAgLTExMCw3ICsxMTAsOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJKb2I6OmZldGNo
U2NyaXB0V2l0aENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgRgogICAg
IG9wdGlvbnMuY2FjaGUgPSBjYWNoZVBvbGljeTsKICAgICBvcHRpb25zLnJlZGlyZWN0ID0gRmV0
Y2hPcHRpb25zOjpSZWRpcmVjdDo6RXJyb3I7CiAgICAgb3B0aW9ucy5kZXN0aW5hdGlvbiA9IEZl
dGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNlcnZpY2V3b3JrZXI7Ci0gICAgbV9zY3JpcHRMb2Fk
ZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3Zl
KG9wdGlvbnMpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNl
LCBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmUsICp0aGlzKTsKKyAgICBvcHRpb25zLmNyZWRlbnRp
YWxzID0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbjsKKyAgICBtX3Njcmlw
dExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdU
Rk1vdmUob3B0aW9ucyksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVu
Zm9yY2UsIFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSwgKnRoaXMsIFdvcmtlclJ1bkxvb3A6OmRl
ZmF1bHRNb2RlKCkpOwogfQogCiBSZXNvdXJjZUVycm9yIFNlcnZpY2VXb3JrZXJKb2I6OnZhbGlk
YXRlU2VydmljZVdvcmtlclJlc3BvbnNlKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiBqb2JE
YXRhLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9u
cy5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25PcHRpb25zLmgKaW5kZXggOWQ1MDBmODVhY2IxODg0MWNjNTViZWE4MjExZGIxNGZhZGM5
NzQ3NS4uMmUzNTU3ZmE3ZGY2N2YxYmY5OGM3YjdhNWRlNGIwYTVhN2JjY2NmNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25PcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmgKQEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgOiB1aW50
OF90OwotZW51bSBjbGFzcyBXb3JrZXJUeXBlOworZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogdWlu
dDhfdDsKIAogc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zIHsKICAgICBT
dHJpbmcgc2NvcGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
Y29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IGM4YTdhOTk3MmY5
Y2M4YzE2YTc5Njc1MTE1NTJmNTQ5M2E2ODZmOTguLmEyZDNjZDQwYmMyYTBhYTI3M2IxNjA4M2M1
ZjQ4NjQ0ZDM3NWUzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBAIC03Myw4ICs3
MywxMCBAQCBjbGFzcyBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSA6IHB1YmxpYyBXb3Jr
ZXJPYmplY3RQcm94eSB7CiAvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2VyT2JqZWN0UHJveHkK
IC8vIEZJWE1FOiBVc2UgdmFsaWQgcnVudGltZSBmbGFncwogCisvLyBGSVhNRTogU3VwcG9ydCBt
b2R1bGVzIGluIHNlcnZpY2Utd29ya2Vycy4KKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjIxNTUKIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJU
aHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2Vy
QWdlbnQsIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzLCBXb3JrZXJMb2Fk
ZXJQcm94eSYgbG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2VyUHJveHks
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHksIFNvY2tl
dFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2Ny
aXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVu
dGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBw
bGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5j
b250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBz
ZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHks
IER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3Rh
cnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0
eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6
OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQorICAgIDogV29ya2VyVGhyZWFkKHsg
ZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0
b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJB
Z2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgp
LCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6Om5vdygp
LCB7IH0sIFdvcmtlclR5cGU6OkNsYXNzaWMsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpTYW1l
T3JpZ2luLCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVn
Z2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2Vy
VGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4o
KS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3Zp
ZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAgICwgbV9kYXRh
KGRhdGEuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KER1bW15U2Vy
dmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAsIG1faGVhcnRCZWF0VGltZW91
dChTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCktPnNob3VsZFVzZVNo
b3J0VGltZW91dCgpID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3QgOiBoZWFydEJlYXRUaW1lb3V0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlcldvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlcldvcmtlci5oCmluZGV4IDJkZGRiM2I1YjQxZWQ4N2JkNjE0YTBiOTRkMDliNzYxMjkzZDc2
MDcuLjM3OGZiYTY1N2U4YmJmNDg0MWU1NmNiZjg2NTYxZjhlY2MzMTEwMjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2Vy
LmgKQEAgLTUwLDcgKzUwLDcgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVy
Owogc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnM7CiBzdHJ1Y3QgU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhOwogc3RydWN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmll
cjsKLWVudW0gY2xhc3MgV29ya2VyVHlwZTsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4
X3Q7CiAKIGNsYXNzIFNXU2VydmVyV29ya2VyIDogcHVibGljIFJlZkNvdW50ZWQ8U1dTZXJ2ZXJX
b3JrZXI+IHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1Bh
aW50V29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdv
cmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IDQyYTc1YjQ1ODI0NzZlZWRhMjhlOWE0MmI5NmIxMWNk
YmFjNmU1M2EuLmQwNzZlZTlkMzVlYjdmNzM5OGUwZDQwOWU4ODdlNjU3ZjIyNjAyMGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaApA
QCAtNDAsNyArNDAsNyBAQCBjbGFzcyBWTTsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEpT
RE9NR2xvYmFsT2JqZWN0OwogCi1jbGFzcyBQYWludFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1Ymxp
YyBXb3JrbGV0R2xvYmFsU2NvcGUgeworY2xhc3MgUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUgZmlu
YWwgOiBwdWJsaWMgV29ya2xldEdsb2JhbFNjb3BlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFBhaW50V29ya2xldEdsb2JhbFNjb3BlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRy
PFBhaW50V29ya2xldEdsb2JhbFNjb3BlPiB0cnlDcmVhdGUoRG9jdW1lbnQmLCBTY3JpcHRTb3Vy
Y2VDb2RlJiYpOwpAQCAtNzYsNiArNzYsOCBAQCBjbGFzcyBQYWludFdvcmtsZXRHbG9iYWxTY29w
ZSA6IHB1YmxpYyBXb3JrbGV0R2xvYmFsU2NvcGUgewogICAgICAgICBXb3JrbGV0R2xvYmFsU2Nv
cGU6OnByZXBhcmVGb3JEZXN0cnVjdGlvbigpOwogICAgIH0KIAorICAgIEZldGNoT3B0aW9uczo6
RGVzdGluYXRpb24gZGVzdGluYXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpQYWludHdvcmtsZXQ7IH0KKwogcHJpdmF0ZToKICAgICBQYWludFdv
cmtsZXRHbG9iYWxTY29wZShEb2N1bWVudCYsIFJlZjxKU0M6OlZNPiYmLCBTY3JpcHRTb3VyY2VD
b2RlJiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xv
YmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3Bl
LmNwcAppbmRleCBkNzA0ODg2NjQ4YzBlZmFhNmI3ODA4NGM1Mzg3MjAxY2EyYjFjNTQzLi4yYWUw
ZTMzODkxZGJjODlmMTQ2ODdkNDE0ODAyYWFhMTJkMGQ4NGZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTE1OCw3MiArMTU4LDcgQEAg
UmVmZXJyZXJQb2xpY3kgV29ya2xldEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0
CiB2b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6ZmV0Y2hBbmRJbnZva2VTY3JpcHQoY29uc3QgVVJM
JiBtb2R1bGVVUkwsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7Ci0gICAgbV9zY3JpcHRGZXRjaEpv
YnMuYXBwZW5kKHsgbW9kdWxlVVJMLCBjcmVkZW50aWFscywgV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikgfSk7Ci0gICAgcHJvY2Vzc05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKCk7Ci19Ci0K
LXZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjpwcm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVk
ZWQoKQotewotICAgIGlmIChtX3NjcmlwdEZldGNoSm9icy5pc0VtcHR5KCkgfHwgbV9zY3JpcHRM
b2FkZXIpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8mIHNjcmlwdEZldGNoSm9iID0gbV9z
Y3JpcHRGZXRjaEpvYnMuZmlyc3QoKTsKLQotICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0IHsg
c2NyaXB0RmV0Y2hKb2IubW9kdWxlVVJMIH07Ci0KLSAgICBGZXRjaE9wdGlvbnMgZmV0Y2hPcHRp
b25zOwotICAgIGZldGNoT3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpDb3JzOwot
ICAgIGZldGNoT3B0aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1bHQ7Ci0g
ICAgZmV0Y2hPcHRpb25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6Rm9sbG93
OwotICAgIGZldGNoT3B0aW9ucy5jcmVkZW50aWFscyA9IHNjcmlwdEZldGNoSm9iLmNyZWRlbnRp
YWxzOwotI2lmIEVOQUJMRShXRUJfQVVESU8pCi0gICAgaWYgKGlzQXVkaW9Xb3JrbGV0R2xvYmFs
U2NvcGUoKSkKLSAgICAgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbjo6QXVkaW93b3JrbGV0OwotI2VuZGlmCi0jaWYgRU5BQkxFKENTU19QQUlO
VElOR19BUEkpCi0gICAgaWYgKGlzUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUoKSkKLSAgICAgICAg
ZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6UGFp
bnR3b3JrbGV0OwotI2VuZGlmCi0KLSAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50ID0gc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KCkgPyBD
b250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlIDogQ29udGVudFNl
Y3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VDaGlsZFNyY0RpcmVjdGl2ZTsKLQotICAg
IG1fc2NyaXB0TG9hZGVyID0gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKTsKLSAgICBtX3Nj
cmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCp0aGlzLCBXVEZNb3ZlKHJlcXVlc3QpLCBX
VEZNb3ZlKGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBT
ZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMpOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxT
Y29wZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmKQotewotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6bm90aWZ5RmluaXNoZWQo
KQotewotICAgIGF1dG8gY29tcGxldGVkSm9iID0gbV9zY3JpcHRGZXRjaEpvYnMudGFrZUZpcnN0
KCk7Ci0KLSAgICBpZiAobV9zY3JpcHRMb2FkZXItPmZhaWxlZCgpKSB7Ci0gICAgICAgIGRpZENv
bXBsZXRlU2NyaXB0RmV0Y2hKb2IoV1RGTW92ZShjb21wbGV0ZWRKb2IpLCBFeGNlcHRpb24geyBB
Ym9ydEVycm9yLCBtYWtlU3RyaW5nKCJGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogIiwg
bV9zY3JpcHRMb2FkZXItPmVycm9yKCkubG9jYWxpemVkRGVzY3JpcHRpb24oKSkgfSk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmVhbGx5IGJl
IHJ1biBhcyBhIG1vZHVsZSBzY3JpcHQgYnV0IHdlIGRvbid0IHN1cHBvcnQgdGhpcyBpbiB3b3Jr
ZXJzIHlldC4KLSAgICBVUkwgbW9kdWxlVVJMKG1fc2NyaXB0TG9hZGVyLT5yZXNwb25zZVVSTCgp
KTsKLSAgICBhdXRvIGFkZFJlc3VsdCA9IG1fZXZhbHVhdGVkTW9kdWxlcy5hZGQobW9kdWxlVVJM
KTsKLSAgICBpZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpIHsKLSAgICAgICAgTmFrZWRQdHI8SlND
OjpFeGNlcHRpb24+IGV4Y2VwdGlvbjsKLSAgICAgICAgc2NyaXB0KCktPmV2YWx1YXRlKFNjcmlw
dFNvdXJjZUNvZGUobV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBXVEZNb3ZlKG1vZHVsZVVSTCkp
LCBleGNlcHRpb24pOwotICAgICAgICBpZiAoZXhjZXB0aW9uKQotICAgICAgICAgICAgc2NyaXB0
KCktPnNldEV4Y2VwdGlvbihleGNlcHRpb24pOwotICAgIH0KLQotICAgIGRpZENvbXBsZXRlU2Ny
aXB0RmV0Y2hKb2IoV1RGTW92ZShjb21wbGV0ZWRKb2IpLCB7IH0pOwotfQotCi12b2lkIFdvcmts
ZXRHbG9iYWxTY29wZTo6ZGlkQ29tcGxldGVTY3JpcHRGZXRjaEpvYihTY3JpcHRGZXRjaEpvYiYm
IGpvYiwgT3B0aW9uYWw8RXhjZXB0aW9uPiByZXN1bHQpCi17Ci0gICAgbV9zY3JpcHRMb2FkZXIg
PSBudWxscHRyOwotCi0gICAgam9iLmNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocmVzdWx0KSk7
Ci0KLSAgICBwcm9jZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKTsKKyAgICBzY3JpcHQo
KS0+bG9hZEFuZEV2YWx1YXRlTW9kdWxlKG1vZHVsZVVSTCwgY3JlZGVudGlhbHMsIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXImIFdv
cmtsZXRHbG9iYWxTY29wZTo6bWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCBmMjMyMGYwZDEzMDI1
Y2VhYjNiYWM1NmE0NWVjMmQxZGQzZmI2Y2MwLi5mZTU0Yjg1MzI1Njc5MjU4M2RlZGEwNTVhNDMz
YTI1NjU0ZTg2NzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0
R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFs
U2NvcGUuaApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIK
ICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtl
ck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2Fk
ZXJDbGllbnQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlTWVzc2FnZS5oPgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFncy5oPgogI2luY2x1ZGUgPHd0Zi9D
b21wbGV0aW9uSGFuZGxlci5oPgpAQCAtNTQsNyArNTMsNyBAQCBzdHJ1Y3QgV29ya2xldFBhcmFt
ZXRlcnM7CiBlbnVtIFdvcmtsZXRHbG9iYWxTY29wZUlkZW50aWZpZXJUeXBlIHsgfTsKIHVzaW5n
IFdvcmtsZXRHbG9iYWxTY29wZUlkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFdvcmtsZXRH
bG9iYWxTY29wZUlkZW50aWZpZXJUeXBlPjsKIAotY2xhc3MgV29ya2xldEdsb2JhbFNjb3BlIDog
cHVibGljIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyU2NyaXB0TG9h
ZGVyQ2xpZW50IHsKK2NsYXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXb3JrbGV0R2xv
YmFsU2NvcGUpOwogcHVibGljOgogICAgIHZpcnR1YWwgfldvcmtsZXRHbG9iYWxTY29wZSgpOwpA
QCAtMTExLDEwICsxMTAsNiBAQCBjbGFzcyBXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgV29y
a2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJTY3JpcAogICAgIHZvaWQgYWRk
TWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYsIHVuc2lnbmVkLCB1bnNpZ25lZCwgUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2Fs
bFN0YWNrPiYmLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgdW5zaWduZWQgbG9uZykgZmluYWw7CiAg
ICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYsIHVuc2lnbmVkIGxvbmcpIGZpbmFsOwogCi0gICAgLy8gV29ya2VyU2NyaXB0
TG9hZGVyQ2xpZW50LgotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcg
aWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsOwotICAgIHZvaWQgbm90
aWZ5RmluaXNoZWQoKSBmaW5hbDsKLQogICAgIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0
KCkgZmluYWwgeyByZXR1cm4gdGhpczsgfQogCiAjaWYgRU5BQkxFKFdFQl9DUllQVE8pCkBAIC0x
MjUsMTUgKzEyMCw2IEBAIGNsYXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZSwgcHVibGljIFdvcmtlclNjcmlwCiAgICAgU3RyaW5nIHVzZXJB
Z2VudChjb25zdCBVUkwmKSBjb25zdCBmaW5hbDsKICAgICBjb25zdCBTZXR0aW5nczo6VmFsdWVz
JiBzZXR0aW5nc1ZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXM7
IH0KIAotICAgIHN0cnVjdCBTY3JpcHRGZXRjaEpvYiB7Ci0gICAgICAgIFVSTCBtb2R1bGVVUkw7
Ci0gICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzOwotICAgICAgICBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+IGNvbXBsZXRpb25I
YW5kbGVyOwotICAgIH07Ci0KLSAgICB2b2lkIHByb2Nlc3NOZXh0U2NyaXB0RmV0Y2hKb2JJZk5l
ZWRlZCgpOwotICAgIHZvaWQgZGlkQ29tcGxldGVTY3JpcHRGZXRjaEpvYihTY3JpcHRGZXRjaEpv
YiYmLCBPcHRpb25hbDxFeGNlcHRpb24+KTsKLQogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9j
dW1lbnQ7CiAKICAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IG1fdG9wT3JpZ2luOwpAQCAtMTQ0LDkg
KzEzMCw2IEBAIGNsYXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmts
ZXRHbG9iYWxTY29wZSwgcHVibGljIFdvcmtlclNjcmlwCiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
V29ya2VyTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI+IG1fbWVzc2FnZVBvcnRDaGFubmVsUHJv
dmlkZXI7CiAKLSAgICBSZWZQdHI8V29ya2VyU2NyaXB0TG9hZGVyPiBtX3NjcmlwdExvYWRlcjsK
LSAgICBEZXF1ZTxTY3JpcHRGZXRjaEpvYj4gbV9zY3JpcHRGZXRjaEpvYnM7Ci0gICAgSGFzaFNl
dDxVUkw+IG1fZXZhbHVhdGVkTW9kdWxlczsKICAgICBTZXR0aW5nczo6VmFsdWVzIG1fc2V0dGlu
Z3NWYWx1ZXM7CiB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjYyMGE5NmU2ZWI3MjNjZmM1OTQ2OWRlM2E5MjdhMzNk
ZGI5Zjg3Yi4uNzJjMGU3OGViZDBmOTJmYjY4ZmU3NDQwZDhlNWRjMTc5OTkxZTg2YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDIxLTAyLTE4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBs
ZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL21vZHVs
ZS1zY3JpcHRub25jZS1yZWRpcmVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViYXVkaW8vYXVkaW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0w
Mi0xNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBFdmVudEhh
bmRsZXI6OnVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRG93bkRpc3BhdGNoaW5nU2VsZWN0U3RhcnQg
c2hvdWxkIG5vdCB1c2UgYW4gb3JwaGFuZWQgc2VsZWN0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCBjMTMzMjk0NWVkODFiMzcyNDIwZDFhNzJmMDY2NTkyMjI5YzgwYzAxLi4z
YjYxZjlhYTExNDQ5OTY2ODNiZDMzM2M3YWMwMWVhM2RmZjI5YzhjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAyMS0wMi0xOCAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU29tZSBvZiB3
b3JrbGV0IGZhaWx1cmVzIGluIFdQVCBpcyBiZWNhdXNlLAorCisgICAgICAgICAgICAxLiBQcmV2
aW91c2x5LCB3b3JrbGV0IGRvZXMgbm90IHN1cHBvcnQgbW9kdWxlLiBUaGVzZSB0ZXN0cyBhcmUg
cGFzc2luZyBpbmNvcnJlY3RseSB3aGVuIG1vZHVsZXMgYXJlIG5vdCBzdXBwb3J0ZWQuCisgICAg
ICAgICAgICAgICBOb3csIG1vZHVsZXMgYXJlIHN1cHBvcnRlZCwgYW5kIHNvbWUgZWRnZSBmZWF0
dXJlcyBhcmUgbWlzc2luZywgc28gc3RhcnQgZmFpbGluZworICAgICAgICAgICAgMi4gV1BUIGlz
IHVzaW5nIHd3dzEubG9jYWxob3N0IGluIHNvbWUgdGVzdHMgKENTUCB0ZXN0cyksIGFuZCB0aGlz
IGlzIG5vdCBzdXBwb3J0ZWQgaW4gV2ViS2l0J3MgV1BUIHRlc3RpbmcuIFNvIGZhaWxpbmcgaW5j
b3JyZWN0bHkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVu
dGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90
YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBo
YS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0x
LW5vdGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9l
dmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3Ro
ZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2Vy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9p
bXBvcnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJs
L2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXdvcmtlci1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3Jz
L1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRp
cmVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMv
ZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LWNzcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRl
ZC13b3JrZXItaW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1s
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1pbXBvcnQtcmVmZXJyZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2Ut
ZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3Jr
bGV0LWNzcC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5o
dHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVu
LXVybC1yZWRpcmVjdGVkLXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAyLTE2
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYVJlY29y
ZGVyLnN0b3AoKSBkb2VzIG5vdCB3b3JrIGNvcnJlY3RseSB3aGVuIHJlY29yZGluZyBoYXMgYmVl
biBwYXVzZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiMTBiZTg2MzkwZWRjZTY5OGNkYzNlY2Iy
OWZmMWY5YmIyM2Y2N2JiLi4zZWEyY2I3NmU4Y2E3OTUxY2M2MzFkNzUyZTdjYTAyYzBlZTgzMTdm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY0MCw3ICs2NDAsNiBAQCBmYXN0L2RvbS9jb25uZWN0
ZWQtc3ViZnJhbWUtY291bnRlci1vdmVyZmxvdy5odG1sIFsgU2xvdyBdCiBbIERlYnVnIF0gaHR0
cC90ZXN0cy93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC0yLmh0bWwgWyBTbG93IF0KIAogIyBT
a2lwIHdvcmtlcnMgdGVzdHMgdGhhdCBhcmUgdGltaW5nIG91dCBvciBhcmUgU2hhcmVkV29ya2Vy
IHJlbGF0ZWQgb25seQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Nv
bnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4uaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2RhdGEtdXJsLXNoYXJlZC5odG1sIFsgU2tpcCBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZXhhbXBsZXMvb25jb25u
ZWN0LmFueS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvZXhhbXBsZXMvb25jb25uZWN0LmFueS53b3JrZXIuaHRtbCBbIFNraXAgXQpAQCAtNjYz
LDcgKzY2Miw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9TaGFy
ZWRXb3JrZXItcmVwbGFjZS1FdmVudEhhbmRsZXIuYW55Lmh0CiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyLXJlcGxhY2UtRXZlbnRIYW5kbGVyLmFu
eS53b3JrZXIuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL1NoYXJlZFdvcmtlci1zY3JpcHQtZXJyb3IuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlci1zaW1wbGUuaHRtbCBb
IFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMv
ZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXIuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1v
cHRpb25zLWNyZWRlbnRpYWxzLmh0bWwgWyBTa2lwIF0KIAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIgWyBTa2lwIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL21v
ZHVsZS1zY3JpcHRub25jZS1yZWRpcmVjdC1leHBlY3RlZC50eHQKaW5kZXggNTA5OTE5ZjdiZmQ4
Y2Y5NGM1ZDMzNDdmODdhNjQ0ZDE1ODg0NTkyMS4uZTE3MmRlNGQwNGUyYTU3NDdjNzdmMjIyMjRm
ZDQ1YWMwNTI1MDVmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL21vZHVsZS1zY3JpcHRub25jZS1yZWRpcmVjdC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL21vZHVsZS1zY3JpcHRub25jZS1yZWRpcmVjdC1leHBlY3RlZC50
eHQKQEAgLTEsMyArMSwyIEBACiBDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgot
Q09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IENyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5p
ZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LgogVGhpcyB0ZXN0cyB3
aGV0aGVyIGEgZGVmZXJyZWQgc2NyaXB0IGxvYWQgY2F1c2VkIGJ5IGEgcmVkaXJlY3QgaXMgcHJv
cGVybHkgYWxsb3dlZCBieSBhIG5vbmNlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N1YnJlc291cmNlLWludGVncml0eS9zcmktbW9kdWxlLWV4cGVj
dGVkLnR4dAppbmRleCBhMDFkOWYwNzI2ZmY5N2M1MjVhNTA0NTA3NmJhZTUxNGM4MmVlMmVhLi45
MGEyOTFlYjgyOWVlOThhNzk4ZWMzNzQ4NTE4NGVhMGU5NWFjYzhiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N1YnJlc291cmNlLWludGVncml0eS9zcmktbW9kdWxlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N1YnJlc291cmNlLWludGVncml0
eS9zcmktbW9kdWxlLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDYgQEAgQ09OU09MRSBNRVNTQUdF
OiBUeXBlRXJyb3I6IENhbm5vdCBsb2FkIHNjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3Vi
cmVzb3VyY2UKIENPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBDYW5ub3QgbG9hZCBzY3JpcHQg
aHR0cDovL2xvY2FsaG9zdDo4MDAwL3N1YnJlc291cmNlLWludGVncml0eS9yZXNvdXJjZXMvY3Jv
c3NvcmlnaW4tYW5vbi1zY3JpcHQtbW9kdWxlLmpzLiBGYWlsZWQgaW50ZWdyaXR5IG1ldGFkYXRh
IGNoZWNrLiBDb250ZW50IGxlbmd0aDogMzcsIEV4cGVjdGVkIGNvbnRlbnQgbGVuZ3RoOiAzNywg
RXhwZWN0ZWQgbWV0YWRhdGE6IHNoYTI1Ni1kZWFkYmVlZmNTTGxiRlpDajFPQUNMeFR4VmNrMlRP
ckJURWRVYnd6MXlVPQogQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IENhbm5vdCBsb2FkIHNj
cmlwdCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc3VicmVzb3VyY2UtaW50ZWdyaXR5L3Jlc291cmNl
cy9jcm9zc29yaWdpbi1jcmVkcy1zY3JpcHQtbW9kdWxlLmpzLiBGYWlsZWQgaW50ZWdyaXR5IG1l
dGFkYXRhIGNoZWNrLiBDb250ZW50IGxlbmd0aDogMzgsIEV4cGVjdGVkIGNvbnRlbnQgbGVuZ3Ro
OiAzOCwgRXhwZWN0ZWQgbWV0YWRhdGE6IHNoYTI1Ni1kZWFkYmVlZjJTK3BUUlpnaXczRFdyaEM2
SkxEbHQyelJ5R3B3SDd1blU4PQogQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cDovLzEyNy4w
LjAuMTo4MDAwIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4K
LUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVu
aWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4KIENPTlNPTEUgTUVT
U0FHRTogVHlwZUVycm9yOiBDYW5ub3QgbG9hZCBzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3N1YnJlc291cmNlLWludGVncml0eS9yZXNvdXJjZXMvbWF0Y2hpbmctZGlnZXN0LW1vZHVsZS5q
cy4gRmFpbGVkIGludGVncml0eSBtZXRhZGF0YSBjaGVjay4gQ29udGVudCBsZW5ndGg6IDI5LCBF
eHBlY3RlZCBjb250ZW50IGxlbmd0aDogMjksIEV4cGVjdGVkIG1ldGFkYXRhOiBzaGEyNTYtY1do
OW5QZm03X21SYktoemFyblJZbHNKV3o1WFROY3NxUEZ6S0V4K3pTVT0KIENPTlNPTEUgTUVTU0FH
RTogVHlwZUVycm9yOiBDYW5ub3QgbG9hZCBzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N1
YnJlc291cmNlLWludGVncml0eS9yZXNvdXJjZXMvbWF0Y2hpbmctZGlnZXN0LW1vZHVsZS5qcy4g
RmFpbGVkIGludGVncml0eSBtZXRhZGF0YSBjaGVjay4gQ29udGVudCBsZW5ndGg6IDI5LCBFeHBl
Y3RlZCBjb250ZW50IGxlbmd0aDogMjksIEV4cGVjdGVkIG1ldGFkYXRhOiBzaGEyNTYtVTlXWUR0
QldrY0h4MTMrOVVLay8zUTVlb3FEYzRZR3hZYjA3RVBXemI5ZT0/Zm9vPWJhcj9zcGFtPWVnZ3MK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1
bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRlbnRhdGl2
ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA0OTI2OWIzYjUwYjkxNzVjYjYyZWNhMzEy
ZTU4NmIzYjE2NjJhMjU5Li4yY2FlNWY3ZTM1YTMyZmVjZWIyNjhmMjkwMDAwZTRlNTU1NmM2ODYw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVs
ZS9ub24tb2JqZWN0LnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LnRlbnRh
dGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAotRkFJTCBOb24t
b2JqZWN0OiBudWxsIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vbnVsbC5qc29u
Jy4iCi1GQUlMIE5vbi1vYmplY3Q6IHRydWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVs
ZSAnLi90cnVlLmpzb24nLiIKLUZBSUwgTm9uLW9iamVjdDogZmFsc2UgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBp
bXBvcnQgdGhlIG1vZHVsZSAnLi9mYWxzZS5qc29uJy4iCi1GQUlMIE5vbi1vYmplY3Q6IHN0cmlu
ZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJF
cnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL3N0cmluZy5qc29uJy4iCi1GQUlM
IE5vbi1vYmplY3Q6IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vYXJy
YXkuanNvbicuIgorRkFJTCBOb24tb2JqZWN0OiBudWxsIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pz
b24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVj
dDogdHJ1ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2Ny
aXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGZhbHNlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0
aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9u
LW9iamVjdDogc3RyaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlk
IEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVjdDogYXJyYXkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAn
YXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tz
L2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVj
a3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4
dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi5mNjhjYzcz
YjRkNjc0YzU0ZGZhZmU1MjIxMmI2NDNjNDAzMGZkNDJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGlu
Zy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2Vy
Z2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3JrZXJn
bG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAK
LUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitGQUlMIFByb21pc2Ug
cmVzb2x2ZWQgZHVyaW5nICNyZXBvcnQtdGhlLWVycm9yIGFzc2VydF9hcnJheV9lcXVhbHM6IGxl
bmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbImhhbmRsZXIgMSIsICJoYW5kbGVyIDIiLCAi
aGFuZGxlciAxIHByb21pc2UiLCAiaGFuZGxlciAyIHByb21pc2UiXSBsZW5ndGggNCwgZ290IFtd
IGxlbmd0aCAwCitQQVNTIFByb21pc2UgcmVzb2x2ZWQgZHVyaW5nIGV2ZW50IGhhbmRsZXJzIG90
aGVyIHRoYW4gZXJyb3IKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVs
ZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRT
Y3JpcHRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21v
ZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1l
eHBlY3RlZC50eHQKaW5kZXggNTFkNjEwMGU2MTIyYTk3YzM2NGIzY2ViMWQ3ZmQwN2UwZTE1NjEx
Ny4uYTgwNTBjMDc4Y2Y4Yjg4ZDU2OGFmZmUwZDU1Y2MzMTkwYzM2NTQ3YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2Fs
cGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEv
YmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBA
QAogCi1GQUlMIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gc2FtZS1vcmlnaW4gaW1wb3J0U2NyaXB0
cygpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vaW1wb3J0LmpzP3BpcGU9aGVh
ZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSZsYWJlbD1yZWxhdGl2ZS1jcm9zcy1v
cmlnaW4gaW1wb3J0U2NyaXB0cygpJy4iCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZyb20gc2Ft
ZS1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUg
J2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2dhbW1hL2ltcG9ydC5qcz9waXBlPWhl
YWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9YWJzb2x1dGUtY3Jvc3Mt
b3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgotUEFTUyBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9tIGNy
b3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkKLUZBSUwgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBj
cm9zcy1vcmlnaW4gaW1wb3J0U2NyaXB0cygpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1
bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2dhbW1hL2ltcG9ydC5qcz9waXBl
PWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9YWJzb2x1dGUtY3Jv
c3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKScuIgorUEFTUyBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9t
IHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQorUEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9t
IHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQorRkFJTCBSZWxhdGl2ZSBVUkwtbGlrZSBmcm9t
IGNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRzKCkgYXNzZXJ0X2VxdWFsczogUmVsYXRpdmUgVVJM
LWxpa2Ugc3BlY2lmaWVyIHJlc29sdXRpb24gc2hvdWxkIGZhaWwgZXhwZWN0ZWQgIih1bnJlYWNo
ZWQpIiBidXQgZ290ICJnYW1tYS9pbXBvcnQuanMiCitQQVNTIEFic29sdXRlIFVSTC1saWtlIGZy
b20gY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMoKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGlu
Zy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11
cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBl
Y3RlZC50eHQKaW5kZXggODY2ZWJiMjI3YWQyNmFhY2UxYTU3OGJhZWE2YTgxZGMwZTZlNzdmMC4u
NWU3MDYzNDkwZTJkZmZlY2U4NWVhNzY1YWViZGRlNGIxNmViMGZjMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhh
L2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3Jr
ZXIuc3ViLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBSZWxhdGl2ZSBVUkwt
bGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRo
ZSBtb2R1bGUgJy4vaW1wb3J0LmpzP3BpcGU9aGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbiwqKSZsYWJlbD1yZWxhdGl2ZS13b3JrZXIgdG9wLWxldmVsIHNjcmlwdCcuIgotRkFJTCBB
YnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBu
b3QgaW1wb3J0IHRoZSBtb2R1bGUgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2dh
bW1hL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikm
bGFiZWw9YWJzb2x1dGUtd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQnLiIKK1BBU1MgUmVsYXRpdmUg
VVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdAorUEFTUyBBYnNvbHV0ZSBVUkwt
bGlrZSBmcm9tIHdvcmtlciB0b3AtbGV2ZWwgc2NyaXB0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJv
dy13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQv
bW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQKaW5k
ZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQyZmFk
MjI0ZTNhMThhNmZiNWQ4NDgzMjVlYTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2V2YWx1YXRpb24tb3JkZXItMS1ub3Rocm93LXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEs
NCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitQ
QVNTIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4
ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi5iODYxZjcwMWY5NDhmYjEzMjc2OTMyMmMz
ODM2NmYyZDEzOGYwNGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXIt
MS13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBUZXN0IGV2YWx1YXRpb24gb3JkZXIgb2Yg
bW9kdWxlcyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJy
YXkgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJnbG9iYWwtZXJyb3IiLCAiZXJyb3IiLCAibWlj
cm90YXNrIl0gbGVuZ3RoIDUsIGdvdCBbInN0ZXAtMS0xIiwgInN0ZXAtMS0yIiwgIm1pY3JvdGFz
ayJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRl
ci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJmOTU5
ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLmMxZDM4YmRlNTBjNTllNWQ1OTQxNzNkOTZmOWNkMTllYjEw
N2M5YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1p
bXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJv
ciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9yZGVy
IG9mIG1vZHVsZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVk
IGFycmF5IFsic3RlcC0yLjItMSIsICJzdGVwLTIuMi0yIiwgImdsb2JhbC1lcnJvciIsICJlcnJv
ciIsICJtaWNyb3Rhc2stMi4yIl0gbGVuZ3RoIDUsIGdvdCBbInN0ZXAtMi4yLTEiLCAic3RlcC0y
LjItMiIsICJtaWNyb3Rhc2stMi4yIl0gbGVuZ3RoIDMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWlj
LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9t
b2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRl
eCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmLi4yZjEyYTIzNDJmYWQy
MjRlM2ExOGE2ZmI1ZDg0ODMyNWVhNjc3NmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3Ro
ZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2Vy
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZXZhbHVhdGlvbi1vcmRlci0zLWR5bmFtaWMtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KK1BB
U1MgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggMTJkOTRhOTFlZjFmOGFiMGExODdjNzQ5YjBkZGVjNjk2ZDExODhlNy4uYjRkNjhhZjA1
NmVlZjYyMmEzM2Q1NGYwNzZmMzgxZDRlMWJiMjlhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0yLDggKzIsOCBAQAogRkFJTCBTdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1
bWVudC4iCiBGQUlMIE5lc3RlZCBzdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1
bWVudC4iCiBGQUlMIFN0YXRpYyBpbXBvcnQgYW5kIHRoZW4gZHluYW1pYyBpbXBvcnQuIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3Rz
IGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBpbXBvcnQuIGFzc2VydF9hcnJh
eV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBD
b3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzJy4i
LCBleHBlY3RlZCBhcnJheQotRkFJTCBOZXN0ZWQgZHluYW1pYyBpbXBvcnQuIGFzc2VydF9hcnJh
eV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBD
b3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWR5bmFtaWMtaW1wb3J0LXNj
cmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4g
c3RhdGljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBk
byBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9l
eHBvcnQtb24tc3RhdGljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlM
IGV2YWwoaW1wb3J0KCkpLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRv
IGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcu
L2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKK1BBU1MgRHluYW1p
YyBpbXBvcnQuCitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBv
cnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwv
YWxwaGEvaW1wb3J0LWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZGQ5YWYzOGZm
MDlmYmVjMWZhYzBiOGY1ZWE5YmFkNmUzMTYzNjQ5ZC4uNTFlYjM2NjM4YzFjYTdkMDYwYjc2NzU5
MjZmY2M3MGM1YmYwNzZlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVsZXdv
cmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0LWluLW1vZHVsZXdvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ3InLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkg
b25lIGFyZ3VtZW50LgogCi1GQUlMIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2Vy
czogaW1wb3J0IGFzc2VydF91bnJlYWNoZWQ6IEdvdCBlcnJvciBldmVudCBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKK1BBU1MgQmFzZSBVUkwgaW4gbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzOiBp
bXBvcnQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQudHh0
CmluZGV4IGFiNWE3ZmI4OTAyMGYyOWZkODkzYTc1NjgwZmZlMTdkM2QzNTBmN2MuLmFiNTNiODA1
OTlhZTAxOTU3ODA4NWVlNDRhYWVmYTRjNzk1NTI2ODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2lt
cG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRT
Y3JpcHRzLWluLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgaW1w
b3J0U2NyaXB0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWEvc2NyaXB0LmpzIiBidXQg
Z290ICJiZXRhL3NjcmlwdC5qcyIKK1BBU1MgaW1wb3J0U2NyaXB0cwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVy
bC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1p
bi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDgzZjM2N2YyY2YzYTY2YzY0YTYyNjQy
OTQ2NTZkNWU4ODFkMWMxMWMuLjI4YjBjYjQwMDEzOTJkMDg4N2E0ZmViZTY4MWMxZTE1MWQwZGYx
OGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9iYXNldXJsL2FscGhhL3hoci1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsMyBAQAogCi1GQUlMIEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VyczogWEhS
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYVxuIiBidXQgZ290ICJiZXRhXG4iCitQQVNT
IEJhc2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VyczogWEhSCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNl
dXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXdv
cmtlci1leHBlY3RlZC50eHQKaW5kZXggZDZiMDhlZWRhZTZmNjk2YzdhNGJmYTY1NWUxM2I1ZWQ0
NjA3ZWEwMS4uZWExNDU0ZDliM2YyMGY4NWQ5MDE2YzUwNmExNTQ2YWY2MTc4NDJkMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2Jhc2V1cmwvYWxwaGEveGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEv
eGhyLWluLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgeGhyLXdv
cmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWFcbiIgYnV0IGdvdCAiYmV0YVxuIgor
UEFTUyB4aHItd29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2lu
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dApp
bmRleCA4MzFmMGM1OGM2OTRjMmQ0ZmViZDZkOGQwYWYzMDdiMTA5NDQyYTZlLi5kNTU1ZWU3Y2Yz
ZmM3MmVmYjgyZGY5ZGI3ZGFkMzY3ZjlhYjdmZmJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtl
ci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmln
aW4tZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDExIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAotCiBQQVNTIHVuc3VwcG9ydGVkX3NjaGVtZQogRkFJTCBkYXRh
X3VybCBUaGUgb3BlcmF0aW9uIGlzIGluc2VjdXJlLgotVElNRU9VVCBhYm91dF9ibGFuayBUZXN0
IHRpbWVkIG91dAotVElNRU9VVCBleGFtcGxlX2ludmFsaWQgVGVzdCB0aW1lZCBvdXQKLVRJTUVP
VVQgcG9ydF84MSBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBodHRwc19wb3J0XzgwIFRlc3QgdGlt
ZWQgb3V0Ci1USU1FT1VUIGh0dHBzX3BvcnRfODAwMCBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBo
dHRwX3Bvc3RfODAxMiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBqYXZhc2NyaXB0X3VybCBUZXN0
IHRpbWVkIG91dAorUEFTUyBhYm91dF9ibGFuaworUEFTUyBleGFtcGxlX2ludmFsaWQKK1BBU1Mg
cG9ydF84MQorUEFTUyBodHRwc19wb3J0XzgwCitQQVNTIGh0dHBzX3BvcnRfODAwMAorUEFTUyBo
dHRwX3Bvc3RfODAxMgorUEFTUyBqYXZhc2NyaXB0X3VybAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9X
b3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9X
b3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3RlZC50eHQKaW5kZXggZjE3
NDFmOWQ4YmYwNzAzMjcwZDJlMzc2MmRiY2JlMjZjMGI5MDA1OS4uM2IwZGZiMzVlNTFjZDFhODU0
NTUzMDE5YzBlNDAzZGJlMmYxZDMzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2Nv
cGUvbG9jYXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2Jh
bFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBXb3JrZXJMb2NhdGlvbiB3aXRoIHJlZGlyZWN0czogY2xhc3NpYyBkZWRpY2F0ZWQgd29y
a2VycyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9wb3N0LWxvY2F0aW9uLW1l
bWJlcnMuanM/YSIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvaW50ZXJm
YWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9oZWxwZXItcmVkaXJlY3QucHk/ZmFpbCIK
K1BBU1MgV29ya2VyTG9jYXRpb24gd2l0aCByZWRpcmVjdHM6IGNsYXNzaWMgZGVkaWNhdGVkIHdv
cmtlcnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVk
aXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0
aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXggZGMyZTJlMjA3ZGIwMDFlZTcw
ZTczMzA3ZDI3YmIzMzU3MjBmZDU1OS4uYjNiZjgxZWU4NjgxYjlkYzA4MGY1ODAyNzFlOGI4ZjM5
MDk2NTQ5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVk
aXJlY3QtbW9kdWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9s
b2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1G
QUlMIFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtl
cnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJz
L2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcG9zdC1sb2NhdGlvbi1tZW1i
ZXJzLmpzP2EiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5P2ZhaWwiCitQ
QVNTIFdvcmtlckxvY2F0aW9uIHdpdGggcmVkaXJlY3RzOiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtl
cnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1l
eHBlY3RlZC50eHQKaW5kZXggMjBhYzE3ZDU2M2M0YjNhNDYxZjBjYWFmYmVhZWViZDcxM2Y5NzA4
MS4uZGNjZWRjY2QzNjhlMWZmMTdiMWRkMTM2ZTQ1M2ZlYzRmZTEwYmM4MyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9k
dWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0CkBA
IC0xLDE4ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
c3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFj
dGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vy
cy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0aWMtaW1wb3J0LWFuZC10aGVuLWR5bmFtaWMtaW1wb3J0
LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1D
T05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWlt
cG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJh
bCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVk
LWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBv
bmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0
cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291
cmNlcy9keW5hbWljLWltcG9ydC1hbmQtdGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6
IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9jYWxob3N0
Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9ldmFsLWR5bmFtaWMtaW1wb3J0LXdvcmtl
ci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKLUhhcm5l
c3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5n
IGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2Vz
L2R5bmFtaWMtaW1wb3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1wb3J0
IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLQotRkFJTCBTdGF0aWMgaW1wb3J0
LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dv
cmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvc3RhdGljLWltcG9ydC13b3JrZXIuanNcIi4gaW1wb3J0
IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIE5lc3RlZCBzdGF0aWMg
aW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4
ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvbmVzdGVkLXN0YXRpYy1pbXBvcnQtd29ya2Vy
LmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBT
dGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmlu
ZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJj
ZXMvc3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWltcG9ydC13b3JrZXIuanNcIi4gaW1w
b3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIER5bmFtaWMgaW1w
b3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAw
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgZHlu
YW1pYyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgXCJodHRwOi8vbG9jYWxo
b3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9uZXN0ZWQtZHluYW1pYy1pbXBvcnQt
d29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgot
RkFJTCBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9y
ZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtYW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIuanNc
Ii4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIGV2YWwo
aW1wb3J0KCkpLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9z
dDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXZhbC1keW5hbWljLWltcG9ydC13b3Jr
ZXIuanNcIi4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4iCitQQVNT
IFN0YXRpYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBzdGF0aWMgaW1wb3J0LgorUEFTUyBTdGF0aWMg
aW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBEeW5hbWljIGltcG9ydC4KK1BB
U1MgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBz
dGF0aWMgaW1wb3J0LgorUEFTUyBldmFsKGltcG9ydCgpKS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3Jr
ZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQKaW5kZXggMWRhNDZiOTI2YmUwODk2ZWU4Zjc1YTc4
ZGNhZTRmMjY5YjA1MDkyYi4uMjM5Y2M5Y2UxNTMwMWY3ZWVkODNkNWViMjIzMGE5ZGUyOTRlYTJl
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1jc3AtZXhwZWN0ZWQudHh0CkBAIC0x
LDEzICsxLDIyIEBACiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3Vy
aXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBl
eHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9y
ZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVj
b2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgog
CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5
NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCitC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQz
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCitCbG9j
a2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dv
cmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiBDT05TT0xF
IE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUg
J3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93
d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxv
YWQtc2NyaXB0LmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3Vy
aXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBl
eHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9y
ZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNv
dXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5h
bCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJj
ZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXpl
ZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9j
a2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dv
cmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LW9uLWxvYWQtc2NyaXB0LmpzCiAKIFBBU1Mg
d29ya2VyLXNyYyAnc2VsZicgZGlyZWN0aXZlIHNob3VsZCBkaXNhbGxvdyBjcm9zcyBvcmlnaW4g
c3RhdGljIGltcG9ydC4KIEZBSUwgd29ya2VyLXNyYyAqIGRpcmVjdGl2ZSBzaG91bGQgYWxsb3cg
Y3Jvc3Mgb3JpZ2luIHN0YXRpYyBpbXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IGV4cGVjdGVk
IHByb3BlcnR5IDAgdG8gYmUgImV4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcyIgYnV0IGdvdCAiRVJS
T1IiIChleHBlY3RlZCBhcnJheSBbImV4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcyJdIGdvdCBbIkVS
Uk9SIl0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQu
dHh0CmluZGV4IDk1YzZkMTVkZjQ0ZTE4YTM1ZGZlYjBmYTM5YzhkMzg0NDIwYzJjMTMuLmU5NTU3
OGU3MWIxYzUwYTRlMDQ3MWIwMzcxNTRiMzg2YjM3YWVkNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRl
ZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsOSBAQAotQ09O
U09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAnLi9u
b24tZXhpc3RlbnQtc2NyaXB0LmpzJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBh
cmd1bWVudC4KK0NPTlNPTEUgTUVTU0FHRTogSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWls
ZWQuCiAKLUZBSUwgaW1wb3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3b3JrZXIgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlR5cGVFcnJvciIgYnV0IGdv
dCAiTE9BREVEIgorUEFTUyBpbXBvcnRTY3JpcHRzKCkgb24gbW9kdWxlIHdvcmtlciBzaG91bGQg
dGhyb3cgYW4gZXhjZXB0aW9uLgogUEFTUyBXb3JrZXIgY29uc3RydWN0aW9uIGZvciBub24tZXhp
c3RlbnQgc2NyaXB0IHNob3VsZCBkaXNwYXRjaCBhbiBFcnJvckV2ZW50LgogUEFTUyBTdGF0aWMg
aW1wb3J0IGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCBkaXNwYXRjaCBhbiBFcnJvckV2
ZW50LgotRkFJTCBEeW5hbWljIGltcG9ydCBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91bGQg
dGhyb3cgYW4gZXhjZXB0aW9uLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVHlwZUVycm9yIiBi
dXQgZ290ICJFcnJvciIKK1BBU1MgRHluYW1pYyBpbXBvcnQgZm9yIG5vbi1leGlzdGVudCBzY3Jp
cHQgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIFBBU1MgV29ya2VyIGNvbnN0cnVjdGlvbiBm
b3IgYW4gaW52YWxpZCBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIFBBU1MgV29ya2Vy
IGNvbnN0cnVjdGlvbiBmb3IgYSBmaWxlIFVSTCBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0CmluZGV4IGQ1
ODA2MjA0MWMzZTY5NTE1YjgxNWUwMmQ3YzM4Njg0ZDc3Yzc2YjcuLjc3MjkxYmFhMWE0MTg0YmVi
ZTdhZDdiNWQ5ZjExOWM3MWE3OGRlNGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LW1ldGEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0
LW1ldGEtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNSBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50
YXhFcnJvcjogaW1wb3J0Lm1ldGEgaXMgb25seSB2YWxpZCBpbnNpZGUgbW9kdWxlcy4KIAotSGFy
bmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjogaW1wb3J0Lm1ldGEgaXMg
b25seSB2YWxpZCBpbnNpZGUgbW9kdWxlcy4KLQotRkFJTCBUZXN0IGltcG9ydC5tZXRhLnVybCBv
biB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFs
aWQgaW5zaWRlIG1vZHVsZXMuIgotRkFJTCBUZXN0IGltcG9ydC5tZXRhLnVybCBvbiB0aGUgaW1w
b3J0ZWQgbW9kdWxlIHNjcmlwdC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
Ci1GQUlMIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0
IHdpdGggYSBmcmFnbWVudC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQ
QVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlwdC4K
K1BBU1MgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQu
CitQQVNTIFRlc3QgaW1wb3J0Lm1ldGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0
IHdpdGggYSBmcmFnbWVudC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBv
cnQtbWV0YS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1sCmluZGV4
IGNmZjhlOTE0ODhlODIzOWFiZTIxMzYxOWQxMmQ1YTYwMzA3MmZiZWEuLmVkZTI2OTJlMWM2MzQx
YmVmZmM5MDEwYzQxYjhmNGNmZTQzODMyOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3Jr
ZXItaW1wb3J0LW1ldGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRh
Lmh0bWwKQEAgLTUzLDcgKzUzLDcgQEAKICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKCcuLycg
KyBzY3JpcHRfdXJsICsgJyMxJyk7CiAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHdvcmtlci5vbm1lc3NhZ2UgPSByZXNvbHZlKTsKICAgICAgIH0pCi0gICAgICAudGhlbiht
c2dfZXZlbnQgPT4gYXNzZXJ0X3RydWUobXNnX2V2ZW50LmRhdGEuZW5kc1dpdGgoc2NyaXB0X3Vy
bCkpKTsKKyAgICAgIC50aGVuKG1zZ19ldmVudCA9PiBhc3NlcnRfdHJ1ZShtc2dfZXZlbnQuZGF0
YS5lbmRzV2l0aChzY3JpcHRfdXJsICsgJyMxJykpKTsKIH0sICdUZXN0IGltcG9ydC5tZXRhLnVy
bCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJhZ21lbnQuJyk7CiAKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtcmVmZXJyZXItZXhwZWN0
ZWQudHh0CmluZGV4IDZkYzQyYzFjZmQzMzQ4YWZkZDFkZmQzYjEwYTUwNDcwNTUzMDE5NmEuLjcw
MTY1OGRhNjgwNGNhZWIwZGVjMjU0ODcwMDllZTY3NmNlZWE5ZDEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQKQEAgLTEsMTkgKzEsMjMg
QEAKLQotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCitCbG9ja2VkIGFj
Y2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMv
bW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNj
ZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9t
b2R1bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21v
ZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2Vz
cyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9k
dWxlcy9yZXNvdXJjZXMvZXhwb3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNz
IHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1
bGVzL3Jlc291cmNlcy9leHBvcnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V4cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CiAKIFBBU1MgU2FtZS1vcmln
aW4gdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQgbG9hZGluZyB3aXRoICJuby1yZWZlcnJlciIgcmVm
ZXJyZXIgcG9saWN5CiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0IGxv
YWRpbmcgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kKIFBBU1MgU2FtZS1vcmlnaW4gdG9w
LWxldmVsIG1vZHVsZSBzY3JpcHQgbG9hZGluZyB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIg
cG9saWN5Ci1GQUlMIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAibm8tcmVmZXJyZXIi
IHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotRkFJTCBTYW1lLW9yaWdpbiBz
dGF0aWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IiCi1GQUlMIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4i
IHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgorUEFTUyBTYW1lLW9yaWdpbiBz
dGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuCitQQVNTIFNh
bWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCitQ
QVNTIFNhbWUtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVy
IHBvbGljeS4KIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAibm8tcmVmZXJy
ZXIiIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgogRkFJTCBDcm9zcy1vcmln
aW4gc3RhdGljIGltcG9ydCB3aXRoICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBU
eXBlIGVycm9yIgogRkFJTCBDcm9zcy1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJzYW1lLW9y
aWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCi1USU1FT1VUIFNhbWUt
b3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3ku
IFRlc3QgdGltZWQgb3V0Ci1OT1RSVU4gU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAi
b3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBv
cnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KLU5PVFJVTiBDcm9zcy1vcmln
aW4gZHluYW1pYyBpbXBvcnQgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeS4KLU5P
VFJVTiBDcm9zcy1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBw
b2xpY3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggInNhbWUtb3Jp
Z2luIiByZWZlcnJlciBwb2xpY3kuCitQQVNTIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdp
dGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuCitQQVNTIFNhbWUtb3JpZ2luIGR5bmFt
aWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgorUEFTUyBTYW1lLW9yaWdp
biBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgorRkFJ
TCBDcm9zcy1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVy
IHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgorRkFJTCBDcm9zcy1vcmlnaW4gZHluYW1pYyBp
bXBvcnQgd2l0aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIK
K0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZl
cnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LmFueS1leHBlY3RlZC50eHQKaW5kZXggYTIzYTU1NzVkYjQyNzQyN2Y4NWJkNmI2MzU0
ZGU4ODM4MzFmZTJiNC4uZGNjZWRjY2QzNjhlMWZmMTdiMWRkMTM2ZTQ1M2ZlYzRmZTEwYmM4MyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDE0
ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
JyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBN
RVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBh
cmd1bWVudC4KIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJn
dW1lbnQuCi0KLUZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgc3Rh
dGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMg
ZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBTdGF0aWMgaW1wb3J0IGFuZCB0aGVuIGR5bmFt
aWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBl
eGFjdGx5IG9uZSBhcmd1bWVudC4iCi1GQUlMIER5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwg
ZXhwZWN0ZWQgYXJyYXkKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1keW5hbWljLWltcG9ydC1zY3Jp
cHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0
YXRpYyBpbXBvcnQuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8g
ZHluYW1pYyBpbXBvcnQ6IEVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhw
b3J0LW9uLXN0YXRpYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBl
dmFsKGltcG9ydCgpKS4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBk
byBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9l
eHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5CitQQVNTIFN0YXRpYyBp
bXBvcnQuCitQQVNTIE5lc3RlZCBzdGF0aWMgaW1wb3J0LgorUEFTUyBTdGF0aWMgaW1wb3J0IGFu
ZCB0aGVuIGR5bmFtaWMgaW1wb3J0LgorUEFTUyBEeW5hbWljIGltcG9ydC4KK1BBU1MgTmVzdGVk
IGR5bmFtaWMgaW1wb3J0LgorUEFTUyBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1w
b3J0LgorUEFTUyBldmFsKGltcG9ydCgpKS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRp
b25zLXR5cGUtZXhwZWN0ZWQudHh0CmluZGV4IGRhMGU0ZWI2NzU4ZDE0YTM3YTM5OGQwYjZmYzcx
YWQzODc2YmQyNmIuLjFmYzBjNjZmZGY3MjRjMmFhM2I5MTA2OTgwYmZiZTdlOTg4Zjk3NzMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQKQEAgLTIs
MTEgKzIsNiBAQAogUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCB0aGUgZGVmYXVs
dCB3b3JrZXIgdHlwZS4KIFBBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggdGhlICJj
bGFzc2ljIiB3b3JrZXIgdHlwZS4KIFBBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGgg
dGhlICJtb2R1bGUiIHdvcmtlciB0eXBlLgotRkFJTCBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24g
d2l0aCBhbiBlbXB0eSB3b3JrZXIgdHlwZS4gYXNzZXJ0X3Rocm93c19qczogV29ya2VyIGNvbnN0
cnVjdGlvbiB3aXRoIGFuIGVtcHR5IHR5cGUgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiBmdW5j
dGlvbiAiKCkgPT4gewotICAgICAgICBuZXcgV29ya2VyKCdyZXNvdXJjZXMvcG9zdC1tZXNzYWdl
LW9uLWxvYWQtd29ya2VyLmpzJywgeyB0eXBlOiAnJyB9KTsKLSAgICAgIH0iIGRpZCBub3QgdGhy
b3cKLUZBSUwgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gdW5rbm93biB3b3JrZXIg
dHlwZS4gYXNzZXJ0X3Rocm93c19qczogV29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVua25v
d24gdHlwZSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uIGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAg
ICAgIG5ldyBXb3JrZXIoJ3Jlc291cmNlcy9wb3N0LW1lc3NhZ2Utb24tbG9hZC13b3JrZXIuanMn
LAotICAgICAgICAgICAgICAgICAgIHsgdHlwZTogJ3Vua25vd24nIH0pOwotICAgICAgfSIgZGlk
IG5vdCB0aHJvdworUEFTUyBUZXN0IHdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiBlbXB0eSB3
b3JrZXIgdHlwZS4KK1BBU1MgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gdW5rbm93
biB3b3JrZXIgdHlwZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1l
cnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJy
b3ItZmFpbHVyZS1leHBlY3RlZC50eHQKaW5kZXggZThlYjU0MGJkMzM5MjQwMGE4ZGJmZDkzODY0
OGE2NDkyMzljMGQ5ZS4uZDFhNTBmN2VhM2NkNmRjMjk4ZWY3NTQxNDc3NjJjNjljNTdkNzNiMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsMTQgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFy
Z3VtZW50LgorQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
OycKK0NPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzsnCiAK
LUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gRXJyb3I6IGFzc2VydF9pbXBsZW1lbnRz
OiBTdGF0aWMgaW1wb3J0IG11c3QgYmUgc3VwcG9ydGVkIG9uIG1vZHVsZSBkZWRpY2F0ZWQgd29y
a2VyIHRvIHJ1biB0aGlzIHRlc3QuIHVuZGVmaW5lZAotCi1OT1RSVU4gTW9kdWxlIHdvcmtlciBj
b25zdHJ1Y3Rpb24gZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBzaG91bGQgZGlzcGF0Y2gg
YW4gZXZlbnQgbmFtZWQgZXJyb3IuCi1OT1RSVU4gU3RhdGljIGltcG9ydCBvbiBtb2R1bGUgd29y
a2VyIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2ZW50
IG5hbWVkIGVycm9yLgorRkFJTCBNb2R1bGUgd29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igc2NyaXB0
IHdpdGggc3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIEV2ZW50KCkgeworICAg
IFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEVycm9yRXZlbnQo
KSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKK0ZBSUwgU3RhdGljIGltcG9ydCBvbiBtb2R1bGUg
d29ya2VyIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2
ZW50IG5hbWVkIGVycm9yLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rp
b24gRXZlbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVu
Y3Rpb24gRXJyb3JFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFt
ZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKaW5kZXggNjM5
ODQ3MTIxNDU5YTdhYjM3YjlmMDlhNjhiYTY0ZWE4YTllZDU3Yy4uZTk0Njk0N2IxNGFlZjNlNTI5
OWEwYWJhM2FlNGIxY2Y5ZmNkOTU3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDggQEAKIENPTlNPTEUgTUVT
U0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUZBSUwgVGVzdCB0aGUgbmFtZSBwcm9wZXJ0
eSBvZiBzaGFyZWQgYW5kIGRlZGljYXRlZCB3b3JrZXJzIHZpYSB0aGUgbmFtZSBjb25zdHJ1Y3Rv
ciBvcHRpb24gQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi1QQVNTIERlY2xhcmlu
ZyBuYW1lIGFzIGFuIGFjY2lkZW50YWwgZ2xvYmFsIG11c3Qgbm90IGNhdXNlIGEgaGFybmVzcyBl
cnJvciBmb3IgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKK0hhcm5lc3MgRXJyb3IgKEZBSUwp
LCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVjdGlvbjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hh
cmVkV29ya2VyCisKIFBBU1MgbmFtZSBwcm9wZXJ0eSB2YWx1ZSBmb3IgRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUKIFBBU1MgbmFtZSBwcm9wZXJ0eSBpcyByZXBsYWNlYWJsZSBmb3IgRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUKK1BBU1MgRGVjbGFyaW5nIG5hbWUgYXMgYW4gYWNjaWRlbnRh
bCBnbG9iYWwgbXVzdCBub3QgY2F1c2UgYSBoYXJuZXNzIGVycm9yIGZvciBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlhbHMuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCBmMDY5MWFhMDljYzQ5Y2RmN2YyYTk0Mzc0YzZlNjIyMjBmOTNiOGUyLi5hNTcwZDhkMjky
ZmE4NTYyMTJiMDU0Nzg4MjBmMTMwZjgxZDliYmY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3Jl
ZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIENPTlNPTEUgTUVTU0FHRTogT3Jp
Z2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRy
b2wtQWxsb3ctT3JpZ2luLgogCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3
aXRoIHRoZSBkZWZhdWx0IFdvcmtsZXRPcHRpb25zIHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFs
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJB
Ym9ydEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90
IDJ4eCIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggdGhlIGRlZmF1
bHQgV29ya2xldE9wdGlvbnMgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IElt
cG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3Rl
LW9yaWdpbiBzY3JpcHQgd2l0aCB0aGUgZGVmYXVsdCBXb3JrbGV0T3B0aW9ucyBzaG91bGQgbm90
IHNlbmQgdGhlIGNyZWRlbnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlw
dCB3aXRoIGNyZWRlbnRpYWxzPW9taXQgc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFscyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9y
dEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJvcjogUmVzcG9uc2UgaXMgbm90IDJ4
eCIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9
b21pdCBzaG91bGQgbm90IHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEltcG9ydGluZyBh
IG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBz
Y3JpcHQgd2l0aCBjcmVkZW50aWFscz1vbWl0IHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlh
bHMKLUZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9
c2FtZS1vcmlnaW4gc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0
byBmZXRjaCBtb2R1bGUsIGVycm9yOiBSZXNwb25zZSBpcyBub3QgMnh4IgorRkFJTCBJbXBvcnRp
bmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1zYW1lLW9yaWdpbiBzaG91
bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlw
dCBmYWlsZWQuIgogUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRoIGNy
ZWRlbnRpYWxzPXNhbWUtb3JpZ2luIHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlhbHMKLUZB
SUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5jbHVk
ZSBzaG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1v
ZHVsZSwgZXJyb3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgiCi1GQUlMIEltcG9ydGluZyBhIHJlbW90
ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlhbHM9aW5jbHVkZSBzaG91bGQgc2VuZCB0aGUg
Y3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IE9yaWdp
biBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbi4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRo
IGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6
IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKK0ZBSUwgSW1wb3J0aW5nIGEgcmVt
b3RlLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1pbmNsdWRlIHNob3VsZCBzZW5kIHRo
ZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5
IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8t
d29ya2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNzcC5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggYmYzMzVjZjMwNTVlMDY1YjM4OTg5YjQxYWExZTIzNmZlYjRhYzI5ZC4u
Mjc1YjM0MzdmYWQ5NzUzYTZlY2UyNDIwMGVhYmYyNTdmZmQ2MjcyYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13
b3JrbGV0LWNzcC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNzcC5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTEsNDAgKzEsNTIgQEAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFs
IFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5
LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4
dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2Vz
L2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMKK0Jsb2NrZWQgYWNjZXNz
IHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVz
b3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMKK0Jsb2NrZWQg
YWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2xl
dHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMKK0Js
b2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMv
d29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIu
anMKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0
Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1o
ZWFkZXIuanMKIENPTlNPTEUgTUVTU0FHRTogVW5yZWNvZ25pemVkIENvbnRlbnQtU2VjdXJpdHkt
UG9saWN5IGRpcmVjdGl2ZSAnd29ya2VyLXNyYycuCiAKIENPTlNPTEUgTUVTU0FHRTogVW5yZWNv
Z25pemVkIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IGRpcmVjdGl2ZSAnd29ya2VyLXNyYycuCiAK
K0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0
NDMvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFk
ZXIuanMKIENPTlNPTEUgTUVTU0FHRTogVW5yZWNvZ25pemVkIENvbnRlbnQtU2VjdXJpdHktUG9s
aWN5IGRpcmVjdGl2ZSAnd29ya2VyLXNyYycuCiAKIENPTlNPTEUgTUVTU0FHRTogVW5yZWNvZ25p
emVkIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IGRpcmVjdGl2ZSAnd29ya2VyLXNyYycuCiAKIENP
TlNPTEUgTUVTU0FHRTogVW5yZWNvZ25pemVkIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IGRpcmVj
dGl2ZSAnd29ya2VyLXNyYycuCiAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRw
czovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQt
c2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMKIENPTlNPTEUgTUVTU0FHRTogW2Jsb2NrZWRdIFRo
ZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2FkZG1v
ZHVsZS13aW5kb3cuaHRtbCB3YXMgbm90IGFsbG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250
ZW50IGZyb20gaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13
b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzLgogCiBDT05TT0xFIE1FU1NBR0U6IFti
bG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291
cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5z
ZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrbGV0cy9yZXNvdXJj
ZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KIAorQ09OU09MRSBN
RVNTQUdFOiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My93b3Jr
bGV0cy9yZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRvdy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBk
aXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojk0NDMvd29ya2xl
dHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2NyaXB0LXdpdGgtY29ycy1oZWFkZXIuanMuCisK
K0NPTlNPTEUgTUVTU0FHRTogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxob3N0
Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2FkZG1vZHVsZS13aW5kb3cuaHRtbCB3YXMgbm90IGFs
bG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xvY2FsaG9zdDo5
NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVh
ZGVyLmpzLgorCiAKIEZBSUwgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2hvdWxkIGJlIGJsb2Nr
ZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIlJFSkVDVEVEIiBidXQgZ290ICJSRVNPTFZFRCIKLUZBSUwgQSBzYW1lLW9yaWdpbiB3
b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBiZSBibG9ja2Vk
IGJ5IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCitQQVNTIEEgc2FtZS1vcmlnaW4gd29y
a2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBi
eSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLgogRkFJTCBBIHJlbW90ZS1vcmlnaW4g
d29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tl
ZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgogRkFJTCBBIHJlbW90ZS1vcmlnaW4t
cmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBiZSBibG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3JjICdz
ZWxmJyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdv
dCAiUkVTT0xWRUQiCi1GQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1v
dGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJ5IHRoZSBzY3Jp
cHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RF
RCIgYnV0IGdvdCAiUkVTT0xWRUQiCitQQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRp
bmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJ5
IHRoZSBzY3JpcHQtc3JjICdzZWxmJyBkaXJlY3RpdmUuCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3
b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVj
dGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgotUEFTUyBBIHNhbWUtb3JpZ2lu
IHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBi
bG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9y
aWdpbiBhbGxvd3MgaXQuCitGQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSBy
ZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2Ny
aXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2luIGFsbG93cyBpdC4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSBy
ZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hv
dWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNp
ZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuCiBQQVNTIEEgcmVtb3RlLW9yaWdpbi1yZWRpcmVj
dGVkIHdvcmtsZXQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMg
ZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuCi1QQVNTIEEgc2FtZS1v
cmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0
IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBz
cGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmts
ZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90
IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0
aGUgb3JpZ2luIGFsbG93cyBpdC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBi
dXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2hvdWxkIG5v
dCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0
LgotUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBz
Y3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJl
Y3RpdmUgYWxsb3dzIGl0LgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEg
cmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNj
cmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
UkVTT0xWRUQiIGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29ya2xl
dCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQg
YmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBhbGxvd3MgaXQuCiBQQVNTIEEgcmVt
b3RlLW9yaWdpbi1yZWRpcmVjdGVkIHdvcmtsZXQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1
c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LgotUEFTUyBBIHNhbWUtb3Jp
Z2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBz
aG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVjdGl2ZSBh
bGxvd3MgaXQuCitGQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSByZW1vdGUt
b3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRo
ZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUtb3JpZ2luIHdv
cmtsZXQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBi
ZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgotUEFTUyBBIHNh
bWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxk
IG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmts
ZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgorRkFJTCBBIHNhbWUtb3JpZ2luIHdv
cmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9j
a2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhl
IHNjcmlwdC1zcmMgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQi
IGJ1dCBnb3QgIlJFSkVDVEVEIgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBpbXBvcnRp
bmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhlIHdv
cmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNyYyBk
aXJlY3RpdmUuCiBQQVNTIEEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHdvcmtsZXQgc2hvdWxk
IG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmts
ZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgotUEFTUyBBIHNhbWUtb3JpZ2luIHdv
cmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQg
bm90IGJlIGJsb2NrZWQgYnkgdGhlIHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xl
dHMgb2JleSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUuCitGQUlMIEEgc2FtZS1vcmlnaW4gd29y
a2xldCBpbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBu
b3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0
cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
IlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIKIFBBU1MgQW4gaW5zZWN1cmUtb3JpZ2luIHdv
cmtsZXQgc2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVzZSBvZiBtaXhlZCBjb250ZW50cy4KIFBBU1Mg
QW4gaW5zZWN1cmUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xldCBzaG91bGQgYmUgYmxvY2tlZCBi
ZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgotRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1w
b3J0aW5nIGFuIGluc2VjdXJlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVz
ZSBvZiBtaXhlZCBjb250ZW50cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBi
dXQgZ290ICJSRVNPTFZFRCIKLUZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBh
biBpbnNlY3VyZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYmVj
YXVzZSBvZiBtaXhlZCBjb250ZW50cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVE
IiBidXQgZ290ICJSRVNPTFZFRCIKK1BBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGlu
ZyBhbiBpbnNlY3VyZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2Yg
bWl4ZWQgY29udGVudHMuCitQQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYW4g
aW5zZWN1cmUtb3JpZ2luLXJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1
c2Ugb2YgbWl4ZWQgY29udGVudHMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWltcG9ydC5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggZmU4OTY1YWVmNmNhZGEyMjE5ZWY4ZTMwODg4YmE5MWUyNDAxN2FjMC4uNjc2NDdkNDY4N2I5
ZDNjZmM4NmUwYjJjOGY1NjhlMjBmNWJlYzM5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWltcG9y
dC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWltcG9ydC5odHRwcy1leHBlY3Rl
ZC50eHQKQEAgLTE2LDcgKzE2LDcgQEAgUEFTUyBJbXBvcnRpbmcgYSBjcm9zcyBvcmlnaW4gcmVz
b3VyY2Ugd2l0aCB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWQKIFBBU1MgSW1w
b3J0aW5nIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlIHdpdGhvdXQgdGhlIEFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbiBoZWFkZXIgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZQogUEFT
UyBJbXBvcnRpbmcgYSBjcm9zcy1vcmlnaW4tcmVkaXJlY3RlZCByZXNvdXJjZSB3aXRoIHRoZSBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZXNvbHZlIHRoZSBnaXZl
biBwcm9taXNlCiBQQVNTIEltcG9ydGluZyBhIGNyb3NzLW9yaWdpbi1yZWRpcmVjdGVkIHJlc291
cmNlIHdpdGhvdXQgdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBoZWFkZXIgc2hvdWxk
IHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZQotRkFJTCBJbXBvcnRpbmcgYSBzY3JpcHQgdGhhdCBo
YXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4gYXNzZXJ0
X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKLUZBSUwgSW1wb3J0aW5nIGEgbmVzdGVkIHNjcmlwdCB0aGF0IGhhcyBhIHN5
bnRheCBlcnJvciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlLiBhc3NlcnRfdW5yZWFj
aGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQotRkFJTCBJbXBvcnRpbmcgYSBzY3JpcHQgdGhhdCBpbXBvcnRzIGFuIGludmFsaWQgaWRl
bnRpZmllciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlLiBhc3NlcnRfdW5yZWFjaGVk
OiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQorUEFTUyBJbXBvcnRpbmcgYSBzY3JpcHQgdGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxk
IHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4KK1BBU1MgSW1wb3J0aW5nIGEgbmVzdGVkIHNjcmlw
dCB0aGF0IGhhcyBhIHN5bnRheCBlcnJvciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNl
LgorUEFTUyBJbXBvcnRpbmcgYSBzY3JpcHQgdGhhdCBpbXBvcnRzIGFuIGludmFsaWQgaWRlbnRp
ZmllciBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdv
cmtsZXQtcmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyNGQ0OTljMTQxY2VlNmRjOWIyZWJlMjRiZmI0ZmY0YzAz
YTBhOTczLi43OWQ4NTIyN2NjMGY0NjczN2U2ZjgzZmI0YTIxYzU4YWI1Mzc3NjBiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRz
L2F1ZGlvLXdvcmtsZXQtcmVmZXJyZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xl
dC1yZWZlcnJlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMjAgKzEsMjYgQEAKK0NPTlNPTEUg
TUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkg
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwg
VVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvcmVmZXJy
ZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9bm8tcmVmZXJyZXImZXhwZWN0ZWRfcmVmZXJy
ZXI9CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9z
dDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9yZWZlcnJlci1jaGVja2VyLnB5P3JlZmVycmVyX3Bv
bGljeT1vcmlnaW4mZXhwZWN0ZWRfcmVmZXJyZXI9aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8KK0NP
TlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93
ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMv
cmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9c2FtZS1vcmlnaW4mZXhwZWN0ZWRf
cmVmZXJyZXI9CitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQz
IGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIAogUEFTUyBJ
bXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgIm5vLXJl
ZmVycmVyIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJ
bXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAibm8t
cmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNT
IEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAib3Jp
Z2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgb25seSBhbiBvcmlnaW4gYXMgcmVmZXJy
ZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRo
YXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCBvbmx5IGFuIG9yaWdp
biBhcyByZWZlcnJlci4KLVBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20g
YSBwYWdlIHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5k
IHJlZmVycmVyLgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBh
Z2UgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIG9ubHkgYW4g
b3JpZ2luIGFzIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1
dCBnb3QgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKK0ZBSUwgSW1wb3J0aW5n
IGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgIm9yaWdpbiIgcmVm
ZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIG9ubHkgYW4gb3JpZ2luIGFzIHJlZmVycmVyLiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3Jp
cHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIK
K0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFz
ICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkltcG9ydGluZyBhIG1vZHVs
ZSBzY3JpcHQgZmFpbGVkLiIKIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQg
ZnJvbSBhIHBhZ2UgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxk
IG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQg
ZnJvbSBhIHNhbWUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJuby1yZWZlcnJlciIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4KLVBBU1MgSW1wb3J0aW5n
IGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHNhbWUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0
IHRoYXQgaGFzICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCBy
ZWZlcnJlci4KK0ZBSUwgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHNh
bWUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJuby1yZWZlcnJlciIgcmVmZXJyZXIg
cG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
IlJFU09MVkVEIiBidXQgZ290ICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENy
b3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iCiBQQVNTIEltcG9ydGluZyBhIHNh
bWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0
IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJy
ZXIuCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUt
b3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9s
aWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4KIFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmln
aW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3Jp
Z2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlw
dCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIu
Ci1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdp
biB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxk
IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZy
b20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVy
cmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4KLVBBU1MgSW1wb3J0aW5nIGEgc2FtZS1v
cmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAi
c2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4KLVBBU1Mg
SW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHNhbWUtb3JpZ2luIHdvcmts
ZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBu
b3Qgc2VuZCByZWZlcnJlci4KLVBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZy
b20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4KLVBBU1MgSW1wb3J0aW5n
IGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3Jp
cHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVm
ZXJyZXIuCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1l
LW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kg
c2hvdWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIg
YnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4g
UmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgorRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBz
Y3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdp
biIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFp
bGVkLiIKK0ZBSUwgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90
ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQi
IGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2lu
IFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4g
c2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1v
cmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0
IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBz
YW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVy
IHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJSRVNPTFZFRCIgYnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBD
cm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgorRkFJTCBJbXBvcnRpbmcgYSBz
YW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhh
dCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVy
cmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkltcG9ydGlu
ZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKK0ZBSUwgSW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdp
biBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNh
bWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBs
b2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9vcGVuLXVybC1yZWRpcmVjdGVkLXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJl
Y3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAppbmRleCAxZTJkMzk5MmY2ZDVkZjMyMjA3
YTZiMGY2MTlhNmQ3MTE4MTI0MDBkLi43YTdhOTE3ZWFhOThlOTJlZTAzZWMyOGExMWU3ODA4NGQy
MzRiODg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVjdGVkLXdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29w
ZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2
IEBACiBCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cDovL3d3dzIubG9jYWxob3N0
Ojg4MDAveGhyL3Jlc291cmNlcy9pbnNwZWN0LWhlYWRlcnMucHk/ZmlsdGVyX25hbWU9b3JpZ2lu
JmNvcnMKIAotRkFJTCBSZWZlcmVyIGhlYWRlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUmVm
ZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3hoci9yZXNvdXJjZXMvd29ya2VyeGhyLW9yaWdp
bi1yZWZlcnJlci5qc1xuIiBidXQgZ290ICJSZWZlcmVyOiBodHRwOi8vbG9jYWxob3N0Ojg4MDAv
eGhyL3Jlc291cmNlcy9yZWRpcmVjdC5weT9sb2NhdGlvbj13b3JrZXJ4aHItb3JpZ2luLXJlZmVy
cmVyLmpzXG4iCitQQVNTIFJlZmVyZXIgaGVhZGVyCiBGQUlMIE9yaWdpbiBoZWFkZXIgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIk9yaWdpbjogaHR0cDovL2xvY2FsaG9zdDo4ODAwXG4iIGJ1dCBn
b3QgIiIKIFBBU1MgUmVxdWVzdCBVUkwgdGVzdAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW93b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVk
LnR4dAppbmRleCAwOGFmMTE0MzYwNTUxYmY1YTgwNzlhZjBhMzgxNWM0ZTA4ZWJkMTQzLi5kZWYz
M2FkODY5MWI2OTQzNmUwZTE4MWM1YmQwMDQ4MzU0ODM1MWJiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvd29ya2xldC1hZGRNb2R1bGUtZmFpbHVy
ZS1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAK
IAogUEFTUyBjb250ZXh0LmF1ZGlvV29ya2xldC5hZGRNb2R1bGUoaW52YWxpZFVSTCk7IHJlamVj
dGVkIHByb21pc2UgIHdpdGggU3ludGF4RXJyb3I6IE1vZHVsZSBVUkwgaXMgaW52YWxpZC4KLVBB
U1MgY29udGV4dC5hdWRpb1dvcmtsZXQuYWRkTW9kdWxlKCdkb2Vzbm90RXhpc3QuanMnKTsgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBBYm9ydEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBl
cnJvcjogVGhlIHJlcXVlc3RlZCBVUkwgd2FzIG5vdCBmb3VuZCBvbiB0aGlzIHNlcnZlci4uCitQ
QVNTIGNvbnRleHQuYXVkaW9Xb3JrbGV0LmFkZE1vZHVsZSgnZG9lc25vdEV4aXN0LmpzJyk7IHJl
amVjdGVkIHByb21pc2UgIHdpdGggQWJvcnRFcnJvcjogSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlw
dCBmYWlsZWQuLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBM
RVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dvcmtsZXQtY3Jhc2gtZXhwZWN0ZWQudHh0
CmluZGV4IDY1NGRkZjdmMTdlZmFiNThlNDJmYWJlMzg1MjU3OTY0YWUyYzVkNDEuLjFhNDNlM2Y5
N2NiMmYwNmI5ZjdjZDVmMmIxODIzMzgxMDUxM2VlZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL3dvcmtsZXQtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dl
YmF1ZGlvL3dvcmtsZXQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xICsxLDIgQEAKK0NPTlNPTEUg
TUVTU0FHRTogVHlwZUVycm9yOiAndGV4dC9odG1sJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0
IE1JTUUgdHlwZS4KIFRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420996</attachid>
            <date>2021-02-19 11:26:31 -0800</date>
            <delta_ts>2021-02-19 19:37:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164860-20210219112630.patch</filename>
            <type>text/plain</type>
            <size>251174</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MTg2ZDQyOTVlYjRlMGI2N2EwNDM0OWIwZTZlNThlMWVhYzY2MDQ3Li4xYTM4NTM2Y2MxZWQ1MTBm
NTExZmE5OGZiYjdkZmM1ODIwYzQ4ZTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MyBAQAorMjAyMS0wMi0xOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGVycm9yIGluZm9ybWF0aW9uIHRvIGV4dHJh
Y3QgdGhpcyBpbiBXZWJDb3JlJ3MgbW9kdWxlIGxvYWRlci4KKyAgICAgICAgQ3VycmVudGx5LCB3
ZSBhcmUgdXNpbmcgUHJvbWlzZSBwaXBlbGluZSwgYW5kIHRoaXMgbWFrZXMgaXQgYSBiaXQgZGlm
ZmljdWx0IHRvIGV4dHJhY3QgZXJyb3IgaW5mb3JtYXRpb24uCisgICAgICAgIFRoaXMgZXJyb3Ig
aW5mb3JtYXRpb24gYXR0YWNoZWQgaW4gdGhpcyBwYXRjaCBhbGxvd3MgdXMgdG8gZXh0cmFjdCBT
eW50YXhFcnJvciBpbiBXZWJDb3JlLCBhbmQgdGhyb3dpbmcKKyAgICAgICAgSlMgU3ludGF4RXJy
b3IgaW5zdGVhZCBvZiBBYm9ydEVycm9yLgorCisgICAgICAgIFdlIGFyZSBwbGFubmluZyB0byB1
cGRhdGUgb3VyIG1vZHVsZSBwaXBpZWxpbmUgbm90IHVzaW5nIFByb21pc2VzIGluIHRoZSBmdXR1
cmUuIFRoZSBjdXJyZW50IGRlc2lnbiBkZXJpdmVkCisgICAgICAgIGZyb20gdGhlIG9yaWdpbmFs
IG1vZHVsZSBsb2FkZXIgcGlwZWxpbmUgd2hlcmUgdXNpbmcgUHJvbWlzZXMgaXMgY3JpdGljYWwu
IEJ1dCBub3csIHRoYXQgcHJvcG9zYWwgd2FzIGFiYW5kb25lZCwKKyAgICAgICAgc28gd2UgY2Fu
IGp1c3Qgc2ltcGxpZnkgdGhlIG1vZHVsZSBsb2FkZXIuCisKKyAgICAgICAgKiBydW50aW1lL0Fn
Z3JlZ2F0ZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJyb3I6OkFnZ3JlZ2F0
ZUVycm9yKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3Jl
YXRlRXJyb3IpOgorICAgICAgICAoSlNDOjpjcmVhdGVFdmFsRXJyb3IpOgorICAgICAgICAoSlND
OjpjcmVhdGVSYW5nZUVycm9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlUmVmZXJlbmNlRXJyb3Ip
OgorICAgICAgICAoSlNDOjpjcmVhdGVTeW50YXhFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0
ZVR5cGVFcnJvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZVVSSUVycm9yKToKKyAgICAgICAgKEpT
Qzo6Y3JlYXRlR2V0dGVyVHlwZUVycm9yKToKKyAgICAgICAgKEpTQzo6dGhyb3dTeW50YXhFcnJv
cik6CisgICAgICAgICogcnVudGltZS9FcnJvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6
CisgICAgICAgICogcnVudGltZS9FcnJvckluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJy
b3JJbnN0YW5jZTo6RXJyb3JJbnN0YW5jZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6
OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VT
dHJpbmcpOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWROYW1lU3RyaW5n
KToKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJpbmcpOgorICAg
ICAgICAqIHJ1bnRpbWUvRXJyb3JJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpFcnJvckluc3Rh
bmNlOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjplcnJvclR5cGUgY29u
c3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAg
ICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUv
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29u
c3RydWN0b3I8ZXJyb3JUeXBlPjo6Y29uc3RydWN0SW1wbCk6CisgICAgICAgIChKU0M6Ok5hdGl2
ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBlPjo6Y2FsbEltcGwpOgorICAgICAgICAqIHJ1bnRp
bWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TnVsbFNldHRlckZ1bmN0
aW9uSW50ZXJuYWw6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogd2FzbS9q
cy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3Nl
bWJseUNvbXBpbGVFcnJvcjo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6CisgICAgICAgICog
d2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJB
c3NlbWJseUxpbmtFcnJvcjo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcik6CisgICAgICAgICogd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXZWJB
c3NlbWJseVJ1bnRpbWVFcnJvcjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcik6CisgICAgICAg
ICogd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3YXNtL2pzL1dl
YkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTik6CisKIDIwMjEtMDItMTkgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIEltcGxlbWVudCBhIEdDIHZlcmlmaWVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQwNDRiN2Y0ZjU5
YjIzZmE2OWRlNzg2Y2MzNTYyYjY3NWViYmI1YjEuLmNlYjY2OGJiZTQwMWU2MDBmNzJhYmUxODIw
ZTJhMDljMWEzMDRiOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNjIgQEAKKzIwMjEtMDItMTkg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBKUyBNb2R1bGVz
IGluIFdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2NDg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBKUyBtb2R1bGVzIGluIFdvcmtlcnMgYW5kIFdvcmts
ZXRzLiBXZSBhcmUgbm90IHN1cHBvcnRpbmcgbW9kdWxlcyBpbiBTZXJ2aWNlV29ya2VycycgaW5p
dGlhbGl6YXRpb24geWV0LgorICAgICAgICBCdXQgc2VydmljZS13b3JrZXIgY2FuIGltcG9ydCBt
b2R1bGVzIHZpYSBKUyBgaW1wb3J0KClgLgorCisgICAgICAgIFRoZSB3b3JrZXIgY2FuIGJlIGV4
ZWN1dGVkIGFzIGEgbW9kdWxlIGlmIHdlIHBhc3MsIGB0eXBlOiAibW9kdWxlImAgdG8gd29ya2Vy
IG9wdGlvbnMuIFdvcmtsZXQgaXMgZXhlY3V0ZWQgYXMgbW9kdWxlcyBieSBkZWZhdWx0LgorCisg
ICAgICAgIDEuIEluIFdvcmtlciwgd2UgZmlyc3QgZmV0Y2ggdGhlIGluaXRpYWwgY29kZS4gQW5k
IHRoZW4sIGFuYWx5emUgdGhlIGRlcGVuZGVuY2llcyBhbmQgbG9hZCBzdWJzZXF1ZW50IG1vZHVs
ZXMuCisgICAgICAgICAgIFdlIGl0ZXJhdGUgcnVuLWxvb3AgdG8gbG9hZCBhbGwgdGhlIGRlcGVu
ZGVudCBtb2R1bGVzIGluIHRoZSBtb2R1bGUgbG9hZGVyLiBBdCB0aGF0IHRpbWUsIHdlIGFubm90
YXRlIHJ1bi1sb29wIHRhc2tzIHdpdGgKKyAgICAgICAgICAgc3BlY2lhbCB0YXNrTW9kZSB0byBp
dGVyYXRlIHRhc2tzIHdpdGggdGhpcyB0YXNrTW9kZS4gVGhpcyBwcmV2ZW50cyB1cyBmcm9tIGRp
c2NhcmRpbmcgZGlmZmVyZW50IHRhc2tzIGluIHRoaXMgcnVuLWxvb3AgZHJpdmluZworICAgICAg
ICAgICBwaGFzZS4gKGUuZy4gcG9zdE1lc3NhZ2UgY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBtYWlu
IHRocmVhZCB3aGlsZSBsb2FkaW5nIG1vZHVsZSBncmFwaCwgaW4gdGhhdCBjYXNlLCB3ZSBzaG91
bGQgbm90IGRpc2NhcmQgdGhpcworICAgICAgICAgICB0YXNrLikKKworICAgICAgICAyLiBJbiBX
b3JrbGV0LCB3ZSBqdXN0IHJlcXVlc3QgbW9kdWxlIGxvYWRpbmcgdG8gU2NyaXB0TW9kdWxlTG9h
ZGVyLCBhbmQgcnVuIGl0IGFmdGVyIGxvYWRpbmcgbW9kdWxlIGdyYXBoLiBUaGlzIGlzIE9LIHNp
bmNlIHdvcmtsZXQKKyAgICAgICAgICAgdGhyZWFkIGlzIGFscmVhZHkgcnVubmluZy4gU28gd2Ug
Y2FuIGp1c3QgcmVxdWVzdCBtb2R1bGVzIGFuZCB3b3JrbGV0IHRocmVhZCBhdXRvbWF0aWNhbGx5
IGRyaXZlcyBtb2R1bGUgbG9hZGluZyB2aWEgcnVuLWxvb3AuCisKKyAgICAgICAgKiBIZWFkZXJz
LmNtYWtlOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0R2xvYmFsU2Nv
cGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvV29ya2xldEdsb2JhbFNjb3BlOjpjdXJyZW50
RnJhbWUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Xb3JrbGV0R2xv
YmFsU2NvcGU6OnNhbXBsZVJhdGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGU6OmN1cnJlbnRUaW1lIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZE1vZHVsZVNjcmlwdExv
YWRlcjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6
Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Y3JlYXRlRE9NRXhjZXB0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9i
YWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyaXB0TW9kdWxlTG9hZGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKToK
KyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJGZXRjaCk6
CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVyRXZhbHVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlcklt
cG9ydE1vZHVsZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6bW9kdWxl
TG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dC
YXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVy
UmVzb2x2ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1v
ZHVsZUxvYWRlckZldGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93
QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRN
ZXRhUHJvcGVydGllcyk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5k
b3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2Uu
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHA6
CisgICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2RvbS9Nb2R1bGVGZXRjaFBhcmFtZXRlcnMuaC4KKyAgICAgICAgKFdl
YkNvcmU6Ok1vZHVsZVNjcmlwdExvYWRlcjo6Y2xlYXJDbGllbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TW9kdWxlU2NyaXB0TG9hZGVyOjpzY3JpcHRGZXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vZHVsZVNjcmlwdExvYWRlcjo6cGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpNb2R1
bGVTY3JpcHRMb2FkZXI6Ok1vZHVsZVNjcmlwdExvYWRlcik6CisgICAgICAgICogYmluZGluZ3Mv
anMvTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaC4KKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6cmVzb2x2ZU1vZHVsZVNwZWNpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1
bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVy
OjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om1vZHVsZVVS
TCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OnJlc3BvbnNlVVJMRnJv
bVJlcXVlc3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0TW9kdWxlTG9hZGVyOjpldmFs
dWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVs
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVk
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaDoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRTb3VyY2VDb2RlOjpTY3JpcHRTb3VyY2VDb2RlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9X
b3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlck1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
ck1vZHVsZVNjcmlwdExvYWRlcjo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6fldvcmtlck1vZHVsZVNjcmlwdExv
YWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQp
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpyZWZlcnJlclBv
bGljeSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6
dGFza01vZGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRl
ci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vTW9kdWxlRmV0Y2hQYXJhbWV0ZXJz
LmguCisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RmV0Y2hlci5oOiBBZGRlZC4K
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9FeGNlcHRpb25Db2Rl
Lmg6CisgICAgICAgICogZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxvYWRhYmxlTW9kdWxlU2NyaXB0OjpMb2FkYWJsZU1vZHVsZVNjcmlwdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMb2FkYWJsZU1vZHVsZVNjcmlwdDo6bG9hZCk6IERlbGV0ZWQuCisgICAg
ICAgICogZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0Lmg6CisgICAgICAgICogZG9tL01vZHVsZUZl
dGNoUGFyYW1ldGVycy5oOgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlRmV0Y2hQYXJhbWV0ZXJz
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzOjppc1Rv
cExldmVsTW9kdWxlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZUZldGNoUGFyYW1l
dGVyczo6TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBkb20vU2NyaXB0RWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxlU2Ny
aXB0KToKKyAgICAgICAgKiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAqIGxvYWRlci9UaHJl
YWRhYmxlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyOjpjcmVh
dGUpOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Oldv
cmtlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5o
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpX
b3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6
aW1wb3J0U2NyaXB0cyk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmNyZWRlbnRpYWxzIGNvbnN0KToK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
ck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRH
bG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlOjptb2R1bGVMb2FkZXIpOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpq
c1ZhbHVlVG9Nb2R1bGVLZXkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bG9hZE1vZHVsZVN5bmNocm9ub3VzbHkpOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6bGlua0FuZEV2
YWx1YXRlTW9kdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldFNjcmlwdENv
bnRyb2xsZXI6OmxvYWRBbmRFdmFsdWF0ZU1vZHVsZSk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjps
b2FkQXN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVy
OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9h
ZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OnJlc3BvbnNlU291
cmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6aXNSZWRp
cmVjdGVkIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRlZENvcHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpldmFsdWF0ZVNjcmlwdElmTmVjZXNzYXJ5KToK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyVHlwZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2I6OmZldGNoU2NyaXB0V2l0aENvbnRleHQp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0
aW9ucy5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6U2Vydmlj
ZVdvcmtlclRocmVhZCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
cldvcmtlci5oOgorICAgICAgICAqIHdvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmg6
CisgICAgICAgIChXZWJDb3JlOjpQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6cGFpbnREZWZpbml0
aW9uTWFwKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBhaW50V29ya2xldEdsb2JhbFNj
b3BlOjpwYWludERlZmluaXRpb25Mb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBh
aW50V29ya2xldEdsb2JhbFNjb3BlOjp+UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUpOiBEZWxldGVk
LgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OmZldGNoQW5kSW52b2tlU2NyaXB0KToKKyAgICAg
ICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6cHJvY2Vzc05leHRTY3JpcHRGZXRjaEpv
YklmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29w
ZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oldvcmts
ZXRHbG9iYWxTY29wZTo6bm90aWZ5RmluaXNoZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2xldEdsb2JhbFNjb3BlOjpkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKTogRGVsZXRl
ZC4KKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaDoKKwogMjAyMS0wMi0x
OSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgW1BheW1lbnQg
UmVxdWVzdF0gYWRkIGFuIGBvYmplY3QgZGF0YWAgdG8gYFBheW1lbnREZXRhaWxzQmFzZWAgc28g
dGhhdCBkYXRhIHNwZWNpZmljIHRvIEFwcGxlIFBheSBjYW4gYmUgcHJvdmlkZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcAppbmRleCA3NTlh
NWIyNGEwZWQwODY4MGNjYWE2MzQwZDJlOTVkNDUwYjgwZmQ2Li4yOTZjODVjYzkwZTA1YjU0NTQ3
ZjY2MmE3ZTJmOGExZTEzMGE0NmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BZ2dyZWdhdGVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQWdncmVnYXRlRXJyb3IuY3BwCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogY29uc3QgQ2xhc3NJbmZvIEFnZ3JlZ2F0ZUVycm9yOjpzX2luZm8gPSB7ICJBZ2dyZWdhdGVF
cnJvciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFC
TEUoQWdncmVnYXRlRXJyb3IpIH07CiAKIEFnZ3JlZ2F0ZUVycm9yOjpBZ2dyZWdhdGVFcnJvcihW
TSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQor
ICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBFcnJvclR5cGU6OkFnZ3JlZ2F0ZUVycm9yKQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKaW5kZXggZjQ3M2I4MTgx
ZWMyZjAyYTBjYzc4YTI2YzBjMjBkYzk2MzFmZGM3NC4uZmNhY2YxZTMyMmViMjcyNzg3NGZmMjUy
NjI0MWVkN2JlOThjZTUzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNw
cApAQCAtMzUsMzcgKzM1LDM3IEBAIG5hbWVzcGFjZSBKU0MgewogSlNPYmplY3QqIGNyZWF0ZUVy
cm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
RXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFt
ZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9i
YWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVy
ZSgpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIHRydWUpOworICAgIHJldHVybiBF
cnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGds
b2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3Ro
aW5nLCBFcnJvclR5cGU6OkVycm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZUV2YWxF
cnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCgh
bWVzc2FnZS5pc0VtcHR5KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xv
YmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1
cmUoRXJyb3JUeXBlOjpFdmFsRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcs
IHRydWUpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBn
bG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBl
OjpFdmFsRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6
RXZhbEVycm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVJhbmdlRXJyb3IoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFcnJvckluc3Rh
bmNlOjpTb3VyY2VBcHBlbmRlciBhcHBlbmRlcikKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNF
bXB0eSgpKTsKLSAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
Z2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlw
ZTo6UmFuZ2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7Cisg
ICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJhbmdlRXJy
b3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6UmFuZ2VFcnJv
ciwgdHJ1ZSk7CiB9CiAKIEpTT2JqZWN0KiBjcmVhdGVSZWZlcmVuY2VFcnJvcihKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEVycm9ySW5zdGFuY2U6
OlNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5
KCkpOwotICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9i
YWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpS
ZWZlcmVuY2VFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCBUeXBlTm90aGluZywgdHJ1ZSk7Cisg
ICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlJlZmVyZW5j
ZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OlJlZmVy
ZW5jZUVycm9yLCB0cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0
YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlz
RW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3Qs
IGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShFcnJvclR5
cGU6OlN5bnRheEVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB0cnVlKTsK
KyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6U3ludGF4
RXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6U3ludGF4
RXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6
U291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1bnRpbWVUeXBlIHR5cGUpCiB7CiAgICAgQVNTRVJU
KCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShn
bG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVj
dHVyZShFcnJvclR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UsIGFwcGVuZGVyLCB0eXBlLCB0cnVl
KTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFs
T2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlw
ZUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIEVycm9yVHlwZTo6VHlwZUVycm9yLCB0
cnVlKTsKIH0KIAogSlNPYmplY3QqIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVycm9ySW5zdGFuY2U6OlNvdXJjZUFwcGVuZGVyIGFw
cGVuZGVyKQpAQCAtNzYsNyArNzYsNyBAQCBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1l
bnRzRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JJbnN0YQogSlNPYmpl
Y3QqIGNyZWF0ZVVSSUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgRXJyb3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7
CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIEVycm9ySW5zdGFu
Y2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0
LT5lcnJvclN0cnVjdHVyZShFcnJvclR5cGU6OlVSSUVycm9yKSwgbWVzc2FnZSwgYXBwZW5kZXIs
IFR5cGVOb3RoaW5nLCB0cnVlKTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0
dXJlKEVycm9yVHlwZTo6VVJJRXJyb3IpLCBtZXNzYWdlLCBhcHBlbmRlciwgVHlwZU5vdGhpbmcs
IEVycm9yVHlwZTo6VVJJRXJyb3IsIHRydWUpOwogfQogCiBKU09iamVjdCogY3JlYXRlRXJyb3Io
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXJyb3JUeXBlIGVycm9yVHlwZSwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlKQpAQCAtMTEzLDcgKzExMyw3IEBAIEpTT2JqZWN0KiBjcmVhdGVFcnJv
cihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFcnJvclR5cGVXaXRoRXh0ZW5zaW9uIGVy
cm9yCiBKU09iamVjdCogY3JlYXRlR2V0dGVyVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2Uu
aXNFbXB0eSgpKTsKLSAgICBhdXRvKiBlcnJvciA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9i
YWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVy
ZShFcnJvclR5cGU6OlR5cGVFcnJvciksIG1lc3NhZ2UpOworICAgIGF1dG8qIGVycm9yID0gRXJy
b3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9i
YWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgbWVzc2FnZSwg
bnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6VHlwZUVycm9yKTsKICAgICBlcnJvci0+
c2V0TmF0aXZlR2V0dGVyVHlwZUVycm9yKCk7CiAgICAgcmV0dXJuIGVycm9yOwogfQpAQCAtMjc0
LDcgKzI3NCw3IEBAIEV4Y2VwdGlvbiogdGhyb3dUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGhyb3dTY29wZSYgc2NvcGUsIGNvbnN0CiAKIEV4Y2VwdGlvbiogdGhyb3dT
eW50YXhFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUaHJvd1Njb3BlJiBzY29w
ZSkKIHsKLSAgICByZXR1cm4gdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSwgY3Jl
YXRlU3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCAiU3ludGF4IGVycm9yIl9zKSk7CisgICAgcmV0
dXJuIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUsIGNyZWF0ZVN5bnRheEVycm9y
KGdsb2JhbE9iamVjdCkpOwogfQogCiBFeGNlcHRpb24qIHRocm93U3ludGF4RXJyb3IoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGhyb3dTY29wZSYgc2NvcGUsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSkKQEAgLTMxNyw2ICszMTcsMTEgQEAgSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9y
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAg
ICByZXR1cm4gY3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCBtZXNzYWdlLCBudWxscHRy
KTsKIH0KIAorSlNPYmplY3QqIGNyZWF0ZVN5bnRheEVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCit7CisgICAgcmV0dXJuIGNyZWF0ZVN5bnRheEVycm9yKGdsb2JhbE9iamVjdCwg
IlN5bnRheCBlcnJvciJfcywgbnVsbHB0cik7Cit9CisKIEpTT2JqZWN0KiBjcmVhdGVUeXBlRXJy
b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICByZXR1cm4gY3JlYXRlVHlw
ZUVycm9yKGdsb2JhbE9iamVjdCwgIlR5cGUgZXJyb3IiX3MpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yLmgKaW5kZXggNmRhYTE1NDIxNTY2NjEwZTRhY2U2ZGUzMzVmMzRkM2JmN2M3
NDQ0ZC4uZGM4MjUyODJjMzU2NDg3MTMyNTQ1NDRiYzhkODE4ODg0MDBlNDM4YiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5oCkBAIC01NSw2ICs1NSw3IEBAIEpTX0VYUE9SVF9Q
UklWQVRFIEpTT2JqZWN0KiBjcmVhdGVFdmFsRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBT
dHJpbmcmKTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVSYW5nZUVycm9yKEpT
R2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVj
dCogY3JlYXRlUmVmZXJlbmNlRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmKTsK
IEpTX0VYUE9SVF9QUklWQVRFIEpTT2JqZWN0KiBjcmVhdGVTeW50YXhFcnJvcihKU0dsb2JhbE9i
amVjdCosIGNvbnN0IFN0cmluZyYpOworSlNfRVhQT1JUX1BSSVZBVEUgSlNPYmplY3QqIGNyZWF0
ZVN5bnRheEVycm9yKEpTR2xvYmFsT2JqZWN0Kik7CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVj
dCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0Kik7CiBKU19FWFBPUlRfUFJJVkFURSBK
U09iamVjdCogY3JlYXRlVHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7
CiBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJy
b3IoSlNHbG9iYWxPYmplY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMGYyZjVhMzE4NDAyZmJiN2M3ZDg4MDJiNmQ3
ODQyZWZlNDA2Yzg0Ni4uOWJlOTMwY2YxYzNjOWE0MGU2MDg1OTgzNTU4YTFhNTliYzc4YjYyZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rv
ci5jcHAKQEAgLTYwLDE0ICs2MCwxNCBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY29uc3Ry
dWN0RXJyb3JDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogICAgICAg
ICA6IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKGdsb2JhbE9iamVj
dCwgbmV3VGFyZ2V0LCBnZXRGdW5jdGlvblJlYWxtKHZtLCBuZXdUYXJnZXQpLT5lcnJvclN0cnVj
dHVyZSgpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgUkVM
RUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3Jl
YXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVO
b3RoaW5nLCBmYWxzZSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6
OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVy
ZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNl
KSkpOwogfQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEVycm9yQ29uc3RydWN0b3Is
IChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7
CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKICAgICBTdHJ1
Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZSgpOwot
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxz
ZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5n
LCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOwogfQogCiBib29sIEVycm9yQ29uc3RydWN0b3I6
OnB1dChKU0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2Uu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKaW5k
ZXggMmU0ZWMzOWYxMjA1OGIyNTA4NzIyZTBiODI1MjI0N2JlYjAzMTllNi4uMGY4NmUyMmI5MmRk
ZDZkMTM5ODU4Yjg2ZTU2Y2VhZGNhZWNlMGQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKQEAgLTM0LDE4ICszNCwyMyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogY29uc3QgQ2xhc3NJbmZvIEVycm9ySW5zdGFuY2U6OnNfaW5mbyA9IHsgIkVy
cm9yIiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRF
X01FVEhPRF9UQUJMRShFcnJvckluc3RhbmNlKSB9OwogCi1FcnJvckluc3RhbmNlOjpFcnJvcklu
c3RhbmNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitFcnJvckluc3RhbmNlOjpFcnJv
ckluc3RhbmNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVycm9yVHlwZSBlcnJvclR5
cGUpCiAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgLCBtX2Vycm9yVHlwZShlcnJvclR5
cGUpCisgICAgLCBtX3N0YWNrT3ZlcmZsb3dFcnJvcihmYWxzZSkKKyAgICAsIG1fb3V0T2ZNZW1v
cnlFcnJvcihmYWxzZSkKKyAgICAsIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkKGZhbHNlKQorICAg
ICwgbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3IoZmFsc2UpCiB7CiB9CiAKLUVycm9ySW5zdGFuY2Uq
IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgSlNWYWx1ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRl
ciwgUnVudGltZVR5cGUgdHlwZSwgYm9vbCB1c2VDdXJyZW50RnJhbWUpCitFcnJvckluc3RhbmNl
KiBFcnJvckluc3RhbmNlOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUgbWVzc2FnZSwgU291cmNlQXBwZW5kZXIgYXBwZW5k
ZXIsIFJ1bnRpbWVUeXBlIHR5cGUsIEVycm9yVHlwZSBlcnJvclR5cGUsIGJvb2wgdXNlQ3VycmVu
dEZyYW1lKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcg
PSBtZXNzYWdlLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoKSA6IG1lc3NhZ2UudG9XVEZTdHJpbmco
Z2xvYmFsT2JqZWN0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsK
LSAgICByZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbWVzc2FnZVN0
cmluZywgYXBwZW5kZXIsIHR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CisgICAgcmV0dXJuIGNyZWF0
ZShnbG9iYWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGFwcGVuZGVyLCB0
eXBlLCBlcnJvclR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBw
ZW5kU291cmNlVG9FcnJvck1lc3NhZ2UoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEVycm9ySW5zdGFu
Y2UqIGV4Y2VwdGlvbiwgQnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4LCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UpCkBAIC0xMzEsNyArMTM2LDI1IEBAIHZvaWQgRXJyb3JJbnN0YW5jZTo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTCiAv
LyBCYXNlZCBvbiBFcnJvclByb3RvdHlwZSdzIGVycm9yUHJvdG9GdW5jVG9TdHJpbmcoKSwgYnV0
IGlzIG1vZGlmaWVkIHRvCiAvLyBoYXZlIG5vIG9ic2VydmFibGUgc2lkZSBlZmZlY3RzIHRvIHRo
ZSB1c2VyIChpLmUuIGRvZXMgbm90IGNhbGwgcHJveGllcywKIC8vIGFuZCBnZXR0ZXJzKS4KLVN0
cmluZyBFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQorU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZE1lc3NhZ2VTdHJpbmco
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmpl
Y3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAg
IEludGVncml0eTo6YXVkaXRTdHJ1Y3R1cmVJRCh2bSwgc3RydWN0dXJlSUQoKSk7CisKKyAgICBK
U1ZhbHVlIG1lc3NhZ2VWYWx1ZTsKKyAgICBhdXRvIG1lc3NhZ2VQcm9wZXJ0TmFtZSA9IHZtLnBy
b3BlcnR5TmFtZXMtPm1lc3NhZ2U7CisgICAgUHJvcGVydHlTbG90IG1lc3NhZ2VTbG90KHRoaXMs
IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnksICZ2bSk7CisgICAg
aWYgKEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZ2xvYmFsT2JqZWN0LCBtZXNz
YWdlUHJvcGVydE5hbWUsIG1lc3NhZ2VTbG90KSAmJiBtZXNzYWdlU2xvdC5pc1ZhbHVlKCkpCisg
ICAgICAgIG1lc3NhZ2VWYWx1ZSA9IG1lc3NhZ2VTbG90LmdldFZhbHVlKGdsb2JhbE9iamVjdCwg
bWVzc2FnZVByb3BlcnROYW1lKTsKKyAgICBzY29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOworCisg
ICAgaWYgKCFtZXNzYWdlVmFsdWUpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBSRUxF
QVNFX0FORF9SRVRVUk4oc2NvcGUsIG1lc3NhZ2VWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmpl
Y3QpKTsKK30KKworU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZE5hbWVTdHJpbmcoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qt
PnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtMTU3
LDI4ICsxODAsMjIgQEAgU3RyaW5nIEVycm9ySW5zdGFuY2U6OnNhbml0aXplZFRvU3RyaW5nKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgfQogICAgIHNjb3BlLmFzc2VydE5vRXhj
ZXB0aW9uKCk7CiAKLSAgICBTdHJpbmcgbmFtZVN0cmluZzsKICAgICBpZiAoIW5hbWVWYWx1ZSkK
LSAgICAgICAgbmFtZVN0cmluZyA9ICJFcnJvciJfczsKLSAgICBlbHNlIHsKLSAgICAgICAgbmFt
ZVN0cmluZyA9IG5hbWVWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpOwotICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7Ci0gICAgfQorICAgICAgICByZXR1
cm4gIkVycm9yIl9zOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbmFtZVZhbHVlLnRv
V1RGU3RyaW5nKGdsb2JhbE9iamVjdCkpOworfQogCi0gICAgSlNWYWx1ZSBtZXNzYWdlVmFsdWU7
Ci0gICAgYXV0byBtZXNzYWdlUHJvcGVydE5hbWUgPSB2bS5wcm9wZXJ0eU5hbWVzLT5tZXNzYWdl
OwotICAgIFByb3BlcnR5U2xvdCBtZXNzYWdlU2xvdCh0aGlzLCBQcm9wZXJ0eVNsb3Q6OkludGVy
bmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5LCAmdm0pOwotICAgIGlmIChKU09iamVjdDo6Z2V0T3du
UHJvcGVydHlTbG90KHRoaXMsIGdsb2JhbE9iamVjdCwgbWVzc2FnZVByb3BlcnROYW1lLCBtZXNz
YWdlU2xvdCkgJiYgbWVzc2FnZVNsb3QuaXNWYWx1ZSgpKQotICAgICAgICBtZXNzYWdlVmFsdWUg
PSBtZXNzYWdlU2xvdC5nZXRWYWx1ZShnbG9iYWxPYmplY3QsIG1lc3NhZ2VQcm9wZXJ0TmFtZSk7
Ci0gICAgc2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKK1N0cmluZyBFcnJvckluc3RhbmNlOjpz
YW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIFZN
JiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CisgICAgSW50ZWdyaXR5OjphdWRpdFN0cnVjdHVyZUlEKHZtLCBzdHJ1Y3R1
cmVJRCgpKTsKIAotICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nOwotICAgIGlmICghbWVzc2FnZVZh
bHVlKQotICAgICAgICBtZXNzYWdlU3RyaW5nID0gU3RyaW5nKCk7Ci0gICAgZWxzZSB7Ci0gICAg
ICAgIG1lc3NhZ2VTdHJpbmcgPSBtZXNzYWdlVmFsdWUudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0
KTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOwotICAgIH0K
KyAgICBTdHJpbmcgbmFtZVN0cmluZyA9IHNhbml0aXplZE5hbWVTdHJpbmcoZ2xvYmFsT2JqZWN0
KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7CisKKyAgICBTdHJp
bmcgbWVzc2FnZVN0cmluZyA9IHNhbml0aXplZE1lc3NhZ2VTdHJpbmcoZ2xvYmFsT2JqZWN0KTsK
KyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7CiAKICAgICBpZiAoIW5h
bWVTdHJpbmcubGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBtZXNzYWdlU3RyaW5nOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCmluZGV4IGRhNjZlYjc2
ZTdhZGU5MGZkNDFiYjE2MjcwNzI1YTdkMTQ3MGFkMzguLjk4NzEzNTcyMWIzMDU2NjIzMGQyNjFj
ODMzYWQ4ZGVjYTU0NjE0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Vycm9ySW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvckluc3RhbmNlLmgKQEAgLTIwLDYgKzIwLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNs
dWRlICJFcnJvclR5cGUuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgogI2luY2x1ZGUgIlJ1bnRp
bWVUeXBlLmgiCiAjaW5jbHVkZSAiU3RhY2tGcmFtZS5oIgpAQCAtNTMsMTQgKzU0LDE0IEBAIGNs
YXNzIEVycm9ySW5zdGFuY2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgICAgIHJl
dHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJ
bmZvKEVycm9ySW5zdGFuY2VUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQog
Ci0gICAgc3RhdGljIEVycm9ySW5zdGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIFNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9
IFR5cGVOb3RoaW5nLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWUpCisgICAgc3RhdGljIEVy
cm9ySW5zdGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFNvdXJjZUFwcGVu
ZGVyIGFwcGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVOb3RoaW5nLCBF
cnJvclR5cGUgZXJyb3JUeXBlID0gRXJyb3JUeXBlOjpFcnJvciwgYm9vbCB1c2VDdXJyZW50RnJh
bWUgPSB0cnVlKQogICAgIHsKLSAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcg
KE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJbnN0
YW5jZSh2bSwgc3RydWN0dXJlKTsKKyAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJ
bnN0YW5jZSh2bSwgc3RydWN0dXJlLCBlcnJvclR5cGUpOwogICAgICAgICBpbnN0YW5jZS0+Zmlu
aXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWVzc2FnZSwgYXBwZW5kZXIsIHR5cGUsIHVz
ZUN1cnJlbnRGcmFtZSk7CiAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICB9CiAKLSAgICBz
dGF0aWMgRXJyb3JJbnN0YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwg
SlNWYWx1ZSBtZXNzYWdlLCBTb3VyY2VBcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlID0g
VHlwZU5vdGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSk7CisgICAgc3RhdGljIEVy
cm9ySW5zdGFuY2UqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTVmFsdWUg
bWVzc2FnZSwgU291cmNlQXBwZW5kZXIgPSBudWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVOb3Ro
aW5nLCBFcnJvclR5cGUgPSBFcnJvclR5cGU6OkVycm9yLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9
IHRydWUpOwogCiAgICAgYm9vbCBoYXNTb3VyY2VBcHBlbmRlcigpIGNvbnN0IHsgcmV0dXJuICEh
bV9zb3VyY2VBcHBlbmRlcjsgfQogICAgIFNvdXJjZUFwcGVuZGVyIHNvdXJjZUFwcGVuZGVyKCkg
Y29uc3QgeyByZXR1cm4gbV9zb3VyY2VBcHBlbmRlcjsgfQpAQCAtNzAsNiArNzEsNyBAQCBjbGFz
cyBFcnJvckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIFJ1bnRpbWVU
eXBlIHJ1bnRpbWVUeXBlRm9yQ2F1c2UoKSBjb25zdCB7IHJldHVybiBtX3J1bnRpbWVUeXBlRm9y
Q2F1c2U7IH0KICAgICB2b2lkIGNsZWFyUnVudGltZVR5cGVGb3JDYXVzZSgpIHsgbV9ydW50aW1l
VHlwZUZvckNhdXNlID0gVHlwZU5vdGhpbmc7IH0KIAorICAgIEVycm9yVHlwZSBlcnJvclR5cGUo
KSBjb25zdCB7IHJldHVybiBtX2Vycm9yVHlwZTsgfQogICAgIHZvaWQgc2V0U3RhY2tPdmVyZmxv
d0Vycm9yKCkgeyBtX3N0YWNrT3ZlcmZsb3dFcnJvciA9IHRydWU7IH0KICAgICBib29sIGlzU3Rh
Y2tPdmVyZmxvd0Vycm9yKCkgY29uc3QgeyByZXR1cm4gbV9zdGFja092ZXJmbG93RXJyb3I7IH0K
ICAgICB2b2lkIHNldE91dE9mTWVtb3J5RXJyb3IoKSB7IG1fb3V0T2ZNZW1vcnlFcnJvciA9IHRy
dWU7IH0KQEAgLTc5LDYgKzgxLDggQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKICAgICBib29sIGlzTmF0aXZlR2V0dGVyVHlwZUVycm9yKCkgY29uc3Qg
eyByZXR1cm4gbV9uYXRpdmVHZXR0ZXJUeXBlRXJyb3I7IH0KIAogICAgIEpTX0VYUE9SVF9QUklW
QVRFIFN0cmluZyBzYW5pdGl6ZWRUb1N0cmluZyhKU0dsb2JhbE9iamVjdCopOworICAgIEpTX0VY
UE9SVF9QUklWQVRFIFN0cmluZyBzYW5pdGl6ZWRNZXNzYWdlU3RyaW5nKEpTR2xvYmFsT2JqZWN0
Kik7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIHNhbml0aXplZE5hbWVTdHJpbmcoSlNH
bG9iYWxPYmplY3QqKTsKICAgICAKICAgICBWZWN0b3I8U3RhY2tGcmFtZT4qIHN0YWNrVHJhY2Uo
KSB7IHJldHVybiBtX3N0YWNrVHJhY2UuZ2V0KCk7IH0KIApAQCAtODgsNyArOTIsNyBAQCBjbGFz
cyBFcnJvckluc3RhbmNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIHZvaWQgZmlu
YWxpemVVbmNvbmRpdGlvbmFsbHkoVk0mKTsKIAogcHJvdGVjdGVkOgotICAgIGV4cGxpY2l0IEVy
cm9ySW5zdGFuY2UoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICBleHBsaWNpdCBFcnJvckluc3RhbmNl
KFZNJiwgU3RydWN0dXJlKiwgRXJyb3JUeXBlKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYsIFNvdXJjZUFwcGVuZGVyID0gbnVs
bHB0ciwgUnVudGltZVR5cGUgPSBUeXBlTm90aGluZywgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0
cnVlKTsKIApAQCAtMTA4LDEwICsxMTIsMTEgQEAgY2xhc3MgRXJyb3JJbnN0YW5jZSA6IHB1Ymxp
YyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICBTdHJpbmcgbV9zb3VyY2VVUkw7CiAgICAgU3RyaW5n
IG1fc3RhY2tTdHJpbmc7CiAgICAgUnVudGltZVR5cGUgbV9ydW50aW1lVHlwZUZvckNhdXNlIHsg
VHlwZU5vdGhpbmcgfTsKLSAgICBib29sIG1fc3RhY2tPdmVyZmxvd0Vycm9yIHsgZmFsc2UgfTsK
LSAgICBib29sIG1fb3V0T2ZNZW1vcnlFcnJvciB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2Vycm9y
SW5mb01hdGVyaWFsaXplZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX25hdGl2ZUdldHRlclR5cGVF
cnJvciB7IGZhbHNlIH07CisgICAgRXJyb3JUeXBlIG1fZXJyb3JUeXBlIHsgRXJyb3JUeXBlOjpF
cnJvciB9OworICAgIGJvb2wgbV9zdGFja092ZXJmbG93RXJyb3IgOiAxOworICAgIGJvb2wgbV9v
dXRPZk1lbW9yeUVycm9yIDogMTsKKyAgICBib29sIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkIDog
MTsKKyAgICBib29sIG1fbmF0aXZlR2V0dGVyVHlwZUVycm9yIDogMTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCmluZGV4IDU5MTg0OTBlM2UwZWEyMDkyNjlkOGEy
MzFjMDM1NDFlNTRkODYwZDEuLjA2OWNmNzEzYTU5MmEwY2JiMTFmZDNiOWM3YTEzZDk2MTgzZmIw
ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKQEAgLTY5NSw3ICs2OTUsNyBAQCBKU0NfREVGSU5FX0hP
U1RfRlVOQ1RJT04oZ2xvYmFsRnVuY1Rocm93VHlwZUVycm9yQXJndW1lbnRzQ2FsbGVlQW5kQ2Fs
bGVyLCAoSlNHbAogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNNYWtlVHlwZUVy
cm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUp
KQogewogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmVycm9y
U3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBj
YWxsRnJhbWUtPmFyZ3VtZW50KDApLCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIGVycm9yU3RydWN0dXJlLCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApLCBudWxscHRyLCBUeXBl
Tm90aGluZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIGZhbHNlKSk7CiB9CiAKIEpTQ19ERUZJTkVf
SE9TVF9GVU5DVElPTihnbG9iYWxGdW5jUHJvdG9HZXR0ZXIsIChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDdj
YzExYjVmNWUxMjk3MjIwMTZiODY3MWYxMzdjNmJiMTcyMTM4NDAuLmI2ZTdlZGVmZDQyZWRjNjM1
ZDkwYjdlMGU4YzdiNGZjMGMyNDNkMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC01OCw3ICs1OCw3
IEBAIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlw
ZT46OmNvbnN0cnVjdEltcGwoSlNHbG9iYWxPCiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgeyB9KTsKICAgICBBU1NFUlQoZXJyb3JTdHJ1Y3R1cmUpOwogCi0gICAgUkVMRUFTRV9BTkRf
UkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2Jh
bE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBm
YWxzZSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShF
cnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2Fn
ZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGVycm9yVHlwZSwgZmFsc2UpKSk7CiB9CiAKIHRlbXBs
YXRlPEVycm9yVHlwZSBlcnJvclR5cGU+CkBAIC02Niw3ICs2Niw3IEBAIGlubGluZSBFbmNvZGVk
SlNWYWx1ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNhbGxJbXBsKEpTR2xv
YmFsT2JqZWN0CiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgw
KTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0
cnVjdHVyZShlcnJvclR5cGUpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0
YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG51bGxw
dHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJy
b3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2Us
IG51bGxwdHIsIFR5cGVOb3RoaW5nLCBlcnJvclR5cGUsIGZhbHNlKSk7CiB9CiAKIEpTQ19ERUZJ
TkVfSE9TVF9GVU5DVElPTihjYWxsRXZhbEVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5jcHAKaW5kZXggMjZmM2I2YThmOWRiNjc4
Y2Q5NGQwNWFlODhiMTFiODllNjFjMGViYy4uMGRkYjJjNmE1MGY0NmJjNjM2OTk1Y2E0NmQ3ZjE4
ZTViMjY4NjNlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVs
bFNldHRlckZ1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dWxsU2V0dGVyRnVuY3Rpb24uY3BwCkBAIC05NCw3ICs5NCw3IEBAIEpTQ19ERUZJTkVfSE9TVF9G
VU5DVElPTihjYWxsVGhyb3dFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENh
bGxGcmFtCiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIC8v
IFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgZnJvbSBJQy4gQW5kIHdlIGRvIG5vdCB3YW50
IHRvIGluY2x1ZGUgdGhpcyBmcmFtZSBpbiBFcnJvcidzIHN0YWNrLgogICAgIGNvbnN0ZXhwciBi
b29sIHVzZUN1cnJlbnRGcmFtZSA9IGZhbHNlOwotICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9i
amVjdCwgc2NvcGUsIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBnbG9i
YWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6VHlwZUVycm9yKSwgUmVhZG9ubHlQ
cm9wZXJ0eVdyaXRlRXJyb3IsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCB1c2VDdXJyZW50RnJhbWUp
KTsKKyAgICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlLCBFcnJvckluc3RhbmNl
OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShF
cnJvclR5cGU6OlR5cGVFcnJvciksIFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yLCBudWxscHRy
LCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpUeXBlRXJyb3IsIHVzZUN1cnJlbnRGcmFtZSkpOwog
ICAgIHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKaW5kZXggMzgzNzNhNzYw
ZDU5ZDBlZWRiNDk0ZGI4OGQ4NTI0ZmFiOWE1MTU0ZS4uOWViZDNkNDQ2YTlkYTlhZDE5ZDdiYTQx
OTkwMDYzZmM1YTYzMjhmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAKQEAgLTQxLDcgKzQxLDcg
QEAgSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvciogSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6
Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG8KIH0KIAogSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJv
cjo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
KQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBF
cnJvclR5cGU6OkVycm9yKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCmluZGV4IGVhZGUwMzQxM2U0
Y2UzNjBiYTA4OWY4YzUzZDE4Y2Y4ZDZkNzAyMzUuLjliMjAwNThlY2YzNGFmOTFiNmIxOGQxNWY2
NTE1Nzg1YzIxNzJlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEpTV2Vi
QXNzZW1ibHlMaW5rRXJyb3IqIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OmNyZWF0ZShKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqCiB9CiAKIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OkpTV2ViQXNz
ZW1ibHlMaW5rRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uo
dm0sIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJv
cikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmNwcAppbmRleCBiZTFmOTI4NjAzMDQ1ZDdjZjcy
OTMyNGVlNGE3N2FlODNmY2U5Y2JlLi4xOTMzYTZlMzg4OGZiZWFjY2YwN2FjMmIzN2M3NDUwNDg0
ZmE1MWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5UnVudGltZUVycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmNwcApAQCAtNDEsNyArNDEsNyBAQCBKU1dlYkFz
c2VtYmx5UnVudGltZUVycm9yKiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpjcmVhdGUoSlNH
bG9iYWxPYmplY3QqIGdsbwogfQogCiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpKU1dlYkFz
c2VtYmx5UnVudGltZUVycm9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBC
YXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6
RXJyb3IpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggNWNkMDAzNWEwMWZkYjc4ZGRjMzVmYzQ3YjZiODU4MGJlNDVkMzU5Ny4uYzNhMGQzOTdmNTA0
ZTI1OGYxZDcwZjhiNDgyYjc5YTFkOWU3MjY2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JD
b25zdHJ1Y3Rvci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9O
KGNhbGxKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE8K
IHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIFN0
cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5Q29tcGls
ZUVycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3Rh
bmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0
ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJv
ckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwg
bnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdl
YkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9y
Q29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3Nl
bWJseUNvbXBpbGVFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJy
b3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOTQ2ZGVmNGYxMTUyMjlhMjI1YmU5MzJhYzllNjQzNWI2
YzhhYjJhOS4uMmM1ZjZhMjkzMWYxNTIxNTg1YWFhOTM1ZTU2YjRiZDJmMTljMTZiMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNz
ZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5TGlua0Vycm9yLCAoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamUKIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3Vt
ZW50KDApOwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndl
YkFzc2VtYmx5TGlua0Vycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVz
c2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVy
ZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNl
KSk7CiB9CiAKIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5TGlu
a0Vycm9yQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBX
ZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlS
dW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2RmZDkxNTY3YjYwYTU4ZGQ5YWE2ODQy
ZmY2NzkwMjFmNWNiOTI1Mi4uYTg1NjY5YzUxOGIxZTlhYTY4Yzk1YWQwNTY2ZWJmZDZmYzNkZmE4
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlS
dW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTY3LDcgKzY3
LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5UnVudGltZUVy
cm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBj
YWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBn
bG9iYWxPYmplY3QtPndlYkFzc2VtYmx5UnVudGltZUVycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBl
cnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIGZhbHNlKSk7Cisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2Jq
ZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9y
VHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3Ry
dWN0b3IqIFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZSog
dGhpc1Byb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDdhZDgxZDk3YTlkZmFiOGVkZWEx
ZWUwMmRjOGVkMjQzODI5MWU1ZDQuLmZhYTczNzRkMTc0YTAzNGFiNzMzNWM3YjVlZGZjY2Q5OTRl
ODdhYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMzAsNiArMzAsNyBAQCBzZXQoV2ViQ29yZV9Q
UklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNv
bnN1bWVyLmgKICAgICBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keVNvdXJjZS5oCisgICAgTW9kdWxl
cy9mZXRjaC9GZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRj
aEhlYWRlcnMuaAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hJZGVudGlmaWVyLmgKICAgICBNb2R1
bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmgKQEAgLTI4OCw2ICsyODksNyBAQCBzZXQoV2ViQ29yZV9Q
UklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgYmluZGluZ3MvanMvV2ViQ29yZUpJVE9wZXJh
dGlvbnMuaAogICAgIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oCiAg
ICAgYmluZGluZ3MvanMvV2luZG93UHJveHkuaAorICAgIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlw
dEZldGNoZXIuaAogCiAgICAgYnJpZGdlL0JyaWRnZS5oCiAgICAgYnJpZGdlL0lkZW50aWZpZXJS
ZXAuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1dv
cmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b1dvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IGQ0MWI3MDhmMjljOGY3NTU2OTE2Zjc4MTMwZjY2
NDMzY2ZlNzEzM2QuLjAwMjE5ZjJkMDI5MTgzMDkxMzQ0NTg0MWEwYTRjNzAxYWRkMzc1MjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0R2xv
YmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29y
a2xldEdsb2JhbFNjb3BlLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgSlNBdWRpb1dvcmtsZXRQ
cm9jZXNzb3JDb25zdHJ1Y3RvcjsKIAogc3RydWN0IFdvcmtsZXRQYXJhbWV0ZXJzOwogCi1jbGFz
cyBBdWRpb1dvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrbGV0R2xvYmFsU2NvcGUgewor
Y2xhc3MgQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUgZmluYWwgOiBwdWJsaWMgV29ya2xldEdsb2Jh
bFNjb3BlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEF1ZGlvV29ya2xldEdsb2JhbFNj
b3BlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPEF1ZGlvV29ya2xldEdsb2JhbFNjb3Bl
PiB0cnlDcmVhdGUoQXVkaW9Xb3JrbGV0VGhyZWFkJiwgY29uc3QgV29ya2xldFBhcmFtZXRlcnMm
KTsKQEAgLTY5LDYgKzY5LDggQEAgY2xhc3MgQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJs
aWMgV29ya2xldEdsb2JhbFNjb3BlIHsKICAgICB2b2lkIGhhbmRsZVByZVJlbmRlclRhc2tzKCk7
CiAgICAgdm9pZCBoYW5kbGVQb3N0UmVuZGVyVGFza3Moc2l6ZV90IGN1cnJlbnRGcmFtZSk7CiAK
KyAgICBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6QXVkaW93b3JrbGV0OyB9CisKIHBy
aXZhdGU6CiAgICAgQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUoQXVkaW9Xb3JrbGV0VGhyZWFkJiwg
UmVmPEpTQzo6Vk0+JiYsIGNvbnN0IFdvcmtsZXRQYXJhbWV0ZXJzJik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
aW5kZXggYzM1YzA2ZjAzMDY3ZjFkYzAyYjU0NTY5NzUzYTQ5NzUwN2E5ZDUyZS4uOTc5NzRiYzY4
OTM3MjJiNmNkY2I4MmYzMzUyODYxMWYxMmRjODgzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTYzOSw2
ICs2MzksNyBAQCBiaW5kaW5ncy9qcy9TdHJ1Y3R1cmVkQ2xvbmUuY3BwCiBiaW5kaW5ncy9qcy9X
ZWJDb3JlSklUT3BlcmF0aW9ucy5jcHAKIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEu
Y3BwCiBiaW5kaW5ncy9qcy9XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwCitiaW5kaW5n
cy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCiBiaW5kaW5ncy9qcy9XaW5kb3dQcm94
eS5jcHAKIGJpbmRpbmdzL2pzL1dyaXRhYmxlU3RyZWFtLmNwcAogYnJpZGdlL0lkZW50aWZpZXJS
ZXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggNTUwY2RiNmJhMzU2MzczOTRhZWNlMzY3YmJhZTI2MDkxYTg0YzdjOC4uMzk5
N2Y3NjE3NWMwZTJiMzA2YWEwZjY4NWM5MDJiYzg2YWE4NDJiOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTA3OCwxNSArNTA3
OCwxOCBAQAogCQlFMzA1OTI2NDFFMjdBM0FEMDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1Njcmlw
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTky
NjIxRTI3QTM4QzAwRDU3Qzk4IC8qIElubGluZUNsYXNzaWNTY3JpcHQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzA1OTI2ODFFMjdBM0QxMDBE
NTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwNTkyNjYxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hlZFNj
cmlwdEZldGNoZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlFMzA3REVEMDFEODFFNEM3MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzA3
REVDNzFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRTMwN0RFRDExRDgx
RTRDQjAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RFQzgxRDgxRTQ0ODAw
MTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMDdERUQ1MUQ4MUU0RjIwMDE0
MUNBRiAvKiBMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwN0RFRDMxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxl
TW9kdWxlU2NyaXB0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTMxNTBFQTcxREE3MjE5MzAwMTk0MDEyIC8qIERPTUpJVEhlbHBlcnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMTUwRUE1MURBNzIx
OEQwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJzLmggKi87IH07CiAJCUUzMjAxQzFBMUY4RTgyMTMw
MDc2QTAzMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOEQwNjA5MUY4RTgxMTkwMDY0OUNGMiAvKiBNb2R1
bGVGZXRjaFBhcmFtZXRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlFMzIzQ0ZGQTFFNUFGNkFGMDBGMEI0QTAgLyogSlNET01Db252ZXJ0UHJv
bWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMy
M0NGRjkxRTVBRjZBNTAwRjBCNEEwIC8qIEpTRE9NQ29udmVydFByb21pc2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzQzMkRFNDI1RDM3N0Uz
MDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyog
V29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IH07CisJCUUzNDdFNUZBMjVENEYwMDAwMEYx
N0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2Ny
aXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNTE4
OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU2NUI3QjFEQzJE
NkM5MDAyMTdEQkQgLyogSlNFdmVudEN1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZlbnRD
dXN0b20uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODAyQjUxREM4NDM1
ODAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzU4MkMyODI1MjdGNjY5MDBEMUI3OTAgLyog
V2ViQ29yZUpJVE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNTgyQzI2MjUyN0Y2NjgwMEQxQjc5MCAvKiBXZWJDb3JlSklUT3BlcmF0
aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzNUI5MDdGMjNGNjBBNTAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1QjkwN0MyM0Y2MDY3
NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM2NDMyMUMyNUQzN0E2NzAwRjkwRTJBIC8q
IE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUz
NzdGRTREMURBREUxNjUwMENERDAyNSAvKiBOb2RlQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QwNDk5MzFEQURDMDQ1MDA3MThGM0Mg
LyogTm9kZUNvbnN0YW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzN0M4NjRGMUVC
NjNFMkQwMDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzk2MjhCRjIzOTU3MjhGMDA2NThFQ0QgLyogRGV2
aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNEIC8qIERldmljZU9y
aWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtMTYyMjEsNyArMTYyMjQsNiBAQAogCQlFMzA1OTI2NjFFMjdB
M0M2MDBENTdDOTggLyogQ2FjaGVkU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDYWNoZWRTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUzMDdERUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RF
QzcxRDgxRTQ0ODAwMTQxQ0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTMwN0RFQzgxRDgxRTQ0ODAwMTQxQ0FGIC8qIENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTMwN0RFRDIxRDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxl
U2NyaXB0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvYWRhYmxl
TW9kdWxlU2NyaXB0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMwN0RFRDMx
RDgxRTRFRDAwMTQxQ0FGIC8qIExvYWRhYmxlTW9kdWxlU2NyaXB0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IExvYWRhYmxlTW9kdWxlU2NyaXB0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzMTUwRUE1MURBNzIxOEQwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEhlbHBlcnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MjM0LDEyICsxNjIzNiwxNyBAQAogCQlFMzI5
Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyogVHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTMyOTI3NjYyMjU0M0ZERTAwMzA4QTlBIC8qIERPTVJlY3RSZWFkT25seS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBET01SZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMzM0ODI1RTFEQzkzQUEwMDA5Qzk1NDQgLyogRE9NSklUQWJzdHJhY3RI
ZWFwUmVwb3NpdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBET01KSVRB
YnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0RP
TUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RT
X0RJUjsgfTsKKwkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlw
dExvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJNb2R1bGVT
Y3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM0MzJERTMyNUQz
NzdFMzAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMgLyog
V29ya2VyU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
b3JrZXJTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNEVF
NDlGMURDMkQ1NzUwMEVBQTlEMyAvKiBKU0V2ZW50Q3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTRXZlbnRDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRTM1MTg4QjMyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1ODAyQjUxREM4NDM1ODAw
QTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NSklUSURMVHlwZUZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMzU4MkMyNDI1MjdGNjY4MDBEMUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZUpJVE9wZXJhdGlv
bnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU4MkMyNjI1MjdGNjY4MDBE
MUI3OTAgLyogV2ViQ29yZUpJVE9wZXJhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViQ29yZUpJVE9wZXJhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTM1QjkwN0MyM0Y2MDY3NzAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsaXplZERldmljZU1vZGVsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUI5MDdFMjNGNjA2NzcwMDAwMTFGRiAv
KiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IExvY2FsaXplZERldmljZU1vZGVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlFMzY0MzIxQTI1RDM3QTY2MDBGOTBFMkEgLyogTW9kdWxlU2NyaXB0TG9hZGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZVNjcmlwdExvYWRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzdDODY0RjFFQjYzRTJEMDA4N0M2Q0EgLyog
SlNET01Qcm9taXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUHJv
bWlzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4Mzg5NDFCQUQxNDVGMDBE
NjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0TW9kdWxlTG9hZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzA0OCw3ICsyNzA1NSw2IEBACiAJCQkJ
MkRGQTQ4OEUxREI1NDFDMjAwMzYyQjk5IC8qIEJ1ZmZlclNvdXJjZS5oICovLAogCQkJCUUzMDdE
RUM2MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwICovLAog
CQkJCUUzMDdERUM3MUQ4MUU0NDgwMDE0MUNBRiAvKiBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIu
aCAqLywKLQkJCQlFMzA3REVDODFEODFFNDQ4MDAxNDFDQUYgLyogQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmggKi8sCiAJCQkJRTMwNTkyNjUxRTI3QTNDNjAwRDU3Qzk4IC8qIENhY2hl
ZFNjcmlwdEZldGNoZXIuY3BwICovLAogCQkJCUUzMDU5MjY2MUUyN0EzQzYwMEQ1N0M5OCAvKiBD
YWNoZWRTY3JpcHRGZXRjaGVyLmggKi8sCiAJCQkJQkNENTMzNjMwRUQ2ODQ4OTAwODg3NDY4IC8q
IENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggKi8sCkBAIC0yNzEyMiw2ICsyNzEyOCw4IEBA
CiAJCQkJNEJERUEzMkQyMTgwMzQwNTAwNTJERkNEIC8qIEpTV29ya2xldEdsb2JhbFNjb3BlQmFz
ZS5jcHAgKi8sCiAJCQkJNEJERUEzMkIyMTgwMzNFQjAwNTJERkNEIC8qIEpTV29ya2xldEdsb2Jh
bFNjb3BlQmFzZS5oICovLAogCQkJCTcwOUEwMUZEMUUzRDBCQ0MwMDZCMEQ0QyAvKiBNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kLmggKi8sCisJCQkJRTM2NDMyMUEyNUQzN0E2NjAwRjkwRTJBIC8qIE1v
ZHVsZVNjcmlwdExvYWRlci5oICovLAorCQkJCUUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCAqLywKIAkJCQk0MUI0NTlFRDFGNTVFQkM3MDAwMEY2
RkQgLyogUmVhZGFibGVTdHJlYW0uY3BwICovLAogCQkJCTQxQjQ1OURBMUY0Q0FEQjkwMDAwRjZG
RCAvKiBSZWFkYWJsZVN0cmVhbS5oICovLAogCQkJCTQxOEMzOTVFMUM4RjBBQUIwMDUxQzhBMyAv
KiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcCAqLywKQEAgLTI3MTUzLDYgKzI3
MTYxLDkgQEAKIAkJCQkwRjA5OUQwNzE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5cGVkQXJy
YXlDb250cm9sbGVyLmggKi8sCiAJCQkJNDYzNTIxQUMyMDgxMDkwRTAwQzI4OTIyIC8qIFdpbmRv
d1Byb3h5LmNwcCAqLywKIAkJCQk0NjM1MjFBQTIwODEwOTBCMDBDMjg5MjIgLyogV2luZG93UHJv
eHkuaCAqLywKKwkJCQlFMzQzMkRFMzI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2Ny
aXB0TG9hZGVyLmNwcCAqLywKKwkJCQlFMzQzMkRFMDI1RDM3N0UyMDA1OEU2MTIgLyogV29ya2Vy
TW9kdWxlU2NyaXB0TG9hZGVyLmggKi8sCisJCQkJRTM0N0U1RjgyNUQ0RjAwMDAwRjE3QTVDIC8q
IFdvcmtlclNjcmlwdEZldGNoZXIuaCAqLywKIAkJCQk0MTQxOEEwMzI1NjQzRTEyMDAzNjM0MTcg
LyogV3JpdGFibGVTdHJlYW0uY3BwICovLAogCQkJCTQxNDE4QTA0MjU2NDNFMTMwMDM2MzQxNyAv
KiBXcml0YWJsZVN0cmVhbS5oICovLAogCQkJKTsKQEAgLTMxNDM1LDcgKzMxNDQ2LDYgQEAKIAkJ
CQlCQ0IxNkMxQzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkSW1hZ2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTMxOUZCRDVGMTVEMkY0NjQwMDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTMwN0RFRDAxRDgxRTRDNzAwMTQxQ0FGIC8qIENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTMwN0RFRDExRDgxRTRDQjAwMTQx
Q0FGIC8qIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTEwMTg0NjkwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCUQwRURBNzc1MTQzRTMwM0MwMDI4RTM4MyAvKiBDYWNoZWRSYXdSZXNvdXJjZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFCNTMzNDkxNzE3REVFMzAwRjIwNUY5IC8qIENhY2hlZFJhd1Jl
c291cmNlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMzOTEzLDYgKzMzOTIzLDggQEAKIAkJ
CQlDNkQ3NEFENTA5QUEyODJFMDAwQjBBNTIgLyogTW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3MDlBMDFGRTFFM0QwQkREMDA2QjBENEMgLyogTW9kdWxlRmV0
Y2hGYWlsdXJlS2luZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTMyMDFDMUExRjhFODIxMzAwNzZB
MDMyIC8qIE1vZHVsZUZldGNoUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM2NDMy
MUMyNUQzN0E2NzAwRjkwRTJBIC8qIE1vZHVsZVNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRTM1MTg4QjQyNUQzODdDRjAwQTc3QUYzIC8qIE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQzYxMjUxRjEyRDAwM0VGMjY5IC8qIE1vbnRo
SW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzk2MjhDMTIzOTU3NDMxMDA2NThFQ0Qg
LyogTW90aW9uTWFuYWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDYwQTQ0
RUZDNzAwRjk5MkUwIC8qIE1vdXNlRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzU1NjYsNiAr
MzU1NzgsNyBAQAogCQkJCTE4RjgzMUI4MEZENDhDNzgwMEQ4QzU2QiAvKiBXb3JrZXJMb2FkZXJQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NEQwRjU0NkE4MjAwQjBGMUJBIC8qIFdv
cmtlckxvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1MDBGNTQ2QTgyMDBCMEYx
QkEgLyogV29ya2VyTWVzc2FnaW5nUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzNDMyREU0
MjVEMzc3RTMwMDU4RTYxMiAvKiBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxMjcxQTBCMEVFRUM3N0EwMEY2MTIxMyAvKiBXb3JrZXJOYXZpZ2F0b3IuaCBp
biBIZWFkZXJzICovLAogCQkJCUE1Q0IwNTI1MUZCNTFGM0EwMDA4OUI5NyAvKiBXb3JrZXJOZXR3
b3JrQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjUxMEY1NDZBODIwMEIwRjFCQSAv
KiBXb3JrZXJPYmplY3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTU3NSw2ICszNTU4OCw3
IEBACiAJCQkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5
LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1MzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2Vy
UnVuTG9vcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVCODFDQ0YxRkFBNDRERTAwMzdEMUU2IC8q
IFdvcmtlclJ1bnRpbWVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM0N0U1RkEyNUQ0RjAw
MDAwRjE3QTVDIC8qIFdvcmtlclNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3
RDZCMzQ5MEY2MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTJFQTc2ODA0MEZFNzEyNjQwMEFCOUM4QSAvKiBXb3JrZXJTY3JpcHRMb2FkZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjU1MEY1NDZBODIwMEIwRjFCQSAvKiBX
b3JrZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKaW5kZXggMzUyZGNjNGFj
Zjc1MTc2ZDk4YWQzNDEwYmUxNTE2MDgwMTA4ODUyNC4uMjc3ZjYyYTdjMTMzZmUxNTZjNmNjZTk4
NTUzNTUwZWRiMTM2ZDAwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC00MCwxNiArNDAsMTMgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZShDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGll
bnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVy
JiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRl
cnMpCitSZWY8Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyPiBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXI6OmNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9t
aXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8
TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMpCiB7CiAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0
RmV0Y2hlciwgV1RGTW92ZShwYXJhbWV0ZXJzKSkpOwogfQogCi1DYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI6OkNhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBDYWNoZWRTY3JpcHRGZXRj
aGVyJiBzY3JpcHRGZXRjaGVyLCBSZWZQdHI8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmIHBhcmFt
ZXRlcnMpCi0gICAgOiBtX2NsaWVudCgmY2xpZW50KQotICAgICwgbV9wcm9taXNlKCZwcm9taXNl
KQotICAgICwgbV9zY3JpcHRGZXRjaGVyKHNjcmlwdEZldGNoZXIpCi0gICAgLCBtX3BhcmFtZXRl
cnMoV1RGTW92ZShwYXJhbWV0ZXJzKSkKK0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Q2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyKE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBEZWZl
cnJlZFByb21pc2UmIHByb21pc2UsIENhY2hlZFNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIs
IFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICA6IE1vZHVs
ZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZldGNoZXIsIFdURk1vdmUocGFy
YW1ldGVycykpCiB7CiB9CiAKQEAgLTYxLDE0ICs1OCwxNSBAQCBDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXI6On5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoKQogICAgIH0KIH0KIAotYm9vbCBDYWNo
ZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwm
IHNvdXJjZVVSTCkKK2Jvb2wgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOjpsb2FkKERvY3VtZW50
JiBkb2N1bWVudCwgVVJMJiYgc291cmNlVVJMKQogeworICAgIEFTU0VSVChtX3Byb21pc2UpOwog
ICAgIEFTU0VSVCghbV9jYWNoZWRTY3JpcHQpOwogICAgIFN0cmluZyBpbnRlZ3JpdHkgPSBtX3Bh
cmFtZXRlcnMgPyBtX3BhcmFtZXRlcnMtPmludGVncml0eSgpIDogU3RyaW5nIHsgfTsKLSAgICBt
X2NhY2hlZFNjcmlwdCA9IG1fc2NyaXB0RmV0Y2hlci0+cmVxdWVzdE1vZHVsZVNjcmlwdChkb2N1
bWVudCwgc291cmNlVVJMLCBXVEZNb3ZlKGludGVncml0eSkpOworICAgIG1fY2FjaGVkU2NyaXB0
ID0gc2NyaXB0RmV0Y2hlcigpLnJlcXVlc3RNb2R1bGVTY3JpcHQoZG9jdW1lbnQsIHNvdXJjZVVS
TCwgV1RGTW92ZShpbnRlZ3JpdHkpKTsKICAgICBpZiAoIW1fY2FjaGVkU2NyaXB0KQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgbV9zb3VyY2VVUkwgPSBzb3VyY2VVUkw7CisgICAgbV9zb3Vy
Y2VVUkwgPSBXVEZNb3ZlKHNvdXJjZVVSTCk7CiAKICAgICAvLyBJZiB0aGUgY29udGVudCBpcyBh
bHJlYWR5IGNhY2hlZCwgdGhpcyBpbW1lZGlhdGVseSBjYWxscyBub3RpZnlGaW5pc2hlZC4KICAg
ICBtX2NhY2hlZFNjcmlwdC0+YWRkQ2xpZW50KCp0aGlzKTsKQEAgLTgzLDcgKzgxLDcgQEAgdm9p
ZCBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNl
JiByZXNvdXJjZSwgY29uc3QgTmUKIAogICAgIFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+
IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGll
bnQtPm5vdGlmeUZpbmlzaGVkKCp0aGlzLCBXVEZNb3ZlKG1fcHJvbWlzZSkpOworICAgICAgICBt
X2NsaWVudC0+bm90aWZ5RmluaXNoZWQoKnRoaXMsIFdURk1vdmUobV9zb3VyY2VVUkwpLCBtX3By
b21pc2UucmVsZWFzZU5vbk51bGwoKSk7CiAKICAgICAvLyBSZW1vdmUgdGhlIGNsaWVudCBhZnRl
ciBjYWxsaW5nIG5vdGlmeUZpbmlzaGVkIHRvIGtlZXAgdGhlIGRhdGEgYnVmZmVyIGluCiAgICAg
Ly8gQ2FjaGVkUmVzb3VyY2UgYWxpdmUgd2hpbGUgbm90aWZ5RmluaXNoZWQgcHJvY2Vzc2VzIHRo
ZSByZXNvdXJjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVk
TW9kdWxlU2NyaXB0TG9hZGVyLmgKaW5kZXggNDNhYmQ4NzViMjQzZmFmNWZjZDRkOThlYzNjNWQy
NGU3OTBiNTcyZS4uYTQ4NzU1ZjkzZDA1ZWYzNTNkMmIzZTIyOGQ4MjE5ZmU4OTFlNjc0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyLmgKQEAgLTI3LDYgKzI3LDggQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRlICJDYWNo
ZWRTY3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSAiTW9kdWxlU2NyaXB0TG9hZGVyLmgiCiAjaW5j
bHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgpAQCAtMzQsNDIgKzM2LDI5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworY2xhc3MgTW9kdWxlU2Ny
aXB0TG9hZGVyQ2xpZW50OwogY2xhc3MgQ2FjaGVkU2NyaXB0OwotY2xhc3MgQ2FjaGVkU2NyaXB0
RmV0Y2hlcjsKIGNsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERvY3VtZW50OwogY2xhc3Mg
SlNET01HbG9iYWxPYmplY3Q7CiBjbGFzcyBNb2R1bGVGZXRjaFBhcmFtZXRlcnM7CiAKLWNsYXNz
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlciBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlcj4sIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworY2xh
c3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyIGZpbmFsIDogcHVibGljIE1vZHVsZVNjcmlwdExv
YWRlciwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFJlZjxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShDYWNoZWRNb2R1bGVTY3JpcHRM
b2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVm
UHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisgICAgc3RhdGljIFJlZjxDYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZlcnJl
ZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1l
dGVycz4mJik7CiAKICAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIoKTsKIAot
ICAgIGJvb2wgbG9hZChEb2N1bWVudCYsIGNvbnN0IFVSTCYgc291cmNlVVJMKTsKKyAgICBib29s
IGxvYWQoRG9jdW1lbnQmLCBVUkwmJiBzb3VyY2VVUkwpOwogCi0gICAgQ2FjaGVkU2NyaXB0RmV0
Y2hlciYgc2NyaXB0RmV0Y2hlcigpIHsgcmV0dXJuIG1fc2NyaXB0RmV0Y2hlci5nZXQoKTsgfQog
ICAgIENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0KCkgeyByZXR1cm4gbV9jYWNoZWRTY3JpcHQu
Z2V0KCk7IH0KLSAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMoKSB7IHJldHVy
biBtX3BhcmFtZXRlcnMuZ2V0KCk7IH0KLSAgICBjb25zdCBVUkwmIHNvdXJjZVVSTCgpIGNvbnN0
IHsgcmV0dXJuIG1fc291cmNlVVJMOyB9Ci0KLSAgICB2b2lkIGNsZWFyQ2xpZW50KCkKLSAgICB7
Ci0gICAgICAgIEFTU0VSVChtX2NsaWVudCk7Ci0gICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsK
LSAgICB9CisgICAgQ2FjaGVkU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlcigpIHsgcmV0dXJu
IHN0YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXImPihNb2R1bGVTY3JpcHRMb2FkZXI6OnNj
cmlwdEZldGNoZXIoKSk7IH0KIAogcHJpdmF0ZToKLSAgICBDYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXIoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiwgRGVmZXJyZWRQcm9taXNlJiwgQ2Fj
aGVkU2NyaXB0RmV0Y2hlciYsIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYpOworICAg
IENhY2hlZE1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmLCBEZWZl
cnJlZFByb21pc2UmLCBDYWNoZWRTY3JpcHRGZXRjaGVyJiwgUmVmUHRyPE1vZHVsZUZldGNoUGFy
YW1ldGVycz4mJik7CiAKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiwg
Y29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikgZmluYWw7CiAKLSAgICBDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9OwotICAgIFJlZlB0cjxEZWZlcnJl
ZFByb21pc2U+IG1fcHJvbWlzZTsKLSAgICBSZWY8Q2FjaGVkU2NyaXB0RmV0Y2hlcj4gbV9zY3Jp
cHRGZXRjaGVyOwotICAgIFJlZlB0cjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVy
czsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IG1fY2FjaGVkU2NyaXB0
OwogICAgIFVSTCBtX3NvdXJjZVVSTDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Njg4YWQ5MGRhZTNlY2U5NDllYTA5YjFlZmVlNWRhMjZm
OTRjNzg2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5o
CisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NiBBcHBsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1jbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI7Ci1jbGFzcyBEZWZlcnJlZFByb21p
c2U7Ci0KLWNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7Ci1wdWJsaWM6Ci0g
ICAgdmlydHVhbCB+Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50KCkgPSBkZWZhdWx0Owot
Ci0gICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ciYsIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+KSA9IDA7Ci19OwotCi19CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwCmluZGV4IGE0MzM3
NTg2NWJiZjFlYzU5NzNiZjE3MmM5MWEzODUzMjM0ZTM3NGQuLmMwZmZhZGQ2ZjI1MjQyNmFiYTcy
MmE1MDg0NGU2MzU3MmY0ZDVlOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0NhY2hlZFNjcmlwdEZldGNoZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAi
Q3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmNwcAppbmRleCBkZjdmM2Q3NDZkNWUzMmFi
YWI1MTQ3NmM5ZGRhY2E2M2E0MzUxMzZjLi5lZWYyMTAzODg0OWZkODk4NDlhZmNlZDcwMzE4NWZm
ODk0YzQwYzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4
Y2VwdGlvbkhhbmRsaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUV4Y2VwdGlvbkhhbmRsaW5nLmNwcApAQCAtNTIsNiArNTIsMjUgQEAgdm9pZCByZXBvcnRFeGNl
cHRpb24oSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgZXhjZXB0
aW9uVmFsdWUKICAgICByZXBvcnRFeGNlcHRpb24obGV4aWNhbEdsb2JhbE9iamVjdCwgZXhjZXB0
aW9uLCBjYWNoZWRTY3JpcHQpOwogfQogCitTdHJpbmcgcmV0cmlldmVFcnJvck1lc3NhZ2VXaXRo
b3V0TmFtZShKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgVk0mIHZtLCBKU1Zh
bHVlIGV4Y2VwdGlvbiwgQ2F0Y2hTY29wZSYgY2F0Y2hTY29wZSkKK3sKKyAgICAvLyBGSVhNRTog
PGh0dHA6Ly93ZWJraXQub3JnL2IvMTE1MDg3PiBXZWIgSW5zcGVjdG9yOiBXZWJDb3JlOjpyZXBv
cnRFeGNlcHRpb24gc2hvdWxkIG5vdCBldmFsdWF0ZSBKYXZhU2NyaXB0IGhhbmRsaW5nIGV4Y2Vw
dGlvbnMKKyAgICAvLyBJZiB0aGlzIGlzIGEgY3VzdG9tIGV4Y2VwdGlvbiBvYmplY3QsIGNhbGwg
dG9TdHJpbmcgb24gaXQgdG8gdHJ5IGFuZCBnZXQgYSBuaWNlIHN0cmluZyByZXByZXNlbnRhdGlv
biBmb3IgdGhlIGV4Y2VwdGlvbi4KKyAgICBTdHJpbmcgZXJyb3JNZXNzYWdlOworICAgIGlmIChh
dXRvKiBlcnJvciA9IGpzRHluYW1pY0Nhc3Q8RXJyb3JJbnN0YW5jZSo+KHZtLCBleGNlcHRpb24p
KQorICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci0+c2FuaXRpemVkTWVzc2FnZVN0cmluZygm
bGV4aWNhbEdsb2JhbE9iamVjdCk7CisgICAgZWxzZSBpZiAoYXV0byogZXJyb3IgPSBqc0R5bmFt
aWNDYXN0PEpTRE9NRXhjZXB0aW9uKj4odm0sIGV4Y2VwdGlvbikpCisgICAgICAgIGVycm9yTWVz
c2FnZSA9IGVycm9yLT53cmFwcGVkKCkubWVzc2FnZSgpOworICAgIGVsc2UKKyAgICAgICAgZXJy
b3JNZXNzYWdlID0gZXhjZXB0aW9uLnRvV1RGU3RyaW5nKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsK
KworICAgIC8vIFdlIG5lZWQgdG8gY2xlYXIgYW55IG5ldyBleGNlcHRpb24gdGhhdCBtYXkgYmUg
dGhyb3duIGluIHRoZSB0b1N0cmluZygpIGNhbGwgYWJvdmUuCisgICAgLy8gcmVwb3J0RXhjZXB0
aW9uKCkgaXMgbm90IHN1cHBvc2VkIHRvIGJlIG1ha2luZyBuZXcgZXhjZXB0aW9ucy4KKyAgICBj
YXRjaFNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CisgICAgdm0uY2xlYXJMYXN0RXhjZXB0aW9uKCk7
CisgICAgcmV0dXJuIGVycm9yTWVzc2FnZTsKK30KKwogU3RyaW5nIHJldHJpZXZlRXJyb3JNZXNz
YWdlKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBWTSYgdm0sIEpTVmFsdWUg
ZXhjZXB0aW9uLCBDYXRjaFNjb3BlJiBjYXRjaFNjb3BlKQogewogICAgIC8vIEZJWE1FOiA8aHR0
cDovL3dlYmtpdC5vcmcvYi8xMTUwODc+IFdlYiBJbnNwZWN0b3I6IFdlYkNvcmU6OnJlcG9ydEV4
Y2VwdGlvbiBzaG91bGQgbm90IGV2YWx1YXRlIEphdmFTY3JpcHQgaGFuZGxpbmcgZXhjZXB0aW9u
cwpAQCAtMTIxLDM2ICsxNDAsNDUgQEAgdm9pZCByZXBvcnRDdXJyZW50RXhjZXB0aW9uKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIGNyZWF0ZURPTUV4Y2Vw
dGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRXhjZXB0aW9uQ29kZSBl
YywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIGlmIChlYyA9PSBFeGlzdGluZ0V4Y2Vw
dGlvbkVycm9yKQorICAgIHN3aXRjaCAoZWMpIHsKKyAgICBjYXNlIEV4aXN0aW5nRXhjZXB0aW9u
RXJyb3I6CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogCiAgICAgLy8gRklYTUU6IEhh
bmRsZSBvdGhlciBXZWJJREwgZXhjZXB0aW9uIHR5cGVzLgotICAgIGlmIChlYyA9PSBUeXBlRXJy
b3IpIHsKKyAgICBjYXNlIFR5cGVFcnJvcjoKICAgICAgICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgp
KQogICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0
KTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBt
ZXNzYWdlKTsKLSAgICB9CiAKLSAgICBpZiAoZWMgPT0gUmFuZ2VFcnJvcikgeworICAgIGNhc2Ug
UmFuZ2VFcnJvcjoKICAgICAgICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQogICAgICAgICAgICAg
cmV0dXJuIGNyZWF0ZVJhbmdlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgIkJhZCB2YWx1ZSJf
cyk7CiAgICAgICAgIHJldHVybiBjcmVhdGVSYW5nZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3Qs
IG1lc3NhZ2UpOwotICAgIH0KIAotICAgIGlmIChlYyA9PSBTdGFja092ZXJmbG93RXJyb3IpCisg
ICAgY2FzZSBKU1N5bnRheEVycm9yOgorICAgICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCisg
ICAgICAgICAgICByZXR1cm4gY3JlYXRlU3ludGF4RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCk7
CisgICAgICAgIHJldHVybiBjcmVhdGVTeW50YXhFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBt
ZXNzYWdlKTsKKworICAgIGNhc2UgU3RhY2tPdmVyZmxvd0Vycm9yOgogICAgICAgICByZXR1cm4g
Y3JlYXRlU3RhY2tPdmVyZmxvd0Vycm9yKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIGlmIChl
YyA9PSBPdXRPZk1lbW9yeUVycm9yKQorCisgICAgY2FzZSBPdXRPZk1lbW9yeUVycm9yOgogICAg
ICAgICByZXR1cm4gY3JlYXRlT3V0T2ZNZW1vcnlFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsK
IAotICAgIC8vIEZJWE1FOiBBbGwgY2FsbGVycyB0byBjcmVhdGVET01FeGNlcHRpb24gbmVlZCB0
byBwYXNzIGluIHRoZSBjb3JyZWN0IGdsb2JhbCBvYmplY3QuCi0gICAgLy8gRm9yIG5vdywgd2Un
cmUgZ29pbmcgdG8gYXNzdW1lIHRoZSBsZXhpY2FsR2xvYmFsT2JqZWN0LiBXaGljaCBpcyB3cm9u
ZyBpbiBjYXNlcyBsaWtlIHRoaXM6Ci0gICAgLy8gZnJhbWVzWzBdLmRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQobnVsbCwgbnVsbCk7IC8vIHRocm93cyBhbiBleGNlcHRpb24gd2hpY2ggc2hvdWxkIGhh
dmUgdGhlIHN1YmZyYW1lJ3MgcHJvdG90eXBlcy4KLSAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0ID0gZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3RvdHlwZShsZXhpY2FsR2xv
YmFsT2JqZWN0KTsKLSAgICBKU1ZhbHVlIGVycm9yT2JqZWN0ID0gdG9KUyhsZXhpY2FsR2xvYmFs
T2JqZWN0LCBnbG9iYWxPYmplY3QsIERPTUV4Y2VwdGlvbjo6Y3JlYXRlKGVjLCBtZXNzYWdlKSk7
Ci0gICAgCi0gICAgQVNTRVJUKGVycm9yT2JqZWN0KTsKLSAgICBhZGRFcnJvckluZm8obGV4aWNh
bEdsb2JhbE9iamVjdCwgYXNPYmplY3QoZXJyb3JPYmplY3QpLCB0cnVlKTsKLSAgICByZXR1cm4g
ZXJyb3JPYmplY3Q7CisgICAgZGVmYXVsdDogeworICAgICAgICAvLyBGSVhNRTogQWxsIGNhbGxl
cnMgdG8gY3JlYXRlRE9NRXhjZXB0aW9uIG5lZWQgdG8gcGFzcyBpbiB0aGUgY29ycmVjdCBnbG9i
YWwgb2JqZWN0LgorICAgICAgICAvLyBGb3Igbm93LCB3ZSdyZSBnb2luZyB0byBhc3N1bWUgdGhl
IGxleGljYWxHbG9iYWxPYmplY3QuIFdoaWNoIGlzIHdyb25nIGluIGNhc2VzIGxpa2UgdGhpczoK
KyAgICAgICAgLy8gZnJhbWVzWzBdLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobnVsbCwgbnVsbCk7
IC8vIHRocm93cyBhbiBleGNlcHRpb24gd2hpY2ggc2hvdWxkIGhhdmUgdGhlIHN1YmZyYW1lJ3Mg
cHJvdG90eXBlcy4KKyAgICAgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGRl
cHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5cGUobGV4aWNhbEdsb2JhbE9iamVjdCk7Cisg
ICAgICAgIEpTVmFsdWUgZXJyb3JPYmplY3QgPSB0b0pTKGxleGljYWxHbG9iYWxPYmplY3QsIGds
b2JhbE9iamVjdCwgRE9NRXhjZXB0aW9uOjpjcmVhdGUoZWMsIG1lc3NhZ2UpKTsKKworICAgICAg
ICBBU1NFUlQoZXJyb3JPYmplY3QpOworICAgICAgICBhZGRFcnJvckluZm8obGV4aWNhbEdsb2Jh
bE9iamVjdCwgYXNPYmplY3QoZXJyb3JPYmplY3QpLCB0cnVlKTsKKyAgICAgICAgcmV0dXJuIGVy
cm9yT2JqZWN0OworICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHsgfTsKIH0KIAogSlNWYWx1ZSBj
cmVhdGVET01FeGNlcHRpb24oSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEV4
Y2VwdGlvbiYmIGV4Y2VwdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaAppbmRleCAyZDNlMzExZjYxZWViNjg1YWFjMzU1NDZh
YWUxNjBkYTk3OTBlZjVmLi5kMWY2ZGU5Mzc0NzBjZTZkZjJjY2I2NDcyMjg0NzY2ZmQwMTk1ODIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhh
bmRsaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25I
YW5kbGluZy5oCkBAIC02NSw2ICs2NSw3IEBAIFdFQkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpT
VmFsdWUgcmVqZWN0UHJvbWlzZVdpdGhHZXR0ZXJUeXBlRXJyb3IoSlNDOjpKU0dsb2JhCiBXRUJD
T1JFX0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHJlamVjdFByb21pc2VXaXRoVGhpc1R5cGVF
cnJvcihEZWZlcnJlZFByb21pc2UmLCBjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBj
aGFyKiBvcGVyYXRpb25OYW1lKTsKIFdFQkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUg
cmVqZWN0UHJvbWlzZVdpdGhUaGlzVHlwZUVycm9yKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBjb25z
dCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBvcGVyYXRpb25OYW1lKTsKIAorU3Ry
aW5nIHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoSlNDOjpKU0dsb2JhbE9iamVjdCYs
IEpTQzo6Vk0mLCBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uLCBKU0M6OkNhdGNoU2NvcGUmKTsKIFN0
cmluZyByZXRyaWV2ZUVycm9yTWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpWTSYs
IEpTQzo6SlNWYWx1ZSBleGNlcHRpb24sIEpTQzo6Q2F0Y2hTY29wZSYpOwogV0VCQ09SRV9FWFBP
UlQgdm9pZCByZXBvcnRFeGNlcHRpb24oSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNWYWx1
ZSBleGNlcHRpb24sIENhY2hlZFNjcmlwdCogPSBudWxscHRyKTsKIFdFQkNPUkVfRVhQT1JUIHZv
aWQgcmVwb3J0RXhjZXB0aW9uKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkV4Y2VwdGlvbios
IENhY2hlZFNjcmlwdCogPSBudWxscHRyLCBFeGNlcHRpb25EZXRhaWxzKiA9IG51bGxwdHIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmlu
ZGV4IGY4ODVjZWJlZDQwMmFhZTAwY2YwMjg4NmZkNWVlZmU2YzIwZjdiNTMuLjM0YTU2ZWVmYzA1
M2ZjOTQ4ZjgxYTdjYWRmNzA4YTU3ZjVlOTQ4YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNs
dWRlICJKU1dvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlJlamVjdGVkUHJvbWlzZVRy
YWNrZXIuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAi
U2NyaXB0TW9kdWxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlZENsb25lLmgiCiAjaW5j
bHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3Bl
LmgiCkBAIC00MjUsNiArNDI2LDc5IEBAIEpTQzo6SlNQcm9taXNlKiBKU0RPTUdsb2JhbE9iamVj
dDo6aW5zdGFudGlhdGVTdHJlYW1pbmcoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvCiB9CiAjZW5k
aWYKIAorc3RhdGljIFNjcmlwdE1vZHVsZUxvYWRlciogc2NyaXB0TW9kdWxlTG9hZGVyKEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0
LT52bSgpOworICAgIGlmIChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTRE9NV2luZG93QmFzZT4o
dm0pKSB7CisgICAgICAgIGlmIChhdXRvIGRvY3VtZW50ID0ganNDYXN0PGNvbnN0IEpTRE9NV2lu
ZG93QmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQoKS5kb2N1bWVudCgpKQorICAgICAgICAg
ICAgcmV0dXJuICZkb2N1bWVudC0+bW9kdWxlTG9hZGVyKCk7CisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIH0KKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU1JlbW90ZURPTVdp
bmRvd0Jhc2U+KHZtKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKGdsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNXb3JrZXJHbG9iYWxTY29wZUJhc2U+KHZtKSkKKyAgICAgICAgcmV0
dXJuICZqc0Nhc3Q8Y29uc3QgSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UqPihnbG9iYWxPYmplY3Qp
LT53cmFwcGVkKCkubW9kdWxlTG9hZGVyKCk7CisgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJp
dHM8SlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlPih2bSkpCisgICAgICAgIHJldHVybiAmanNDYXN0
PGNvbnN0IEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZSo+KGdsb2JhbE9iamVjdCktPndyYXBwZWQo
KS5tb2R1bGVMb2FkZXIoKTsKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBpZiAo
Z2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KHZt
KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKKyAgICBkYXRhTG9nKCJVbmV4cGVj
dGVkIGdsb2JhbCBvYmplY3Q6ICIsIEpTVmFsdWUoZ2xvYmFsT2JqZWN0KSwgIlxuIik7CisgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
SlNDOjpJZGVudGlmaWVyIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJSZXNvbHZlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9k
dWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIGltcG9ydGVy
TW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKK3sKKyAgICBKU0RPTUdsb2Jh
bE9iamVjdCogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRo
aXNPYmplY3QpKQorICAgICAgICByZXR1cm4gbG9hZGVyLT5yZXNvbHZlKGdsb2JhbE9iamVjdCwg
bW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0RmV0Y2hl
cik7CisgICAgcmV0dXJuIHsgfTsKK30KKworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01H
bG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUg
bW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVycywgSlNDOjpKU1ZhbHVlIHNjcmlwdEZl
dGNoZXIpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdGhp
c09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KTsK
KyAgICBpZiAoYXV0byogbG9hZGVyID0gc2NyaXB0TW9kdWxlTG9hZGVyKHRoaXNPYmplY3QpKQor
ICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGxvYWRlci0+ZmV0Y2goZ2xvYmFsT2Jq
ZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZUtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hlcikp
OworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQ
cm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJl
KCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2Jq
ZWN0LCBqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKworSlNDOjpKU1Zh
bHVlIEpTRE9NR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwg
SlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpK
U1ZhbHVlIHNjcmlwdEZldGNoZXIpCit7CisgICAgSlNET01HbG9iYWxPYmplY3QqIHRoaXNPYmpl
Y3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAg
aWYgKGF1dG8qIGxvYWRlciA9IHNjcmlwdE1vZHVsZUxvYWRlcih0aGlzT2JqZWN0KSkKKyAgICAg
ICAgcmV0dXJuIGxvYWRlci0+ZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1v
ZHVsZUtleSwgbW9kdWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKKyAgICByZXR1cm4gSlNDOjpq
c1VuZGVmaW5lZCgpOworfQorCitKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RPTUdsb2JhbE9i
amVjdDo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTU3RyaW5n
KiBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcGFyYW1ldGVycywgY29uc3QgSlNDOjpTb3VyY2VP
cmlnaW4mIHNvdXJjZU9yaWdpbikKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIo
dGhpc09iamVjdCkpCisgICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgbG9hZGVyLT5p
bXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFt
ZXRlcnMsIHNvdXJjZU9yaWdpbikpOworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21p
c2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50
ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBwcm9t
aXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gcHJv
bWlzZTsKK30KKworSlNDOjpKU09iamVjdCogSlNET01HbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRl
ckNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDOjpKU01vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyLCBKU0M6OkpTVmFsdWUgbW9k
dWxlS2V5LCBKU0M6OkpTTW9kdWxlUmVjb3JkKiBtb2R1bGVSZWNvcmQsIEpTQzo6SlNWYWx1ZSBz
Y3JpcHRGZXRjaGVyKQoreworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0ID0gSlND
Ojpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOworICAgIGlmIChhdXRv
KiBsb2FkZXIgPSBzY3JpcHRNb2R1bGVMb2FkZXIodGhpc09iamVjdCkpCisgICAgICAgIHJldHVy
biBsb2FkZXItPmNyZWF0ZUltcG9ydE1ldGFQcm9wZXJ0aWVzKGdsb2JhbE9iamVjdCwgbW9kdWxl
TG9hZGVyLCBtb2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7CisgICAgcmV0
dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0
LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkpOworfQorCiBKU0RPTUdsb2JhbE9iamVj
dCYgY2FsbGVyR2xvYmFsT2JqZWN0KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBDYWxsRnJhbWUmIGNhbGxGcmFtZSkKIHsKICAgICBjbGFzcyBHZXRDYWxsZXJHbG9iYWxPYmpl
Y3RGdW5jdG9yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
R2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdC5oCmluZGV4IDBjMTExOTBiMmYwMjgzNGY5N2EyYjRhYzk0YTM2Njg0MTM0NjhjOTkuLmQ1
NTA1YzYxN2M2ZThhZjFhZWI5ZDMxYmIyZmMwZmQwYzMxZjI3ODAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaApAQCAtMTA1LDYgKzEwNSwxMiBA
QCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0M6OkpT
R2xvYmFsT2JqZWN0IHsKICAgICBzdGF0aWMgSlNDOjpKU1Byb21pc2UqIGluc3RhbnRpYXRlU3Ry
ZWFtaW5nKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNPYmplY3Qq
KTsKICNlbmRpZgogCisgICAgc3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2FkZXJSZXNv
bHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1Zh
bHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQzo6SlNJbnRl
cm5hbFByb21pc2UqIG1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6
OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1
ZSk7CisgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpK
U1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNl
KiBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNN
b2R1bGVMb2FkZXIqLCBKU0M6OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OlNv
dXJjZU9yaWdpbiYpOworICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVh
dGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVs
ZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1
ZSk7CisKICAgICBKU0RPTVN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiAgICAgSlNET01Db25z
dHJ1Y3Rvck1hcCBtX2NvbnN0cnVjdG9yczsKICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3Vh
cmRlZE9iamVjdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dC
YXNlLmNwcAppbmRleCA1NjNlZmEwNTcxYjVkNDYyZDllNjQ1MDg5ZjBiZDhmNzdkMTlhNzY4Li4z
MTJhMDExNThlOGMyODA4M2MwN2U0MmRiODcyNDVmZTRlNWM1N2FhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKQEAgLTMzOSw1NCArMzM5LDQg
QEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0Zvcldp
bmRvdyhET01XaW5kb3cqIHdpbmRvdykKICAgICB9CiB9CiAKLUpTQzo6SWRlbnRpZmllciBKU0RP
TVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXksIEpTQzo6SlNWYWx1
ZSBzY3JpcHRGZXRjaGVyKQotewotICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpT
Qzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKFJlZlB0
cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZG9jdW1lbnQoKSkK
LSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5yZXNvbHZlKGdsb2JhbE9i
amVjdCwgbW9kdWxlTG9hZGVyLCBtb2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZUtleSwgc2NyaXB0
RmV0Y2hlcik7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSog
SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1Zh
bHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3Jp
cHRGZXRjaGVyKQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5kb3dCYXNlKiB0
aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsK
LSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPndyYXBwZWQo
KS5kb2N1bWVudCgpKQotICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGRvY3VtZW50
LT5tb2R1bGVMb2FkZXIoKS5mZXRjaChnbG9iYWxPYmplY3QsIG1vZHVsZUxvYWRlciwgbW9kdWxl
S2V5LCBwYXJhbWV0ZXJzLCBzY3JpcHRGZXRjaGVyKSk7Ci0gICAgSlNDOjpKU0ludGVybmFsUHJv
bWlzZSogcHJvbWlzZSA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7Ci0gICAgc2NvcGUucmVsZWFzZSgp
OwotICAgIHByb21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGpzVW5kZWZpbmVkKCkpOwotICAg
IHJldHVybiBwcm9taXNlOwotfQotCi1KU0M6OkpTVmFsdWUgSlNET01XaW5kb3dCYXNlOjptb2R1
bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6
SlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlND
OjpKU1ZhbHVlIG1vZHVsZVJlY29yZCwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCi17Ci0g
ICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dC
YXNlKj4oZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9
IHRoaXNPYmplY3QtPndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1l
bnQtPm1vZHVsZUxvYWRlcigpLmV2YWx1YXRlKGdsb2JhbE9iamVjdCwgbW9kdWxlTG9hZGVyLCBt
b2R1bGVLZXksIG1vZHVsZVJlY29yZCwgc2NyaXB0RmV0Y2hlcik7Ci0gICAgcmV0dXJuIEpTQzo6
anNVbmRlZmluZWQoKTsKLX0KLQotSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5kb3dC
YXNlOjptb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIsIEpTQzo6SlNTdHJpbmcq
IG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSBwYXJhbWV0ZXJzLCBjb25zdCBKU0M6OlNvdXJjZU9y
aWdpbiYgc291cmNlT3JpZ2luKQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
LSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNET01XaW5k
b3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFs
T2JqZWN0KTsKLSAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3Qt
PndyYXBwZWQoKS5kb2N1bWVudCgpKQotICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUs
IGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBtb2R1
bGVMb2FkZXIsIG1vZHVsZU5hbWUsIHBhcmFtZXRlcnMsIHNvdXJjZU9yaWdpbikpOwotICAgIEpT
Qzo6SlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlOjpj
cmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwotICAg
IHNjb3BlLnJlbGVhc2UoKTsKLSAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBqc1Vu
ZGVmaW5lZCgpKTsKLSAgICByZXR1cm4gcHJvbWlzZTsKLX0KLQotSlNDOjpKU09iamVjdCogSlNE
T01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6
OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNb2R1bGVMb2FkZXIqIG1vZHVs
ZUxvYWRlciwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU01vZHVsZVJlY29yZCogbW9k
dWxlUmVjb3JkLCBKU0M6OkpTVmFsdWUgc2NyaXB0RmV0Y2hlcikKLXsKLSAgICBKU0RPTVdpbmRv
d0Jhc2UqIHRoaXNPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihnbG9iYWxP
YmplY3QpOwotICAgIGlmIChSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gdGhpc09iamVjdC0+
d3JhcHBlZCgpLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBkb2N1bWVudC0+bW9kdWxlTG9h
ZGVyKCkuY3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoZ2xvYmFsT2JqZWN0LCBtb2R1bGVMb2Fk
ZXIsIG1vZHVsZUtleSwgbW9kdWxlUmVjb3JkLCBzY3JpcHRGZXRjaGVyKTsKLSAgICByZXR1cm4g
Y29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QtPm51
bGxQcm90b3R5cGVPYmplY3RTdHJ1Y3R1cmUoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFz
ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKaW5kZXgg
M2VmOTgwZGQyN2Y2YjIxMzk4NzAwOGJhNDc2YzhjYTY5ZjJmMGI2NC4uNTE0MmIxYzdkYzI1YzIy
ZmU5Nzg5NWU3NWFlMjJlZjRkMWU1ODlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmgKQEAgLTk5LDEyICs5OSw2IEBAIGNsYXNzIFdFQkNPUkVfRVhQ
T1JUIEpTRE9NV2luZG93QmFzZSA6IHB1YmxpYyBKU0RPTUdsb2JhbE9iamVjdCB7CiBwcml2YXRl
OgogICAgIHVzaW5nIFJlc3BvbnNlQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3Qg
Y2hhciosIHNpemVfdCk+OwogCi0gICAgc3RhdGljIEpTQzo6SWRlbnRpZmllciBtb2R1bGVMb2Fk
ZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlND
OjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6
SlNJbnRlcm5hbFByb21pc2UqIG1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwg
SlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQ
cm9taXNlKiBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTU3RyaW5nKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBK
U0M6OlNvdXJjZU9yaWdpbiYpOwotICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2Fk
ZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpK
U01vZHVsZUxvYWRlciosIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6
SlNWYWx1ZSk7Ci0KICAgICBSZWZQdHI8RE9NV2luZG93PiBtX3dyYXBwZWQ7CiAgICAgUmVmUHRy
PEV2ZW50PiBtX2N1cnJlbnRFdmVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggYjk5ZWEwYzA1MTY1
MDMzMDE0NTg5MTI2Y2U0MjQ5NWUxODg3NWM2ZS4uNDYzZDFiNTYyODc5OWQ5ZDM4YmZiMzQ4N2Iz
ZGFmNjNmNTk3MWU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcApAQCAtNTksMTEgKzU5LDExIEBAIGNvbnN0IEds
b2JhbE9iamVjdE1ldGhvZFRhYmxlIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpzX2dsb2JhbE9i
amVjdE1ldGhvZFRhYmxlCiAgICAgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsCiAgICAgJnF1ZXVl
TWljcm90YXNrVG9FdmVudExvb3AsCiAgICAgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRp
bWVvdXQsCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlCi0gICAgbnVs
bHB0ciwgLy8gbW9kdWxlTG9hZGVyUmVzb2x2ZQotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRl
ckZldGNoCi0gICAgbnVsbHB0ciwgLy8gbW9kdWxlTG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3Bl
cnRpZXMKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJFdmFsdWF0ZQorICAgICZtb2R1bGVM
b2FkZXJJbXBvcnRNb2R1bGUsCisgICAgJm1vZHVsZUxvYWRlclJlc29sdmUsCisgICAgJm1vZHVs
ZUxvYWRlckZldGNoLAorICAgICZtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRNZXRhUHJvcGVydGll
cywKKyAgICAmbW9kdWxlTG9hZGVyRXZhbHVhdGUsCiAgICAgJnByb21pc2VSZWplY3Rpb25UcmFj
a2VyLAogICAgICZyZXBvcnRVbmNhdWdodEV4Y2VwdGlvbkF0RXZlbnRMb29wLAogICAgICZjdXJy
ZW50U2NyaXB0RXhlY3V0aW9uT3duZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCBlODZmODlkYTE0MTBi
YWM4M2U4MzNmOTUyNjM5OTFkNDc0ODE0ZDBhLi40MjRjNWJlZGRmOGU1MTZkYzRmNmYwYTE4YjRj
NjZmYTU5MTQyZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAKQEAgLTQ5LDExICs0OSwxMSBAQCBjb25zdCBH
bG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFs
T2JqZWN0TWV0aG9kVGFibAogICAgICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLAogICAgIG51bGxw
dHIsIC8vIHF1ZXVlTWljcm90YXNrVG9FdmVudExvb3AKICAgICAmc2hvdWxkSW50ZXJydXB0U2Ny
aXB0QmVmb3JlVGltZW91dCwKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJJbXBvcnRNb2R1
bGUKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJSZXNvbHZlCi0gICAgbnVsbHB0ciwgLy8g
bW9kdWxlTG9hZGVyRmV0Y2gKLSAgICBudWxscHRyLCAvLyBtb2R1bGVMb2FkZXJDcmVhdGVJbXBv
cnRNZXRhUHJvcGVydGllcwotICAgIG51bGxwdHIsIC8vIG1vZHVsZUxvYWRlckV2YWx1YXRlCisg
ICAgJm1vZHVsZUxvYWRlckltcG9ydE1vZHVsZSwKKyAgICAmbW9kdWxlTG9hZGVyUmVzb2x2ZSwK
KyAgICAmbW9kdWxlTG9hZGVyRmV0Y2gsCisgICAgJm1vZHVsZUxvYWRlckNyZWF0ZUltcG9ydE1l
dGFQcm9wZXJ0aWVzLAorICAgICZtb2R1bGVMb2FkZXJFdmFsdWF0ZSwKICAgICAmcHJvbWlzZVJl
amVjdGlvblRyYWNrZXIsCiAgICAgJnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uQXRFdmVudExvb3As
CiAgICAgJmN1cnJlbnRTY3JpcHRFeGVjdXRpb25Pd25lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvTW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE5MTBlOTQ5Yjdh
YzFhMzhlZGVlY2IwM2RlYjZlZTg5NGNjZWIwZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvU2NyaXB0RmV0Y2hlci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
OworCitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxNb2R1bGVT
Y3JpcHRMb2FkZXI+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Nb2R1bGVTY3JpcHRMb2FkZXIo
KSA9IGRlZmF1bHQ7CisKKyAgICB2b2lkIGNsZWFyQ2xpZW50KCkKKyAgICB7CisgICAgICAgIEFT
U0VSVChtX2NsaWVudCk7CisgICAgICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKKyAgICB9CisKKyAg
ICBKU0M6OlNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIoKSB7IHJldHVybiBtX3NjcmlwdEZl
dGNoZXIuZ2V0KCk7IH0KKyAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMoKSB7
IHJldHVybiBtX3BhcmFtZXRlcnMuZ2V0KCk7IH0KKworcHJvdGVjdGVkOgorICAgIE1vZHVsZVNj
cmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgRGVmZXJyZWRQcm9t
aXNlJiBwcm9taXNlLCBKU0M6OlNjcmlwdEZldGNoZXImIHNjcmlwdEZldGNoZXIsIFJlZlB0cjxN
b2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycykKKyAgICAgICAgOiBtX2NsaWVudCgm
Y2xpZW50KQorICAgICAgICAsIG1fcHJvbWlzZSgmcHJvbWlzZSkKKyAgICAgICAgLCBtX3Njcmlw
dEZldGNoZXIoc2NyaXB0RmV0Y2hlcikKKyAgICAgICAgLCBtX3BhcmFtZXRlcnMoV1RGTW92ZShw
YXJhbWV0ZXJzKSkKKyAgICB7CisgICAgfQorCisgICAgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50
KiBtX2NsaWVudDsKKyAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBtX3Byb21pc2U7CisgICAg
UmVmPEpTQzo6U2NyaXB0RmV0Y2hlcj4gbV9zY3JpcHRGZXRjaGVyOworICAgIFJlZlB0cjxNb2R1
bGVGZXRjaFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZVNjcmlw
dExvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk5NWY0OGVlM2QxZTAyYzFkOGM5YzlkYTJiZDU4
MjM2ZjNiYTA3ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L01vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9kdWxlU2NyaXB0TG9hZGVyOworY2xhc3MgRGVmZXJy
ZWRQcm9taXNlOworCitjbGFzcyBNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgeworcHVibGljOgor
ICAgIHZpcnR1YWwgfk1vZHVsZVNjcmlwdExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKKworICAg
IHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChNb2R1bGVTY3JpcHRMb2FkZXImLCBVUkwmJiwg
UmVmPERlZmVycmVkUHJvbWlzZT4pID0gMDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCmluZGV4IGFhNWI4MGI1ODZiNzll
MGU1NzUwMWNkNTEwNzhkZjI1YTYyNWU1ZDkuLmQxZWU3MWI5YjU1ZjA1NmJjMzU2YTY5NmYzMDFl
ODRkYWRlNzdjZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dE1vZHVsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
TW9kdWxlTG9hZGVyLmNwcApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkNhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkNh
Y2hlZFNjcmlwdEZldGNoZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZy
YW1lLmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKQEAgLTQxLDYgKzQwLDkgQEAKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2Rl
LmgiCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VJbnRlZ3JpdHkuaCIKICNpbmNsdWRlICJXZWJDb3Jl
SlNDbGllbnREYXRhLmgiCisjaW5jbHVkZSAiV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisj
aW5jbHVkZSAiV29ya2VyU2NyaXB0RmV0Y2hlci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdExv
YWRlci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbXBsZXRpb24uaD4KICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTTW9kdWxlUmVjb3JkLmg+CkBAIC01Miw4ICs1NCw5IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotU2NyaXB0TW9kdWxlTG9hZGVyOjpTY3JpcHRNb2R1bGVMb2FkZXIoRG9jdW1l
bnQmIGRvY3VtZW50KQotICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK1NjcmlwdE1vZHVsZUxv
YWRlcjo6U2NyaXB0TW9kdWxlTG9hZGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IE93bmVyVHlwZSBvd25lclR5cGUpCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1f
b3duZXJUeXBlKG93bmVyVHlwZSkKIHsKIH0KIApAQCAtNjgsNyArNzEsNyBAQCBzdGF0aWMgYm9v
bCBpc1Jvb3RNb2R1bGUoSlNDOjpKU1ZhbHVlIGltcG9ydGVyTW9kdWxlS2V5KQogICAgIHJldHVy
biBpbXBvcnRlck1vZHVsZUtleS5pc1N5bWJvbCgpIHx8IGltcG9ydGVyTW9kdWxlS2V5LmlzVW5k
ZWZpbmVkKCk7CiB9CiAKLXN0YXRpYyBFeHBlY3RlZDxVUkwsIFN0cmluZz4gcmVzb2x2ZU1vZHVs
ZVNwZWNpZmllcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgc3BlY2lmaWVyLCBj
b25zdCBVUkwmIGJhc2VVUkwpCitzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVN
b2R1bGVTcGVjaWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2NyaXB0TW9k
dWxlTG9hZGVyOjpPd25lclR5cGUgb3duZXJUeXBlLCBjb25zdCBTdHJpbmcmIHNwZWNpZmllciwg
Y29uc3QgVVJMJiBiYXNlVVJMKQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNyZXNvbHZlLWEtbW9kdWxlLXNwZWNpZmllcgog
CkBAIC03OSw3ICs4MiwxMiBAQCBzdGF0aWMgRXhwZWN0ZWQ8VVJMLCBTdHJpbmc+IHJlc29sdmVN
b2R1bGVTcGVjaWZpZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdAogICAgIGlmICghc3Bl
Y2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSAmJiAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoIi4vIikgJiYg
IXNwZWNpZmllci5zdGFydHNXaXRoKCIuLi8iKSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVj
dGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBzcGVjaWZpZXIsICciX3MsIHNwZWNpZmllciwgIicgZG9l
cyBub3Qgc3RhcnQgd2l0aCBcIi9cIiwgXCIuL1wiLCBvciBcIi4uL1wiLiBSZWZlcmVuY2VkIGZy
b20gIl9zLCBiYXNlVVJMLnN0cmluZygpKSk7CiAKLSAgICBhdXRvIHJlc3VsdCA9IGRvY3VtZW50
LmNvbXBsZXRlVVJMKHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgVVJMIHJlc3VsdDsKKyAgICBp
ZiAob3duZXJUeXBlID09IFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpEb2N1bWVudCkK
KyAgICAgICAgcmVzdWx0ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLmNvbXBsZXRlVVJM
KHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgZWxzZQorICAgICAgICByZXN1bHQgPSBVUkwoYmFz
ZVVSTCwgc3BlY2lmaWVyKTsKKwogICAgIGlmICghcmVzdWx0LmlzVmFsaWQoKSkKICAgICAgICAg
cmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIk1vZHVsZSBuYW1lLCAnIl9zLCByZXN1
bHQuc3RyaW5nKCksICInIGRvZXMgbm90IHJlc29sdmUgdG8gYSB2YWxpZCBVUkwuIl9zKSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEwNyw3ICsxMTUsNyBAQCBKU0M6OklkZW50aWZpZXIgU2Ny
aXB0TW9kdWxlTG9hZGVyOjpyZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpzR2xvYmFsT2Jq
ZWN0LAogICAgIFVSTCBiYXNlVVJMID0gcmVzcG9uc2VVUkxGcm9tUmVxdWVzdFVSTCgqanNHbG9i
YWxPYmplY3QsIGltcG9ydGVyTW9kdWxlS2V5KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB7IH0pOwogCi0gICAgYXV0byByZXN1bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1f
ZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVSTCk7CisgICAgYXV0byByZXN1bHQgPSByZXNvbHZl
TW9kdWxlU3BlY2lmaWVyKG1fY29udGV4dCwgbV9vd25lclR5cGUsIHNwZWNpZmllciwgYmFzZVVS
TCk7CiAgICAgaWYgKCFyZXN1bHQpIHsKICAgICAgICAgSlNDOjp0aHJvd1R5cGVFcnJvcihqc0ds
b2JhbE9iamVjdCwgc2NvcGUsIHJlc3VsdC5lcnJvcigpKTsKICAgICAgICAgcmV0dXJuIHsgfTsK
QEAgLTE2MSwxMyArMTY5LDE5IEBAIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVs
ZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCoganNHbG9iYWxPCiAgICAgaWYgKGF1
dG8qIHNjcmlwdEZldGNoUGFyYW1ldGVycyA9IEpTQzo6anNEeW5hbWljQ2FzdDxKU0M6OkpTU2Ny
aXB0RmV0Y2hQYXJhbWV0ZXJzKj4odm0sIHBhcmFtZXRlcnMpKQogICAgICAgICB0b3BMZXZlbEZl
dGNoUGFyYW1ldGVycyA9IHN0YXRpY19jYXN0PE1vZHVsZUZldGNoUGFyYW1ldGVycyo+KCZzY3Jp
cHRGZXRjaFBhcmFtZXRlcnMtPnBhcmFtZXRlcnMoKSk7CiAKLSAgICBhdXRvIGxvYWRlciA9IENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlcjo6Y3JlYXRlKCp0aGlzLCBkZWZlcnJlZC5nZXQoKSwgKnN0
YXRpY19jYXN0PENhY2hlZFNjcmlwdEZldGNoZXIqPihKU0M6OmpzQ2FzdDxKU0M6OkpTU2NyaXB0
RmV0Y2hlcio+KHNjcmlwdEZldGNoZXIpLT5mZXRjaGVyKCkpLCBXVEZNb3ZlKHRvcExldmVsRmV0
Y2hQYXJhbWV0ZXJzKSk7Ci0gICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29weVJlZigpKTsKLSAg
ICBpZiAoIWxvYWRlci0+bG9hZChtX2RvY3VtZW50LCBjb21wbGV0ZWRVUkwpKSB7Ci0gICAgICAg
IGxvYWRlci0+Y2xlYXJDbGllbnQoKTsKLSAgICAgICAgbV9sb2FkZXJzLnJlbW92ZShXVEZNb3Zl
KGxvYWRlcikpOwotICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihkZWZlcnJl
ZC5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZCwgIkltcG9ydGluZyBh
IG1vZHVsZSBzY3JpcHQgZmFpbGVkLiJfcyk7Ci0gICAgICAgIHJldHVybiBqc1Byb21pc2U7Cisg
ICAgaWYgKG1fb3duZXJUeXBlID09IE93bmVyVHlwZTo6RG9jdW1lbnQpIHsKKyAgICAgICAgYXV0
byBsb2FkZXIgPSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI6OmNyZWF0ZSgqdGhpcywgZGVmZXJy
ZWQuZ2V0KCksICpzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHRGZXRjaGVyKj4oSlNDOjpqc0Nhc3Q8
SlNDOjpKU1NjcmlwdEZldGNoZXIqPihzY3JpcHRGZXRjaGVyKS0+ZmV0Y2hlcigpKSwgV1RGTW92
ZSh0b3BMZXZlbEZldGNoUGFyYW1ldGVycykpOworICAgICAgICBtX2xvYWRlcnMuYWRkKGxvYWRl
ci5jb3B5UmVmKCkpOworICAgICAgICBpZiAoIWxvYWRlci0+bG9hZChkb3duY2FzdDxEb2N1bWVu
dD4obV9jb250ZXh0KSwgV1RGTW92ZShjb21wbGV0ZWRVUkwpKSkgeworICAgICAgICAgICAgbG9h
ZGVyLT5jbGVhckNsaWVudCgpOworICAgICAgICAgICAgbV9sb2FkZXJzLnJlbW92ZShXVEZNb3Zl
KGxvYWRlcikpOworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3b3JrRXJyb3IoZGVm
ZXJyZWQuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRp
bmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOworICAgICAgICAgICAgcmV0dXJuIGpzUHJv
bWlzZTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGF1dG8gbG9hZGVyID0gV29y
a2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpjcmVhdGUoKnRoaXMsIGRlZmVycmVkLmdldCgpLCAqc3Rh
dGljX2Nhc3Q8V29ya2VyU2NyaXB0RmV0Y2hlcio+KEpTQzo6anNDYXN0PEpTQzo6SlNTY3JpcHRG
ZXRjaGVyKj4oc2NyaXB0RmV0Y2hlciktPmZldGNoZXIoKSksIFdURk1vdmUodG9wTGV2ZWxGZXRj
aFBhcmFtZXRlcnMpKTsKKyAgICAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXIuY29weVJlZigpKTsK
KyAgICAgICAgbG9hZGVyLT5sb2FkKG1fY29udGV4dCwgV1RGTW92ZShjb21wbGV0ZWRVUkwpKTsK
ICAgICB9CiAKICAgICByZXR1cm4ganNQcm9taXNlOwpAQCAtMTc2LDcgKzE5MCw3IEBAIEpTQzo6
SlNJbnRlcm5hbFByb21pc2UqIFNjcmlwdE1vZHVsZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2Jh
bE9iamVjdCoganNHbG9iYWxPCiBVUkwgU2NyaXB0TW9kdWxlTG9hZGVyOjptb2R1bGVVUkwoSlND
OjpKU0dsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXlW
YWx1ZSkKIHsKICAgICBpZiAobW9kdWxlS2V5VmFsdWUuaXNTeW1ib2woKSkKLSAgICAgICAgcmV0
dXJuIG1fZG9jdW1lbnQudXJsKCk7CisgICAgICAgIHJldHVybiBtX2NvbnRleHQudXJsKCk7CiAK
ICAgICBBU1NFUlQobW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CiAgICAgcmV0dXJuIFVSTChV
UkwoKSwgYXNTdHJpbmcobW9kdWxlS2V5VmFsdWUpLT52YWx1ZSgmanNHbG9iYWxPYmplY3QpKTsK
QEAgLTE4Nyw4ICsyMDEsMTEgQEAgVVJMIFNjcmlwdE1vZHVsZUxvYWRlcjo6cmVzcG9uc2VVUkxG
cm9tUmVxdWVzdFVSTChKU0M6OkpTR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE8KICAgICBKU0M6OlZN
JiB2bSA9IGpzR2xvYmFsT2JqZWN0LnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwogCi0gICAgaWYgKGlzUm9vdE1vZHVsZShtb2R1bGVLZXlWYWx1ZSkpCi0g
ICAgICAgIHJldHVybiBtX2RvY3VtZW50LmJhc2VVUkwoKTsKKyAgICBpZiAoaXNSb290TW9kdWxl
KG1vZHVsZUtleVZhbHVlKSkgeworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBl
OjpEb2N1bWVudCkKKyAgICAgICAgICAgIHJldHVybiBkb3duY2FzdDxEb2N1bWVudD4obV9jb250
ZXh0KS5iYXNlVVJMKCk7CisgICAgICAgIHJldHVybiBtX2NvbnRleHQudXJsKCk7CisgICAgfQog
CiAgICAgQVNTRVJUKCFpc1Jvb3RNb2R1bGUobW9kdWxlS2V5VmFsdWUpKTsKICAgICBBU1NFUlQo
bW9kdWxlS2V5VmFsdWUuaXNTdHJpbmcoKSk7CkBAIC0yMTksOCArMjM2LDE0IEBAIEpTQzo6SlNW
YWx1ZSBTY3JpcHRNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGpz
R2xvYmFsT2JqZWN0LCBKCiAgICAgaWYgKCFzb3VyY2VVUkwuaXNWYWxpZCgpKQogICAgICAgICBy
ZXR1cm4gSlNDOjp0aHJvd1R5cGVFcnJvcihqc0dsb2JhbE9iamVjdCwgc2NvcGUsICJNb2R1bGUg
a2V5IGlzIGFuIGludmFsaWQgVVJMLiJfcyk7CiAKLSAgICBpZiAoYXV0byogZnJhbWUgPSBtX2Rv
Y3VtZW50LmZyYW1lKCkpCi0gICAgICAgIHJldHVybiBmcmFtZS0+c2NyaXB0KCkuZXZhbHVhdGVN
b2R1bGUoc291cmNlVVJMLCAqbW9kdWxlUmVjb3JkKTsKKyAgICBpZiAobV9vd25lclR5cGUgPT0g
T3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBkb3duY2Fz
dDxEb2N1bWVudD4obV9jb250ZXh0KS5mcmFtZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZyYW1l
LT5zY3JpcHQoKS5ldmFsdWF0ZU1vZHVsZShzb3VyY2VVUkwsICptb2R1bGVSZWNvcmQpOworICAg
IH0gZWxzZSB7CisgICAgICAgIEFTU0VSVChpczxXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZT4o
bV9jb250ZXh0KSk7CisgICAgICAgIGlmIChhdXRvKiBzY3JpcHQgPSBkb3duY2FzdDxXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZT4obV9jb250ZXh0KS5zY3JpcHQoKSkKKyAgICAgICAgICAgIHJl
dHVybiBzY3JpcHQtPmV2YWx1YXRlTW9kdWxlKCptb2R1bGVSZWNvcmQpOworICAgIH0KICAgICBy
ZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwogfQogCkBAIC0yNDgsMjMgKzI3MSw0MSBAQCBKU0M6
OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZShKU0M6
OkpTR2xvYmFsT2JqZWN0KiBqcwogICAgIFVSTCBiYXNlVVJMOwogICAgIFJlZlB0cjxKU0M6OlNj
cmlwdEZldGNoZXI+IHNjcmlwdEZldGNoZXI7CiAgICAgaWYgKHNvdXJjZU9yaWdpbi5pc051bGwo
KSkgewotICAgICAgICBiYXNlVVJMID0gbV9kb2N1bWVudC5iYXNlVVJMKCk7Ci0gICAgICAgIHNj
cmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUobV9kb2N1bWVudC5jaGFy
c2V0KCkpOworICAgICAgICBpZiAobV9vd25lclR5cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkg
eworICAgICAgICAgICAgYmFzZVVSTCA9IGRvd25jYXN0PERvY3VtZW50PihtX2NvbnRleHQpLmJh
c2VVUkwoKTsKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVy
OjpjcmVhdGUoZG93bmNhc3Q8RG9jdW1lbnQ+KG1fY29udGV4dCkuY2hhcnNldCgpKTsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
bXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNkZWZhdWx0LWNsYXNzaWMtc2NyaXB0LWZldGNoLW9w
dGlvbnMKKyAgICAgICAgICAgIGJhc2VVUkwgPSBtX2NvbnRleHQudXJsKCk7CisgICAgICAgICAg
ICBzY3JpcHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKEZldGNoT3B0aW9u
czo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4sIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNj
cmlwdCwgUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nKTsKKyAgICAgICAgfQogICAgIH0gZWxz
ZSB7CiAgICAgICAgIGJhc2VVUkwgPSBVUkwoVVJMKCksIHNvdXJjZU9yaWdpbi5zdHJpbmcoKSk7
CiAgICAgICAgIGlmICghYmFzZVVSTC5pc1ZhbGlkKCkpCiAgICAgICAgICAgICByZXR1cm4gcmVq
ZWN0UHJvbWlzZShnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgIkltcG9ydGVyIG1vZHVsZSBrZXkg
aXMgbm90IGEgU3ltYm9sIG9yIGEgU3RyaW5nLiJfcyk7CiAKLSAgICAgICAgaWYgKHNvdXJjZU9y
aWdpbi5mZXRjaGVyKCkpCisgICAgICAgIGlmIChzb3VyY2VPcmlnaW4uZmV0Y2hlcigpKSB7CiAg
ICAgICAgICAgICBzY3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZldGNoZXIoKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6
OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7CisgICAgICAgICAgICAvLyBodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYW4taW1w
b3J0KCktbW9kdWxlLXNjcmlwdC1ncmFwaAorICAgICAgICAgICAgLy8gRGVzdGluYXRpb24gc2hv
dWxkIGJlICJzY3JpcHQiIGZvciBkeW5hbWljLWltcG9ydC4KKyAgICAgICAgICAgIGlmIChtX293
bmVyVHlwZSA9PSBPd25lclR5cGU6Oldvcmtlck9yV29ya2xldCkgeworICAgICAgICAgICAgICAg
IGF1dG8mIGZldGNoZXIgPSBzdGF0aWNfY2FzdDxXb3JrZXJTY3JpcHRGZXRjaGVyJj4oKnNjcmlw
dEZldGNoZXIpOworICAgICAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRG
ZXRjaGVyOjpjcmVhdGUoZmV0Y2hlci5jcmVkZW50aWFscygpLCBGZXRjaE9wdGlvbnM6OkRlc3Rp
bmF0aW9uOjpTY3JpcHQsIGZldGNoZXIucmVmZXJyZXJQb2xpY3koKSk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXNjcmlwdEZldGNoZXIpIHsKKyAgICAgICAgICAg
IGlmIChtX293bmVyVHlwZSA9PSBPd25lclR5cGU6OkRvY3VtZW50KQorICAgICAgICAgICAgICAg
IHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUoZG93bmNhc3Q8RG9j
dW1lbnQ+KG1fY29udGV4dCkuY2hhcnNldCgpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBzY3JpcHRGZXRjaGVyID0gV29ya2VyU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKEZldGNo
T3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4sIEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OlNjcmlwdCwgUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nKTsKKyAgICAgICAgfQogICAg
IH0KICAgICBBU1NFUlQoYmFzZVVSTC5pc1ZhbGlkKCkpOwogICAgIEFTU0VSVChzY3JpcHRGZXRj
aGVyKTsKIAogICAgIGF1dG8gc3BlY2lmaWVyID0gbW9kdWxlTmFtZS0+dmFsdWUoanNHbG9iYWxP
YmplY3QpOwotICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZVNwZWNpZmllcihtX2RvY3Vt
ZW50LCBzcGVjaWZpZXIsIGJhc2VVUkwpOworICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZU1vZHVs
ZVNwZWNpZmllcihtX2NvbnRleHQsIG1fb3duZXJUeXBlLCBzcGVjaWZpZXIsIGJhc2VVUkwpOwog
ICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gcmVqZWN0UHJvbWlzZShnbG9iYWxPYmpl
Y3QsIFR5cGVFcnJvciwgcmVzdWx0LmVycm9yKCkpOwogCkBAIC0yODgsNjIgKzMyOSwxMDYgQEAg
SlNDOjpKU09iamVjdCogU2NyaXB0TW9kdWxlTG9hZGVyOjpjcmVhdGVJbXBvcnRNZXRhUHJvcGVy
dGllcyhKU0M6OkpTR2xvYmFsT2JqZWMKICAgICByZXR1cm4gbWV0YVByb3BlcnRpZXM7CiB9CiAK
LXZvaWQgU2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXImIGxvYWRlciwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4gcHJvbWlzZSkKK3ZvaWQg
U2NyaXB0TW9kdWxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChNb2R1bGVTY3JpcHRMb2FkZXImIG1v
ZHVsZVNjcmlwdExvYWRlciwgVVJMJiYgc291cmNlVVJMLCBSZWY8RGVmZXJyZWRQcm9taXNlPiBw
cm9taXNlKQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L3dlYmFwcGFwaXMuaHRtbCNmZXRjaC1hLXNpbmdsZS1tb2R1bGUtc2NyaXB0CiAKLSAgICBVUkwg
c291cmNlVVJMID0gbG9hZGVyLnNvdXJjZVVSTCgpOwotICAgIGlmICghbV9sb2FkZXJzLnJlbW92
ZSgmbG9hZGVyKSkKKyAgICBpZiAoIW1fbG9hZGVycy5yZW1vdmUoJm1vZHVsZVNjcmlwdExvYWRl
cikpCiAgICAgICAgIHJldHVybjsKLSAgICBsb2FkZXIuY2xlYXJDbGllbnQoKTsKKyAgICBtb2R1
bGVTY3JpcHRMb2FkZXIuY2xlYXJDbGllbnQoKTsKKworICAgIGF1dG8gY2Fub25pY2FsaXplQW5k
UmVnaXN0ZXJSZXNwb25zZVVSTCA9IFsmXSAoVVJMIHJlc3BvbnNlVVJMLCBib29sIGhhc1JlZGly
ZWN0aW9ucywgUmVzb3VyY2VSZXNwb25zZTo6U291cmNlIHNvdXJjZSkgeworICAgICAgICAvLyBJ
ZiB3ZSBkbyBub3QgaGF2ZSByZWRpcmVjdGlvbiwgd2UgbXVzdCByZXNlcnZlIHRoZSBzb3VyY2Ug
VVJMJ3MgZnJhZ21lbnQgZXhwbGljaXRseSBoZXJlIHNpbmNlIFJlc291cmNlUmVzcG9uc2U6OnVy
bCgpIGlzIHRoZSBvbmUgd2hlbiB3ZSBmaXJzdCBjYWNoZSBpdCB0byBNZW1vcnlDYWNoZS4KKyAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRpcmVj
dGlvbnMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTg0MjAKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMDQ5MAorICAgICAgICBpZiAoIWhhc1JlZGlyZWN0aW9ucyAmJiBzb3VyY2UgIT0gUmVz
b3VyY2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7CisgICAgICAgICAgICBpZiAo
c291cmNlVVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQorICAgICAgICAgICAgICAgIHJlc3Bv
bnNlVVJMLnNldEZyYWdtZW50SWRlbnRpZmllcihzb3VyY2VVUkwuZnJhZ21lbnRJZGVudGlmaWVy
KCkpOworICAgICAgICB9CiAKLSAgICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9hZGVyLmNhY2hl
ZFNjcmlwdCgpOworICAgICAgICBtX3JlcXVlc3RVUkxUb1Jlc3BvbnNlVVJMTWFwLmFkZChzb3Vy
Y2VVUkwuc3RyaW5nKCksIHJlc3BvbnNlVVJMKTsKKyAgICAgICAgcmV0dXJuIHJlc3BvbnNlVVJM
OworICAgIH07CiAKLSAgICBpZiAoY2FjaGVkU2NyaXB0LnJlc291cmNlRXJyb3IoKS5pc0FjY2Vz
c0NvbnRyb2woKSkgewotICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCAiQ3Jvc3Mt
b3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmlu
ZyBwb2xpY3kuIl9zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBpZiAobV9vd25lclR5
cGUgPT0gT3duZXJUeXBlOjpEb2N1bWVudCkgeworICAgICAgICBhdXRvJiBsb2FkZXIgPSBzdGF0
aWNfY2FzdDxDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXImPihtb2R1bGVTY3JpcHRMb2FkZXIpOwor
ICAgICAgICBhdXRvJiBjYWNoZWRTY3JpcHQgPSAqbG9hZGVyLmNhY2hlZFNjcmlwdCgpOwogCi0g
ICAgaWYgKGNhY2hlZFNjcmlwdC5lcnJvck9jY3VycmVkKCkpIHsKLSAgICAgICAgcmVqZWN0VG9Q
cm9wYWdhdGVOZXR3b3JrRXJyb3IoKnByb21pc2UsIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6Oldh
c0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iX3MpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQorICAgICAgICBpZiAoY2FjaGVkU2NyaXB0LnJlc291cmNlRXJyb3Io
KS5pc0FjY2Vzc0NvbnRyb2woKSkgeworICAgICAgICAgICAgcmVqZWN0VG9Qcm9wYWdhdGVOZXR3
b3JrRXJyb3IocHJvbWlzZS5nZXQoKSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3Jl
ZCwgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291
cmNlIFNoYXJpbmcgcG9saWN5LiJfcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
IAotICAgIGlmIChjYWNoZWRTY3JpcHQud2FzQ2FuY2VsZWQoKSkgewotICAgICAgICByZWplY3RU
b1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcigqcHJvbWlzZSwgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6
V2FzQ2FuY2VsZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGlzIGNhbmNlbGVkLiJfcyk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGlmIChjYWNoZWRTY3JpcHQuZXJyb3JP
Y2N1cnJlZCgpKSB7CisgICAgICAgICAgICByZWplY3RUb1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihw
cm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kOjpXYXNFcnJvcmVkLCAiSW1wb3J0
aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQogCi0gICAgaWYgKCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3Jp
cHRNSU1FVHlwZShjYWNoZWRTY3JpcHQucmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgewotICAgICAg
ICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0
bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAotICAgICAgICAvLyBUaGUgcmVzdWx0IG9m
IGV4dHJhY3RpbmcgYSBNSU1FIHR5cGUgZnJvbSByZXNwb25zZSdzIGhlYWRlciBsaXN0IChpZ25v
cmluZyBwYXJhbWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZS4KLSAgICAgICAg
Ly8gRm9yIGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2Vz
IG5vdCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3Jp
cHRzIHdpbGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0
eXBlLgotICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwg
Y2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkubWltZVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2
YVNjcmlwdCBNSU1FIHR5cGUuIikpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBp
ZiAoY2FjaGVkU2NyaXB0Lndhc0NhbmNlbGVkKCkpIHsKKyAgICAgICAgICAgIHJlamVjdFRvUHJv
cGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQ6
Oldhc0NhbmNlbGVkLCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBpcyBjYW5jZWxlZC4iX3Mp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoYXV0byogcGFyYW1l
dGVycyA9IGxvYWRlci5wYXJhbWV0ZXJzKCkpIHsKLSAgICAgICAgaWYgKCFtYXRjaEludGVncml0
eU1ldGFkYXRhKGNhY2hlZFNjcmlwdCwgcGFyYW1ldGVycy0+aW50ZWdyaXR5KCkpKSB7Ci0gICAg
ICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJDYW5ub3QgbG9h
ZCBzY3JpcHQgIiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNoZWRTY3JpcHQsIHBh
cmFtZXRlcnMtPmludGVncml0eSgpKSkpOworICAgICAgICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6
OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKGNhY2hlZFNjcmlwdC5yZXNwb25zZSgpLm1p
bWVUeXBlKCkpKSB7CisgICAgICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3Jn
L211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5nbGUtbW9kdWxlLXNjcmlwdAor
ICAgICAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBleHRyYWN0aW5nIGEgTUlNRSB0eXBlIGZyb20g
cmVzcG9uc2UncyBoZWFkZXIgbGlzdCAoaWdub3JpbmcgcGFyYW1ldGVycykgaXMgbm90IGEgSmF2
YVNjcmlwdCBNSU1FIHR5cGUuCisgICAgICAgICAgICAvLyBGb3IgaGlzdG9yaWNhbCByZWFzb25z
LCBmZXRjaGluZyBhIGNsYXNzaWMgc2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgTUlNRSB0eXBlIGNo
ZWNraW5nLiBJbiBjb250cmFzdCwgbW9kdWxlIHNjcmlwdHMgd2lsbCBmYWlsIHRvIGxvYWQgaWYg
dGhleSBhcmUgbm90IG9mIGEgY29ycmVjdCBNSU1FIHR5cGUuCisgICAgICAgICAgICBwcm9taXNl
LT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCInIiwgY2FjaGVkU2NyaXB0LnJlc3BvbnNl
KCkubWltZVR5cGUoKSwgIicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIikp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgfQogCi0gICAgVVJMIHJlc3Bv
bnNlVVJMID0gY2FjaGVkU2NyaXB0LnJlc3BvbnNlKCkudXJsKCk7Ci0gICAgLy8gSWYgd2UgZG8g
bm90IGhhdmUgcmVkaXJlY3Rpb24sIHdlIG11c3QgcmVzZXJ2ZSB0aGUgc291cmNlIFVSTCdzIGZy
YWdtZW50IGV4cGxpY2l0bHkgaGVyZSBzaW5jZSBSZXNvdXJjZVJlc3BvbnNlOjp1cmwoKSBpcyB0
aGUgb25lIHdoZW4gd2UgZmlyc3QgY2FjaGUgaXQgdG8gTWVtb3J5Q2FjaGUuCi0gICAgLy8gRklY
TUU6IFdlIHNob3VsZCB0cmFjayBmcmFnbWVudHMgdGhyb3VnaCByZWRpcmVjdGlvbnMuCi0gICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODQyMAotICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0OTAKLSAgICBpZiAo
IWNhY2hlZFNjcmlwdC5oYXNSZWRpcmVjdGlvbnMoKSAmJiBjYWNoZWRTY3JpcHQucmVzcG9uc2Uo
KS5zb3VyY2UoKSAhPSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VXb3JrZXIpIHsK
LSAgICAgICAgaWYgKHNvdXJjZVVSTC5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkKLSAgICAgICAg
ICAgIHJlc3BvbnNlVVJMLnNldEZyYWdtZW50SWRlbnRpZmllcihzb3VyY2VVUkwuZnJhZ21lbnRJ
ZGVudGlmaWVyKCkpOwotICAgIH0KKyAgICAgICAgaWYgKGF1dG8qIHBhcmFtZXRlcnMgPSBsb2Fk
ZXIucGFyYW1ldGVycygpKSB7CisgICAgICAgICAgICBpZiAoIW1hdGNoSW50ZWdyaXR5TWV0YWRh
dGEoY2FjaGVkU2NyaXB0LCBwYXJhbWV0ZXJzLT5pbnRlZ3JpdHkoKSkpIHsKKyAgICAgICAgICAg
ICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJDYW5ub3QgbG9hZCBz
Y3JpcHQgIiwgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjYWNoZWRTY3JpcHQsIHBhcmFt
ZXRlcnMtPmludGVncml0eSgpKSkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQogCi0gICAgbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcC5hZGQo
c291cmNlVVJMLnN0cmluZygpLCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSk7Ci0gICAgcHJvbWlzZS0+
cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9NR2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVj
dCkgewotICAgICAgICByZXR1cm4gSlNDOjpKU1NvdXJjZUNvZGU6OmNyZWF0ZShqc0dsb2JhbE9i
amVjdC52bSgpLAotICAgICAgICAgICAgSlNDOjpTb3VyY2VDb2RlIHsgU2NyaXB0U291cmNlQ29k
ZSB7ICZjYWNoZWRTY3JpcHQsIEpTQzo6U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUs
IGxvYWRlci5zY3JpcHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9KTsKLSAgICB9KTsKKyAg
ICAgICAgY2Fub25pY2FsaXplQW5kUmVnaXN0ZXJSZXNwb25zZVVSTChjYWNoZWRTY3JpcHQucmVz
cG9uc2UoKS51cmwoKSwgY2FjaGVkU2NyaXB0Lmhhc1JlZGlyZWN0aW9ucygpLCBjYWNoZWRTY3Jp
cHQucmVzcG9uc2UoKS5zb3VyY2UoKSk7CisgICAgICAgIHByb21pc2UtPnJlc29sdmVXaXRoQ2Fs
bGJhY2soWyZdIChKU0RPTUdsb2JhbE9iamVjdCYganNHbG9iYWxPYmplY3QpIHsKKyAgICAgICAg
ICAgIHJldHVybiBKU0M6OkpTU291cmNlQ29kZTo6Y3JlYXRlKGpzR2xvYmFsT2JqZWN0LnZtKCks
CisgICAgICAgICAgICAgICAgSlNDOjpTb3VyY2VDb2RlIHsgU2NyaXB0U291cmNlQ29kZSB7ICZj
YWNoZWRTY3JpcHQsIEpTQzo6U291cmNlUHJvdmlkZXJTb3VyY2VUeXBlOjpNb2R1bGUsIGxvYWRl
ci5zY3JpcHRGZXRjaGVyKCkgfS5qc1NvdXJjZUNvZGUoKSB9KTsKKyAgICAgICAgfSk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgYXV0byYgbG9hZGVyID0gc3RhdGljX2Nhc3Q8V29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyJj4obW9kdWxlU2NyaXB0TG9hZGVyKTsKKyAgICAgICAgYXV0byYgd29ya2Vy
U2NyaXB0TG9hZGVyID0gbG9hZGVyLnNjcmlwdExvYWRlcigpOworCisgICAgICAgIGlmICh3b3Jr
ZXJTY3JpcHRMb2FkZXIuZmFpbGVkKCkpIHsKKyAgICAgICAgICAgIGlmICh3b3JrZXJTY3JpcHRM
b2FkZXIuZXJyb3IoKS5pc0FjY2Vzc0NvbnRyb2woKSkgeworICAgICAgICAgICAgICAgIHJlamVj
dFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZldGNoRmFpbHVy
ZUtpbmQ6Oldhc0Vycm9yZWQsICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENy
b3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iX3MpOworICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHdvcmtlclNjcmlwdExv
YWRlci5lcnJvcigpLmlzQ2FuY2VsbGF0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICByZWplY3RU
b1Byb3BhZ2F0ZU5ldHdvcmtFcnJvcihwcm9taXNlLmdldCgpLCBNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kOjpXYXNDYW5jZWxlZCwgIkltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgaXMgY2FuY2VsZWQu
Il9zKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIHJlamVjdFRvUHJvcGFnYXRlTmV0d29ya0Vycm9yKHByb21pc2UuZ2V0KCksIE1vZHVsZUZl
dGNoRmFpbHVyZUtpbmQ6Oldhc0Vycm9yZWQsICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZh
aWxlZC4iX3MpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYg
KCFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZSh3b3JrZXJT
Y3JpcHRMb2FkZXIucmVzcG9uc2VNSU1FVHlwZSgpKSkgeworICAgICAgICAgICAgLy8gaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEt
c2luZ2xlLW1vZHVsZS1zY3JpcHQKKyAgICAgICAgICAgIC8vIFRoZSByZXN1bHQgb2YgZXh0cmFj
dGluZyBhIE1JTUUgdHlwZSBmcm9tIHJlc3BvbnNlJ3MgaGVhZGVyIGxpc3QgKGlnbm9yaW5nIHBh
cmFtZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLgorICAgICAgICAgICAgLy8g
Rm9yIGhpc3RvcmljYWwgcmVhc29ucywgZmV0Y2hpbmcgYSBjbGFzc2ljIHNjcmlwdCBkb2VzIG5v
dCBpbmNsdWRlIE1JTUUgdHlwZSBjaGVja2luZy4gSW4gY29udHJhc3QsIG1vZHVsZSBzY3JpcHRz
IHdpbGwgZmFpbCB0byBsb2FkIGlmIHRoZXkgYXJlIG5vdCBvZiBhIGNvcnJlY3QgTUlNRSB0eXBl
LgorICAgICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgbWFrZVN0cmluZygiJyIs
IHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZU1JTUVUeXBlKCksICInIGlzIG5vdCBhIHZhbGlk
IEphdmFTY3JpcHQgTUlNRSB0eXBlLiIpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorCisgICAgICAgIGlmIChhdXRvKiBwYXJhbWV0ZXJzID0gbG9hZGVyLnBhcmFtZXRlcnMoKSkg
eworICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyB0b3AtbGV2ZWwtbW9kdWxlLCB0aGVuIHdlIGV4
dHJhY3QgcmVmZXJyZXItcG9saWN5IGFuZCBhcHBseSB0byB0aGUgZGVwZW5kZW50IG1vZHVsZXMu
CisgICAgICAgICAgICBpZiAocGFyYW1ldGVycy0+aXNUb3BMZXZlbE1vZHVsZSgpKQorICAgICAg
ICAgICAgICAgIHN0YXRpY19jYXN0PFdvcmtlclNjcmlwdEZldGNoZXImPihsb2FkZXIuc2NyaXB0
RmV0Y2hlcigpKS5zZXRSZWZlcnJlclBvbGljeShsb2FkZXIucmVmZXJyZXJQb2xpY3koKSk7Cisg
ICAgICAgIH0KKworICAgICAgICBVUkwgcmVzcG9uc2VVUkwgPSBjYW5vbmljYWxpemVBbmRSZWdp
c3RlclJlc3BvbnNlVVJMKHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZVVSTCgpLCB3b3JrZXJT
Y3JpcHRMb2FkZXIuaXNSZWRpcmVjdGVkKCksIHdvcmtlclNjcmlwdExvYWRlci5yZXNwb25zZVNv
dXJjZSgpKTsKKyAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhDYWxsYmFjayhbJl0gKEpTRE9N
R2xvYmFsT2JqZWN0JiBqc0dsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJuIEpTQzo6
SlNTb3VyY2VDb2RlOjpjcmVhdGUoanNHbG9iYWxPYmplY3Qudm0oKSwKKyAgICAgICAgICAgICAg
ICBKU0M6OlNvdXJjZUNvZGUgeyBTY3JpcHRTb3VyY2VDb2RlIHsgd29ya2VyU2NyaXB0TG9hZGVy
LnNjcmlwdCgpLCBXVEZNb3ZlKHJlc3BvbnNlVVJMKSwgeyB9LCBKU0M6OlNvdXJjZVByb3ZpZGVy
U291cmNlVHlwZTo6TW9kdWxlLCBsb2FkZXIuc2NyaXB0RmV0Y2hlcigpIH0uanNTb3VyY2VDb2Rl
KCkgfSk7CisgICAgICAgIH0pOworICAgIH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuaAppbmRleCBkZTI5ZDJmNGJmMDk2YjYwYzM2
OTk4MDMxNmMxNDg2YjI4MmFiZjA5Li5kZjM0ZDU1MWExMWNkOThmNGUyMzZhMmFhMWY0ODI3OWQ5
NjRjNjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1
bGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVM
b2FkZXIuaApAQCAtMjUsOCArMjUsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlci5oIgotI2luY2x1ZGUgIkNhY2hlZE1vZHVsZVNjcmlwdExv
YWRlckNsaWVudC5oIgorI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExvYWRlci5oIgorI2luY2x1ZGUg
Ik1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
Q0pTVmFsdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgpAQCAtNDUsMTYgKzQ1LDE3IEBAIGNsYXNzIFNvdXJjZU9yaWdpbjsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEb2N1bWVudDsKIGNsYXNzIEpTRE9NR2xvYmFsT2Jq
ZWN0OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAotY2xhc3MgU2NyaXB0TW9kdWxl
TG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewor
Y2xhc3MgU2NyaXB0TW9kdWxlTG9hZGVyIGZpbmFsIDogcHJpdmF0ZSBNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdE1vZHVsZUxvYWRlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0IFNjcmlwdE1v
ZHVsZUxvYWRlcihEb2N1bWVudCYpOworICAgIGVudW0gY2xhc3MgT3duZXJUeXBlIDogdWludDhf
dCB7IERvY3VtZW50LCBXb3JrZXJPcldvcmtsZXQgfTsKKyAgICBleHBsaWNpdCBTY3JpcHRNb2R1
bGVMb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE93bmVyVHlwZSk7CiAgICAgflNjcmlw
dE1vZHVsZUxvYWRlcigpOwogCi0gICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgeyByZXR1cm4gbV9k
b2N1bWVudDsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQoKSB7IHJldHVy
biBtX2NvbnRleHQ7IH0KIAogICAgIEpTQzo6SWRlbnRpZmllciByZXNvbHZlKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZU5hbWUs
IEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIHNjcmlwdEZldGNo
ZXIpOwogICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpK
U1ZhbHVlIHBhcmFtZXRlcnMsIEpTQzo6SlNWYWx1ZSBzY3JpcHRGZXRjaGVyKTsKQEAgLTYzLDEz
ICs2NCwxNSBAQCBjbGFzcyBTY3JpcHRNb2R1bGVMb2FkZXIgZmluYWwgOiBwcml2YXRlIENhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CiAgICAgSlNDOjpKU09iamVjdCogY3JlYXRlSW1w
b3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNNb2R1bGVMb2Fk
ZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBKU0M6OkpTVmFsdWUpOwog
CiBwcml2YXRlOgotICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9h
ZGVyJiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4pIGZpbmFsOworICAgIHZvaWQgbm90aWZ5Rmlu
aXNoZWQoTW9kdWxlU2NyaXB0TG9hZGVyJiwgVVJMJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+KSBm
aW5hbDsKKwogICAgIFVSTCBtb2R1bGVVUkwoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNW
YWx1ZSk7CiAgICAgVVJMIHJlc3BvbnNlVVJMRnJvbVJlcXVlc3RVUkwoSlNDOjpKU0dsb2JhbE9i
amVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAKLSAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFVS
TD4gbV9yZXF1ZXN0VVJMVG9SZXNwb25zZVVSTE1hcDsKLSAgICBIYXNoU2V0PFJlZjxDYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXI+PiBtX2xvYWRlcnM7CisgICAgSGFzaFNldDxSZWY8TW9kdWxlU2Ny
aXB0TG9hZGVyPj4gbV9sb2FkZXJzOworICAgIE93bmVyVHlwZSBtX293bmVyVHlwZTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFNvdXJjZUNvZGUuaAppbmRleCBjNzA0NjI2ZmI3MzNkYjQ3MmJkYTUwMjM2MjQxYTZlNzQw
ZTI3ODJiLi4xMGZhN2U4YjQ0OWM4Yjg0OWViMzdjYzFmMmM4NjZmYTg5M2FhZDZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291cmNlQ29kZS5oCkBAIC01Nyw3ICs1
Nyw3IEBAIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGUgewogICAgIHsKICAgICB9CiAKLSAgICBTY3Jp
cHRTb3VyY2VDb2RlKGNvbnN0IFN0cmluZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRleHRQ
b3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUgc291
cmNlVHlwZSwgUmVmPENhY2hlZFNjcmlwdEZldGNoZXI+JiYgc2NyaXB0RmV0Y2hlcikKKyAgICBT
Y3JpcHRTb3VyY2VDb2RlKGNvbnN0IFN0cmluZyYgc291cmNlLCBVUkwmJiB1cmwsIGNvbnN0IFRl
eHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5cGUg
c291cmNlVHlwZSwgUmVmPEpTQzo6U2NyaXB0RmV0Y2hlcj4mJiBzY3JpcHRGZXRjaGVyKQogICAg
ICAgICA6IG1fcHJvdmlkZXIoSlNDOjpTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJj
ZSwgSlNDOjpTb3VyY2VPcmlnaW4geyB1cmwsIFdURk1vdmUoc2NyaXB0RmV0Y2hlcikgfSwgdXJs
LnN0cmluZygpLCBzdGFydFBvc2l0aW9uLCBzb3VyY2VUeXBlKSkKICAgICAgICAgLCBtX2NvZGUo
bV9wcm92aWRlci5jb3B5UmVmKCksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCks
IHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKSkKICAgICB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mODcwYTBkMWRhMzM4NTAwZjhlNGQ5MjY3MjNlZjU0MDlmZmNmNTliCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyTW9kdWxl
U2NyaXB0TG9hZGVyLmNwcApAQCAtMCwwICsxLDEwNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuaCIKKworI2lu
Y2x1ZGUgIkNhY2hlZFNjcmlwdEZldGNoZXIuaCIKKyNpbmNsdWRlICJET01XcmFwcGVyV29ybGQu
aCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1
ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJhbWV0
ZXJzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCisjaW5jbHVkZSAiU2Ny
aXB0Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNjcmlwdE1vZHVsZUxvYWRlci5oIgorI2luY2x1
ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKKyNpbmNsdWRlICJXb3JrZXJTY3JpcHRGZXRjaGVyLmgi
CisjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworUmVmPFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcj4gV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVy
OjpjcmVhdGUoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIERlZmVycmVkUHJvbWlz
ZSYgcHJvbWlzZSwgV29ya2VyU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgUmVmUHRyPE1v
ZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQoreworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcihjbGllbnQsIHByb21pc2UsIHNjcmlwdEZl
dGNoZXIsIFdURk1vdmUocGFyYW1ldGVycykpKTsKK30KKworV29ya2VyTW9kdWxlU2NyaXB0TG9h
ZGVyOjpXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIoTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50JiBj
bGllbnQsIERlZmVycmVkUHJvbWlzZSYgcHJvbWlzZSwgV29ya2VyU2NyaXB0RmV0Y2hlciYgc2Ny
aXB0RmV0Y2hlciwgUmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzKQor
ICAgIDogTW9kdWxlU2NyaXB0TG9hZGVyKGNsaWVudCwgcHJvbWlzZSwgc2NyaXB0RmV0Y2hlciwg
V1RGTW92ZShwYXJhbWV0ZXJzKSkKKyAgICAsIG1fc2NyaXB0TG9hZGVyKFdvcmtlclNjcmlwdExv
YWRlcjo6Y3JlYXRlKCkpCit7Cit9CisKK1dvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6fldvcmtl
ck1vZHVsZVNjcmlwdExvYWRlcigpCit7CisgICAgbV9zY3JpcHRMb2FkZXItPmNhbmNlbCgpOwor
fQorCitib29sIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcjo6bG9hZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBVUkwmJiBzb3VyY2VVUkwpCit7CisgICAgbV9zb3VyY2VVUkwgPSBX
VEZNb3ZlKHNvdXJjZVVSTCk7CisKKyAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCB7IG1fc291
cmNlVVJMIH07CisKKyAgICBGZXRjaE9wdGlvbnMgZmV0Y2hPcHRpb25zOworICAgIGZldGNoT3B0
aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpDb3JzOworICAgIGZldGNoT3B0aW9ucy5j
YWNoZSA9IEZldGNoT3B0aW9uczo6Q2FjaGU6OkRlZmF1bHQ7CisgICAgZmV0Y2hPcHRpb25zLnJl
ZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDo6Rm9sbG93OworICAgIGZldGNoT3B0aW9u
cy5jcmVkZW50aWFscyA9IHN0YXRpY19jYXN0PFdvcmtlclNjcmlwdEZldGNoZXImPihzY3JpcHRG
ZXRjaGVyKCkpLmNyZWRlbnRpYWxzKCk7CisgICAgZmV0Y2hPcHRpb25zLmRlc3RpbmF0aW9uID0g
c3RhdGljX2Nhc3Q8V29ya2VyU2NyaXB0RmV0Y2hlciY+KHNjcmlwdEZldGNoZXIoKSkuZGVzdGlu
YXRpb24oKTsKKyAgICBmZXRjaE9wdGlvbnMucmVmZXJyZXJQb2xpY3kgPSBzdGF0aWNfY2FzdDxX
b3JrZXJTY3JpcHRGZXRjaGVyJj4oc2NyaXB0RmV0Y2hlcigpKS5yZWZlcnJlclBvbGljeSgpOwor
ICAgIGF1dG8gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBjb250ZXh0LnNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5
UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVu
Zm9yY2VtZW50OjpFbmZvcmNlQ2hpbGRTcmNEaXJlY3RpdmU7CisKKyAgICAvLyBodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjZmV0Y2gtYS1zaW5n
bGUtbW9kdWxlLXNjcmlwdAorICAgIC8vIElmIGRlc3RpbmF0aW9uIGlzICJ3b3JrZXIiIG9yICJz
aGFyZWR3b3JrZXIiIGFuZCB0aGUgdG9wLWxldmVsIG1vZHVsZSBmZXRjaCBmbGFnIGlzIHNldCwg
dGhlbiBzZXQgcmVxdWVzdCdzIG1vZGUgdG8gInNhbWUtb3JpZ2luIi4KKyAgICBpZiAoZmV0Y2hP
cHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8
fCBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6
U2VydmljZXdvcmtlcikgeworICAgICAgICBpZiAocGFyYW1ldGVycygpICYmIHBhcmFtZXRlcnMo
KS0+aXNUb3BMZXZlbE1vZHVsZSgpKQorICAgICAgICAgICAgZmV0Y2hPcHRpb25zLm1vZGUgPSBG
ZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW47CisgICAgfQorCisgICAgbV9zY3JpcHRMb2Fk
ZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3Zl
KGZldGNoT3B0aW9ucyksIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNl
V29ya2Vyc01vZGU6OkFsbCwgKnRoaXMsIHRhc2tNb2RlKCkpOworICAgIHJldHVybiB0cnVlOwor
fQorCitSZWZlcnJlclBvbGljeSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI6OnJlZmVycmVyUG9s
aWN5KCkKK3sKKyAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fc2Ny
aXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhl
YWRlcikpCisgICAgICAgIHJldHVybiAqcG9saWN5OworICAgIHJldHVybiBSZWZlcnJlclBvbGlj
eTo6RW1wdHlTdHJpbmc7Cit9CisKK3ZvaWQgV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyOjpub3Rp
ZnlGaW5pc2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisKKyAgICBhdXRvIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1f
Y2xpZW50LT5ub3RpZnlGaW5pc2hlZCgqdGhpcywgV1RGTW92ZShtX3NvdXJjZVVSTCksIG1fcHJv
bWlzZS5yZWxlYXNlTm9uTnVsbCgpKTsKK30KKworU3RyaW5nIFdvcmtlck1vZHVsZVNjcmlwdExv
YWRlcjo6dGFza01vZGUoKQoreworICAgIHJldHVybiAibG9hZE1vZHVsZXNJbldvcmtlck9yV29y
a2xldE1vZGUiX3M7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI4YjhiMTc2MTQ1YzI3
MGJhYjY0ZjBjMGY0Yzc4N2ViMjRhMzBkNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dvcmtlck1vZHVsZVNjcmlwdExvYWRlci5oCkBAIC0wLDAgKzEsNjcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIk1vZHVsZVNjcmlwdExv
YWRlci5oIgorI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUg
PHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVVJMLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgRGVmZXJyZWRQcm9taXNlOworY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CitjbGFzcyBN
b2R1bGVGZXRjaFBhcmFtZXRlcnM7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xh
c3MgTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50OworY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyOwor
CitjbGFzcyBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIgZmluYWwgOiBwdWJsaWMgTW9kdWxlU2Ny
aXB0TG9hZGVyLCBwcml2YXRlIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFJlZjxXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXI+IGNyZWF0ZShNb2R1bGVTY3Jp
cHRMb2FkZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiwg
UmVmUHRyPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2aXJ0dWFsIH5Xb3JrZXJN
b2R1bGVTY3JpcHRMb2FkZXIoKTsKKworICAgIGJvb2wgbG9hZChTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgVVJMJiYgc291cmNlVVJMKTsKKworICAgIFdvcmtlclNjcmlwdExvYWRlciYgc2NyaXB0
TG9hZGVyKCkgeyByZXR1cm4gbV9zY3JpcHRMb2FkZXIuZ2V0KCk7IH0KKworICAgIHN0YXRpYyBT
dHJpbmcgdGFza01vZGUoKTsKKyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpOwor
Citwcml2YXRlOgorICAgIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlcihNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQmLCBEZWZlcnJlZFByb21pc2UmLCBXb3JrZXJTY3JpcHRGZXRjaGVyJiwgUmVmUHRy
PE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJik7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25z
ZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWwgeyB9CisgICAg
dm9pZCBub3RpZnlGaW5pc2hlZCgpIGZpbmFsOworCisgICAgUmVmPFdvcmtlclNjcmlwdExvYWRl
cj4gbV9zY3JpcHRMb2FkZXI7CisgICAgVVJMIG1fc291cmNlVVJMOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0RmV0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2Ny
aXB0RmV0Y2hlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5ZTJkMjVkODg1MDRmNzg0NDcxZmVjNGRlZmEyNTZk
NmU1N2Y4ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
b3JrZXJTY3JpcHRGZXRjaGVyLmgKQEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSAiTG9hZGFibGVTY3JpcHQuaCIKKyNpbmNsdWRlICJNb2R1bGVG
ZXRjaFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRGZXRjaGVy
Lmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVkU2NyaXB0OworY2xh
c3MgRG9jdW1lbnQ7CisKK2NsYXNzIFdvcmtlclNjcmlwdEZldGNoZXIgZmluYWwgOiBwdWJsaWMg
SlNDOjpTY3JpcHRGZXRjaGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdvcmtlclNjcmlw
dEZldGNoZXI+IGNyZWF0ZShGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLCBSZWZlcnJlclBvbGljeSByZWZl
cnJlclBvbGljeSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdvcmtlclNj
cmlwdEZldGNoZXIoY3JlZGVudGlhbHMsIGRlc3RpbmF0aW9uLCByZWZlcnJlclBvbGljeSkpOwor
ICAgIH0KKworICAgIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMoKSBjb25z
dCB7IHJldHVybiBtX2NyZWRlbnRpYWxzOyB9CisgICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
biBkZXN0aW5hdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGluYXRpb247IH0KKyAgICBSZWZl
cnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmZXJyZXJQb2xp
Y3k7IH0KKworICAgIHZvaWQgbm90aWZ5TG9hZENvbXBsZXRlZChVbmlxdWVkU3RyaW5nSW1wbCYg
bW9kdWxlS2V5KQorICAgIHsKKyAgICAgICAgbV9tb2R1bGVLZXkgPSAmbW9kdWxlS2V5OworICAg
ICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIG5vdGlmeUxvYWRGYWls
ZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yJiYgZXJyb3IpCisgICAgeworICAgICAgICBtX2Vycm9y
ID0gV1RGTW92ZShlcnJvcik7CisgICAgICAgIG1faXNMb2FkZWQgPSB0cnVlOworICAgIH0KKwor
ICAgIHZvaWQgbm90aWZ5TG9hZFdhc0NhbmNlbGVkKCkKKyAgICB7CisgICAgICAgIG1fd2FzQ2Fu
Y2VsZWQgPSB0cnVlOworICAgICAgICBtX2lzTG9hZGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBi
b29sIGlzTG9hZGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0xvYWRlZDsgfQorICAgIE9wdGlvbmFs
PExvYWRhYmxlU2NyaXB0OjpFcnJvcj4gZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9
CisgICAgYm9vbCB3YXNDYW5jZWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2FzQ2FuY2VsZWQ7IH0K
KyAgICBVbmlxdWVkU3RyaW5nSW1wbCogbW9kdWxlS2V5KCkgY29uc3QgeyByZXR1cm4gbV9tb2R1
bGVLZXkuZ2V0KCk7IH0KKyAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMoKSB7
IHJldHVybiBtX3BhcmFtZXRlcnMuZ2V0KCk7IH0KKworICAgIHZvaWQgc2V0UmVmZXJyZXJQb2xp
Y3koUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kpCisgICAgeworICAgICAgICBtX3JlZmVy
cmVyUG9saWN5ID0gcmVmZXJyZXJQb2xpY3k7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAgV29y
a2VyU2NyaXB0RmV0Y2hlcihGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLCBSZWZlcnJlclBvbGljeSByZWZl
cnJlclBvbGljeSkKKyAgICAgICAgOiBtX2NyZWRlbnRpYWxzKGNyZWRlbnRpYWxzKQorICAgICAg
ICAsIG1fZGVzdGluYXRpb24oZGVzdGluYXRpb24pCisgICAgICAgICwgbV9yZWZlcnJlclBvbGlj
eShyZWZlcnJlclBvbGljeSkKKyAgICAgICAgLCBtX3BhcmFtZXRlcnMoTW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzOjpjcmVhdGUoZW1wdHlTdHJpbmcoKSwgLyogaXNUb3BMZXZlbE1vZHVsZSAqLyB0cnVl
KSkKKyAgICB7CisgICAgfQorCitwcml2YXRlOgorICAgIEZldGNoT3B0aW9uczo6Q3JlZGVudGlh
bHMgbV9jcmVkZW50aWFsczsKKyAgICBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIG1fZGVzdGlu
YXRpb247CisgICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBvbGljeSB7IFJlZmVycmVyUG9s
aWN5OjpFbXB0eVN0cmluZyB9OworICAgIFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4gbV9tb2R1
bGVLZXk7CisgICAgUmVmPE1vZHVsZUZldGNoUGFyYW1ldGVycz4gbV9wYXJhbWV0ZXJzOworICAg
IE9wdGlvbmFsPExvYWRhYmxlU2NyaXB0OjpFcnJvcj4gbV9lcnJvcjsKKyAgICBib29sIG1fd2Fz
Q2FuY2VsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0xvYWRlZCB7IGZhbHNlIH07Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBhZjkw
ZWU2YWE5MjQyYmFiMDUyM2EwMDU1MDE4NTBhMmM3MWUzMTY4Li5hMzVlYTE4OGQzZGY1M2QwMDNj
Y2YxM2Q3MmEyMzdiMWU3OWJhZGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYxNSw3
ICs2MTUsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBTZXR0aW5n
cyYgc2V0dGluZ3MsIGNvbnN0IFVSTCYgdXJsLCBEb2N1bQogICAgICwgbV9kb2N1bWVudENyZWF0
aW9uVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKICNlbmRpZgogICAgICwgbV9zY3JpcHRSdW5u
ZXIobWFrZVVuaXF1ZTxTY3JpcHRSdW5uZXI+KCp0aGlzKSkKLSAgICAsIG1fbW9kdWxlTG9hZGVy
KG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhpcykpCisgICAgLCBtX21vZHVsZUxv
YWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxv
YWRlcjo6T3duZXJUeXBlOjpEb2N1bWVudCkpCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgLCBtX2Fw
cGx5UGVuZGluZ1hTTFRyYW5zZm9ybXNUaW1lcigqdGhpcywgJkRvY3VtZW50OjphcHBseVBlbmRp
bmdYU0xUcmFuc2Zvcm1zVGltZXJGaXJlZCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25D
b2RlLmgKaW5kZXggZjZiNTU4ZWE4MmQ3OTM2OGU2MWFkYjA2MGNmMGI0ZWExZGJlYTIwYy4uMTdk
ZTc0MzQ3MmY3NzMxYjAzYzk4ZmVjZTdiMWViMWI5NjAxZTc3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXhj
ZXB0aW9uQ29kZS5oCkBAIC02MSw2ICs2MSw3IEBAIGVudW0gRXhjZXB0aW9uQ29kZSB7CiAgICAg
Ly8gU2ltcGxlIGV4Y2VwdGlvbnMgKGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lk
bC1leGNlcHRpb25zKS4KICAgICBSYW5nZUVycm9yLAogICAgIFR5cGVFcnJvciwKKyAgICBKU1N5
bnRheEVycm9yLCAvLyBEaWZmZXJlbnQgZnJvbSBET00gU1lOVEFYX0VSUi4KIAogICAgIC8vIE5v
bi1zdGFuZGFyZCBlcnJvci4KICAgICBTdGFja092ZXJmbG93RXJyb3IsCkBAIC0xMTEsNiArMTEy
LDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpFeGNlcHRpb25Db2Rl
PiB7CiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6Tm90QWxsb3dlZEVycm9yLAogICAgIFdl
YkNvcmU6OkV4Y2VwdGlvbkNvZGU6OlJhbmdlRXJyb3IsCiAgICAgV2ViQ29yZTo6RXhjZXB0aW9u
Q29kZTo6VHlwZUVycm9yLAorICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OkpTU3ludGF4RXJy
b3IsCiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZTo6U3RhY2tPdmVyZmxvd0Vycm9yLAogICAg
IFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGU6OkV4aXN0aW5nRXhjZXB0aW9uRXJyb3IKICAgICA+Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKaW5kZXggOWEyNWMx
NjU4OGVlY2FkNjc4ZmI5MTFlYzg2MjJmNDI0MjU5MmI1YS4uZmY5MGEyNzkzY2FiMDY4OWVlMDZh
Mjg4MmFjNjRjZmEyYzY1ZTk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRh
YmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1
bGVTY3JpcHQuY3BwCkBAIC00MSw3ICs0MSw3IEBAIFJlZjxMb2FkYWJsZU1vZHVsZVNjcmlwdD4g
TG9hZGFibGVNb2R1bGVTY3JpcHQ6OmNyZWF0ZShjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25zCiAK
IExvYWRhYmxlTW9kdWxlU2NyaXB0OjpMb2FkYWJsZU1vZHVsZVNjcmlwdChjb25zdCBTdHJpbmcm
IG5vbmNlLCBjb25zdCBTdHJpbmcmIGludGVncml0eSwgUmVmZXJyZXJQb2xpY3kgcG9saWN5LCBj
b25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25z
dCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVl
KQogICAgIDogTG9hZGFibGVTY3JpcHQobm9uY2UsIHBvbGljeSwgY3Jvc3NPcmlnaW5Nb2RlLCBj
aGFyc2V0LCBpbml0aWF0b3JOYW1lLCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKLSAgICAsIG1f
cGFyYW1ldGVycyhNb2R1bGVGZXRjaFBhcmFtZXRlcnM6OmNyZWF0ZShpbnRlZ3JpdHkpKQorICAg
ICwgbV9wYXJhbWV0ZXJzKE1vZHVsZUZldGNoUGFyYW1ldGVyczo6Y3JlYXRlKGludGVncml0eSwg
LyogaXNUb3BMZXZlbE1vZHVsZSAqLyB0cnVlKSkKIHsKIH0KIApAQCAtODgsMTYgKzg4LDQgQEAg
dm9pZCBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6ZXhlY3V0ZShTY3JpcHRFbGVtZW50JiBzY3JpcHRF
bGVtZW50KQogICAgIHNjcmlwdEVsZW1lbnQuZXhlY3V0ZU1vZHVsZVNjcmlwdCgqdGhpcyk7CiB9
CiAKLXZvaWQgTG9hZGFibGVNb2R1bGVTY3JpcHQ6OmxvYWQoRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBVUkwmIHJvb3RVUkwpCi17Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJh
bWUoKSkKLSAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmxvYWRNb2R1bGVTY3JpcHQoKnRoaXMsIHJv
b3RVUkwuc3RyaW5nKCksIG1fcGFyYW1ldGVycy5jb3B5UmVmKCkpOwotfQotCi12b2lkIExvYWRh
YmxlTW9kdWxlU2NyaXB0Ojpsb2FkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2NyaXB0U291
cmNlQ29kZSYgc291cmNlQ29kZSkKLXsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5m
cmFtZSgpKQotICAgICAgICBmcmFtZS0+c2NyaXB0KCkubG9hZE1vZHVsZVNjcmlwdCgqdGhpcywg
c291cmNlQ29kZSk7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2Fk
YWJsZU1vZHVsZVNjcmlwdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2Ny
aXB0LmgKaW5kZXggYmI3OTk1NGQ3Yjk5YjBlZDA2YmZlNTVlZjg1NGVjY2UyMWYzNTg3Ny4uZDI1
MzU5NjNmNjQ4YjAyYThhMDFmZDYzYmIxZTM4MTM4NmNlZTQzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmgKQEAgLTUwLDE1ICs1MCwxNCBAQCBjbGFzcyBMb2Fk
YWJsZU1vZHVsZVNjcmlwdCBmaW5hbCA6IHB1YmxpYyBMb2FkYWJsZVNjcmlwdCB7CiAKICAgICB2
b2lkIHNldEVycm9yKEVycm9yJiYpOwogCi0gICAgdm9pZCBsb2FkKERvY3VtZW50JiwgY29uc3Qg
VVJMJiByb290VVJMKTsKLSAgICB2b2lkIGxvYWQoRG9jdW1lbnQmLCBjb25zdCBTY3JpcHRTb3Vy
Y2VDb2RlJik7Ci0KICAgICB2b2lkIG5vdGlmeUxvYWRDb21wbGV0ZWQoVW5pcXVlZFN0cmluZ0lt
cGwmKTsKICAgICB2b2lkIG5vdGlmeUxvYWRGYWlsZWQoTG9hZGFibGVTY3JpcHQ6OkVycm9yJiYp
OwogICAgIHZvaWQgbm90aWZ5TG9hZFdhc0NhbmNlbGVkKCk7CiAKICAgICBVbmlxdWVkU3RyaW5n
SW1wbCogbW9kdWxlS2V5KCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGVLZXkuZ2V0KCk7IH0KIAor
ICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyYgcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1l
dGVycy5nZXQoKTsgfQorCiBwcml2YXRlOgogICAgIExvYWRhYmxlTW9kdWxlU2NyaXB0KGNvbnN0
IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwg
Y29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29u
c3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJl
ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb2R1bGVGZXRjaFBhcmFtZXRl
cnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb2R1bGVGZXRjaFBhcmFtZXRlcnMuaAppbmRleCAy
NDg0OWI2ZjY3YjJjMDFlMmM5MWZiOWE0NzMzZGU3ZWU0YjAzMDQ0Li42NWQ4MDAxZTFjMmVhYTI4
MGY0Y2Y3ZWNkNDlhMWZkNmExNDgwYjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vZHVsZUZl
dGNoUGFyYW1ldGVycy5oCkBAIC0zMSwyMCArMzEsMjMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBNb2R1bGVGZXRjaFBhcmFtZXRlcnMgOiBwdWJsaWMgSlNDOjpTY3JpcHRGZXRjaFBh
cmFtZXRlcnMgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJz
PiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHkpCisgICAgc3RhdGljIFJlZjxNb2R1bGVG
ZXRjaFBhcmFtZXRlcnM+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGludGVncml0eSwgYm9vbCBpc1Rv
cExldmVsTW9kdWxlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzKGludGVncml0eSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBNb2R1bGVGZXRjaFBhcmFtZXRlcnMoaW50ZWdyaXR5LCBpc1RvcExldmVsTW9kdWxlKSk7CiAg
ICAgfQogCiAgICAgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHkoKSBjb25zdCB7IHJldHVybiBtX2lu
dGVncml0eTsgfQorICAgIGJvb2wgaXNUb3BMZXZlbE1vZHVsZSgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNUb3BMZXZlbE1vZHVsZTsgfQogCiBwcml2YXRlOgotICAgIE1vZHVsZUZldGNoUGFyYW1ldGVy
cyhjb25zdCBTdHJpbmcmIGludGVncml0eSkKKyAgICBNb2R1bGVGZXRjaFBhcmFtZXRlcnMoY29u
c3QgU3RyaW5nJiBpbnRlZ3JpdHksIGJvb2wgaXNUb3BMZXZlbE1vZHVsZSkKICAgICAgICAgOiBt
X2ludGVncml0eShpbnRlZ3JpdHkpCisgICAgICAgICwgbV9pc1RvcExldmVsTW9kdWxlKGlzVG9w
TGV2ZWxNb2R1bGUpCiAgICAgewogICAgIH0KIAogICAgIFN0cmluZyBtX2ludGVncml0eTsKKyAg
ICBib29sIG1faXNUb3BMZXZlbE1vZHVsZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCAwNTc1OGI2MDBjNzUyMmI0N2Yz
NjRiYTZhMThkMzVmMTczMTEwN2Y5Li41ZTk5ZjBmNTc3N2IzYjIxNThkZDBmYTRiYzM4Mjc3NmNk
YjM0ODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC00Miw2ICs0Miw3
IEBACiAjaW5jbHVkZSAiTG9hZGFibGVDbGFzc2ljU2NyaXB0LmgiCiAjaW5jbHVkZSAiTG9hZGFi
bGVNb2R1bGVTY3JpcHQuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCisjaW5jbHVk
ZSAiTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgog
I2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgogI2luY2x1ZGUgIlNWR1Njcmlw
dEVsZW1lbnQuaCIKQEAgLTM1MSw4ICszNTIsMTEgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1
ZXN0TW9kdWxlU2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbikK
ICAgICAgICAgICAgIHNjcmlwdENoYXJzZXQoKSwKICAgICAgICAgICAgIG1fZWxlbWVudC5sb2Nh
bE5hbWUoKSwKICAgICAgICAgICAgIG1fZWxlbWVudC5pc0luVXNlckFnZW50U2hhZG93VHJlZSgp
KTsKLSAgICAgICAgc2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1bWVudCgpLCBtb2R1bGVTY3Jp
cHRSb290VVJMKTsKICAgICAgICAgbV9sb2FkYWJsZVNjcmlwdCA9IFdURk1vdmUoc2NyaXB0KTsK
KyAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSkg
eworICAgICAgICAgICAgYXV0byYgc2NyaXB0ID0gZG93bmNhc3Q8TG9hZGFibGVNb2R1bGVTY3Jp
cHQ+KCptX2xvYWRhYmxlU2NyaXB0LmdldCgpKTsKKyAgICAgICAgICAgIGZyYW1lLT5zY3JpcHQo
KS5sb2FkTW9kdWxlU2NyaXB0KHNjcmlwdCwgbW9kdWxlU2NyaXB0Um9vdFVSTC5zdHJpbmcoKSwg
bWFrZVJlZihzY3JpcHQucGFyYW1ldGVycygpKSk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogCkBAIC0zNjcsOCArMzcxLDkgQEAgYm9vbCBTY3JpcHRFbGVtZW50Ojpy
ZXF1ZXN0TW9kdWxlU2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlv
bikKICAgICBpZiAoIWNvbnRlbnRTZWN1cml0eVBvbGljeS5hbGxvd0lubGluZVNjcmlwdChtX2Vs
ZW1lbnQuZG9jdW1lbnQoKS51cmwoKS5zdHJpbmcoKSwgbV9zdGFydExpbmVOdW1iZXIsIHNvdXJj
ZUNvZGUuc291cmNlKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLCBoYXNLbm93bk5vbmNlKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc2NyaXB0LT5sb2FkKG1fZWxlbWVudC5kb2N1
bWVudCgpLCBzb3VyY2VDb2RlKTsKICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3Jp
cHQpOworICAgIGlmIChhdXRvKiBmcmFtZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmZyYW1lKCkp
CisgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5sb2FkTW9kdWxlU2NyaXB0KGRvd25jYXN0PExvYWRh
YmxlTW9kdWxlU2NyaXB0PigqbV9sb2FkYWJsZVNjcmlwdC5nZXQoKSksIHNvdXJjZUNvZGUpOwog
ICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5jcHAKaW5kZXggMjcxN2M4NjFjNzRiMGYyYWViY2RlNDA4NzAwZTJhOWEwMzczNzU5NS4u
MWI2NTMyYzNiMGVhYTgwZDliZDQ2YzZkNDMyMTM2OTYyMWMwMTliYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMTAxLDEwICsxMDEsMTAgQEAgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6Omlzb2xhdGVkQ29w
eSgpIGNvbnN0CiB9CiAKIAotUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVhZGFibGVMb2Fk
ZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50JiBjbGllbnQsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBTdHJpbmcmJiByZWZlcnJlcikKK1JlZlB0cjxU
aHJlYWRhYmxlTG9hZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBSZXNvdXJj
ZVJlcXVlc3QmJiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9u
cywgU3RyaW5nJiYgcmVmZXJyZXIsIFN0cmluZyYmIHRhc2tNb2RlKQogewogICAgIGlmIChpczxX
b3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkgfHwgKGlzPFdvcmtsZXRHbG9iYWxTY29wZT4oY29u
dGV4dCkgJiYgZG93bmNhc3Q8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KS53b3JrZXJPcldv
cmtsZXRUaHJlYWQoKSkpCi0gICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpj
cmVhdGUoc3RhdGljX2Nhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUmPihjb250ZXh0KSwg
Y2xpZW50LCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpLCBXVEZNb3ZlKHJlcXVlc3QpLCBv
cHRpb25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CisgICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUm
Pihjb250ZXh0KSwgY2xpZW50LCBXVEZNb3ZlKHRhc2tNb2RlKSwgV1RGTW92ZShyZXF1ZXN0KSwg
b3B0aW9ucywgV1RGTW92ZShyZWZlcnJlcikpOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0g
bnVsbHB0cjsKICAgICBpZiAoaXM8V29ya2xldEdsb2JhbFNjb3BlPihjb250ZXh0KSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGMyYjI0NWMzZWJiOGJjOTMw
ZWY0ZDE3MmJhMTUwOWExNzlmMWQ3YTYuLjFhYzcwNGI0YzNiNTBiMGZmZGEwMzQyOGMzY2U3ZGEx
NDk4ODI2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAt
NzQsNyArNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZv
aWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVz
b3VyY2VSZXF1ZXN0JiYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucyYpOwotICAgICAgICBzdGF0aWMgUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYs
IFJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIFN0cmlu
ZyYmIHJlZmVycmVyID0gU3RyaW5nKCkpOworICAgICAgICBzdGF0aWMgUmVmUHRyPFRocmVhZGFi
bGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCYsIFJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYsIFN0cmluZyYmIHJlZmVycmVyID0gU3RyaW5nKCksIFN0cmluZyYmIHRhc2tNb2RlID0geyB9
KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUlzRG9uZSgpID0gMDsKICAgICAgICAg
dmlydHVhbCB2b2lkIGNhbmNlbCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCAwZmNiNjA5ZDExZjJjOTJlNTU0
NWNmNzcwMDFlMDgyM2ZhODY1YjI3Li41N2Y0NTJjNmVlYTllMDYzZmQ3NTg4ZGU5MTM0Mjc5MGNk
ODk5YzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZS5oCkBAIC04MSw2ICs4MSw4IEBAIGNsYXNzIERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlIGZpbmFsIDogcHVibGljIFdvcmtlckdsb2JhbFNjb3BlIHsKICAgICBSZWZQdHI8
TWVzc2FnZVBvcnQ+IHRha2VQZW5kaW5nUlRDVHJhbnNmb21lck1lc3NhZ2VQb3J0KCkgeyByZXR1
cm4gV1RGTW92ZShtX3BlbmRpbmdSVENUcmFuc2ZvbWVyTWVzc2FnZVBvcnQpOyB9CiAjZW5kaWYK
IAorICAgIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb24oKSBjb25zdCBmaW5h
bCB7IHJldHVybiBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXI7IH0KKwogcHJpdmF0
ZToKICAgICB1c2luZyBCYXNlID0gV29ya2VyR2xvYmFsU2NvcGU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmNwcAppbmRleCBiZjZlMjc2YTM5YzIzMTVmODg5MGM2MzMwMzI5ZDY0NGRmY2FlYWE1
Li4wNGZkZjU4Mjc0M2ViOTczYjUyNWQ1NGM4YThkOGYzN2Q4MjUyMGZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuY3BwCkBAIC03NCw2ICs3NCw4IEBAIGlubGluZSBXb3JrZXI6OldvcmtlcihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1l
CiAgICAgLCBtX2lkZW50aWZpZXIoIndvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0Zh
Y3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSkKICAgICAsIG1fY29udGV4dFByb3h5KFdvcmtlckds
b2JhbFNjb3BlUHJveHk6OmNyZWF0ZSgqdGhpcykpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50
aW1lRmxhZ3MpCisgICAgLCBtX3R5cGUob3B0aW9ucy50eXBlKQorICAgICwgbV9jcmVkZW50aWFs
cyhvcHRpb25zLmNyZWRlbnRpYWxzKQogewogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7
CiAgICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7CkBAIC0xMTcsMTAgKzExOSwxNSBAQCBFeGNlcHRp
b25PcjxSZWY8V29ya2VyPj4gV29ya2VyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgSlNDOjpSdQogCiAgICAgRmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKICAgICBm
ZXRjaE9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsKKyAgICBp
ZiAod29ya2VyLT5tX3R5cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlKQorICAgICAgICBmZXRjaE9w
dGlvbnMuY3JlZGVudGlhbHMgPSB3b3JrZXItPm1fY3JlZGVudGlhbHM7CisgICAgZWxzZQorICAg
ICAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMgPSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxz
OjpTYW1lT3JpZ2luOwogICAgIGZldGNoT3B0aW9ucy5jYWNoZSA9IEZldGNoT3B0aW9uczo6Q2Fj
aGU6OkRlZmF1bHQ7CiAgICAgZmV0Y2hPcHRpb25zLnJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpS
ZWRpcmVjdDo6Rm9sbG93OwogICAgIGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiA9IEZldGNoT3B0
aW9uczo6RGVzdGluYXRpb246OldvcmtlcjsKLSAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5s
b2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRj
aE9wdGlvbnMpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtl
cnNNb2RlOjpBbGwsIHdvcmtlcik7CisgICAgd29ya2VyLT5tX3NjcmlwdExvYWRlci0+bG9hZEFz
eW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoZmV0Y2hPcHRp
b25zKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9k
ZTo6QWxsLCB3b3JrZXIuZ2V0KCksIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOworCiAg
ICAgcmV0dXJuIHdvcmtlcjsKIH0KIApAQCAtMjE5LDcgKzIyNiwxMyBAQCB2b2lkIFdvcmtlcjo6
bm90aWZ5RmluaXNoZWQoKQogICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5ID0gUmVm
ZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOwogICAgIGlmIChhdXRvIHBvbGljeSA9IHBhcnNlUmVm
ZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXItPnJlZmVycmVyUG9saWN5KCksIFJlZmVycmVyUG9s
aWN5U291cmNlOjpIVFRQSGVhZGVyKSkKICAgICAgICAgcmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5
OwotICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2Fk
ZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJs
KCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fcnVudGlt
ZUZsYWdzKTsKKworICAgIFVSTCByZXNwb25zZVVSTCA9IG1fc2NyaXB0TG9hZGVyLT5yZXNwb25z
ZVVSTCgpOworICAgIGlmICghbV9zY3JpcHRMb2FkZXItPmlzUmVkaXJlY3RlZCgpICYmIG1fc2Ny
aXB0TG9hZGVyLT5yZXNwb25zZVNvdXJjZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6
U2VydmljZVdvcmtlcikgeworICAgICAgICBpZiAobV9zY3JpcHRMb2FkZXItPnVybCgpLmhhc0Zy
YWdtZW50SWRlbnRpZmllcigpKQorICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJ
ZGVudGlmaWVyKG1fc2NyaXB0TG9hZGVyLT51cmwoKS5mcmFnbWVudElkZW50aWZpZXIoKSk7Cisg
ICAgfQorICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUocmVzcG9uc2VV
UkwsIG1fbmFtZSwgY29udGV4dC0+dXNlckFnZW50KHJlc3BvbnNlVVJMKSwgaXNPbmxpbmUsIG1f
c2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3Jr
ZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBtX3R5cGUsIG1fY3JlZGVudGlhbHMsIG1f
cnVudGltZUZsYWdzKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9y
dGVkKCpjb250ZXh0LCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRl
ci0+c2NyaXB0KCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAppbmRleCA1M2Y1ZTZmZmYy
N2M5ZmEzZTVjMGUwMWYwZjZjNDJjNmNiNmY5ZDBlLi4zOGE2MjNhOThkYmEzNWZmODAxM2NkNmZj
OGM4NWM4MTAyMDUwMjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKQEAgLTI5LDkgKzI5LDEx
IEBACiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNp
bmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0
LmgiCiAjaW5jbHVkZSAiUG9zdE1lc3NhZ2VPcHRpb25zLmgiCiAjaW5jbHVkZSAiV29ya2VyU2Ny
aXB0TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiV29ya2VyVHlwZS5oIgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFncy5oPgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CkBAIC01NSw2ICs1Nyw4IEBAIGNsYXNzIFdv
cmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVj
dCwgcHJpdmF0ZSBXb3JrCiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXb3JrZXIpOwogcHVi
bGljOgogICAgIHN0cnVjdCBPcHRpb25zIHsKKyAgICAgICAgV29ya2VyVHlwZSB0eXBlOworICAg
ICAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFsczsKICAgICAgICAgU3RyaW5n
IG5hbWU7CiAgICAgfTsKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBPcHRpb25zJik7CkBAIC03OSw2ICs4Myw4IEBAIGNsYXNzIFdvcmtlciBm
aW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHJp
dmF0ZSBXb3JrCiAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248
dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpOwogI2VuZGlmCiAKKyAgICBXb3JrZXJU
eXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKwogcHJpdmF0ZToKICAgICBleHBs
aWNpdCBXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBj
b25zdCBPcHRpb25zJik7CiAKQEAgLTExMiw2ICsxMTgsOCBAQCBjbGFzcyBXb3JrZXIgZmluYWwg
OiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUg
V29yawogI2lmIEVOQUJMRShXRUJfUlRDKQogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3RyYW5zZm9y
bWVyczsKICNlbmRpZgorICAgIFdvcmtlclR5cGUgbV90eXBlIHsgV29ya2VyVHlwZTo6Q2xhc3Np
YyB9OworICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIG1fY3JlZGVudGlhbHMgeyBGZXRjaFJl
cXVlc3RDcmVkZW50aWFsczo6U2FtZU9yaWdpbiB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCmluZGV4IDQ1ZDZhMDg2Nzg1NGVlNDA0ZGU3
ZTdkMDEyNDhjZWJmNDRkY2E3ZWQuLjcwMjE3OTZkZjUwNGFkZjhlNmI5NTg5YWNlOWYxNDQ4MjFm
Mjk1ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKQEAgLTM4LDYgKzM4LDggQEAKIH07
CiAKIGRpY3Rpb25hcnkgV29ya2VyT3B0aW9ucyB7CisgICAgV29ya2VyVHlwZSB0eXBlID0gImNs
YXNzaWMiOworICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzID0gInNhbWUt
b3JpZ2luIjsgLy8gY3JlZGVudGlhbHMgaXMgb25seSB1c2VkIGlmIHR5cGUgaXMgIm1vZHVsZSIK
ICAgICBET01TdHJpbmcgbmFtZSA9ICIiOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBkYmFiMzQ4ZTgwYzlkZTUwYmQyMTU3NzdhMTRh
MzlhMGY3MGU0OWM3Li5jY2RlOTA5YzdjYjUyZTk3Nzc0YzViODE1ODIzZWJjYmJiMDcwZjMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNzQs
NiArNzQsOCBAQCBXb3JrZXJHbG9iYWxTY29wZTo6V29ya2VyR2xvYmFsU2NvcGUoV29ya2VyVGhy
ZWFkVHlwZSB0eXBlLCBjb25zdCBXb3JrZXJQYXJhbWV0ZQogICAgICwgbV9wZXJmb3JtYW5jZShQ
ZXJmb3JtYW5jZTo6Y3JlYXRlKHRoaXMsIHBhcmFtcy50aW1lT3JpZ2luKSkKICAgICAsIG1fcmVm
ZXJyZXJQb2xpY3kocGFyYW1zLnJlZmVycmVyUG9saWN5KQogICAgICwgbV9zZXR0aW5nc1ZhbHVl
cyhwYXJhbXMuc2V0dGluZ3NWYWx1ZXMpCisgICAgLCBtX3dvcmtlclR5cGUocGFyYW1zLndvcmtl
clR5cGUpCisgICAgLCBtX2NyZWRlbnRpYWxzKHBhcmFtcy5jcmVkZW50aWFscykKIHsKICNpZiAh
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgVU5VU0VEX1BBUkFNKGNvbm5lY3Rpb25Qcm94
eSk7CkBAIC0yNzQsNiArMjc2LDExIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdvcmtlckdsb2JhbFNj
b3BlOjppbXBvcnRTY3JpcHRzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB1cmxzKQogewogICAgIEFT
U0VSVChjb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CiAKKyAgICAvLyBodHRwczovL2h0bWwuc3Bl
Yy53aGF0d2cub3JnL211bHRpcGFnZS93b3JrZXJzLmh0bWwjaW1wb3J0aW5nLXNjcmlwdHMtYW5k
LWxpYnJhcmllcworICAgIC8vIDEuIElmIHdvcmtlciBnbG9iYWwgc2NvcGUncyB0eXBlIGlzICJt
b2R1bGUiLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgICAgaWYgKG1fd29ya2VyVHlw
ZSA9PSBXb3JrZXJUeXBlOjpNb2R1bGUpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBl
RXJyb3IsICJpbXBvcnRTY3JpcHRzIGNhbm5vdCBiZSB1c2VkIGlmIHdvZXJrZXIgdHlwZSBpcyBc
Im1vZHVsZVwiIl9zIH07CisKICAgICBWZWN0b3I8VVJMPiBjb21wbGV0ZWRVUkxzOwogICAgIGNv
bXBsZXRlZFVSTHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSh1cmxzLnNpemUoKSk7CiAgICAgZm9y
IChhdXRvJiBlbnRyeSA6IHVybHMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuaAppbmRleCA0NmQ0OWQ5NGM1MjM4ZTQ2ODhkMzk1ZDg3YzIwNjNlYjU3MjBkMWJm
Li43NDc5NWY1YzBmOWEyYTM1ZDAwOTMwMTJhZDE4ZjU3ZTMxN2Y4MjcxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC0xMjMsNiArMTIzLDggQEAgY2xh
c3MgV29ya2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyR2xvYmFs
U2NvcGU+LCBwdWJsaWMgQmFzZTYKIAogICAgIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRp
bmdzVmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXR0aW5nc1ZhbHVlczsgfQogCisg
ICAgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFscyBjcmVkZW50aWFscygpIGNvbnN0IHsgcmV0dXJu
IG1fY3JlZGVudGlhbHM7IH0KKwogcHJvdGVjdGVkOgogICAgIFdvcmtlckdsb2JhbFNjb3BlKFdv
cmtlclRocmVhZFR5cGUsIGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYsIFdvcmtlclRocmVhZCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKIApAQCAtMTYz
LDggKzE2NSw2IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRh
YmxlPFdvcmtlckdsb2JhbFNjb3BlPiwgcHVibGljIEJhc2U2CiAgICAgbXV0YWJsZSBSZWZQdHI8
V29ya2VyTG9jYXRpb24+IG1fbG9jYXRpb247CiAgICAgbXV0YWJsZSBSZWZQdHI8V29ya2VyTmF2
aWdhdG9yPiBtX25hdmlnYXRvcjsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJPcldvcmts
ZXRTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKLQogICAgIGJvb2wgbV9pc09ubGluZTsKICAg
ICBib29sIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogCkBA
IC0xODcsNiArMTg3LDggQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgU3VwcGxl
bWVudGFibGU8V29ya2VyR2xvYmFsU2NvcGU+LCBwdWJsaWMgQmFzZTYKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8Q1NTVmFsdWVQb29sPiBtX2Nzc1ZhbHVlUG9vbDsKICAgICBSZWZlcnJlclBvbGljeSBt
X3JlZmVycmVyUG9saWN5OwogICAgIFNldHRpbmdzOjpWYWx1ZXMgbV9zZXR0aW5nc1ZhbHVlczsK
KyAgICBXb3JrZXJUeXBlIG1fd29ya2VyVHlwZTsKKyAgICBGZXRjaE9wdGlvbnM6OkNyZWRlbnRp
YWxzIG1fY3JlZGVudGlhbHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCmluZGV4IDQwMDAz
YzNlMDEwOTk5NjBmNjQ3ODYxZTcwMTY4N2QwZTM3MWQ3MmQuLmVkNjczYWM4ZjdjMGVlNTRjMDYw
ZWNiNTkyMTYzOTBlZDcwZmUyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIFdvcmtlckdsb2Jh
bFNjb3BlUHJveHkgewogcHVibGljOgogICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZVByb3h5
JiBjcmVhdGUoV29ya2VyJik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxT
Y29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSwg
RmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2JhbFNjb3BlKCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9y
dHMmJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUo
RnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggMTlkNGJl
NjQ5OTJmMzBkM2NjZTc2NTQ3YTNkMjIxOGE5OGM4NDJjMy4uNzg4MzU4N2E3YWY2MjA5ZTNlY2M4
ZTdiNDFiYWQ0N2FkZjYyMjQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTczLDcgKzczLDcgQEAgV29ya2VyTWVzc2FnaW5nUHJv
eHk6On5Xb3JrZXJNZXNzYWdpbmdQcm94eSgpCiAgICAgICAgIHx8IChpczxXb3JrZXJHbG9iYWxT
Y29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgJiYgZG93bmNhc3Q8V29ya2VyR2xvYmFs
U2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLnRocmVhZCgpLnRocmVhZCgpID09ICZU
aHJlYWQ6OmN1cnJlbnQoKSkpOwogfQogCi12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFy
dFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYg
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBS
ZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZs
YWdzKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShj
b25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJy
ZXJQb2xpY3ksIFdvcmtlclR5cGUgd29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMg
Y3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKIHsKICAgICAvLyBG
SVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVuIHdlIHN1cHBvcnQgbmVzdGVkIHdv
cmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CkBAIC04
OSw3ICs4OSw3IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFs
U2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0CiAKICAgICBTb2NrZXRQcm92aWRl
ciogc29ja2V0UHJvdmlkZXIgPSBkb2N1bWVudC5zb2NrZXRQcm92aWRlcigpOwogCi0gICAgV29y
a2VyUGFyYW1ldGVycyBwYXJhbXMgPSB7IHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNl
ckFnZW50LCBpc09ubGluZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJl
ZmVycmVyUG9saWN5LCBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpIH07CisgICAgV29ya2VyUGFy
YW1ldGVycyBwYXJhbXMgPSB7IHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50
LCBpc09ubGluZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVy
UG9saWN5LCB3b3JrZXJUeXBlLCBjcmVkZW50aWFscywgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMo
KSB9OwogICAgIGF1dG8gdGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUocGFy
YW1zLCBzb3VyY2VDb2RlLCAqdGhpcywgKnRoaXMsICp0aGlzLCBzdGFydE1vZGUsIGRvY3VtZW50
LnRvcE9yaWdpbigpLCBwcm94eSwgc29ja2V0UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7CiAKICAg
ICB3b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVhZC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggYzViNTc1YjllNjE1YjNmM2Y1OTZi
ZmMzZGY2ODNjODc3Y2M2MmJhYi4uZDllODFlMTU3YTBmNDg1MmU0OWI1OWQyNTY2YThhODBmNWY4
MThhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
aApAQCAtNTAsNyArNTAsNyBAQCBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSBmaW5hbCA6IHB1
YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxXb3JrZXJNZXNzYWdpbmdQcgogcHJpdmF0ZToKICAg
ICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29ya2VyR2xvYmFsU2NvcGVQcm94eS4KICAgICAvLyAo
T25seSB1c2UgdGhlc2UgZnVuY3Rpb25zIGluIHRoZSB3b3JrZXIgb2JqZWN0IHRocmVhZC4pCi0g
ICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBj
b25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRp
bWVGbGFncykgZmluYWw7CisgICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVy
UG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1l
RmxhZ3MpIGZpbmFsOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5h
bDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1l
c3NhZ2VQb3J0cyYmKSBmaW5hbDsKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29w
ZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgZmluYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUu
Y3BwCmluZGV4IDIzODRhNWE4YzdkMmEzMDJlZWU1Y2I0MDVlMTA1ZTAyNWM5ODQzY2MuLjA4YWFk
OTBmNDVlMDlmOWQxNDljYTM5ODVhNjEzMDIwNTQxZmFjMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0yNiwx
MSArMjYsMTQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmts
ZXRHbG9iYWxTY29wZS5oIgogCisjaW5jbHVkZSAiU2NyaXB0TW9kdWxlTG9hZGVyLmgiCisjaW5j
bHVkZSAiU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyRXZlbnRM
b29wLmgiCiAjaW5jbHVkZSAiV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
Ildvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXb3JrZXJPcldv
cmtsZXRUaHJlYWQuaCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCisjaW5jbHVkZSAiV29y
a2xldEdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzksNiArNDIsNyBAQCBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOwogCiBXb3JrZXJPcldvcmtsZXRH
bG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0
eXBlLCBSZWY8SlNDOjpWTT4mJiB2bSwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiB0aHJlYWQpCiAg
ICAgOiBtX3NjcmlwdChtYWtlVW5pcXVlPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+
KHR5cGUsIFdURk1vdmUodm0pLCB0aGlzKSkKKyAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlx
dWU8U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhpcywgU2NyaXB0TW9kdWxlTG9hZGVyOjpPd25lclR5
cGU6Oldvcmtlck9yV29ya2xldCkpCiAgICAgLCBtX3RocmVhZCh0aHJlYWQpCiAgICAgLCBtX2lu
c3BlY3RvckNvbnRyb2xsZXIobWFrZVVuaXF1ZTxXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyPigq
dGhpcykpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29y
a2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlLmgKaW5kZXggNmMyNDRhMGM0MjdlZTFjOGM2NWZkY2M3NjU5NTJmODc3ZmQ5
YjE2Yi4uZTQ3OWRkZWEwNGVhNWUxZTI2NmU1MTVhZjkyY2VkM2Y5OTU3ZWM1NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaApA
QCAtMjYsMTIgKzI2LDE0IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0
LmgiCisjaW5jbHVkZSAiRmV0Y2hPcHRpb25zLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZFR5cGUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBFdmVudExvb3BUYXNrR3JvdXA7CitjbGFzcyBTY3JpcHRNb2R1bGVM
b2FkZXI7CiBjbGFzcyBXb3JrZXJFdmVudExvb3A7CiBjbGFzcyBXb3JrZXJJbnNwZWN0b3JDb250
cm9sbGVyOwogY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjsKQEAgLTU0LDYg
KzU2LDggQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KIAogICAgIHVuc2lnbmVkIGxvbmcgY3Jl
YXRlVW5pcXVlSWRlbnRpZmllcigpIHsgcmV0dXJuIG1fdW5pcXVlSWRlbnRpZmllcisrOyB9CiAK
KyAgICBTY3JpcHRNb2R1bGVMb2FkZXImIG1vZHVsZUxvYWRlcigpIHsgcmV0dXJuICptX21vZHVs
ZUxvYWRlcjsgfQorCiAgICAgLy8gU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KICAgICBFdmVudExv
b3BUYXNrR3JvdXAmIGV2ZW50TG9vcCgpIGZpbmFsOwogICAgIGJvb2wgaXNDb250ZXh0VGhyZWFk
KCkgY29uc3QgZmluYWw7CkBAIC02Nyw2ICs3MSw4IEBAIGNsYXNzIFdvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHB1YmxpYyBSZWZDb3Vu
CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1l
KCkgeyB9CiAKKyAgICB2aXJ0dWFsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRp
b24oKSBjb25zdCA9IDA7CisKIHByb3RlY3RlZDoKICAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZShXb3JrZXJUaHJlYWRUeXBlLCBSZWY8SlNDOjpWTT4mJiwgV29ya2VyT3JXb3JrbGV0VGhy
ZWFkKik7CiAKQEAgLTg4LDYgKzk0LDcgQEAgY2xhc3MgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGUgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgcHVibGljIFJlZkNvdW4KICAgICB2
b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgIHN0ZDo6dW5p
cXVlX3B0cjxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8U2NyaXB0TW9kdWxlTG9hZGVyPiBtX21vZHVsZUxvYWRlcjsKICAgICBX
b3JrZXJPcldvcmtsZXRUaHJlYWQqIG1fdGhyZWFkOwogICAgIFJlZlB0cjxXb3JrZXJFdmVudExv
b3A+IG1fZXZlbnRMb29wOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudExvb3BUYXNrR3JvdXA+
IG1fZGVmYXVsdFRhc2tHcm91cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGNkNGVjMjQ2ODI1
MjVhYWJjNjQyZDg3N2EwZGEwMTFlYmRlMTE0MzEuLjE4ODczNWM0Yjg3MzUwOTAyM2U0ZGYxYmNl
MmM4MmFkNzEyYmQzZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
T3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzUsMTUgKzM1LDI0IEBA
CiAjaW5jbHVkZSAiSlNFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJKU1BhaW50V29ya2xldEdsb2Jh
bFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCIKKyNpbmNs
dWRlICJNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmgiCisjaW5jbHVkZSAiTW9kdWxlRmV0Y2hQYXJh
bWV0ZXJzLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIldlYkNv
cmVKU0NsaWVudERhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJDb25zb2xlQ2xpZW50LmgiCisjaW5j
bHVkZSAiV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgiCisjaW5jbHVkZSAiV29ya2VyU2NyaXB0
RmV0Y2hlci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbXBsZXRpb24uaD4KICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9EZWZlcnJlZFdvcmtUaW1lci5oPgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0V4Y2VwdGlvbi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0V4Y2VwdGlv
bkhlbHBlcnMuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HQ0FjdGl2aXR5Q2FsbGJhY2su
aD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTTG9jay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
TW9kdWxlUmVjb3JkLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNOYXRpdmVTdGRGdW5j
dGlvbi5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU2NyaXB0RmV0Y2hQYXJhbWV0ZXJz
Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTY3JpcHRGZXRjaGVyLmg+CiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0yMjgsNiArMjM3LDI0NSBAQCB2b2lkIFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xs
ZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZAogICAgIH0KIH0K
IAorc3RhdGljIElkZW50aWZpZXIganNWYWx1ZVRvTW9kdWxlS2V5KEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGlmICh2YWx1ZS5pc1N5
bWJvbCgpKQorICAgICAgICByZXR1cm4gSWRlbnRpZmllcjo6ZnJvbVVpZChqc0Nhc3Q8U3ltYm9s
Kj4odmFsdWUpLT5wcml2YXRlTmFtZSgpKTsKKyAgICBBU1NFUlQodmFsdWUuaXNTdHJpbmcoKSk7
CisgICAgcmV0dXJuIGFzU3RyaW5nKHZhbHVlKS0+dG9JZGVudGlmaWVyKGxleGljYWxHbG9iYWxP
YmplY3QpOworfQorCitKU0M6OkpTVmFsdWUgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
cjo6ZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYgbW9kdWxlUmVjb3JkKQorewor
ICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsKKyAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZt
IH07CisgICAgcmV0dXJuIG1vZHVsZVJlY29yZC5ldmFsdWF0ZSgmZ2xvYmFsT2JqZWN0KTsKK30K
KworTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVy
Ojpsb2FkTW9kdWxlU3luY2hyb25vdXNseShXb3JrZXJTY3JpcHRGZXRjaGVyJiBzY3JpcHRGZXRj
aGVyLCBjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQoreworICAgIGlmIChpc0V4
ZWN1dGlvbkZvcmJpZGRlbigpKQorICAgICAgICByZXR1cm4gTWVzc2FnZVF1ZXVlVGVybWluYXRl
ZDsKKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFsT2JqZWN0
ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVj
dC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIGF1dG8gcHJvdGVj
dG9yID0gbWFrZVJlZihzY3JpcHRGZXRjaGVyKTsKKyAgICB7CisgICAgICAgIGF1dG8mIHByb21p
c2UgPSBKU0V4ZWNTdGF0ZTo6bG9hZE1vZHVsZShnbG9iYWxPYmplY3QsIHNvdXJjZUNvZGUuanNT
b3VyY2VDb2RlKCksIEpTQzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHsgJnNjcmlwdEZl
dGNoZXIgfSkpOworCisgICAgICAgIGF1dG8mIGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZlU3Rk
RnVuY3Rpb246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFtwcm90ZWN0
b3JdKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSAt
PiBKU0M6OkVuY29kZWRKU1ZhbHVlIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVj
dC0+dm0oKTsKKyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAg
ICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICAgICAgICAgIElk
ZW50aWZpZXIgbW9kdWxlS2V5ID0ganNWYWx1ZVRvTW9kdWxlS2V5KGdsb2JhbE9iamVjdCwgY2Fs
bEZyYW1lLT5hcmd1bWVudCgwKSk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB7IH0pOworICAgICAgICAgICAgcHJvdGVjdG9yLT5ub3RpZnlMb2FkQ29tcGxldGVkKCpt
b2R1bGVLZXkuaW1wbCgpKTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNV
bmRlZmluZWQoKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGF1dG8mIHJlamVjdEhhbmRsZXIg
PSAqSlNOYXRpdmVTdGRGdW5jdGlvbjo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCAxLCBTdHJp
bmcoKSwgW3Byb3RlY3Rvcl0oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUpIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
KyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIEpTVmFs
dWUgZXJyb3JWYWx1ZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CisgICAgICAgICAgICBpZiAo
ZXJyb3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgICAgICAgICAgYXV0byogb2JqZWN0ID0g
SlNDOjphc09iamVjdChlcnJvclZhbHVlKTsKKyAgICAgICAgICAgICAgICBpZiAoSlNWYWx1ZSBm
YWlsdXJlS2luZFZhbHVlID0gb2JqZWN0LT5nZXREaXJlY3Qodm0sIHN0YXRpY19jYXN0PEpTVk1D
bGllbnREYXRhJj4oKnZtLmNsaWVudERhdGEpLmJ1aWx0aW5OYW1lcygpLmZhaWx1cmVLaW5kUHJp
dmF0ZU5hbWUoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBob3N0IHByb3Bh
Z2F0ZWQgZXJyb3IgaW4gdGhlIG1vZHVsZSBsb2FkZXIgcGlwZWxpbmUuCisgICAgICAgICAgICAg
ICAgICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8TW9kdWxlRmV0Y2hGYWlsdXJlS2luZD4oZmFpbHVy
ZUtpbmRWYWx1ZS5hc0ludDMyKCkpKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgTW9kdWxl
RmV0Y2hGYWlsdXJlS2luZDo6V2FzRXJyb3JlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHBy
b3RlY3Rvci0+bm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3IgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIExvYWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hlZFNj
cmlwdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBXVEY6Om51bGxvcHQKKyAgICAgICAg
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICAgICAgICAgIGNhc2UgTW9kdWxlRmV0Y2hGYWlsdXJlS2luZDo6V2FzQ2FuY2VsZWQ6
CisgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0b3ItPm5vdGlmeUxvYWRXYXNDYW5jZWxl
ZCgpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5l
ZCgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICAgICAgICAgIHByb3RlY3Rv
ci0+bm90aWZ5TG9hZEZhaWxlZChMb2FkYWJsZVNjcmlwdDo6RXJyb3IgeworICAgICAgICAgICAg
ICAgIExvYWRhYmxlU2NyaXB0OjpFcnJvclR5cGU6OkNhY2hlZFNjcmlwdCwKKyAgICAgICAgICAg
ICAgICBMb2FkYWJsZVNjcmlwdDo6Q29uc29sZU1lc3NhZ2UgeworICAgICAgICAgICAgICAgICAg
ICBNZXNzYWdlU291cmNlOjpKUywKKyAgICAgICAgICAgICAgICAgICAgTWVzc2FnZUxldmVsOjpF
cnJvciwKKyAgICAgICAgICAgICAgICAgICAgcmV0cmlldmVFcnJvck1lc3NhZ2UoKmdsb2JhbE9i
amVjdCwgdm0sIGVycm9yVmFsdWUsIHNjb3BlKSwKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CisgICAgICAgIH0pOworCisgICAgICAgIHByb21pc2UudGhlbigmZ2xvYmFsT2JqZWN0LCAm
ZnVsZmlsbEhhbmRsZXIsICZyZWplY3RIYW5kbGVyKTsKKyAgICB9CisgICAgbV9nbG9iYWxTY29w
ZS0+ZXZlbnRMb29wKCkucGVyZm9ybU1pY3JvdGFza0NoZWNrcG9pbnQoKTsKKworICAgIC8vIERy
aXZlIFJ1bkxvb3AgdW50aWwgd2UgZ2V0IGVpdGhlciBvZiAiV29ya2VyIGlzIHRlcm1pbmF0ZWQi
LCAiTG9hZGluZyBpcyBkb25lIiwgb3IgIkxvYWRpbmcgaXMgZmFpbGVkIi4KKyAgICBXb3JrZXJS
dW5Mb29wJiBydW5Mb29wID0gbV9nbG9iYWxTY29wZS0+d29ya2VyT3JXb3JrbGV0VGhyZWFkKCkt
PnJ1bkxvb3AoKTsKKworICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIHJlY2VpdmUgbWVzc2FnZXMg
dGhhdCBhcmUgbm90IHJlbGF0ZWQgdG8gYXN5bmNocm9ub3VzIHJlc291cmNlIGxvYWRpbmcuCisg
ICAgLy8gT3RoZXJ3aXNlLCBhIHdvcmtlciBkaXNjYXJkcyBzb21lIG1lc3NhZ2VzIGZyb20gdGhl
IG1haW4gdGhyZWFkIGhlcmUgaW4gYSByYWN5IHdheS4KKyAgICAvLyBGb3IgZXhhbXBsZSwgdGhl
IG1haW4gdGhyZWFkIGNhbiBwb3N0TWVzc2FnZSBqdXN0IGFmdGVyIGNyZWF0aW5nIGEgV29ya2Vy
LiBJbiB0aGF0IGNhc2UsIHBvc3RNZXNzYWdlJ3MKKyAgICAvLyB0YXNrIGlzIHF1ZXVlZCBpbiBX
b3JrZXJSdW5Mb29wIGJlZm9yZSBzdGFydCBydW5uaW5nIG1vZHVsZSBzY3JpcHRzLiBUaGlzIHRh
c2sgc2hvdWxkIG5vdCBiZSBkaXNjYXJkZWQKKyAgICAvLyBpbiB0aGUgZm9sbG93aW5nIGRyaXZp
bmcgb2YgdGhlIFJ1bkxvb3Agd2hpY2ggbWFpbmx5IGF0dGVtcHQgdG8gY29sbGVjdCBpbml0aWFs
IGxvYWQgb2YgbW9kdWxlIHNjcmlwdHMuCisgICAgU3RyaW5nIHRhc2tNb2RlID0gV29ya2VyTW9k
dWxlU2NyaXB0TG9hZGVyOjp0YXNrTW9kZSgpOworICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQg
cmVzdWx0ID0gTWVzc2FnZVF1ZXVlTWVzc2FnZVJlY2VpdmVkOworICAgIHdoaWxlICgoIXByb3Rl
Y3Rvci0+aXNMb2FkZWQoKSAmJiAhcHJvdGVjdG9yLT53YXNDYW5jZWxlZCgpKSAmJiByZXN1bHQg
IT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkgeworICAgICAgICByZXN1bHQgPSBydW5Mb29wLnJ1
bkluTW9kZShtX2dsb2JhbFNjb3BlLCB0YXNrTW9kZSk7CisgICAgICAgIGlmIChyZXN1bHQgIT0g
TWVzc2FnZVF1ZXVlVGVybWluYXRlZCkKKyAgICAgICAgICAgIG1fZ2xvYmFsU2NvcGUtPmV2ZW50
TG9vcCgpLnBlcmZvcm1NaWNyb3Rhc2tDaGVja3BvaW50KCk7CisgICAgfQorCisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKwordm9pZCBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsaW5r
QW5kRXZhbHVhdGVNb2R1bGUoV29ya2VyU2NyaXB0RmV0Y2hlciYgc2NyaXB0RmV0Y2hlciwgY29u
c3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU3RyaW5nKiByZXR1cm5lZEV4Y2VwdGlv
bk1lc3NhZ2UpCit7CisgICAgaWYgKGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworCisgICAgYXV0byYgZ2xvYmFsT2Jq
ZWN0ID0gKm1fZ2xvYmFsU2NvcGVXcmFwcGVyLmdldCgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKworICAgIE5ha2VkUHRy
PEpTQzo6RXhjZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsKKyAgICBKU0V4ZWNTdGF0ZTo6bGlu
a0FuZEV2YWx1YXRlTW9kdWxlKGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwg
c2NyaXB0RmV0Y2hlci5tb2R1bGVLZXkoKSksIGpzVW5kZWZpbmVkKCksIHJldHVybmVkRXhjZXB0
aW9uKTsKKyAgICBpZiAoKHJldHVybmVkRXhjZXB0aW9uICYmIGlzVGVybWluYXRlZEV4ZWN1dGlv
bkV4Y2VwdGlvbih2bSwgcmV0dXJuZWRFeGNlcHRpb24pKSB8fCBpc1Rlcm1pbmF0aW5nRXhlY3V0
aW9uKCkpIHsKKyAgICAgICAgZm9yYmlkRXhlY3V0aW9uKCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBpZiAocmV0dXJuZWRFeGNlcHRpb24pIHsKKyAgICAgICAgaWYgKG1fZ2xvYmFs
U2NvcGUtPmNhbkluY2x1ZGVFcnJvckRldGFpbHMoc291cmNlQ29kZS5jYWNoZWRTY3JpcHQoKSwg
c291cmNlQ29kZS51cmwoKS5zdHJpbmcoKSkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJdCdz
IG5vdCBncmVhdCB0aGF0IHRoaXMgY2FuIHJ1biBhcmJpdHJhcnkgY29kZSB0byBzdHJpbmctaWZ5
IHRoZSB2YWx1ZSBvZiB0aGUgZXhjZXB0aW9uLgorICAgICAgICAgICAgLy8gRG8gd2UgbmVlZCB0
byBkbyBhbnl0aGluZyB0byBoYW5kbGUgdGhhdCBwcm9wZXJseSwgaWYgaXQsIHNheSwgcmFpc2Vz
IGFub3RoZXIgZXhjZXB0aW9uPworICAgICAgICAgICAgaWYgKHJldHVybmVkRXhjZXB0aW9uTWVz
c2FnZSkKKyAgICAgICAgICAgICAgICAqcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gcmV0dXJu
ZWRFeGNlcHRpb24tPnZhbHVlKCkudG9XVEZTdHJpbmcoJmdsb2JhbE9iamVjdCk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAvLyBPdmVyd3JpdGUgdGhlIGRldGFpbGVkIGVycm9yIHdp
dGggYSBnZW5lcmljIGVycm9yLgorICAgICAgICAgICAgU3RyaW5nIGdlbmVyaWNFcnJvck1lc3Nh
Z2UgeyAiU2NyaXB0IGVycm9yLiJfcyB9OworICAgICAgICAgICAgaWYgKHJldHVybmVkRXhjZXB0
aW9uTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAqcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0g
Z2VuZXJpY0Vycm9yTWVzc2FnZTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBXb3JrZXJP
cldvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUoY29uc3QgVVJM
JiBtb2R1bGVVUkwsIEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYmKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKK3sKKyAgICBpZiAoaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSkgeworICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihFeGNlcHRpb24geyBOb3RBbGxvd2VkRXJyb3IgfSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBpbml0U2NyaXB0SWZOZWVkZWQoKTsKKworICAgIGF1dG8mIGds
b2JhbE9iamVjdCA9ICptX2dsb2JhbFNjb3BlV3JhcHBlci5nZXQoKTsKKyAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3Qudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayB7IHZtIH07CisKKyAgICBh
dXRvIHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpjcmVhdGUoY3JlZGVudGlh
bHMsIGdsb2JhbFNjb3BlKCktPmRlc3RpbmF0aW9uKCksIGdsb2JhbFNjb3BlKCktPnJlZmVycmVy
UG9saWN5KCkpOworICAgIHsKKyAgICAgICAgYXV0byYgcHJvbWlzZSA9IEpTRXhlY1N0YXRlOjps
b2FkTW9kdWxlKGdsb2JhbE9iamVjdCwgbW9kdWxlVVJMLnN0cmluZygpLCBKU0M6OkpTU2NyaXB0
RmV0Y2hQYXJhbWV0ZXJzOjpjcmVhdGUodm0sIG1ha2VSZWYoc2NyaXB0RmV0Y2hlci0+cGFyYW1l
dGVycygpKSksIEpTQzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHsgc2NyaXB0RmV0Y2hl
ci5wdHIoKSB9KSk7CisKKyAgICAgICAgYXV0byB0YXNrID0gY3JlYXRlU2hhcmVkVGFzazx2b2lk
KE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+KFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpXShPcHRpb25hbDxFeGNlcHRpb24+JiYgZXhjZXB0aW9uKSBtdXRhYmxl
IHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZXhjZXB0aW9uKSk7Cisg
ICAgICAgIH0pOworCisgICAgICAgIGF1dG8mIGZ1bGZpbGxIYW5kbGVyID0gKkpTTmF0aXZlU3Rk
RnVuY3Rpb246OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgMSwgU3RyaW5nKCksIFt0YXNrLCBz
Y3JpcHRGZXRjaGVyXShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNh
bGxGcmFtZSkgLT4gSlNDOjpFbmNvZGVkSlNWYWx1ZSB7CisgICAgICAgICAgICAvLyB0YXNrLT5y
dW4oV1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKKyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgICAgICAgICAgSWRlbnRp
ZmllciBtb2R1bGVLZXkgPSBqc1ZhbHVlVG9Nb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUtPmFyZ3VtZW50KDApKTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IHsgfSk7CisgICAgICAgICAgICBzY3JpcHRGZXRjaGVyLT5ub3RpZnlMb2FkQ29tcGxldGVkKCpt
b2R1bGVLZXkuaW1wbCgpKTsKKworICAgICAgICAgICAgYXV0byogY29udGV4dCA9IGRvd25jYXN0
PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPihqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgICAgICAgICAgaWYg
KCFjb250ZXh0IHx8ICFjb250ZXh0LT5zY3JpcHQoKSkgeworICAgICAgICAgICAgICAgIHRhc2st
PnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIE5ha2VkUHRy
PEpTQzo6RXhjZXB0aW9uPiByZXR1cm5lZEV4Y2VwdGlvbjsKKyAgICAgICAgICAgIEpTRXhlY1N0
YXRlOjpsaW5rQW5kRXZhbHVhdGVNb2R1bGUoKmdsb2JhbE9iamVjdCwgbW9kdWxlS2V5LCBqc1Vu
ZGVmaW5lZCgpLCByZXR1cm5lZEV4Y2VwdGlvbik7CisgICAgICAgICAgICBpZiAoKHJldHVybmVk
RXhjZXB0aW9uICYmIGlzVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbih2bSwgcmV0dXJuZWRF
eGNlcHRpb24pKSB8fCBjb250ZXh0LT5zY3JpcHQoKS0+aXNUZXJtaW5hdGluZ0V4ZWN1dGlvbigp
KSB7CisgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQtPnNjcmlwdCgpKQorICAgICAgICAgICAg
ICAgICAgICBjb250ZXh0LT5zY3JpcHQoKS0+Zm9yYmlkRXhlY3V0aW9uKCk7CisgICAgICAgICAg
ICAgICAgdGFzay0+cnVuKFdURjo6bnVsbG9wdCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgaWYgKHJldHVybmVkRXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3Nh
Z2U7CisgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQtPmNhbkluY2x1ZGVFcnJvckRldGFpbHMo
bnVsbHB0ciwgbW9kdWxlS2V5LnN0cmluZygpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBG
SVhNRTogSXQncyBub3QgZ3JlYXQgdGhhdCB0aGlzIGNhbiBydW4gYXJiaXRyYXJ5IGNvZGUgdG8g
c3RyaW5nLWlmeSB0aGUgdmFsdWUgb2YgdGhlIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgICAgICAg
ICAgLy8gRG8gd2UgbmVlZCB0byBkbyBhbnl0aGluZyB0byBoYW5kbGUgdGhhdCBwcm9wZXJseSwg
aWYgaXQsIHNheSwgcmFpc2VzIGFub3RoZXIgZXhjZXB0aW9uPworICAgICAgICAgICAgICAgICAg
ICBtZXNzYWdlID0gcmV0dXJuZWRFeGNlcHRpb24tPnZhbHVlKCkudG9XVEZTdHJpbmcoZ2xvYmFs
T2JqZWN0KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAv
LyBPdmVyd3JpdGUgdGhlIGRldGFpbGVkIGVycm9yIHdpdGggYSBnZW5lcmljIGVycm9yLgorICAg
ICAgICAgICAgICAgICAgICBtZXNzYWdlID0gIlNjcmlwdCBlcnJvci4iX3M7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIGNvbnRleHQtPnJlcG9ydEV4Y2VwdGlvbihtZXNzYWdl
LCB7IH0sIHsgfSwgeyB9LCB7IH0sIHsgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IHRhc2stPnJ1bihXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXV0byYgcmVqZWN0
SGFuZGxlciA9ICpKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3Qs
IDEsIFN0cmluZygpLCBbdGFza10oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZy
YW1lKiBjYWxsRnJhbWUpIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKKyAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrIHsgdm0gfTsKKyAgICAgICAgICAgIEpT
VmFsdWUgZXJyb3JWYWx1ZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CisgICAgICAgICAgICBp
ZiAoZXJyb3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgICAgICAgICAgYXV0byogb2JqZWN0
ID0gSlNDOjphc09iamVjdChlcnJvclZhbHVlKTsKKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0
LT5nZXREaXJlY3Qodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhJj4oKnZtLmNsaWVudERh
dGEpLmJ1aWx0aW5OYW1lcygpLmZhaWx1cmVLaW5kUHJpdmF0ZU5hbWUoKSkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7Cisg
ICAgICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gcmV0cmlldmVFcnJvck1lc3NhZ2VX
aXRob3V0TmFtZSgqZ2xvYmFsT2JqZWN0LCB2bSwgb2JqZWN0LCBjYXRjaFNjb3BlKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGFzay0+cnVuKEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IsIG1lc3NhZ2Ug
fSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChvYmplY3QtPmlu
aGVyaXRzPEVycm9ySW5zdGFuY2U+KHZtKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvKiBl
cnJvciA9IGpzQ2FzdDxFcnJvckluc3RhbmNlKj4ob2JqZWN0KTsKKyAgICAgICAgICAgICAgICAg
ICAgc3dpdGNoIChlcnJvci0+ZXJyb3JUeXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBFcnJvclR5cGU6OlR5cGVFcnJvcjogeworICAgICAgICAgICAgICAgICAgICAgICAgYXV0byBj
YXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBTdHJpbmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoKmds
b2JhbE9iamVjdCwgdm0sIGVycm9yLCBjYXRjaFNjb3BlKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRhc2stPnJ1bihFeGNlcHRpb24geyBUeXBlRXJyb3IsIG1lc3NhZ2UgfSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNhc2UgRXJyb3JUeXBl
OjpTeW50YXhFcnJvcjogeworICAgICAgICAgICAgICAgICAgICAgICAgYXV0byBjYXRjaFNjb3Bl
ID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgICAgICAgICAgICAgICAgICAgICBTdHJp
bmcgbWVzc2FnZSA9IHJldHJpZXZlRXJyb3JNZXNzYWdlV2l0aG91dE5hbWUoKmdsb2JhbE9iamVj
dCwgdm0sIGVycm9yLCBjYXRjaFNjb3BlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRhc2st
PnJ1bihFeGNlcHRpb24geyBKU1N5bnRheEVycm9yLCBtZXNzYWdlIH0pOworICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGF1dG8gY2F0Y2hTY29wZSA9IERF
Q0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSByZXRy
aWV2ZUVycm9yTWVzc2FnZVdpdGhvdXROYW1lKCpnbG9iYWxPYmplY3QsIHZtLCBlcnJvclZhbHVl
LCBjYXRjaFNjb3BlKTsKKyAgICAgICAgICAgIHRhc2stPnJ1bihFeGNlcHRpb24geyBBYm9ydEVy
cm9yLCBtZXNzYWdlIH0pOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcHJvbWlzZS50aGVuKCZnbG9iYWxP
YmplY3QsICZmdWxmaWxsSGFuZGxlciwgJnJlamVjdEhhbmRsZXIpOworICAgIH0KKyAgICBtX2ds
b2JhbFNjb3BlLT5ldmVudExvb3AoKS5wZXJmb3JtTWljcm90YXNrQ2hlY2twb2ludCgpOworfQor
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBKU0dsb2JhbFNjb3BlUHJvdG90eXBlLCB0eXBlbmFtZSBKU0ds
b2JhbFNjb3BlLCB0eXBlbmFtZSBHbG9iYWxTY29wZT4KIHZvaWQgV29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlcjo6aW5pdFNjcmlwdFdpdGhTdWJjbGFzcygpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5o
CmluZGV4IGM0OTMwMWFlZDNkZDA4OWRhNzk3MzI3NjBjYWYyZjdiNjRkYjExYjYuLmU5ODA2Mzkx
MDI5OTU0OTI4NDY4MDVjMGMxN2YwMGM3OGI3MTQxYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCkBAIC0z
MSw2ICszMSw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNSdW5Mb29wVGltZXIuaD4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CisjaW5jbHVk
ZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgogI2luY2x1ZGUgPHd0Zi9OYWtlZFB0ci5oPgogCiBuYW1l
c3BhY2UgSlNDIHsKQEAgLTQ3LDYgKzQ4LDcgQEAgY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CiBj
bGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogY2xhc3MgV29ya2VyQ29uc29sZUNsaWVudDsKIGNsYXNz
IFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOworY2xhc3MgV29ya2VyU2NyaXB0RmV0Y2hlcjsK
IAogY2xhc3MgV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlciB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcik7CkBAIC05NCw2ICs5
NiwxMyBAQCBjbGFzcyBXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyIHsKICAgICB2b2lk
IGV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0
aW9uTWVzc2FnZSA9IG51bGxwdHIpOwogICAgIHZvaWQgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291
cmNlQ29kZSYsIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiYgcmV0dXJuZWRFeGNlcHRpb24sIFN0
cmluZyogcmV0dXJuZWRFeGNlcHRpb25NZXNzYWdlID0gbnVsbHB0cik7CiAKKyAgICBKU0M6OkpT
VmFsdWUgZXZhbHVhdGVNb2R1bGUoSlNDOjpKU01vZHVsZVJlY29yZCYpOworCisgICAgdm9pZCBs
aW5rQW5kRXZhbHVhdGVNb2R1bGUoV29ya2VyU2NyaXB0RmV0Y2hlciYsIGNvbnN0IFNjcmlwdFNv
dXJjZUNvZGUmLCBTdHJpbmcqIHJldHVybmVkRXhjZXB0aW9uTWVzc2FnZSA9IG51bGxwdHIpOwor
ICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgbG9hZE1vZHVsZVN5bmNocm9ub3VzbHkoV29ya2Vy
U2NyaXB0RmV0Y2hlciYsIGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKKworICAgIHZvaWQgbG9h
ZEFuZEV2YWx1YXRlTW9kdWxlKGNvbnN0IFVSTCYgbW9kdWxlVVJMLCBGZXRjaE9wdGlvbnM6OkNy
ZWRlbnRpYWxzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+
JiYpOworCiBwcm90ZWN0ZWQ6CiAgICAgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUqIGdsb2Jh
bFNjb3BlKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxTY29wZTsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggM2E0ZGFlZmMzOTAyYmRi
MmVhODRmYzU4ZDdlNDJmODNlNWYwN2UyZi4uNGQ0NzRmMTZlNTg4ZGQwMGZiMzlkNTYwZjY0MTNj
NjJhOTM4NmVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9h
ZGVyLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIE9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2Ny
aXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0CiAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRB
c3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBmZXRj
aE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUgc2VydmljZVdvcmtlck1vZGUs
IFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50KQordm9pZCBXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVj
dXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBGZXRjaE9wdGlv
bnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUgc2VydmljZVdv
cmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBTdHJpbmcmJiB0YXNr
TW9kZSkKIHsKICAgICBtX2NsaWVudCA9ICZjbGllbnQ7CiAgICAgbV91cmwgPSBzY3JpcHRSZXF1
ZXN0LnVybCgpOwpAQCAtMTE5LDEyICsxMTksNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6
bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAog
ICAgIGlmICghcmVxdWVzdCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gaHR0cHM6Ly9odG1s
LnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ZldGNoLWEtc2luZ2xl
LW1vZHVsZS1zY3JpcHQKLSAgICBBU1NFUlQoZmV0Y2hPcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRp
b25zOjpNb2RlOjpTYW1lT3JpZ2luIHx8IChmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24gIT0gRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2VydmljZXdvcmtlciAmJiBmZXRjaE9wdGlvbnMuZGVz
dGluYXRpb24gIT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSk7Ci0KICAgICBU
aHJlYWRhYmxlTG9hZGVyT3B0aW9ucyBvcHRpb25zIHsgV1RGTW92ZShmZXRjaE9wdGlvbnMpIH07
Ci0gICAgLy8gRklYTUU6IFdlIHNob3VsZCBhZGQgYW4gb3B0aW9uIHRvIHNldCBjcmVkZW50aWFs
IG1vZGUuCi0gICAgb3B0aW9ucy5jcmVkZW50aWFscyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlh
bHM6OlNhbWVPcmlnaW47CiAgICAgb3B0aW9ucy5zZW5kTG9hZENhbGxiYWNrcyA9IFNlbmRDYWxs
YmFja1BvbGljeTo6U2VuZENhbGxiYWNrczsKICAgICBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50ID0gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ7CiAgICAg
aWYgKGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9u
OjpTZXJ2aWNld29ya2VyKQpAQCAtMTQzLDcgKzEzOCw3IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9h
ZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhl
Y3V0CiAKICAgICAvLyBEdXJpbmcgY3JlYXRlLCBjYWxsYmFja3MgbWF5IGhhcHBlbiB3aGljaCBy
ZW1vdmUgdGhlIGxhc3QgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0LgogICAgIFJlZjxXb3JrZXJT
Y3JpcHRMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwotICAgIG1fdGhyZWFkYWJsZUxvYWRl
ciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCAqdGhp
cywgV1RGTW92ZSgqcmVxdWVzdCksIG9wdGlvbnMpOworICAgIG1fdGhyZWFkYWJsZUxvYWRlciA9
IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCAqdGhpcywg
V1RGTW92ZSgqcmVxdWVzdCksIG9wdGlvbnMsIHsgfSwgV1RGTW92ZSh0YXNrTW9kZSkpOwogfQog
CiBjb25zdCBVUkwmIFdvcmtlclNjcmlwdExvYWRlcjo6cmVzcG9uc2VVUkwoKSBjb25zdApAQCAt
MTkwLDYgKzE4NSw4IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9u
c2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvCiAgICAgbV9jZXJ0aWZpY2F0
ZUluZm8gPSByZXNwb25zZS5jZXJ0aWZpY2F0ZUluZm8oKSA/ICpyZXNwb25zZS5jZXJ0aWZpY2F0
ZUluZm8oKSA6IENlcnRpZmljYXRlSW5mbygpOwogICAgIG1fcmVzcG9uc2VNSU1FVHlwZSA9IHJl
c3BvbnNlLm1pbWVUeXBlKCk7CiAgICAgbV9yZXNwb25zZUVuY29kaW5nID0gcmVzcG9uc2UudGV4
dEVuY29kaW5nTmFtZSgpOworICAgIG1fcmVzcG9uc2VTb3VyY2UgPSByZXNwb25zZS5zb3VyY2Uo
KTsKKyAgICBtX2lzUmVkaXJlY3RlZCA9IHJlc3BvbnNlLmlzUmVkaXJlY3RlZCgpOwogICAgIG1f
Y29udGVudFNlY3VyaXR5UG9saWN5ID0gQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzIHsgcmVzcG9uc2UgfTsKICAgICBtX3JlZmVycmVyUG9saWN5ID0gcmVzcG9uc2UuaHR0cEhl
YWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpSZWZlcnJlclBvbGljeSk7CiAgICAgaWYgKG1fY2xp
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXgg
N2ZkZDBiM2Y2YTAxYzJkYjU3NzI0YTkwYjNiYjk4NDBmMWU2OGU1Zi4uY2ZhMzFhMzUzMjU5YWVl
ZDE5OGY5MzkxZmZjMTUxMWI0MDUwYjg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRmV0Y2hPcHRp
b25zLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVx
dWVzdC5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJUaHJlYWRh
YmxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1
ZGUgPG1lbW9yeT4KQEAgLTQzLDcgKzQ0LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRXhjZXB0aW9uOwotY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgV29ya2VyU2Ny
aXB0TG9hZGVyQ2xpZW50OwpAQCAtNTgsNyArNTgsNyBAQCBjbGFzcyBXb3JrZXJTY3JpcHRMb2Fk
ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+LCBwdWJsaWMgVGhyZWFk
YQogICAgIH0KIAogICAgIE9wdGlvbmFsPEV4Y2VwdGlvbj4gbG9hZFN5bmNocm9ub3VzbHkoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFVSTCYsIEZldGNoT3B0aW9uczo6TW9kZSwgRmV0
Y2hPcHRpb25zOjpDYWNoZSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIGNvbnN0
IFN0cmluZyYgaW5pdGlhdG9ySWRlbnRpZmllcik7Ci0gICAgdm9pZCBsb2FkQXN5bmNocm9ub3Vz
bHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBGZXRjaE9wdGlv
bnMmJiwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9k
ZSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50Jik7CisgICAgdm9pZCBsb2FkQXN5bmNocm9ub3Vz
bHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBGZXRjaE9wdGlv
bnMmJiwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9k
ZSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50JiwgU3RyaW5nJiYgdGFza01vZGUpOwogCiAgICAg
dm9pZCBub3RpZnlFcnJvcigpOwogCkBAIC02Nyw2ICs2Nyw4IEBAIGNsYXNzIFdvcmtlclNjcmlw
dExvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj4sIHB1YmxpYyBU
aHJlYWRhCiAgICAgY29uc3QgU3RyaW5nJiByZWZlcnJlclBvbGljeSgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVmZXJyZXJQb2xpY3k7IH0KICAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJu
IG1fdXJsOyB9CiAgICAgY29uc3QgVVJMJiByZXNwb25zZVVSTCgpIGNvbnN0OworICAgIFJlc291
cmNlUmVzcG9uc2U6OlNvdXJjZSByZXNwb25zZVNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVz
cG9uc2VTb3VyY2U7IH0KKyAgICBib29sIGlzUmVkaXJlY3RlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNSZWRpcmVjdGVkOyB9CiAgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUlu
Zm8oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogICAgIGNvbnN0IFN0cmlu
ZyYgcmVzcG9uc2VNSU1FVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2VNSU1FVHlwZTsg
fQogICAgIGJvb2wgZmFpbGVkKCkgY29uc3QgeyByZXR1cm4gbV9mYWlsZWQ7IH0KQEAgLTEwNyw2
ICsxMDksOCBAQCBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxX
b3JrZXJTY3JpcHRMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYQogICAgIHVuc2lnbmVkIGxvbmcgbV9p
ZGVudGlmaWVyIHsgMCB9OwogICAgIGJvb2wgbV9mYWlsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9maW5pc2hpbmcgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1JlZGlyZWN0ZWQgeyBmYWxzZSB9
OworICAgIFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZSBtX3Jlc3BvbnNlU291cmNlIHsgUmVzb3Vy
Y2VSZXNwb25zZTo6U291cmNlOjpVbmtub3duIH07CiAgICAgUmVzb3VyY2VFcnJvciBtX2Vycm9y
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IDcyNzkw
YTAzMzIyNjE5ZTZlZTdlNjE2YThiZGUxOGJkNTUyYTU3ODMuLjliNmMzZTdlMGU3MzE0NWI3NWI2
NTM3NDEzZDVmZjA1YmM1NTFiNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHAKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2lu
Y2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIK
KyNpbmNsdWRlICJXb3JrZXJTY3JpcHRGZXRjaGVyLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC01NSw2ICs1Nyw4IEBAIFdvcmtlclBhcmFtZXRlcnMgV29ya2Vy
UGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICAgICAgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LAogICAgICAgICB0aW1lT3JpZ2luLAogICAgICAg
ICByZWZlcnJlclBvbGljeSwKKyAgICAgICAgd29ya2VyVHlwZSwKKyAgICAgICAgY3JlZGVudGlh
bHMsCiAgICAgICAgIHNldHRpbmdzVmFsdWVzLmlzb2xhdGVkQ29weSgpCiAgICAgfTsKIH0KQEAg
LTEyMyw5ICsxMjcsMjkgQEAgYm9vbCBXb3JrZXJUaHJlYWQ6OnNob3VsZFdhaXRGb3JXZWJJbnNw
ZWN0b3JPblN0YXJ0dXAoKSBjb25zdAogCiB2b2lkIFdvcmtlclRocmVhZDo6ZXZhbHVhdGVTY3Jp
cHRJZk5lY2Vzc2FyeShTdHJpbmcmIGV4Y2VwdGlvbk1lc3NhZ2UpCiB7Ci0gICAgZ2xvYmFsU2Nv
cGUoKS0+c2NyaXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+
c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2Vw
dGlvbk1lc3NhZ2UpOwotCi0gICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CisgICAgLy8g
V2UgYXJlIGN1cnJlbnRseSBob2xkaW5nIG9ubHkgdGhlIGluaXRpYWwgc2NyaXB0IGNvZGUuIElm
IHRoZSBXb3JrZXJUeXBlIGlzIE1vZHVsZSwgd2Ugc2hvdWxkIGZldGNoIHRoZSBlbnRpcmUgZ3Jh
cGggYmVmb3JlIGV4ZWN1dGluZyB0aGUgcmVzdCBvZiB0aGlzLgorICAgIC8vIFdlIGludm9rZSBt
b2R1bGUgbG9hZGVyIGFzIGlmIHdlIGFyZSBleGVjdXRpbmcgaW5saW5lIG1vZHVsZSBzY3JpcHQg
dGFnIGluIERvY3VtZW50LgorCisgICAgaWYgKG1fc3RhcnR1cERhdGEtPnBhcmFtcy53b3JrZXJU
eXBlID09IFdvcmtlclR5cGU6OkNsYXNzaWMpIHsKKyAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2Ny
aXB0KCktPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29k
ZSwgVVJMKG1fc3RhcnR1cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3Nh
Z2UpOworICAgICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBhdXRvIHNjcmlwdEZldGNoZXIgPSBXb3JrZXJTY3JpcHRGZXRjaGVyOjpjcmVhdGUo
Z2xvYmFsU2NvcGUoKS0+Y3JlZGVudGlhbHMoKSwgZ2xvYmFsU2NvcGUoKS0+ZGVzdGluYXRpb24o
KSwgZ2xvYmFsU2NvcGUoKS0+cmVmZXJyZXJQb2xpY3koKSk7CisgICAgICAgIFNjcmlwdFNvdXJj
ZUNvZGUgc291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVw
RGF0YS0+cGFyYW1zLnNjcmlwdFVSTCksIHsgfSwgSlNDOjpTb3VyY2VQcm92aWRlclNvdXJjZVR5
cGU6Ok1vZHVsZSwgc2NyaXB0RmV0Y2hlci5jb3B5UmVmKCkpOworICAgICAgICBNZXNzYWdlUXVl
dWVXYWl0UmVzdWx0IHJlc3VsdCA9IGdsb2JhbFNjb3BlKCktPnNjcmlwdCgpLT5sb2FkTW9kdWxl
U3luY2hyb25vdXNseShzY3JpcHRGZXRjaGVyLmdldCgpLCBzb3VyY2VDb2RlKTsKKyAgICAgICAg
aWYgKHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKSB7CisgICAgICAgICAgICBpZiAo
T3B0aW9uYWw8TG9hZGFibGVTY3JpcHQ6OkVycm9yPiBlcnJvciA9IHNjcmlwdEZldGNoZXItPmVy
cm9yKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoT3B0aW9uYWw8TG9hZGFibGVTY3JpcHQ6OkNv
bnNvbGVNZXNzYWdlPiBtZXNzYWdlID0gZXJyb3ItPmNvbnNvbGVNZXNzYWdlKQorICAgICAgICAg
ICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gbWVzc2FnZS0+bWVzc2FnZTsKKyAgICAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UgPSAiSW1w
b3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIl9zOworICAgICAgICAgICAgICAgIGdsb2Jh
bFNjb3BlKCktPnJlcG9ydEV4Y2VwdGlvbihleGNlcHRpb25NZXNzYWdlLCB7IH0sIHsgfSwgeyB9
LCB7IH0sIHsgfSk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFzY3JpcHRGZXRjaGVyLT53YXND
YW5jZWxlZCgpKSB7CisgICAgICAgICAgICAgICAgZ2xvYmFsU2NvcGUoKS0+c2NyaXB0KCktPmxp
bmtBbmRFdmFsdWF0ZU1vZHVsZShzY3JpcHRGZXRjaGVyLmdldCgpLCBzb3VyY2VDb2RlLCAmZXhj
ZXB0aW9uTWVzc2FnZSk7CisgICAgICAgICAgICAgICAgZmluaXNoZWRFdmFsdWF0aW5nU2NyaXB0
KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CiAKICAgICAvLyBGcmVlIHRoZSBz
dGFydHVwIGRhdGEgdG8gY2F1c2UgaXRzIG1lbWJlciB2YXJpYWJsZSBkZXJlZidzIGhhcHBlbiBv
biB0aGUgd29ya2VyJ3MgdGhyZWFkIChzaW5jZQogICAgIC8vIGFsbCByZWYvZGVyZWZzIG9mIHRo
ZXNlIG9iamVjdHMgYXJlIGhhcHBlbmluZyBvbiB0aGUgdGhyZWFkIGF0IHRoaXMgcG9pbnQpLiBO
b3RlIHRoYXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IDg4OTA3OTA4
ZTdhOWI4MDllOGYyYTRlNDczZDc1MmQxMWQyOTM3YzAuLjk1MTJlZmRiMThmMzJhNTBlY2I3ZmI1
Njk1OWQ2MWU4ODcyZmExZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApA
QCAtMjYsNyArMjYsMTAgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmgiCisjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVu
dGlhbHMuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRUaHJlYWQuaCIKKyNpbmNsdWRlICJX
b3JrZXJSdW5Mb29wLmgiCisjaW5jbHVkZSAiV29ya2VyVHlwZS5oIgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL1J1bnRpbWVGbGFncy5oPgogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3
dGYvVVJMLmg+CkBAIC02Myw2ICs2Niw4IEBAIHN0cnVjdCBXb3JrZXJQYXJhbWV0ZXJzIHsKICAg
ICBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeTsKICAgICBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW47CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xp
Y3k7CisgICAgV29ya2VyVHlwZSB3b3JrZXJUeXBlOworICAgIEZldGNoUmVxdWVzdENyZWRlbnRp
YWxzIGNyZWRlbnRpYWxzOwogICAgIFNldHRpbmdzOjpWYWx1ZXMgc2V0dGluZ3NWYWx1ZXM7CiAK
ICAgICBXb3JrZXJQYXJhbWV0ZXJzIGlzb2xhdGVkQ29weSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclR5cGUuaAppbmRleCAwYjBlZDg2MGQ5YzcxNDIzOGEyYTViYjlmZGY0Mzg0MDJk
MTZlYmYwLi4xYzFiYjk0NDg2N2FkZjRlZDU3OGEyODE0ZmEzMzIzMjZhZWQ4YTU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclR5cGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclR5cGUuaApAQCAtMjcsNyArMjcsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWVudW0gY2xhc3MgV29ya2VyVHlwZSB7CitlbnVtIGNsYXNzIFdvcmtlclR5
cGUgOiB1aW50OF90IHsKICAgICBDbGFzc2ljLAogICAgIE1vZHVsZSwKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIu
aAppbmRleCBlYmJlOTVlODkyNGM4ZjFkNzM3NTI1ZGVhMTYzMGIxZmFkNTZmYjI3Li40YzdkZGY0
YTRjMTMxZTBkY2Q2YmEwOTUwOWFiMmQ5NzU3NWYzMGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKQEAgLTQ3
LDcgKzQ3LDcgQEAgY2xhc3MgTmF2aWdhdG9yQmFzZTsKIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiAK
IGVudW0gY2xhc3MgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIDogdWludDhfdDsKLWVudW0g
Y2xhc3MgV29ya2VyVHlwZTsKK2VudW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3Q7CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQcm94eTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZS5oCmluZGV4IDYwMmRhNzIzNWRmYWYwZjcyNTAzMTY3MTcwM2ZlZjc2YWY2NGYxN2Qu
LmNlMDdiZjkwNDJhMTBmNWZjMmQ0NTZmOTg1OWZiOWY2ZTUxYzU5ODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlLmgKQEAgLTY5LDYgKzY5LDggQEAgY2xhc3MgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIGZp
bmFsIDogcHVibGljIFdvcmtlckdsb2JhbFNjb3BlIHsKICAgICB2b2lkIHNldFNjcmlwdFJlc291
cmNlKGNvbnN0IFVSTCYsIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6SW1wb3J0ZWRTY3JpcHQm
Jik7CiAKICAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0
IHsgcmV0dXJuIG1fY29udGV4dERhdGEuY2VydGlmaWNhdGVJbmZvOyB9CisKKyAgICBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2VydmljZXdvcmtlcjsgfQogICAgIAogcHJpdmF0ZToK
ICAgICBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHRE
YXRhJiwgY29uc3QgV29ya2VyUGFyYW1ldGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgU2Vy
dmljZVdvcmtlclRocmVhZCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElEQkNs
aWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcAppbmRleCBl
YzM5YzBmODQ5YTU0ZTFiNmQwYmVlMzRhOGQ3ZDE5Y2JhNDVlMjg4Li5mOTUxMGNiZjZmZGY3MDQ2
ZjdkMWI5MjIzNjkxNzRkMDFmYTBiZTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCkBAIC0xMTAsNyArMTEwLDggQEAgdm9p
ZCBTZXJ2aWNlV29ya2VySm9iOjpmZXRjaFNjcmlwdFdpdGhDb250ZXh0KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIEYKICAgICBvcHRpb25zLmNhY2hlID0gY2FjaGVQb2xpY3k7CiAg
ICAgb3B0aW9ucy5yZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6UmVkaXJlY3Q6OkVycm9yOwogICAg
IG9wdGlvbnMuZGVzdGluYXRpb24gPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTZXJ2aWNl
d29ya2VyOwotICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoY29udGV4dCwg
V1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSwgQ29udGVudFNlY3VyaXR5UG9saWN5
RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSwgU2VydmljZVdvcmtlcnNNb2RlOjpOb25lLCAqdGhp
cyk7CisgICAgb3B0aW9ucy5jcmVkZW50aWFscyA9IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6
OlNhbWVPcmlnaW47CisgICAgbV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250
ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMpLCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlLCBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmUs
ICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKIH0KIAogUmVzb3VyY2VFcnJv
ciBTZXJ2aWNlV29ya2VySm9iOjp2YWxpZGF0ZVNlcnZpY2VXb3JrZXJSZXNwb25zZShjb25zdCBT
ZXJ2aWNlV29ya2VySm9iRGF0YSYgam9iRGF0YSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oCmluZGV4IDlkNTAwZjg1YWNi
MTg4NDFjYzU1YmVhODIxMWRiMTRmYWRjOTc0NzUuLjJlMzU1N2ZhN2RmNjdmMWJmOThjN2I3YTVk
ZTRiMGE1YTdiY2NjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oCkBAIC0z
Miw3ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xhc3MgU2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlIDogdWludDhfdDsKLWVudW0gY2xhc3MgV29ya2VyVHlwZTsKK2Vu
dW0gY2xhc3MgV29ya2VyVHlwZSA6IHVpbnQ4X3Q7CiAKIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uT3B0aW9ucyB7CiAgICAgU3RyaW5nIHNjb3BlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhy
ZWFkLmNwcAppbmRleCBjOGE3YTk5NzJmOWNjOGMxNmE3OTY3NTExNTUyZjU0OTNhNjg2Zjk4Li5h
MmQzY2Q0MGJjMmEwYWEyNzNiMTYwODNjNWY0ODY0NGQzNzVlMzNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29y
a2VyVGhyZWFkLmNwcApAQCAtNzMsOCArNzMsMTAgQEAgY2xhc3MgRHVtbXlTZXJ2aWNlV29ya2Vy
VGhyZWFkUHJveHkgOiBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHkgewogLy8gRklYTUU6IFVzZSBh
IHZhbGlkIFdvcmtlck9iamVjdFByb3h5CiAvLyBGSVhNRTogVXNlIHZhbGlkIHJ1bnRpbWUgZmxh
Z3MKIAorLy8gRklYTUU6IFN1cHBvcnQgbW9kdWxlcyBpbiBzZXJ2aWNlLXdvcmtlcnMuCisvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyMTU1CiBTZXJ2aWNlV29y
a2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0
RGF0YSYgZGF0YSwgU3RyaW5nJiYgdXNlckFnZW50LCBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBz
ZXR0aW5nc1ZhbHVlcywgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBXb3JrZXJEZWJ1
Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSog
aWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0gICAg
OiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3
b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVy
KCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0
ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgTW9u
b3RvbmljVGltZTo6bm93KCksIHsgfSwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0YS5zY3JpcHQsIGxv
YWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6
c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLnJlZ2lzdHJhdGlv
bi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRiQ29ubmVjdGlvblBy
b3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQo
KSkKKyAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAi
c2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlk
ZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9h
ZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZh
bHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBXb3JrZXJUeXBlOjpDbGFzc2ljLCBGZXRj
aFJlcXVlc3RDcmVkZW50aWFsczo6U2FtZU9yaWdpbiwgc2V0dGluZ3NWYWx1ZXMgfSwgZGF0YS5z
Y3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJl
YWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLnJl
Z2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgaWRiQ29u
bmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFs
bEVuYWJsZWQoKSkKICAgICAsIG1fZGF0YShkYXRhLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV93
b3JrZXJPYmplY3RQcm94eShEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCkp
CiAgICAgLCBtX2hlYXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCku
Y29ubmVjdGlvbigpLT5zaG91bGRVc2VTaG9ydFRpbWVvdXQoKSA/IGhlYXJ0QmVhdFRpbWVvdXRG
b3JUZXN0IDogaGVhcnRCZWF0VGltZW91dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAppbmRleCAyZGRkYjNiNWI0MWVk
ODdiZDYxNGEwYjk0ZDA5Yjc2MTI5M2Q3NjA3Li4zNzhmYmE2NTdlOGJiZjQ4NDFlNTZjYmY4NjU2
MWY4ZWNjMzExMDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCkBAIC01MCw3ICs1MCw3IEBAIHN0cnVjdCBTZXJ2
aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50UXVl
cnlPcHRpb25zOwogc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTsKIHN0cnVjdCBTZXJ2
aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXI7Ci1lbnVtIGNsYXNzIFdvcmtlclR5cGU7CitlbnVt
IGNsYXNzIFdvcmtlclR5cGUgOiB1aW50OF90OwogCiBjbGFzcyBTV1NlcnZlcldvcmtlciA6IHB1
YmxpYyBSZWZDb3VudGVkPFNXU2VydmVyV29ya2VyPiB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCA0MmE3NWI0
NTgyNDc2ZWVkYTI4ZTlhNDJiOTZiMTFjZGJhYzZlNTNhLi5kMDc2ZWU5ZDM1ZWI3ZjczOThlMGQ0
MDllODg3ZTY1N2YyMjYwMjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Q
YWludFdvcmtsZXRHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1Bh
aW50V29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgVk07CiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKIAotY2xhc3MgUGFpbnRX
b3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgV29ya2xldEdsb2JhbFNjb3BlIHsKK2NsYXNzIFBh
aW50V29ya2xldEdsb2JhbFNjb3BlIGZpbmFsIDogcHVibGljIFdvcmtsZXRHbG9iYWxTY29wZSB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQYWludFdvcmtsZXRHbG9iYWxTY29wZSk7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFJlZlB0cjxQYWludFdvcmtsZXRHbG9iYWxTY29wZT4gdHJ5Q3Jl
YXRlKERvY3VtZW50JiwgU2NyaXB0U291cmNlQ29kZSYmKTsKQEAgLTc2LDYgKzc2LDggQEAgY2xh
c3MgUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUgOiBwdWJsaWMgV29ya2xldEdsb2JhbFNjb3BlIHsK
ICAgICAgICAgV29ya2xldEdsb2JhbFNjb3BlOjpwcmVwYXJlRm9yRGVzdHJ1Y3Rpb24oKTsKICAg
ICB9CiAKKyAgICBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6UGFpbnR3b3JrbGV0OyB9
CisKIHByaXZhdGU6CiAgICAgUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUoRG9jdW1lbnQmLCBSZWY8
SlNDOjpWTT4mJiwgU2NyaXB0U291cmNlQ29kZSYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggZDcwNDg4NjY0OGMwZWZhYTZiNzgw
ODRjNTM4NzIwMWNhMmIxYzU0My4uMmFlMGUzMzg5MWRiYzg5ZjE0Njg3ZDQxNDgwMmFhYTEyZDBk
ODRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNj
b3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUu
Y3BwCkBAIC0xNTgsNzIgKzE1OCw3IEBAIFJlZmVycmVyUG9saWN5IFdvcmtsZXRHbG9iYWxTY29w
ZTo6cmVmZXJyZXJQb2xpY3koKSBjb25zdAogdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OmZldGNo
QW5kSW52b2tlU2NyaXB0KGNvbnN0IFVSTCYgbW9kdWxlVVJMLCBGZXRjaFJlcXVlc3RDcmVkZW50
aWFscyBjcmVkZW50aWFscywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxFeGNlcHRp
b24+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVCghaXNNYWluVGhyZWFk
KCkpOwotICAgIG1fc2NyaXB0RmV0Y2hKb2JzLmFwcGVuZCh7IG1vZHVsZVVSTCwgY3JlZGVudGlh
bHMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpIH0pOwotICAgIHByb2Nlc3NOZXh0U2NyaXB0
RmV0Y2hKb2JJZk5lZWRlZCgpOwotfQotCi12b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6cHJvY2Vz
c05leHRTY3JpcHRGZXRjaEpvYklmTmVlZGVkKCkKLXsKLSAgICBpZiAobV9zY3JpcHRGZXRjaEpv
YnMuaXNFbXB0eSgpIHx8IG1fc2NyaXB0TG9hZGVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBh
dXRvJiBzY3JpcHRGZXRjaEpvYiA9IG1fc2NyaXB0RmV0Y2hKb2JzLmZpcnN0KCk7Ci0KLSAgICBS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCB7IHNjcmlwdEZldGNoSm9iLm1vZHVsZVVSTCB9OwotCi0g
ICAgRmV0Y2hPcHRpb25zIGZldGNoT3B0aW9uczsKLSAgICBmZXRjaE9wdGlvbnMubW9kZSA9IEZl
dGNoT3B0aW9uczo6TW9kZTo6Q29yczsKLSAgICBmZXRjaE9wdGlvbnMuY2FjaGUgPSBGZXRjaE9w
dGlvbnM6OkNhY2hlOjpEZWZhdWx0OwotICAgIGZldGNoT3B0aW9ucy5yZWRpcmVjdCA9IEZldGNo
T3B0aW9uczo6UmVkaXJlY3Q6OkZvbGxvdzsKLSAgICBmZXRjaE9wdGlvbnMuY3JlZGVudGlhbHMg
PSBzY3JpcHRGZXRjaEpvYi5jcmVkZW50aWFsczsKLSNpZiBFTkFCTEUoV0VCX0FVRElPKQotICAg
IGlmIChpc0F1ZGlvV29ya2xldEdsb2JhbFNjb3BlKCkpCi0gICAgICAgIGZldGNoT3B0aW9ucy5k
ZXN0aW5hdGlvbiA9IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkF1ZGlvd29ya2xldDsKLSNl
bmRpZgotI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQotICAgIGlmIChpc1BhaW50V29ya2xl
dEdsb2JhbFNjb3BlKCkpCi0gICAgICAgIGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbiA9IEZldGNo
T3B0aW9uczo6RGVzdGluYXRpb246OlBhaW50d29ya2xldDsKLSNlbmRpZgotCi0gICAgYXV0byBj
b250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6
OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNl
Q2hpbGRTcmNEaXJlY3RpdmU7Ci0KLSAgICBtX3NjcmlwdExvYWRlciA9IFdvcmtlclNjcmlwdExv
YWRlcjo6Y3JlYXRlKCk7Ci0gICAgbV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseSgq
dGhpcywgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShmZXRjaE9wdGlvbnMpLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzKTsK
LX0KLQotdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25l
ZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikKLXsKLX0KLQotdm9pZCBXb3JrbGV0R2xv
YmFsU2NvcGU6Om5vdGlmeUZpbmlzaGVkKCkKLXsKLSAgICBhdXRvIGNvbXBsZXRlZEpvYiA9IG1f
c2NyaXB0RmV0Y2hKb2JzLnRha2VGaXJzdCgpOwotCi0gICAgaWYgKG1fc2NyaXB0TG9hZGVyLT5m
YWlsZWQoKSkgewotICAgICAgICBkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKFdURk1vdmUoY29t
cGxldGVkSm9iKSwgRXhjZXB0aW9uIHsgQWJvcnRFcnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHRv
IGZldGNoIG1vZHVsZSwgZXJyb3I6ICIsIG1fc2NyaXB0TG9hZGVyLT5lcnJvcigpLmxvY2FsaXpl
ZERlc2NyaXB0aW9uKCkpIH0pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIHJlYWxseSBiZSBydW4gYXMgYSBtb2R1bGUgc2NyaXB0IGJ1dCB3ZSBk
b24ndCBzdXBwb3J0IHRoaXMgaW4gd29ya2VycyB5ZXQuCi0gICAgVVJMIG1vZHVsZVVSTChtX3Nj
cmlwdExvYWRlci0+cmVzcG9uc2VVUkwoKSk7Ci0gICAgYXV0byBhZGRSZXN1bHQgPSBtX2V2YWx1
YXRlZE1vZHVsZXMuYWRkKG1vZHVsZVVSTCk7Ci0gICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5
KSB7Ci0gICAgICAgIE5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiBleGNlcHRpb247Ci0gICAgICAg
IHNjcmlwdCgpLT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc2NyaXB0TG9hZGVyLT5zY3Jp
cHQoKSwgV1RGTW92ZShtb2R1bGVVUkwpKSwgZXhjZXB0aW9uKTsKLSAgICAgICAgaWYgKGV4Y2Vw
dGlvbikKLSAgICAgICAgICAgIHNjcmlwdCgpLT5zZXRFeGNlcHRpb24oZXhjZXB0aW9uKTsKLSAg
ICB9Ci0KLSAgICBkaWRDb21wbGV0ZVNjcmlwdEZldGNoSm9iKFdURk1vdmUoY29tcGxldGVkSm9i
KSwgeyB9KTsKLX0KLQotdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OmRpZENvbXBsZXRlU2NyaXB0
RmV0Y2hKb2IoU2NyaXB0RmV0Y2hKb2ImJiBqb2IsIE9wdGlvbmFsPEV4Y2VwdGlvbj4gcmVzdWx0
KQotewotICAgIG1fc2NyaXB0TG9hZGVyID0gbnVsbHB0cjsKLQotICAgIGpvYi5jb21wbGV0aW9u
SGFuZGxlcihXVEZNb3ZlKHJlc3VsdCkpOwotCi0gICAgcHJvY2Vzc05leHRTY3JpcHRGZXRjaEpv
YklmTmVlZGVkKCk7CisgICAgc2NyaXB0KCktPmxvYWRBbmRFdmFsdWF0ZU1vZHVsZShtb2R1bGVV
UkwsIGNyZWRlbnRpYWxzLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIE1lc3Nh
Z2VQb3J0Q2hhbm5lbFByb3ZpZGVyJiBXb3JrbGV0R2xvYmFsU2NvcGU6Om1lc3NhZ2VQb3J0Q2hh
bm5lbFByb3ZpZGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmts
ZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNj
b3BlLmgKaW5kZXggZjIzMjBmMGQxMzAyNWNlYWIzYmFjNTZhNDVlYzJkMWRkM2ZiNmNjMC4uZmU1
NGI4NTMyNTY3OTI1ODNkZWRhMDU1YTQzM2EyNTY1NGU4Njc1MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNs
dWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCi0j
aW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQ29uc29sZU1lc3NhZ2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1l
RmxhZ3MuaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KQEAgLTU0LDcgKzUz
LDcgQEAgc3RydWN0IFdvcmtsZXRQYXJhbWV0ZXJzOwogZW51bSBXb3JrbGV0R2xvYmFsU2NvcGVJ
ZGVudGlmaWVyVHlwZSB7IH07CiB1c2luZyBXb3JrbGV0R2xvYmFsU2NvcGVJZGVudGlmaWVyID0g
T2JqZWN0SWRlbnRpZmllcjxXb3JrbGV0R2xvYmFsU2NvcGVJZGVudGlmaWVyVHlwZT47CiAKLWNs
YXNzIFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZSwgcHVibGljIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCB7CitjbGFzcyBXb3JrbGV0R2xvYmFs
U2NvcGUgOiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgewogICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoV29ya2xldEdsb2JhbFNjb3BlKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFs
IH5Xb3JrbGV0R2xvYmFsU2NvcGUoKTsKQEAgLTExMSwxMCArMTEwLDYgQEAgY2xhc3MgV29ya2xl
dEdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLCBwdWJsaWMg
V29ya2VyU2NyaXAKICAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCwgdW5zaWduZWQsIFJl
ZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJiwgSlNDOjpKU0dsb2JhbE9iamVjdCos
IHVuc2lnbmVkIGxvbmcpIGZpbmFsOwogICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBsb25nKSBmaW5h
bDsKIAotICAgIC8vIFdvcmtlclNjcmlwdExvYWRlckNsaWVudC4KLSAgICB2b2lkIGRpZFJlY2Vp
dmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSBmaW5hbDsKLSAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKCkgZmluYWw7Ci0KICAgICBFdmVu
dFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpIGZpbmFsIHsgcmV0dXJuIHRoaXM7IH0KIAogI2lm
IEVOQUJMRShXRUJfQ1JZUFRPKQpAQCAtMTI1LDE1ICsxMjAsNiBAQCBjbGFzcyBXb3JrbGV0R2xv
YmFsU2NvcGUgOiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3Jr
ZXJTY3JpcAogICAgIFN0cmluZyB1c2VyQWdlbnQoY29uc3QgVVJMJikgY29uc3QgZmluYWw7CiAg
ICAgY29uc3QgU2V0dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3NldHRpbmdzVmFsdWVzOyB9CiAKLSAgICBzdHJ1Y3QgU2NyaXB0RmV0Y2hKb2Ig
ewotICAgICAgICBVUkwgbW9kdWxlVVJMOwotICAgICAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFs
cyBjcmVkZW50aWFsczsKLSAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxF
eGNlcHRpb24+JiYpPiBjb21wbGV0aW9uSGFuZGxlcjsKLSAgICB9OwotCi0gICAgdm9pZCBwcm9j
ZXNzTmV4dFNjcmlwdEZldGNoSm9iSWZOZWVkZWQoKTsKLSAgICB2b2lkIGRpZENvbXBsZXRlU2Ny
aXB0RmV0Y2hKb2IoU2NyaXB0RmV0Y2hKb2ImJiwgT3B0aW9uYWw8RXhjZXB0aW9uPik7Ci0KICAg
ICBXZWFrUHRyPERvY3VtZW50PiBtX2RvY3VtZW50OwogCiAgICAgUmVmPFNlY3VyaXR5T3JpZ2lu
PiBtX3RvcE9yaWdpbjsKQEAgLTE0NCw5ICsxMzAsNiBAQCBjbGFzcyBXb3JrbGV0R2xvYmFsU2Nv
cGUgOiBwdWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJTY3Jp
cAogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlck1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVy
PiBtX21lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOwogCi0gICAgUmVmUHRyPFdvcmtlclNjcmlw
dExvYWRlcj4gbV9zY3JpcHRMb2FkZXI7Ci0gICAgRGVxdWU8U2NyaXB0RmV0Y2hKb2I+IG1fc2Ny
aXB0RmV0Y2hKb2JzOwotICAgIEhhc2hTZXQ8VVJMPiBtX2V2YWx1YXRlZE1vZHVsZXM7CiAgICAg
U2V0dGluZ3M6OlZhbHVlcyBtX3NldHRpbmdzVmFsdWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI4ZmIyMzcy
ZTkyMjI2YWRmOGIyZTAxODgzNzhiOThlMmQyZjhlNjYuLjQxMjQ5YTM1MmJmNjFlMzk0OTczMWM0
YWVmMDVhYzJmZmU4OWQ0MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wMi0xOSAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTIE1vZHVsZXMgaW4g
V29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY0ODYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc3VicmVzb3VyY2UtaW50ZWdyaXR5L3NyaS1tb2R1
bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvd29ya2xldC1hZGRNb2R1
bGUtZmFpbHVyZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViYXVkaW8vd29ya2xldC1jcmFz
aC1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDItMTkgIFJvYmVydCBKZW5uZXIgIDxqZW5uZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIFsgTWFjT1MgV2syIF0gbWVkaWEvbWVkaWEtZnJhZ21lbnRzL1RD
MDAzNC5odG1sICBpcyBmbGFrZXkgY3Jhc2hpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IDk4YmQ2M2UyZWJhNDlmMjdmMjdiZTRmM2EzNjQxZTIyYTA3NjFhYWYuLjgxNjdiYTEx
MGU1YmJhMzkzMzY3OGNkNWRiZTA2NTdlYjYxYzJlMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIxLTAyLTE5ICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgSlMgTW9kdWxlcyBpbiBXb3JrZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NjAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb21lIG9mIHdvcmtsZXQg
ZmFpbHVyZXMgaW4gV1BUIGlzIGJlY2F1c2UsCisKKyAgICAgICAgICAgIDEuIFByZXZpb3VzbHks
IHdvcmtsZXQgZG9lcyBub3Qgc3VwcG9ydCBtb2R1bGUuIFRoZXNlIHRlc3RzIGFyZSBwYXNzaW5n
IGluY29ycmVjdGx5IHdoZW4gbW9kdWxlcyBhcmUgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgICAg
ICAgIE5vdywgbW9kdWxlcyBhcmUgc3VwcG9ydGVkLCBhbmQgc29tZSBlZGdlIGZlYXR1cmVzIGFy
ZSBtaXNzaW5nLCBzbyBzdGFydCBmYWlsaW5nCisgICAgICAgICAgICAyLiBXUFQgaXMgdXNpbmcg
d3d3MS5sb2NhbGhvc3QgaW4gc29tZSB0ZXN0cyAoQ1NQIHRlc3RzKSwgYW5kIHRoaXMgaXMgbm90
IHN1cHBvcnRlZCBpbiBXZWJLaXQncyBXUFQgdGVzdGluZy4gU28gZmFpbGluZyBpbmNvcnJlY3Rs
eS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUu
YW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9taWNyb3Rhc2tzL2No
ZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1tb2R1bGUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2Ut
dXJsLXdvcmtlci1pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3ViLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJv
dy13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRp
b24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxl
L2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1p
bi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEv
eGhyLWluLW1vZHVsZXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4td29ya2VyLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2Vy
L3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQt
Y3NwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9t
b2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWZhaWx1cmUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtl
ci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2Vy
LWltcG9ydC1yZWZlcnJlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1m
YWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3Nw
Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xl
dHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJl
ZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDItMTkgIE1hbnVl
bCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgRml4IFNlbGVu
aXVtIGtleSBjb2RlIGZvciBFTlRFUiBpbiB0ZXN0ZHJpdmVyLXZlbmRvci5qcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggNDY3MGIzYmUyNTE1OGEyMDcxYjg3MTgzZTI5NDk2NmQ5ZTc3ZDA2Yy4uZWQw
YzEwODZhNDFiZDM0ODUzZDg2NTkyOTAyZWRmOWJlNzA2MWExZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CkBAIC02NDAsNyArNjQwLDYgQEAgZmFzdC9kb20vY29ubmVjdGVkLXN1YmZyYW1lLWNvdW50ZXIt
b3ZlcmZsb3cuaHRtbCBbIFNsb3cgXQogWyBEZWJ1ZyBdIGh0dHAvdGVzdHMvd29ya2Vycy93b3Jr
ZXItbWVzc2FnZXBvcnQtMi5odG1sIFsgU2xvdyBdCiAKICMgU2tpcCB3b3JrZXJzIHRlc3RzIHRo
YXQgYXJlIHRpbWluZyBvdXQgb3IgYXJlIFNoYXJlZFdvcmtlciByZWxhdGVkIG9ubHkKLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3Nh
bWUtb3JpZ2luLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9kYXRhLXVybC1zaGFyZWQuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2V4YW1wbGVzL29uY29ubmVjdC5hbnkuaHRtbCBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2V4YW1wbGVzL29uY29u
bmVjdC5hbnkud29ya2VyLmh0bWwgWyBTa2lwIF0KQEAgLTY2Myw3ICs2NjIsNiBAQCBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyLXJlcGxhY2UtRXZl
bnRIYW5kbGVyLmFueS5odAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L1NoYXJlZFdvcmtlci1yZXBsYWNlLUV2ZW50SGFuZGxlci5hbnkud29ya2VyLmh0bWwgWyBTa2lw
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9TaGFyZWRXb3JrZXIt
c2NyaXB0LWVycm9yLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9TaGFyZWRXb3JrZXItc2ltcGxlLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1w
b3J0LXJlZmVycmVyLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy1jcmVkZW50aWFscy5o
dG1sIFsgU2tpcCBdCiAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9j
b25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvbW9kdWxlLXNj
cmlwdG5vbmNlLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVk
aXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4IDUwOTkxOWY3YmZkOGNmOTRjNWQzMzQ3Zjg3YTY0NGQx
NTg4NDU5MjEuLmUxNzJkZTRkMDRlMmE1NzQ3Yzc3ZjIyMjI0ZmQ0NWFjMDUyNTA1ZjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9tb2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9t
b2R1bGUtc2NyaXB0bm9uY2UtcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMiBAQAog
Q09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlzIG5vdCBhbGxv
d2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KLUNPTlNPTEUgTUVTU0FHRTogVHlw
ZUVycm9yOiBDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBS
ZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4KIFRoaXMgdGVzdHMgd2hldGhlciBhIGRlZmVycmVkIHNj
cmlwdCBsb2FkIGNhdXNlZCBieSBhIHJlZGlyZWN0IGlzIHByb3Blcmx5IGFsbG93ZWQgYnkgYSBu
b25jZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3VicmVzb3VyY2UtaW50
ZWdyaXR5L3NyaS1tb2R1bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXggYTAxZDlm
MDcyNmZmOTdjNTI1YTUwNDUwNzZiYWU1MTRjODJlZTJlYS4uOTBhMjkxZWI4MjllZTk4YTc5OGVj
Mzc0ODUxODRlYTBlOTVhY2M4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvc3JpLW1vZHVsZS1leHBlY3Rl
ZC50eHQKQEAgLTMsNyArMyw2IEBAIENPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBDYW5ub3Qg
bG9hZCBzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N1YnJlc291cmNlCiBDT05TT0xFIE1F
U1NBR0U6IFR5cGVFcnJvcjogQ2Fubm90IGxvYWQgc2NyaXB0IGh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkvcmVzb3VyY2VzL2Nyb3Nzb3JpZ2luLWFub24tc2NyaXB0
LW1vZHVsZS5qcy4gRmFpbGVkIGludGVncml0eSBtZXRhZGF0YSBjaGVjay4gQ29udGVudCBsZW5n
dGg6IDM3LCBFeHBlY3RlZCBjb250ZW50IGxlbmd0aDogMzcsIEV4cGVjdGVkIG1ldGFkYXRhOiBz
aGEyNTYtZGVhZGJlZWZjU0xsYkZaQ2oxT0FDTHhUeFZjazJUT3JCVEVkVWJ3ejF5VT0KIENPTlNP
TEUgTUVTU0FHRTogVHlwZUVycm9yOiBDYW5ub3QgbG9hZCBzY3JpcHQgaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3N1YnJlc291cmNlLWludGVncml0eS9yZXNvdXJjZXMvY3Jvc3NvcmlnaW4tY3JlZHMt
c2NyaXB0LW1vZHVsZS5qcy4gRmFpbGVkIGludGVncml0eSBtZXRhZGF0YSBjaGVjay4gQ29udGVu
dCBsZW5ndGg6IDM4LCBFeHBlY3RlZCBjb250ZW50IGxlbmd0aDogMzgsIEV4cGVjdGVkIG1ldGFk
YXRhOiBzaGEyNTYtZGVhZGJlZWYyUytwVFJaZ2l3M0RXcmhDNkpMRGx0MnpSeUdwd0g3dW5VOD0K
IENPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxs
b3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCi1DT05TT0xFIE1FU1NBR0U6IFR5
cGVFcnJvcjogQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4g
UmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuCiBDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogQ2Fu
bm90IGxvYWQgc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zdWJyZXNvdXJjZS1pbnRlZ3Jp
dHkvcmVzb3VyY2VzL21hdGNoaW5nLWRpZ2VzdC1tb2R1bGUuanMuIEZhaWxlZCBpbnRlZ3JpdHkg
bWV0YWRhdGEgY2hlY2suIENvbnRlbnQgbGVuZ3RoOiAyOSwgRXhwZWN0ZWQgY29udGVudCBsZW5n
dGg6IDI5LCBFeHBlY3RlZCBtZXRhZGF0YTogc2hhMjU2LWNXaDluUGZtN19tUmJLaHphcm5SWWxz
Sld6NVhUTmNzcVBGektFeCt6U1U9CiBDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogQ2Fubm90
IGxvYWQgc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zdWJyZXNvdXJjZS1pbnRlZ3JpdHkv
cmVzb3VyY2VzL21hdGNoaW5nLWRpZ2VzdC1tb2R1bGUuanMuIEZhaWxlZCBpbnRlZ3JpdHkgbWV0
YWRhdGEgY2hlY2suIENvbnRlbnQgbGVuZ3RoOiAyOSwgRXhwZWN0ZWQgY29udGVudCBsZW5ndGg6
IDI5LCBFeHBlY3RlZCBtZXRhZGF0YTogc2hhMjU2LVU5V1lEdEJXa2NIeDEzKzlVS2svM1E1ZW9x
RGM0WUd4WWIwN0VQV3piOWU9P2Zvbz1iYXI/c3BhbT1lZ2dzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QudGVudGF0
aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVs
ZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKaW5kZXggNDkyNjliM2I1MGI5MTc1Y2I2MmVjYTMxMmU1ODZiM2IxNjYyYTI1OS4uMmNh
ZTVmN2UzNWEzMmZlY2ViMjY4ZjI5MDAwMGU0ZTU1NTZjNjg2MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRp
dmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC50ZW50YXRpdmUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKLUZBSUwgTm9uLW9iamVjdDogbnVsbCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291
bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL251bGwuanNvbicuIgotRkFJTCBOb24tb2JqZWN0
OiB0cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vdHJ1ZS5qc29uJy4iCi1G
QUlMIE5vbi1vYmplY3Q6IGZhbHNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4v
ZmFsc2UuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IENvdWxkIG5vdCBpbXBv
cnQgdGhlIG1vZHVsZSAnLi9zdHJpbmcuanNvbicuIgotRkFJTCBOb24tb2JqZWN0OiBhcnJheSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJv
cjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2FycmF5Lmpzb24nLiIKK0ZBSUwgTm9u
LW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBK
YXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHRydWUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBw
bGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJ
TCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2
YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHN0cmluZyBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlw
ZS4iCitGQUlMIE5vbi1vYmplY3Q6IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlz
IG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdv
cmtlcmdsb2JhbHNjb3BlLW9uZXJyb3ItbW9kdWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L21pY3JvdGFza3MvY2hlY2twb2ludC1hZnRlci13b3JrZXJn
bG9iYWxzY29wZS1vbmVycm9yLW1vZHVsZS1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZi
YThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uZjY4Y2M3M2I0ZDY3NGM1NGRmYWZlNTIyMTJi
NjQzYzQwMzBmZDQyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbWljcm90YXNrcy9jaGVja3BvaW50LWFmdGVyLXdvcmtlcmdsb2JhbHNjb3BlLW9uZXJyb3It
bW9kdWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9taWNyb3Rhc2tzL2NoZWNrcG9pbnQtYWZ0ZXItd29ya2VyZ2xvYmFsc2NvcGUtb25lcnJvci1t
b2R1bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1F
T1VUKSwgbWVzc2FnZSA9IG51bGwKLQorRkFJTCBQcm9taXNlIHJlc29sdmVkIGR1cmluZyAjcmVw
b3J0LXRoZS1lcnJvciBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0
ZWQgYXJyYXkgWyJoYW5kbGVyIDEiLCAiaGFuZGxlciAyIiwgImhhbmRsZXIgMSBwcm9taXNlIiwg
ImhhbmRsZXIgMiBwcm9taXNlIl0gbGVuZ3RoIDQsIGdvdCBbXSBsZW5ndGggMAorUEFTUyBQcm9t
aXNlIHJlc29sdmVkIGR1cmluZyBldmVudCBoYW5kbGVycyBvdGhlciB0aGFuIGVycm9yCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWlj
LWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXItaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZHluYW1pYy1pbXBvcnQv
YWxwaGEvYmFzZS11cmwtd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0CmluZGV4IDUx
ZDYxMDBlNjEyMmE5N2MzNjRiM2NlYjFkN2ZkMDdlMGUxNTYxMTcuLmE4MDUwYzA3OGNmOGI4OGQ1
NjhhZmZlMGQ1NWNjMzE5MGMzNjU0N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIt
aW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci1pbXBv
cnRTY3JpcHRzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBSZWxhdGl2ZSBV
UkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGlt
cG9ydCB0aGUgbW9kdWxlICcuL2ltcG9ydC5qcz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4sKikmbGFiZWw9cmVsYXRpdmUtY3Jvc3Mtb3JpZ2luIGltcG9ydFNjcmlwdHMo
KScuIgotRkFJTCBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIHNhbWUtb3JpZ2luIGltcG9ydFNjcmlw
dHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3LjAuMC4xOjg4
MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9k
eW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLWNyb3NzLW9yaWdpbiBpbXBvcnRTY3JpcHRz
KCknLiIKLVBBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4gaW1wb3J0U2Ny
aXB0cygpCi1GQUlMIEFic29sdXRlIFVSTC1saWtlIGZyb20gY3Jvc3Mtb3JpZ2luIGltcG9ydFNj
cmlwdHMoKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICdodHRwOi8vMTI3LjAuMC4x
Ojg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVs
ZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlwZT1oZWFkZXIoQWNjZXNzLUNvbnRy
b2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLWNyb3NzLW9yaWdpbiBpbXBvcnRTY3Jp
cHRzKCknLiIKK1BBU1MgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRT
Y3JpcHRzKCkKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSBzYW1lLW9yaWdpbiBpbXBvcnRT
Y3JpcHRzKCkKK0ZBSUwgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSBjcm9zcy1vcmlnaW4gaW1wb3J0
U2NyaXB0cygpIGFzc2VydF9lcXVhbHM6IFJlbGF0aXZlIFVSTC1saWtlIHNwZWNpZmllciByZXNv
bHV0aW9uIHNob3VsZCBmYWlsIGV4cGVjdGVkICIodW5yZWFjaGVkKSIgYnV0IGdvdCAiZ2FtbWEv
aW1wb3J0LmpzIgorUEFTUyBBYnNvbHV0ZSBVUkwtbGlrZSBmcm9tIGNyb3NzLW9yaWdpbiBpbXBv
cnRTY3JpcHRzKCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvbW9kdWxlL2R5bmFtaWMtaW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2R5bmFtaWMt
aW1wb3J0L2FscGhhL2Jhc2UtdXJsLXdvcmtlci5zdWItZXhwZWN0ZWQudHh0CmluZGV4IDg2NmVi
YjIyN2FkMjZhYWNlMWE1NzhiYWVhNmE4MWRjMGU2ZTc3ZjAuLjVlNzA2MzQ5MGUyZGZmZWNlODVl
YTc2NWFlYmRkZTRiMTZlYjBmYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9hbHBoYS9iYXNlLXVybC13b3JrZXIuc3Vi
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1
bGUvZHluYW1pYy1pbXBvcnQvYWxwaGEvYmFzZS11cmwtd29ya2VyLnN1Yi1leHBlY3RlZC50eHQK
QEAgLTEsNCArMSw0IEBACiAKLUZBSUwgUmVsYXRpdmUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9w
LWxldmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2ltcG9ydC5q
cz9waXBlPWhlYWRlcihBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4sKikmbGFiZWw9cmVsYXRp
dmUtd29ya2VyIHRvcC1sZXZlbCBzY3JpcHQnLiIKLUZBSUwgQWJzb2x1dGUgVVJMLWxpa2UgZnJv
bSB3b3JrZXIgdG9wLWxldmVsIHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxl
ICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9keW5hbWljLWltcG9ydC9nYW1tYS9pbXBvcnQuanM/cGlwZT1o
ZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopJmxhYmVsPWFic29sdXRlLXdvcmtl
ciB0b3AtbGV2ZWwgc2NyaXB0Jy4iCitQQVNTIFJlbGF0aXZlIFVSTC1saWtlIGZyb20gd29ya2Vy
IHRvcC1sZXZlbCBzY3JpcHQKK1BBU1MgQWJzb2x1dGUgVVJMLWxpa2UgZnJvbSB3b3JrZXIgdG9w
LWxldmVsIHNjcmlwdAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLW5vdGhyb3ctd29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9y
ZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5MjhmNzc1ZThmYmE4YmJm
OTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYuLjJmMTJhMjM0MmZhZDIyNGUzYTE4YTZmYjVkODQ4MzI1
ZWE2Nzc2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21v
ZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVy
LTEtbm90aHJvdy13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi1IYXJuZXNz
IEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQorUEFTUyBUZXN0IGV2YWx1YXRpb24g
b3JkZXIgb2YgbW9kdWxlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0xLXdvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0x
LXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJl
NGMxZGNiM2E1Zi4uYjg2MWY3MDFmOTQ4ZmIxMzI3NjkzMjJjMzgzNjZmMmQxMzhmMDRlMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRp
b24tb3JkZXItMS13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTEtd29ya2VyLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBu
dWxsCi0KK0ZBSUwgVGVzdCBldmFsdWF0aW9uIG9yZGVyIG9mIG1vZHVsZXMgYXNzZXJ0X2FycmF5
X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsic3RlcC0xLTEiLCAic3Rl
cC0xLTIiLCAiZ2xvYmFsLWVycm9yIiwgImVycm9yIiwgIm1pY3JvdGFzayJdIGxlbmd0aCA1LCBn
b3QgWyJzdGVwLTEtMSIsICJzdGVwLTEtMiIsICJtaWNyb3Rhc2siXSBsZW5ndGggMwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlv
bi1vcmRlci0yLWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXItMi1pbXBvcnQtd29ya2VyLWV4
cGVjdGVkLnR4dAppbmRleCA4OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVm
Li5jMWQzOGJkZTUwYzU5ZTVkNTk0MTczZDk2ZjljZDE5ZWIxMDdjOWI0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9tb2R1bGUvZXZhbHVhdGlvbi1vcmRlci0y
LWltcG9ydC13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTItaW1wb3J0LXdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAotCitGQUlMIFRlc3QgZXZhbHVhdGlvbiBvcmRlciBvZiBtb2R1bGVzIGFzc2VydF9h
cnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbInN0ZXAtMi4yLTEi
LCAic3RlcC0yLjItMiIsICJnbG9iYWwtZXJyb3IiLCAiZXJyb3IiLCAibWljcm90YXNrLTIuMiJd
IGxlbmd0aCA1LCBnb3QgWyJzdGVwLTIuMi0xIiwgInN0ZXAtMi4yLTIiLCAibWljcm90YXNrLTIu
MiJdIGxlbmd0aCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L21vZHVsZS9ldmFsdWF0aW9uLW9yZGVyLTMtZHluYW1pYy13b3JrZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3Jk
ZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODkyOGY3NzVlOGZiYThiYmY5
NTlkMGZhZGRkMjJlNGMxZGNiM2E1Zi4uMmYxMmEyMzQyZmFkMjI0ZTNhMThhNmZiNWQ4NDgzMjVl
YTY3NzZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9k
dWxlL2V2YWx1YXRpb24tb3JkZXItMy1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvbW9kdWxlL2V2YWx1YXRpb24tb3JkZXIt
My1keW5hbWljLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUhhcm5lc3Mg
RXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCitQQVNTIFRlc3QgZXZhbHVhdGlvbiBv
cmRlciBvZiBtb2R1bGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1t
b2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBv
cnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDEyZDk0YTkxZWYxZjhh
YjBhMTg3Yzc0OWIwZGRlYzY5NmQxMTg4ZTcuLmI0ZDY4YWYwNTZlZWY2MjJhMzNkNTRmMDc2ZjM4
MWQ0ZTFiYjI5YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUt
c2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0
LW1vZHVsZS1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMiw4ICsyLDggQEAKIEZBSUwg
U3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicu
IGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgogRkFJTCBOZXN0ZWQg
c3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicu
IGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgogRkFJTCBTdGF0aWMg
aW1wb3J0IGFuZCB0aGVuIGR5bmFtaWMgaW1wb3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVu
dC4iCi1GQUlMIER5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAi
RmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUg
bW9kdWxlICcuL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZB
SUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAi
RmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJvcjogQ291bGQgbm90IGltcG9ydCB0aGUg
bW9kdWxlICcuL2V4cG9ydC1vbi1keW5hbWljLWltcG9ydC1zY3JpcHQuanMnLiIsIGV4cGVjdGVk
IGFycmF5Ci1GQUlMIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBpbXBvcnQuIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVy
cm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLXN0YXRpYy1pbXBv
cnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBhcnJheQotRkFJTCBldmFsKGltcG9ydCgpKS4gYXNz
ZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZhaWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDog
RXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1vZHVsZSAnLi9leHBvcnQtb24tbG9hZC1zY3Jp
cHQuanMnLiIsIGV4cGVjdGVkIGFycmF5CitQQVNTIER5bmFtaWMgaW1wb3J0LgorUEFTUyBOZXN0
ZWQgZHluYW1pYyBpbXBvcnQuCitQQVNTIER5bmFtaWMgaW1wb3J0IGFuZCB0aGVuIHN0YXRpYyBp
bXBvcnQuCitQQVNTIGV2YWwoaW1wb3J0KCkpLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBv
cnQtaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1
bGV3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGRkOWFmMzhmZjA5ZmJlYzFmYWMwYjhmNWVhOWJh
ZDZlMzE2MzY0OWQuLjUxZWIzNjYzOGMxY2E3ZDA2MGI3Njc1OTI2ZmNjNzBjNWJmMDc2ZTcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9i
YXNldXJsL2FscGhhL2ltcG9ydC1pbi1tb2R1bGV3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQg
KzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlm
aWVyICdyJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAotRkFJ
TCBCYXNlIFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IGltcG9ydCBhc3NlcnRfdW5y
ZWFjaGVkOiBHb3QgZXJyb3IgZXZlbnQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIEJh
c2UgVVJMIGluIG1vZHVsZSBkZWRpY2F0ZWQgd29ya2VyczogaW1wb3J0CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNl
dXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhh
L2ltcG9ydFNjcmlwdHMtaW4td29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBhYjVhN2ZiODkwMjBm
MjlmZDg5M2E3NTY4MGZmZTE3ZDNkMzUwZjdjLi5hYjUzYjgwNTk5YWUwMTk1NzgwODVlZTQ0YWFl
ZmE0Yzc5NTUyNjg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXdvcmtl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi13b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIGltcG9ydFNjcmlwdHMgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgImdhbW1hL3NjcmlwdC5qcyIgYnV0IGdvdCAiYmV0YS9zY3JpcHQuanMi
CitQQVNTIGltcG9ydFNjcmlwdHMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLW1vZHVs
ZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVj
dGVkLnR4dAppbmRleCA4M2YzNjdmMmNmM2E2NmM2NGE2MjY0Mjk0NjU2ZDVlODgxZDFjMTFjLi4y
OGIwY2I0MDAxMzkyZDA4ODdhNGZlYmU2ODFjMWUxNTFkMGRmMThiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9h
bHBoYS94aHItaW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHIt
aW4tbW9kdWxld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBCYXNl
IFVSTCBpbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlcnM6IFhIUiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiZ2FtbWFcbiIgYnV0IGdvdCAiYmV0YVxuIgorUEFTUyBCYXNlIFVSTCBpbiBtb2R1bGUg
ZGVkaWNhdGVkIHdvcmtlcnM6IFhIUgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS94aHItaW4td29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IGQ2YjA4ZWVkYWU2ZjY5NmM3YTRiZmE2NTVlMTNiNWVkNDYwN2VhMDEuLmVhMTQ1NGQ5YjNm
MjBmODVkOTAxNmM1MDZhMTU0NmFmNjE3ODQyZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1p
bi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi13b3JrZXItZXhwZWN0
ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIHhoci13b3JrZXIgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImdhbW1hXG4iIGJ1dCBnb3QgImJldGFcbiIKK1BBU1MgeGhyLXdvcmtlcgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0
b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggODMxZjBjNThjNjk0YzJk
NGZlYmQ2ZDhkMGFmMzA3YjEwOTQ0MmE2ZS4uZDU1NWVlN2NmM2ZjNzJlZmI4MmRmOWRiN2RhZDM2
N2Y5YWI3ZmZiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4tZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAt
MSwxMyArMSwxMSBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
LQogUEFTUyB1bnN1cHBvcnRlZF9zY2hlbWUKIEZBSUwgZGF0YV91cmwgVGhlIG9wZXJhdGlvbiBp
cyBpbnNlY3VyZS4KLVRJTUVPVVQgYWJvdXRfYmxhbmsgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQg
ZXhhbXBsZV9pbnZhbGlkIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIHBvcnRfODEgVGVzdCB0aW1l
ZCBvdXQKLVRJTUVPVVQgaHR0cHNfcG9ydF84MCBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBodHRw
c19wb3J0XzgwMDAgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgaHR0cF9wb3N0XzgwMTIgVGVzdCB0
aW1lZCBvdXQKLVRJTUVPVVQgamF2YXNjcmlwdF91cmwgVGVzdCB0aW1lZCBvdXQKK1BBU1MgYWJv
dXRfYmxhbmsKK1BBU1MgZXhhbXBsZV9pbnZhbGlkCitQQVNTIHBvcnRfODEKK1BBU1MgaHR0cHNf
cG9ydF84MAorUEFTUyBodHRwc19wb3J0XzgwMDAKK1BBU1MgaHR0cF9wb3N0XzgwMTIKK1BBU1Mg
amF2YXNjcmlwdF91cmwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9j
YXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9j
YXRpb24vcmVkaXJlY3QtZXhwZWN0ZWQudHh0CmluZGV4IGYxNzQxZjlkOGJmMDcwMzI3MGQyZTM3
NjJkYmNiZTI2YzBiOTAwNTkuLjNiMGRmYjM1ZTUxY2QxYTg1NDU1MzAxOWMwZTQwM2RiZTJmMWQz
M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRp
cmVjdC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgV29ya2VyTG9jYXRpb24g
d2l0aCByZWRpcmVjdHM6IGNsYXNzaWMgZGVkaWNhdGVkIHdvcmtlcnMgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29ya2Vy
R2xvYmFsU2NvcGUvbG9jYXRpb24vcG9zdC1sb2NhdGlvbi1tZW1iZXJzLmpzP2EiIGJ1dCBnb3Qg
Imh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2Nv
cGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5P2ZhaWwiCitQQVNTIFdvcmtlckxvY2F0aW9u
IHdpdGggcmVkaXJlY3RzOiBjbGFzc2ljIGRlZGljYXRlZCB3b3JrZXJzCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1tb2R1bGUt
ZXhwZWN0ZWQudHh0CmluZGV4IGRjMmUyZTIwN2RiMDAxZWU3MGU3MzMwN2QyN2JiMzM1NzIwZmQ1
NTkuLmIzYmY4MWVlODY4MWI5ZGMwODBmNTgwMjcxZThiOGYzOTA5NjU0OTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LW1vZHVsZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QtbW9k
dWxlLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBXb3JrZXJMb2NhdGlvbiB3
aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckds
b2JhbFNjb3BlL2xvY2F0aW9uL3Bvc3QtbG9jYXRpb24tbWVtYmVycy5qcz9hIiBidXQgZ290ICJo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3Bl
L2xvY2F0aW9uL2hlbHBlci1yZWRpcmVjdC5weT9mYWlsIgorUEFTUyBXb3JrZXJMb2NhdGlvbiB3
aXRoIHJlZGlyZWN0czogbW9kdWxlIGRlZGljYXRlZCB3b3JrZXJzCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVz
L2RlZGljYXRlZC13b3JrZXItaW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9k
ZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1ibG9iLXVybC5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDIw
YWMxN2Q1NjNjNGIzYTQ2MWYwY2FhZmJlYWVlYmQ3MTNmOTcwODEuLmRjY2VkY2NkMzY4ZTFmZjE3
YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXIt
aW1wb3J0LWJsb2ItdXJsLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtl
ci1pbXBvcnQtYmxvYi11cmwuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwxOCArMSw5IEBACi1DT05T
T0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9zdGF0aWMtaW1wb3J0
LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi1D
T05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9uZXN0ZWQtc3Rh
dGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFy
Z3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcg
bGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMv
c3RhdGljLWltcG9ydC1hbmQtdGhlbi1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQg
Y2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50
YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAw
L3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzIi4gaW1w
b3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTog
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgImh0dHA6Ly9sb2NhbGhvc3Q6
ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL25lc3RlZC1keW5hbWljLWltcG9ydC13b3Jr
ZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09M
RSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDov
L2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZHluYW1pYy1pbXBvcnQt
YW5kLXRoZW4tc3RhdGljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9kdWxl
cy9yZXNvdXJjZXMvZXZhbC1keW5hbWljLWltcG9ydC13b3JrZXIuanMiLiBpbXBvcnQgY2FsbCBl
eHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVz
c2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICJodHRwOi8vbG9j
YWxob3N0Ojg4MDAvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9keW5hbWljLWltcG9ydC1hbmQt
dGhlbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcyIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3Rs
eSBvbmUgYXJndW1lbnQuCi0KLUZBSUwgU3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJp
bmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3Vy
Y2VzL3N0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3Rs
eSBvbmUgYXJndW1lbnQuIgotRkFJTCBOZXN0ZWQgc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL25lc3RlZC1zdGF0aWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBl
eHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgU3RhdGljIGltcG9ydCBhbmQgdGhl
biBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9s
b2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL3N0YXRpYy1pbXBvcnQtYW5k
LXRoZW4tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhh
Y3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBEeW5hbWljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBz
dHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2R5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVkIGR5bmFtaWMgaW1wb3J0LiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHN0cmluZyBsaXRlcmFsIFwiaHR0cDovL2xvY2FsaG9zdDo4ODAwL3dvcmtlcnMvbW9k
dWxlcy9yZXNvdXJjZXMvbmVzdGVkLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qc1wiLiBpbXBvcnQg
Y2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgRHluYW1pYyBpbXBvcnQg
YW5kIHRoZW4gc3RhdGljIGltcG9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2R5bmFtaWMtaW1w
b3J0LWFuZC10aGVuLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxsIGV4cGVj
dHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgotRkFJTCBldmFsKGltcG9ydCgpKS4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL21vZHVs
ZXMvcmVzb3VyY2VzL2V2YWwtZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzXCIuIGltcG9ydCBjYWxs
IGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgorUEFTUyBTdGF0aWMgaW1wb3J0LgorUEFT
UyBOZXN0ZWQgc3RhdGljIGltcG9ydC4KK1BBU1MgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5h
bWljIGltcG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBkeW5hbWljIGlt
cG9ydC4KK1BBU1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4KK1BBU1Mg
ZXZhbChpbXBvcnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0
LWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1jc3AtZXhwZWN0
ZWQudHh0CmluZGV4IDFkYTQ2YjkyNmJlMDg5NmVlOGY3NWE3OGRjYWU0ZjI2OWIwNTA5MmIuLjIz
OWNjOWNlMTUzMDFmN2VlZDgzZDVlYjIyMzBhOWRlMjk0ZWEyZWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItaW1wb3J0LWNzcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVk
LXdvcmtlci1pbXBvcnQtY3NwLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwyMiBAQAogQ09OU09M
RSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZl
ICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8v
d3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1s
b2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1
cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMv
cmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVz
b3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3Vy
Y2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6
ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxv
Y2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93
b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogQ09OU09M
RSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZl
ICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8v
d3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1s
b2FkLXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3
MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2Fk
LXNjcmlwdC5qcworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5s
b2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9ydC1vbi1sb2FkLXNj
cmlwdC5qcwogQ09OU09MRSBNRVNTQUdFOiBVbnJlY29nbml6ZWQgQ29udGVudC1TZWN1cml0eS1Q
b2xpY3kgZGlyZWN0aXZlICd3b3JrZXItc3JjJy4KIAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3Vy
Y2VzL2V4cG9ydC1vbi1sb2FkLXNjcmlwdC5qcwogCiBQQVNTIHdvcmtlci1zcmMgJ3NlbGYnIGRp
cmVjdGl2ZSBzaG91bGQgZGlzYWxsb3cgY3Jvc3Mgb3JpZ2luIHN0YXRpYyBpbXBvcnQuCiBGQUlM
IHdvcmtlci1zcmMgKiBkaXJlY3RpdmUgc2hvdWxkIGFsbG93IGNyb3NzIG9yaWdpbiBzdGF0aWMg
aW1wb3J0LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBleHBlY3RlZCBwcm9wZXJ0eSAwIHRvIGJlICJl
eHBvcnQtb24tbG9hZC1zY3JpcHQuanMiIGJ1dCBnb3QgIkVSUk9SIiAoZXhwZWN0ZWQgYXJyYXkg
WyJleHBvcnQtb24tbG9hZC1zY3JpcHQuanMiXSBnb3QgWyJFUlJPUiJdKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVs
ZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLWltcG9ydC1mYWlsdXJlLWV4cGVjdGVkLnR4dAppbmRleCA5NWM2ZDE1ZGY0
NGUxOGEzNWRmZWIwZmEzOWM4ZDM4NDQyMGMyYzEzLi5lOTU1NzhlNzFiMWM1MGE0ZTA0NzFiMDM3
MTU0YjM4NmIzN2FlZDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1m
YWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1mYWls
dXJlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwgJy4vbm9uLWV4aXN0ZW50LXNjcmlwdC5q
cycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCitDT05TT0xFIE1F
U1NBR0U6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLgogCi1GQUlMIGltcG9ydFNj
cmlwdHMoKSBvbiBtb2R1bGUgd29ya2VyIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJUeXBlRXJyb3IiIGJ1dCBnb3QgIkxPQURFRCIKK1BBU1MgaW1w
b3J0U2NyaXB0cygpIG9uIG1vZHVsZSB3b3JrZXIgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4K
IFBBU1MgV29ya2VyIGNvbnN0cnVjdGlvbiBmb3Igbm9uLWV4aXN0ZW50IHNjcmlwdCBzaG91bGQg
ZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KIFBBU1MgU3RhdGljIGltcG9ydCBmb3Igbm9uLWV4aXN0
ZW50IHNjcmlwdCBzaG91bGQgZGlzcGF0Y2ggYW4gRXJyb3JFdmVudC4KLUZBSUwgRHluYW1pYyBp
bXBvcnQgZm9yIG5vbi1leGlzdGVudCBzY3JpcHQgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlR5cGVFcnJvciIgYnV0IGdvdCAiRXJyb3IiCitQQVNT
IER5bmFtaWMgaW1wb3J0IGZvciBub24tZXhpc3RlbnQgc2NyaXB0IHNob3VsZCB0aHJvdyBhbiBl
eGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIGFuIGludmFsaWQgVVJMIHNo
b3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTIFdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIGEg
ZmlsZSBVUkwgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29y
a2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dAppbmRleCBkNTgwNjIwNDFjM2U2OTUxNWI4MTVl
MDJkN2MzODY4NGQ3N2M3NmI3Li43NzI5MWJhYTFhNDE4NGJlYmU3YWQ3YjVkOWYxMTljNzFhNzhk
ZTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLWV4cGVjdGVkLnR4dApA
QCAtMSw4ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IGltcG9ydC5tZXRh
IGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1vZHVsZXMuCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBt
ZXNzYWdlID0gU3ludGF4RXJyb3I6IGltcG9ydC5tZXRhIGlzIG9ubHkgdmFsaWQgaW5zaWRlIG1v
ZHVsZXMuCi0KLUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIHRvcC1sZXZlbCBtb2R1
bGUgc2NyaXB0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
IlN5bnRheEVycm9yOiBpbXBvcnQubWV0YSBpcyBvbmx5IHZhbGlkIGluc2lkZSBtb2R1bGVzLiIK
LUZBSUwgVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1vZHVsZSBzY3JpcHQu
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBUZXN0IGltcG9ydC5t
ZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJhZ21lbnQuIGFz
c2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBUZXN0IGltcG9ydC5tZXRh
LnVybCBvbiB0aGUgdG9wLWxldmVsIG1vZHVsZSBzY3JpcHQuCitQQVNTIFRlc3QgaW1wb3J0Lm1l
dGEudXJsIG9uIHRoZSBpbXBvcnRlZCBtb2R1bGUgc2NyaXB0LgorUEFTUyBUZXN0IGltcG9ydC5t
ZXRhLnVybCBvbiB0aGUgaW1wb3J0ZWQgbW9kdWxlIHNjcmlwdCB3aXRoIGEgZnJhZ21lbnQuCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItaW1wb3J0LW1ldGEuaHRtbAppbmRleCBjZmY4ZTkxNDg4ZTgyMzlhYmUy
MTM2MTlkMTJkNWE2MDMwNzJmYmVhLi5lZGUyNjkyZTFjNjM0MWJlZmZjOTAxMGM0MWI4ZjRjZmU0
MzgzMjliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC1tZXRhLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQtbWV0YS5odG1sCkBAIC01Myw3ICs1Myw3
IEBACiAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgnLi8nICsgc2NyaXB0X3VybCArICcjMScp
OwogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdl
ID0gcmVzb2x2ZSk7CiAgICAgICB9KQotICAgICAgLnRoZW4obXNnX2V2ZW50ID0+IGFzc2VydF90
cnVlKG1zZ19ldmVudC5kYXRhLmVuZHNXaXRoKHNjcmlwdF91cmwpKSk7CisgICAgICAudGhlbiht
c2dfZXZlbnQgPT4gYXNzZXJ0X3RydWUobXNnX2V2ZW50LmRhdGEuZW5kc1dpdGgoc2NyaXB0X3Vy
bCArICcjMScpKSk7CiB9LCAnVGVzdCBpbXBvcnQubWV0YS51cmwgb24gdGhlIGltcG9ydGVkIG1v
ZHVsZSBzY3JpcHQgd2l0aCBhIGZyYWdtZW50LicpOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1
bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2Rl
ZGljYXRlZC13b3JrZXItaW1wb3J0LXJlZmVycmVyLWV4cGVjdGVkLnR4dAppbmRleCA2ZGM0MmMx
Y2ZkMzM0OGFmZGQxZGZkM2IxMGE1MDQ3MDU1MzAxOTZhLi43MDE2NThkYTY4MDRjYWViMGRlYzI1
NDg3MDA5ZWU2NzZjZWVhOWQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9y
dC1yZWZlcnJlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1pbXBvcnQt
cmVmZXJyZXItZXhwZWN0ZWQudHh0CkBAIC0xLDE5ICsxLDIzIEBACi0KLUhhcm5lc3MgRXJyb3Ig
KFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4
cG9ydC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwg
aHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhw
b3J0LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBo
dHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBv
cnQtcmVmZXJyZXItY2hlY2tlci5weQorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0
dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrZXJzL21vZHVsZXMvcmVzb3VyY2VzL2V4cG9y
dC1yZWZlcnJlci1jaGVja2VyLnB5CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0
cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvZXhwb3J0
LXJlZmVycmVyLWNoZWNrZXIucHkKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRw
czovL3d3dzEubG9jYWxob3N0Ojk0NDMvd29ya2Vycy9tb2R1bGVzL3Jlc291cmNlcy9leHBvcnQt
cmVmZXJyZXItY2hlY2tlci5weQogCiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZlbCBtb2R1bGUg
c2NyaXB0IGxvYWRpbmcgd2l0aCAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeQogUEFTUyBT
YW1lLW9yaWdpbiB0b3AtbGV2ZWwgbW9kdWxlIHNjcmlwdCBsb2FkaW5nIHdpdGggIm9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5CiBQQVNTIFNhbWUtb3JpZ2luIHRvcC1sZXZlbCBtb2R1bGUgc2NyaXB0
IGxvYWRpbmcgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeQotRkFJTCBTYW1lLW9y
aWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogVHlwZSBlcnJvciIKLUZBSUwgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJv
cmlnaW4iIHJlZmVycmVyIHBvbGljeS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotRkFJTCBTYW1lLW9y
aWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogVHlwZSBlcnJvciIKK1BBU1MgU2FtZS1vcmlnaW4gc3RhdGljIGltcG9ydCB3aXRoICJu
by1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LgorUEFTUyBTYW1lLW9yaWdpbiBzdGF0aWMgaW1w
b3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgorUEFTUyBTYW1lLW9yaWdpbiBzdGF0
aWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kuCiBGQUlMIENyb3Nz
LW9yaWdpbiBzdGF0aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3ku
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogVHlwZSBlcnJvciIKIEZBSUwgQ3Jvc3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0
aCAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIEZBSUwgQ3Jv
c3Mtb3JpZ2luIHN0YXRpYyBpbXBvcnQgd2l0aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGlj
eS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBUeXBlIGVycm9yIgotVElNRU9VVCBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9y
dCB3aXRoICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9saWN5LiBUZXN0IHRpbWVkIG91dAotTk9U
UlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9s
aWN5LgotTk9UUlVOIFNhbWUtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggInNhbWUtb3JpZ2lu
IiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdp
dGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuCi1OT1RSVU4gQ3Jvc3Mtb3JpZ2luIGR5
bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LgotTk9UUlVOIENyb3Nz
LW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
LgorUEFTUyBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJuby1yZWZlcnJlciIgcmVm
ZXJyZXIgcG9saWN5LgorUEFTUyBTYW1lLW9yaWdpbiBkeW5hbWljIGltcG9ydCB3aXRoICJvcmln
aW4iIHJlZmVycmVyIHBvbGljeS4KK1BBU1MgU2FtZS1vcmlnaW4gZHluYW1pYyBpbXBvcnQgd2l0
aCAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeS4KK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFt
aWMgaW1wb3J0IHdpdGggIm5vLXJlZmVycmVyIiByZWZlcnJlciBwb2xpY3kuIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlw
ZSBlcnJvciIKK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGR5bmFtaWMgaW1wb3J0IHdpdGggIm9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCitGQUlMIENyb3NzLW9yaWdpbiBk
eW5hbWljIGltcG9ydCB3aXRoICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5LiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItaW1wb3J0LmFu
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLWltcG9ydC5hbnktZXhwZWN0ZWQu
dHh0CmluZGV4IGEyM2E1NTc1ZGI0Mjc0MjdmODViZDZiNjM1NGRlODgzODMxZmUyYjQuLmRjY2Vk
Y2NkMzY4ZTFmZjE3YjFkZDEzNmU0NTNmZWM0ZmUxMGJjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItaW1wb3J0LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1pbXBvcnQuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwxNCArMSw5IEBACi1DT05TT0xFIE1F
U1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcqJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFy
Z3VtZW50LgotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
KicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKLUhhcm5lc3Mg
RXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyon
LiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotCi1GQUlMIFN0YXRp
YyBpbXBvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LiIKLUZBSUwgTmVzdGVkIHN0YXRpYyBpbXBvcnQuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LiIKLUZBSUwgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9ydC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
IgotRkFJTCBEeW5hbWljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZh
aWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1v
ZHVsZSAnLi9leHBvcnQtb24tbG9hZC1zY3JpcHQuanMnLiIsIGV4cGVjdGVkIGFycmF5Ci1GQUlM
IE5lc3RlZCBkeW5hbWljIGltcG9ydC4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgIkZh
aWxlZCB0byBkbyBkeW5hbWljIGltcG9ydDogRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgdGhlIG1v
ZHVsZSAnLi9leHBvcnQtb24tZHluYW1pYy1pbXBvcnQtc2NyaXB0LmpzJy4iLCBleHBlY3RlZCBh
cnJheQotRkFJTCBEeW5hbWljIGltcG9ydCBhbmQgdGhlbiBzdGF0aWMgaW1wb3J0LiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAiRmFpbGVkIHRvIGRvIGR5bmFtaWMgaW1wb3J0OiBFcnJv
cjogQ291bGQgbm90IGltcG9ydCB0aGUgbW9kdWxlICcuL2V4cG9ydC1vbi1zdGF0aWMtaW1wb3J0
LXNjcmlwdC5qcycuIiwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgZXZhbChpbXBvcnQoKSkuIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzICJGYWlsZWQgdG8gZG8gZHluYW1pYyBpbXBvcnQ6IEVy
cm9yOiBDb3VsZCBub3QgaW1wb3J0IHRoZSBtb2R1bGUgJy4vZXhwb3J0LW9uLWxvYWQtc2NyaXB0
LmpzJy4iLCBleHBlY3RlZCBhcnJheQorUEFTUyBTdGF0aWMgaW1wb3J0LgorUEFTUyBOZXN0ZWQg
c3RhdGljIGltcG9ydC4KK1BBU1MgU3RhdGljIGltcG9ydCBhbmQgdGhlbiBkeW5hbWljIGltcG9y
dC4KK1BBU1MgRHluYW1pYyBpbXBvcnQuCitQQVNTIE5lc3RlZCBkeW5hbWljIGltcG9ydC4KK1BB
U1MgRHluYW1pYyBpbXBvcnQgYW5kIHRoZW4gc3RhdGljIGltcG9ydC4KK1BBU1MgZXZhbChpbXBv
cnQoKSkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy10eXBlLWV4cGVjdGVkLnR4
dAppbmRleCBkYTBlNGViNjc1OGQxNGEzN2EzOThkMGI2ZmM3MWFkMzg3NmJkMjZiLi4xZmMwYzY2
ZmRmNzI0YzJhYTNiOTEwNjk4MGJmYmU3ZTk4OGY5NzczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRpY2F0
ZWQtd29ya2VyLW9wdGlvbnMtdHlwZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdv
cmtlci1vcHRpb25zLXR5cGUtZXhwZWN0ZWQudHh0CkBAIC0yLDExICsyLDYgQEAKIFBBU1MgVGVz
dCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggdGhlIGRlZmF1bHQgd29ya2VyIHR5cGUuCiBQQVNT
IFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIHRoZSAiY2xhc3NpYyIgd29ya2VyIHR5cGUu
CiBQQVNTIFRlc3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIHRoZSAibW9kdWxlIiB3b3JrZXIg
dHlwZS4KLUZBSUwgVGVzdCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgd29ya2Vy
IHR5cGUuIGFzc2VydF90aHJvd3NfanM6IFdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiBlbXB0
eSB0eXBlIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24gZnVuY3Rpb24gIigpID0+IHsKLSAgICAg
ICAgbmV3IFdvcmtlcigncmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS1vbi1sb2FkLXdvcmtlci5qcycs
IHsgdHlwZTogJycgfSk7Ci0gICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIFRlc3Qgd29ya2Vy
IGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVua25vd24gd29ya2VyIHR5cGUuIGFzc2VydF90aHJvd3Nf
anM6IFdvcmtlciBjb25zdHJ1Y3Rpb24gd2l0aCBhbiB1bmtub3duIHR5cGUgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgICBuZXcgV29ya2VyKCdyZXNv
dXJjZXMvcG9zdC1tZXNzYWdlLW9uLWxvYWQtd29ya2VyLmpzJywKLSAgICAgICAgICAgICAgICAg
ICB7IHR5cGU6ICd1bmtub3duJyB9KTsKLSAgICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgVGVz
dCB3b3JrZXIgY29uc3RydWN0aW9uIHdpdGggYW4gZW1wdHkgd29ya2VyIHR5cGUuCitQQVNTIFRl
c3Qgd29ya2VyIGNvbnN0cnVjdGlvbiB3aXRoIGFuIHVua25vd24gd29ya2VyIHR5cGUuCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbW9kdWxlcy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQu
dHh0CmluZGV4IGU4ZWI1NDBiZDMzOTI0MDBhOGRiZmQ5Mzg2NDhhNjQ5MjM5YzBkOWUuLmQxYTUw
ZjdlYTNjZDZkYzI5OGVmNzU0MTQ3NzYyYzY5YzU3ZDczYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9tb2R1bGVzL2RlZGlj
YXRlZC13b3JrZXItcGFyc2UtZXJyb3ItZmFpbHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVk
aWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsx
LDE0IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcq
Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KK0NPTlNPTEUgTUVT
U0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzsnCitDT05TT0xFIE1FU1NBR0U6
IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc7JwogCi1IYXJuZXNzIEVycm9yIChGQUlM
KSwgbWVzc2FnZSA9IEVycm9yOiBhc3NlcnRfaW1wbGVtZW50czogU3RhdGljIGltcG9ydCBtdXN0
IGJlIHN1cHBvcnRlZCBvbiBtb2R1bGUgZGVkaWNhdGVkIHdvcmtlciB0byBydW4gdGhpcyB0ZXN0
LiB1bmRlZmluZWQKLQotTk9UUlVOIE1vZHVsZSB3b3JrZXIgY29uc3RydWN0aW9uIGZvciBzY3Jp
cHQgd2l0aCBzeW50YXggZXJyb3Igc2hvdWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9y
LgotTk9UUlVOIFN0YXRpYyBpbXBvcnQgb24gbW9kdWxlIHdvcmtlciBmb3Igc2NyaXB0IHdpdGgg
c3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4KK0ZBSUwg
TW9kdWxlIHdvcmtlciBjb25zdHJ1Y3Rpb24gZm9yIHNjcmlwdCB3aXRoIHN5bnRheCBlcnJvciBz
aG91bGQgZGlzcGF0Y2ggYW4gZXZlbnQgbmFtZWQgZXJyb3IuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBFdmVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiBi
dXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBFcnJvckV2ZW50KCkgeworICAgIFtuYXRpdmUgY29k
ZV0KK30iCitGQUlMIFN0YXRpYyBpbXBvcnQgb24gbW9kdWxlIHdvcmtlciBmb3Igc2NyaXB0IHdp
dGggc3ludGF4IGVycm9yIHNob3VsZCBkaXNwYXRjaCBhbiBldmVudCBuYW1lZCBlcnJvci4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIEV2ZW50KCkgeworICAgIFtu
YXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEVycm9yRXZlbnQoKSB7
CisgICAgW25hdGl2ZSBjb2RlXQorfSIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25hbWUtcHJvcGVydHktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L25hbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CmluZGV4IDYzOTg0NzEyMTQ1OWE3YWIzN2I5ZjA5
YTY4YmE2NGVhOGE5ZWQ1N2MuLmU5NDY5NDdiMTRhZWYzZTUyOTlhMGFiYTNhZTRiMWNmOWZjZDk1
NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBl
Y3RlZC50eHQKQEAgLTEsNyArMSw4IEBACiBDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9t
aXNlIFJlamVjdGlvbjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgogCi1GQUlMIFRlc3QgdGhlIG5hbWUgcHJvcGVydHkgb2Ygc2hhcmVkIGFuZCBkZWRp
Y2F0ZWQgd29ya2VycyB2aWEgdGhlIG5hbWUgY29uc3RydWN0b3Igb3B0aW9uIENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgotUEFTUyBEZWNsYXJpbmcgbmFtZSBhcyBhbiBhY2NpZGVu
dGFsIGdsb2JhbCBtdXN0IG5vdCBjYXVzZSBhIGhhcm5lc3MgZXJyb3IgZm9yIERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxl
ZCByZWplY3Rpb246IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCiBQQVNTIG5h
bWUgcHJvcGVydHkgdmFsdWUgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCiBQQVNTIG5h
bWUgcHJvcGVydHkgaXMgcmVwbGFjZWFibGUgZm9yIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
CitQQVNTIERlY2xhcmluZyBuYW1lIGFzIGFuIGFjY2lkZW50YWwgZ2xvYmFsIG11c3Qgbm90IGNh
dXNlIGEgaGFybmVzcyBlcnJvciBmb3IgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
bGV0cy9hdWRpby13b3JrbGV0LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29y
a2xldC1jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZjA2OTFhYTA5Y2M0OWNk
ZjdmMmE5NDM3NGM2ZTYyMjIwZjkzYjhlMi4uYTU3MGQ4ZDI5MmZhODU2MjEyYjA1NDc4ODIwZjEz
MGY4MWQ5YmJmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWNyZWRlbnRpYWxzLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDExICsxLDExIEBACiBDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9z
dDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIAot
RkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCB0aGUgZGVmYXVsdCBXb3Jr
bGV0T3B0aW9ucyBzaG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRv
IGZldGNoIG1vZHVsZSwgZXJyb3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgiCitGQUlMIEltcG9ydGlu
ZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIHRoZSBkZWZhdWx0IFdvcmtsZXRPcHRpb25zIHNo
b3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2Ny
aXB0IGZhaWxlZC4iCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGgg
dGhlIGRlZmF1bHQgV29ya2xldE9wdGlvbnMgc2hvdWxkIG5vdCBzZW5kIHRoZSBjcmVkZW50aWFs
cwotRkFJTCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1v
bWl0IHNob3VsZCBub3Qgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZl
dGNoIG1vZHVsZSwgZXJyb3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgiCitGQUlMIEltcG9ydGluZyBh
IHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPW9taXQgc2hvdWxkIG5vdCBzZW5k
IHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxl
ZC4iCiBQQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdpdGggY3JlZGVudGlh
bHM9b21pdCBzaG91bGQgbm90IHNlbmQgdGhlIGNyZWRlbnRpYWxzCi1GQUlMIEltcG9ydGluZyBh
IHNhbWUtb3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPXNhbWUtb3JpZ2luIHNob3VsZCBz
ZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlLCBlcnJv
cjogUmVzcG9uc2UgaXMgbm90IDJ4eCIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2Ny
aXB0IHdpdGggY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4gc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRp
YWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IkFib3J0RXJyb3I6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLiIKIFBBU1MgSW1w
b3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1zYW1lLW9yaWdp
biBzaG91bGQgbm90IHNlbmQgdGhlIGNyZWRlbnRpYWxzCi1GQUlMIEltcG9ydGluZyBhIHNhbWUt
b3JpZ2luIHNjcmlwdCB3aXRoIGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNy
ZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkFib3J0RXJyb3I6IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBSZXNwb25z
ZSBpcyBub3QgMnh4IgotRkFJTCBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCB3aXRo
IGNyZWRlbnRpYWxzPWluY2x1ZGUgc2hvdWxkIHNlbmQgdGhlIGNyZWRlbnRpYWxzIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkFib3J0RXJyb3I6
IEZhaWxlZCB0byBmZXRjaCBtb2R1bGUsIGVycm9yOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uIgorRkFJ
TCBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgd2l0aCBjcmVkZW50aWFscz1pbmNsdWRl
IHNob3VsZCBzZW5kIHRoZSBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBJbXBvcnRpbmcgYSBtb2R1bGUg
c2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHdp
dGggY3JlZGVudGlhbHM9aW5jbHVkZSBzaG91bGQgc2VuZCB0aGUgY3JlZGVudGlhbHMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJv
cjogQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3Vy
Y2UgU2hhcmluZyBwb2xpY3kuIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtY3NwLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGJmMzM1
Y2YzMDU1ZTA2NWIzODk4OWI0MWFhMWUyMzZmZWI0YWMyOWQuLjI3NWIzNDM3ZmFkOTc1M2E2ZWNl
MjQyMDBlYWJmMjU3ZmZkNjI3MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2xldHMvYXVkaW8td29ya2xldC1jc3AuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQw
ICsxLDUyIEBACitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxv
Y2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRo
LWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93
d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlw
dC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0
cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0
LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBV
UkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13
b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9l
bXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291
cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1F
U1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dv
cmtlci1zcmMnLgogCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3Vy
aXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCitCbG9ja2VkIGFjY2VzcyB0byBl
eHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNl
cy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzCiBDT05TT0xFIE1FU1NB
R0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtl
ci1zcmMnLgogCiBDT05TT0xFIE1FU1NBR0U6IFVucmVjb2duaXplZCBDb250ZW50LVNlY3VyaXR5
LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgogCiBDT05TT0xFIE1FU1NBR0U6IFVucmVj
b2duaXplZCBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBkaXJlY3RpdmUgJ3dvcmtlci1zcmMnLgog
CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5
NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVh
ZGVyLmpzCiBDT05TT0xFIE1FU1NBR0U6IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xv
Y2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2Fz
IG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2Nh
bGhvc3Q6ODgwMC93b3JrbGV0cy9yZXNvdXJjZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1j
b3JzLWhlYWRlci5qcy4KIAogQ09OU09MRSBNRVNTQUdFOiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQg
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJjZXMvYWRkbW9kdWxlLXdpbmRv
dy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2xldHMvcmVzb3VyY2VzL2VtcHR5LXdvcmtsZXQtc2Ny
aXB0LXdpdGgtY29ycy1oZWFkZXIuanMuCiAKK0NPTlNPTEUgTUVTU0FHRTogW2Jsb2NrZWRdIFRo
ZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL2FkZG1v
ZHVsZS13aW5kb3cuaHRtbCB3YXMgbm90IGFsbG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250
ZW50IGZyb20gaHR0cDovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291cmNlcy9lbXB0eS13
b3JrbGV0LXNjcmlwdC13aXRoLWNvcnMtaGVhZGVyLmpzLgorCitDT05TT0xFIE1FU1NBR0U6IFti
bG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3dvcmtsZXRzL3Jlc291
cmNlcy9hZGRtb2R1bGUtd2luZG93Lmh0bWwgd2FzIG5vdCBhbGxvd2VkIHRvIGRpc3BsYXkgaW5z
ZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNvdXJj
ZXMvZW1wdHktd29ya2xldC1zY3JpcHQtd2l0aC1jb3JzLWhlYWRlci5qcy4KKwogCiBGQUlMIEEg
cmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBiZSBibG9ja2VkIGJ5IHRoZSBzY3JpcHQtc3Jj
ICdzZWxmJyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0
IGdvdCAiUkVTT0xWRUQiCi1GQUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYSBy
ZW1vdGUtb3JpZ2luIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAn
c2VsZicgZGlyZWN0aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBn
b3QgIlJFU09MVkVEIgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVt
b3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMgJ3Nl
bGYnIGRpcmVjdGl2ZS4KIEZBSUwgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEg
cmVtb3RlLW9yaWdpbiBzY3JpcHQgc2hvdWxkIGJlIGJsb2NrZWQgYnkgdGhlIHNjcmlwdC1zcmMg
J3NlbGYnIGRpcmVjdGl2ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFSkVDVEVEIiBidXQg
Z290ICJSRVNPTFZFRCIKIEZBSUwgQSByZW1vdGUtb3JpZ2luLXJlZGlyZWN0ZWQgd29ya2xldCBz
aG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0aXZlLiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVEIgotRkFJTCBB
IHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVk
IHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2VsZicgZGlyZWN0
aXZlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVKRUNURUQiIGJ1dCBnb3QgIlJFU09MVkVE
IgorUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1y
ZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBieSB0aGUgc2NyaXB0LXNyYyAnc2Vs
ZicgZGlyZWN0aXZlLgogUEFTUyBBIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzaG91bGQgbm90IGJl
IGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUg
b3JpZ2luIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBh
IHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBz
Y3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxsb3dzIGl0LgorRkFJ
TCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBzY3JpcHQg
c2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNw
ZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJS
RVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0
IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBi
ZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5nIHRoZSBvcmlnaW4gYWxs
b3dzIGl0LgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBu
b3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBzcGVjaWZ5aW5n
IHRoZSBvcmlnaW4gYWxsb3dzIGl0LgotUEFTUyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0
aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2Nr
ZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgc3BlY2lmeWluZyB0aGUgb3JpZ2lu
IGFsbG93cyBpdC4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90
ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2Ug
dGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIHNwZWNpZnlpbmcgdGhlIG9yaWdpbiBhbGxvd3MgaXQu
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAiUkVKRUNURUQiCiBQ
QVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNl
IHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdp
biB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUg
YmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZlIGFsbG93cyBpdC4KK0ZB
SUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0
IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICogZGlyZWN0aXZl
IGFsbG93cyBpdC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJS
RUpFQ1RFRCIKIFBBU1MgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3Rl
LW9yaWdpbiBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJlY2F1c2UgdGhlIHNjcmlwdC1z
cmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LgogUEFTUyBBIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3Rl
ZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBiZWNhdXNlIHRoZSBzY3JpcHQtc3JjICog
ZGlyZWN0aXZlIGFsbG93cyBpdC4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2Vk
IGJlY2F1c2UgdGhlIHNjcmlwdC1zcmMgKiBkaXJlY3RpdmUgYWxsb3dzIGl0LgorRkFJTCBBIHNh
bWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNj
cmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYmVjYXVzZSB0aGUgc2NyaXB0LXNyYyAqIGRpcmVj
dGl2ZSBhbGxvd3MgaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdv
dCAiUkVKRUNURUQiCiBQQVNTIEEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBub3QgYmUg
YmxvY2tlZCBieSB0aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5
IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZS4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGlt
cG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0
aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQt
c3JjIGRpcmVjdGl2ZS4KK0ZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4gc2NyaXB0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0aGUgd29ya2VyLXNy
YyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2
ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJSRUpFQ1RFRCIK
IFBBU1MgQSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVtb3RlLW9yaWdpbiBz
Y3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRoZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBi
ZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlLgogUEFTUyBBIHJl
bW90ZS1vcmlnaW4tcmVkaXJlY3RlZCB3b3JrbGV0IHNob3VsZCBub3QgYmUgYmxvY2tlZCBieSB0
aGUgd29ya2VyLXNyYyBkaXJlY3RpdmUgYmVjYXVzZSB3b3JrbGV0cyBvYmV5IHRoZSBzY3JpcHQt
c3JjIGRpcmVjdGl2ZS4KLVBBU1MgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhIHJl
bW90ZS1vcmlnaW4tcmVkaXJlY3RlZCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBibG9ja2VkIGJ5IHRo
ZSB3b3JrZXItc3JjIGRpcmVjdGl2ZSBiZWNhdXNlIHdvcmtsZXRzIG9iZXkgdGhlIHNjcmlwdC1z
cmMgZGlyZWN0aXZlLgorRkFJTCBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGEgcmVt
b3RlLW9yaWdpbi1yZWRpcmVjdGVkIHNjcmlwdCBzaG91bGQgbm90IGJlIGJsb2NrZWQgYnkgdGhl
IHdvcmtlci1zcmMgZGlyZWN0aXZlIGJlY2F1c2Ugd29ya2xldHMgb2JleSB0aGUgc2NyaXB0LXNy
YyBkaXJlY3RpdmUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAi
UkVKRUNURUQiCiBQQVNTIEFuIGluc2VjdXJlLW9yaWdpbiB3b3JrbGV0IHNob3VsZCBiZSBibG9j
a2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMuCiBQQVNTIEFuIGluc2VjdXJlLW9yaWdpbi1y
ZWRpcmVjdGVkIHdvcmtsZXQgc2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVzZSBvZiBtaXhlZCBjb250
ZW50cy4KLUZBSUwgQSBzYW1lLW9yaWdpbiB3b3JrbGV0IGltcG9ydGluZyBhbiBpbnNlY3VyZS1v
cmlnaW4gc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVudHMu
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQiCi1G
QUlMIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2luLXJl
ZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2Ugb2YgbWl4ZWQgY29udGVu
dHMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRUpFQ1RFRCIgYnV0IGdvdCAiUkVTT0xWRUQi
CitQQVNTIEEgc2FtZS1vcmlnaW4gd29ya2xldCBpbXBvcnRpbmcgYW4gaW5zZWN1cmUtb3JpZ2lu
IHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRzLgorUEFT
UyBBIHNhbWUtb3JpZ2luIHdvcmtsZXQgaW1wb3J0aW5nIGFuIGluc2VjdXJlLW9yaWdpbi1yZWRp
cmVjdGVkIHNjcmlwdCBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkIGNvbnRlbnRz
LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8t
d29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZlODk2NWFlZjZjYWRhMjIx
OWVmOGUzMDg4OGJhOTFlMjQwMTdhYzAuLjY3NjQ3ZDQ2ODdiOWQzY2ZjODZlMGIyYzhmNTY4ZTIw
ZjViZWMzOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xl
dHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xNiw3ICsxNiw3
IEBAIFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlIHdpdGggdGhlIEFjY2Vz
cy1Db250cm9sLUFsbG93LU9yaWdpbiBoZWFkCiBQQVNTIEltcG9ydGluZyBhIGNyb3NzIG9yaWdp
biByZXNvdXJjZSB3aXRob3V0IHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVy
IHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UKIFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mt
b3JpZ2luLXJlZGlyZWN0ZWQgcmVzb3VyY2Ugd2l0aCB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ct
T3JpZ2luIGhlYWRlciBzaG91bGQgcmVzb2x2ZSB0aGUgZ2l2ZW4gcHJvbWlzZQogUEFTUyBJbXBv
cnRpbmcgYSBjcm9zcy1vcmlnaW4tcmVkaXJlY3RlZCByZXNvdXJjZSB3aXRob3V0IHRoZSBBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHBy
b21pc2UKLUZBSUwgSW1wb3J0aW5nIGEgc2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVycm9yIHNo
b3VsZCByZWplY3QgdGhlIGdpdmVuIHByb21pc2UuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBo
YXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIElt
cG9ydGluZyBhIG5lc3RlZCBzY3JpcHQgdGhhdCBoYXMgYSBzeW50YXggZXJyb3Igc2hvdWxkIHJl
amVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVq
ZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgSW1wb3J0aW5n
IGEgc2NyaXB0IHRoYXQgaW1wb3J0cyBhbiBpbnZhbGlkIGlkZW50aWZpZXIgc2hvdWxkIHJlamVj
dCB0aGUgZ2l2ZW4gcHJvbWlzZS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0
ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgSW1wb3J0aW5nIGEg
c2NyaXB0IHRoYXQgaGFzIGEgc3ludGF4IGVycm9yIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHBy
b21pc2UuCitQQVNTIEltcG9ydGluZyBhIG5lc3RlZCBzY3JpcHQgdGhhdCBoYXMgYSBzeW50YXgg
ZXJyb3Igc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZS4KK1BBU1MgSW1wb3J0aW5nIGEg
c2NyaXB0IHRoYXQgaW1wb3J0cyBhbiBpbnZhbGlkIGlkZW50aWZpZXIgc2hvdWxkIHJlamVjdCB0
aGUgZ2l2ZW4gcHJvbWlzZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVycmVyLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2xldHMvYXVkaW8td29ya2xldC1yZWZlcnJlci5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggMjRkNDk5YzE0MWNlZTZkYzliMmViZTI0YmZiNGZmNGMwM2EwYTk3My4uNzlkODUyMjdjYzBm
NDY3MzdlNmY4M2ZiNGEyMWM1OGFiNTM3NzYwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LXJlZmVy
cmVyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtcmVmZXJyZXIuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDIwICsxLDI2IEBACitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRw
czovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93
LU9yaWdpbi4KK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9j
YWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL3JlZmVycmVyLWNoZWNrZXIucHk/cmVmZXJy
ZXJfcG9saWN5PW5vLXJlZmVycmVyJmV4cGVjdGVkX3JlZmVycmVyPQorQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My93b3JrbGV0cy9yZXNv
dXJjZXMvcmVmZXJyZXItY2hlY2tlci5weT9yZWZlcnJlcl9wb2xpY3k9b3JpZ2luJmV4cGVjdGVk
X3JlZmVycmVyPWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvCitDT05TT0xFIE1FU1NBR0U6IE9yaWdp
biBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbi4KK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3
dzEubG9jYWxob3N0Ojk0NDMvd29ya2xldHMvcmVzb3VyY2VzL3JlZmVycmVyLWNoZWNrZXIucHk/
cmVmZXJyZXJfcG9saWN5PXNhbWUtb3JpZ2luJmV4cGVjdGVkX3JlZmVycmVyPQorQ09OU09MRSBN
RVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCiAKIFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmln
aW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJuby1yZWZlcnJlciIgcmVmZXJyZXIgcG9s
aWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4KIFBBU1MgSW1wb3J0aW5nIGEgcmVtb3RlLW9y
aWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiByZWZlcnJlciBw
b2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9y
aWdpbiBzY3JpcHQgZnJvbSBhIHBhZ2UgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBzZW5kIG9ubHkgYW4gb3JpZ2luIGFzIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcg
YSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAib3JpZ2luIiByZWZl
cnJlciBwb2xpY3kgc2hvdWxkIHNlbmQgb25seSBhbiBvcmlnaW4gYXMgcmVmZXJyZXIuCi1QQVNT
IEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAic2Ft
ZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4KK0ZBSUwgSW1w
b3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJvcmlnaW4i
IHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCBvbmx5IGFuIG9yaWdpbiBhcyByZWZlcnJlci4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBt
b2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IGZyb20gYSBwYWdlIHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQg
c2VuZCBvbmx5IGFuIG9yaWdpbiBhcyByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
IlJFU09MVkVEIiBidXQgZ290ICJDcm9zcy1vcmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENy
b3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iCitGQUlMIEltcG9ydGluZyBhIHNh
bWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcGFnZSB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVy
cmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
IlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCiBQ
QVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBwYWdlIHRoYXQgaGFz
ICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4K
IFBBU1MgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3
b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91
bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAibm8tcmVmZXJy
ZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCitGQUlMIEltcG9y
dGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNj
cmlwdCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNl
bmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZFRCIgYnV0IGdvdCAi
Q3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2Ug
U2hhcmluZyBwb2xpY3kuIgogUEFTUyBJbXBvcnRpbmcgYSBzYW1lLW9yaWdpbiBzY3JpcHQgZnJv
bSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm5vLXJlZmVycmVyIiBy
ZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBzZW5kIHJlZmVycmVyLgogUEFTUyBJbXBvcnRpbmcg
YSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3b3JrbGV0IHNjcmlw
dCB0aGF0IGhhcyAibm8tcmVmZXJyZXIiIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQg
cmVmZXJyZXIuCiBQQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2Ft
ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5
IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNj
cmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgIm9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFTUyBJbXBvcnRpbmcgYSBz
YW1lLW9yaWdpbiBzY3JpcHQgZnJvbSBhIHJlbW90ZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhh
dCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgotUEFT
UyBJbXBvcnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3
b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAib3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIHNl
bmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEg
c2FtZS1vcmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJl
ciBwb2xpY3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1v
cmlnaW4gc2NyaXB0IGZyb20gYSBzYW1lLW9yaWdpbiB3b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAi
c2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1Q
QVNTIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgcmVtb3RlLW9yaWdpbiB3
b3JrbGV0IHNjcmlwdCB0aGF0IGhhcyAic2FtZS1vcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91
bGQgbm90IHNlbmQgcmVmZXJyZXIuCi1QQVNTIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2Ny
aXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9y
aWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLgorRkFJTCBJbXBvcnRp
bmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBzY3Jp
cHQgdGhhdCBoYXMgIm9yaWdpbiIgcmVmZXJyZXIgcG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVy
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdp
biBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9s
aWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUt
b3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBz
aG91bGQgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBi
dXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZhaWxlZC4iCitGQUlMIEltcG9ydGlu
ZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2Ny
aXB0IHRoYXQgaGFzICJvcmlnaW4iIHJlZmVycmVyIHBvbGljeSBzaG91bGQgc2VuZCByZWZlcnJl
ci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJDcm9zcy1vcmln
aW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBv
bGljeS4iCitGQUlMIEltcG9ydGluZyBhIHNhbWUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1v
cmlnaW4gd29ya2xldCBzY3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xp
Y3kgc2hvdWxkIHNlbmQgcmVmZXJyZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSRVNPTFZF
RCIgYnV0IGdvdCAiSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQuIgorRkFJTCBJbXBv
cnRpbmcgYSByZW1vdGUtb3JpZ2luIHNjcmlwdCBmcm9tIGEgc2FtZS1vcmlnaW4gd29ya2xldCBz
Y3JpcHQgdGhhdCBoYXMgInNhbWUtb3JpZ2luIiByZWZlcnJlciBwb2xpY3kgc2hvdWxkIG5vdCBz
ZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVTT0xWRUQiIGJ1dCBnb3Qg
IkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNl
IFNoYXJpbmcgcG9saWN5LiIKK0ZBSUwgSW1wb3J0aW5nIGEgc2FtZS1vcmlnaW4gc2NyaXB0IGZy
b20gYSByZW1vdGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIg
cmVmZXJyZXIgcG9saWN5IHNob3VsZCBub3Qgc2VuZCByZWZlcnJlci4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIlJFU09MVkVEIiBidXQgZ290ICJJbXBvcnRpbmcgYSBtb2R1bGUgc2NyaXB0IGZh
aWxlZC4iCitGQUlMIEltcG9ydGluZyBhIHJlbW90ZS1vcmlnaW4gc2NyaXB0IGZyb20gYSByZW1v
dGUtb3JpZ2luIHdvcmtsZXQgc2NyaXB0IHRoYXQgaGFzICJzYW1lLW9yaWdpbiIgcmVmZXJyZXIg
cG9saWN5IHNob3VsZCBzZW5kIHJlZmVycmVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUkVT
T0xWRUQiIGJ1dCBnb3QgIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJlY3Rl
ZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtd29ya2VyLW9yaWdpbi1l
eHBlY3RlZC50eHQKaW5kZXggMWUyZDM5OTJmNmQ1ZGYzMjIwN2E2YjBmNjE5YTZkNzExODEyNDAw
ZC4uN2E3YTkxN2VhYTk4ZTkyZWUwM2VjMjhhMTFlNzgwODRkMjM0Yjg4NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwt
cmVkaXJlY3RlZC13b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVjdGVkLXdv
cmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cyLmxvY2FsaG9zdDo4ODAwL3hoci9yZXNvdXJjZXMv
aW5zcGVjdC1oZWFkZXJzLnB5P2ZpbHRlcl9uYW1lPW9yaWdpbiZjb3JzCiAKLUZBSUwgUmVmZXJl
ciBoZWFkZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJlZmVyZXI6IGh0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC94aHIvcmVzb3VyY2VzL3dvcmtlcnhoci1vcmlnaW4tcmVmZXJyZXIuanNcbiIgYnV0
IGdvdCAiUmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3hoci9yZXNvdXJjZXMvcmVkaXJl
Y3QucHk/bG9jYXRpb249d29ya2VyeGhyLW9yaWdpbi1yZWZlcnJlci5qc1xuIgorUEFTUyBSZWZl
cmVyIGhlYWRlcgogRkFJTCBPcmlnaW4gaGVhZGVyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJP
cmlnaW46IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMFxuIiBidXQgZ290ICIiCiBQQVNTIFJlcXVlc3Qg
VVJMIHRlc3QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW93b3JrbGV0
LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1
ZGlvd29ya2xldC1hZGRNb2R1bGUtZmFpbHVyZS1leHBlY3RlZC50eHQKaW5kZXggMDhhZjExNDM2
MDU1MWJmNWE4MDc5YWYwYTM4MTVjNGUwOGViZDE0My4uZGVmMzNhZDg2OTFiNjk0MzZlMGUxODFj
NWJkMDA0ODM1NDgzNTFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW93
b3JrbGV0LWFkZE1vZHVsZS1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93
ZWJhdWRpby9hdWRpb3dvcmtsZXQtYWRkTW9kdWxlLWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC00
LDcgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1MgY29udGV4dC5hdWRp
b1dvcmtsZXQuYWRkTW9kdWxlKGludmFsaWRVUkwpOyByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5
bnRheEVycm9yOiBNb2R1bGUgVVJMIGlzIGludmFsaWQuCi1QQVNTIGNvbnRleHQuYXVkaW9Xb3Jr
bGV0LmFkZE1vZHVsZSgnZG9lc25vdEV4aXN0LmpzJyk7IHJlamVjdGVkIHByb21pc2UgIHdpdGgg
QWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJyb3I6IFRoZSByZXF1ZXN0ZWQg
VVJMIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuLgorUEFTUyBjb250ZXh0LmF1ZGlvV29y
a2xldC5hZGRNb2R1bGUoJ2RvZXNub3RFeGlzdC5qcycpOyByZWplY3RlZCBwcm9taXNlICB3aXRo
IEFib3J0RXJyb3I6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLi4KIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vd29ya2xldC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJhdWRpby93b3JrbGV0LWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA2NTRkZGY3ZjE3ZWZh
YjU4ZTQyZmFiZTM4NTI1Nzk2NGFlMmM1ZDQxLi4xYTQzZTNmOTdjYjJmMDZiOWY3Y2Q1ZjJiMTgy
MzM4MTA1MTNlZWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby93b3JrbGV0LWNy
YXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby93b3JrbGV0LWNyYXNo
LWV4cGVjdGVkLnR4dApAQCAtMSArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjog
J3RleHQvaHRtbCcgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuCiBUaGlzIHRl
c3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgo=
</data>
<flag name="review"
          id="439721"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>426977</attachid>
            <date>2021-04-24 02:09:25 -0700</date>
            <delta_ts>2021-04-24 02:09:25 -0700</delta_ts>
            <desc>Advanced use case</desc>
            <filename>Screenshot 2021-04-24 at 10.50.43.png</filename>
            <type>image/png</type>
            <size>817883</size>
            <attacher name="Tobias Uhlig">tobiasuhlig78</attacher>
            
              <data encoding="base64">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
2YsMM4RJiJ5ok6J9AezkpBj/Emmqk+NULBLSbWI+jI+/1QcA1w7AF8n4+Nie8fEv+5Fk7wLQkT3V
508IFrn9lFho2ePjutt2gH/K1B3gLzX+U4OJDJzBP/WfSWsiV70RNNIAAABWZVhJZk1NACoAAAAI
AAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAB5+gAwAEAAAAAQAABLAA
AAAAQVNDSUkAAABTY3JlZW5zaG900IM3CgAAAdhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4
OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4w
Ij4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJk
Zi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAg
ICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAg
ICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTIwMDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAg
ICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xOTUxPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAg
ICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAg
ICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CkP9AEgAAEAA
SURBVHgBnL2NthzJkZx5AXRz2M0jaTkaiqN92nlfUdLOrkT2D37WPjM3j8gCmjNHAWSGh7u5uYdH
ZFZW1b3Au+9/+McvX97e3t7puNu7d+/evtjy9vZe1s82CjngY396vhfgi3zfCfdZf969kzc+al8E
hVLmaV9sQ58MBqiRLPojLiN1/iIeE8E92hkbsifZ3zNIDmYo//g5d+O/eG5fyqNECk1gxWmu6t8J
HYrozfM5uTQ8DNTKuXeyT8jMKjMkDvVK80Dil7fPLRpc9hejhHdZCMOZ5g5Zr/F54Dc26AyIxtpa
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
Pvz1XDgBkoI4I7rf00Mwn+cHee9t8JsWJTI5SHaM6BxDNs+/KoNHB1Z12XtfCEGkyYec/aGEa8oY
pczS+5qwXePlR8ggvHmNvr/EdB265wT13NZLwsiJPWNA7MWJi5PERorgd9eJjVftr/N3fDyZE7xR
SIMMKSf5Y7cCHV/0zToPZtwMtwfvni3Er6WCy7UqlxXSeS5QnzimFg5f8j/zZUALwgDHitYW5Zs5
i2+CmwOvfnPA3AIKk4aH5khmHb5G2FrIP2u72aAgiqjzNjtM5JE6lqO94Qy4/IjjRGcPi6exTkaV
xlIC1HehG8C9g0dT3MzWLnA4QQcXjjE5G7xMjDK/QNYwgu34lqYA+KsLydBowBgbovOQYOzYyuEe
8KRgrAads3xaq/KFdOjjapVj+tQY9JUdgVOw5mWAcNWcHG+XkAJ0gy6LWRAKNYY2ZvjiNsrT2YsT
8dTCknM05+z9M5jL5bd9VLukcviONLEm7r0m90sh0T0f4VySCZx91dykNI/2NTVkKBK+uN1SOLAZ
Zt9ZkdmMCNb4XCSxEaJQuVukrw67WnwhyPicE/OMj5RrFpc4vc67L9nM5W6gvwrzonnaiRCv815u
xsNFhC+9dzlYfPx8vvG47wg5+TBnzw6VBuTJB9Iwo6cxR/c6Gas+kUfL65N88vnYIC4fUHjOK4JH
rVe+pBiwWHtXA5RrQNxKgHh3q391fW9YvXPWfHhsqC/92h0r3uj7QWjQoOLlM0VSy7mSPg+UHl2z
Z62j0FylPPhgbJcWPDa89zNFfNWqb/wny/ENOuf4RIabOOiaFzKaxM3Iquv0ivceMUtzuvsyhqC8
5PyaNzY+qzuYE7SZdI3wDe5gkIqjr1x9x+3R3w19OYthTOv4lo3Xfv6P/+E/yO/L288//+IvGX79
+PHtT//0T7offX77+aef3r7TP6lrYjM9T3Dc3K/xb3ttMPxbed1RqBmtXK0hunL+W3zZj2VJD1/9
y1nduUbApmGrvn617F7AoGDnPoJX40Rm3DiV+xzMmIY9uuNDjvxgxNEEVzx9wj8xz1xBNZ/I97nc
uQt1FAQ1hIt2W5BzL7u1QVXTfspjfGtZG/2da+XqiVrsMwNipYEAYxz3apHsWPp8vj7gwdVOT0wa
8mmHsxjmm/yreeYe/7K0H14eBl4iJC76VJL+zF96zaUvq5ljOejD1nxOtmPxwsExQBG/zjOc4Yl/
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
DSUrDfTvTEgRbGq6aiQSbbZuLS/lsb3WN+uzhrrG9wao2bCFe/GK4+vtkmNl/uNa5Fpu7YGW6uqu
20GYk1AEEbbRXusREVqPpPWjJi13uZQKTvj216TvKaBvfdD6YS//LW9qwNN6kJE7nmop7qxXVje0
lDPAuxBzoa98oQNJ6vWI7ltrTBM4wmeiI2KFTxqgEdLphiWtMr+oqqKmxwDzhD1N3nh4chEOIh6Y
zJuCp3lUDj2RN6yT80rWXKqvk97JSH4cOIxChgn8ZDUk+vVNUk8Zum5TbJuqr1i17iKlnrep6XLY
eHPdvtE216CRQo6gqfo55lkNSuPtfnO3bg95Ormty3L3Xb4ht63Zplzfufvodz5ZW+LRmvXn+s7d
b+3+59aXu5+v/nw6pY5HIRuX527T/rwsLVuffNpfOg+fuftpWb6ydDnyTU25PnP34S+fLF1PofJC
8mK2+Wxc5tu0PfIu9226PC1L510nV5beR96T3zdzZb6fvt+6TXqbTy9X5vpel+9Dz/27DNu0zPO5
27R+2sb10rJ8upB5/bl538fW/RXaQgcJ5enkvtPbdLnn3a/vY5uWeT53m6uf3kedSG5je/k/8+mk
ZZ4vtHWvKE+nfP12H2k9t3N9L8vtg9vmbl3f/WA/19Z18m3dLm2Tz0ehet2n+/F99+f7hbbuN12e
lnk+d5vWRz5fOWRI6ba4npVk7LDvZWm7tAx+cvdz/RSzdd301v1B5nnf5pOly/L5QTlSuq0myf+Z
z19a5vncba63UuW5+r7vdr6PbVqWzueW5bOBPlK6/7k+TKPxp+v5Fhqez93mWnt5rrzUfq4d9pH8
nPVy31pp408v921jjWyJ6OFHpf6gz7VJ76fz2R6y91zPt9mlhffy6adl6Ty85O7nei5Vnqtfan99
/JVjW0rHy31bqr0tXb6h6vV+sP7MvcAxae62OVg2x6a57ctnx/pb7vjnw7eUjPgTf38WKXWutEb5
xn7+tQamTfG5ofFvSltbQ3dD95/1b9z339Y4p5vis5zzrxydptSZ1m1N3+l6CuU7eP0aECwLN1dW
VctgiBr5wxYUs8zUJj+mLXzIvuAxfC97H52P5DOYarD+ikfqgQCupEyGtMaUAJZkhGyWMtm1KA2p
Asy8idSnegh1wjXXyvRxtWHAgP5h5MiRYdiwYWGwTNeE/STBWbRXH5K3EQcyUlXyOoohVZ7YScZb
5Nt0mTaygF0xPfSF9ctAAzkuxJ/nH68/e6madc+IO37f8W2WTs59LassvZOjx/sP77/8/uH3D79/
+fzB5y8+f/H5i89f/vs6/diIvD93+jarPOe5MqssvZOjx+dPPn/y+ZPPn3z+5PMnnz/5/MnnTz5/
8vkTT9iNkz93+zZLI+e5OqssvZOjx+dvPn+31+fvhQsXh/kLF4SP5n4U3n///bBw4cJQWd1V/rrJ
4HOLc05HQGdOc/kejcSyRrhjNLzOagNtuXr8GsAsFYhir+neH1IpxF/MKpkb91WOUtycM9HPmK6u
ft1aCQ1fFwb07xv23mtPmVO8MqxYsULWZ1gVamtlfQZZz6xe12DKNI85IkAEiAARIAJEgAgQASJA
BIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARaBsEQC5XVVWFmpqa0K1bt9Cnb1/hfSvCI48+
GhYsWirR0DVCQneJjVFWWFhjcMWenDf2fdkqIS1ybFEMLlryRj7rkA6URPIZ7qRCHQkDttpTjBbG
bl1DrRDPtWHr8ePC+LFb6noMy5YtC+t03SU34JYIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQ
ASJABIgAESACRIAIEAEiQATaCwLV1dWhd+/eMov1gPD6m2/J39sZAhrrZlsItDTXeGIsw5xijK0b
0APHLAmB0BLDrMmm3QbBHOfmRgHCwZEw97ctVi2Wwog7Id2AtZ1lqu2tJ4wLY0ZvrmHZiHhmIgJE
gAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQgfaLAIKJFy1aFNauXRtG
bz5SGwoSuqKySkjmKtl3qhnsMohn/ANvDIbZy7RIP2xSbZGDUhYJtpp0q8SzRD2r3Khn9+FrAtTX
rQ39+/fRiGdEO5N4jgByQwSIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASI
ABHoAAiA4wXXO26rMbrMcv26NQlvnGm+kc2RNc6IPToabDPyYKBFVXYlohlqkYE2cwhSSSKgK5Sy
hlK9Tre92y676FTbJJ5TODFLBIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJA
BIgAEeggCDgBvfcn9wz169YKFSwzYOu/VAcwxTbIZBDNGtqcKlPGOcMwG/Mco52djlZj1ZEAanFm
xLM4Eb2G+nU6/3eP7t2UCU+7Zp4IEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESAC
RIAIEAEiQAQ6DgKIfga/PHDggFAv5DNoYpsnO/ahPkYxa7RzJKHT3UO5qujk3MjZItFKWosrcNHq
VJhr08Mc3pJE2CAVDh06VKfaxnzgTESACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASI
ABEgAkSACBABItAxEQDniwjoESNGSORzrTLHxh5HrjjdLSegjT22EkRDg1wWEloDo3VG7ahgUc5g
n8WlsNCVGhUtu8ZMa+Tz0CFDwpo1a9LVME8EiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEg
AkSACBABIkAEiAARIAIdEIHVwv0OEQ64oS4TfIzgZHDKoVJy+NMkEiWgtUTzEtocFRtCdcyZbvSg
60HLOs9ISjqLAxSBiF7XUB/69O4dFiyYr+X8IAJEgAgQASJABIhAZ0Wgvu8moW7g6FDfc0Co6N43
1FfVdNausl9EgAgQASJABIgAESACRIAI5EGgsk4if1YtCZUrFoaqBe+FyiVz8mhRRASIABEgAkSA
CBCBjo9A7dq1oU+fvqFBuGBLkWyWAOUG4Ygr6iCNhLPIoIW5s1VSL58IZBaCuhrRzYhyVg3JKsks
ytg2gIUWy5qa6rBuXZ1ESsvy0lJhv359wvz5H4kGExEgAkSACBABIkAEOh8CDd37hHUjdxTSeWBo
6NZXZoOxJUjkUYmJCBABIkAEiAARIAJEgAgQgY0IgYbqriH0HhLqeg0K9X2HCgm9IFTPeilUrFq6
EaHArhIBIkAEs9nzLgAAQABJREFUiAARIAIbAwL19cIB9+2jSzD7DNngiZVeVuJZeGMs2SyyCjDP
KKmp1ODl+rWqILIKRD6DZpZPYaIrGjQoWvIqMjkIaPFSJSQ1KtUk+bo6d5LRZY4IEAEiQASIABEg
Ah0dARDPtWP3Dw1CPCORcO7oR5TtJwJEgAgQASJABIgAESAC648ABqSG7v1DvfzVyl/N1EeEgF6y
/o7pgQgQASJABIgAESAC7QSBhPtF3DLaFGlhrOOsCRHQktfJs6VM6WSUVVUFTBjp9kI+S4ITCYeG
KQKhlZCWHURF4w9Rz5WVYK5RJgmENBMRIAJEgAgQASJABDoZArnEM7pXJQ9PeA7S56JO1l92hwgQ
ASJABIgAESACRIAIEIHiCOAtKGaHRFCOv1DFQNXacfuFmrdJQBdHj6VEgAgQASJABIhAR0VAmWB8
YPZsbOT9qM3GbWSxBjWLvL6uXp6VakNllZSjSNSrNdZZtIWn1peqkKqZMs2SA9EseUy5LQrwz0QE
iAARIAJEgAgQgU6JAKbaTkc819TU6PNRzby3Qs3CGRLZsChU1nP2l0558NkpIkAEiAARIAJEgAgQ
ASKQg0B9ZVVoQKTzgFGhdsj4UCUvXWtrZQ1o0WvoMVCX6qmZ+miOFXeJABEgAkSACBABItAJEJDI
5gqZNduSRzxHnlg5Yy8B0yzl8spUOWf5rEZMtJLWGuUMRRDOMQoaxjDwsGrzIyKS0A4Ft0SACBAB
IkAEiEDnQKC+73Bd49l748Rzjyl3haqVi1zMLREgAkSACBABIkAEiAARIAIbCQI68HTFx6FK/moW
TAsrJxwW8DthrRDQSPU9B8g60MND5ZIPNxJE2E0iQASIABEgAkRgo0AA8ciZ6bB1FhjMCokAZg1a
BqfsQIheZJOjpCFEztqmklSpauADf5Ywd7fO361OXcotESACRIAIEAEiQAQ6DwJ1A7cIDd36aocw
1TYeqEg8d57jy54QASJABIgAESACRIAIEIH1QQADUnu8eZf+TsDvBST8fsDvCCYiQASIABEgAkSg
+QgMHz489OrVq/kOaNmyCIBkTpjlyBXrRj40aFmq030o+Z+zyqZfbXQ0Ck2gLZTI5woJhzYSG3Jn
raMfd67K/CACRIAIEAEiQASIQMdHoKH3IHn2kRF3krDGc5d5bzPiueMfVvaACBABIkAEiAARIAJE
gAi0GAJVsgwPfifUDx6r6z/j90NDr0Et5p+OiAARIAJEgAhsbAhMmjQpHHLIIWHFihXhqquuCvPn
z9/YIEj6i0CY6urqZD9fpkH42XXr1uUrajlZwgE7byyccTL9NqqJhDP0lEiOSztrC1Cmaz4buYwd
zSGMuj7KJIuO2L5rYMvUnhCwUPemt0iPbdPNaEEEiAARIAJEYIMigO89THUHghgPWy31wOVRz+hc
JR72Fr63QfvJyokAESACRIAIEAEiQASIABFofwjgd0LlkHFJwxq690nyzBABIkAEiAARIALlI7Dz
zjuHPfbYIyxYsCAsW7YsnHHGGeHKK68MCxcuLN9JJ9Hcdtttw5FHHlmSfEZ3lyxZEq6++upWxyky
xRFhkMqQeLJ8g8iMbjZtt4kUuhS7RI1lR6KfM37MKVSQmkt2mjU/WwqBUaNG6YiQbt26NdkliOfl
y5eHhx56KMyYMaPJ9i1tAAKhvj53cfGWroX+iAARIAJEoKMigO8JTL+Dv+7du+uzCL43IK+rq9Pv
NHyvrVq1qtldbKiUqbZT1pUrFqT2WjZbN3pyyzqkNyJABIgAESACRKBNEah67742rY+VEQEi0H4Q
qFyZ/UK8obJ4hFL7aTlbQgSIABEgAkSg/SAwevTocOCBByqJevjhh4cpU6boOz8Q0JdddtkG44vw
3nHw4MHh/fffb1Ow9t9//zBt2rTw6KOPFu072nfMMceE3XbbLdxzzz2t10YhhI0ZRhVOMKffnHrV
JnNd31YnhLLqyR74P9kY92ylZoq87TNi1kHdsNsDDjggrF69OjzzzDMWoS7NQSTYfvvtF1555ZXw
0UcfFWxg165dAy5uENgffPBBi0WNFaywQAHWyDnhhBPClltuGX76058m/Sig3mJi9L22tjbMmTOn
6IXcYhXSEREgAkSACDQLAXxf9e/fP/Ts2bPR4DeMisT3oJPSffv21e8zjJRE2fomW3SksJcBAwaE
CRMmhKHDhoVu0k605cMPPwxvvvmmjkAsbMkSIkAEiAARIAJEgAgQASJABDoqAhUNDJ7oqMeO7SYC
RIAIEIH2gwCm18Y023PnztV3fgh6BfEKvmpDBipuv/32GvT5k5/8RANe2goxvNd84IEH9N1iqTqn
T58eoN+qyVlk2RpHnFsbYp4lJVNvy9Tc2JU/bJPI54w0KuBBSg62JZmvWx3InvHPUd6ymxqp76j+
/cJBfXuHLeQlLtL0NWvCA0uWhVsXLQ61Gp5dfp01VSEctVtNOGi7qrDFEFvDcfq8+vDAq3Xh1udq
Q21d+b5Us7oi1O8h7dqpSwjDInRzZW71F9aGyqfXhLCuFcHJ01Qswn7nnXeGN954IynFS/o999xT
R2VglEShhAsZofmjRo0KIIBbasrSQvXlk4MoP/HEE5V4fv7559uMeEZbFi9eHAYOHBhGjBihBDSi
5piIABEgAkSg/SGA77pia52skecE/IFsxkwgIKL79eunEdArV65slQ7hO3SXXXfV75BlS5dqXd2l
bgxq6iajDw866KAwTR4CX3rxxVapn06JQEdAoGf3rmHFKnk+bkZaH9tmVEcTIkAE8iDQo1uXsHL1
2jwl5Ys66rXcpaZaX3atqyO5VP7RpiYR6PgI4BkffxvyZXfHR5E9IAJEgAgQASJQGgEEcwwaNEi/
d/NNrw0ucty4cWHt2rXK3eC9X1smPA9siJQ7OzD2gQNI5tw2AT9wgbvvvrsGw4ALXCrvKFsrVUi0
ckMF+E+jlhtk6eYKoVyNTTYxAprTyFVVdenxw6RBYgcnGYbZVcWRAl4R6mpXhx2E+f/4448Ts5bI
DJZFtH87amQ4rF+fMER+7IGIxh/yk3r1DHv27hWeWrYirCxzaubBfSrCb8/uFg6bWB2G9BVfwhXj
D/lJY6vCnuOrwlNv1YWVZZ63DX1lWs/zeoewm5DP/QRVcM/4Q35CTajfpiZUvFEbKta0HQGNMHxE
OOMl+0477RSGDh0aZs2aFTBP/tSpU/UY4aG50B9e0OMkxfQBbU0+d+nSJZxyyilhzJgx4dlnnw13
3313S5xGZftAdBpw6dOnj0bTYapWRvSXDR8ViQARIAJthgC+pwolkMvpB1B8l0HWu3dvffDCQ2pT
0rqROyYPc9UyMKvrh6/mNce0NltLxPPDsnTFeNneI99hW40dq1Pd7LDDDuHJJ58Me++1lw7imyuR
0PlSv822C7f+5rwwb+GyMO2D+flU1lvWv3ePpI6FS1Yk+ZauD+tj4zmx2BPQ8EF9w9H7TQyfOfKT
YddPjJbnjrow66NFSR/79OwWTjxk13DsgTuFXbYZJZHkNeG92ZlnzVLl7gh25xy7T5i07Rbhzelz
wto40rCmuiqcJP5PPXRS2H+3rUOfnt3DW+9lH5sj99sxXPrNk8Ptj74c1tTK4MJWSv379Ay3/vq8
sGjpyvDO+4VnqWml6hO3l3zthHDArhPCg8+9mchaKrPDuJHhqh9/Vo/za+/ObuT2U3t+Ivzu26eG
2x97JaxZa1g7/tPlevjzf59Z0LaRsxzBj794VDhQjvHD/56SU9K83fR1VOjaqa6yQa7FroFCtR+x
zw7h0v93crj1kZeS83WvHbcKO4zfLLw9Y27Q/DjJz5xbyEWbyNenj6UaOGbkkPDFE/YLq4TonDN/
cSP14w/aORy9/8Tw3GvTQ12ZvwUbOYkCuVUF9KW+iYOaC/lra/neO40N58o9DtdQb7lvTsm5j7VU
ey445cDwg88fER79z1th6YrVzXJb6j7QLKcljHBf2327MeGxF94uoZldnL7Op8+eH6775X+F/XYZ
H+58/JVsxZy9ysWFB3vnqHKXCBCBdo4ABrsOk0Gv+O2BWZTKIaDXbrJdKhqqIVR/8HI77yWbRwSI
ABEgAkRgwyOAd2qnnnpq2G677QLWOMa7O0Txgt/CTL6Iej7rrLOU48I7tokTJyoHhoCPtkojR47U
gMnHH3+8TTmjfffdN7z++usJ93ryySeHffbZJ6A9m2++eRg1alTy16NHDyWfIdt6660VJwR4thTP
h2eiV159NVR1wdKHgjz+PMUxuirPKhAFEboq6FNNIN70xSF+iHs+6zUiTKTMLaNdS2xAMl+82Yiw
VTchdgsklF0ycpNw9sxZoVZY9WIJEc8Xn9E1bDXcXgTl00XZJWd2C2f/cXWoLRWxLBHPdef2ChUj
ErgauURZ/ed7h8pfLQ0Vpfw1sm6+AMcN0xPg2K3POpfNb0HTLTEi47TTTtOL5oknntB1p5vuZf0t
EP0M/DB/v0dAt9TFuf6towciQASIABFojwjgOwMvpjANzh4y0wimAz9QIp0xoOsAWacGxPeuEhWN
NVf22GOPMF1GHmKmkdxULWQoIqu64KGllVK6jnS+pav7+VeOC70kyvWL//OPvK4H9+8d/vDd00Pf
Xt2VbN1s+AB9qX/Rn+8MDwlB2LN7Fy0HQf2WkG1jNx8aDtlz2zBy2IBw1W1PlSxPV3r20XuFYw7Y
SUX3PvV6eHflPM3/6AtHhklCSEwRQrpXj25h0skHhKED+4TLb3g0Md9h7EglWZpLtCSOSmS2H7up
HvsZc9Z/avgSVRUsBhn/iS1HlCRWCjooUYDBDiD/Z83NXg/RzWr03K9WEtBljv8HMiihmK3rF9r2
6tE1y28hvXLlpa6dPnJeYzDBFTc/Hq6957ly3SZ6XbrgPpD9G+PwfbZXUh4DIQ7da7uwek2tEPUb
7oX2+vYx6WyBzJhNB4cDdpsQtth0UPjcD6/K0hoyoHf4ghDTSJde+4AQ9Os3MOTTe+8QvnLaQeGE
b/wxfLx4eVZd7X1n/Khh4Yf/daQMzJkflixfFc476QAl7O+Re11LJwy0eGPanLC83JHaeRpQ6j6Q
x2S9Rd261DTLR/o6x+uQ16Z+EBYva53ZU5rVQBoRASLQ6gjgnRqW0TnxpJPCg/Kc/9JLL7XYy9tW
bzwrIAJEgAgQASLQgRDArL0IqHxIAjowG20+Uvnyyy9Xvgvv2sAjgXjFEncbUwK5PFYCXW699dbw
8svF3wfg3eR5550XhgwZ0jrrVHvAsjwvaRLa1XL2qRHPeSjbSsgwMzfsPPITD12e4qzdVmbKyl57
eUtsj+zftyjx7HVs2b1bOLJf6XnMj9y1pijxnPgbVhGO3CX7ZY+Xpbf1u3ctSjwnuptUhQbRbeuE
ExHRz60+x3sLdAyLoWPBeIzWeOSRRzYY8exdASEwb968gEhsENDFpnZ1G26JABEgAkRg40UAozIx
knD27NkBUc2PP/ZYeFS+zzAADJHQTz/1VPhAyrD284sy7TZGHzYlgYj1CMN8dv0kmrlQKlaWtsFj
HiKJCyWQxIVSbyFuKyszz4nQq5JpgKpi5Gc+u2MOmKjEM8jmz//kb0ourVqzNhy1/46qPmnbMWGT
wf3Cn258LHxJCOzP/fDKsEBIof12Hl9WudcJkgpRpLkJ077uJpHQj0gE35d+do22Ye7HS8InJbo0
nbYTUvjVqbPSotBdIqm7CjmYL4HARXmhVAjH7YXkXrO2VqJaM5HXpY4dyL/U43lWlXo8ixyzfL4n
bDFcCc9X3s70F+cdsCqUCvUnn/77Qjp/+efXhideeieruJgPx7+QLc67QuctynBuFkvAcH1TqWsn
n//cPuc7Hrl244RknDbLBk5sIcQsBmXkJhyrQveKUveRXF+5+2hzofMtVxf7A/r2bJJ+Ph+QjR4x
OIBgTafD994+vZuVL9XPYtdvLuEPx8XOkWLnXynb3HMgqxOyg3tJ7rmdz2YbGTCC9JP/uyN87ZLr
ZAB1Xdhmy01Vlu8j10ehcw/379zrBxG/X7n4n2FRDgFbDNPcNhS6ljFABDNmtHYqdjyLlaFdP/rT
7TLY4cHWbiL9EwEi0A4QwDsgDC5FVBUisPB+6OhjjtHoq3bQPDaBCBABIkAEiECnQwBBG2+99ZbO
NILZC/ORz3jHhjJ8LyMSGsvsbWwJhDLSrFmZ9zaFMFixYoUuRwiOq3VSHmY50s/KLcdi8MoVWM45
JonpRcInhLLFUF/dk238TQiJTaYoAsiiDvRaIh3ct0/ZbqB748LFRfUP3r78KCLo3vhMiZD9nZtw
0KD7RPOmJivaqSKFeFjGidXeo3ZxwZx++ulh2LBh4f777w9PP/10kV61XRHmwseUSpi2fNNNN1VC
Id9Nr+1axJqIABEgAkSgvSKAUYQYPIWEB+Z33nlHH4gxWhMPxxjUhHWqkfCAuL1MEVRO2lKmnUUU
2zZbbqJRjk8KaXfpNQ+G1UJSIoGAOXHyLmHEkP5hvkzV/a/7/h1uedjWlD587+3CaYftHoYM6KOR
Wjc+8HzBCMwDdt06nCVTXw+QqZ8xXStIDBCxSCBujz94Z60DU9/CD6YCRgIh9JXTDtaoZEyNe/+z
b4Q/Xv9o+J8vHxN2lOmBkW6R6M8fywv7GTJd9tFCOIPsxdTZ24zZJMyetyg8/J8pSnAsW7k6fPvS
m3TwI+zmLlgSbnv0pXDvU69hV9YJXhsWLl0RPIKtVLkaycfZx+wtBFiF9P3ZcMqnJrk4IPL6dZn6
+e4nbBp1YIrpjNPkM6KsMR32qxLtdpxM8fuZI/YMz7w6Lew9caysYVMR7pPIwkv+dp/6BGl1wakH
hn12Ghe6CGn0/JSZ4ZKr7w2I8kMqhiPKQbK+Of3DgLVEix27X3/jJI3yxBThICPnL1oWrrn7WZ0W
HGT9779zWvjP6+/pNOV9ZVACorp//Y8HwruRtMQU5ifLVOMD+vYKHy1YGv5yyxPJFNsgwDHo9NV3
PlASGv1BX7HGK4jOS695IEydaVOCF+rPN886JOwg00Gf8b0rtC/gkq780WfDdDnml9/wSPjT988M
FwsuT7/8bthuq03l/N4/bLnZUI02ReRmOqXxxyACt8W5hH6+Lu38hPgAmYb+ffe3Nyse8HHKp3bT
6dr9+A3q30uORSaiFdcOcBgumOmU3hKhDNyu/unnNLr4PBmQgHPiJ186OoCUP+v7f8kb7Znv2qmV
KNy//Ogz2pXTD989fOqT24bTv3tFwLHDhFED+/UKmw7tr1je9ODzOu38MInwx/WAwRi5pPJph03S
qH8c8zPlHNxzhy31/D1Hzu1hg/roPQFTVAPLbYV0XCPTjj3x4jvht/98UK+bYvcR+D70k9uFU779
f9peTFF/zf+cE/5wnQwGlRkI0OY6OSf79+mhJPByuU4vvvq+8Oa02QX7iIEnA4V4BraXyTlzptxb
fv6Xu8Jzgi/S52QmAuB/2nf+XPb635/ed4fw1lX3qj1I0UMF09xUrJ/Frt9PS0T554/fR91hWvi7
n3wt/Ebane8cwRTffp0VO/8K2aIS3BsRtY32YkANrreJIjvje3/RKbNxbr8rU+9vvcUm4UO5D5/9
o6uK3j/gA2nC6OGCey8dfPDx4mUq84+mnHu43jHdOaaX7i55XJe/+vsDEvE8OxwlyxDgHESEOKbE
L3RPbMp9AOful+V7DrMuLFuxKtz15KsyY8ATYS+593zt9IPD14VQx5TX+K476ZDdwnd+e5Pc1z7U
+s+StuDaRMR3qaSzWnzvdPm+Gqa4/1HuRw//+y01K3a80n4v/urxekweem5K+KHMnPHAM2+EP1z/
iF6Pv/vWqTo7AwhqJiJABDo2AjU1NWGbbbYJB0+eHGbOmBFmzpyp79U2kWd5BiZ07GPL1hMBIkAE
iED7RQDvbcpZ3sJ74AGzvt/S20mTJoX+/ftnuQV/hTRZnhHS9SP/zDPP5J3hMMtBZ9mR9xpJ0rx8
gB+OySbYTgmUN5Z9bOU4S4C0cNPCRqtcjOADf3iBpCn603JXikUttRlbZLrt3Dq26lqaCB67iTc+
17rx/lbDS+s2jCifzA6b5o+OaVxzy0hwwi9atEhfcCMKqz0nJ57vuuuudkM8O15Y83nu3LkSuVWl
EdAu55YIEAEiQASIQBqBHjKQ6rjjjw/Hn3BCGLnZZuGggw7SfN8+fXS73377hdFbbKF5RE10L2N0
JtaaxIvuTYf1D3+95clw39Ovh8l7fCJ895zDtep9dx6nL+YXCSH7R3n5DZLiyzJt9B7bjwmbDx8o
ZZOFQF4qBNRDYeaHC5SEHS/kRL60vazFe4dM5XvzQy8oofylE/dXNZAPmIoW09D+/rqHZS3qpeF8
WfMTa+cioS1o58//ene4X17CH77X9kK+jg3X3fcfJdJg9wexA1k4SdoFMtyjkEcOHaA+/nHROeG2
S78c7rj0fCUT3plpkZ2Y2hVEO4ieg3ffJnzn7MPCVkJS3i3EBFKpcujsISQd2gpy9u0ZRppCjjRj
zsfhgl/+M7wgJDESiImdtxml5IEK5ANkLNIrEvmMqDwQMZsJtn8WohLkB6Y+3kKiMpH+32c+FQ6R
43OXkNl/v+uZsKNg+rPzj9WyUjgiunHUJoM0wrrUsQOZuss2o8NKIftBeoDc/sqpB2kUN6KxQcQe
OGlrIZSnhL/e+oS2F+0AoQSyC8cW5ObPhAwEaYV2o29I6C/OFRA53/ncobJ+7LZKTF9525NhqJC/
F3/1BCX/i/UHazmDSMUa3kggooHZa5HQRvt6SltATv70vKOViMXU1M8KqY9+pVMaf5D7buv93FOi
1DEY4g6Zehp9A4GEhPMFgw5mzV2kGNVUV+p55L6xPi5ILVwzOD/x+wZTsKOd6Cuiis89dm8ljUH0
3vzgC3mJZ/jLd+2skumw/37nM1rdS2+9H666/SnN49hB/6W3Zmr5mJGDw7c/d1h46e33NcJ/kJDS
nz9uX9VNf8yet1heetep6B4ZjIEBCki4Xt96b65eg7hXjJL2//W2J8L9T7+hGFxwykFJWaH7CKJe
sUawJwzuQDs9AhT5iRM2l6nx5yk2a6UdII+L9REkIgYD/Pof94fHhATHuXeQHBMkYI372Bwh2r8j
fX/4z9/I+7ftVhbNCxsMCthf7kUegf/JHbbSwRP/eeM9FGsqdb8sdv2+8e4cWTfafF0hgzEQ3Vvo
HMF1Wur8K2Y7VAYD/VQGNAD3/7vpsfCUDMLA9YSBIjWy3IL73mnrUTrIB+djsesNnX/8xak6IOUb
Z30qXCxrG2OwzA33/0cG+IzQeqDTlHMPRD3ubTjX0Ea07fvn2vcOcMR1iFQM03LvA/D1C1miYcSQ
fnJffSw8/+ZMHSSEwSMgvVE+cevNtb69dhyr+3tst6Xu7yb3GEw9jxksCp1HPjU7DDBI68P5S3TA
Tb0s1/Xtzx6m97Nix0srSn30k0EYiOjHdwJmxMBgHqxhfeEZkwWn7uHqO9rHIOpUk5klAkSgGQiM
GjUqHP7pT4fr/vWvcP3114f3ZeDoqNGjNVjiKZnNiIkIEAEiQASIABHo/AhgDercP0zzjYRl9dJl
IKoHDhzY+UHxHsrv+iRpXkKUGyCxgoYK2ZE/FbmiE8vyOqMaBQ0igB4SypC1fTeLzqDgIuQ3QKpL
U+stUH9dnfWtBVyZi/VbhqzJzaiUiIPN5OX3uHHjAgjURx99tMk+2soAEcYYNYIpjTDCJT1qpK3a
UKweRI+jXYheYyICRIAIEAEikA+BlTKVzY033KDfYQcffLBOwb1w4UIlm2+Ql1aYRWOCTLWNqbgx
oOmII4/M5yZLBpIKL/0R5fXsq9O1DOTnwZO20ajUfYWwWCpRYt/8zY36Ah6EyVH7TZQo51Vh1kcL
w4nfvFynwsa0qXiOA5E3epOBSjhmVSQ7ICr8pTmi57DWKhKI5CUyvSoikhEFijqu/dm5Kn/wuTdl
StjuSoKuWbtOCba/yYv3FUKKYv3VeRKJDXLigWdt/Z2HJYoSRPnbQpaB4ELf8Pf0K+8qmYv+Hrnv
jjplLMhsT/sIyY5ou65is2LVGiXbvAzbQuUgqr4qpCxIMJDBe2xvhEXa1vMgrn75leMVr8tSU6oi
Ghn9ByHr6ScS1TZL1h9+QUiSK354Vth129GKNwiidyRa8SHBBQmkNNoGUrsUjttK9C6eNUBoFDt2
b0lUOhJI/W9fdpPifL8MSrj+4i9oxDbISCQcJwwWQPp40fLwTSGYcVzrUwNGETn+jV9fL8eomxKr
iCZFpCUGEWC6X+D1oBw7DABA+s8bMyQ6c3OJ+Kks2p+LhNQ+TwjuA4T0f/qVaeGAXSdoO+EL5Iwn
kNKoG9HKiCZHAuGJSGtPafwRKZybrrz1SR1YAPn24m83ORYg6xC9DgL9W5fKtSHn7T0SyXr9L/8r
MQc5jQRdTFEMPP/780eoPQZOoJ9H7T9RRl03yHGeUXDGAPjId+1gYADOexD9iK5HlKQnHENEoiNh
sAMGHlwcI3q3lghrRLPnJswWgIEXPeSchu5ZR8q68pLH4AMkDEQBmfm939+iEeWQYX1sRCCXuo9A
t1RCZLhfk9Vy/0I0N0jBQn1EdPwP/nhb4hYEK84nXPfjRw8LINmvFkIeMyA8ILMl5EsYhDJ8UD8t
wgwIuwjROHmPbYRwfzEgUhkDYZ6R88sHLJTbz3zX77/u/Xd4WQYJAEfMLoEZHoAxUr5z5N8xgrvQ
+Vfs/Foq5yXu49//w63hxTjwpXu3mnCQ3NfT6c83PR7+ee9zKvrhfx1R9D782aM+qd8Jbv8Pud/1
kEHcv/3WKRKxfH+yhnu55x7OaVwzuA9gYAIikHH/KLScQD5MMTtGOfcBRIFjxg30FwM18Id1vjFY
AWulY613RIUjwhiDpxCFP2n7LcKVtz8ps0WM1PPnRRnMgdk18qX0vRszPXhUMr6jQExvLt+JxY6X
R0bn840ZHLbafKgS/rjWgDUGNTERASLQ8RFANNPtt92mEc+IdO4lg0wfk3dqr71ms/HgmQ1/TYnO
6viosAdEgAgQASJABDYMAhuKK7rsssv0+z7da5DMeOd30UUXNeKKNrbnAuWKhRTOrOscuWK8gBR5
BQqSZES0lQj5DDJZ9aBgnlRVzEwghRBbyuRc0hLbqavXhG1kPedy0vQ1a0qqTZ3TELYZme50YZPp
8yyioLCG4DO7LjRsXmZE89y2ZZ9xsk+ZMiW8/vrr2oWuXS2ipVh/NlQZRpKeIJFiGDGCB/s77rij
3RDQAwYMCPhbvXp1mDNnzoaCiPUSASJABIhADgJ4+MRLn6akpuo3xff8jz/WgVRY03nZsmWhj0Q8
L168WNevxICwPn37huUiR8JSDvM+yo7CzVcXImCR3pWIQ0/IIxp1U4ng2kymhP5AIjsR+YWESEQn
KzBF8Y++cFRjIqsAZiBTPWE9zkH9eusuIkE/kAhFEHhIIJkRTQo5EiIbMfXvD4QcwTHB9LG/uPKe
ZMpuVYofsHUSPS3/vhBm4EQfff5tjdhGFFs6Yc1nRN+Nk6lSv3/upzUC+uRv/UmJQegVKv/8cfto
VO1fEck6YpBGhUIfZAGm7/bpsEGiXfL1E5UkBqE7TYg2TyDsX5E+pZNjNXOuEdIgaBCdjQSC8PLv
nZFW1+lYS+GIekCCYtptEHOljt37QoaDPEFaumK1Ev1pctanxkY5CHEkTGF9u0QIg6DGOQQyEGts
3ytTh4OoBr6YchkEOPpTLf2aGm1hjynJ8YdUrD84Hx8WshSkM4hVRBWC0MO06mny2dvr7YPfd4S0
TJPP+fCHnicQ9Z5mCSabSPQkEnx/IGV+3mLQwmwhFD35QITfyjS56eTR+Jff+KhGfmI9X5x7xZKf
D9BJXzuFbECAeQJWINM8gbTOTbgPgOzd9RN2Xfz8gmOz8r//18N63cBu6kw7Psj7oI8zP70Hdgve
R7SwxAew9PR+PO9xfhRKH6awhg6mtgexu+eOW2okPM47DEbBPevN6YW8ZOQ4n7EcAGZNQBQ0IrER
1Y/BAZ5K3S9dz49X+vr1svS22Dni5HOh86+Y7Uc1dvwxxbon3Mdz04cfZ87XYtcbli/AcgKYKvxK
wQT3MswocOfjr6pLXz4BO+Wee4i6vvDMyTq4KN2uQt+h+TAt9z7gx+0cmWngnLB3Up3LMTDlMInC
xiwW+I7Bd86FZx6SLAfwrAxAwAAbfH+USmnMcQ9FAmlc7HgV87l85ZpwzV3Phq9L1DOWvcCgHyYi
QAQ6BwKIasKak0hYxm7q1KlZHcP6kr16yXIeMtCUQQpZ0HCHCBABIkAEiECLI4AlWjEzbVsn/P7A
Xzr5Pri3tiSbUS/eLba/JO9lI0bKFjdUWvAyxAl7jHe3NhE32o/XktXOMZuxmAJnCXtGoRLQEOgL
zHgA4KOF0wNLlpVNPkO3VHrg1Tohn8s7SNAtmV6QF0Tlks/QZcqLAB7mr7vuunDssceGiRMnKgF9
6623tukFnK9hmCoB8/o78dyWN5R87aGMCBABIkAEMgisXbs2NGVgFdZuw19rvSB6XSIhMIgKD8X4
/hg7dqzOPIIXU0cffXToJetAg3DGgCZ81z322GOZzhTIObExWiJoEZmJNFpI1Dp5yEVkHogukHOI
JgTJhmmJD959a40cQxQdIigRifWYvJSH3W++eXKBmiDOfqB2RUSdYQpdEKwgR7HddGi/4GvSYirl
M2W9TawrDbLxMxKBd9LkXXW9VPhAlGShhIhkTJWMB2gn4EAEoH9IWE90khDR/y0RgqgbdSKCElPC
jhBydKIQJMXKQQQjfUOIinTC/hW3PB6uvfs5jbT9XyFrhss00d+RCFxE3XmCDOtCXyfraJdKiCJG
u0GyYa1YpO6yJAyIbUztXApHRPC9PeNDJZSx/m6pYweStFoilTH9MiJgMdgAxL8nj1zHPs4fJEzd
DHz/IWQJCHuse3qGkJpHS4QvyOHxo2xKdkwlC0Ib0zxvtdkQtcXHKIkQnCCR0YhgLtUfTD0OwghT
WyO6Gfu5Ce1BwhTXfn4j76kp+LuNb+EbpByuCZD0iNiEP19TGufRBInAPflb/ycYYv6kCh18sFii
3JFOP9wIW/zAwzTYF/7qenedZ5v/2nHFYiSt6xTbov24VkA+4xzzPMg9RAfjWHl051YjZe1sIeKQ
dt9uTKiVvpW6j+AnHabFRtQ5onJxLuUm/R2YK0ztl+rjC1Nm6BrumJYe5x3uSSCesa4wzv18Ceul
p9NtEkn7rc8eqgNQcG7eJeQqInI9leqn65Xa4rpCKnaOYFr5YqmYLSL+kTD1OGaKwLmJGRKKpWLX
G65JpHtliuwFMgX/hf97Xfjdt0/T6aAhf0vuK01NmFYd95Yv/s8/wjQ59zCQ55gDdmqqG73uS90H
0Dekr0u7X5bp55EwRbifc5iO/3i552Nt59fe/SBgFoALZEYLRC2vke+9F+Wejem3P3PUXmqb+/Gg
RNbfKNPmF0vFjhfuX4USvnuPP3gXaWtDGCzXDSLy73iMBHQhvCgnAh0JATwbFHvB21+e57ccMyb8
+9//brXfFh0JL7aVCBABIkAEiEBrIvDGG/lny2rNOtubbwS3bLvttmHBggWhrwS3tIskg8EbZMC+
EcZ4LwKCWN7nVUT+Fbvp6GehW5WQFhuNfEYnEh3/BQihv2NJtpLxPMpbKN0qoB7et3fYskT08zSJ
eoZuqXTrv9eFw3eqDlsOQ68Kp2lz6wN0S6WKp9eEhkkSUbxJ4Rer8FExR15qiS5TYQRABtx44436
gn677bZTAvqmm27aYA/ymAIcF/KqVasCothIPBc+diwhAkSACGwIBLBkA+7V5SS8PMK017iXY0BR
a6SPhFhG9AOm03744YfDbkJE3ybT9WF95zvvvFPliKAAEY0p+6BbKr3y9iydDhkRaLc+/FLo2aOL
EnrPvzFDyeYnZS1VRIle9OVj5IX8lLCnrIOKqOEfXn5bEhULwrBu4lZCMhqZVqrO3HK8lMcUxoik
Q7TfLtuM0rVWIUdU679+8V9KhmHaWl+HFlOBIyGyGNMmgyy+T6Jrsb4tpjbG9N4gkrBWL8iki8Q3
om93FjIZ00979NjipSu1P+gf7AdKRDDWIUX0HiLttth0SNHy7//hltBFZlTxhLWwvyjTIH/vdzfL
dLfvK+lziayPCsLzCVkzFZF2Hm2HtU5B7CO9IuunlkqI6sZxOUzWvAYZOFvad/zBOwtRPyAcf+Ef
lMgqhGPP7rYWs0ete0RzsWMHouPHsm4spu3dW44vSNbnXpueNBPE/XKJ9kWE6QlCjmAK6invzQn7
ywCBb551iKzl+rpMz/xOQvQvkanacawQGQgCC+k5Od4YxIDjAAL9pEN21al8QRwWOy9gi+l9QfTu
vdM4HSiRJvVRjoQIa7QPUYM4v/vLWqqYutxTU/B3G98+99o0uR62TM7bPSXK29cLhs5TQraj/Mdf
PErJLETSYupdTKM7f9GycJys44oIcUSN4pwBhtfLVMQg4TCd+Fcv/qdcY/LLqUhaJVHM6B/6hIjx
9PEpYtaoCNjj/Ed064X/e71G7SP/jV/fIOuez1Z9nKPL5Lz7utwrrpX1zfv37hlOOXQ3jQbFmtaI
0Cx0HwFxjYjWr8tAARB9RzeBZCy3j/gZiWmcP3PkJ7W9iNJFApHug01UkPrAeuTpwQggHb944n5h
SxlUgvyiOFDATUrdL12v0HbBEiPtMfDg1kdeLHqO4PwuloqdXxi88aasZw8y9QghK3HtFiM4UU+x
6w3kMNL5pxyoUbj4Me+j8SEHhlgDuilJB2wIsYrBJ7vIfRkR50hpv+X4K+c+AMIZMxNg7XlMs41B
O4jWx8Cm/yfT5mNQDcoxEOgG+c7AoAVMkY5p2DHtuk6bL/csrKOeL3lUdr4ylxU7XrivF0pfOmn/
MFJmWfjqJf8KZwthj8EUOA8xMIyJCBCBjo3Aq6/KjB377hvuu+++Rve+7t276xJ3+H2BwbBMRIAI
EAEiQASIABFobQSwpO4RRxwRJkyY0NpVle8/cszGC2f41oYYUBKqlFmO/iQv+hUSGQ0iOb6pkzcF
Ht0c7cExIzrAtq3COScdrBX2/MJZc8LFm40IW8m6VfnSu6tWqw50S6XadeLv6tXh4jO6hq2GOzrZ
Vu/Ohc4a+SFb2l+F6FT+aVmoO7dXqBiRebmZ5RHEs+hAt60SiFxMX93c5CM8m/qCobn1uR1IgZtv
vlmnNdpxxx21D5iSG5HRbZmGDBmi06WuXCkvW4V4bmsc2rKvrIsIEAEi0FERWLJkiUY+Y3rrYgkv
iHBfxzrLrX1PR9Qz0vbbbx8+ltGI++2/v0QKV4f9ZTt/3rywww476HIYiJIolEDg4ntn3bp6JQG/
9/ubwwWnHBQsEq1O1t19L/z0z3eqOdZcxnrCRx8wUSJMJyvRde09z4bHX5iq679OkshHrAGNqYNf
l4gx6CJiMF1HOu9twst8RHwg3SfrCcPuyH130LVVERn6tzufViIJ5Zf980GZdnsfnXYb0ctYvxmk
MhJI5B0nbKbTcs8RUhPliLDsKX9IWFsYEbwnfWrXJKoTJPDvZBphpMdeeFvXAQXpCWIauGCK5oti
/0uVewSoOpMPkHhIWIsakeKYthyR10iIoExHUYKEAxm7XKaKnv6BkTt1ckwQbVooXXTFneF75xyu
UXog8xBFimMFMroYjojawzECGYsEYq7QsfO6QYqCnN5BCHIcK6yfC+wQ4Y4EcgvRgohURxTw//7t
PiUgQRxjAMFkIVo/tecndL3uK25+XNcpRYT7Y3LuePqZrN383bMP1wh09AfrdWNdVUwNXaw/bo9o
5/NOOiA5VyD3AQo4x0Dy4lhC5+xj9lJsQTihHThXcvFP23ret+7b9zHl8ObDB4VPfXJbPXdABnl0
NXTvlfMa0atHyHmNARu4LkA2g+S99ufn6gCHK25+IqyprQ37CWGP6w9rzvaWNc5x/gLXlatrk2sV
PpHS1w7yN0nE5YkyE8APZNDFoef9RusxTfvUabf9h1m6QPLAAH+4F4wQggtTTGNabRDlFgGdmbof
x+a7Mqjiq6cdJATY/uoJhD+uJZQVu49gzWWsSQ4ccA1Mi+e7NwfYpJNfA4g6LaePbotzBuQzSHKs
g42Ee0CxhHMb/cbgDtSFQSoYCIDBK0i4jh2j5SuL97PU9YvBNRgksO8u42Rt9Prws7/cXfAcwfFA
8vPN875f7PzCuusgVfffdbyuo4zBNLgvIoLW/aS3yJe63jDDxbkybTWWP0DCFNBYtxlrJ//s/GPD
2T+8qknn3v/JzAi4l+HaBL6YaQNTf+M+UCvnI8hpnIOlMEVbSt0HMNgFSy+APD//5APj99VsnbUD
9qj/hTdn6ECWp2XQE9JT8j2j5LPcp5FAwDsJr4I8H35svGi1nFNIOJ+LHa++spa6fydDH+1B2loi
zhHVjXMR5P7FV98X/vzfZ4Yvn3yADgxRJX4QASLQYRF47tlnwwEHHhj22HPPgNmN8LsD98B+/fqF
cePHh9GjRoVnnnmGQQod9giz4USACBABIkAEOhYCr7zySnjnnXd0NkXMqHiMBLpssCTPRJqUINYP
2YXMFmzWLPjjdNSzCU1N8hVdegyw2bXx+0r9RfJU8rpYtPxwTuylqHb14nDm6acn66JoA1roo0Y6
dHT/fmGyREFvLqOhkWZKJMF9MtX2LYsWh1ppS1NSjQQqH71bTZi8Q1XYfLCBNXN+Q7jv5bpwy3Py
IiX7HUtp19UVoX6PLqFhFyHIh8Qo6HlCOv9nTah8WkZCtiHxjMZ+/vOf1x/JL730kvxAts5gqtG9
995bo63myQvwQgkv6bfYYoswe/ZsnRLU7Qvpt4YcD/WHHnpo2GWXXcK0adPC3//+99aoJq9PJ55X
rFihawmQeM4LE4VEgAgQgXaDAMjnQYMGZU2NN3/+/ID7OKa/7i3TXa+RGVIQmdzc6ITVu39GXjjZ
oLWuXbqE3i/8o2j/EWX9iU98IgzfZJOANeF0Fo05c/Q7GG0rlupGT85bjOg4fCeBgMmXML0zIo5z
H4m6dqnWqZbzrSWbz08xmU/Lm08HZYiCzG0fnkkx9bbLK0UA8iWdMO0s1jkGCVGonYiyBnnQ3PJ0
feXmr/mfc4SUXaCkXrk20AMxaeRk/miYXBxBGoF4OuL8yzSqz+sqdOyu+snnwnuyLvWPhAgGaQXy
xDEF+fyXH35GSWJMpY3zJh9mmFoY6zsjIhZprKyDjbWqf/7XuxsRgugLpuv29ZO9fb7N7Y/Lm7JF
VLITiW7XXPzdHtsq6SfIYgwAKJT6CbmE9aidVCqk5/J857CX5duiDfi1kUt+5dNtCRmOOa47ELa5
qdh9BGU4L/KdL7l+cvfL6eOBEjH+nbMPC4jELjUNcq7/pu4X62cpXzjfQaym15Nu6jmSriPXFmuv
/+KC43S6aKzRPHRgXxnkcVjoIdfAMV/7XaN7eNoX8sWut/5yLtfJ/RUDX1oi4brEIIO2Ondxz8P1
hejmDZVyj1dz21H13n3NNaUdESAC7QABDFrdZpttdBkdPMfXymA0fLliUCmCNTCg9eWXX5aBPY2/
a9H8ZTudJvdPew5skAFN3Z65sh30ik0gAkSACBABItC+Efj+97+vgYnlTrN98sknKxcJDqyt0ngZ
hHbIIYeESy+9VN/RtVW96XpAPp9//vnhj3/8o77rTJfly3/hC1/Q2VymT8/MlpdPr1wZMLha+Lqa
ngMTE2NY8QnOWMhlvPbDi4mYNJgZ+/F9YLW9FjQDGEEZRnjxiX8qw6sU7Luae2vhLcjl6xcu0r+W
cA1y+fqna/WvJfyBXK58XF7e4a8dJJ3eU8LwcSHgoTmdJk2alN5tlAfZjAXcMZJiQxDPaBDOsbvu
uksf8DEFN8jotiKBQRIsW7YsgKBvqzobHQQKiAARIAJEoGwEMP02iGYQ0FhfGd8ZIJxBPOM+DrIX
0QptmUB0468lk0/FXMgnplXOl/IRUPn0ypEVIzQKlckhSIhn1OEkabo+EA2lpkYtRh7CV6nydH3l
5EGGD5d1pW9/7OVy1LN0QLQ72Z5VEHdyscJU4+/M/KgR4VLOsStGFIIwWleXnwBHmRPPaBbagOTR
17oTP7Q/If+gB6jk9idtW24e0+qm0/rgn/YDQrnUueHrPKftiuXzncPF9MsltYv5aEpZsXtFqTLh
GZuVSvXxF185TmdOQATtHTIjQmunYv0sVXe+a7ep50i6jlzbWRKFjwj2QyUqH39IwO/X/7hfvrPS
lvnzxa633KnI83soX5p7XZZv2TzNcu55zfNcvlXu8SrfkppEgAh0JgTwLgzL5Ex/770woH//UC3B
HEi1Qijjtwf++L6oMx1x9oUIEAEiQATaAwLgY/baa6/Qo4cMqo0BlYXahfd/Y8aMCcVmFixkuz5y
LKeHvw2Z8I4TQTaTJ08OIOqLPZOAqEaAzPLltsxUi7U7/nZVUjmyxaCIkSrkh22DBPD4vgUwZ//Y
raiRyGcYG8kMK8+aYqIOZ1K0btWScOaZZ4S3pkyRPSYiQASIABEgAkSACLQtAl27dtUpaDCQCA9j
ixcvbpHp8HIjn3u9cI08FiVPQi3ayUKRzy1aCZ2VRACRnBPHb67TfLc2GTFu1DAZcFcXpssayeWk
CVsMV32sl5ubELW5w7jNZPrgD0uSrmlbrKeK9a6fl+lt20NqS/zbQ387ext2HL+ZrmuMtXoRZc4U
wvjRw8MwWdKgTqYVx/WK5QCYOg8CjHzuPMeSPSECTUWgvrIqrNjxZEY+NxU46hMBIkAEiMBGj8Cm
m24aPv3pT4fBgwdnzW6YDxiQr++++65GSpciqvPZd3QZ1n4++OCDdUkQBOEUSpjB5c033wx33HFH
IZUmy5PI5x4DzBb143/ymhQ72W9NMy20nEy7PVCn5QZTnZ2MbMY7V/jVYvFcC/K5labdzq6fe0SA
CBABIkAEiAARaDsE1ux2hszfaxEPmHa7x1v3hqoVH7ddA1gTESACRIAIEAEiQASIABEgAu0egbqe
g8KK8Ycky/1UrFsTuvy7+JI97b5TbCARIAJEgAgQASJABCICTj5X9xyQIZxTBHSkl3X6bZgg8jlD
TENSEWJcdCSazQIljVKFWGpxLkfdSJMCIkAEiAARIAJEgAh0PAQqVmem7caUu7UDRnW8TrDFRIAI
EAEiQASIABEgAkSACLQqAvidkJ7+skECdZiIABEgAkSACBABItDZEFBOGKQzErjhGMSsWZdhKyl3
6u1KKNu022ZrDLMpqyPxa/6yQ6ijBjdEgAgQASJABIgAEegUCFQs+1ieeeq1L/X19aF2yPhQ171/
p+gbO0EEiAARIAJEgAgQASJABIjA+iNQ172f/k7A7wUk/H6oXLFw/R3TAxEgAkSACBABIkAE2hkC
GGynocsa9WyRyQ1KRldqS41wlmwqaNnKG0Klr/fs5HWaiPY8vKhtyoF65gcRIAJEgAgQASJABDoJ
AlUL3gse/Yy1ZPCAtXLrw0JdDxLQneQQsxtEgAgQASJABIgAESACRKDZCGBg6sqtD9ffCb72JH4/
4HcEExEgAkSACBABIkAEOhUCwgenOWLs6Z8yzkYWYzlnTLBdWVFlJLIQzWZTEap1QedIS0NoUc7m
BmWId84Nl+5UALIzRIAIEAEiQASIABEQBCqXzNGohfoY7VxbWxtqamrCygmHhep5U0KNvFSqWr00
VNSvI15EgAgQASJABIgAESACRIAIbAQINFRWh7pufULtwNFh3ZAJSjzjd4KnyuUL9HeE73NLBIgA
ESACRIAIEIFOgYByzRVBaOWA5QmVNRZZRcDsL8jIn8gbZL+iAis8K5ts5VJWrQURCeOq7RMiDad2
n6Ks65mgQiYiQASIABEgAkSACHRCBKpnvRRqe/QLDT0G6tC8tfJiqaqqKtQPHi/T603AoxUTESAC
RIAIEAEiQASIABEgAhsRAng1inei9TI7kkc8o/sVKxeG6g9e3oiQYFeJABEgAkSACBCBjQsBYYkb
ZIptvBCN1LHyxhq4LCJs8YxUXycKoiT/EQuNVG17YqX7+jhlSlocxUZDByGvkwpiMTdEgAgQASJA
BIgAEeg0CFSsWhJq3n4k1I7dLzT0HKj9wgum9EumTtNZdoQIEAEiQASIABEgAkSACBCBZiFQsXKB
/m7A7wcmIkAEiAARIAJEgAh0KgSEVEZCwHNDRX2oxFYFItcyUNBRJ+rGXbXDh64KrUZaAmUzQCFs
GipQKhlEUjMRASJABIgAESACRKCTI6AE9NSHQ+XH74awapE8aPEhqJMfcnaPCBABIkAEiAARIAJE
gAiUREB/F8jvg8qPp5F4LokWFYgAESACRIAIEIEOiwBY55jAGNvSzJLDjtHQsdQ3oq8mmHzb1Koz
hiIQhzkuRSgaIlSTes24N26JABEgAkSACBABItApEahYtTTUTH0s1PfbJNQNHhMaZB3ohu59QkNl
TafsLztFBIgAESACRIAIEAEiQASIQH4EKuprA34fVArxXDV/WqhcPCe/IqVEgAgQASJABIgAEegs
CEQ6GPHJ8j8S0EYso4u+wnNknVWi3DQKJcm02xIc7WHRSl/LvsRDa5APnIu2O1cL1OL6KuAHESAC
RIAIEAEiQAQ6JwJ4scSXS53z2LJXRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAjkQcDikpMC
J5YRqKyB0SoAYYyEHc/bvpDPMYm8ARN3J8nyiIY2QxRIXn2k9RIDZogAESACRIAIEAEiQASIABEg
AkSACBABIkAEiAARIAJEgAgQASJABIgAESACRKCDI6BscGSe0xSzr/lspDP2olLsb6UKxNro5FSh
lCS6KhYNrBBtih0cLjafCBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBAB
IkAE8iIQZ8LGNNuWQBjLX2pdaOxnyGgllENlAwhlqGJu7WhsU26bI8zEbT6QUVUoxww3RIAIEAEi
QASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEi0CkQcD5YCWNwwmleWKhm2TWJ
y2Fg+QYhkyuVUJb9RkHRwjobHx2VwUDXdwrI2AkiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJA
BIgAESACRIAIEAEiQASIABFII5BhlkUKjhh0Mv4h+WeGbIZUtYRHNmmFTqQNeTS3rQU2mwOUQV0j
o73CrHBqaDARASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIhAh0Ug
4YAtONn7kZl6WyQSwGwssk2vraSzkcuqHifdNoLZHcBvhSpB3cyNlk7tujK3RIAIEAEiQASIABEg
AkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEi0EkQqNfA5WwKOnZNhBU6XbbpQKrccixO
yGd4yHagDHSOYyOijZiOHrghAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEg
AkSACBCBjo+AxyVjbuwkn+5W5IuTAGaU+dTcITXttuhBFX8Iem4Qb7qvEdAIn45GsQxumIgAESAC
RIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRKCTIBCjlWVR5rwdqkjkKK+U
vWy96sSqHgVCN0sstLHYso8MGGhJsVT3X3/jjfDCCy9YAT+JABEgAkSACBABIkAEiAARIAJEgAgQ
ASJABIgAESACRIAIEAEiQASIABEgAkSgQyOwrq4uT/sjZwyyWBhj5ZE1D3q6PksftLKSzxXgmDEB
dyyvEIHGOQshja3ay6cvH73FFluE1atXZznjDhEgAkSACBABIkAEiAARIAJEgMlPwkAAAEAASURB
VAgQASJABNorAnfccUcYPXp0e20e20UEiAARIAJEgAgQASJABIgAEWgXCFRUZlZtRoOMcxaaub4h
VFZiz0llbLEPgll4ZJ1auyIz7TZCmitEByoW+Rz1zaUWaBC01iBlTESACBABIkAEiAARIAJEgAgQ
ASJABIgAESACRIAIEAEiQASIABEgAkSACBABItApEKiv90hmI5YrhUpuqKsPXbp0CT179JA+NoSq
KnDKiG+2YGbwx+CYLdUb+dyQJpTVpwhECHFFpVLOpq+Mtch0HejogxsiQASIABEgAkSACBABIkAE
iAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABHo0AhUJlHP9cITC0cMnliindetqwvdu3cPfXr3
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
FhGksIiFaA/ypq99vwGeu0qr61a7UeWjzJTpugYBzAm/ydQDX7ieLLgBmgGgAdkZE+eAnr5PXW03
5I84AHjML75JI/BmiHFAz1HS53CnQ9NnIU2wmHaaWoPqDhQ40KccMAROLXb71msHpLeYM8fNkQD3
/feX2rfGgGcBzJjWjjSeY8CzTZYEGBvYjK/nSPs50oBG+zlKiwDmdtA5CTirXFIrWhMMCzMW/chj
R84Jiwx0jAI2N9OfiPz4KUqkj08kh0N/cECgbA9rBJsGpt6vmV+x3EuJC8/9Q9h+/p6I0ryWdTxv
d7mD2W1c8fADZI+32d06B0M5NtwOBPp4zVr32OOPW1ee+s9/3OmnfdXtvuuu7o033zRLQ4cedKDb
eNYs97HWEnffe6/i37K5+uGHHepmVVVZubffftv945Z/ui8e93lb4227zdauSOawli1bbulbb7m5
2+kTn7CF5G3/ut299sYbbrttt3H77L23GyFrRh9JK/pfd9zhlrzzruUfin966nrnul7TZJXr4APn
u4naHPz+0mXulltvdasFnG2kzdCH6DpO0uZeNgk/89xz7q577nWnfPmklOvFt4/Hff9999H12sGt
EuC44Ma/Wx3z99/Pbb/ttra56t1333X/uPkWCQKqk5fqEAFdtMOGqVNP/rL7/R8vt/YOOeggN2Xy
JLt/7rv/AdOqZ918+KGHutmbbuKWLltmZWgbHmXq693q64lf+qI2O3/sbvrnPy3/ySedqA0Sb7l7
VWeg7nFge2mqn3322cnCvHsBk6+55ppknA/4jVTIFLjG9+pd8NnPftYde+yxbsstt/TZ+uV4/fXX
90u7A7VRrPChDR7A54F6hYZuv57TtwXlFZSLoMcee8x98pOfNMuG99xzj/ucrFwEChwIHAgcCBwI
HAgcCBxI5wDrEGRMTZpDNAtDxnVzm7DI8ooSN2r0VAOcywU6l8lassk4VQHilOamZtfY2mIYXnGZ
MpiimVaWLa1CowuLpfXcYKAmPgitEQlk29qaBVZFAKBf5KR3aH3O7777busQmsnz5s3rclUeGAV4
HmiESSj4CJjK7mRAW+IYqwdwu9pnX64r2qzpvpmztlnZzsN8QV4msowRygeMHlMxRvdbi6trll9g
mX2PA9DU482jUx+AMz8I0J3fhk74NuUeqtNviRay/7r//pwsmX/wwW6k7rtAGwYHku9oAzG6jdZt
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
fKMLk9rPhW6srJlsKyH/7jts76bK+sesjTZy4yTAGQH4HChwIHBgQHHg7xf+tsv9GSjrnNECnPf4
5O62sNtefpjZEPzIo4+5NWvXmBAZwAetZPz2Yhp7kTTs0HZ+T5qId951twHIfvCMiX8TtBl2zJh2
NywWS1riZVlWVupOO/VU9+i//+2uW3CD+5zMe+Mnmg05rUN0TtRT1zvb9cK3c4vm97TDNdpBGpcR
yNxqvpfve+BB98BDD7vDDjk4cbm4HnZlOl4vf6ES12uTjTd2nz78MHftdQt0zR533zz9/3Nj9D1K
HxMWzIZXDhc4PEW+nJcawLajfH0vle/vnXb8hLX7tjY2YKp9++22FXi2keXBTCv+vSq18Rm/1Nn6
ivbzvvP2tjXtM88+16F9fx+GY2YOjJ9e4k741US36PZqV7O6xT15S4074pzxTkoDrm5dq8DnzOXi
saeddlrSjDNa0pjXBjTdaaedzMw05qI3lYUDr+l4v1w2ASwDTKO5e/PNNyc3y2+keQ0ESLWt/Ilz
P9nmlFiDvh4fhfwBSs/n0zO1FweSAc/3kAZ/LgLUzUZYBojLVKKNFNE6Lpu8BR/aC+WGYB+ZsUc+
ko1413ryYdrzm/xJY9ycE7+rzOcD7lH3n//8Z+MjZrsDBQ70NQeQS7IxBOJ+nDp1qr0n2DgBIM19
u9VWW6U8O33dx9Be4EDgQOBA4EDgQODAwOWAzaM1X2DDcnVrtSvXZlM2K6/WprbhwyrluqZS84hi
2+DcqsVLY2OLqxdQ3aw8ZbK2PV7riWLWrpjdxtQ2u6kRLgA8N8sPLyA08ezUtoUEC2G/6B24fFnv
nqGFDXPZpesXUt2tlB20+BCCt+weZqHGbni/q5Y2ukTjx3Ypu8+MJjS7fAGh58+fb36YfFo4dp0D
WAYATK7PsDu667WFEr3PAb3pov/tTXV4lyXydIhvLxJCgQOBA/3IASYsCWJOEjv10Xb0fp3jkeT1
vxQgmjkP4DLAs4SGkc9nwpGp7TjwzHxg2oQJ7kufPtztIM2hbWWOlHTiOdo8Kd5oCAcOBA4MSg4M
lLUOQmM0j1lDLJc23T9vu12mtt8ynl5/w9/NT+9/f+N004gFvFyzZq1MvD7j9t9vX/e9s840kJEp
DT5PGdNLL73sttl6KwM5X3r5FauH+Ph46+rq3aJnnnEHzT9AYOI8W7fcc9/91odBeTHz6HR8/Hlk
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
zZrljZ2wDB83blz1p+zp6XGI98uWLavGaUUEREAEREAExgKBYIC8yrxRmzmyP+UeE6FLNrczajP2
yRgtI0DzvpHAOtpsotvMu3Zbts1ryekVq1aY+bRNAG3KdBnBGZ/btkylk6Zal1x3ruQzTlpuHOzn
libNFgq1VtITTUXffffd+4jSCM/xuaSDhTRLBGsFERABERABERABERABERABERABERABERABERAB
ERitBBYsWOCmT5/uurrMoMjCiy++6BCgp02b5m655RZ3/PHH9/FEOVo59Hde7e3tPglic1x8njdv
nrvtttuq/PrLR/tFQAREQAREYLQQCN6mU6mM14kRmc01tiubNpzPFVzO3GoTlU5nXMY8W2fMiDmZ
RJW2/01ENpfbLo0FceeELpe0RG22j4MT+YKJ12RUduts1Fdbu7ncNkU729axUXM+byrwqPCcHH+E
8ePHu+22284LzXFLacTnuBDNPNJsL1++fFNVTfmKgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiI
wGYjUDY3mA888IA7+uijq2V2dHR4V9sIrOxbt26dmzBhQnX/WF154oknHFNATp06tQ8C+pm32Wab
PnHaEAEREAEREIGxQCBYPucLBTNINsNkE5ZL5kUb99ptWZvzmTj7Y1/R3jnMfbaJz2UvSudyaddh
U4Ckx5lQizqdMOvnoiUgA5RpU57dhK7xLmsm0gUTqC0HE6jT3pw6FDzcIadMXeePuU4IWEnvuuuu
faykcamC6+4gRMeX+Xx+uJ+i6icCIiACIiACIiACIiACIiACIiACIjCCCJx22mle6IhXGeuCRYsW
uW9961tu8uTJ8V1aFwEREIEBE3j00Ue9i20E5xAOPfRQ99vf/tb3k2K4I+E5IoMQv88++wRM1eXf
//53d8IJJ7gTTzzRfeELX6jGa0UEREAEREAExgIBvk8KiM9+fueKn9sZ/9jE43I7lUh6Y+aM7Ucz
RosN2jFzQafbs12uUCq6sgmtzP/MyLi2tjazIjYrZ3O73WnWzqVUwRXNLJq5nwnB5HokAubka62k
Z8yYsYGV9MKFC+sK0rioURABERABERABERABERABERABERABERCBwRDAwu68887b4NCLLrrIfelL
X3If/ehHZW23AR1FiIAIDIQAxje1YebMme64447zfaD0/SqY7ZX1g//oRz9yX/7ylzfAsdrmuWT6
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
ctKso9vs3S6RSLliwcTnjmyHS6UzJjqnvPk0GRWKeW8+bRGuYhnlCjYqzuaCJnOMreOq9+Y9ZZUW
CNSzkt5uu+36CNJcCPUspBGmly1bFrLSUgREQAREQAREQAREQAREQAREQAREYAgJrF271ovO48eP
l8vYIeSqrEYXgYIZw2DZSv/VuHHjRtfJDYOzof/23nvvrYrOoUp/+ctf3H777Rc2h+WSQQlMT3jF
FVe4N7/5zW7HHXe0Tu3ksKyrKiUCIiACIiACo5dAwvRjnr/M5FzxAnPCtOLokZx0ZROcUZ5zuOG2
+GKu4ArZkuuwgXDpiinUSMoIyyZXu0TK1hNtLl/Ku4RtF82EuuIzTrhCPucV7NELcuSfWa2V9MSJ
E90uu+xSFaV5oefF/tlnn61rJR0mCR/5JHQGIiACIiACIiACIiACIiACIiACIrBlCGDxPHny5Kr1
3paphUoVgeFNAMtnppzDQELi89D/VgsWLHDTp093XV1d1cyXL1/uGByDActwD29729vc5z73Ocd5
XHrppY7BPAoiIAIiIAIiIAKbjwBelRn8VbFpmnGLjUU0ls4I0Fg9J5NpH4ebbUIBY+Y1a70YnU4k
bTJoYismNFsGiV4L6Hab67lUKZloWTDpGV07Mq22QXMKI4xArZU0L2szZszoI0hzES1cuLCuIP3i
iy+OsDNWdUVABERABERABERABERABERABERgyxGgAya4jd1ytVDJIjD8CXCfhA7L4V/bkVNDmD7w
wAPu6KOP7lPpe+65x82bN69P3HDcwHjmS1/6krvkkkvca17zmuFYRdVJBERABERABEY9gQSWzRbK
JgwnmZPZQjplirL9X0CY9nGRVXTK4lOZlBkxF1zJvNukHeKzjTQsFooumzH/3eVosuhEwlRrs3NO
2zzPJVTrBOspy8znr39GAYF6VtI77bSTd3eEGM3funXr/FzS9dx3a96VUXAR6BREQAREQAREQARE
QAREQAREQASaEsDl69VXX900jXaKgAhsHgLMV1zbH4WLZllO9+X/6KOPuu23397PqR32LFmyxPf5
YQ093AO/8apVq9xee+013Kuq+omACIiACIjAqCZQxh92r9Wzt3i2beZ8zpgBMx61MViumHbsrZjN
yDll0zknk20u3dXZ4U2ki+nIVDpdyUTKNOKjZdKZSbq8CdNoziWZPY/qi4iTw0qaP1wfEbCS3mab
bdw+++xTtZRGlOaFtZ4gvXjxYn+c/hEBERABERABERABERABERABERABEahP4O9//7v75z//6RYt
WuRw0c3gcISiuXPnul133bX+QYoVgTFOgPvma1/7mps0aVIfEitWrHDnnHOOmzNnTp/4Lb3BvY0w
viVCvXZk2rRp7qijjtoS1RlwmU8++aTL2nyRnZ2dAz5WB4iACIiACIiACAwNASybsXoum6iM4JxO
2/TMhZKtmxtus20um6cS7J6dueFm3XZ4obqtzcTntP3D3M7s786XTKW2GZ4tYbaz3WVsvVgseaUa
3blo6fC6jV9vhbFFADdI/PHiR2AuaT6Kg4U0y1wu13AuaeaTURABERABERABERABERABERABERCB
sUwAMepPf/qTH9C92267uVe+8pV+zlu8jj3++OPu3nvv9d7HDjzwwD7ztLbC7OGHH/bf6fTZPP30
027HHXds5TClEYERQQDh+Zvf/KY799xzNxCZ2XfxxRe7D3/4wxvsG6qTu/32271hBgYbuK5+9atf
3TRr0px55pnu8ssvd/vvv3/TtNrZl8AFF1zgfvjDH7qTTz652g/ZN4W2REAEREAEREAENjUBvinQ
i0um/aEPV8wtNtNiVGy6ZqybWS/k834f4nQSXdn0Zqyh0QvTa1av8ao1L0/dPXk/IXTGRtymi2Ym
TTCduVRCcq6Yom0W0L0F+n36Z0wT4FrAQjpuJT116lTvEicuSi9btsxbScctpVlnjmkFERABERAB
ERABERABERABERABERgrBBCeCzYH2ute9zovOofzZoD3fvvt52bNmuXuuusud+edd7rDDjss7K4u
Gdj97W9/u7rNysyZM90b3/hGd9NNN3nvZVgKXn/99e4DH/iAy1uH0B133OGFMvp9FERgJBIIwnNc
XKZfiWsaF9JY+Z599tlDIkBz/73nPe9xP/7xjx1T04Xw+c9/3l166aWuvb3dffrTn3a33npr2LXB
EuEZkRzxmeWFF14oAXoDSo0jPvShD3lu9DsqiIAIiIAIiIAIbH4CZQyRTXFGZMbCGfEZy2aMldH+
sILmMV1i2+JJ75/bltB/c9h2GmvViiVKmeBcsf/y9hHUY38ZU7H5D2vXvGWGIE1hkWW0Hv6b/+ce
OSXWs5LmAzouSLP+zDPPuBdeeMH/8dEQxGnm71EQAREQAREQAREQAREQAREQAREQgdFEAAGNKaxq
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
HlG6mDR75oRLt7fb/COo0Jm0S2UzNvdzynXbZNCVpFk92wE93T2uxxTtEj68zTqagoK/7/4QtDr6
uL98tF8EREAEREAEREAEREAEREAEREAEREAERgoB5nbu6elxq1ev9u7pRkq9VU8R2JwEmHuYgRrt
1mmpIAIiIAIiIAIiIAIiMDwIeA3YBOhx9k0zbvw4VzLBOZlMuIy54MYNN5bOrCNS48UmZWKzCcfe
MpoJosvFiktzQMU2ekxwLq5d4+d3zuG3O2X+u81suoDvbhOnmc82YcL0JpjyeXjQVC1EQAREQARE
QAREQAREQAREQAREQAREYAgI0BGDqMafggiIgAiIgAiIgAiIgAiIgAiMFAJhzucpUya5lFk5+7me
Ezlzq93mxnV2mlZsorNpxikzYMaLdtk0ZAYVlk1ALpZLJkQ7l165cpXtS5roXDJh2SJtPZHKeIU6
bWJ1yv5Jmo9u723bxOfEC6u9mj1SIKmeIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiAC
IiACIiACIiACrRHI5wuuzYTkSqXssiY8d3Z12NzOaW8JncH6OZMyD9opLzojPDPXc2TBbLoyvrhT
yaQd2O46OyaYCfVEm5NovMvYdtbme05ZRjbhs/nxLtsk0mYRbXVq1e12a9VXKhEQAREQAREQAREQ
AREQAREQAREQAREQAREQAREQARFYT+Dmv9/sdvnMLuads7A+UmsiIAIiIAIiIAKblACWzObIyVs0
U1DKNlJeaDbjZbNUTpvn7LTNA41FdIF5nssV05AxbjaLZ7OAbmvLuPSErnH2AGeC6LQty94/Nxkz
OTTbuNnOm/k08z+bbbRXsDfpWSlzERABERABERABERABERABERABERABERABERABERCBARPI5XLu
xhtvrB7Xae4x58+f7xYtWuTuvvtu35E8b948t+2221bTDNeVr970VXfWIWe5jHnpDGFdfp3742N/
dEfsfkSIqi7vfOJOt8PkHdyMiTOqcVoRAREQAREQAREYGIGkGSwTkiYwm0rs2DL/2DaXc9EVTYgm
rtTTQxIzYE6a9+yKS5iWXDJtOWWetDFmTpyxxw4V75vbMsmbCN2TM6W6YmK0WT0n023+YOZ9xgo6
YQVe/fAT7oSTTnIPP/yw36d/REAEREAEREAEREAEREAEREAEREAERGC4E7juuuuGexVVPxEQAREQ
AREQAREQAREQARHYogSY23mH7bd3e+25m2nFaddmf+1tWZe0uZ4xXsbFNnqxudY2Y+eEzfOMYXPR
W0DnzRo6XzCNmciUCc8V/GlbyLZnXaXAQTa/s20XLFHB1OwSSjUZ9abzifWPCIiACIiACIiACIiA
CIiACIiACIxiAttsu/0oPruRf2qLnnt6QCcxe/bsAaVXYhEQAREQAREQAREQAREQAREYSwQQmM2Q
2WXMYza6MPM94z0bQ2asooljvYDojPdss4I2OdospRMun8/76ZxNtE5HKrWJyql0xkTohE0gbQls
Lo1SjynU5qvbZ2QTSqdMkKZAthVEQAREQAREQAREQAREQAREQAREYPQT4CtYQQREQAREQAREQARE
QAREQAREQARGP4EgMGez5iHb3GojRq9Zs8blc3nzxR1ZP3sX28mUn8I515Pz8z2zD/fbbW02LzQu
tVOmVFfMTBpT6SLzPntV20TobNa12VzPpj+bCbWp1paRn06aiaAVREAEREAEREAEREAEREAEREAE
RGCUE6jwQawgAiIgAiIgAiIgAiIgAiIgAiIgAmOAAHoxf4VC3uXWFdzaNWtdsVDyVs+lcsniS94S
OmWWzmjKXjI21bliRsy42U52r3NpTKIz5nY70ZtZ0eZ7Rp1OJ7CIds7miTYxGlG6ZMucWT7rw3sM
XFs6RREQAREQAREQAREQAREQAREQAU9A38C6EERABERABERABERABERABERABMYGAbxf89fTk3c9
uR6bmrlkurEZKtvpF4qmF5sBc9mmbC7nSl4xbu9o9665mRM6YeJzKm0as6V3ubyJyiYuJ9Mph+Js
u11Pvsd8cxdtDavnlFe4S6ZUYx2tIAIiIAIiIAIiIAIiIAIiIAIiIAJjgYAGYI+FX1nnKAIiIAIi
IAIiIAIiIAIiIAIjg8CKdWV3wfXL3ff/sNr1FAam2bZnEu6dr5ng3nvYBPeSyem6J4zVMyGVSbv2
ZIfr6Ory8zjjFYz/mP/Zq84mQmPMnGnL+Lg2pna2/9qYI3rlypUmMJe9S22mkCbPkv2zLpczZZtM
Mi5RTtl8z0lTq3HbHSnedWukSBEQAREQAREQAREQAREQAREQAREYRQQ0/noU/Zg6FREQAREQAREQ
AREQAREQAREY4QQQni/73apBnQVi9X/evNIf+6U3Tq6bB1bPfqpmE5cxUM5mMq6jo8Ovp02QTiEW
25ZN6MzCIUqXzeW2nx/arKR7esztdsGsmzs72127HWh2z67brKBzxbIb15WxDJIuY+Kzuez2ZtS4
5k72Flq3Rk0iZ86c6bbeemt33333NUk1+nfts88+7h//+IfB7xnUycKwy0YZPPHEExscP2PGDJex
i+Dpp5/eYN9wj2h2XsO97qrfpiOw1VZbuTlz5lQLWLFihXv++ecHff9UMxomK9yve+21l/vrX/9a
t0bjx493L3nJS9zDDz9cd3+zyO233948VhTcCy+80CcZo4722GMPd++99/aJH4qNeJkj+Z7efffd
3TPPPONWr17dFMvRRx/tbrvtNrd27VqfrtFzbvbs2W7SpEnVvNatW+efA2EEGTt4Njz55JOOAWEK
Y5NAe3u722233dysWbPcqlWrfLuwfPnyEQOj9joPFX/22Wcd59GsrQtpB7KkfZw7d+6of68c7HNg
11139e3/xrYpzX7XxYsXD+QnG3TanXfe2S1ZssRfR/H1/jLkebfnnnu6pUuXuqeeeqq/5KNqP88c
nvW8X+y4447un//8p+vu7m75HPt7P2k5o1GUsGwf0goiIAIiIAIiIAIiIAIiIAIiIAIiMBwIYPG8
seGq21a5RuIzeSNAd7RnvQidzXa4NtMyEJjRlFd2r/JestvMArpsc0CjI6fNs3ahVDRNouiKxaJL
jt9qognPXf7Atrast3TuNCF6/LjxbqtxE1xne6fbauJWbvJWk9z4CROtxMGd0r//+7+78847z+20
006Dy2CYHHXAAQe4t771rYOuzcc+9jEvwg82g5e//OXuTW96kz+8ti6HHHKIe/3rXz/YrLfocfHz
2qIVUeHDigBCzKc+9Sn3xje+0f99+MMfdv/93//t3vOe9/iRNv1VltE4X/jCF7zLh/7Sbon9iAq0
i40Cwvu//du/NdrdNP7YY491hx566AZp6JD+9Kc/vUH8UETEyxzJ9zTMEbWaBcT11772tVXhmbSN
nnMnnXSS3xeu43POOcd973vfc4jXIfBs2GWXXcKmlmOMAILat771Lf9+wSAGro3LLrvMzZ8/f5OT
eOc73+n23XffjS6n9joP1zvn1l9bN5jCaR95Poz2MNjnwJlnnukQoDc2NPtdNzbvVo9/17ve5RgU
RIiv93f85z73OXfCCSe47bbbrr+ko2r/5MmTffvxspe9zI0bN86de+65bvr06f2eY7wt2BT3bL8V
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
dNJcb5v4/I8H7nbduNXOF13aTKZztiyZ2+2s+eouWiE9NtmzLWw/1s/OrbOMlpbWuXJPj5s4caJb
unRp3QoqUgREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREYGAEZs6cWfeA
9x4WCcdX3bZqwBbQWDwjPJ/6qvEb5I2QfOONN7oXXnjBTZkyxUyTI+EZkRk7aaya0yYs26YXmNuT
7WbQXHLd5lkbN92IzlhGd7a3u8ShHa7SMS5t7raLXmQu2kFFE5kxozaR2pRrLKitAJeyiaNN5U6l
3RJTo0tdXW6vA17mli1b5tasWbNBJRUhAiIgAiIgAiIgAiIgAiIgAiIgAiIgAsOFwHXXXedmz549
XKqjeoiACIiACIiACIiACIiACIjAsCGA+Dx37ly31HTfcaYBp7zLbRObrYZp04YzZrRcMStlthGi
kyY4YwWNtXQ6bWbRto47bjvM5nyetY1XpjPZnMuXkq5sfrtLpmH7TCxh2vx6t7d3mhhtB1jGbaZY
b9+Tc/94folbtfA5N37K1pahkwDtKegfERABERABERABERABERABERABERABERABERABERABERAB
ERABERABERj+BLxLbbNGfsMJJ7jFS5a4zs7OyIW2ictlLzab3Jyo2BzQNt+zGS1jBW0+s10KPZl5
oU2IRqhmRzJt/5iInd59551MOF7rVq/tdmt68Mttk0hbIZlMyuVzeUuIX++EKdclK8SWFpe2v4mp
hFv4+AI3rVB0U7af5f18r1q1SnNAD//rSDUUAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQ
AREQAREQAREY4wSY1/n44493vzWX236uZxOTmZY5mcKKGY/YCe9WO522ddOLE86sns3FtjeBNqGZ
NKVy0VNMmgV0mxk1p1e/uMQsns2Ndo/ZO+cLrlDJ2cEp1722aEJyyf8VTM02T9x+zmcySKUyboqJ
1+WOjFvy9FPu+cWL3T777ucmTJjgVq9e7XpsPuhCoeBVcK+Ej/EfTqcvAiIgAiIgAiIgAiIgAiIg
AiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAluKQLByDuX/6le/cu9+93vM4nmxab82/bKJzvmCGSab
yNzWlnHZbGSgzFzPwdV2xuLLpiujA5MGQTq43CZ/5n1OL1u+yhVKFVewDM0g2uURnG2HadXeipmE
ZdtfMRHbJn32/roTpnZjPz2jo92NT2fc82tz7g+/v9WNnzDRvWTGdDd18hTX1jXV/saZdTVp6wfU
9Pj+2u34UfF98XXS1G6H4xrFN9rfLH18X3xd5Yt/7fXQ6PoK8WFZe1ztdkjHMr4vvl67r9Ex8fiw
3mo+tWW0elxtulBuWNbur90O6VS+fv/4tRFfr702Gl0z8fiw3mo+tWW0elxtulBuWNbur90O6VS+
rv/4tRFfr702Gl0z8fiw3mo+tWW0elxtulBuWNbur90O6VS+rv/4tRFfr702Gl0z8fiw3mo+tWW0
elxtulBuWNbur90O6VS+rv/4tRFfr702Gl0z8fiw3mo+tWW0elxtulBuWNbur90O6TZl+Yzipw+C
skMIfRIhPr4vpGEZ9oc45jVjhD+BQfd01IQQ0oZliGdZG8d2PF7lr/9tPJjef2q5ib+uP91/an9o
HtT+6vmj56/eP8L7QnhXCMsQz7I2ju14vN6/9P7lL4iaf2qvm9Hy/nnPPfe4v/71L+6WW251t99+
u1u0aJEbN26cmzplimnBRZfLm/frdMp1dHRYvM37zHeOud5O2ZzPWROa20wTNqmY2Z1dopz1y6IJ
0XxilYtFb8hM2sTpO8+sJOyDKWeiM5lVLMXa7rXmYtu5vFlCc0TKTKxtNmlz6W1zQvdOJp01s2lC
yRJyr64x99sr80W3rCfvludyfjtvH2C997FVIOpAiKpkG9H97SuEkTZTVHOJ+/R+hQmrE65kEYjm
xHNIfL03mcVa3v7f9f/4E7dYX65Fx5fxVBwZ8iSedOFf6kU+ZkjugbHHa/A+BfWtLZUUHB3lUrs/
1DfaG6XlB4nyj/ILx5IFIwvKxjfF0HCKIAAAQABJREFU0gBwHGlZ4/dJ2cHEE8jHh2jT1zfUtXeP
pVkv9vcm82fAsb3Z+DJCVsRTTuDDMSFPvx47rlp+b2HkF8+X6Pg2xxMoqzY+lF/7+/v0vWXWLT9k
aglZ9XXyK9H5RQ8Ro9ebrndXw/I5PuJsSwq3A6gbx/EHF/YTF4Jf740PrKr7LJ6yq79x745wnUXL
9fmF8kM+ocwoj+i38PWyHMO1Fs7ZDyWhvGoZ5Mt13BsTdth+OIfriOTk4csivRXGfupMuWE9fl1Y
st7rkqOjjKO0YYv4qPxw7uz3cXasr5dF+HItPixDvaLrP0ofL9/HUxELUTxr8fKjehNLCNe/T2H/
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
</data>

          </attachment>
      

    </bug>

</bugzilla>