<?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>233890</bug_id>
          
          <creation_ts>2021-12-06 12:22:32 -0800</creation_ts>
          <short_desc>Add support for `navigator.requestCookieConsent()` behind a disabled feature flag</short_desc>
          <delta_ts>2021-12-08 09:05:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>annulen</cc>
    
    <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mitz</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820715</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-06 12:22:32 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820717</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-06 12:23:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/86117718&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820727</commentid>
    <comment_count>2</comment_count>
      <attachid>446069</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-06 12:49:06 -0800</bug_when>
    <thetext>Created attachment 446069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820730</commentid>
    <comment_count>3</comment_count>
      <attachid>446072</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-06 12:53:55 -0800</bug_when>
    <thetext>Created attachment 446072
Fix macOS SPI availability</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820746</commentid>
    <comment_count>4</comment_count>
      <attachid>446077</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-06 13:23:20 -0800</bug_when>
    <thetext>Created attachment 446077
Fix Windows build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820763</commentid>
    <comment_count>5</comment_count>
      <attachid>446083</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-06 14:18:00 -0800</bug_when>
    <thetext>Created attachment 446083
Adjust ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821221</commentid>
    <comment_count>6</comment_count>
      <attachid>446083</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-12-07 14:27:49 -0800</bug_when>
    <thetext>Comment on attachment 446083
Adjust ChangeLog

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

&gt; Source/WebCore/Modules/cookie-consent/NavigatorCookieConsent.h:37
&gt; +class DeferredPromise;
&gt; +class Navigator;
&gt; +struct RequestCookieConsentOptions;

I typically put a blank line between class and struct.

&gt; Source/WebCore/Modules/cookie-consent/RequestCookieConsentOptions.h:28
&gt; +#include &quot;VoidCallback.h&quot;

Can we forward-declare VoidCallback instead of including the header? We want to resist including headers in headers as much as we can.

&gt; Source/WebCore/page/ChromeClient.h:27
&gt; +#include &quot;CookieConsentDecisionResult.h&quot;

Can’t we use this instead?

enum class CookieConsentDecisionResult : uint8_t;

&gt; Source/WebKit/UIProcess/API/APIUIClient.h:33
&gt; +#include &lt;WebCore/CookieConsentDecisionResult.h&gt;

Can’t we use this instead?

enum class CookieConsentDecisionResult : uint8_t;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821254</commentid>
    <comment_count>7</comment_count>
      <attachid>446083</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-07 15:48:44 -0800</bug_when>
    <thetext>Comment on attachment 446083
Adjust ChangeLog

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

Thanks for the review!

&gt;&gt; Source/WebCore/Modules/cookie-consent/NavigatorCookieConsent.h:37
&gt;&gt; +struct RequestCookieConsentOptions;
&gt; 
&gt; I typically put a blank line between class and struct.

Added!

&gt;&gt; Source/WebCore/Modules/cookie-consent/RequestCookieConsentOptions.h:28
&gt;&gt; +#include &quot;VoidCallback.h&quot;
&gt; 
&gt; Can we forward-declare VoidCallback instead of including the header? We want to resist including headers in headers as much as we can.

Good point — changed this to a forward declaration. (Note that I did need to forward declare several ctors and the dtor (and add a RequestCookieConsentOptions.cpp) though, since the ctor/dtor require VoidCallback to not be a forward declaration).

&gt;&gt; Source/WebCore/page/ChromeClient.h:27
&gt;&gt; +#include &quot;CookieConsentDecisionResult.h&quot;
&gt; 
&gt; Can’t we use this instead?
&gt; 
&gt; enum class CookieConsentDecisionResult : uint8_t;

Ah, so I needed to include the header here because I&apos;m doing `CookieConsentDecisionResult::NotSupported` below.

However, I can turn this into a forward enum declaration here by making `requestCookieConsent` a pure virtual function (and then adding implementation stubs elsewhere, as needed). Will do that!

&gt;&gt; Source/WebKit/UIProcess/API/APIUIClient.h:33
&gt;&gt; +#include &lt;WebCore/CookieConsentDecisionResult.h&gt;
&gt; 
&gt; Can’t we use this instead?
&gt; 
&gt; enum class CookieConsentDecisionResult : uint8_t;

This one might be tricky to avoid, since we need to invoke the completion handler below with the value `CookieConsentDecisionResult::NotSupported`... I&apos;ll leave this one as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821277</commentid>
    <comment_count>8</comment_count>
      <attachid>446252</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-07 16:30:17 -0800</bug_when>
    <thetext>Created attachment 446252
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821294</commentid>
    <comment_count>9</comment_count>
      <attachid>446258</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-07 17:04:26 -0800</bug_when>
    <thetext>Created attachment 446258
Rebase again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821317</commentid>
    <comment_count>10</comment_count>
      <attachid>446083</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-07 17:40:51 -0800</bug_when>
    <thetext>Comment on attachment 446083
Adjust ChangeLog

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

&gt;&gt;&gt; Source/WebCore/Modules/cookie-consent/RequestCookieConsentOptions.h:28
&gt;&gt;&gt; +#include &quot;VoidCallback.h&quot;
&gt;&gt; 
&gt;&gt; Can we forward-declare VoidCallback instead of including the header? We want to resist including headers in headers as much as we can.
&gt; 
&gt; Good point — changed this to a forward declaration. (Note that I did need to forward declare several ctors and the dtor (and add a RequestCookieConsentOptions.cpp) though, since the ctor/dtor require VoidCallback to not be a forward declaration).

&gt; C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\Modules\cookie-consent\RequestCookieConsentOptions.h(39,34): error C2079: &apos;WebCore::RequestCookieConsentOptions::moreInfo&apos; uses undefined class &apos;WTF::RefPtr&lt;WebCore::VoidCallback,WTF::RawPtrTraits&lt;T&gt;,WTF::DefaultRefDerefTraits&lt;T&gt;&gt;&apos; [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]
&gt; C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\Modules\cookie-consent\RequestCookieConsentOptions.h(39,34): error C2079:         with [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]
&gt; C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\Modules\cookie-consent\RequestCookieConsentOptions.h(39,34): error C2079:         [ [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]
&gt; C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\Modules\cookie-consent\RequestCookieConsentOptions.h(39,34): error C2079:             T=WebCore::VoidCallback [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]
&gt; C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\Modules\cookie-consent\RequestCookieConsentOptions.h(39,34): error C2079:         ] (compiling source file C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\DerivedSources\WebCore\unified-sources\UnifiedSource-cbdfe323-7.cpp) [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]

Sadly, it seems like this forward declaration breaks the windows build :(

I&apos;ll revert it to #include &quot;VoidCallback.h&quot; for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821322</commentid>
    <comment_count>11</comment_count>
      <attachid>446271</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-07 17:57:42 -0800</bug_when>
    <thetext>Created attachment 446271
Fix Windows build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821354</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-07 20:25:54 -0800</bug_when>
    <thetext>Committed r286640 (244953@main): &lt;https://commits.webkit.org/244953@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446271.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821355</commentid>
    <comment_count>13</comment_count>
      <attachid>446271</attachid>
    <who name="">mitz</who>
    <bug_when>2021-12-07 20:29:04 -0800</bug_when>
    <thetext>Comment on attachment 446271
Fix Windows build

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

&gt; Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:658
&gt; +    [(id &lt;WKUIDelegatePrivate&gt;)delegate _webView:m_uiDelegate-&gt;m_webView.get().get() requestCookieConsentWithMoreInfoHandler:nil decisionHandler:makeBlockPtr([completion = WTFMove(completion)] (BOOL decision) mutable {

I thought it was customary to wrap a CompletionHandlerCallChecker around calls to delegate methods that take a completion handler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821357</commentid>
    <comment_count>14</comment_count>
    <who name="">mitz</who>
    <bug_when>2021-12-07 20:30:47 -0800</bug_when>
    <thetext>(In reply to mitz from comment #13)
&gt; Comment on attachment 446271 [details]
&gt; Fix Windows build
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=446271&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:658
&gt; &gt; +    [(id &lt;WKUIDelegatePrivate&gt;)delegate _webView:m_uiDelegate-&gt;m_webView.get().get() requestCookieConsentWithMoreInfoHandler:nil decisionHandler:makeBlockPtr([completion = WTFMove(completion)] (BOOL decision) mutable {
&gt; 
&gt; I thought it was customary to wrap a CompletionHandlerCallChecker around
&gt; calls to delegate methods that take a completion handler.

(more precisely: “around a completion handler being passed to a delegate method”.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821359</commentid>
    <comment_count>15</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-07 20:46:18 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821360</commentid>
    <comment_count>16</comment_count>
      <attachid>446285</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-07 20:46:21 -0800</bug_when>
    <thetext>Created attachment 446285
Followup (for EWS)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821361</commentid>
    <comment_count>17</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-07 20:46:51 -0800</bug_when>
    <thetext>(In reply to mitz from comment #14)
&gt; (In reply to mitz from comment #13)
&gt; &gt; Comment on attachment 446271 [details]
&gt; &gt; Fix Windows build
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=446271&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:658
&gt; &gt; &gt; +    [(id &lt;WKUIDelegatePrivate&gt;)delegate _webView:m_uiDelegate-&gt;m_webView.get().get() requestCookieConsentWithMoreInfoHandler:nil decisionHandler:makeBlockPtr([completion = WTFMove(completion)] (BOOL decision) mutable {
&gt; &gt; 
&gt; &gt; I thought it was customary to wrap a CompletionHandlerCallChecker around
&gt; &gt; calls to delegate methods that take a completion handler.
&gt; 
&gt; (more precisely: “around a completion handler being passed to a delegate
&gt; method”.)

Good catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821560</commentid>
    <comment_count>18</comment_count>
      <attachid>446369</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-08 08:09:31 -0800</bug_when>
    <thetext>Created attachment 446369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821577</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-08 09:05:39 -0800</bug_when>
    <thetext>Committed r286658 (244971@main): &lt;https://commits.webkit.org/244971@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446369.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446069</attachid>
            <date>2021-12-06 12:49:06 -0800</date>
            <delta_ts>2021-12-06 12:53:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233890-20211206124905.patch</filename>
            <type>text/plain</type>
            <size>56399</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDhhOGRhNDgxMTA4YzlmNDdjMDZjOWM5
ZjFiMjRlMWE2NTM1NTIzZTguLmExYjI1MmIyODZmNWYyY2NjN2RkMjZmNzE3YTEzNDNhMGY2MWE0
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3Iu
cmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAg
ICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmVhdHVyZSBmbGFnIChvZmYgYnkgZGVmYXVsdCku
IE5vdGUgdGhhdCB0aGlzIGlzIGFsc28gb25seSBhbiBpbnRlcm5hbCBmZWF0dXJlIGZsYWcgZm9y
IHRoZSB0aW1lCisgICAgICAgIGJlaW5nIChyYXRoZXIgdGhhbiBhbiBleHBlcmltZW50YWwgZmVh
dHVyZSBmbGFnKSwgc3VjaCB0aGF0IGl0IGNhbm5vdCAoeWV0KSBiZSB0dXJuZWQgb24gYnkgbm9u
LUFwcGxlIGludGVybmFsCisgICAgICAgIHVzZXJzLgorCisgICAgICAgICogU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWw6CisKIDIwMjEtMTItMDYgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBBZGQgYSB3YXkgdG8gcnVuIHNjcmlwdGVkIGFuaW1hdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MDU0
MmY0N2M0ZmNiOTljZjI2M2I0Mzk5Mzc4ZDY3ZjY5NjIwMmY1Li4zMDA2OTQxZWZlMzEwZTk4YTdl
ZGNkM2FkNjI3YjBjNjM3OGQxYzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjEt
MTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5k
IGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRv
IHN1cHBvcnQgYSBuZXcgKGludGVybmFsLWZvci10aGUtdGltZS1iZWluZykgbmF2aWdhdG9yIEFQ
SSwgYHJlcXVlc3RDb29raWVDb25zZW50KClgLiBUaGlzCisgICAgICAgIHJldHVybnMgYSBwcm9t
aXNlIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIHVzZXIgKG9yIHRoZSBVQSwgb24gYmVo
YWxmIG9mIHRoZSB1c2VyKSBjb25zZW50cyB0byB1c2FnZSBvZgorICAgICAgICBjb29raWVzIHRo
YXQgYXJlIG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgZm9yIHBhZ2UgcGVyZm9ybWFuY2UuCisKKyAg
ICAgICAgUGFpcmVkIHdpdGggdGhpcyB3ZWItZmFjaW5nIEFQSSwgd2UgYWxzbyBpbnRyb2R1Y2Ug
Y29ycmVzcG9uZGluZyBwcml2YXRlIFdLVUlEZWxlZ2F0ZSBtZXRob2RzIHRoYXQgYXJlIGludm9r
ZWQKKyAgICAgICAgYXMgYSByZXN1bHQgb2YgY2FsbGluZyBgbmF2aWdhdG9yLnJlcXVlc3RDb29r
aWVDb25zZW50KCk7YCwgd2hpY2ggYSBXZWJLaXQgZW1iZWRkZXIgbWF5IGltcGxlbWVudCBpbiBv
cmRlciB0bworICAgICAgICBwcmVzZW50IFVJIG9yIG90aGVyd2lzZSByZXNwb25kIGFwcHJvcHJp
YXRlbHkgdG8gdGhlIHJlcXVlc3QuIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFp
bHMuCisKKyAgICAgICAgVGVzdHM6ICBDb29raWVDb25zZW50LkJhc2ljRGVjaXNpb25IYW5kbGVy
CisgICAgICAgICAgICAgICAgQ29va2llQ29uc2VudC5Ob3RFbmFibGVkCisgICAgICAgICAgICAg
ICAgQ29va2llQ29uc2VudC5UaHJvd3NFeGNlcHRpb25XaXRob3V0RGVsZWdhdGUKKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0
Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nv
b2tpZUNvbnNlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Nvb2tpZS1jb25zZW50
L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwOiBBZGRlZC4KKworICAgICAgICBBZGQgYSBuZXcg
cGFydGlhbCBpbnRlcmZhY2Ugb24gTmF2aWdhdG9yIHRoYXQgaW1wbGVtZW50cyB0aGUgbmV3IEFQ
SSBieSBjYWxsaW5nIGludG8gdGhlIGNocm9tZSBjbGllbnQgaG9vayAoc2VlCisgICAgICAgIFdl
YktpdCBjaGFuZ2VzIGZvciBtb3JlIGRldGFpbHMpLiBOb3RlIHRoYXQgaW4gdGhlIGNhc2Ugd2hl
cmUgdGhlIGNvbnNlbnQgZGVsZWdhdGUgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBieQorICAg
ICAgICB0aGUgY2xpZW50LCB3ZSB3aWxsIHJlamVjdCB0aGUgcHJvbWlzZSB3aXRoIGEgYE5vdFN1
cHBvcnRlZEVycm9yYC4KKworICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29va2llQ29uc2Vu
dDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29v
a2llQ29uc2VudDo6ZnJvbSk6CisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZp
Z2F0b3JDb29raWVDb25zZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNv
bnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1v
ZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KToKKwogMjAyMS0x
Mi0wNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCBhZGQgc29tZSBtaXNzaW5nICNpbmNsdWRlcyBpbiBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDJiNzEzYWYwZTExNWMxNWVlMDBjNTFiM2JiZmVjNTRhZTAyYjZkNWIuLmZmOWQwNzhlYmFk
YjY5ODE5NGQ0NGI0ODViMWNlMDc1Njg1NzEyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAK
KzIwMjEtMTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAg
YmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBsdW1i
aW5nIGZvciBhbiBhc3luYyBgcmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgbWV0aG9kIG9uIENocm9t
ZUNsaWVudCB0aGF0IHBsdW1icyB0aHJvdWdoIHRoZSBXZWJLaXQyIGNsaWVudAorICAgICAgICBs
YXllciwgaW50byBhIG5ldyBwcml2YXRlIChmb3IgdGhlIHRpbWUgYmVpbmcpIFVJIGRlbGVnYXRl
IG1ldGhvZC4gSWYgdGhlIG5ldyBkZWxlZ2F0ZSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkCisg
ICAgICAgIChvciB0aGVyZSBpcyBubyBVSSBkZWxlZ2F0ZSBhdCBhbGwpLCB3ZSBpbW1lZGlhdGVs
eSBpbnZva2UgdGhlIGRlY2lzaW9uIGhhbmRsZXIgd2l0aCBhIHJlc3VsdCBvZiBgTm90U3VwcG9y
dGVkYCwKKyAgICAgICAgYWxsb3dpbmcgdXMgdG8gcmVqZWN0IHRoZSBwcm9taXNlIHdpdGggYSBg
Tm90U3VwcG9ydGVkRXJyb3JgLgorCisgICAgICAgIFNlZSBXZWJDb3JlIENoYW5nZUxvZyBmb3Ig
bW9yZSBkZXRhaWxzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oOgor
ICAgICAgICAoQVBJOjpVSUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJ
RGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OnNldERlbGVnYXRlKToK
KyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJlcXVlc3RDb29raWVDb25z
ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0Q29va2llQ29uc2VudCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnJlcXVlc3RD
b29raWVDb25zZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorCiAyMDIxLTEyLTA2ICBNYXR0IEdpbGxpZ2FuICA8bWF0dGhld19naWxs
aWdhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQWxsb3cgV0tXZWJWaWV3IGNsaWVudHMg
dG8gb3ZlcnJpZGUgdW5kb01hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwgYi9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IDAzYmI0YWUz
MDFlNTllYWZhN2QyYjU2YmJmYjBhNTM5YTgzMDA4YzUuLmUxYmFmZmMzNzg0MjhkYWFmYWYyYThh
MjU5Yzc1YzViMTJjMWZjYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMTc2LDYgKzE3Niwx
OSBAQCBDYXB0dXJlVmlkZW9JblVJUHJvY2Vzc0VuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAg
ZGVmYXVsdDogZmFsc2UKIAorQ29va2llQ29uc2VudEFQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wK
KyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDb29raWUgQ29uc2VudCBBUEkiCisgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIkVuYWJsZSBjb29raWUgY29uc2VudCBBUEkiCisgIGV4cG9zZWQ6IFsg
V2ViS2l0IF0KKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0
OgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogRE9NUGFzdGVBY2Nlc3NSZXF1ZXN0c0VuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJET00gUGFzdGUgQWNjZXNzIFJl
cXVlc3RzIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3NjI0MzI0ZDk1ZDY5NDE5ZmMwMzJjNzg2
ZmZiYjM3Yzc2N2FhMTJjLi5kNDQ5ZGU4YjAwYWI1NDdlNjhjODU4ZWZlZGNiYTUzMGE5NWEwZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjcsNiArMjcsNyBAQCBzZXQoV2ViQ29yZV9QUklW
QVRFX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9iZWFj
b24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY2FjaGUiCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvY29udGFjdC1waWNrZXIiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
Y29va2llLWNvbnNlbnQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY3JlZGVudGlhbG1h
bmFnZW1lbnQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEiCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5IgpAQCAtMjU2
LDYgKzI1Nyw5IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9j
b250YWN0LXBpY2tlci9Db250YWN0c1NlbGVjdE9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy9jb250
YWN0LXBpY2tlci9OYXZpZ2F0b3IrQ29udGFjdHMuaWRsCiAKKyAgICBNb2R1bGVzL2Nvb2tpZS1j
b25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50LmlkbAorICAgIE1vZHVsZXMvY29va2llLWNv
bnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbAorCiAgICAgTW9kdWxlcy9jcmVk
ZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCiAgICAgTW9kdWxlcy9jcmVkZW50
aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbAogICAgIE1vZHVsZXMv
Y3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggNGZmOGUz
ZjIwYjJjYmNmMTc4NmFlODgzMTdiNTFhYWQ3NjNhYTczNy4uZWNkN2FlNThkNzEwMWEzODY1NjNj
ZTJmYzIzOTVkYTY0ZTcxM2M1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yMzIsNiArMjMyLDggQEAgJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0UHJvcGVydHkuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdlci5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNTZWxlY3RPcHRpb25zLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9jb250YWN0LXBpY2tlci9OYXZpZ2F0b3IrQ29udGFjdHMuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25z
ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29v
a2llQ29uc2VudE9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NyZWRlbnRpYWxt
YW5hZ2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY3Jl
ZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRp
b25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdAppbmRleCBkMjdmNmU0NjYwZWI2YmI4ZDVkOGQwNDBlMTZjNzFjZDc5Yzk2MmQxLi45OTZj
YmRlMjExNmVlZTIyODg0ODQ4ZTE0ZTFlNTgxNmE4MTdkZjNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTY0Nyw2ICsxNjQ3LDgg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0
b3IrQ2xpcGJvYXJkLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOYXZpZ2F0b3IrQ2xpcGJvYXJkLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK0NvbnRhY3RzLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ29udGFjdHMuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3Ir
Q29va2llQ29uc2VudC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ3JlZGVudGlhbHMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitDcmVk
ZW50aWFscy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvcitFTUUuY3BwCkBAIC0yMDg5LDYgKzIwOTEsOCBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5
Q2FsbGJhYwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
ZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2su
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JlcXVl
c3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXF1ZXN0Q29va2llQ29u
c2VudE9wdGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNSZXNpemVPYnNlcnZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUmVzaXplT2JzZXJ2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXNpemVPYnNlcnZlckJveE9wdGlvbnMuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhNGZmNDUxZjJmMTMwZGM2ZTEyNzZhNjUxYzNm
YjdhOTEyMjk5OWZkLi4zM2JkNmUwMGRjOGI2MmYxZGExYzBjOTUwY2I5MjhiMjg3YTZmZjFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1NCw2ICsyNTQsOCBAQCBKU19CSU5E
SU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250
YWN0c01hbmFnZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY29udGFjdC1waWNrZXIv
Q29udGFjdHNTZWxlY3RPcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NvbnRh
Y3QtcGlja2VyL05hdmlnYXRvcitDb250YWN0cy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGwgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWND
cmVkZW50aWFsLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2Vt
ZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZQppbmRleCBhMTIyNDAyYWMwY2JiNDVkNmYxZDc3ODc4YzEzMjg2MDllNzY4
MjI0Li41NDMxMzMxNzNkZDYyMTI4Mjc4YmI5NjJmNjZkZDdlYmFjNDI3NDk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKQEAgLTE1Myw2ICsxNTMsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09S
S19IRUFERVJTCiAgICAgTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0UHJvcGVydHkuaAog
ICAgIE1vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNSZXF1ZXN0RGF0YS5oCiAKKyAgICBN
b2R1bGVzL2Nvb2tpZS1jb25zZW50L0Nvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oCisKICAg
ICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETUNsaWVudC5oCiAgICAgTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNsaWVudC5oCiAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN5c3RlbUNvbnRyb2xsZXIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jb29raWUtY29uc2VudC9Db29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9u
UmVzdWx0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMzNjQxMjgxY2RiZjE2M2U3MjA0MTFjOGM0M2I2NjViYjA2
ZTAzZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNv
bnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmgKQEAgLTAsMCArMSw1MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIENvb2tpZUNvbnNlbnREZWNpc2lvblJl
c3VsdCA6IHVpbnQ4X3QgeworICAgIE5vdFN1cHBvcnRlZCwKKyAgICBDb25zZW50LAorICAgIERp
c3NlbnQsCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgewor
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgV2ViQ29y
ZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LAorICAgIFdlYkNvcmU6OkNvb2tpZUNvbnNl
bnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkLAorICAgIFdlYkNvcmU6OkNvb2tpZUNvbnNl
bnREZWNpc2lvblJlc3VsdDo6Q29uc2VudCwKKyAgICBXZWJDb3JlOjpDb29raWVDb25zZW50RGVj
aXNpb25SZXN1bHQ6OkRpc3NlbnQKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRv
citDb29raWVDb25zZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNl
bnQvTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1MjkwYzVmZGU4NTkz
OGMzOGYwOGMwNTA2MjI3ZmI5NzY4ZGE1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50LmlkbApA
QCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9Q29v
a2llQ29uc2VudEFQSUVuYWJsZWQsCisgICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JDb29raWVD
b25zZW50LAorXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIFByb21pc2U8Ym9v
bGVhbj4gcmVxdWVzdENvb2tpZUNvbnNlbnQob3B0aW9uYWwgUmVxdWVzdENvb2tpZUNvbnNlbnRP
cHRpb25zIG9wdGlvbnMpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y29va2llLWNvbnNlbnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZkZjQwMjA4MTA1NDc0ZTdjZGM2Y2FiYjM1ODM4ZDJiZjRhZTBkNzcKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRv
ckNvb2tpZUNvbnNlbnQuY3BwCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29va2llQ29uc2VudC5oIgorCisjaW5j
bHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCisjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVk
ZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJlcXVlc3RDb29r
aWVDb25zZW50T3B0aW9ucy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgTmF2aWdh
dG9yQ29va2llQ29uc2VudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQoTmF2aWdhdG9yJiBuYXZpZ2F0
b3IsIHN0ZDo6b3B0aW9uYWw8UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zPiYmIG9wdGlvbnMs
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBmcm9tKG5hdmlnYXRvciku
cmVxdWVzdENvb2tpZUNvbnNlbnQoV1RGTW92ZShvcHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSk7
Cit9CisKK3ZvaWQgTmF2aWdhdG9yQ29va2llQ29uc2VudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQo
c3RkOjpvcHRpb25hbDxSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM+JiYgb3B0aW9ucywgUmVm
PERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRo
ZSAnTW9yZSBpbmZvJyBvcHRpb24uCisgICAgVU5VU0VEX1BBUkFNKG9wdGlvbnMpOworCisgICAg
UmVmUHRyIGZyYW1lID0gbV9uYXZpZ2F0b3IuZnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lIHx8ICFm
cmFtZS0+aXNNYWluRnJhbWUoKSB8fCAhZnJhbWUtPnBhZ2UoKSkgeworICAgICAgICBwcm9taXNl
LT5yZWplY3QoTm90QWxsb3dlZEVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGZyYW1lLT5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RDb29raWVDb25zZW50KFtw
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCBy
ZXN1bHQpIHsKKyAgICAgICAgc3dpdGNoIChyZXN1bHQpIHsKKyAgICAgICAgY2FzZSBDb29raWVD
b25zZW50RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZDoKKyAgICAgICAgICAgIHByb21pc2Ut
PnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6OkNvbnNlbnQ6CisgICAgICAgICAgICBw
cm9taXNlLT5yZXNvbHZlPElETEJvb2xlYW4+KHRydWUpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpEaXNzZW50OgorICAgICAg
ICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExCb29sZWFuPihmYWxzZSk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgIH0pOworfQorCitOYXZpZ2F0b3JDb29raWVDb25zZW50JiBO
YXZpZ2F0b3JDb29raWVDb25zZW50Ojpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAg
IGlmIChhdXRvIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JDb29raWVDb25zZW50
Kj4oU3VwcGxlbWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1l
KCkpKSkKKyAgICAgICAgcmV0dXJuICpzdXBwbGVtZW50OworCisgICAgYXV0byBuZXdTdXBwbGVt
ZW50ID0gbWFrZVVuaXF1ZTxOYXZpZ2F0b3JDb29raWVDb25zZW50PihuYXZpZ2F0b3IpOworICAg
IGF1dG8gc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgcHJvdmlkZVRvKCZu
YXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAg
IHJldHVybiAqc3VwcGxlbWVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29r
aWVDb25zZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmln
YXRvckNvb2tpZUNvbnNlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2Y3NzNmNDA2ZTEzNGM3YWE2NDEyOGM4
Y2MxYjE3N2VkZjIzMjE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmgKQEAgLTAsMCArMSw1OCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUu
aCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIERlZmVycmVkUHJvbWlzZTsKK2NsYXNzIE5hdmlnYXRvcjsKK3N0cnVjdCBSZXF1ZXN0Q29v
a2llQ29uc2VudE9wdGlvbnM7CisKK2NsYXNzIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQgZmluYWwg
OiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOYXZpZ2F0b3JDb29raWVDb25zZW50KE5hdmln
YXRvciYgbmF2aWdhdG9yKQorICAgICAgICA6IG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKKyAgICB7
CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoTmF2aWdhdG9y
Jiwgc3RkOjpvcHRpb25hbDxSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM+JiYsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYpOworCitwcml2YXRlOgorICAgIHN0YXRpYyBOYXZpZ2F0b3JDb29raWVD
b25zZW50JiBmcm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVt
ZW50TmFtZSgpIHsgcmV0dXJuICJOYXZpZ2F0b3JDb29raWVDb25zZW50IjsgfQorCisgICAgdm9p
ZCByZXF1ZXN0Q29va2llQ29uc2VudChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RDb29raWVDb25zZW50
T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKKyAgICBOYXZpZ2F0b3ImIG1f
bmF2aWdhdG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9w
dGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENv
b2tpZUNvbnNlbnRPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFlMzkxNjVjZmFmNTZkOTgzZTI3ODlh
MGIyY2IyMmU1ZjJhZGQ0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmgKQEAgLTAsMCAr
MSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiVm9pZENhbGxi
YWNrLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitzdHJ1Y3QgUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zIHsKKyAgICBSZWZQdHI8Vm9p
ZENhbGxiYWNrPiBtb3JlSW5mbzsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tp
ZUNvbnNlbnRPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNl
bnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGM3NTU2Nzkx
MTQ1OTRjNGRjZDAxZjdkYWM2MDk3MWM3ZDg2ZjAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlv
bnMuaWRsCkBAIC0wLDAgKzEsMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5IFJlcXVlc3RD
b29raWVDb25zZW50T3B0aW9ucyB7CisgICAgVm9pZENhbGxiYWNrPyBtb3JlSW5mbzsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CmluZGV4IDVjMDNiNTI0NDliZDQ3ZWUxM2ViOWZkNjUzOTI4M2RkZWJjMjgyZWEu
LjFjMDg5ZjA4ZjZlZjQ0MDk5NmExOGFkNWIyNDY5NmExZGZlZjUxYTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CkBAIC02OCw2ICs2OCw3IEBAIE1vZHVsZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29w
ZUNhY2hlcy5jcHAKIE1vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5j
cHAKIE1vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNNYW5hZ2VyLmNwcAogTW9kdWxlcy9j
b250YWN0LXBpY2tlci9OYXZpZ2F0b3JDb250YWN0cy5jcHAKK01vZHVsZXMvY29va2llLWNvbnNl
bnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAKIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1l
bnQvQmFzaWNDcmVkZW50aWFsLmNwcAogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVk
ZW50aWFsc0NvbnRhaW5lci5jcHAKIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdh
dG9yQ3JlZGVudGlhbHMuY3BwCkBAIC0zNjcxLDYgKzM2NzIsNyBAQCBKU1JlbW90ZURPTVdpbmRv
dy5jcHAKIEpTUmVtb3RlUGxheWJhY2suY3BwCiBKU1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5
Q2FsbGJhY2suY3BwCiBKU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmNwcAorSlNSZXF1
ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuY3BwCiBKU1Jlc2l6ZU9ic2VydmVyLmNwcAogSlNSZXNp
emVPYnNlcnZlckJveE9wdGlvbnMuY3BwCiBKU1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2suY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMzU2OTMyMGQzYTBlZWE3YTI0NjlmN2Y5ZTEwZDljZDE0ZmZjNWQxOS4uMTZlMzc4MTkzODIy
ZTI0MDNmNzE2YzIzMDc1ODA2ZGUxZjJmYWIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ0Niw2ICs1NDQ2LDkgQEAKIAkJ
RjM0NEM3NTMxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNDRDNzUy
MTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjNBQkZFMEMxMzBF
OURBMDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJ
bnN0cnVtZW50aW5nQWdlbnRzLmggKi87IH07CiAJCUYzRDQ2MTQ5MTE2MUQ1MzIwMENBMEQwOSAv
KiBKU0Vycm9ySGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggKi87
IH07CisJCUY0MDM0RjlEMjc1QzQ3ODkwMDNBODFGOCAvKiBDb29raWVDb25zZW50RGVjaXNpb25S
ZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0
MDM0RjlDMjc1QzQ3ODMwMDNBODFGOCAvKiBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNDAzNEZB
QzI3NUVBRDZFMDAzQTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEY4RjI3NUMxNjg2
MDAzQTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggKi87IH07CisJCUY0MDM0
RkFFMjc1RUFENzYwMDNBODFGOCAvKiBOYXZpZ2F0b3JDb29raWVDb25zZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEY4RDI3NUMwODdCMDAz
QTgxRjggLyogTmF2aWdhdG9yQ29va2llQ29uc2VudC5oICovOyB9OwogCQlGNDAzRTc4NzIzNjNC
NThDMDAwNDQ1NTAgLyogRW50ZXJLZXlIaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzRTc4NTIzNjNCNThDMDAwNDQ1NTAgLyogRW50ZXJLZXlI
aW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RjQwREFBRUMyNUQ5RjI1RTAwMTFCNEZBIC8qIFBhc3RlYm9hcmRDb250ZXh0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDBEQUFFQjI1RDlGMjVFMDAx
MUI0RkEgLyogUGFzdGVib2FyZENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDBEQUFFRjI1RDlGM0JGMDAxMUI0RkEgLyogUGFnZVBh
c3RlYm9hcmRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNDBEQUFFRTI1RDlGM0JGMDAxMUI0RkEgLyogUGFnZVBhc3RlYm9hcmRDb250ZXh0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE3
NTg5LDYgKzE3NTkyLDEyIEBACiAJCUYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVt
ZW50aW5nQWdlbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3RydW1l
bnRpbmdBZ2VudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjNENDYxNDYxMTYx
RDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RjhDMjc1QzA4N0IwMDNBODFGOCAvKiBOYXZpZ2F0
b3JDb29raWVDb25zZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IE5hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwOyBwYXRoID0gImNvb2tpZS1jb25zZW50L05hdmln
YXRvckNvb2tpZUNvbnNlbnQuY3BwIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQw
MzRGOEQyNzVDMDg3QjAwM0E4MUY4IC8qIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmF2aWdhdG9yQ29va2llQ29uc2VudC5oOyBwYXRo
ID0gImNvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RjhFMjc1QzA4N0MwMDNBODFGOCAvKiBOYXZpZ2F0b3Ir
Q29va2llQ29uc2VudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gIk5hdmlnYXRvcitDb29r
aWVDb25zZW50LmlkbCI7IHBhdGggPSAiY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNv
bnNlbnQuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRGOEYyNzVDMTY4
NjAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaDsgcGF0aCA9ICJjb29raWUtY29uc2VudC9S
ZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUY0MDM0RjkxMjc1QzE2ODYwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlv
bnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbmFtZSA9IFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGw7IHBhdGggPSAiY29v
a2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbCI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RjlDMjc1QzQ3ODMwMDNBODFGOCAvKiBDb29raWVDb25z
ZW50RGVjaXNpb25SZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ29va2llQ29uc2VudERlY2lzaW9u
UmVzdWx0Lmg7IHBhdGggPSAiY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVz
dWx0LmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDAzRTc4NTIzNjNCNThDMDAw
NDQ1NTAgLyogRW50ZXJLZXlIaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVudGVyS2V5SGludC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDAzRTc4NjIzNjNCNThDMDAwNDQ1NTAgLyog
RW50ZXJLZXlIaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVudGVyS2V5SGludC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MERBQUVCMjVEOUYyNUUwMDExQjRGQSAvKiBQ
YXN0ZWJvYXJkQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXN0ZWJvYXJkQ29udGV4dC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU4MDIsNiArMjU4MTEsNyBAQAogCQkJCTgz
MjE1MDc5MUYyN0U5NkIwMDk1QjEzNiAvKiBiZWFjb24gKi8sCiAJCQkJNDEzODBDMUUxRjM0MzY2
MDAwMTU1RkRBIC8qIGNhY2hlICovLAogCQkJCUU1OTZERDIzMjUxOTAyRDYwMEMyNzVBNyAvKiBj
b250YWN0LXBpY2tlciAqLywKKwkJCQlGNDAzNEY4QjI3NUMwODY3MDAzQTgxRjggLyogY29va2ll
LWNvbnNlbnQgKi8sCiAJCQkJNTdDN0E2ODgxRTU2OTQ2RDAwQzY3RDcxIC8qIGNyZWRlbnRpYWxt
YW5hZ2VtZW50ICovLAogCQkJCUNEQTk4REJEMTYwMTRFMDgwMEZFQTNCMSAvKiBlbmNyeXB0ZWRt
ZWRpYSAqLywKIAkJCQk4M0ZCMzM2NTFGNTA4QTE3MDA5ODZFNTQgLyogZW50cmllc2FwaSAqLywK
QEAgLTMxMjA3LDYgKzMxMjE3LDE5IEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKIAkJfTsKKwkJRjQwMzRGOEIyNzVDMDg2NzAwM0E4MUY4IC8qIGNvb2tpZS1j
b25zZW50ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlG
NDAzNEY5QzI3NUM0NzgzMDAzQTgxRjggLyogQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0Lmgg
Ki8sCisJCQkJRjQwMzRGOEUyNzVDMDg3QzAwM0E4MUY4IC8qIE5hdmlnYXRvcitDb29raWVDb25z
ZW50LmlkbCAqLywKKwkJCQlGNDAzNEY4QzI3NUMwODdCMDAzQTgxRjggLyogTmF2aWdhdG9yQ29v
a2llQ29uc2VudC5jcHAgKi8sCisJCQkJRjQwMzRGOEQyNzVDMDg3QjAwM0E4MUY4IC8qIE5hdmln
YXRvckNvb2tpZUNvbnNlbnQuaCAqLywKKwkJCQlGNDAzNEY4RjI3NUMxNjg2MDAzQTgxRjggLyog
UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggKi8sCisJCQkJRjQwMzRGOTEyNzVDMTY4NjAw
M0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGwgKi8sCisJCQkpOworCQkJ
bmFtZSA9ICJjb29raWUtY29uc2VudCI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OwogCQlGNDQwRTc2OTIzM0Q5MzYyMDA2M0Y5QUIgLyogQ2xpcGJvYXJkICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTMzNTkwLDYgKzMzNjEzLDcgQEAKIAkJ
CQlGRDMxNjAyOTEyQjAyNjc2MDBDMUEzNTkgLyogQ29udm9sdmVyTm9kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODNGMjhDMDAyNERCMURFMTAwNUJBNkY2IC8qIENvbnZvbHZlck9wdGlvbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUQ4QjYxNTJGMTAzMjQ5NTEwMEM4NTU0QSAvKiBDb29raWUuaCBp
biBIZWFkZXJzICovLAorCQkJCUY0MDM0RjlEMjc1QzQ3ODkwMDNBODFGOCAvKiBDb29raWVDb25z
ZW50RGVjaXNpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0Qzk0MTY0QjUyQzgw
MEYzMkQ0MCAvKiBDb29raWVKYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNTY5OTcwMjA4NkM2
MTkwMDBFMDQzMyAvKiBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzNEMDIxMkQxMzFEQjM3QjAwNDA5MUE4IC8qIENvb2tpZVN0b3JhZ2UuaCBpbiBI
ZWFkZXJzICovLApAQCAtMzYwMjMsNiArMzYwNDcsNyBAQAogCQkJCTgzMjE1MDdFMUYyN0VBMUIw
MDk1QjEzNiAvKiBOYXZpZ2F0b3JCZWFjb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUY0NDBFNzdB
MjMzRDk0RDcwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUU1OTZERDI5MjUxOTAzRDIwMEMyNzVBNyAvKiBOYXZpZ2F0b3JDb250YWN0cy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRjQwMzRGQUUyNzVFQUQ3NjAwM0E4MUY4IC8qIE5hdmlnYXRvckNvb2tp
ZUNvbnNlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3MkQzRTU3MjE2NTc4QUUwMEM1RTAyMSAv
KiBOYXZpZ2F0b3JDcmVkZW50aWFscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcxMTQ2MDQxNEVG
MDA5QTAwNjc0RkQ5IC8qIE5hdmlnYXRvckdlb2xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk2QjUwN0EyNDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdhdG9ySXNMb2dnZWRJbi5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zNjU5Nyw2ICszNjYyMiw3IEBACiAJCQkJMDcxQzAwMzQyNzA3RDk1NTAw
RDAyN0M3IC8qIFJlcGxheUtpdENhcHR1cmVTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2
REQ2RTFGMjZFN0RCRTcwMDhDMUY0QyAvKiBSZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDk5OEFFQzYxM0Y5RDBFQTAwOTBCMUFBIC8qIFJlcXVlc3RBbmltYXRp
b25GcmFtZUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDAzNEZBQzI3NUVBRDZFMDAz
QTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGNTVCM0REMDEyNTFGMTJEMDAzRUYyNjkgLyogUmVzZXRJbnB1dFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTU4QjJGOUY0MjIzMkQ0NTMwMDkzOEQ2MyAvKiBSZXNpemVPYnNlcnZhdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNThCMkY5RjUyMjMyRDQ1ODAwOTM4RDYzIC8qIFJlc2l6ZU9i
c2VydmVyLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4
IDBmOGQ1YzVlNGJkZjRhYmIyNTQ5Y2UxNjllNTE3ZTRiNDIyYTM3OTIuLjI1YzNhOTgwMjVhODQw
NjE5YWU3NWY0NWNmZDgwYzcyZjdmYWRkMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRl
ICJBdXRvcGxheUV2ZW50LmgiCiAjaW5jbHVkZSAiQ29udGFjdEluZm8uaCIKKyNpbmNsdWRlICJD
b29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCIKICNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNs
dWRlICJEYXRhYmFzZURldGFpbHMuaCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbk9yTW90
aW9uUGVybWlzc2lvblN0YXRlLmgiCkBAIC02MTksNiArNjIwLDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBhYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkgeyB9CiAjZW5kaWYKIAorICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlvbikgeyBjb21wbGV0aW9u
KENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkKTsgfQorCiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKaW5kZXggNjYyYThkNTM0ODBjMjI4ZmM5
ODU4MjljMWY4NzFjYzVkMDNmMjk2MS4uMjAxNmNiNDhkZDM4ZTE5NTI3MTU3OGM4NjEwM2Y0Y2Jj
YzY1MTQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKQEAg
LTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJXZWJFdmVudC5oIgogI2luY2x1ZGUgIldlYkhpdFRl
c3RSZXN1bHREYXRhLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9Db29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zs
b2F0UmVjdC5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogCkBAIC0xNDQs
NiArMTQ1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjaGVja1VzZXJNZWRpYVBlcm1p
c3Npb25Gb3JPcmlnaW4oV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJv
eHkmLCBTZWN1cml0eU9yaWdpbiYsIFNlY3VyaXR5T3JpZ2luJiwgV2ViS2l0OjpVc2VyTWVkaWFQ
ZXJtaXNzaW9uQ2hlY2tQcm94eSYgcmVxdWVzdCkgeyByZXF1ZXN0LmRlbnkoKTsgfQogICAgIHZp
cnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFNlY3VyaXR5T3JpZ2luJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sIGFsbG93ZWQpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5k
bGVyKGZhbHNlKTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2Vzc0NvbmZp
cm0oV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBjb25zdCBX
ZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYgcmVxdWVzdGluZ0RvbWFpbiwgY29uc3QgV2ViQ29y
ZTo6UmVnaXN0cmFibGVEb21haW4mIGN1cnJlbnREb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkKTsgfQogCiAgICAgLy8gUHJpbnRpbmcuCiAgICAgdmly
dHVhbCBmbG9hdCBoZWFkZXJIZWlnaHQoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6Oldl
YkZyYW1lUHJveHkmKSB7IHJldHVybiAwOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCA0YTJmNTBlYzg3
NGVkZTgzNmJhNzVkMTgyMzE0MjVjNWRjZDNlZmRjLi43NTgxNzY5M2VkNWMyNWNlZWY1MWJmN2Iy
MWNjOGI2YjAzMTRjNzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTE3Nyw2ICsxNzcsOCBAQCBzdHJ1
Y3QgVUlFZGdlSW5zZXRzOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBz
dGFydFhSU2Vzc2lvbldpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQpKWNvbXBsZXRp
b25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CiAtICh2
b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3ROb3RpZmljYXRpb25QZXJt
aXNzaW9uRm9yU2VjdXJpdHlPcmlnaW46KFdLU2VjdXJpdHlPcmlnaW4gKilzZWN1cml0eU9yaWdp
biBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWRlY2lzaW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpLCBpb3MoV0tfSU9TX1RCQSkpOwogCistICh2b2lkKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJ
bmZvSGFuZGxlcjoodm9pZCAoXikodm9pZCkpbW9yZUluZm9IYW5kbGVyIGRlY2lzaW9uSGFuZGxl
cjoodm9pZCAoXikoQk9PTCkpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
MTAuMTMuNCksIGlvcyhXS19JT1NfVEJBKSk7CisKICNpZiBUQVJHRVRfT1NfSVBIT05FCiAKIC0g
KEJPT0wpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2hvdWxkSW5jbHVkZUFwcExpbmtB
Y3Rpb25zRm9yRWxlbWVudDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50IFdLX0FQ
SV9BVkFJTEFCTEUoaW9zKDkuMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvVUlEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5oCmluZGV4IGZmMjI3NTc1MDM3Njg0MWJjNWY5YTM2ZjMzMWQ4YTQ3ODJiNGY4ZDku
LmZkYWFhMWViNzEzMGZkNjhkYTFmYTg3NDAzNDM0MjZiNDUxY2QyODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBwcml2
YXRlOgogICAgICAgICBib29sIHRha2VGb2N1cyhXZWJQYWdlUHJveHkqLCBXS0ZvY3VzRGlyZWN0
aW9uKSBmaW5hbDsKICAgICAgICAgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdlYlBhZ2VQcm94
eSYsIFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQsIE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2
ZW50RmxhZ3M+KSBmaW5hbDsKICAgICAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdChXZWJQYWdlUHJveHkmLCBBUEk6OlNlY3VyaXR5T3JpZ2luJiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIGFsbG93ZWQpPiYmKSBmaW5hbDsKKyAgICAgICAg
dm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6
OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYpIGZpbmFsOwogCiAjaWYgUExBVEZPUk0o
TUFDKQogICAgICAgICB2b2lkIHNob3dQYWdlKFdlYlBhZ2VQcm94eSopIGZpbmFsOwpAQCAtMjcw
LDYgKzI3MSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgd2ViVmlld1N0YXJ0WFJTZXNzaW9u
V2l0aENvbXBsZXRpb25IYW5kbGVyIDogMTsKICNlbmRpZgogICAgICAgICBib29sIHdlYlZpZXdS
ZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbkZvclNlY3VyaXR5T3JpZ2luRGVjaXNpb25IYW5k
bGVyIDogMTsKKyAgICAgICAgYm9vbCB3ZWJWaWV3UmVxdWVzdENvb2tpZUNvbnNlbnRXaXRoTW9y
ZUluZm9IYW5kbGVyRGVjaXNpb25IYW5kbGVyIDogMTsKICAgICB9IG1fZGVsZWdhdGVNZXRob2Rz
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5k
ZXggMTMxNjA3ODI2NjcyYWFhOTgyYmJlNDE4ZTVkNTI5NTgyYzJjMmRiMS4uYTQ3OTM3ZmVjOTkx
MzEyOGQwYmJjNGE1YjU0ZTA5NjYxODk0MzY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLm1tCkBAIC0xOTcsNiArMTk3LDcgQEAgdm9pZCBVSURlbGVnYXRl
OjpzZXREZWxlZ2F0ZShpZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICAgICBtX2RlbGVnYXRl
TWV0aG9kcy53ZWJWaWV3U3RhcnRYUlNlc3Npb25XaXRoQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpzdGFydFhSU2Vzc2lv
bldpdGhDb21wbGV0aW9uSGFuZGxlcjopXTsKICNlbmRpZgogICAgIG1fZGVsZWdhdGVNZXRob2Rz
LndlYlZpZXdSZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbkZvclNlY3VyaXR5T3JpZ2luRGVj
aXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dl
YlZpZXc6cmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb25Gb3JTZWN1cml0eU9yaWdpbjpkZWNp
c2lvbkhhbmRsZXI6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1JlcXVlc3RDb29r
aWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlckRlY2lzaW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJlcXVlc3RDb29raWVDb25zZW50
V2l0aE1vcmVJbmZvSGFuZGxlcjpkZWNpc2lvbkhhbmRsZXI6KV07CiB9CiAKICNpZiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKQEAgLTY0MSw2ICs2NDIsMjQgQEAgdm9pZCBVSURlbGVnYXRlOjpVSUNs
aWVudDo6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0
OjoKICAgICB9KS5nZXQoKV07CiB9CiAKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJlcXVl
c3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2llQ29u
c2VudERlY2lzaW9uUmVzdWx0KT4mJiBjb21wbGV0aW9uKQoreworICAgIGlmICghbV91aURlbGVn
YXRlKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbihXZWJDb3JlOjpDb29raWVDb25zZW50RGVj
aXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7CisKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS0+bV9k
ZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1JlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFu
ZGxlckRlY2lzaW9uSGFuZGxlcikKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb24oV2ViQ29yZTo6
Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOworCisgICAgYXV0byBk
ZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS0+bV9kZWxlZ2F0ZS5nZXQoKTsKKyAgICBpZiAoIWRlbGVn
YXRlKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbihXZWJDb3JlOjpDb29raWVDb25zZW50RGVj
aXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7CisKKyAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQg
Zm9yIHRoZSAnbW9yZSBpbmZvJyBoYW5kbGVyLgorICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZh
dGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS0+bV93ZWJWaWV3LmdldCgpLmdldCgp
IHJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjpuaWwgZGVjaXNpb25IYW5k
bGVyOm1ha2VCbG9ja1B0cihbY29tcGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChCT09M
IGRlY2lzaW9uKSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbihkZWNpc2lvbiA/IFdlYkNv
cmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Q29uc2VudCA6IFdlYkNvcmU6OkNvb2tp
ZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6RGlzc2VudCk7CisgICAgfSkuZ2V0KCldOworfQorCiAj
aWYgUExBVEZPUk0oTUFDKQogYm9vbCBVSURlbGVnYXRlOjpVSUNsaWVudDo6Y2FuUnVuTW9kYWwo
KSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
NjJkNGIwY2JhMDUxZWQwZmJmYTJiNDJiZmViY2Y0YmQyZmNiNGVmNi4uNGY5MGI1ZTJlODJjODE4
MTY1ZTNkMzMxM2M2N2JiOTU1ZmVkYzFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC0xMTAwNyw2ICsxMTAwNywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
Y2xlYXJBcHBQcml2YWN5UmVwb3J0VGVzdGluZ0RhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RDb29raWVDb25zZW50
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJiBj
b21wbGV0aW9uKQoreworICAgIG1fdWlDbGllbnQtPnJlcXVlc3RDb29raWVDb25zZW50KFdURk1v
dmUoY29tcGxldGlvbikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFdF
QlBBR0VQUk9YWV9SRUxFQVNFX0xPRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCA1YTgzMmU1NWFjYmExODliMzliOWU4OTdjYzFjYTE4YjdiNDg0NTU1Li5mMmE1MzY0
NzgzMTkwYTcyNGJkMzkwMDkyMzk2MmZhMzM0NGY2N2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtMjY1LDYgKzI2NSw3IEBAIGNsYXNzIFRleHRJbmRpY2F0b3I7
CiBjbGFzcyBWYWxpZGF0aW9uQnViYmxlOwogCiBlbnVtIGNsYXNzIEF1dG9wbGF5RXZlbnQgOiB1
aW50OF90OworZW51bSBjbGFzcyBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQgOiB1aW50OF90
OwogZW51bSBjbGFzcyBDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCA6IGJvb2w7CiBlbnVtIGNs
YXNzIERPTVBhc3RlQWNjZXNzUmVzcG9uc2UgOiB1aW50OF90OwogZW51bSBjbGFzcyBFdmVudE1h
a2VzR2FtZXBhZHNWaXNpYmxlIDogYm9vbDsKQEAgLTIwMzAsNiArMjAzMSw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3Rp
ZmljYXRpb25JRHMpOwogICAgIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbih1aW50NjRfdCBu
b3RpZmljYXRpb25JRCk7CiAKKyAgICB2b2lkIHJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJik7
CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmLCBXZWJQcm9jZXNzUHJv
eHkmLCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUlu
aXRpYWxpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgppbmRleCAwODc3OGFlNjU0NDhiZWNhODAwYjQwZmQzMjgzOGNkMjNlZDc4Yjkz
Li5kNTYzNmEzYTYyYzdhZjg0ZDcyZDQ5OGFmZGFlMWYzMmI4ZjRiNTU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC02MTYsNCAr
NjE2LDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBTdGFydEFwcGxlUGF5QU1T
VUlTZXNzaW9uKFVSTCBvcmlnaW5hdGluZ1VSTCwgc3RydWN0IFdlYkNvcmU6OkFwcGxlUGF5QU1T
VUlSZXF1ZXN0IHJlcXVlc3QpIC0+IChzdGQ6Om9wdGlvbmFsPGJvb2w+IHJlc3VsdCkgQXN5bmMK
ICAgICBBYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkKICNlbmRpZgorCisgICAgUmVxdWVzdENv
b2tpZUNvbnNlbnQoKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdCByZXN1bHQpIEFzeW5jCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDNm
Mjg2MmNmYjY3Y2YxZDJlZmZmNzM0MDE2NmJkNDViNTUyYjVhNGQuLjEzODI0ZmYxNmJlMWY1NTJk
ZTk4MDBmZDNiNjY5YzhkZGI3MzliN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xNTU5
LDQgKzE1NTksOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6YWJvcnRBcHBsZVBheUFNU1VJU2Vz
c2lvbigpCiAKICNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKIAordm9pZCBXZWJD
aHJvbWVDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
V2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJiBjb21wbGV0aW9uKQorewor
ICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVx
dWVzdENvb2tpZUNvbnNlbnQoKSwgV1RGTW92ZShjb21wbGV0aW9uKSk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGQwMmVkZjFiMmRjZDllYzllNWZj
ZmIyODUzNmUxODY5ZDZjNjQ2YjQuLmNiMjE0NzBhMTBkYzQ1MzQ0OWEyMWMzNzVlNjgzZWRlZmMy
YWUxYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEhUTUxJbWFnZUVsZW1lbnQ7CiBjbGFzcyBSZWdpc3RyYWJsZURvbWFp
bjsKK2VudW0gY2xhc3MgQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0IDogdWludDhfdDsKIGVu
dW0gY2xhc3MgU3RvcmFnZUFjY2Vzc1Byb21wdFdhc1Nob3duIDogYm9vbDsKIGVudW0gY2xhc3Mg
U3RvcmFnZUFjY2Vzc1dhc0dyYW50ZWQgOiBib29sOwogfQpAQCAtNDYyLDYgKzQ2Myw4IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBhYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkgZmluYWw7CiAjZW5k
aWYKIAorICAgIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmKSBmaW5hbDsKKwogICAg
IG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFtZUhhc0hvcml6b250YWxTY3JvbGxiYXIgeyBm
YWxzZSB9OwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFtZUhhc1ZlcnRpY2FsU2Ny
b2xsYmFyIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IGRlYWJmZmJmYjRlODk2ZDJlOWY5NjBmZDk4ZDA1MDhjZmVlNDM5NmYu
LmJkMzljOGUwYjhjYmM1Y2IwZmVmYzllNTJjOWNjMDJmMTYwNWQwZGEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAy
MS0xMi0wNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgYG5hdmlnYXRvci5yZXF1ZXN0Q29va2llQ29uc2VudCgpYCBiZWhp
bmQgYSBkaXNhYmxlZCBmZWF0dXJlIGZsYWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMzg5MAorICAgICAgICByZGFyOi8vODYxMTc3MTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2V2ZXJhbCBu
ZXcgQVBJIHRlc3RzIHRoYXQgZW5hYmxlIHRoZSBmZWF0dXJlIGZsYWcgYW5kIGV4ZXJjaXNlIHRo
ZSBBUEkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9D
b29raWVDb25zZW50Lm1tOiBBZGRlZC4KKyAgICAgICAgKC1bQ29va2llQ29uc2VudERlbGVnYXRl
IF93ZWJWaWV3OnJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjpkZWNpc2lv
bkhhbmRsZXI6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpjcmVhdGVXZWJWaWV3Rm9yVGVz
dGluZ0Nvb2tpZUNvbnNlbnQpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6Y2hlY2tGb3JTdHJp
bmcpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbDogQWRkZWQuCisKIDIw
MjEtMTItMDYgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBH
UFUgUHJvY2VzcyBmZWF0dXJlIGZsYWdzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUyNmZl
NTBkZWY4YmY3MmYwYzc1NWY5NTJmMWRmMTNiNWFjZWM2MjguLjVjNzQyYzYzMDEwNmU0ODZkMDUy
NDgwNjhiN2RkN2ViMzZlZGUyMTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05OTYsNiAr
OTk2LDggQEAKIAkJRjQwMTBCODAyNERBMjRBQzAwQTg3NkUyIC8qIE5hdmlnYXRpb25Td2lwZVRl
c3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQw
MTBCN0YyNERBMjRBQzAwQTg3NkUyIC8qIE5hdmlnYXRpb25Td2lwZVRlc3RzLm1tICovOyB9Owog
CQlGNDAxMEI4MzI0REEyNjdGMDBBODc2RTIgLyogUG9zZUFzQ2xhc3MubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAxMEI4MTI0REEyNjdGMDBBODc2
RTIgLyogUG9zZUFzQ2xhc3MubW0gKi87IH07CiAJCUY0MDJGNTZDMjNFQ0MyRkIwMDg2NTU0OSAv
KiBVSVdLSW50ZXJhY3Rpb25WaWV3UHJvdG9jb2wubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAyRjU2QjIzRUNDMkZCMDA4NjU1NDkgLyogVUlXS0lu
dGVyYWN0aW9uVmlld1Byb3RvY29sLm1tICovOyB9OworCQlGNDAzNEZBMTI3NUQ1NDAyMDAzQTgx
RjggLyogQ29va2llQ29uc2VudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0MDM0RkEwMjc1RDU0MDIwMDNBODFGOCAvKiBDb29raWVDb25zZW50Lm1t
ICovOyB9OworCQlGNDAzNEZBMzI3NUQ1QUM2MDAzQTgxRjggLyogY29va2llLWNvbnNlbnQtYmFz
aWMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNDAzNEZBMjI3NUQ1NDQ5MDAzQTgxRjggLyogY29va2llLWNvbnNlbnQtYmFzaWMuaHRt
bCAqLzsgfTsKIAkJRjQwN0ZFMzkxRjFEMERGQzAwMTdDRjI1IC8qIGVub3Jtb3VzLnN2ZyBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDA3RkUz
ODFGMUQwREU2MDAxN0NGMjUgLyogZW5vcm1vdXMuc3ZnICovOyB9OwogCQlGNDA5NENDNzI1NTQ1
QkQ1MDAzRDczRTMgLyogRGlzcGxheUxpc3RUZXN0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDA5NENDNjI1NTQ1QkQ1MDAzRDczRTMgLyogRGlz
cGxheUxpc3RUZXN0cy5jcHAgKi87IH07CiAJCUY0MTUwODZEMURBMDQwQzUwMDQ0QkU5QiAvKiBw
bGF5LWF1ZGlvLW9uLWNsaWNrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjQxNTA4NkMxREEwNDBDMTAwNDRCRTlCIC8qIHBsYXktYXVk
aW8tb24tY2xpY2suaHRtbCAqLzsgfTsKQEAgLTEyNjQsNiArMTI2Niw3IEBACiAJCQkJQTEzRDFB
RDYyNEFENDY4RjAwM0Y5MkE4IC8qIGNvbnRleHQtbWVudS1jb250cm9sLWNsaWNrLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTE0MkIyNzMxNTE3QzhDODAwQzMyQjE5IC8qIENvbnRl
eHRNZW51Q2FuQ29weVVSTC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUNEMEJEMEE4
MUY3OTk4MkQwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAorCQkJCUY0MDM0RkEzMjc1RDVBQzYwMDNBODFGOCAvKiBjb29raWUtY29u
c2VudC1iYXNpYy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTVDMjkzNjk2MUQ1QzAw
RUQwMERFQUIxRSAvKiBDb29raWVNZXNzYWdlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJ
CQkJOUIxRjZGNzkxRjkwNTU5RTAwQjU1NzQ0IC8qIGNvcHktaHRtbC5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovLAogCQkJCTlCNjI2MzBDMUY4QzI1QzgwMDdFRTI5QiAvKiBjb3B5LXVybC5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMjkyMyw2ICsyOTI2LDggQEAKIAkJRjQwMTBCODEy
NERBMjY3RjAwQTg3NkUyIC8qIFBvc2VBc0NsYXNzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBuYW1lID0gUG9zZUFzQ2xhc3MubW07IHBhdGggPSAuLi9UZXN0UnVubmVyU2hh
cmVkL2NvY29hL1Bvc2VBc0NsYXNzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
NDAxMEI4MjI0REEyNjdGMDBBODc2RTIgLyogUG9zZUFzQ2xhc3MuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gUG9zZUFzQ2xhc3MuaDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFy
ZWQvY29jb2EvUG9zZUFzQ2xhc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQw
MkY1NkIyM0VDQzJGQjAwODY1NTQ5IC8qIFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbC5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRGQTAyNzVENTQwMjAwM0E4MUY4IC8qIENv
b2tpZUNvbnNlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDb29raWVDb25zZW50Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEZBMjI3NUQ1NDQ5MDAzQTgxRjggLyog
Y29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJjb29raWUtY29uc2VudC1iYXNp
Yy5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwN0ZFMzgxRjFEMERFNjAw
MTdDRjI1IC8qIGVub3Jtb3VzLnN2ZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBlbm9ybW91cy5zdmc7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY0MDk0Q0M2MjU1NDVCRDUwMDNENzNFMyAvKiBEaXNwbGF5TGlzdFRl
c3RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlMaXN0VGVzdHMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGNDEwNkM2ODIxQUNCRjg0MDA0Qjg5QTEgLyogV0tXZWJW
aWV3Rmlyc3RSZXNwb25kZXJUZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLV2ViVmll
d0ZpcnN0UmVzcG9uZGVyVGVzdHMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0z
MjcwLDYgKzMyNzUsNyBAQAogCQkJCUMxRjdCNzM4MjQ0OTA4M0YwMDEyNDU1NyAvKiBBR1hDb21w
aWxlclNlcnZpY2UubW0gKi8sCiAJCQkJQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2ts
aWdodExldmVsTm90aWZpY2F0aW9uLm1tICovLAogCQkJCUMxNjkyREM5MjNEMTBEQUUwMDZFODhG
NyAvKiBCYXR0ZXJ5Lm1tICovLAorCQkJCUY0MDM0RkEwMjc1RDU0MDIwMDNBODFGOCAvKiBDb29r
aWVDb25zZW50Lm1tICovLAogCQkJCUMxM0Q4MkQ4MjQxNkYxMzIwMEE2Mjc5MyAvKiBFbmFibGVB
Y2Nlc3NpYmlsaXR5Lm1tICovLAogCQkJCTFDODE4MDI2MjVGQjA5RTIwMDYwOEIzRSAvKiBGb250
UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gKi8sCiAJCQkJRTM5NEFFNkUyM0YyMzAzRTAwNUI0OTM2
IC8qIEdyYW50QWNjZXNzVG9Nb2JpbGVBc3NldHMubW0gKi8sCkBAIC00NTkxLDYgKzQ1OTcsNyBA
QAogCQkJCTFBNTBBQTFGMUEyQTRFQTUwMEY0QzM0NSAvKiBjbG9zZS1mcm9tLXdpdGhpbi1jcmVh
dGUtcGFnZS5odG1sICovLAogCQkJCTlCMjcwRkVEMUREQzI1RkQwMDJENTNGMyAvKiBjbG9zZWQt
c2hhZG93LXRyZWUtdGVzdC5odG1sICovLAogCQkJCTVDOUU1Njg2MURGOTE0OEUwMEM5RUUzMyAv
KiBjb250ZW50QmxvY2tlckNoZWNrLmh0bWwgKi8sCisJCQkJRjQwMzRGQTIyNzVENTQ0OTAwM0E4
MUY4IC8qIGNvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwgKi8sCiAJCQkJMkRERDREQTMyNzBCOEIz
MzAwNjU5QTYxIC8qIGN1YmUudXNkeiAqLywKIAkJCQkyOTBGNDI3NDE3MkExRkRFMDA5MzlGRjAg
LyogY3VzdG9tLXByb3RvY29sLXN5bmMteGhyLmh0bWwgKi8sCiAJCQkJMTE4MTUzNDMyMjA4QjdB
QzAwQjJDQ0QyIC8qIGRlZmVycmVkLXNjcmlwdC1sb2FkLmh0bWwgKi8sCkBAIC01NDA1LDYgKzU0
MTIsNyBAQAogCQkJCTgzNDlEM0MyMURCOTZEREUwMDRBOUY2NSAvKiBDb250ZXh0TWVudURvd25s
b2FkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QwQkQwQTYxRjc5OTI0RDAwMUFCMkNGIC8qIENv
bnRleHRNZW51SW1nV2l0aFZpZGVvLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFDMTQyQzIyNEFB
N0IyRTAwNDQ0MjA3IC8qIENvbnRleHRNZW51TW91c2VFdmVudHMubW0gaW4gU291cmNlcyAqLywK
KwkJCQlGNDAzNEZBMTI3NUQ1NDAyMDAzQTgxRjggLyogQ29va2llQ29uc2VudC5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDQ0U3RUFDMUE0MTFBMzQwMDQ0N0M0QyAvKiBDb3VudGVycy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3QUVBRDQ3RjFFMjAxMTZDMDA0MTZFRkUgLyogQ3Jvc3NQYXJ0aXRp
b25GaWxlU2NoZW1lQWNjZXNzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFREIxQTQxMUE5
MjAwNDQ3QzRDIC8qIENTU1BhcnNlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Nvb2tpZUNvbnNlbnQubW0gYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Db29raWVDb25zZW50Lm1tCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJk
YTBkZTkwZWM3ZDIyZjc0MDI5NmJkYTM4MWVmMTQ3ZWIxZDg1NWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Db29raWVDb25zZW50Lm1tCkBAIC0w
LDAgKzEsMTAyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpbXBvcnQg
IlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5o
PgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdFByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tJ
bnRlcm5hbERlYnVnRmVhdHVyZS5oPgorCitAaW50ZXJmYWNlIENvb2tpZUNvbnNlbnREZWxlZ2F0
ZSA6IE5TT2JqZWN0PFdLVUlEZWxlZ2F0ZVByaXZhdGU+CitAcHJvcGVydHkgKG5vbmF0b21pYykg
Qk9PTCBkZWNpc2lvbjsKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIENvb2tpZUNvbnNlbnREZWxl
Z2F0ZQorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RDb29r
aWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjoodm9pZCAoXikodm9pZCkpbW9yZUluZm9IYW5k
bGVyIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpZGVjaXNpb25IYW5kbGVyCit7Cisg
ICAgZGVjaXNpb25IYW5kbGVyKHNlbGYuZGVjaXNpb24pOworfQorCitAZW5kCisKK25hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJIHsKKworc3RhdGljIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiBjcmVh
dGVXZWJWaWV3Rm9yVGVzdGluZ0Nvb2tpZUNvbnNlbnQoKQoreworICAgIGF1dG8gY29uZmlndXJh
dGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Cisg
ICAgZm9yIChfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqZmVhdHVyZSBpbiBXS1ByZWZlcmVuY2Vz
Ll9pbnRlcm5hbERlYnVnRmVhdHVyZXMpIHsKKyAgICAgICAgaWYgKFtmZWF0dXJlLmtleSBpc0Vx
dWFsVG9TdHJpbmc6QCJDb29raWVDb25zZW50QVBJRW5hYmxlZCJdKSB7CisgICAgICAgICAgICBb
W2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JJbnRlcm5hbERl
YnVnRmVhdHVyZTpmZWF0dXJlXTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAg
fQorICAgIHJldHVybiBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpDR1JlY3RNYWtlKDAsIDAsIDQwMCwgNDAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24u
Z2V0KCldKTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tGb3JTdHJpbmcoVGVzdFdLV2ViVmlldyAq
d2ViVmlldywgTlNTdHJpbmcgKmV4cGVjdGVkU3RyaW5nKQoreworICAgIGF1dG8gY29udGVudHNB
c1N0cmluZyA9IFJldGFpblB0ciB7IHdlYlZpZXcuY29udGVudHNBc1N0cmluZyB9OworICAgIEJP
T0wgY29udGFpbnNTdHJpbmcgPSBbY29udGVudHNBc1N0cmluZyBjb250YWluc1N0cmluZzpleHBl
Y3RlZFN0cmluZ107CisgICAgRVhQRUNUX1RSVUUoY29udGFpbnNTdHJpbmcpOworICAgIGlmICgh
Y29udGFpbnNTdHJpbmcpCisgICAgICAgIE5TTG9nKEAiRXhwZWN0ZWQ6IFwiJUBcIiB0byBjb250
YWluOiBcIiVAXCIiLCBjb250ZW50c0FzU3RyaW5nLmdldCgpLCBleHBlY3RlZFN0cmluZyk7Cit9
CisKK1RFU1QoQ29va2llQ29uc2VudCwgQmFzaWNEZWNpc2lvbkhhbmRsZXIpCit7CisgICAgYXV0
byB3ZWJWaWV3ID0gY3JlYXRlV2ViVmlld0ZvclRlc3RpbmdDb29raWVDb25zZW50KCk7CisgICAg
YXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tDb29raWVDb25zZW50RGVsZWdhdGUgYWxsb2NdIGlu
aXRdKTsKKyAgICBbZGVsZWdhdGUgc2V0RGVjaXNpb246WUVTXTsKKyAgICBbd2ViVmlldyBzZXRV
SURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9h
ZFRlc3RQYWdlTmFtZWQ6QCJjb29raWUtY29uc2VudC1iYXNpYyJdOworICAgIFt3ZWJWaWV3IHdh
aXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBjaGVja0ZvclN0cmluZyh3ZWJWaWV3
LmdldCgpLCBAInJldHVybmVkOiB0cnVlIik7CisKKyAgICBbZGVsZWdhdGUgc2V0RGVjaXNpb246
Tk9dOworICAgIFt3ZWJWaWV3IF9raWxsV2ViQ29udGVudFByb2Nlc3NBbmRSZXNldFN0YXRlXTsK
KyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJjb29raWUtY29u
c2VudC1iYXNpYyJdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRl
XTsKKyAgICBjaGVja0ZvclN0cmluZyh3ZWJWaWV3LmdldCgpLCBAInJldHVybmVkOiBmYWxzZSIp
OworfQorCitURVNUKENvb2tpZUNvbnNlbnQsIE5vdEVuYWJsZWQpCit7CisgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0
TWFrZSgwLCAwLCA0MDAsIDQwMCldKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRl
c3RQYWdlTmFtZWQ6QCJjb29raWUtY29uc2VudC1iYXNpYyJdOworICAgIFt3ZWJWaWV3IHdhaXRG
b3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBjaGVja0ZvclN0cmluZyh3ZWJWaWV3Lmdl
dCgpLCBAIm5vdCBlbmFibGVkIik7Cit9CisKK1RFU1QoQ29va2llQ29uc2VudCwgVGhyb3dzRXhj
ZXB0aW9uV2l0aG91dERlbGVnYXRlKQoreworICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdlYlZp
ZXdGb3JUZXN0aW5nQ29va2llQ29uc2VudCgpOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlM
b2FkVGVzdFBhZ2VOYW1lZDpAImNvb2tpZS1jb25zZW50LWJhc2ljIl07CisgICAgW3dlYlZpZXcg
d2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworICAgIGNoZWNrRm9yU3RyaW5nKHdlYlZp
ZXcuZ2V0KCksIEAidGhyZXcgZXhjZXB0aW9uOiBOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJh
dGlvbiBpcyBub3Qgc3VwcG9ydGVkIik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2Nvb2tpZS1j
b25zZW50LWJhc2ljLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9jb29r
aWUtY29uc2VudC1iYXNpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2YTgzYWM0MzRhMmFjN2QwNTFmMWI1
ZjZkM2E3MWMyZjEyZGFiZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9jb29raWUtY29uc2VudC1iYXNpYy5odG1sCkBAIC0wLDAgKzEsMjcgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8aGVhZD4KKzxzY3JpcHQ+CithZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVk
IiwgYXN5bmMgKCkgPT4geworICAgIGNvbnN0IG91dHB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJvdXRwdXQiKTsKKyAgICBpZiAoIW5hdmlnYXRvci5yZXF1ZXN0Q29va2llQ29uc2VudCkg
eworICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAibm90IGVuYWJsZWQiOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgbGV0IGNvbnNlbnQgPSBhd2FpdCBu
YXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKTsKKyAgICAgICAgb3V0cHV0LnRleHRDb250
ZW50ID0gYHJldHVybmVkOiAke2NvbnNlbnR9YDsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAg
IG91dHB1dC50ZXh0Q29udGVudCA9IGB0aHJldyBleGNlcHRpb246ICR7ZX1gOworICAgIH0KK30p
OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwcmU+bmF2aWdhdG9yLnJlcXVlc3RDb29r
aWVDb25zZW50KCk8L3ByZT4KKzxwcmU+4oaqJm5ic3A7PGNvZGUgaWQ9Im91dHB1dCI+PC9jb2Rl
PjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446072</attachid>
            <date>2021-12-06 12:53:55 -0800</date>
            <delta_ts>2021-12-06 13:47:07 -0800</delta_ts>
            <desc>Fix macOS SPI availability</desc>
            <filename>bug-233890-20211206125354.patch</filename>
            <type>text/plain</type>
            <size>56402</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDhhOGRhNDgxMTA4YzlmNDdjMDZjOWM5
ZjFiMjRlMWE2NTM1NTIzZTguLmExYjI1MmIyODZmNWYyY2NjN2RkMjZmNzE3YTEzNDNhMGY2MWE0
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3Iu
cmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAg
ICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmVhdHVyZSBmbGFnIChvZmYgYnkgZGVmYXVsdCku
IE5vdGUgdGhhdCB0aGlzIGlzIGFsc28gb25seSBhbiBpbnRlcm5hbCBmZWF0dXJlIGZsYWcgZm9y
IHRoZSB0aW1lCisgICAgICAgIGJlaW5nIChyYXRoZXIgdGhhbiBhbiBleHBlcmltZW50YWwgZmVh
dHVyZSBmbGFnKSwgc3VjaCB0aGF0IGl0IGNhbm5vdCAoeWV0KSBiZSB0dXJuZWQgb24gYnkgbm9u
LUFwcGxlIGludGVybmFsCisgICAgICAgIHVzZXJzLgorCisgICAgICAgICogU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWw6CisKIDIwMjEtMTItMDYgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBBZGQgYSB3YXkgdG8gcnVuIHNjcmlwdGVkIGFuaW1hdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MDU0
MmY0N2M0ZmNiOTljZjI2M2I0Mzk5Mzc4ZDY3ZjY5NjIwMmY1Li4zMDA2OTQxZWZlMzEwZTk4YTdl
ZGNkM2FkNjI3YjBjNjM3OGQxYzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjEt
MTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5k
IGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRv
IHN1cHBvcnQgYSBuZXcgKGludGVybmFsLWZvci10aGUtdGltZS1iZWluZykgbmF2aWdhdG9yIEFQ
SSwgYHJlcXVlc3RDb29raWVDb25zZW50KClgLiBUaGlzCisgICAgICAgIHJldHVybnMgYSBwcm9t
aXNlIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIHVzZXIgKG9yIHRoZSBVQSwgb24gYmVo
YWxmIG9mIHRoZSB1c2VyKSBjb25zZW50cyB0byB1c2FnZSBvZgorICAgICAgICBjb29raWVzIHRo
YXQgYXJlIG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgZm9yIHBhZ2UgcGVyZm9ybWFuY2UuCisKKyAg
ICAgICAgUGFpcmVkIHdpdGggdGhpcyB3ZWItZmFjaW5nIEFQSSwgd2UgYWxzbyBpbnRyb2R1Y2Ug
Y29ycmVzcG9uZGluZyBwcml2YXRlIFdLVUlEZWxlZ2F0ZSBtZXRob2RzIHRoYXQgYXJlIGludm9r
ZWQKKyAgICAgICAgYXMgYSByZXN1bHQgb2YgY2FsbGluZyBgbmF2aWdhdG9yLnJlcXVlc3RDb29r
aWVDb25zZW50KCk7YCwgd2hpY2ggYSBXZWJLaXQgZW1iZWRkZXIgbWF5IGltcGxlbWVudCBpbiBv
cmRlciB0bworICAgICAgICBwcmVzZW50IFVJIG9yIG90aGVyd2lzZSByZXNwb25kIGFwcHJvcHJp
YXRlbHkgdG8gdGhlIHJlcXVlc3QuIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFp
bHMuCisKKyAgICAgICAgVGVzdHM6ICBDb29raWVDb25zZW50LkJhc2ljRGVjaXNpb25IYW5kbGVy
CisgICAgICAgICAgICAgICAgQ29va2llQ29uc2VudC5Ob3RFbmFibGVkCisgICAgICAgICAgICAg
ICAgQ29va2llQ29uc2VudC5UaHJvd3NFeGNlcHRpb25XaXRob3V0RGVsZWdhdGUKKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0
Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nv
b2tpZUNvbnNlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Nvb2tpZS1jb25zZW50
L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwOiBBZGRlZC4KKworICAgICAgICBBZGQgYSBuZXcg
cGFydGlhbCBpbnRlcmZhY2Ugb24gTmF2aWdhdG9yIHRoYXQgaW1wbGVtZW50cyB0aGUgbmV3IEFQ
SSBieSBjYWxsaW5nIGludG8gdGhlIGNocm9tZSBjbGllbnQgaG9vayAoc2VlCisgICAgICAgIFdl
YktpdCBjaGFuZ2VzIGZvciBtb3JlIGRldGFpbHMpLiBOb3RlIHRoYXQgaW4gdGhlIGNhc2Ugd2hl
cmUgdGhlIGNvbnNlbnQgZGVsZWdhdGUgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBieQorICAg
ICAgICB0aGUgY2xpZW50LCB3ZSB3aWxsIHJlamVjdCB0aGUgcHJvbWlzZSB3aXRoIGEgYE5vdFN1
cHBvcnRlZEVycm9yYC4KKworICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29va2llQ29uc2Vu
dDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29v
a2llQ29uc2VudDo6ZnJvbSk6CisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZp
Z2F0b3JDb29raWVDb25zZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNv
bnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1v
ZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KToKKwogMjAyMS0x
Mi0wNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCBhZGQgc29tZSBtaXNzaW5nICNpbmNsdWRlcyBpbiBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDJiNzEzYWYwZTExNWMxNWVlMDBjNTFiM2JiZmVjNTRhZTAyYjZkNWIuLmZmOWQwNzhlYmFk
YjY5ODE5NGQ0NGI0ODViMWNlMDc1Njg1NzEyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAK
KzIwMjEtMTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAg
YmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBsdW1i
aW5nIGZvciBhbiBhc3luYyBgcmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgbWV0aG9kIG9uIENocm9t
ZUNsaWVudCB0aGF0IHBsdW1icyB0aHJvdWdoIHRoZSBXZWJLaXQyIGNsaWVudAorICAgICAgICBs
YXllciwgaW50byBhIG5ldyBwcml2YXRlIChmb3IgdGhlIHRpbWUgYmVpbmcpIFVJIGRlbGVnYXRl
IG1ldGhvZC4gSWYgdGhlIG5ldyBkZWxlZ2F0ZSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkCisg
ICAgICAgIChvciB0aGVyZSBpcyBubyBVSSBkZWxlZ2F0ZSBhdCBhbGwpLCB3ZSBpbW1lZGlhdGVs
eSBpbnZva2UgdGhlIGRlY2lzaW9uIGhhbmRsZXIgd2l0aCBhIHJlc3VsdCBvZiBgTm90U3VwcG9y
dGVkYCwKKyAgICAgICAgYWxsb3dpbmcgdXMgdG8gcmVqZWN0IHRoZSBwcm9taXNlIHdpdGggYSBg
Tm90U3VwcG9ydGVkRXJyb3JgLgorCisgICAgICAgIFNlZSBXZWJDb3JlIENoYW5nZUxvZyBmb3Ig
bW9yZSBkZXRhaWxzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oOgor
ICAgICAgICAoQVBJOjpVSUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJ
RGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OnNldERlbGVnYXRlKToK
KyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJlcXVlc3RDb29raWVDb25z
ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0Q29va2llQ29uc2VudCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnJlcXVlc3RD
b29raWVDb25zZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorCiAyMDIxLTEyLTA2ICBNYXR0IEdpbGxpZ2FuICA8bWF0dGhld19naWxs
aWdhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQWxsb3cgV0tXZWJWaWV3IGNsaWVudHMg
dG8gb3ZlcnJpZGUgdW5kb01hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwgYi9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IDAzYmI0YWUz
MDFlNTllYWZhN2QyYjU2YmJmYjBhNTM5YTgzMDA4YzUuLmUxYmFmZmMzNzg0MjhkYWFmYWYyYThh
MjU5Yzc1YzViMTJjMWZjYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMTc2LDYgKzE3Niwx
OSBAQCBDYXB0dXJlVmlkZW9JblVJUHJvY2Vzc0VuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAg
ZGVmYXVsdDogZmFsc2UKIAorQ29va2llQ29uc2VudEFQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wK
KyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDb29raWUgQ29uc2VudCBBUEkiCisgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIkVuYWJsZSBjb29raWUgY29uc2VudCBBUEkiCisgIGV4cG9zZWQ6IFsg
V2ViS2l0IF0KKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0
OgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogRE9NUGFzdGVBY2Nlc3NSZXF1ZXN0c0VuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJET00gUGFzdGUgQWNjZXNzIFJl
cXVlc3RzIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3NjI0MzI0ZDk1ZDY5NDE5ZmMwMzJjNzg2
ZmZiYjM3Yzc2N2FhMTJjLi5kNDQ5ZGU4YjAwYWI1NDdlNjhjODU4ZWZlZGNiYTUzMGE5NWEwZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjcsNiArMjcsNyBAQCBzZXQoV2ViQ29yZV9QUklW
QVRFX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9iZWFj
b24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY2FjaGUiCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvY29udGFjdC1waWNrZXIiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
Y29va2llLWNvbnNlbnQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY3JlZGVudGlhbG1h
bmFnZW1lbnQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEiCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5IgpAQCAtMjU2
LDYgKzI1Nyw5IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9j
b250YWN0LXBpY2tlci9Db250YWN0c1NlbGVjdE9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy9jb250
YWN0LXBpY2tlci9OYXZpZ2F0b3IrQ29udGFjdHMuaWRsCiAKKyAgICBNb2R1bGVzL2Nvb2tpZS1j
b25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50LmlkbAorICAgIE1vZHVsZXMvY29va2llLWNv
bnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbAorCiAgICAgTW9kdWxlcy9jcmVk
ZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCiAgICAgTW9kdWxlcy9jcmVkZW50
aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbAogICAgIE1vZHVsZXMv
Y3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggNGZmOGUz
ZjIwYjJjYmNmMTc4NmFlODgzMTdiNTFhYWQ3NjNhYTczNy4uZWNkN2FlNThkNzEwMWEzODY1NjNj
ZTJmYzIzOTVkYTY0ZTcxM2M1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yMzIsNiArMjMyLDggQEAgJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0UHJvcGVydHkuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdlci5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNTZWxlY3RPcHRpb25zLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9jb250YWN0LXBpY2tlci9OYXZpZ2F0b3IrQ29udGFjdHMuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25z
ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29v
a2llQ29uc2VudE9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NyZWRlbnRpYWxt
YW5hZ2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY3Jl
ZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRp
b25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdAppbmRleCBkMjdmNmU0NjYwZWI2YmI4ZDVkOGQwNDBlMTZjNzFjZDc5Yzk2MmQxLi45OTZj
YmRlMjExNmVlZTIyODg0ODQ4ZTE0ZTFlNTgxNmE4MTdkZjNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTY0Nyw2ICsxNjQ3LDgg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0
b3IrQ2xpcGJvYXJkLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOYXZpZ2F0b3IrQ2xpcGJvYXJkLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK0NvbnRhY3RzLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ29udGFjdHMuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3Ir
Q29va2llQ29uc2VudC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ3JlZGVudGlhbHMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitDcmVk
ZW50aWFscy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvcitFTUUuY3BwCkBAIC0yMDg5LDYgKzIwOTEsOCBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5
Q2FsbGJhYwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
ZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2su
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JlcXVl
c3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXF1ZXN0Q29va2llQ29u
c2VudE9wdGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNSZXNpemVPYnNlcnZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUmVzaXplT2JzZXJ2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXNpemVPYnNlcnZlckJveE9wdGlvbnMuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhNGZmNDUxZjJmMTMwZGM2ZTEyNzZhNjUxYzNm
YjdhOTEyMjk5OWZkLi4zM2JkNmUwMGRjOGI2MmYxZGExYzBjOTUwY2I5MjhiMjg3YTZmZjFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1NCw2ICsyNTQsOCBAQCBKU19CSU5E
SU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250
YWN0c01hbmFnZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY29udGFjdC1waWNrZXIv
Q29udGFjdHNTZWxlY3RPcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NvbnRh
Y3QtcGlja2VyL05hdmlnYXRvcitDb250YWN0cy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGwgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWND
cmVkZW50aWFsLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2Vt
ZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZQppbmRleCBhMTIyNDAyYWMwY2JiNDVkNmYxZDc3ODc4YzEzMjg2MDllNzY4
MjI0Li41NDMxMzMxNzNkZDYyMTI4Mjc4YmI5NjJmNjZkZDdlYmFjNDI3NDk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKQEAgLTE1Myw2ICsxNTMsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09S
S19IRUFERVJTCiAgICAgTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0UHJvcGVydHkuaAog
ICAgIE1vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNSZXF1ZXN0RGF0YS5oCiAKKyAgICBN
b2R1bGVzL2Nvb2tpZS1jb25zZW50L0Nvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oCisKICAg
ICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETUNsaWVudC5oCiAgICAgTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNsaWVudC5oCiAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN5c3RlbUNvbnRyb2xsZXIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jb29raWUtY29uc2VudC9Db29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9u
UmVzdWx0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMzNjQxMjgxY2RiZjE2M2U3MjA0MTFjOGM0M2I2NjViYjA2
ZTAzZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNv
bnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmgKQEAgLTAsMCArMSw1MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIENvb2tpZUNvbnNlbnREZWNpc2lvblJl
c3VsdCA6IHVpbnQ4X3QgeworICAgIE5vdFN1cHBvcnRlZCwKKyAgICBDb25zZW50LAorICAgIERp
c3NlbnQsCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgewor
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgV2ViQ29y
ZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LAorICAgIFdlYkNvcmU6OkNvb2tpZUNvbnNl
bnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkLAorICAgIFdlYkNvcmU6OkNvb2tpZUNvbnNl
bnREZWNpc2lvblJlc3VsdDo6Q29uc2VudCwKKyAgICBXZWJDb3JlOjpDb29raWVDb25zZW50RGVj
aXNpb25SZXN1bHQ6OkRpc3NlbnQKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRv
citDb29raWVDb25zZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNl
bnQvTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1MjkwYzVmZGU4NTkz
OGMzOGYwOGMwNTA2MjI3ZmI5NzY4ZGE1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50LmlkbApA
QCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9Q29v
a2llQ29uc2VudEFQSUVuYWJsZWQsCisgICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JDb29raWVD
b25zZW50LAorXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIFByb21pc2U8Ym9v
bGVhbj4gcmVxdWVzdENvb2tpZUNvbnNlbnQob3B0aW9uYWwgUmVxdWVzdENvb2tpZUNvbnNlbnRP
cHRpb25zIG9wdGlvbnMpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y29va2llLWNvbnNlbnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZkZjQwMjA4MTA1NDc0ZTdjZGM2Y2FiYjM1ODM4ZDJiZjRhZTBkNzcKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRv
ckNvb2tpZUNvbnNlbnQuY3BwCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29va2llQ29uc2VudC5oIgorCisjaW5j
bHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCisjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVk
ZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJlcXVlc3RDb29r
aWVDb25zZW50T3B0aW9ucy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgTmF2aWdh
dG9yQ29va2llQ29uc2VudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQoTmF2aWdhdG9yJiBuYXZpZ2F0
b3IsIHN0ZDo6b3B0aW9uYWw8UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zPiYmIG9wdGlvbnMs
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBmcm9tKG5hdmlnYXRvciku
cmVxdWVzdENvb2tpZUNvbnNlbnQoV1RGTW92ZShvcHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSk7
Cit9CisKK3ZvaWQgTmF2aWdhdG9yQ29va2llQ29uc2VudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQo
c3RkOjpvcHRpb25hbDxSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM+JiYgb3B0aW9ucywgUmVm
PERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRo
ZSAnTW9yZSBpbmZvJyBvcHRpb24uCisgICAgVU5VU0VEX1BBUkFNKG9wdGlvbnMpOworCisgICAg
UmVmUHRyIGZyYW1lID0gbV9uYXZpZ2F0b3IuZnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lIHx8ICFm
cmFtZS0+aXNNYWluRnJhbWUoKSB8fCAhZnJhbWUtPnBhZ2UoKSkgeworICAgICAgICBwcm9taXNl
LT5yZWplY3QoTm90QWxsb3dlZEVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGZyYW1lLT5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RDb29raWVDb25zZW50KFtw
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCBy
ZXN1bHQpIHsKKyAgICAgICAgc3dpdGNoIChyZXN1bHQpIHsKKyAgICAgICAgY2FzZSBDb29raWVD
b25zZW50RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZDoKKyAgICAgICAgICAgIHByb21pc2Ut
PnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6OkNvbnNlbnQ6CisgICAgICAgICAgICBw
cm9taXNlLT5yZXNvbHZlPElETEJvb2xlYW4+KHRydWUpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpEaXNzZW50OgorICAgICAg
ICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExCb29sZWFuPihmYWxzZSk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgIH0pOworfQorCitOYXZpZ2F0b3JDb29raWVDb25zZW50JiBO
YXZpZ2F0b3JDb29raWVDb25zZW50Ojpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAg
IGlmIChhdXRvIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JDb29raWVDb25zZW50
Kj4oU3VwcGxlbWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1l
KCkpKSkKKyAgICAgICAgcmV0dXJuICpzdXBwbGVtZW50OworCisgICAgYXV0byBuZXdTdXBwbGVt
ZW50ID0gbWFrZVVuaXF1ZTxOYXZpZ2F0b3JDb29raWVDb25zZW50PihuYXZpZ2F0b3IpOworICAg
IGF1dG8gc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgcHJvdmlkZVRvKCZu
YXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAg
IHJldHVybiAqc3VwcGxlbWVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29r
aWVDb25zZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmln
YXRvckNvb2tpZUNvbnNlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2Y3NzNmNDA2ZTEzNGM3YWE2NDEyOGM4
Y2MxYjE3N2VkZjIzMjE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmgKQEAgLTAsMCArMSw1OCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUu
aCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIERlZmVycmVkUHJvbWlzZTsKK2NsYXNzIE5hdmlnYXRvcjsKK3N0cnVjdCBSZXF1ZXN0Q29v
a2llQ29uc2VudE9wdGlvbnM7CisKK2NsYXNzIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQgZmluYWwg
OiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOYXZpZ2F0b3JDb29raWVDb25zZW50KE5hdmln
YXRvciYgbmF2aWdhdG9yKQorICAgICAgICA6IG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKKyAgICB7
CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoTmF2aWdhdG9y
Jiwgc3RkOjpvcHRpb25hbDxSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM+JiYsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYpOworCitwcml2YXRlOgorICAgIHN0YXRpYyBOYXZpZ2F0b3JDb29raWVD
b25zZW50JiBmcm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVt
ZW50TmFtZSgpIHsgcmV0dXJuICJOYXZpZ2F0b3JDb29raWVDb25zZW50IjsgfQorCisgICAgdm9p
ZCByZXF1ZXN0Q29va2llQ29uc2VudChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RDb29raWVDb25zZW50
T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKKyAgICBOYXZpZ2F0b3ImIG1f
bmF2aWdhdG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9w
dGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENv
b2tpZUNvbnNlbnRPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFlMzkxNjVjZmFmNTZkOTgzZTI3ODlh
MGIyY2IyMmU1ZjJhZGQ0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmgKQEAgLTAsMCAr
MSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiVm9pZENhbGxi
YWNrLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitzdHJ1Y3QgUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zIHsKKyAgICBSZWZQdHI8Vm9p
ZENhbGxiYWNrPiBtb3JlSW5mbzsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tp
ZUNvbnNlbnRPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNl
bnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGM3NTU2Nzkx
MTQ1OTRjNGRjZDAxZjdkYWM2MDk3MWM3ZDg2ZjAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlv
bnMuaWRsCkBAIC0wLDAgKzEsMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5IFJlcXVlc3RD
b29raWVDb25zZW50T3B0aW9ucyB7CisgICAgVm9pZENhbGxiYWNrPyBtb3JlSW5mbzsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CmluZGV4IDVjMDNiNTI0NDliZDQ3ZWUxM2ViOWZkNjUzOTI4M2RkZWJjMjgyZWEu
LjFjMDg5ZjA4ZjZlZjQ0MDk5NmExOGFkNWIyNDY5NmExZGZlZjUxYTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CkBAIC02OCw2ICs2OCw3IEBAIE1vZHVsZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29w
ZUNhY2hlcy5jcHAKIE1vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5j
cHAKIE1vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNNYW5hZ2VyLmNwcAogTW9kdWxlcy9j
b250YWN0LXBpY2tlci9OYXZpZ2F0b3JDb250YWN0cy5jcHAKK01vZHVsZXMvY29va2llLWNvbnNl
bnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAKIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1l
bnQvQmFzaWNDcmVkZW50aWFsLmNwcAogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVk
ZW50aWFsc0NvbnRhaW5lci5jcHAKIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdh
dG9yQ3JlZGVudGlhbHMuY3BwCkBAIC0zNjcxLDYgKzM2NzIsNyBAQCBKU1JlbW90ZURPTVdpbmRv
dy5jcHAKIEpTUmVtb3RlUGxheWJhY2suY3BwCiBKU1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5
Q2FsbGJhY2suY3BwCiBKU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmNwcAorSlNSZXF1
ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuY3BwCiBKU1Jlc2l6ZU9ic2VydmVyLmNwcAogSlNSZXNp
emVPYnNlcnZlckJveE9wdGlvbnMuY3BwCiBKU1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2suY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMzU2OTMyMGQzYTBlZWE3YTI0NjlmN2Y5ZTEwZDljZDE0ZmZjNWQxOS4uMTZlMzc4MTkzODIy
ZTI0MDNmNzE2YzIzMDc1ODA2ZGUxZjJmYWIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ0Niw2ICs1NDQ2LDkgQEAKIAkJ
RjM0NEM3NTMxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNDRDNzUy
MTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjNBQkZFMEMxMzBF
OURBMDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJ
bnN0cnVtZW50aW5nQWdlbnRzLmggKi87IH07CiAJCUYzRDQ2MTQ5MTE2MUQ1MzIwMENBMEQwOSAv
KiBKU0Vycm9ySGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggKi87
IH07CisJCUY0MDM0RjlEMjc1QzQ3ODkwMDNBODFGOCAvKiBDb29raWVDb25zZW50RGVjaXNpb25S
ZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0
MDM0RjlDMjc1QzQ3ODMwMDNBODFGOCAvKiBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNDAzNEZB
QzI3NUVBRDZFMDAzQTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEY4RjI3NUMxNjg2
MDAzQTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggKi87IH07CisJCUY0MDM0
RkFFMjc1RUFENzYwMDNBODFGOCAvKiBOYXZpZ2F0b3JDb29raWVDb25zZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEY4RDI3NUMwODdCMDAz
QTgxRjggLyogTmF2aWdhdG9yQ29va2llQ29uc2VudC5oICovOyB9OwogCQlGNDAzRTc4NzIzNjNC
NThDMDAwNDQ1NTAgLyogRW50ZXJLZXlIaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzRTc4NTIzNjNCNThDMDAwNDQ1NTAgLyogRW50ZXJLZXlI
aW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RjQwREFBRUMyNUQ5RjI1RTAwMTFCNEZBIC8qIFBhc3RlYm9hcmRDb250ZXh0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDBEQUFFQjI1RDlGMjVFMDAx
MUI0RkEgLyogUGFzdGVib2FyZENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDBEQUFFRjI1RDlGM0JGMDAxMUI0RkEgLyogUGFnZVBh
c3RlYm9hcmRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNDBEQUFFRTI1RDlGM0JGMDAxMUI0RkEgLyogUGFnZVBhc3RlYm9hcmRDb250ZXh0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE3
NTg5LDYgKzE3NTkyLDEyIEBACiAJCUYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVt
ZW50aW5nQWdlbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3RydW1l
bnRpbmdBZ2VudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjNENDYxNDYxMTYx
RDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RjhDMjc1QzA4N0IwMDNBODFGOCAvKiBOYXZpZ2F0
b3JDb29raWVDb25zZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IE5hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwOyBwYXRoID0gImNvb2tpZS1jb25zZW50L05hdmln
YXRvckNvb2tpZUNvbnNlbnQuY3BwIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQw
MzRGOEQyNzVDMDg3QjAwM0E4MUY4IC8qIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmF2aWdhdG9yQ29va2llQ29uc2VudC5oOyBwYXRo
ID0gImNvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RjhFMjc1QzA4N0MwMDNBODFGOCAvKiBOYXZpZ2F0b3Ir
Q29va2llQ29uc2VudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gIk5hdmlnYXRvcitDb29r
aWVDb25zZW50LmlkbCI7IHBhdGggPSAiY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNv
bnNlbnQuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRGOEYyNzVDMTY4
NjAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaDsgcGF0aCA9ICJjb29raWUtY29uc2VudC9S
ZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUY0MDM0RjkxMjc1QzE2ODYwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlv
bnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbmFtZSA9IFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGw7IHBhdGggPSAiY29v
a2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbCI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RjlDMjc1QzQ3ODMwMDNBODFGOCAvKiBDb29raWVDb25z
ZW50RGVjaXNpb25SZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ29va2llQ29uc2VudERlY2lzaW9u
UmVzdWx0Lmg7IHBhdGggPSAiY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVz
dWx0LmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDAzRTc4NTIzNjNCNThDMDAw
NDQ1NTAgLyogRW50ZXJLZXlIaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVudGVyS2V5SGludC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDAzRTc4NjIzNjNCNThDMDAwNDQ1NTAgLyog
RW50ZXJLZXlIaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVudGVyS2V5SGludC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MERBQUVCMjVEOUYyNUUwMDExQjRGQSAvKiBQ
YXN0ZWJvYXJkQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXN0ZWJvYXJkQ29udGV4dC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU4MDIsNiArMjU4MTEsNyBAQAogCQkJCTgz
MjE1MDc5MUYyN0U5NkIwMDk1QjEzNiAvKiBiZWFjb24gKi8sCiAJCQkJNDEzODBDMUUxRjM0MzY2
MDAwMTU1RkRBIC8qIGNhY2hlICovLAogCQkJCUU1OTZERDIzMjUxOTAyRDYwMEMyNzVBNyAvKiBj
b250YWN0LXBpY2tlciAqLywKKwkJCQlGNDAzNEY4QjI3NUMwODY3MDAzQTgxRjggLyogY29va2ll
LWNvbnNlbnQgKi8sCiAJCQkJNTdDN0E2ODgxRTU2OTQ2RDAwQzY3RDcxIC8qIGNyZWRlbnRpYWxt
YW5hZ2VtZW50ICovLAogCQkJCUNEQTk4REJEMTYwMTRFMDgwMEZFQTNCMSAvKiBlbmNyeXB0ZWRt
ZWRpYSAqLywKIAkJCQk4M0ZCMzM2NTFGNTA4QTE3MDA5ODZFNTQgLyogZW50cmllc2FwaSAqLywK
QEAgLTMxMjA3LDYgKzMxMjE3LDE5IEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKIAkJfTsKKwkJRjQwMzRGOEIyNzVDMDg2NzAwM0E4MUY4IC8qIGNvb2tpZS1j
b25zZW50ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlG
NDAzNEY5QzI3NUM0NzgzMDAzQTgxRjggLyogQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0Lmgg
Ki8sCisJCQkJRjQwMzRGOEUyNzVDMDg3QzAwM0E4MUY4IC8qIE5hdmlnYXRvcitDb29raWVDb25z
ZW50LmlkbCAqLywKKwkJCQlGNDAzNEY4QzI3NUMwODdCMDAzQTgxRjggLyogTmF2aWdhdG9yQ29v
a2llQ29uc2VudC5jcHAgKi8sCisJCQkJRjQwMzRGOEQyNzVDMDg3QjAwM0E4MUY4IC8qIE5hdmln
YXRvckNvb2tpZUNvbnNlbnQuaCAqLywKKwkJCQlGNDAzNEY4RjI3NUMxNjg2MDAzQTgxRjggLyog
UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggKi8sCisJCQkJRjQwMzRGOTEyNzVDMTY4NjAw
M0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGwgKi8sCisJCQkpOworCQkJ
bmFtZSA9ICJjb29raWUtY29uc2VudCI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OwogCQlGNDQwRTc2OTIzM0Q5MzYyMDA2M0Y5QUIgLyogQ2xpcGJvYXJkICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTMzNTkwLDYgKzMzNjEzLDcgQEAKIAkJ
CQlGRDMxNjAyOTEyQjAyNjc2MDBDMUEzNTkgLyogQ29udm9sdmVyTm9kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODNGMjhDMDAyNERCMURFMTAwNUJBNkY2IC8qIENvbnZvbHZlck9wdGlvbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUQ4QjYxNTJGMTAzMjQ5NTEwMEM4NTU0QSAvKiBDb29raWUuaCBp
biBIZWFkZXJzICovLAorCQkJCUY0MDM0RjlEMjc1QzQ3ODkwMDNBODFGOCAvKiBDb29raWVDb25z
ZW50RGVjaXNpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0Qzk0MTY0QjUyQzgw
MEYzMkQ0MCAvKiBDb29raWVKYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNTY5OTcwMjA4NkM2
MTkwMDBFMDQzMyAvKiBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzNEMDIxMkQxMzFEQjM3QjAwNDA5MUE4IC8qIENvb2tpZVN0b3JhZ2UuaCBpbiBI
ZWFkZXJzICovLApAQCAtMzYwMjMsNiArMzYwNDcsNyBAQAogCQkJCTgzMjE1MDdFMUYyN0VBMUIw
MDk1QjEzNiAvKiBOYXZpZ2F0b3JCZWFjb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUY0NDBFNzdB
MjMzRDk0RDcwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUU1OTZERDI5MjUxOTAzRDIwMEMyNzVBNyAvKiBOYXZpZ2F0b3JDb250YWN0cy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRjQwMzRGQUUyNzVFQUQ3NjAwM0E4MUY4IC8qIE5hdmlnYXRvckNvb2tp
ZUNvbnNlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3MkQzRTU3MjE2NTc4QUUwMEM1RTAyMSAv
KiBOYXZpZ2F0b3JDcmVkZW50aWFscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcxMTQ2MDQxNEVG
MDA5QTAwNjc0RkQ5IC8qIE5hdmlnYXRvckdlb2xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk2QjUwN0EyNDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdhdG9ySXNMb2dnZWRJbi5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zNjU5Nyw2ICszNjYyMiw3IEBACiAJCQkJMDcxQzAwMzQyNzA3RDk1NTAw
RDAyN0M3IC8qIFJlcGxheUtpdENhcHR1cmVTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2
REQ2RTFGMjZFN0RCRTcwMDhDMUY0QyAvKiBSZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDk5OEFFQzYxM0Y5RDBFQTAwOTBCMUFBIC8qIFJlcXVlc3RBbmltYXRp
b25GcmFtZUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDAzNEZBQzI3NUVBRDZFMDAz
QTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGNTVCM0REMDEyNTFGMTJEMDAzRUYyNjkgLyogUmVzZXRJbnB1dFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTU4QjJGOUY0MjIzMkQ0NTMwMDkzOEQ2MyAvKiBSZXNpemVPYnNlcnZhdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNThCMkY5RjUyMjMyRDQ1ODAwOTM4RDYzIC8qIFJlc2l6ZU9i
c2VydmVyLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4
IDBmOGQ1YzVlNGJkZjRhYmIyNTQ5Y2UxNjllNTE3ZTRiNDIyYTM3OTIuLjI1YzNhOTgwMjVhODQw
NjE5YWU3NWY0NWNmZDgwYzcyZjdmYWRkMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRl
ICJBdXRvcGxheUV2ZW50LmgiCiAjaW5jbHVkZSAiQ29udGFjdEluZm8uaCIKKyNpbmNsdWRlICJD
b29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCIKICNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNs
dWRlICJEYXRhYmFzZURldGFpbHMuaCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbk9yTW90
aW9uUGVybWlzc2lvblN0YXRlLmgiCkBAIC02MTksNiArNjIwLDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBhYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkgeyB9CiAjZW5kaWYKIAorICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlvbikgeyBjb21wbGV0aW9u
KENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkKTsgfQorCiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKaW5kZXggNjYyYThkNTM0ODBjMjI4ZmM5
ODU4MjljMWY4NzFjYzVkMDNmMjk2MS4uMjAxNmNiNDhkZDM4ZTE5NTI3MTU3OGM4NjEwM2Y0Y2Jj
YzY1MTQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKQEAg
LTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJXZWJFdmVudC5oIgogI2luY2x1ZGUgIldlYkhpdFRl
c3RSZXN1bHREYXRhLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9Db29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zs
b2F0UmVjdC5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogCkBAIC0xNDQs
NiArMTQ1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjaGVja1VzZXJNZWRpYVBlcm1p
c3Npb25Gb3JPcmlnaW4oV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJv
eHkmLCBTZWN1cml0eU9yaWdpbiYsIFNlY3VyaXR5T3JpZ2luJiwgV2ViS2l0OjpVc2VyTWVkaWFQ
ZXJtaXNzaW9uQ2hlY2tQcm94eSYgcmVxdWVzdCkgeyByZXF1ZXN0LmRlbnkoKTsgfQogICAgIHZp
cnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFNlY3VyaXR5T3JpZ2luJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sIGFsbG93ZWQpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5k
bGVyKGZhbHNlKTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2Vzc0NvbmZp
cm0oV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBjb25zdCBX
ZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYgcmVxdWVzdGluZ0RvbWFpbiwgY29uc3QgV2ViQ29y
ZTo6UmVnaXN0cmFibGVEb21haW4mIGN1cnJlbnREb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkKTsgfQogCiAgICAgLy8gUHJpbnRpbmcuCiAgICAgdmly
dHVhbCBmbG9hdCBoZWFkZXJIZWlnaHQoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6Oldl
YkZyYW1lUHJveHkmKSB7IHJldHVybiAwOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCA0YTJmNTBlYzg3
NGVkZTgzNmJhNzVkMTgyMzE0MjVjNWRjZDNlZmRjLi5hZDE3ZGE4NzdmOWIwZWE2MDEwNWVkNzQ2
MTc5NmRiNzAwNDhjMGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTE3Nyw2ICsxNzcsOCBAQCBzdHJ1
Y3QgVUlFZGdlSW5zZXRzOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBz
dGFydFhSU2Vzc2lvbldpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQpKWNvbXBsZXRp
b25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CiAtICh2
b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3ROb3RpZmljYXRpb25QZXJt
aXNzaW9uRm9yU2VjdXJpdHlPcmlnaW46KFdLU2VjdXJpdHlPcmlnaW4gKilzZWN1cml0eU9yaWdp
biBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWRlY2lzaW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpLCBpb3MoV0tfSU9TX1RCQSkpOwogCistICh2b2lkKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJ
bmZvSGFuZGxlcjoodm9pZCAoXikodm9pZCkpbW9yZUluZm9IYW5kbGVyIGRlY2lzaW9uSGFuZGxl
cjoodm9pZCAoXikoQk9PTCkpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKICNpZiBUQVJHRVRfT1NfSVBIT05FCiAK
IC0gKEJPT0wpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2hvdWxkSW5jbHVkZUFwcExp
bmtBY3Rpb25zRm9yRWxlbWVudDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50IFdL
X0FQSV9BVkFJTEFCTEUoaW9zKDkuMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
VUlEZWxlZ2F0ZS5oCmluZGV4IGZmMjI3NTc1MDM3Njg0MWJjNWY5YTM2ZjMzMWQ4YTQ3ODJiNGY4
ZDkuLmZkYWFhMWViNzEzMGZkNjhkYTFmYTg3NDAzNDM0MjZiNDUxY2QyODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBw
cml2YXRlOgogICAgICAgICBib29sIHRha2VGb2N1cyhXZWJQYWdlUHJveHkqLCBXS0ZvY3VzRGly
ZWN0aW9uKSBmaW5hbDsKICAgICAgICAgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdlYlBhZ2VQ
cm94eSYsIFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQsIE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxh
eUV2ZW50RmxhZ3M+KSBmaW5hbDsKICAgICAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdChXZWJQYWdlUHJveHkmLCBBUEk6OlNlY3VyaXR5T3JpZ2lu
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIGFsbG93ZWQpPiYmKSBmaW5hbDsKKyAgICAg
ICAgdm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNv
cmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYpIGZpbmFsOwogCiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgICAgICB2b2lkIHNob3dQYWdlKFdlYlBhZ2VQcm94eSopIGZpbmFsOwpAQCAt
MjcwLDYgKzI3MSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgd2ViVmlld1N0YXJ0WFJTZXNz
aW9uV2l0aENvbXBsZXRpb25IYW5kbGVyIDogMTsKICNlbmRpZgogICAgICAgICBib29sIHdlYlZp
ZXdSZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbkZvclNlY3VyaXR5T3JpZ2luRGVjaXNpb25I
YW5kbGVyIDogMTsKKyAgICAgICAgYm9vbCB3ZWJWaWV3UmVxdWVzdENvb2tpZUNvbnNlbnRXaXRo
TW9yZUluZm9IYW5kbGVyRGVjaXNpb25IYW5kbGVyIDogMTsKICAgICB9IG1fZGVsZWdhdGVNZXRo
b2RzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0K
aW5kZXggMTMxNjA3ODI2NjcyYWFhOTgyYmJlNDE4ZTVkNTI5NTgyYzJjMmRiMS4uYTQ3OTM3ZmVj
OTkxMzEyOGQwYmJjNGE1YjU0ZTA5NjYxODk0MzY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCkBAIC0xOTcsNiArMTk3LDcgQEAgdm9pZCBVSURlbGVn
YXRlOjpzZXREZWxlZ2F0ZShpZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICAgICBtX2RlbGVn
YXRlTWV0aG9kcy53ZWJWaWV3U3RhcnRYUlNlc3Npb25XaXRoQ29tcGxldGlvbkhhbmRsZXIgPSBb
ZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpzdGFydFhSU2Vz
c2lvbldpdGhDb21wbGV0aW9uSGFuZGxlcjopXTsKICNlbmRpZgogICAgIG1fZGVsZWdhdGVNZXRo
b2RzLndlYlZpZXdSZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbkZvclNlY3VyaXR5T3JpZ2lu
RGVjaXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
X3dlYlZpZXc6cmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb25Gb3JTZWN1cml0eU9yaWdpbjpk
ZWNpc2lvbkhhbmRsZXI6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1JlcXVlc3RD
b29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlckRlY2lzaW9uSGFuZGxlciA9IFtkZWxlZ2F0
ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJlcXVlc3RDb29raWVDb25z
ZW50V2l0aE1vcmVJbmZvSGFuZGxlcjpkZWNpc2lvbkhhbmRsZXI6KV07CiB9CiAKICNpZiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKQEAgLTY0MSw2ICs2NDIsMjQgQEAgdm9pZCBVSURlbGVnYXRlOjpV
SUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV2Vi
S2l0OjoKICAgICB9KS5nZXQoKV07CiB9CiAKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJl
cXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2ll
Q29uc2VudERlY2lzaW9uUmVzdWx0KT4mJiBjb21wbGV0aW9uKQoreworICAgIGlmICghbV91aURl
bGVnYXRlKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbihXZWJDb3JlOjpDb29raWVDb25zZW50
RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7CisKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS0+
bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1JlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZv
SGFuZGxlckRlY2lzaW9uSGFuZGxlcikKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb24oV2ViQ29y
ZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOworCisgICAgYXV0
byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS0+bV9kZWxlZ2F0ZS5nZXQoKTsKKyAgICBpZiAoIWRl
bGVnYXRlKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbihXZWJDb3JlOjpDb29raWVDb25zZW50
RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7CisKKyAgICAvLyBGSVhNRTogQWRkIHN1cHBv
cnQgZm9yIHRoZSAnbW9yZSBpbmZvJyBoYW5kbGVyLgorICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVBy
aXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS0+bV93ZWJWaWV3LmdldCgpLmdl
dCgpIHJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjpuaWwgZGVjaXNpb25I
YW5kbGVyOm1ha2VCbG9ja1B0cihbY29tcGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChC
T09MIGRlY2lzaW9uKSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbihkZWNpc2lvbiA/IFdl
YkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Q29uc2VudCA6IFdlYkNvcmU6OkNv
b2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6RGlzc2VudCk7CisgICAgfSkuZ2V0KCldOworfQor
CiAjaWYgUExBVEZPUk0oTUFDKQogYm9vbCBVSURlbGVnYXRlOjpVSUNsaWVudDo6Y2FuUnVuTW9k
YWwoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggNjJkNGIwY2JhMDUxZWQwZmJmYTJiNDJiZmViY2Y0YmQyZmNiNGVmNi4uNGY5MGI1ZTJlODJj
ODE4MTY1ZTNkMzMxM2M2N2JiOTU1ZmVkYzFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCkBAIC0xMTAwNyw2ICsxMTAwNywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6Y2xlYXJBcHBQcml2YWN5UmVwb3J0VGVzdGluZ0RhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RDb29raWVDb25z
ZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4m
JiBjb21wbGV0aW9uKQoreworICAgIG1fdWlDbGllbnQtPnJlcXVlc3RDb29raWVDb25zZW50KFdU
Rk1vdmUoY29tcGxldGlvbikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVm
IFdFQlBBR0VQUk9YWV9SRUxFQVNFX0xPRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAppbmRleCA1YTgzMmU1NWFjYmExODliMzliOWU4OTdjYzFjYTE4YjdiNDg0NTU1Li5mMmE1
MzY0NzgzMTkwYTcyNGJkMzkwMDkyMzk2MmZhMzM0NGY2N2YyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjY1LDYgKzI2NSw3IEBAIGNsYXNzIFRleHRJbmRpY2F0
b3I7CiBjbGFzcyBWYWxpZGF0aW9uQnViYmxlOwogCiBlbnVtIGNsYXNzIEF1dG9wbGF5RXZlbnQg
OiB1aW50OF90OworZW51bSBjbGFzcyBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQgOiB1aW50
OF90OwogZW51bSBjbGFzcyBDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCA6IGJvb2w7CiBlbnVt
IGNsYXNzIERPTVBhc3RlQWNjZXNzUmVzcG9uc2UgOiB1aW50OF90OwogZW51bSBjbGFzcyBFdmVu
dE1ha2VzR2FtZXBhZHNWaXNpYmxlIDogYm9vbDsKQEAgLTIwMzAsNiArMjAzMSw4IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBu
b3RpZmljYXRpb25JRHMpOwogICAgIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbih1aW50NjRf
dCBub3RpZmljYXRpb25JRCk7CiAKKyAgICB2b2lkIHJlcXVlc3RDb29raWVDb25zZW50KENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4m
Jik7CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmLCBXZWJQcm9jZXNz
UHJveHkmLCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7CiAgICAgdm9pZCBwbGF0Zm9y
bUluaXRpYWxpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbgppbmRleCAwODc3OGFlNjU0NDhiZWNhODAwYjQwZmQzMjgzOGNkMjNlZDc4
YjkzLi5kNTYzNmEzYTYyYzdhZjg0ZDcyZDQ5OGFmZGFlMWYzMmI4ZjRiNTU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC02MTYs
NCArNjE2LDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBTdGFydEFwcGxlUGF5
QU1TVUlTZXNzaW9uKFVSTCBvcmlnaW5hdGluZ1VSTCwgc3RydWN0IFdlYkNvcmU6OkFwcGxlUGF5
QU1TVUlSZXF1ZXN0IHJlcXVlc3QpIC0+IChzdGQ6Om9wdGlvbmFsPGJvb2w+IHJlc3VsdCkgQXN5
bmMKICAgICBBYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkKICNlbmRpZgorCisgICAgUmVxdWVz
dENvb2tpZUNvbnNlbnQoKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6OkNvb2tpZUNvbnNlbnRE
ZWNpc2lvblJlc3VsdCByZXN1bHQpIEFzeW5jCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4
IDNmMjg2MmNmYjY3Y2YxZDJlZmZmNzM0MDE2NmJkNDViNTUyYjVhNGQuLjEzODI0ZmYxNmJlMWY1
NTJkZTk4MDBmZDNiNjY5YzhkZGI3MzliN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0x
NTU5LDQgKzE1NTksOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6YWJvcnRBcHBsZVBheUFNU1VJ
U2Vzc2lvbigpCiAKICNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKIAordm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJiBjb21wbGV0aW9uKQor
eworICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
UmVxdWVzdENvb2tpZUNvbnNlbnQoKSwgV1RGTW92ZShjb21wbGV0aW9uKSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGQwMmVkZjFiMmRjZDllYzll
NWZjZmIyODUzNmUxODY5ZDZjNjQ2YjQuLmNiMjE0NzBhMTBkYzQ1MzQ0OWEyMWMzNzVlNjgzZWRl
ZmMyYWUxYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEhUTUxJbWFnZUVsZW1lbnQ7CiBjbGFzcyBSZWdpc3RyYWJsZURv
bWFpbjsKK2VudW0gY2xhc3MgQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0IDogdWludDhfdDsK
IGVudW0gY2xhc3MgU3RvcmFnZUFjY2Vzc1Byb21wdFdhc1Nob3duIDogYm9vbDsKIGVudW0gY2xh
c3MgU3RvcmFnZUFjY2Vzc1dhc0dyYW50ZWQgOiBib29sOwogfQpAQCAtNDYyLDYgKzQ2Myw4IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBhYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkgZmluYWw7CiAj
ZW5kaWYKIAorICAgIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmKSBmaW5hbDsKKwog
ICAgIG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFtZUhhc0hvcml6b250YWxTY3JvbGxiYXIg
eyBmYWxzZSB9OwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFtZUhhc1ZlcnRpY2Fs
U2Nyb2xsYmFyIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IGRlYWJmZmJmYjRlODk2ZDJlOWY5NjBmZDk4ZDA1MDhjZmVlNDM5
NmYuLmJkMzljOGUwYjhjYmM1Y2IwZmVmYzllNTJjOWNjMDJmMTYwNWQwZGEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAor
MjAyMS0xMi0wNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3VwcG9ydCBmb3IgYG5hdmlnYXRvci5yZXF1ZXN0Q29va2llQ29uc2VudCgpYCBi
ZWhpbmQgYSBkaXNhYmxlZCBmZWF0dXJlIGZsYWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzg5MAorICAgICAgICByZGFyOi8vODYxMTc3MTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2V2ZXJh
bCBuZXcgQVBJIHRlc3RzIHRoYXQgZW5hYmxlIHRoZSBmZWF0dXJlIGZsYWcgYW5kIGV4ZXJjaXNl
IHRoZSBBUEkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9Db29raWVDb25zZW50Lm1tOiBBZGRlZC4KKyAgICAgICAgKC1bQ29va2llQ29uc2VudERlbGVn
YXRlIF93ZWJWaWV3OnJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjpkZWNp
c2lvbkhhbmRsZXI6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpjcmVhdGVXZWJWaWV3Rm9y
VGVzdGluZ0Nvb2tpZUNvbnNlbnQpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6Y2hlY2tGb3JT
dHJpbmcpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbDogQWRkZWQuCisK
IDIwMjEtMTItMDYgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0
ZSBHUFUgUHJvY2VzcyBmZWF0dXJlIGZsYWdzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUy
NmZlNTBkZWY4YmY3MmYwYzc1NWY5NTJmMWRmMTNiNWFjZWM2MjguLjVjNzQyYzYzMDEwNmU0ODZk
MDUyNDgwNjhiN2RkN2ViMzZlZGUyMTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05OTYs
NiArOTk2LDggQEAKIAkJRjQwMTBCODAyNERBMjRBQzAwQTg3NkUyIC8qIE5hdmlnYXRpb25Td2lw
ZVRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjQwMTBCN0YyNERBMjRBQzAwQTg3NkUyIC8qIE5hdmlnYXRpb25Td2lwZVRlc3RzLm1tICovOyB9
OwogCQlGNDAxMEI4MzI0REEyNjdGMDBBODc2RTIgLyogUG9zZUFzQ2xhc3MubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAxMEI4MTI0REEyNjdGMDBB
ODc2RTIgLyogUG9zZUFzQ2xhc3MubW0gKi87IH07CiAJCUY0MDJGNTZDMjNFQ0MyRkIwMDg2NTU0
OSAvKiBVSVdLSW50ZXJhY3Rpb25WaWV3UHJvdG9jb2wubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAyRjU2QjIzRUNDMkZCMDA4NjU1NDkgLyogVUlX
S0ludGVyYWN0aW9uVmlld1Byb3RvY29sLm1tICovOyB9OworCQlGNDAzNEZBMTI3NUQ1NDAyMDAz
QTgxRjggLyogQ29va2llQ29uc2VudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY0MDM0RkEwMjc1RDU0MDIwMDNBODFGOCAvKiBDb29raWVDb25zZW50
Lm1tICovOyB9OworCQlGNDAzNEZBMzI3NUQ1QUM2MDAzQTgxRjggLyogY29va2llLWNvbnNlbnQt
YmFzaWMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNDAzNEZBMjI3NUQ1NDQ5MDAzQTgxRjggLyogY29va2llLWNvbnNlbnQtYmFzaWMu
aHRtbCAqLzsgfTsKIAkJRjQwN0ZFMzkxRjFEMERGQzAwMTdDRjI1IC8qIGVub3Jtb3VzLnN2ZyBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDA3
RkUzODFGMUQwREU2MDAxN0NGMjUgLyogZW5vcm1vdXMuc3ZnICovOyB9OwogCQlGNDA5NENDNzI1
NTQ1QkQ1MDAzRDczRTMgLyogRGlzcGxheUxpc3RUZXN0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDA5NENDNjI1NTQ1QkQ1MDAzRDczRTMgLyog
RGlzcGxheUxpc3RUZXN0cy5jcHAgKi87IH07CiAJCUY0MTUwODZEMURBMDQwQzUwMDQ0QkU5QiAv
KiBwbGF5LWF1ZGlvLW9uLWNsaWNrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQxNTA4NkMxREEwNDBDMTAwNDRCRTlCIC8qIHBsYXkt
YXVkaW8tb24tY2xpY2suaHRtbCAqLzsgfTsKQEAgLTEyNjQsNiArMTI2Niw3IEBACiAJCQkJQTEz
RDFBRDYyNEFENDY4RjAwM0Y5MkE4IC8qIGNvbnRleHQtbWVudS1jb250cm9sLWNsaWNrLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTE0MkIyNzMxNTE3QzhDODAwQzMyQjE5IC8qIENv
bnRleHRNZW51Q2FuQ29weVVSTC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUNEMEJE
MEE4MUY3OTk4MkQwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovLAorCQkJCUY0MDM0RkEzMjc1RDVBQzYwMDNBODFGOCAvKiBjb29raWUt
Y29uc2VudC1iYXNpYy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTVDMjkzNjk2MUQ1
QzAwRUQwMERFQUIxRSAvKiBDb29raWVNZXNzYWdlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJOUIxRjZGNzkxRjkwNTU5RTAwQjU1NzQ0IC8qIGNvcHktaHRtbC5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCTlCNjI2MzBDMUY4QzI1QzgwMDdFRTI5QiAvKiBjb3B5LXVybC5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMjkyMyw2ICsyOTI2LDggQEAKIAkJRjQwMTBC
ODEyNERBMjY3RjAwQTg3NkUyIC8qIFBvc2VBc0NsYXNzLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBuYW1lID0gUG9zZUFzQ2xhc3MubW07IHBhdGggPSAuLi9UZXN0UnVubmVy
U2hhcmVkL2NvY29hL1Bvc2VBc0NsYXNzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGNDAxMEI4MjI0REEyNjdGMDBBODc2RTIgLyogUG9zZUFzQ2xhc3MuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gUG9zZUFzQ2xhc3MuaDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJT
aGFyZWQvY29jb2EvUG9zZUFzQ2xhc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjQwMkY1NkIyM0VDQzJGQjAwODY1NTQ5IC8qIFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbC5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbC5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRGQTAyNzVENTQwMjAwM0E4MUY4IC8q
IENvb2tpZUNvbnNlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDb29raWVDb25zZW50Lm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEZBMjI3NUQ1NDQ5MDAzQTgxRjgg
LyogY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJjb29raWUtY29uc2VudC1i
YXNpYy5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwN0ZFMzgxRjFEMERF
NjAwMTdDRjI1IC8qIGVub3Jtb3VzLnN2ZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBlbm9ybW91cy5zdmc7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY0MDk0Q0M2MjU1NDVCRDUwMDNENzNFMyAvKiBEaXNwbGF5TGlz
dFRlc3RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlMaXN0VGVzdHMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDEwNkM2ODIxQUNCRjg0MDA0Qjg5QTEgLyogV0tX
ZWJWaWV3Rmlyc3RSZXNwb25kZXJUZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLV2Vi
Vmlld0ZpcnN0UmVzcG9uZGVyVGVzdHMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0zMjcwLDYgKzMyNzUsNyBAQAogCQkJCUMxRjdCNzM4MjQ0OTA4M0YwMDEyNDU1NyAvKiBBR1hD
b21waWxlclNlcnZpY2UubW0gKi8sCiAJCQkJQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3IC8qIEJh
Y2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovLAogCQkJCUMxNjkyREM5MjNEMTBEQUUwMDZF
ODhGNyAvKiBCYXR0ZXJ5Lm1tICovLAorCQkJCUY0MDM0RkEwMjc1RDU0MDIwMDNBODFGOCAvKiBD
b29raWVDb25zZW50Lm1tICovLAogCQkJCUMxM0Q4MkQ4MjQxNkYxMzIwMEE2Mjc5MyAvKiBFbmFi
bGVBY2Nlc3NpYmlsaXR5Lm1tICovLAogCQkJCTFDODE4MDI2MjVGQjA5RTIwMDYwOEIzRSAvKiBG
b250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gKi8sCiAJCQkJRTM5NEFFNkUyM0YyMzAzRTAwNUI0
OTM2IC8qIEdyYW50QWNjZXNzVG9Nb2JpbGVBc3NldHMubW0gKi8sCkBAIC00NTkxLDYgKzQ1OTcs
NyBAQAogCQkJCTFBNTBBQTFGMUEyQTRFQTUwMEY0QzM0NSAvKiBjbG9zZS1mcm9tLXdpdGhpbi1j
cmVhdGUtcGFnZS5odG1sICovLAogCQkJCTlCMjcwRkVEMUREQzI1RkQwMDJENTNGMyAvKiBjbG9z
ZWQtc2hhZG93LXRyZWUtdGVzdC5odG1sICovLAogCQkJCTVDOUU1Njg2MURGOTE0OEUwMEM5RUUz
MyAvKiBjb250ZW50QmxvY2tlckNoZWNrLmh0bWwgKi8sCisJCQkJRjQwMzRGQTIyNzVENTQ0OTAw
M0E4MUY4IC8qIGNvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwgKi8sCiAJCQkJMkRERDREQTMyNzBC
OEIzMzAwNjU5QTYxIC8qIGN1YmUudXNkeiAqLywKIAkJCQkyOTBGNDI3NDE3MkExRkRFMDA5MzlG
RjAgLyogY3VzdG9tLXByb3RvY29sLXN5bmMteGhyLmh0bWwgKi8sCiAJCQkJMTE4MTUzNDMyMjA4
QjdBQzAwQjJDQ0QyIC8qIGRlZmVycmVkLXNjcmlwdC1sb2FkLmh0bWwgKi8sCkBAIC01NDA1LDYg
KzU0MTIsNyBAQAogCQkJCTgzNDlEM0MyMURCOTZEREUwMDRBOUY2NSAvKiBDb250ZXh0TWVudURv
d25sb2FkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QwQkQwQTYxRjc5OTI0RDAwMUFCMkNGIC8q
IENvbnRleHRNZW51SW1nV2l0aFZpZGVvLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFDMTQyQzIy
NEFBN0IyRTAwNDQ0MjA3IC8qIENvbnRleHRNZW51TW91c2VFdmVudHMubW0gaW4gU291cmNlcyAq
LywKKwkJCQlGNDAzNEZBMTI3NUQ1NDAyMDAzQTgxRjggLyogQ29va2llQ29uc2VudC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTdDQ0U3RUFDMUE0MTFBMzQwMDQ0N0M0QyAvKiBDb3VudGVycy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk3QUVBRDQ3RjFFMjAxMTZDMDA0MTZFRkUgLyogQ3Jvc3NQYXJ0
aXRpb25GaWxlU2NoZW1lQWNjZXNzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFREIxQTQx
MUE5MjAwNDQ3QzRDIC8qIENTU1BhcnNlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Nvb2tpZUNvbnNlbnQubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Db29raWVDb25zZW50Lm1tCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJkYTBkZTkwZWM3ZDIyZjc0MDI5NmJkYTM4MWVmMTQ3ZWIxZDg1NWUKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Db29raWVDb25zZW50Lm1tCkBA
IC0wLDAgKzEsMTAyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpbXBv
cnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1ByZWZlcmVuY2VzUHJpdmF0
ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdFByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9f
V0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oPgorCitAaW50ZXJmYWNlIENvb2tpZUNvbnNlbnREZWxl
Z2F0ZSA6IE5TT2JqZWN0PFdLVUlEZWxlZ2F0ZVByaXZhdGU+CitAcHJvcGVydHkgKG5vbmF0b21p
YykgQk9PTCBkZWNpc2lvbjsKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIENvb2tpZUNvbnNlbnRE
ZWxlZ2F0ZQorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RD
b29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjoodm9pZCAoXikodm9pZCkpbW9yZUluZm9I
YW5kbGVyIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpZGVjaXNpb25IYW5kbGVyCit7
CisgICAgZGVjaXNpb25IYW5kbGVyKHNlbGYuZGVjaXNpb24pOworfQorCitAZW5kCisKK25hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJIHsKKworc3RhdGljIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiBj
cmVhdGVXZWJWaWV3Rm9yVGVzdGluZ0Nvb2tpZUNvbnNlbnQoKQoreworICAgIGF1dG8gY29uZmln
dXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7
CisgICAgZm9yIChfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqZmVhdHVyZSBpbiBXS1ByZWZlcmVu
Y2VzLl9pbnRlcm5hbERlYnVnRmVhdHVyZXMpIHsKKyAgICAgICAgaWYgKFtmZWF0dXJlLmtleSBp
c0VxdWFsVG9TdHJpbmc6QCJDb29raWVDb25zZW50QVBJRW5hYmxlZCJdKSB7CisgICAgICAgICAg
ICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JJbnRlcm5h
bERlYnVnRmVhdHVyZTpmZWF0dXJlXTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpDR1JlY3RNYWtlKDAsIDAsIDQwMCwgNDAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRp
b24uZ2V0KCldKTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tGb3JTdHJpbmcoVGVzdFdLV2ViVmll
dyAqd2ViVmlldywgTlNTdHJpbmcgKmV4cGVjdGVkU3RyaW5nKQoreworICAgIGF1dG8gY29udGVu
dHNBc1N0cmluZyA9IFJldGFpblB0ciB7IHdlYlZpZXcuY29udGVudHNBc1N0cmluZyB9OworICAg
IEJPT0wgY29udGFpbnNTdHJpbmcgPSBbY29udGVudHNBc1N0cmluZyBjb250YWluc1N0cmluZzpl
eHBlY3RlZFN0cmluZ107CisgICAgRVhQRUNUX1RSVUUoY29udGFpbnNTdHJpbmcpOworICAgIGlm
ICghY29udGFpbnNTdHJpbmcpCisgICAgICAgIE5TTG9nKEAiRXhwZWN0ZWQ6IFwiJUBcIiB0byBj
b250YWluOiBcIiVAXCIiLCBjb250ZW50c0FzU3RyaW5nLmdldCgpLCBleHBlY3RlZFN0cmluZyk7
Cit9CisKK1RFU1QoQ29va2llQ29uc2VudCwgQmFzaWNEZWNpc2lvbkhhbmRsZXIpCit7CisgICAg
YXV0byB3ZWJWaWV3ID0gY3JlYXRlV2ViVmlld0ZvclRlc3RpbmdDb29raWVDb25zZW50KCk7Cisg
ICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tDb29raWVDb25zZW50RGVsZWdhdGUgYWxsb2Nd
IGluaXRdKTsKKyAgICBbZGVsZWdhdGUgc2V0RGVjaXNpb246WUVTXTsKKyAgICBbd2ViVmlldyBz
ZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5
TG9hZFRlc3RQYWdlTmFtZWQ6QCJjb29raWUtY29uc2VudC1iYXNpYyJdOworICAgIFt3ZWJWaWV3
IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBjaGVja0ZvclN0cmluZyh3ZWJW
aWV3LmdldCgpLCBAInJldHVybmVkOiB0cnVlIik7CisKKyAgICBbZGVsZWdhdGUgc2V0RGVjaXNp
b246Tk9dOworICAgIFt3ZWJWaWV3IF9raWxsV2ViQ29udGVudFByb2Nlc3NBbmRSZXNldFN0YXRl
XTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJjb29raWUt
Y29uc2VudC1iYXNpYyJdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBk
YXRlXTsKKyAgICBjaGVja0ZvclN0cmluZyh3ZWJWaWV3LmdldCgpLCBAInJldHVybmVkOiBmYWxz
ZSIpOworfQorCitURVNUKENvb2tpZUNvbnNlbnQsIE5vdEVuYWJsZWQpCit7CisgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dS
ZWN0TWFrZSgwLCAwLCA0MDAsIDQwMCldKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9h
ZFRlc3RQYWdlTmFtZWQ6QCJjb29raWUtY29uc2VudC1iYXNpYyJdOworICAgIFt3ZWJWaWV3IHdh
aXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBjaGVja0ZvclN0cmluZyh3ZWJWaWV3
LmdldCgpLCBAIm5vdCBlbmFibGVkIik7Cit9CisKK1RFU1QoQ29va2llQ29uc2VudCwgVGhyb3dz
RXhjZXB0aW9uV2l0aG91dERlbGVnYXRlKQoreworICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdl
YlZpZXdGb3JUZXN0aW5nQ29va2llQ29uc2VudCgpOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3Vz
bHlMb2FkVGVzdFBhZ2VOYW1lZDpAImNvb2tpZS1jb25zZW50LWJhc2ljIl07CisgICAgW3dlYlZp
ZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworICAgIGNoZWNrRm9yU3RyaW5nKHdl
YlZpZXcuZ2V0KCksIEAidGhyZXcgZXhjZXB0aW9uOiBOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9w
ZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJL
aXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2Nvb2tp
ZS1jb25zZW50LWJhc2ljLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9j
b29raWUtY29uc2VudC1iYXNpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2YTgzYWM0MzRhMmFjN2QwNTFm
MWI1ZjZkM2E3MWMyZjEyZGFiZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9jb29raWUtY29uc2VudC1iYXNpYy5odG1sCkBAIC0wLDAgKzEsMjcg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8aGVhZD4KKzxzY3JpcHQ+CithZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9h
ZGVkIiwgYXN5bmMgKCkgPT4geworICAgIGNvbnN0IG91dHB1dCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJvdXRwdXQiKTsKKyAgICBpZiAoIW5hdmlnYXRvci5yZXF1ZXN0Q29va2llQ29uc2Vu
dCkgeworICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAibm90IGVuYWJsZWQiOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgbGV0IGNvbnNlbnQgPSBhd2Fp
dCBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKTsKKyAgICAgICAgb3V0cHV0LnRleHRD
b250ZW50ID0gYHJldHVybmVkOiAke2NvbnNlbnR9YDsKKyAgICB9IGNhdGNoIChlKSB7CisgICAg
ICAgIG91dHB1dC50ZXh0Q29udGVudCA9IGB0aHJldyBleGNlcHRpb246ICR7ZX1gOworICAgIH0K
K30pOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwcmU+bmF2aWdhdG9yLnJlcXVlc3RD
b29raWVDb25zZW50KCk8L3ByZT4KKzxwcmU+4oaqJm5ic3A7PGNvZGUgaWQ9Im91dHB1dCI+PC9j
b2RlPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="471406"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446077</attachid>
            <date>2021-12-06 13:23:20 -0800</date>
            <delta_ts>2021-12-06 14:17:57 -0800</delta_ts>
            <desc>Fix Windows build</desc>
            <filename>bug-233890-20211206132319.patch</filename>
            <type>text/plain</type>
            <size>57843</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDhhOGRhNDgxMTA4YzlmNDdjMDZjOWM5
ZjFiMjRlMWE2NTM1NTIzZTguLmExYjI1MmIyODZmNWYyY2NjN2RkMjZmNzE3YTEzNDNhMGY2MWE0
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3Iu
cmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAg
ICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmVhdHVyZSBmbGFnIChvZmYgYnkgZGVmYXVsdCku
IE5vdGUgdGhhdCB0aGlzIGlzIGFsc28gb25seSBhbiBpbnRlcm5hbCBmZWF0dXJlIGZsYWcgZm9y
IHRoZSB0aW1lCisgICAgICAgIGJlaW5nIChyYXRoZXIgdGhhbiBhbiBleHBlcmltZW50YWwgZmVh
dHVyZSBmbGFnKSwgc3VjaCB0aGF0IGl0IGNhbm5vdCAoeWV0KSBiZSB0dXJuZWQgb24gYnkgbm9u
LUFwcGxlIGludGVybmFsCisgICAgICAgIHVzZXJzLgorCisgICAgICAgICogU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWw6CisKIDIwMjEtMTItMDYgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBBZGQgYSB3YXkgdG8gcnVuIHNjcmlwdGVkIGFuaW1hdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MDU0
MmY0N2M0ZmNiOTljZjI2M2I0Mzk5Mzc4ZDY3ZjY5NjIwMmY1Li41MDA5ZTUwMThmYWNiOTE2ZDU3
ZmYyYjBhODk3NzVhN2VjYWMyZjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMjEt
MTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5k
IGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRv
IHN1cHBvcnQgYSBuZXcgKGludGVybmFsLWZvci10aGUtdGltZS1iZWluZykgbmF2aWdhdG9yIEFQ
SSwgYHJlcXVlc3RDb29raWVDb25zZW50KClgLiBUaGlzCisgICAgICAgIHJldHVybnMgYSBwcm9t
aXNlIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIHVzZXIgKG9yIHRoZSBVQSwgb24gYmVo
YWxmIG9mIHRoZSB1c2VyKSBjb25zZW50cyB0byB1c2FnZSBvZgorICAgICAgICBjb29raWVzIHRo
YXQgYXJlIG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgZm9yIHBhZ2UgcGVyZm9ybWFuY2UuCisKKyAg
ICAgICAgUGFpcmVkIHdpdGggdGhpcyB3ZWItZmFjaW5nIEFQSSwgd2UgYWxzbyBpbnRyb2R1Y2Ug
Y29ycmVzcG9uZGluZyBwcml2YXRlIFdLVUlEZWxlZ2F0ZSBtZXRob2RzIHRoYXQgYXJlIGludm9r
ZWQKKyAgICAgICAgYXMgYSByZXN1bHQgb2YgY2FsbGluZyBgbmF2aWdhdG9yLnJlcXVlc3RDb29r
aWVDb25zZW50KCk7YCwgd2hpY2ggYSBXZWJLaXQgZW1iZWRkZXIgbWF5IGltcGxlbWVudCBpbiBv
cmRlciB0bworICAgICAgICBwcmVzZW50IFVJIG9yIG90aGVyd2lzZSByZXNwb25kIGFwcHJvcHJp
YXRlbHkgdG8gdGhlIHJlcXVlc3QuIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFp
bHMuCisKKyAgICAgICAgVGVzdHM6ICBDb29raWVDb25zZW50LkJhc2ljRGVjaXNpb25IYW5kbGVy
CisgICAgICAgICAgICAgICAgQ29va2llQ29uc2VudC5Ob3RFbmFibGVkCisgICAgICAgICAgICAg
ICAgQ29va2llQ29uc2VudC5UaHJvd3NFeGNlcHRpb25XaXRob3V0RGVsZWdhdGUKKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0
Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nv
b2tpZUNvbnNlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Nvb2tpZS1jb25zZW50
L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwOiBBZGRlZC4KKworICAgICAgICBBZGQgYSBuZXcg
cGFydGlhbCBpbnRlcmZhY2Ugb24gTmF2aWdhdG9yIHRoYXQgaW1wbGVtZW50cyB0aGUgbmV3IEFQ
SSBieSBjYWxsaW5nIGludG8gdGhlIGNocm9tZSBjbGllbnQgaG9vayAoc2VlCisgICAgICAgIFdl
YktpdCBjaGFuZ2VzIGZvciBtb3JlIGRldGFpbHMpLiBOb3RlIHRoYXQgaW4gdGhlIGNhc2Ugd2hl
cmUgdGhlIGNvbnNlbnQgZGVsZWdhdGUgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBieQorICAg
ICAgICB0aGUgY2xpZW50LCB3ZSB3aWxsIHJlamVjdCB0aGUgcHJvbWlzZSB3aXRoIGEgYE5vdFN1
cHBvcnRlZEVycm9yYC4KKworICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29va2llQ29uc2Vu
dDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29v
a2llQ29uc2VudDo6ZnJvbSk6CisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZp
Z2F0b3JDb29raWVDb25zZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNv
bnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1v
ZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL1dvcmtlckZpbGVTeXN0ZW1T
dG9yYWdlQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNz
L1dvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5oOgorCisgICAgICAgIEFkZCBzb21l
IG1pc3NpbmcgaW5jbHVkZXMgdG8gZml4IHRoZSB1bmlmaWVkIHNvdXJjZSBidWlsZCBvbiBXaW5k
b3dzLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KToKKwogMjAy
MS0xMi0wNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCBhZGQgc29tZSBtaXNzaW5nICNpbmNsdWRlcyBpbiBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDJiNzEzYWYwZTExNWMxNWVlMDBjNTFiM2JiZmVjNTRhZTAyYjZkNWIuLmZmOWQwNzhl
YmFkYjY5ODE5NGQ0NGI0ODViMWNlMDc1Njg1NzEyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMjEtMTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQo
KWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBs
dW1iaW5nIGZvciBhbiBhc3luYyBgcmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgbWV0aG9kIG9uIENo
cm9tZUNsaWVudCB0aGF0IHBsdW1icyB0aHJvdWdoIHRoZSBXZWJLaXQyIGNsaWVudAorICAgICAg
ICBsYXllciwgaW50byBhIG5ldyBwcml2YXRlIChmb3IgdGhlIHRpbWUgYmVpbmcpIFVJIGRlbGVn
YXRlIG1ldGhvZC4gSWYgdGhlIG5ldyBkZWxlZ2F0ZSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVk
CisgICAgICAgIChvciB0aGVyZSBpcyBubyBVSSBkZWxlZ2F0ZSBhdCBhbGwpLCB3ZSBpbW1lZGlh
dGVseSBpbnZva2UgdGhlIGRlY2lzaW9uIGhhbmRsZXIgd2l0aCBhIHJlc3VsdCBvZiBgTm90U3Vw
cG9ydGVkYCwKKyAgICAgICAgYWxsb3dpbmcgdXMgdG8gcmVqZWN0IHRoZSBwcm9taXNlIHdpdGgg
YSBgTm90U3VwcG9ydGVkRXJyb3JgLgorCisgICAgICAgIFNlZSBXZWJDb3JlIENoYW5nZUxvZyBm
b3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5o
OgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1VJRGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OnNldERlbGVnYXRl
KToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJlcXVlc3RDb29raWVD
b25zZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0Q29va2llQ29uc2VudCk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnJlcXVl
c3RDb29raWVDb25zZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTEyLTA2ICBNYXR0IEdpbGxpZ2FuICA8bWF0dGhld19n
aWxsaWdhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQWxsb3cgV0tXZWJWaWV3IGNsaWVu
dHMgdG8gb3ZlcnJpZGUgdW5kb01hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0
cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwgYi9Tb3VyY2UvV1RGL1Nj
cmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IDAzYmI0
YWUzMDFlNTllYWZhN2QyYjU2YmJmYjBhNTM5YTgzMDA4YzUuLmUxYmFmZmMzNzg0MjhkYWFmYWYy
YThhMjU5Yzc1YzViMTJjMWZjYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMTc2LDYgKzE3
NiwxOSBAQCBDYXB0dXJlVmlkZW9JblVJUHJvY2Vzc0VuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAg
ICAgZGVmYXVsdDogZmFsc2UKIAorQ29va2llQ29uc2VudEFQSUVuYWJsZWQ6CisgIHR5cGU6IGJv
b2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDb29raWUgQ29uc2VudCBBUEkiCisgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBjb29raWUgY29uc2VudCBBUEkiCisgIGV4cG9zZWQ6
IFsgV2ViS2l0IF0KKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0
OiBmYWxzZQorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2Vi
S2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogRE9NUGFzdGVBY2Nlc3NSZXF1ZXN0c0VuYWJs
ZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJET00gUGFzdGUgQWNjZXNz
IFJlcXVlc3RzIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3NjI0MzI0ZDk1ZDY5NDE5ZmMwMzJj
Nzg2ZmZiYjM3Yzc2N2FhMTJjLi5kNDQ5ZGU4YjAwYWI1NDdlNjhjODU4ZWZlZGNiYTUzMGE5NWEw
ZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjcsNiArMjcsNyBAQCBzZXQoV2ViQ29yZV9Q
UklWQVRFX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9i
ZWFjb24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY2FjaGUiCiAgICAgIiR7V0VCQ09S
RV9ESVJ9L01vZHVsZXMvY29udGFjdC1waWNrZXIiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVs
ZXMvY29va2llLWNvbnNlbnQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY3JlZGVudGlh
bG1hbmFnZW1lbnQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEi
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5IgpAQCAt
MjU2LDYgKzI1Nyw5IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxl
cy9jb250YWN0LXBpY2tlci9Db250YWN0c1NlbGVjdE9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy9j
b250YWN0LXBpY2tlci9OYXZpZ2F0b3IrQ29udGFjdHMuaWRsCiAKKyAgICBNb2R1bGVzL2Nvb2tp
ZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50LmlkbAorICAgIE1vZHVsZXMvY29va2ll
LWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbAorCiAgICAgTW9kdWxlcy9j
cmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCiAgICAgTW9kdWxlcy9jcmVk
ZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbAogICAgIE1vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggNGZm
OGUzZjIwYjJjYmNmMTc4NmFlODgzMTdiNTFhYWQ3NjNhYTczNy4uZWNkN2FlNThkNzEwMWEzODY1
NjNjZTJmYzIzOTVkYTY0ZTcxM2M1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yMzIsNiArMjMyLDggQEAgJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0UHJvcGVydHkuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdlci5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNTZWxlY3RPcHRpb25zLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9jb250YWN0LXBpY2tlci9OYXZpZ2F0b3IrQ29udGFjdHMuaWRs
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVD
b25zZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0
Q29va2llQ29uc2VudE9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NyZWRlbnRp
YWxtYW5hZ2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Y3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RP
cHRpb25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAppbmRleCBkMjdmNmU0NjYwZWI2YmI4ZDVkOGQwNDBlMTZjNzFjZDc5Yzk2MmQxLi45
OTZjYmRlMjExNmVlZTIyODg0ODQ4ZTE0ZTFlNTgxNmE4MTdkZjNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTY0Nyw2ICsxNjQ3
LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZp
Z2F0b3IrQ2xpcGJvYXJkLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ2xpcGJvYXJkLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK0NvbnRhY3RzLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ29udGFjdHMu
aAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0
b3IrQ29va2llQ29uc2VudC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ3JlZGVudGlhbHMuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitD
cmVkZW50aWFscy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRvcitFTUUuY3BwCkBAIC0yMDg5LDYgKzIwOTEsOCBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JlbW90ZVBsYXliYWNrQXZhaWxhYmls
aXR5Q2FsbGJhYwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNSZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJh
Y2suY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Jl
cXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXF1ZXN0Q29va2ll
Q29uc2VudE9wdGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNSZXNpemVPYnNlcnZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUmVzaXplT2JzZXJ2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXNpemVPYnNlcnZlckJveE9wdGlvbnMuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhNGZmNDUxZjJmMTMwZGM2ZTEyNzZhNjUx
YzNmYjdhOTEyMjk5OWZkLi4zM2JkNmUwMGRjOGI2MmYxZGExYzBjOTUwY2I5MjhiMjg3YTZmZjFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1NCw2ICsyNTQsOCBAQCBKU19C
SU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jb250YWN0LXBpY2tlci9D
b250YWN0c01hbmFnZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY29udGFjdC1waWNr
ZXIvQ29udGFjdHNTZWxlY3RPcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Nv
bnRhY3QtcGlja2VyL05hdmlnYXRvcitDb250YWN0cy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlv
bnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFz
aWNDcmVkZW50aWFsLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5h
Z2VtZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQppbmRleCBhMTIyNDAyYWMwY2JiNDVkNmYxZDc3ODc4YzEzMjg2MDll
NzY4MjI0Li41NDMxMzMxNzNkZDYyMTI4Mjc4YmI5NjJmNjZkZDdlYmFjNDI3NDk0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UKQEAgLTE1Myw2ICsxNTMsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1F
V09SS19IRUFERVJTCiAgICAgTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0UHJvcGVydHku
aAogICAgIE1vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNSZXF1ZXN0RGF0YS5oCiAKKyAg
ICBNb2R1bGVzL2Nvb2tpZS1jb25zZW50L0Nvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oCisK
ICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETUNsaWVudC5oCiAgICAgTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNsaWVudC5oCiAgICAgTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVN5c3RlbUNvbnRyb2xsZXIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9Db29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lz
aW9uUmVzdWx0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMzNjQxMjgxY2RiZjE2M2U3MjA0MTFjOGM0M2I2NjVi
YjA2ZTAzZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2ll
LWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmgKQEAgLTAsMCArMSw1MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIENvb2tpZUNvbnNlbnREZWNpc2lv
blJlc3VsdCA6IHVpbnQ4X3QgeworICAgIE5vdFN1cHBvcnRlZCwKKyAgICBDb25zZW50LAorICAg
IERpc3NlbnQsCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYg
eworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkNvb2tpZUNvbnNlbnRE
ZWNpc2lvblJlc3VsdD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgV2Vi
Q29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LAorICAgIFdlYkNvcmU6OkNvb2tpZUNv
bnNlbnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkLAorICAgIFdlYkNvcmU6OkNvb2tpZUNv
bnNlbnREZWNpc2lvblJlc3VsdDo6Q29uc2VudCwKKyAgICBXZWJDb3JlOjpDb29raWVDb25zZW50
RGVjaXNpb25SZXN1bHQ6OkRpc3NlbnQKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RG
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmln
YXRvcitDb29raWVDb25zZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNv
bnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1MjkwYzVmZGU4
NTkzOGMzOGYwOGMwNTA2MjI3ZmI5NzY4ZGE1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50Lmlk
bApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9
Q29va2llQ29uc2VudEFQSUVuYWJsZWQsCisgICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JDb29r
aWVDb25zZW50LAorXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIFByb21pc2U8
Ym9vbGVhbj4gcmVxdWVzdENvb2tpZUNvbnNlbnQob3B0aW9uYWwgUmVxdWVzdENvb2tpZUNvbnNl
bnRPcHRpb25zIG9wdGlvbnMpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZkZjQwMjA4MTA1NDc0ZTdjZGM2Y2FiYjM1ODM4ZDJiZjRhZTBkNzcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmln
YXRvckNvb2tpZUNvbnNlbnQuY3BwCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29va2llQ29uc2VudC5oIgorCisj
aW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCisjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5j
bHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJlcXVlc3RD
b29raWVDb25zZW50T3B0aW9ucy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgTmF2
aWdhdG9yQ29va2llQ29uc2VudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQoTmF2aWdhdG9yJiBuYXZp
Z2F0b3IsIHN0ZDo6b3B0aW9uYWw8UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zPiYmIG9wdGlv
bnMsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBmcm9tKG5hdmlnYXRv
cikucmVxdWVzdENvb2tpZUNvbnNlbnQoV1RGTW92ZShvcHRpb25zKSwgV1RGTW92ZShwcm9taXNl
KSk7Cit9CisKK3ZvaWQgTmF2aWdhdG9yQ29va2llQ29uc2VudDo6cmVxdWVzdENvb2tpZUNvbnNl
bnQoc3RkOjpvcHRpb25hbDxSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM+JiYgb3B0aW9ucywg
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIC8vIEZJWE1FOiBTdXBwb3J0
IHRoZSAnTW9yZSBpbmZvJyBvcHRpb24uCisgICAgVU5VU0VEX1BBUkFNKG9wdGlvbnMpOworCisg
ICAgUmVmUHRyIGZyYW1lID0gbV9uYXZpZ2F0b3IuZnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lIHx8
ICFmcmFtZS0+aXNNYWluRnJhbWUoKSB8fCAhZnJhbWUtPnBhZ2UoKSkgeworICAgICAgICBwcm9t
aXNlLT5yZWplY3QoTm90QWxsb3dlZEVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGZyYW1lLT5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RDb29raWVDb25zZW50
KFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3Vs
dCByZXN1bHQpIHsKKyAgICAgICAgc3dpdGNoIChyZXN1bHQpIHsKKyAgICAgICAgY2FzZSBDb29r
aWVDb25zZW50RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZDoKKyAgICAgICAgICAgIHByb21p
c2UtPnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6OkNvbnNlbnQ6CisgICAgICAgICAg
ICBwcm9taXNlLT5yZXNvbHZlPElETEJvb2xlYW4+KHRydWUpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpEaXNzZW50OgorICAg
ICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExCb29sZWFuPihmYWxzZSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgIH0pOworfQorCitOYXZpZ2F0b3JDb29raWVDb25zZW50
JiBOYXZpZ2F0b3JDb29raWVDb25zZW50Ojpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorewor
ICAgIGlmIChhdXRvIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JDb29raWVDb25z
ZW50Kj4oU3VwcGxlbWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnRO
YW1lKCkpKSkKKyAgICAgICAgcmV0dXJuICpzdXBwbGVtZW50OworCisgICAgYXV0byBuZXdTdXBw
bGVtZW50ID0gbWFrZVVuaXF1ZTxOYXZpZ2F0b3JDb29raWVDb25zZW50PihuYXZpZ2F0b3IpOwor
ICAgIGF1dG8gc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgcHJvdmlkZVRv
KCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOwor
ICAgIHJldHVybiAqc3VwcGxlbWVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JD
b29raWVDb25zZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05h
dmlnYXRvckNvb2tpZUNvbnNlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2Y3NzNmNDA2ZTEzNGM3YWE2NDEy
OGM4Y2MxYjE3N2VkZjIzMjE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmgKQEAgLTAsMCArMSw1
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFi
bGUuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2Mu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIERlZmVycmVkUHJvbWlzZTsKK2NsYXNzIE5hdmlnYXRvcjsKK3N0cnVjdCBSZXF1ZXN0
Q29va2llQ29uc2VudE9wdGlvbnM7CisKK2NsYXNzIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQgZmlu
YWwgOiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOYXZpZ2F0b3JDb29raWVDb25zZW50KE5h
dmlnYXRvciYgbmF2aWdhdG9yKQorICAgICAgICA6IG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKKyAg
ICB7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoTmF2aWdh
dG9yJiwgc3RkOjpvcHRpb25hbDxSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM+JiYsIFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYpOworCitwcml2YXRlOgorICAgIHN0YXRpYyBOYXZpZ2F0b3JDb29r
aWVDb25zZW50JiBmcm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBw
bGVtZW50TmFtZSgpIHsgcmV0dXJuICJOYXZpZ2F0b3JDb29raWVDb25zZW50IjsgfQorCisgICAg
dm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RDb29raWVDb25z
ZW50T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKKyAgICBOYXZpZ2F0b3Im
IG1fbmF2aWdhdG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2Vu
dE9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVz
dENvb2tpZUNvbnNlbnRPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFlMzkxNjVjZmFmNTZkOTgzZTI3
ODlhMGIyY2IyMmU1ZjJhZGQ0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmgKQEAgLTAs
MCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiVm9pZENh
bGxiYWNrLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zIHsKKyAgICBSZWZQdHI8
Vm9pZENhbGxiYWNrPiBtb3JlSW5mbzsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENv
b2tpZUNvbnNlbnRPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNv
bnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGM3NTU2
NzkxMTQ1OTRjNGRjZDAxZjdkYWM2MDk3MWM3ZDg2ZjAxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9w
dGlvbnMuaWRsCkBAIC0wLDAgKzEsMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5IFJlcXVl
c3RDb29raWVDb25zZW50T3B0aW9ucyB7CisgICAgVm9pZENhbGxiYWNrPyBtb3JlSW5mbzsKK307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29y
a2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uY3Bw
CmluZGV4IGY0N2NhM2QzM2Q5N2E2MzdkNmY3YmEwNmNiZWU0NTE3ZjEzMjBmYmIuLmI1MzYzMmMz
MTIzYTFiZjk1ZjcwMzM2Y2ViODYxYmM2OGQ0ZDMxOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5l
Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9X
b3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25u
ZWN0aW9uLmgiCiAKKyNpbmNsdWRlICJGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS5oIgogI2lu
Y2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHku
aCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxl
U3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uaAppbmRleCA1NGI0YjgxZjNhNzk2ODY4OWI3YmRjYWE1
YmZkZGRkNDI2MjkxN2UxLi45ODM2YjFlNzRmYmE3NmJlN2ExZTA4OGFkYzBlNTA5MzY3MTgzNTlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29y
a2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9maWxlc3lzdGVtYWNjZXNzL1dvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5o
CkBAIC0zMiw2ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRmlsZVN5
c3RlbVN5bmNBY2Nlc3NIYW5kbGU7CiBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKIGNsYXNzIFdv
cmtlclRocmVhZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA1YzAzYjUyNDQ5YmQ0N2VlMTNlYjlmZDY1
MzkyODNkZGViYzI4MmVhLi4xYzA4OWYwOGY2ZWY0NDA5OTZhMThhZDViMjQ2OTZhMWRmZWY1MWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dApAQCAtNjgsNiArNjgsNyBAQCBNb2R1bGVzL2NhY2hlL1dpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCiBNb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwCiBNb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdl
ci5jcHAKIE1vZHVsZXMvY29udGFjdC1waWNrZXIvTmF2aWdhdG9yQ29udGFjdHMuY3BwCitNb2R1
bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwCiBNb2R1bGVzL2Ny
ZWRlbnRpYWxtYW5hZ2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5jcHAKIE1vZHVsZXMvY3JlZGVudGlh
bG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIuY3BwCiBNb2R1bGVzL2NyZWRlbnRpYWxt
YW5hZ2VtZW50L05hdmlnYXRvckNyZWRlbnRpYWxzLmNwcApAQCAtMzY3MSw2ICszNjcyLDcgQEAg
SlNSZW1vdGVET01XaW5kb3cuY3BwCiBKU1JlbW90ZVBsYXliYWNrLmNwcAogSlNSZW1vdGVQbGF5
YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmNwcAogSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxs
YmFjay5jcHAKK0pTUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcAogSlNSZXNpemVPYnNl
cnZlci5jcHAKIEpTUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zLmNwcAogSlNSZXNpemVPYnNlcnZl
ckNhbGxiYWNrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDM1NjkzMjBkM2EwZWVhN2EyNDY5ZjdmOWUxMGQ5Y2QxNGZmYzVk
MTkuLjE2ZTM3ODE5MzgyMmUyNDAzZjcxNmMyMzA3NTgwNmRlMWYyZmFiMjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0NDYs
NiArNTQ0Niw5IEBACiAJCUYzNDRDNzUzMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGMzQ0Qzc1MjExMjk0RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUYzQUJGRTBDMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0FCRkUwQjEzMEU5
REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovOyB9OwogCQlGM0Q0NjE0OTEx
NjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vy
cm9ySGFuZGxlci5oICovOyB9OworCQlGNDAzNEY5RDI3NUM0Nzg5MDAzQTgxRjggLyogQ29va2ll
Q29uc2VudERlY2lzaW9uUmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNDAzNEY5QzI3NUM0NzgzMDAzQTgxRjggLyogQ29va2llQ29uc2VudERl
Y2lzaW9uUmVzdWx0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJRjQwMzRGQUMyNzVFQUQ2RTAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50
T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjQwMzRGOEYyNzVDMTY4NjAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5o
ICovOyB9OworCQlGNDAzNEZBRTI3NUVBRDc2MDAzQTgxRjggLyogTmF2aWdhdG9yQ29va2llQ29u
c2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQw
MzRGOEQyNzVDMDg3QjAwM0E4MUY4IC8qIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCAqLzsgfTsK
IAkJRjQwM0U3ODcyMzYzQjU4QzAwMDQ0NTUwIC8qIEVudGVyS2V5SGludC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwM0U3ODUyMzYzQjU4QzAwMDQ0
NTUwIC8qIEVudGVyS2V5SGludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUY0MERBQUVDMjVEOUYyNUUwMDExQjRGQSAvKiBQYXN0ZWJvYXJkQ29u
dGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQw
REFBRUIyNUQ5RjI1RTAwMTFCNEZBIC8qIFBhc3RlYm9hcmRDb250ZXh0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQwREFBRUYyNUQ5RjNCRjAw
MTFCNEZBIC8qIFBhZ2VQYXN0ZWJvYXJkQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwREFBRUUyNUQ5RjNCRjAwMTFCNEZBIC8qIFBhZ2VQ
YXN0ZWJvYXJkQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0xNzU4OSw2ICsxNzU5MiwxMiBAQAogCQlGM0FCRkUwQjEzMEU5REEwMDBF
N0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbnN0cnVtZW50aW5nQWdlbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUYzRDQ2MTQ2MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Vycm9ySGFuZGxlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vy
cm9ySGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Vycm9ySGFu
ZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY4QzI3NUMwODdCMDAz
QTgxRjggLyogTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBOYXZpZ2F0b3JDb29raWVDb25zZW50LmNwcDsgcGF0aCA9ICJjb29r
aWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmNwcCI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUY0MDM0RjhEMjc1QzA4N0IwMDNBODFGOCAvKiBOYXZpZ2F0b3JDb29raWVD
b25zZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5hdmlnYXRvckNvb2tp
ZUNvbnNlbnQuaDsgcGF0aCA9ICJjb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50
LmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY4RTI3NUMwODdDMDAzQTgx
RjggLyogTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9
ICJOYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGwiOyBwYXRoID0gImNvb2tpZS1jb25zZW50L05h
dmlnYXRvcitDb29raWVDb25zZW50LmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUY0MDM0RjhGMjc1QzE2ODYwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmg7IHBhdGggPSAi
Y29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmgiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY5MTI3NUMxNjg2MDAzQTgxRjggLyogUmVxdWVzdENv
b2tpZUNvbnNlbnRPcHRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMu
aWRsOyBwYXRoID0gImNvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5p
ZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY5QzI3NUM0NzgzMDAzQTgx
RjggLyogQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENvb2tp
ZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oOyBwYXRoID0gImNvb2tpZS1jb25zZW50L0Nvb2tpZUNv
bnNlbnREZWNpc2lvblJlc3VsdC5oIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQw
M0U3ODUyMzYzQjU4QzAwMDQ0NTUwIC8qIEVudGVyS2V5SGludC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBF
bnRlcktleUhpbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwM0U3ODYyMzYz
QjU4QzAwMDQ0NTUwIC8qIEVudGVyS2V5SGludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbnRl
cktleUhpbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDBEQUFFQjI1RDlG
MjVFMDAxMUI0RkEgLyogUGFzdGVib2FyZENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzdGVi
b2FyZENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI1ODAyLDYgKzI1
ODExLDcgQEAKIAkJCQk4MzIxNTA3OTFGMjdFOTZCMDA5NUIxMzYgLyogYmVhY29uICovLAogCQkJ
CTQxMzgwQzFFMUYzNDM2NjAwMDE1NUZEQSAvKiBjYWNoZSAqLywKIAkJCQlFNTk2REQyMzI1MTkw
MkQ2MDBDMjc1QTcgLyogY29udGFjdC1waWNrZXIgKi8sCisJCQkJRjQwMzRGOEIyNzVDMDg2NzAw
M0E4MUY4IC8qIGNvb2tpZS1jb25zZW50ICovLAogCQkJCTU3QzdBNjg4MUU1Njk0NkQwMEM2N0Q3
MSAvKiBjcmVkZW50aWFsbWFuYWdlbWVudCAqLywKIAkJCQlDREE5OERCRDE2MDE0RTA4MDBGRUEz
QjEgLyogZW5jcnlwdGVkbWVkaWEgKi8sCiAJCQkJODNGQjMzNjUxRjUwOEExNzAwOTg2RTU0IC8q
IGVudHJpZXNhcGkgKi8sCkBAIC0zMTIwNyw2ICszMTIxNywxOSBAQAogCQkJcGF0aCA9IG1hYzsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUY0MDM0RjhCMjc1QzA4NjcwMDNB
ODFGOCAvKiBjb29raWUtY29uc2VudCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJRjQwMzRGOUMyNzVDNDc4MzAwM0E4MUY4IC8qIENvb2tpZUNvbnNlbnRE
ZWNpc2lvblJlc3VsdC5oICovLAorCQkJCUY0MDM0RjhFMjc1QzA4N0MwMDNBODFGOCAvKiBOYXZp
Z2F0b3IrQ29va2llQ29uc2VudC5pZGwgKi8sCisJCQkJRjQwMzRGOEMyNzVDMDg3QjAwM0E4MUY4
IC8qIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwICovLAorCQkJCUY0MDM0RjhEMjc1QzA4N0Iw
MDNBODFGOCAvKiBOYXZpZ2F0b3JDb29raWVDb25zZW50LmggKi8sCisJCQkJRjQwMzRGOEYyNzVD
MTY4NjAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oICovLAorCQkJCUY0
MDM0RjkxMjc1QzE2ODYwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaWRs
ICovLAorCQkJKTsKKwkJCW5hbWUgPSAiY29va2llLWNvbnNlbnQiOworCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKKwkJfTsKIAkJRjQ0MEU3NjkyMzNEOTM2MjAwNjNGOUFCIC8qIENsaXBib2Fy
ZCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0zMzU5MCw2
ICszMzYxMyw3IEBACiAJCQkJRkQzMTYwMjkxMkIwMjY3NjAwQzFBMzU5IC8qIENvbnZvbHZlck5v
ZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzRjI4QzAwMjREQjFERTEwMDVCQTZGNiAvKiBDb252
b2x2ZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlEOEI2MTUyRjEwMzI0OTUxMDBDODU1
NEEgLyogQ29va2llLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDAzNEY5RDI3NUM0Nzg5MDAzQTgx
RjggLyogQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQlF
MTQyNEM5NDE2NEI1MkM4MDBGMzJENDAgLyogQ29va2llSmFyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3QTU2OTk3MDIwODZDNjE5MDAwRTA0MzMgLyogQ29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJv
eHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzRDAyMTJEMTMxREIzN0IwMDQwOTFBOCAvKiBDb29r
aWVTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKQEAgLTM2MDIzLDYgKzM2MDQ3LDcgQEAKIAkJCQk4
MzIxNTA3RTFGMjdFQTFCMDA5NUIxMzYgLyogTmF2aWdhdG9yQmVhY29uLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGNDQwRTc3QTIzM0Q5NEQ3MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFNTk2REQyOTI1MTkwM0QyMDBDMjc1QTcgLyogTmF2aWdhdG9y
Q29udGFjdHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0MDM0RkFFMjc1RUFENzYwMDNBODFGOCAv
KiBOYXZpZ2F0b3JDb29raWVDb25zZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzJEM0U1NzIx
NjU3OEFFMDBDNUUwMjEgLyogTmF2aWdhdG9yQ3JlZGVudGlhbHMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTk3MTE0NjA0MTRFRjAwOUEwMDY3NEZEOSAvKiBOYXZpZ2F0b3JHZW9sb2NhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNkI1MDdBMjQyMzRCRjM0MTAwQkU3QzYyIC8qIE5hdmlnYXRvcklz
TG9nZ2VkSW4uaCBpbiBIZWFkZXJzICovLApAQCAtMzY1OTcsNiArMzY2MjIsNyBAQAogCQkJCTA3
MUMwMDM0MjcwN0Q5NTUwMEQwMjdDNyAvKiBSZXBsYXlLaXRDYXB0dXJlU291cmNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0NkRENkUxRjI2RTdEQkU3MDA4QzFGNEMgLyogUmVwb3J0aW5nRW5kcG9p
bnRzQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OThBRUM2MTNGOUQwRUEwMDkwQjFBQSAv
KiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQw
MzRGQUMyNzVFQUQ2RTAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNERDAxMjUxRjEyRDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRU
eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1OEIyRjlGNDIyMzJENDUzMDA5MzhENjMgLyogUmVz
aXplT2JzZXJ2YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTU4QjJGOUY1MjIzMkQ0NTgwMDkz
OEQ2MyAvKiBSZXNpemVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJv
bWVDbGllbnQuaAppbmRleCAwZjhkNWM1ZTRiZGY0YWJiMjU0OWNlMTY5ZTUxN2U0YjQyMmEzNzky
Li4yNWMzYTk4MDI1YTg0MDYxOWFlNzVmNDVjZmQ4MGM3MmY3ZmFkZDFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJBWE9iamVjdENh
Y2hlLmgiCiAjaW5jbHVkZSAiQXV0b3BsYXlFdmVudC5oIgogI2luY2x1ZGUgIkNvbnRhY3RJbmZv
LmgiCisjaW5jbHVkZSAiQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmgiCiAjaW5jbHVkZSAi
Q3Vyc29yLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VEZXRhaWxzLmgiCiAjaW5jbHVkZSAiRGV2aWNl
T3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5oIgpAQCAtNjE5LDYgKzYyMCw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpIHsg
fQogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmIGNvbXBsZXRp
b24pIHsgY29tcGxldGlvbihDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRl
ZCk7IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgpID0gZGVmYXVs
dDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4IDY2
MmE4ZDUzNDgwYzIyOGZjOTg1ODI5YzFmODcxY2M1ZDAzZjI5NjEuLjIwMTZjYjQ4ZGQzOGUxOTUy
NzE1NzhjODYxMDNmNGNiY2M2NTE0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElVSUNsaWVudC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKICNp
bmNsdWRlICJXZWJIaXRUZXN0UmVzdWx0RGF0YS5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5o
IgorI2luY2x1ZGUgPFdlYkNvcmUvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRs
ZXIuaD4KIApAQCAtMTQ0LDYgKzE0NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY2hl
Y2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yT3JpZ2luKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2Vi
S2l0OjpXZWJGcmFtZVByb3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBTZWN1cml0eU9yaWdpbiYsIFdl
YktpdDo6VXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkmIHJlcXVlc3QpIHsgcmVxdWVzdC5k
ZW55KCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBTZWN1cml0eU9yaWdpbiYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBhbGxvd2VkKT4mJiBjb21wbGV0aW9uSGFuZGxlcikg
eyBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFN0
b3JhZ2VBY2Nlc3NDb25maXJtKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFt
ZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mIHJlcXVlc3RpbmdEb21h
aW4sIGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiBjdXJyZW50RG9tYWluLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRp
b25IYW5kbGVyKHRydWUpOyB9CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RDb29raWVDb25zZW50
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVz
dWx0KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihXZWJDb3JlOjpD
b29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7IH0KIAogICAgIC8vIFBy
aW50aW5nLgogICAgIHZpcnR1YWwgZmxvYXQgaGVhZGVySGVpZ2h0KFdlYktpdDo6V2ViUGFnZVBy
b3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5JikgeyByZXR1cm4gMDsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgK
aW5kZXggNGEyZjUwZWM4NzRlZGU4MzZiYTc1ZDE4MjMxNDI1YzVkY2QzZWZkYy4uYWQxN2RhODc3
ZjliMGVhNjAxMDVlZDc0NjE3OTZkYjcwMDQ4YzBjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCkBAIC0xNzcs
NiArMTc3LDggQEAgc3RydWN0IFVJRWRnZUluc2V0czsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYlZpZXcgc3RhcnRYUlNlc3Npb25XaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQg
KF4pKGlkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBp
b3MoMTUuMCkpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkZvclNlY3VyaXR5T3JpZ2luOihXS1NlY3VyaXR5T3JpZ2lu
ICopc2VjdXJpdHlPcmlnaW4gZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShCT09MKSlkZWNpc2lv
bkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKFdLX0lPU19UQkEp
KTsKIAorLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0Q29va2ll
Q29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKW1vcmVJbmZvSGFuZGxl
ciBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWRlY2lzaW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiAjaWYgVEFS
R0VUX09TX0lQSE9ORQogCiAtIChCT09MKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNo
b3VsZEluY2x1ZGVBcHBMaW5rQWN0aW9uc0ZvckVsZW1lbnQ6KF9XS0FjdGl2YXRlZEVsZW1lbnRJ
bmZvICopZWxlbWVudCBXS19BUElfQVZBSUxBQkxFKGlvcyg5LjApKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAppbmRleCBmZjIyNzU3NTAzNzY4NDFiYzVmOWEz
NmYzMzFkOGE0NzgyYjRmOGQ5Li5mZGFhYTFlYjcxMzBmZDY4ZGExZmE4NzQwMzQzNDI2YjQ1MWNk
Mjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCkBAIC0x
MDYsNiArMTA2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCB0YWtlRm9jdXMoV2ViUGFnZVBy
b3h5KiwgV0tGb2N1c0RpcmVjdGlvbikgZmluYWw7CiAgICAgICAgIHZvaWQgaGFuZGxlQXV0b3Bs
YXlFdmVudChXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpBdXRvcGxheUV2ZW50LCBPcHRpb25TZXQ8
V2ViQ29yZTo6QXV0b3BsYXlFdmVudEZsYWdzPikgZmluYWw7CiAgICAgICAgIHZvaWQgZGVjaWRl
UG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV2ViUGFnZVByb3h5JiwgQVBJ
OjpTZWN1cml0eU9yaWdpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBhbGxvd2VkKT4m
JikgZmluYWw7CisgICAgICAgIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmKSBmaW5h
bDsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgdm9pZCBzaG93UGFnZShXZWJQYWdlUHJv
eHkqKSBmaW5hbDsKQEAgLTI3MCw2ICsyNzEsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIHdl
YlZpZXdTdGFydFhSU2Vzc2lvbldpdGhDb21wbGV0aW9uSGFuZGxlciA6IDE7CiAjZW5kaWYKICAg
ICAgICAgYm9vbCB3ZWJWaWV3UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb25Gb3JTZWN1cml0
eU9yaWdpbkRlY2lzaW9uSGFuZGxlciA6IDE7CisgICAgICAgIGJvb2wgd2ViVmlld1JlcXVlc3RD
b29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlckRlY2lzaW9uSGFuZGxlciA6IDE7CiAgICAg
fSBtX2RlbGVnYXRlTWV0aG9kczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tCmluZGV4IDEzMTYwNzgyNjY3MmFhYTk4MmJiZTQxOGU1ZDUyOTU4MmMy
YzJkYjEuLmE0NzkzN2ZlYzk5MTMxMjhkMGJiYzRhNWI1NGUwOTY2MTg5NDM2ODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMTk3LDYgKzE5Nyw3
IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQgPFdLVUlEZWxlZ2F0ZT4gZGVsZWdh
dGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1N0YXJ0WFJTZXNzaW9uV2l0aENvbXBs
ZXRpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dl
YlZpZXc6c3RhcnRYUlNlc3Npb25XaXRoQ29tcGxldGlvbkhhbmRsZXI6KV07CiAjZW5kaWYKICAg
ICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb25G
b3JTZWN1cml0eU9yaWdpbkRlY2lzaW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uRm9y
U2VjdXJpdHlPcmlnaW46ZGVjaXNpb25IYW5kbGVyOildOworICAgIG1fZGVsZWdhdGVNZXRob2Rz
LndlYlZpZXdSZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXJEZWNpc2lvbkhh
bmRsZXIgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpy
ZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXI6ZGVjaXNpb25IYW5kbGVyOild
OwogfQogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC02NDEsNiArNjQyLDI0IEBAIHZv
aWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0KFdlYktpdDo6CiAgICAgfSkuZ2V0KCldOwogfQogCit2b2lkIFVJRGVsZWdh
dGU6OlVJQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlvbikKK3sK
KyAgICBpZiAoIW1fdWlEZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb24oV2ViQ29y
ZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOworCisgICAgaWYg
KCFtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSZXF1ZXN0Q29va2llQ29u
c2VudFdpdGhNb3JlSW5mb0hhbmRsZXJEZWNpc2lvbkhhbmRsZXIpCisgICAgICAgIHJldHVybiBj
b21wbGV0aW9uKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9y
dGVkKTsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGUuZ2V0
KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb24oV2ViQ29y
ZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOworCisgICAgLy8g
RklYTUU6IEFkZCBzdXBwb3J0IGZvciB0aGUgJ21vcmUgaW5mbycgaGFuZGxlci4KKyAgICBbKGlk
IDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1f
d2ViVmlldy5nZXQoKS5nZXQoKSByZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRs
ZXI6bmlsIGRlY2lzaW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb24gPSBXVEZNb3Zl
KGNvbXBsZXRpb24pXSAoQk9PTCBkZWNpc2lvbikgbXV0YWJsZSB7CisgICAgICAgIGNvbXBsZXRp
b24oZGVjaXNpb24gPyBXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6OkNvbnNl
bnQgOiBXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6OkRpc3NlbnQpOworICAg
IH0pLmdldCgpXTsKK30KKwogI2lmIFBMQVRGT1JNKE1BQykKIGJvb2wgVUlEZWxlZ2F0ZTo6VUlD
bGllbnQ6OmNhblJ1bk1vZGFsKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IDYyZDRiMGNiYTA1MWVkMGZiZmEyYjQyYmZlYmNmNGJkMmZjYjRl
ZjYuLjRmOTBiNWUyZTgyYzgxODE2NWUzZDMzMTNjNjdiYjk1NWZlZGMxYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTEwMDcsNiArMTEwMDcsMTEgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyQXBwUHJpdmFjeVJlcG9ydFRlc3RpbmdEYXRhKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJgogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpy
ZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKENvb2tpZUNvbnNlbnRE
ZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlvbikKK3sKKyAgICBtX3VpQ2xpZW50LT5yZXF1ZXN0
Q29va2llQ29uc2VudChXVEZNb3ZlKGNvbXBsZXRpb24pKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKICN1bmRlZiBXRUJQQUdFUFJPWFlfUkVMRUFTRV9MT0cKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNWE4MzJlNTVhY2JhMTg5YjM5YjllODk3Y2MxY2Ex
OGI3YjQ4NDU1NS4uZjJhNTM2NDc4MzE5MGE3MjRiZDM5MDA5MjM5NjJmYTMzNDRmNjdmMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTI2NSw2ICsyNjUsNyBAQCBj
bGFzcyBUZXh0SW5kaWNhdG9yOwogY2xhc3MgVmFsaWRhdGlvbkJ1YmJsZTsKIAogZW51bSBjbGFz
cyBBdXRvcGxheUV2ZW50IDogdWludDhfdDsKK2VudW0gY2xhc3MgQ29va2llQ29uc2VudERlY2lz
aW9uUmVzdWx0IDogdWludDhfdDsKIGVudW0gY2xhc3MgQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGln
aHQgOiBib29sOwogZW51bSBjbGFzcyBET01QYXN0ZUFjY2Vzc1Jlc3BvbnNlIDogdWludDhfdDsK
IGVudW0gY2xhc3MgRXZlbnRNYWtlc0dhbWVwYWRzVmlzaWJsZSA6IGJvb2w7CkBAIC0yMDMwLDYg
KzIwMzEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoY29uc3QgVmVj
dG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKTsKICAgICB2b2lkIGRpZERlc3Ryb3lOb3Rp
ZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOwogCisgICAgdm9pZCByZXF1ZXN0Q29v
a2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnRE
ZWNpc2lvblJlc3VsdCk+JiYpOworCiBwcml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xp
ZW50JiwgV2ViUHJvY2Vzc1Byb3h5JiwgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwog
ICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMDg3NzhhZTY1NDQ4YmVjYTgwMGI0
MGZkMzI4MzhjZDIzZWQ3OGI5My4uZDU2MzZhM2E2MmM3YWY4NGQ3MmQ0OThhZmRhZTFmMzJiOGY0
YjU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgpAQCAtNjE2LDQgKzYxNiw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAg
ICAgU3RhcnRBcHBsZVBheUFNU1VJU2Vzc2lvbihVUkwgb3JpZ2luYXRpbmdVUkwsIHN0cnVjdCBX
ZWJDb3JlOjpBcHBsZVBheUFNU1VJUmVxdWVzdCByZXF1ZXN0KSAtPiAoc3RkOjpvcHRpb25hbDxi
b29sPiByZXN1bHQpIEFzeW5jCiAgICAgQWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpCiAjZW5k
aWYKKworICAgIFJlcXVlc3RDb29raWVDb25zZW50KCkgLT4gKGVudW06dWludDhfdCBXZWJDb3Jl
OjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQgcmVzdWx0KSBBc3luYwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAppbmRleCAzZjI4NjJjZmI2N2NmMWQyZWZmZjczNDAxNjZiZDQ1YjU1MmI1YTRk
Li4xMzgyNGZmMTZiZTFmNTUyZGU5ODAwZmQzYjY2OWM4ZGRiNzM5YjdkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcApAQCAtMTU1OSw0ICsxNTU5LDkgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFi
b3J0QXBwbGVQYXlBTVNVSVNlc3Npb24oKQogCiAjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9B
TVNfVUkpCiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29uc2VudChDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+
JiYgY29tcGxldGlvbikKK3sKKyAgICBtX3BhZ2Uuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OlJlcXVlc3RDb29raWVDb25zZW50KCksIFdURk1vdmUoY29tcGxldGlv
bikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBk
MDJlZGYxYjJkY2Q5ZWM5ZTVmY2ZiMjg1MzZlMTg2OWQ2YzY0NmI0Li5jYjIxNDcwYTEwZGM0NTM0
NDlhMjFjMzc1ZTY4M2VkZWZjMmFlMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0zMSw2ICsz
MSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBIVE1MSW1hZ2VFbGVtZW50OwogY2xh
c3MgUmVnaXN0cmFibGVEb21haW47CitlbnVtIGNsYXNzIENvb2tpZUNvbnNlbnREZWNpc2lvblJl
c3VsdCA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFN0b3JhZ2VBY2Nlc3NQcm9tcHRXYXNTaG93biA6
IGJvb2w7CiBlbnVtIGNsYXNzIFN0b3JhZ2VBY2Nlc3NXYXNHcmFudGVkIDogYm9vbDsKIH0KQEAg
LTQ2Miw2ICs0NjMsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJU2Vz
c2lvbigpIGZpbmFsOwogI2VuZGlmCiAKKyAgICB2b2lkIHJlcXVlc3RDb29raWVDb25zZW50KENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0
KT4mJikgZmluYWw7CisKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZWRNYWluRnJhbWVIYXNIb3Jp
em9udGFsU2Nyb2xsYmFyIHsgZmFsc2UgfTsKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZWRNYWlu
RnJhbWVIYXNWZXJ0aWNhbFNjcm9sbGJhciB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkZWFiZmZiZmI0ZTg5NmQyZTlmOTYw
ZmQ5OGQwNTA4Y2ZlZTQzOTZmLi5iZDM5YzhlMGI4Y2JjNWNiMGZlZmM5ZTUyYzljYzAyZjE2MDVk
MGRhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMjEtMTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENv
b2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRh
cjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHNldmVyYWwgbmV3IEFQSSB0ZXN0cyB0aGF0IGVuYWJsZSB0aGUgZmVhdHVyZSBm
bGFnIGFuZCBleGVyY2lzZSB0aGUgQVBJLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvQ29va2llQ29uc2VudC5tbTogQWRkZWQuCisgICAgICAgICgtW0Nv
b2tpZUNvbnNlbnREZWxlZ2F0ZSBfd2ViVmlldzpyZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3Jl
SW5mb0hhbmRsZXI6ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
Y3JlYXRlV2ViVmlld0ZvclRlc3RpbmdDb29raWVDb25zZW50KToKKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OmNoZWNrRm9yU3RyaW5nKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2Nvb2tpZS1jb25zZW50LWJhc2lj
Lmh0bWw6IEFkZGVkLgorCiAyMDIxLTEyLTA2ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
IAogICAgICAgICBVcGRhdGUgR1BVIFByb2Nlc3MgZmVhdHVyZSBmbGFncwpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA1MjZmZTUwZGVmOGJmNzJmMGM3NTVmOTUyZjFkZjEzYjVhY2VjNjI4Li41
Yzc0MmM2MzAxMDZlNDg2ZDA1MjQ4MDY4YjdkZDdlYjM2ZWRlMjE5IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtOTk2LDYgKzk5Niw4IEBACiAJCUY0MDEwQjgwMjREQTI0QUMwMEE4NzZFMiAv
KiBOYXZpZ2F0aW9uU3dpcGVUZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY0MDEwQjdGMjREQTI0QUMwMEE4NzZFMiAvKiBOYXZpZ2F0aW9uU3dp
cGVUZXN0cy5tbSAqLzsgfTsKIAkJRjQwMTBCODMyNERBMjY3RjAwQTg3NkUyIC8qIFBvc2VBc0Ns
YXNzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQw
MTBCODEyNERBMjY3RjAwQTg3NkUyIC8qIFBvc2VBc0NsYXNzLm1tICovOyB9OwogCQlGNDAyRjU2
QzIzRUNDMkZCMDA4NjU1NDkgLyogVUlXS0ludGVyYWN0aW9uVmlld1Byb3RvY29sLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwMkY1NkIyM0VDQzJG
QjAwODY1NTQ5IC8qIFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbC5tbSAqLzsgfTsKKwkJRjQw
MzRGQTEyNzVENTQwMjAwM0E4MUY4IC8qIENvb2tpZUNvbnNlbnQubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEZBMDI3NUQ1NDAyMDAzQTgxRjgg
LyogQ29va2llQ29uc2VudC5tbSAqLzsgfTsKKwkJRjQwMzRGQTMyNzVENUFDNjAwM0E4MUY4IC8q
IGNvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwMzRGQTIyNzVENTQ0OTAwM0E4MUY4IC8qIGNvb2tp
ZS1jb25zZW50LWJhc2ljLmh0bWwgKi87IH07CiAJCUY0MDdGRTM5MUYxRDBERkMwMDE3Q0YyNSAv
KiBlbm9ybW91cy5zdmcgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQwN0ZFMzgxRjFEMERFNjAwMTdDRjI1IC8qIGVub3Jtb3VzLnN2ZyAqLzsg
fTsKIAkJRjQwOTRDQzcyNTU0NUJENTAwM0Q3M0UzIC8qIERpc3BsYXlMaXN0VGVzdHMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwOTRDQzYyNTU0
NUJENTAwM0Q3M0UzIC8qIERpc3BsYXlMaXN0VGVzdHMuY3BwICovOyB9OwogCQlGNDE1MDg2RDFE
QTA0MEM1MDA0NEJFOUIgLyogcGxheS1hdWRpby1vbi1jbGljay5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MTUwODZDMURBMDQwQzEw
MDQ0QkU5QiAvKiBwbGF5LWF1ZGlvLW9uLWNsaWNrLmh0bWwgKi87IH07CkBAIC0xMjY0LDYgKzEy
NjYsNyBAQAogCQkJCUExM0QxQUQ2MjRBRDQ2OEYwMDNGOTJBOCAvKiBjb250ZXh0LW1lbnUtY29u
dHJvbC1jbGljay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUxNDJCMjczMTUxN0M4
QzgwMEMzMkIxOSAvKiBDb250ZXh0TWVudUNhbkNvcHlVUkwuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQlDRDBCRDBBODFGNzk5ODJEMDAxQUIyQ0YgLyogQ29udGV4dE1lbnVJbWdXaXRo
VmlkZW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlGNDAzNEZBMzI3NUQ1QUM2MDAz
QTgxRjggLyogY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
IAkJCQk1QzI5MzY5NjFENUMwMEVEMDBERUFCMUUgLyogQ29va2llTWVzc2FnZS5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovLAogCQkJCTlCMUY2Rjc5MUY5MDU1OUUwMEI1NTc0NCAvKiBjb3B5LWh0
bWwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk5QjYyNjMwQzFGOEMyNUM4MDA3RUUy
OUIgLyogY29weS11cmwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTI5MjMsNiArMjky
Niw4IEBACiAJCUY0MDEwQjgxMjREQTI2N0YwMEE4NzZFMiAvKiBQb3NlQXNDbGFzcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFBvc2VBc0NsYXNzLm1tOyBwYXRo
ID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9jb2NvYS9Qb3NlQXNDbGFzcy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRjQwMTBCODIyNERBMjY3RjAwQTg3NkUyIC8qIFBvc2VBc0NsYXNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFBvc2VBc0NsYXNzLmg7IHBhdGgg
PSAuLi9UZXN0UnVubmVyU2hhcmVkL2NvY29hL1Bvc2VBc0NsYXNzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY0MDJGNTZCMjNFQ0MyRkIwMDg2NTU0OSAvKiBVSVdLSW50ZXJhY3Rp
b25WaWV3UHJvdG9jb2wubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVSVdLSW50ZXJhY3Rpb25W
aWV3UHJvdG9jb2wubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RkEwMjc1
RDU0MDIwMDNBODFGOCAvKiBDb29raWVDb25zZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
Q29va2llQ29uc2VudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRGQTIy
NzVENTQ0OTAwM0E4MUY4IC8qIGNvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAi
Y29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUY0MDdGRTM4MUYxRDBERTYwMDE3Q0YyNSAvKiBlbm9ybW91cy5zdmcgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gZW5vcm1vdXMu
c3ZnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDA5NENDNjI1NTQ1QkQ1MDAzRDcz
RTMgLyogRGlzcGxheUxpc3RUZXN0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5TGlz
dFRlc3RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQxMDZDNjgyMUFDQkY4
NDAwNEI4OUExIC8qIFdLV2ViVmlld0ZpcnN0UmVzcG9uZGVyVGVzdHMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXS1dlYlZpZXdGaXJzdFJlc3BvbmRlclRlc3RzLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMzI3MCw2ICszMjc1LDcgQEAKIAkJCQlDMUY3QjczODI0NDkwODNG
MDAxMjQ1NTcgLyogQUdYQ29tcGlsZXJTZXJ2aWNlLm1tICovLAogCQkJCUMxNUNCQjJGMjNGMUZG
MUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSAqLywKIAkJCQlDMTY5
MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLywKKwkJCQlGNDAzNEZBMDI3NUQ1
NDAyMDAzQTgxRjggLyogQ29va2llQ29uc2VudC5tbSAqLywKIAkJCQlDMTNEODJEODI0MTZGMTMy
MDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLywKIAkJCQkxQzgxODAyNjI1RkIw
OUUyMDA2MDhCM0UgLyogRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tICovLAogCQkJCUUzOTRB
RTZFMjNGMjMwM0UwMDVCNDkzNiAvKiBHcmFudEFjY2Vzc1RvTW9iaWxlQXNzZXRzLm1tICovLApA
QCAtNDU5MSw2ICs0NTk3LDcgQEAKIAkJCQkxQTUwQUExRjFBMkE0RUE1MDBGNEMzNDUgLyogY2xv
c2UtZnJvbS13aXRoaW4tY3JlYXRlLXBhZ2UuaHRtbCAqLywKIAkJCQk5QjI3MEZFRDFEREMyNUZE
MDAyRDUzRjMgLyogY2xvc2VkLXNoYWRvdy10cmVlLXRlc3QuaHRtbCAqLywKIAkJCQk1QzlFNTY4
NjFERjkxNDhFMDBDOUVFMzMgLyogY29udGVudEJsb2NrZXJDaGVjay5odG1sICovLAorCQkJCUY0
MDM0RkEyMjc1RDU0NDkwMDNBODFGOCAvKiBjb29raWUtY29uc2VudC1iYXNpYy5odG1sICovLAog
CQkJCTJEREQ0REEzMjcwQjhCMzMwMDY1OUE2MSAvKiBjdWJlLnVzZHogKi8sCiAJCQkJMjkwRjQy
NzQxNzJBMUZERTAwOTM5RkYwIC8qIGN1c3RvbS1wcm90b2NvbC1zeW5jLXhoci5odG1sICovLAog
CQkJCTExODE1MzQzMjIwOEI3QUMwMEIyQ0NEMiAvKiBkZWZlcnJlZC1zY3JpcHQtbG9hZC5odG1s
ICovLApAQCAtNTQwNSw2ICs1NDEyLDcgQEAKIAkJCQk4MzQ5RDNDMjFEQjk2RERFMDA0QTlGNjUg
LyogQ29udGV4dE1lbnVEb3dubG9hZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEMEJEMEE2MUY3
OTkyNEQwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUExQzE0MkMyMjRBQTdCMkUwMDQ0NDIwNyAvKiBDb250ZXh0TWVudU1vdXNlRXZlbnRz
Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRjQwMzRGQTEyNzVENTQwMjAwM0E4MUY4IC8qIENvb2tp
ZUNvbnNlbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VBQzFBNDExQTM0MDA0NDdDNEMg
LyogQ291bnRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FFQUQ0N0YxRTIwMTE2QzAwNDE2
RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTdDQ0U3RURCMUE0MTFBOTIwMDQ0N0M0QyAvKiBDU1NQYXJzZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Db29raWVD
b25zZW50Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ29va2llQ29uc2Vu
dC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yZGEwZGU5MGVjN2QyMmY3NDAyOTZiZGEzODFlZjE0N2ViMWQ4NTVl
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ29v
a2llQ29uc2VudC5tbQpAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNv
bmZpZy5oIgorCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tQ
cmVmZXJlbmNlc1ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XZWJLaXRQcml2YXRlLmg+Cisj
aW1wb3J0IDxXZWJLaXQvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaD4KKworQGludGVyZmFjZSBD
b29raWVDb25zZW50RGVsZWdhdGUgOiBOU09iamVjdDxXS1VJRGVsZWdhdGVQcml2YXRlPgorQHBy
b3BlcnR5IChub25hdG9taWMpIEJPT0wgZGVjaXNpb247CitAZW5kCisKK0BpbXBsZW1lbnRhdGlv
biBDb29raWVDb25zZW50RGVsZWdhdGUKKworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyByZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXI6KHZvaWQgKF4p
KHZvaWQpKW1vcmVJbmZvSGFuZGxlciBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWRl
Y2lzaW9uSGFuZGxlcgoreworICAgIGRlY2lzaW9uSGFuZGxlcihzZWxmLmRlY2lzaW9uKTsKK30K
KworQGVuZAorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK3N0YXRpYyBSZXRhaW5QdHI8
VGVzdFdLV2ViVmlldz4gY3JlYXRlV2ViVmlld0ZvclRlc3RpbmdDb29raWVDb25zZW50KCkKK3sK
KyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF0pOworICAgIGZvciAoX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKmZlYXR1
cmUgaW4gV0tQcmVmZXJlbmNlcy5faW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKSB7CisgICAgICAgIGlm
IChbZmVhdHVyZS5rZXkgaXNFcXVhbFRvU3RyaW5nOkAiQ29va2llQ29uc2VudEFQSUVuYWJsZWQi
XSkgeworICAgICAgICAgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxl
ZDpZRVMgZm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6ZmVhdHVyZV07CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA0MDAsIDQwMCkgY29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7Cit9CisKK3N0YXRpYyB2b2lkIGNoZWNrRm9yU3Ry
aW5nKFRlc3RXS1dlYlZpZXcgKndlYlZpZXcsIE5TU3RyaW5nICpleHBlY3RlZFN0cmluZykKK3sK
KyAgICBhdXRvIGNvbnRlbnRzQXNTdHJpbmcgPSBSZXRhaW5QdHIgeyB3ZWJWaWV3LmNvbnRlbnRz
QXNTdHJpbmcgfTsKKyAgICBCT09MIGNvbnRhaW5zU3RyaW5nID0gW2NvbnRlbnRzQXNTdHJpbmcg
Y29udGFpbnNTdHJpbmc6ZXhwZWN0ZWRTdHJpbmddOworICAgIEVYUEVDVF9UUlVFKGNvbnRhaW5z
U3RyaW5nKTsKKyAgICBpZiAoIWNvbnRhaW5zU3RyaW5nKQorICAgICAgICBOU0xvZyhAIkV4cGVj
dGVkOiBcIiVAXCIgdG8gY29udGFpbjogXCIlQFwiIiwgY29udGVudHNBc1N0cmluZy5nZXQoKSwg
ZXhwZWN0ZWRTdHJpbmcpOworfQorCitURVNUKENvb2tpZUNvbnNlbnQsIEJhc2ljRGVjaXNpb25I
YW5kbGVyKQoreworICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdlYlZpZXdGb3JUZXN0aW5nQ29v
a2llQ29uc2VudCgpOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbQ29va2llQ29uc2Vu
dERlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW2RlbGVnYXRlIHNldERlY2lzaW9uOllFU107
CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZp
ZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiY29va2llLWNvbnNlbnQtYmFzaWMi
XTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgY2hl
Y2tGb3JTdHJpbmcod2ViVmlldy5nZXQoKSwgQCJyZXR1cm5lZDogdHJ1ZSIpOworCisgICAgW2Rl
bGVnYXRlIHNldERlY2lzaW9uOk5PXTsKKyAgICBbd2ViVmlldyBfa2lsbFdlYkNvbnRlbnRQcm9j
ZXNzQW5kUmVzZXRTdGF0ZV07CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFn
ZU5hbWVkOkAiY29va2llLWNvbnNlbnQtYmFzaWMiXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4
dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgY2hlY2tGb3JTdHJpbmcod2ViVmlldy5nZXQoKSwg
QCJyZXR1cm5lZDogZmFsc2UiKTsKK30KKworVEVTVChDb29raWVDb25zZW50LCBOb3RFbmFibGVk
KQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgNDAwLCA0MDApXSk7CisgICAgW3dlYlZpZXcg
c3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiY29va2llLWNvbnNlbnQtYmFzaWMiXTsK
KyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgY2hlY2tG
b3JTdHJpbmcod2ViVmlldy5nZXQoKSwgQCJub3QgZW5hYmxlZCIpOworfQorCitURVNUKENvb2tp
ZUNvbnNlbnQsIFRocm93c0V4Y2VwdGlvbldpdGhvdXREZWxlZ2F0ZSkKK3sKKyAgICBhdXRvIHdl
YlZpZXcgPSBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ0Nvb2tpZUNvbnNlbnQoKTsKKyAgICBbd2Vi
VmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJjb29raWUtY29uc2VudC1iYXNp
YyJdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBj
aGVja0ZvclN0cmluZyh3ZWJWaWV3LmdldCgpLCBAInRocmV3IGV4Y2VwdGlvbjogTm90U3VwcG9y
dGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIpOworfQorCit9IC8vIG5h
bWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9jb29raWUtY29uc2VudC1iYXNpYy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNmE4
M2FjNDM0YTJhYzdkMDUxZjFiNWY2ZDNhNzFjMmYxMmRhYmQzCi0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvY29va2llLWNvbnNlbnQtYmFzaWMuaHRt
bApAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNl
dD0idXRmOCI+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPGhlYWQ+Cis8c2NyaXB0PgorYWRkRXZlbnRMaXN0ZW5l
cigiRE9NQ29udGVudExvYWRlZCIsIGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBvdXRwdXQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7CisgICAgaWYgKCFuYXZpZ2F0b3IucmVx
dWVzdENvb2tpZUNvbnNlbnQpIHsKKyAgICAgICAgb3V0cHV0LnRleHRDb250ZW50ID0gIm5vdCBl
bmFibGVkIjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHRyeSB7CisgICAgICAgIGxl
dCBjb25zZW50ID0gYXdhaXQgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50KCk7CisgICAg
ICAgIG91dHB1dC50ZXh0Q29udGVudCA9IGByZXR1cm5lZDogJHtjb25zZW50fWA7CisgICAgfSBj
YXRjaCAoZSkgeworICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSBgdGhyZXcgZXhjZXB0aW9u
OiAke2V9YDsKKyAgICB9Cit9KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cHJlPm5h
dmlnYXRvci5yZXF1ZXN0Q29va2llQ29uc2VudCgpPC9wcmU+Cis8cHJlPuKGqiZuYnNwOzxjb2Rl
IGlkPSJvdXRwdXQiPjwvY29kZT48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446083</attachid>
            <date>2021-12-06 14:18:00 -0800</date>
            <delta_ts>2021-12-07 16:30:14 -0800</delta_ts>
            <desc>Adjust ChangeLog</desc>
            <filename>bug-233890-20211206141758.patch</filename>
            <type>text/plain</type>
            <size>59856</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDM1NWUyZDc1MTk1ZGY2M2JlODA4MWVk
MDRiZTNlMDlmMDU1ZThkNmQuLjFiYzliMDNhODQ2NGY1ZTQxZjM5Mzc4OTZhMzY4YWE1OTQ4ZWFk
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3Iu
cmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAg
ICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmVhdHVyZSBmbGFnIChvZmYgYnkgZGVmYXVsdCku
IE5vdGUgdGhhdCB0aGlzIGlzIGFsc28gb25seSBhbiBpbnRlcm5hbCBmZWF0dXJlIGZsYWcgZm9y
IHRoZSB0aW1lCisgICAgICAgIGJlaW5nIChyYXRoZXIgdGhhbiBhbiBleHBlcmltZW50YWwgZmVh
dHVyZSBmbGFnKSwgc3VjaCB0aGF0IGl0IGNhbm5vdCAoeWV0KSBiZSB0dXJuZWQgb24gYnkgbm9u
LUFwcGxlIGludGVybmFsCisgICAgICAgIHVzZXJzLgorCisgICAgICAgICogU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWw6CisKIDIwMjEtMTItMDYgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgY2FsbCB0
byBvc19zaWducG9zdCB0byB0YWcgYSBtb21lbnR1bSBzY3JvbGwgYW5pbWF0aW9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggMmRlZmVkODIxNTg0YmVjYTE5NjE5YTdkZjdjNWMyM2I3Y2IwMzk4Zi4uMjliN2QxNzRl
ZTRjOWIzYzBiMzI3YTNmMGQ4MzBkNWMwY2Y2NGVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0
IEBACisyMDIxLTEyLTA2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50
KClgIGJlaGluZCBhIGRpc2FibGVkIGZlYXR1cmUgZmxhZworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODkwCisgICAgICAgIHJkYXI6Ly84NjExNzcx
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBw
bHVtYmluZyB0byBzdXBwb3J0IGEgbmV3IChpbnRlcm5hbC1mb3ItdGhlLXRpbWUtYmVpbmcpIG5h
dmlnYXRvciBBUEksIGByZXF1ZXN0Q29va2llQ29uc2VudCgpYC4gVGhpcworICAgICAgICByZXR1
cm5zIGEgcHJvbWlzZSBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSB1c2VyIChvciB0aGUg
VUEsIG9uIGJlaGFsZiBvZiB0aGUgdXNlcikgY29uc2VudHMgdG8gdXNhZ2Ugb2YKKyAgICAgICAg
Y29va2llcyB0aGF0IGFyZSBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5IGZvciBwYWdlIHBlcmZvcm1h
bmNlLgorCisgICAgICAgIFBhaXJlZCB3aXRoIHRoaXMgd2ViLWZhY2luZyBBUEksIHdlIGFsc28g
aW50cm9kdWNlIGNvcnJlc3BvbmRpbmcgcHJpdmF0ZSBXS1VJRGVsZWdhdGUgbWV0aG9kcyB0aGF0
IGFyZSBpbnZva2VkCisgICAgICAgIGFzIGEgcmVzdWx0IG9mIGNhbGxpbmcgYG5hdmlnYXRvci5y
ZXF1ZXN0Q29va2llQ29uc2VudCgpO2AsIHdoaWNoIGEgV2ViS2l0IGVtYmVkZGVyIG1heSBpbXBs
ZW1lbnQgaW4gb3JkZXIgdG8KKyAgICAgICAgcHJlc2VudCBVSSBvciBvdGhlcndpc2UgcmVzcG9u
ZCBhcHByb3ByaWF0ZWx5IHRvIHRoZSByZXF1ZXN0LiBTZWUgV2ViS2l0IENoYW5nZUxvZyBmb3Ig
bW9yZSBkZXRhaWxzLgorCisgICAgICAgIFdlIGludGVuZCB0byBjb250aW51ZSBmbGVzaGluZyBv
dXQgdGhpcyBBUEkgaW4gdGhlIChuZWFyKSBmdXR1cmUsIGFzIGEgcGFydCBvZiB0aGlzIGV4cGxh
aW5lcjoKKyAgICAgICAgPGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXQvZXhwbGFpbmVycy90cmVl
L21haW4vQ2VudHJhbGl6ZWRDb25zZW50QVBJPi4KKworICAgICAgICBUZXN0czogIENvb2tpZUNv
bnNlbnQuQmFzaWNEZWNpc2lvbkhhbmRsZXIKKyAgICAgICAgICAgICAgICBDb29raWVDb25zZW50
Lk5vdEVuYWJsZWQKKyAgICAgICAgICAgICAgICBDb29raWVDb25zZW50LlRocm93c0V4Y2VwdGlv
bldpdGhvdXREZWxlZ2F0ZQorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9D
b29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9j
b29raWUtY29uc2VudC9OYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGw6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHA6IEFk
ZGVkLgorCisgICAgICAgIEFkZCBhIG5ldyBwYXJ0aWFsIGludGVyZmFjZSBvbiBOYXZpZ2F0b3Ig
dGhhdCBpbXBsZW1lbnRzIHRoZSBuZXcgQVBJIGJ5IGNhbGxpbmcgaW50byB0aGUgY2hyb21lIGNs
aWVudCBob29rIChzZWUKKyAgICAgICAgV2ViS2l0IGNoYW5nZXMgZm9yIG1vcmUgZGV0YWlscyku
IE5vdGUgdGhhdCBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgY29uc2VudCBkZWxlZ2F0ZSBtZXRob2Qg
aXMgbm90IGltcGxlbWVudGVkIGJ5CisgICAgICAgIHRoZSBjbGllbnQsIHdlIHdpbGwgcmVqZWN0
IHRoZSBwcm9taXNlIHdpdGggYSBgTm90U3VwcG9ydGVkRXJyb3JgLgorCisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0b3JDb29raWVDb25zZW50OjpyZXF1ZXN0Q29va2llQ29uc2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDb29raWVDb25zZW50Ojpmcm9tKToKKyAgICAgICAgKiBN
b2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuaDogQWRkZWQuCisg
ICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlv
bnMuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29v
a2llQ29uc2VudE9wdGlvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0
ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uLmNwcDoKKyAgICAgICAg
KiBNb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0
aW9uLmg6CisKKyAgICAgICAgQWRkIHNvbWUgbWlzc2luZyBpbmNsdWRlcyB0byBmaXggdGhlIHVu
aWZpZWQgc291cmNlIGJ1aWxkIG9uIFdpbmRvd3MuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
cGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cmVx
dWVzdENvb2tpZUNvbnNlbnQpOgorCiAyMDIxLTEyLTA2ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ1NTIENvbG9yIDVdIFVwZGF0ZSBjb2xvci1taXgoKSB0byBz
dXBwb3J0IHNyZ2ItbGluZWFyIGFuZCBhbHBoYSBwcmVtdWx0aXBsaWNhdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBhMzYzNWFkMDMwZWVlNDBlYmI0YTVhNmRlODQzYjkwMmUyZDI4MWI3Li5mMzY5MjkzNTY0MTY2
NzcxYjEzN2RjOWI4NTUwOThiNzVmMGY1ZTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisy
MDIxLTEyLTA2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50KClgIGJl
aGluZCBhIGRpc2FibGVkIGZlYXR1cmUgZmxhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODkwCisgICAgICAgIHJkYXI6Ly84NjExNzcxOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwbHVtYmlu
ZyBmb3IgYW4gYXN5bmMgYHJlcXVlc3RDb29raWVDb25zZW50KClgIG1ldGhvZCBvbiBDaHJvbWVD
bGllbnQgdGhhdCBwbHVtYnMgdGhyb3VnaCB0aGUgV2ViS2l0MiBjbGllbnQKKyAgICAgICAgbGF5
ZXIsIGludG8gYSBuZXcgcHJpdmF0ZSAoZm9yIHRoZSB0aW1lIGJlaW5nKSBVSSBkZWxlZ2F0ZSBt
ZXRob2QuIElmIHRoZSBuZXcgZGVsZWdhdGUgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZAorICAg
ICAgICAob3IgdGhlcmUgaXMgbm8gVUkgZGVsZWdhdGUgYXQgYWxsKSwgd2UgaW1tZWRpYXRlbHkg
aW52b2tlIHRoZSBkZWNpc2lvbiBoYW5kbGVyIHdpdGggYSByZXN1bHQgb2YgYE5vdFN1cHBvcnRl
ZGAsCisgICAgICAgIGFsbG93aW5nIHVzIHRvIHJlamVjdCB0aGUgcHJvbWlzZSB3aXRoIGEgYE5v
dFN1cHBvcnRlZEVycm9yYC4KKworICAgICAgICBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1v
cmUgZGV0YWlscy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAg
ICAgICAgKEFQSTo6VUlDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURl
bGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29uc2Vu
dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0Q29v
a2llQ29uc2VudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaDoKKwogMjAyMS0xMi0wNiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2ZXJ0aW5nIGxvY2FsIHRlc3QgY29kZSB0aGF0IHNob3VsZCBub3QgaGF2
ZSBiZWVuIGxhbmRlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNl
cy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVy
ZW5jZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IDAzYmI0YWUzMDFlNTllYWZh
N2QyYjU2YmJmYjBhNTM5YTgzMDA4YzUuLmUxYmFmZmMzNzg0MjhkYWFmYWYyYThhMjU5Yzc1YzVi
MTJjMWZjYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQ
cmVmZXJlbmNlc0ludGVybmFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVu
Y2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMTc2LDYgKzE3NiwxOSBAQCBDYXB0
dXJlVmlkZW9JblVJUHJvY2Vzc0VuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDog
ZmFsc2UKIAorQ29va2llQ29uc2VudEFQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJDb29raWUgQ29uc2VudCBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBjb29raWUgY29uc2VudCBBUEkiCisgIGV4cG9zZWQ6IFsgV2ViS2l0IF0K
KyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAg
IFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAg
ZGVmYXVsdDogZmFsc2UKKwogRE9NUGFzdGVBY2Nlc3NSZXF1ZXN0c0VuYWJsZWQ6CiAgIHR5cGU6
IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJET00gUGFzdGUgQWNjZXNzIFJlcXVlc3RzIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3NjI0MzI0ZDk1ZDY5NDE5ZmMwMzJjNzg2ZmZiYjM3Yzc2
N2FhMTJjLi5kNDQ5ZGU4YjAwYWI1NDdlNjhjODU4ZWZlZGNiYTUzMGE5NWEwZTFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMjcsNiArMjcsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0lOQ0xV
REVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9iZWFjb24iCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY2FjaGUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVs
ZXMvY29udGFjdC1waWNrZXIiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY29va2llLWNv
bnNlbnQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQi
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5IgpAQCAtMjU2LDYgKzI1Nyw5
IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9jb250YWN0LXBp
Y2tlci9Db250YWN0c1NlbGVjdE9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy9jb250YWN0LXBpY2tl
ci9OYXZpZ2F0b3IrQ29udGFjdHMuaWRsCiAKKyAgICBNb2R1bGVzL2Nvb2tpZS1jb25zZW50L05h
dmlnYXRvcitDb29raWVDb25zZW50LmlkbAorICAgIE1vZHVsZXMvY29va2llLWNvbnNlbnQvUmVx
dWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbAorCiAgICAgTW9kdWxlcy9jcmVkZW50aWFsbWFu
YWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCiAgICAgTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdl
bWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbAogICAgIE1vZHVsZXMvY3JlZGVudGlh
bG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggNGZmOGUzZjIwYjJjYmNm
MTc4NmFlODgzMTdiNTFhYWQ3NjNhYTczNy4uZWNkN2FlNThkNzEwMWEzODY1NjNjZTJmYzIzOTVk
YTY0ZTcxM2M1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54
Y2ZpbGVsaXN0CkBAIC0yMzIsNiArMjMyLDggQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jb250
YWN0LXBpY2tlci9Db250YWN0UHJvcGVydHkuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Nv
bnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Y29udGFjdC1waWNrZXIvQ29udGFjdHNTZWxlY3RPcHRpb25zLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9jb250YWN0LXBpY2tlci9OYXZpZ2F0b3IrQ29udGFjdHMuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50LmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2Vu
dE9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50
L0Jhc2ljQ3JlZGVudGlhbC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY3JlZGVudGlhbG1h
bmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRl
eCBkMjdmNmU0NjYwZWI2YmI4ZDVkOGQwNDBlMTZjNzFjZDc5Yzk2MmQxLi45OTZjYmRlMjExNmVl
ZTIyODg0ODQ4ZTE0ZTFlNTgxNmE4MTdkZjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTY0Nyw2ICsxNjQ3LDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ2xpcGJv
YXJkLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNO
YXZpZ2F0b3IrQ2xpcGJvYXJkLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTmF2aWdhdG9yK0NvbnRhY3RzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ29udGFjdHMuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ29va2llQ29u
c2VudC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ3JlZGVudGlhbHMuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitDcmVkZW50aWFscy5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRv
citFTUUuY3BwCkBAIC0yMDg5LDYgKzIwOTEsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5Q2FsbGJhYwog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZW1vdGVQbGF5
YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JlcXVlc3RBbmltYXRp
b25GcmFtZUNhbGxiYWNrLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlv
bnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXNp
emVPYnNlcnZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUmVzaXplT2JzZXJ2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNSZXNpemVPYnNlcnZlckJveE9wdGlvbnMuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQppbmRleCBhNGZmNDUxZjJmMTMwZGM2ZTEyNzZhNjUxYzNmYjdhOTEyMjk5
OWZkLi4zM2JkNmUwMGRjOGI2MmYxZGExYzBjOTUwY2I5MjhiMjg3YTZmZjFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1NCw2ICsyNTQsOCBAQCBKU19CSU5ESU5HX0lETFMg
Oj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c01hbmFn
ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNT
ZWxlY3RPcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NvbnRhY3QtcGlja2Vy
L05hdmlnYXRvcitDb250YWN0cy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jb29raWUt
Y29uc2VudC9OYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50aWFs
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY3JlZGVu
dGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQppbmRleCBmNTI4MzQzYTZjZmIwZjhhNjhjYjkyYWJjYzA0MjdmN2U3Y2RkMjQzLi45ZGM5
Mjk4ODM5NTFjZGU2OTQyYTYxYWZmZWVjYjFiOTJhZWI1Y2M0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
QEAgLTE1Myw2ICsxNTMsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJT
CiAgICAgTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0UHJvcGVydHkuaAogICAgIE1vZHVs
ZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNSZXF1ZXN0RGF0YS5oCiAKKyAgICBNb2R1bGVzL2Nv
b2tpZS1jb25zZW50L0Nvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oCisKICAgICBNb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL0NETUNsaWVudC5oCiAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVN5c3RlbUNsaWVudC5oCiAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVN5c3RlbUNvbnRyb2xsZXIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
b29raWUtY29uc2VudC9Db29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDMzNjQxMjgxY2RiZjE2M2U3MjA0MTFjOGM0M2I2NjViYjA2ZTAzZgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvQ29v
a2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitlbnVtIGNsYXNzIENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCA6IHVp
bnQ4X3QgeworICAgIE5vdFN1cHBvcnRlZCwKKyAgICBDb25zZW50LAorICAgIERpc3NlbnQsCit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0
ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3Vs
dD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgV2ViQ29yZTo6Q29va2ll
Q29uc2VudERlY2lzaW9uUmVzdWx0LAorICAgIFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lv
blJlc3VsdDo6Tm90U3VwcG9ydGVkLAorICAgIFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lv
blJlc3VsdDo6Q29uc2VudCwKKyAgICBXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1
bHQ6OkRpc3NlbnQKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVD
b25zZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdh
dG9yK0Nvb2tpZUNvbnNlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1MjkwYzVmZGU4NTkzOGMzOGYwOGMw
NTA2MjI3ZmI5NzY4ZGE1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50LmlkbApAQCAtMCwwICsx
LDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9Q29va2llQ29uc2Vu
dEFQSUVuYWJsZWQsCisgICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JDb29raWVDb25zZW50LAor
XSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIFByb21pc2U8Ym9vbGVhbj4gcmVx
dWVzdENvb2tpZUNvbnNlbnQob3B0aW9uYWwgUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zIG9w
dGlvbnMpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNv
bnNlbnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZk
ZjQwMjA4MTA1NDc0ZTdjZGM2Y2FiYjM1ODM4ZDJiZjRhZTBkNzcKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNv
bnNlbnQuY3BwCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29va2llQ29uc2VudC5oIgorCisjaW5jbHVkZSAiQ2hy
b21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29k
ZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiTmF2aWdh
dG9yLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJlcXVlc3RDb29raWVDb25zZW50
T3B0aW9ucy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgTmF2aWdhdG9yQ29va2ll
Q29uc2VudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQoTmF2aWdhdG9yJiBuYXZpZ2F0b3IsIHN0ZDo6
b3B0aW9uYWw8UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zPiYmIG9wdGlvbnMsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBmcm9tKG5hdmlnYXRvcikucmVxdWVzdENv
b2tpZUNvbnNlbnQoV1RGTW92ZShvcHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSk7Cit9CisKK3Zv
aWQgTmF2aWdhdG9yQ29va2llQ29uc2VudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQoc3RkOjpvcHRp
b25hbDxSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM+JiYgb3B0aW9ucywgUmVmPERlZmVycmVk
UHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRoZSAnTW9yZSBp
bmZvJyBvcHRpb24uCisgICAgVU5VU0VEX1BBUkFNKG9wdGlvbnMpOworCisgICAgUmVmUHRyIGZy
YW1lID0gbV9uYXZpZ2F0b3IuZnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+aXNN
YWluRnJhbWUoKSB8fCAhZnJhbWUtPnBhZ2UoKSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3Qo
Tm90QWxsb3dlZEVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGZyYW1lLT5w
YWdlKCktPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RDb29raWVDb25zZW50KFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKV0gKENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCByZXN1bHQpIHsK
KyAgICAgICAgc3dpdGNoIChyZXN1bHQpIHsKKyAgICAgICAgY2FzZSBDb29raWVDb25zZW50RGVj
aXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZDoKKyAgICAgICAgICAgIHByb21pc2UtPnJlamVjdChO
b3RTdXBwb3J0ZWRFcnJvcik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDb29r
aWVDb25zZW50RGVjaXNpb25SZXN1bHQ6OkNvbnNlbnQ6CisgICAgICAgICAgICBwcm9taXNlLT5y
ZXNvbHZlPElETEJvb2xlYW4+KHRydWUpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpEaXNzZW50OgorICAgICAgICAgICAgcHJv
bWlzZS0+cmVzb2x2ZTxJRExCb29sZWFuPihmYWxzZSk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgIH0pOworfQorCitOYXZpZ2F0b3JDb29raWVDb25zZW50JiBOYXZpZ2F0b3JD
b29raWVDb25zZW50Ojpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGlmIChhdXRv
IHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JDb29raWVDb25zZW50Kj4oU3VwcGxl
bWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCkpKSkKKyAg
ICAgICAgcmV0dXJuICpzdXBwbGVtZW50OworCisgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gbWFr
ZVVuaXF1ZTxOYXZpZ2F0b3JDb29raWVDb25zZW50PihuYXZpZ2F0b3IpOworICAgIGF1dG8gc3Vw
cGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3Is
IHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIHJldHVybiAq
c3VwcGxlbWVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tp
ZUNvbnNlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2Y3NzNmNDA2ZTEzNGM3YWE2NDEyOGM4Y2MxYjE3N2Vk
ZjIzMjE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUt
Y29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKyNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERlZmVy
cmVkUHJvbWlzZTsKK2NsYXNzIE5hdmlnYXRvcjsKK3N0cnVjdCBSZXF1ZXN0Q29va2llQ29uc2Vu
dE9wdGlvbnM7CisKK2NsYXNzIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQgZmluYWwgOiBwdWJsaWMg
U3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKKyAgICBleHBsaWNpdCBOYXZpZ2F0b3JDb29raWVDb25zZW50KE5hdmlnYXRvciYgbmF2
aWdhdG9yKQorICAgICAgICA6IG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKKyAgICB7CisgICAgfQor
CisgICAgc3RhdGljIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoTmF2aWdhdG9yJiwgc3RkOjpv
cHRpb25hbDxSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21p
c2U+JiYpOworCitwcml2YXRlOgorICAgIHN0YXRpYyBOYXZpZ2F0b3JDb29raWVDb25zZW50JiBm
cm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgp
IHsgcmV0dXJuICJOYXZpZ2F0b3JDb29raWVDb25zZW50IjsgfQorCisgICAgdm9pZCByZXF1ZXN0
Q29va2llQ29uc2VudChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucz4m
JiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKKyAgICBOYXZpZ2F0b3ImIG1fbmF2aWdhdG9y
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNl
bnRPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFlMzkxNjVjZmFmNTZkOTgzZTI3ODlhMGIyY2IyMmU1
ZjJhZGQ0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2ll
LWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmgKQEAgLTAsMCArMSwzNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1
Y3QgUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zIHsKKyAgICBSZWZQdHI8Vm9pZENhbGxiYWNr
PiBtb3JlSW5mbzsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRP
cHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVz
dENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGM3NTU2NzkxMTQ1OTRjNGRj
ZDAxZjdkYWM2MDk3MWM3ZDg2ZjAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaWRsCkBA
IC0wLDAgKzEsMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5IFJlcXVlc3RDb29raWVDb25z
ZW50T3B0aW9ucyB7CisgICAgVm9pZENhbGxiYWNrPyBtb3JlSW5mbzsKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3Rl
bVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3Rl
bWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uY3BwCmluZGV4IGY0N2Nh
M2QzM2Q5N2E2MzdkNmY3YmEwNmNiZWU0NTE3ZjEzMjBmYmIuLmI1MzYzMmMzMTIzYTFiZjk1Zjcw
MzM2Y2ViODYxYmM2OGQ0ZDMxOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lz
dGVtU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uLmgiCiAK
KyNpbmNsdWRlICJGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS5oIgogI2luY2x1ZGUgIldvcmtl
ckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRl
ICJXb3JrZXJUaHJlYWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmls
ZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFn
ZUNvbm5lY3Rpb24uaAppbmRleCA1NGI0YjgxZjNhNzk2ODY4OWI3YmRjYWE1YmZkZGRkNDI2Mjkx
N2UxLi45ODM2YjFlNzRmYmE3NmJlN2ExZTA4OGFkYzBlNTA5MzY3MTgzNTlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3Rl
bVN0b3JhZ2VDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtYWNjZXNzL1dvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5oCkBAIC0zMiw2ICsz
Miw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRmlsZVN5c3RlbVN5bmNBY2Nl
c3NIYW5kbGU7CiBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKIGNsYXNzIFdvcmtlclRocmVhZDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAppbmRleCA1YzAzYjUyNDQ5YmQ0N2VlMTNlYjlmZDY1MzkyODNkZGViYzI4
MmVhLi4xYzA4OWYwOGY2ZWY0NDA5OTZhMThhZDViMjQ2OTZhMWRmZWY1MWE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dApAQCAtNjgsNiArNjgsNyBAQCBNb2R1bGVzL2NhY2hlL1dpbmRvd09yV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXMuY3BwCiBNb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rp
b24uY3BwCiBNb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdlci5jcHAKIE1vZHVs
ZXMvY29udGFjdC1waWNrZXIvTmF2aWdhdG9yQ29udGFjdHMuY3BwCitNb2R1bGVzL2Nvb2tpZS1j
b25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwCiBNb2R1bGVzL2NyZWRlbnRpYWxtYW5h
Z2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5jcHAKIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQv
Q3JlZGVudGlhbHNDb250YWluZXIuY3BwCiBNb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L05h
dmlnYXRvckNyZWRlbnRpYWxzLmNwcApAQCAtMzY3MSw2ICszNjcyLDcgQEAgSlNSZW1vdGVET01X
aW5kb3cuY3BwCiBKU1JlbW90ZVBsYXliYWNrLmNwcAogSlNSZW1vdGVQbGF5YmFja0F2YWlsYWJp
bGl0eUNhbGxiYWNrLmNwcAogSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5jcHAKK0pT
UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcAogSlNSZXNpemVPYnNlcnZlci5jcHAKIEpT
UmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zLmNwcAogSlNSZXNpemVPYnNlcnZlckNhbGxiYWNrLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDBmZWNlMTY0NzFhODMwYWYyZTFmZGMwMTQxOWEwNDQ5MTE2YjI5ODEuLjhhYmMzN2M4
MzlmNzE1NThlYzAwY2Q0OGM5ZGM0ODRmMDA5NDc3YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0NDksNiArNTQ0OSw5IEBA
CiAJCUYzNDRDNzUzMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzQ0
Qzc1MjExMjk0RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUYzQUJGRTBD
MTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEg
LyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovOyB9OwogCQlGM0Q0NjE0OTExNjFENTMyMDBDQTBE
MDkgLyogSlNFcnJvckhhbmRsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxlci5o
ICovOyB9OworCQlGNDAzNEY5RDI3NUM0Nzg5MDAzQTgxRjggLyogQ29va2llQ29uc2VudERlY2lz
aW9uUmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNDAzNEY5QzI3NUM0NzgzMDAzQTgxRjggLyogQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRjQw
MzRGQUMyNzVFQUQ2RTAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwMzRGOEYyNzVD
MTY4NjAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oICovOyB9OworCQlG
NDAzNEZBRTI3NUVBRDc2MDAzQTgxRjggLyogTmF2aWdhdG9yQ29va2llQ29uc2VudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwMzRGOEQyNzVDMDg3
QjAwM0E4MUY4IC8qIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCAqLzsgfTsKIAkJRjQwM0U3ODcy
MzYzQjU4QzAwMDQ0NTUwIC8qIEVudGVyS2V5SGludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwM0U3ODUyMzYzQjU4QzAwMDQ0NTUwIC8qIEVudGVy
S2V5SGludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUY0MERBQUVDMjVEOUYyNUUwMDExQjRGQSAvKiBQYXN0ZWJvYXJkQ29udGV4dC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwREFBRUIyNUQ5RjI1
RTAwMTFCNEZBIC8qIFBhc3RlYm9hcmRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQwREFBRUYyNUQ5RjNCRjAwMTFCNEZBIC8qIFBh
Z2VQYXN0ZWJvYXJkQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQwREFBRUUyNUQ5RjNCRjAwMTFCNEZBIC8qIFBhZ2VQYXN0ZWJvYXJkQ29u
dGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC0xNzU5Myw2ICsxNzU5NiwxMiBAQAogCQlGM0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEgLyogSW5z
dHJ1bWVudGluZ0FnZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnN0
cnVtZW50aW5nQWdlbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ2
MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0Vycm9ySGFuZGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Vycm9ySGFuZGxlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY4QzI3NUMwODdCMDAzQTgxRjggLyogTmF2
aWdhdG9yQ29va2llQ29uc2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBOYXZpZ2F0b3JDb29raWVDb25zZW50LmNwcDsgcGF0aCA9ICJjb29raWUtY29uc2VudC9O
YXZpZ2F0b3JDb29raWVDb25zZW50LmNwcCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUY0MDM0RjhEMjc1QzA4N0IwMDNBODFGOCAvKiBOYXZpZ2F0b3JDb29raWVDb25zZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5hdmlnYXRvckNvb2tpZUNvbnNlbnQuaDsg
cGF0aCA9ICJjb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmgiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY4RTI3NUMwODdDMDAzQTgxRjggLyogTmF2aWdh
dG9yK0Nvb2tpZUNvbnNlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9ICJOYXZpZ2F0b3Ir
Q29va2llQ29uc2VudC5pZGwiOyBwYXRoID0gImNvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29r
aWVDb25zZW50LmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RjhGMjc1
QzE2ODYwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmg7IHBhdGggPSAiY29va2llLWNvbnNl
bnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlGNDAzNEY5MTI3NUMxNjg2MDAzQTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRP
cHRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IG5hbWUgPSBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaWRsOyBwYXRoID0g
ImNvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGwiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY5QzI3NUM0NzgzMDAzQTgxRjggLyogQ29va2ll
Q29uc2VudERlY2lzaW9uUmVzdWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdC5oOyBwYXRoID0gImNvb2tpZS1jb25zZW50L0Nvb2tpZUNvbnNlbnREZWNpc2lv
blJlc3VsdC5oIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwM0U3ODUyMzYzQjU4
QzAwMDQ0NTUwIC8qIEVudGVyS2V5SGludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbnRlcktleUhpbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwM0U3ODYyMzYzQjU4QzAwMDQ0NTUw
IC8qIEVudGVyS2V5SGludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbnRlcktleUhpbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDBEQUFFQjI1RDlGMjVFMDAxMUI0RkEg
LyogUGFzdGVib2FyZENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzdGVib2FyZENvbnRleHQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI1ODA2LDYgKzI1ODE1LDcgQEAKIAkJ
CQk4MzIxNTA3OTFGMjdFOTZCMDA5NUIxMzYgLyogYmVhY29uICovLAogCQkJCTQxMzgwQzFFMUYz
NDM2NjAwMDE1NUZEQSAvKiBjYWNoZSAqLywKIAkJCQlFNTk2REQyMzI1MTkwMkQ2MDBDMjc1QTcg
LyogY29udGFjdC1waWNrZXIgKi8sCisJCQkJRjQwMzRGOEIyNzVDMDg2NzAwM0E4MUY4IC8qIGNv
b2tpZS1jb25zZW50ICovLAogCQkJCTU3QzdBNjg4MUU1Njk0NkQwMEM2N0Q3MSAvKiBjcmVkZW50
aWFsbWFuYWdlbWVudCAqLywKIAkJCQlDREE5OERCRDE2MDE0RTA4MDBGRUEzQjEgLyogZW5jcnlw
dGVkbWVkaWEgKi8sCiAJCQkJODNGQjMzNjUxRjUwOEExNzAwOTg2RTU0IC8qIGVudHJpZXNhcGkg
Ki8sCkBAIC0zMTIxMiw2ICszMTIyMiwxOSBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUY0MDM0RjhCMjc1QzA4NjcwMDNBODFGOCAvKiBjb29r
aWUtY29uc2VudCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJ
CQkJRjQwMzRGOUMyNzVDNDc4MzAwM0E4MUY4IC8qIENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3Vs
dC5oICovLAorCQkJCUY0MDM0RjhFMjc1QzA4N0MwMDNBODFGOCAvKiBOYXZpZ2F0b3IrQ29va2ll
Q29uc2VudC5pZGwgKi8sCisJCQkJRjQwMzRGOEMyNzVDMDg3QjAwM0E4MUY4IC8qIE5hdmlnYXRv
ckNvb2tpZUNvbnNlbnQuY3BwICovLAorCQkJCUY0MDM0RjhEMjc1QzA4N0IwMDNBODFGOCAvKiBO
YXZpZ2F0b3JDb29raWVDb25zZW50LmggKi8sCisJCQkJRjQwMzRGOEYyNzVDMTY4NjAwM0E4MUY4
IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oICovLAorCQkJCUY0MDM0RjkxMjc1QzE2
ODYwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaWRsICovLAorCQkJKTsK
KwkJCW5hbWUgPSAiY29va2llLWNvbnNlbnQiOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKIAkJRjQ0MEU3NjkyMzNEOTM2MjAwNjNGOUFCIC8qIENsaXBib2FyZCAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0zMzUxMSwxMCArMzM1MzQsMTIg
QEAKIAkJCQlDRDNFRUYzQzI1Nzk5RkFCMDA2NTYzQkIgLyogQ29sb3JHYW11dC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzEwM0I3REYxREIwMTU2NzAwOEJCODkwIC8qIENvbG9ySGFzaC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRjU1QjNEQjQxMjUxRjEyRDAwM0VGMjY5IC8qIENvbG9ySW5wdXRUeXBl
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzNBMDBDODI3NTQ0OTZEMDA0N0MwRTUgLyogQ29sb3JJ
bnRlcnBvbGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzRBMjNFQzI1RUMxNjAyMDBBQUM2
MzAgLyogQ29sb3JMdW1pbmFuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUVERTNBNTAwMEM3QTQz
MDYwMDk1NkEzNyAvKiBDb2xvck1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NBQzZBRTkyNDdG
MDgyRjAwRTYxRDU5IC8qIENvbG9yTWF0cml4LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzEwMTM3
QzI1QzM2MjRCMDBEQzc3M0MgLyogQ29sb3JNb2RlbHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
QjJGODhFMjc1QkVFNTgwMDcyMzFCRiAvKiBDb2xvck5vcm1hbGl6YXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdDRDFFNjkzMjRBQkY2MjQwMDg5QzQxOSAvKiBDb2xvclNlcmlhbGl6YXRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzODJERjU4MTBBOEQ1QzkwMDkyNTY1MiAvKiBDb2xvclNw
YWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0FGRURCNDI1OTY4RDBCMDAzMEU2QUEgLyogQ29s
b3JTcGFjZUNHLmggaW4gSGVhZGVycyAqLywKQEAgLTMzNTk2LDYgKzMzNjIxLDcgQEAKIAkJCQlG
RDMxNjAyOTEyQjAyNjc2MDBDMUEzNTkgLyogQ29udm9sdmVyTm9kZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODNGMjhDMDAyNERCMURFMTAwNUJBNkY2IC8qIENvbnZvbHZlck9wdGlvbnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUQ4QjYxNTJGMTAzMjQ5NTEwMEM4NTU0QSAvKiBDb29raWUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUY0MDM0RjlEMjc1QzQ3ODkwMDNBODFGOCAvKiBDb29raWVDb25zZW50
RGVjaXNpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0Qzk0MTY0QjUyQzgwMEYz
MkQ0MCAvKiBDb29raWVKYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNTY5OTcwMjA4NkM2MTkw
MDBFMDQzMyAvKiBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzNEMDIxMkQxMzFEQjM3QjAwNDA5MUE4IC8qIENvb2tpZVN0b3JhZ2UuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzYwMjksNiArMzYwNTUsNyBAQAogCQkJCTgzMjE1MDdFMUYyN0VBMUIwMDk1
QjEzNiAvKiBOYXZpZ2F0b3JCZWFjb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUY0NDBFNzdBMjMz
RDk0RDcwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUU1OTZERDI5MjUxOTAzRDIwMEMyNzVBNyAvKiBOYXZpZ2F0b3JDb250YWN0cy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJRjQwMzRGQUUyNzVFQUQ3NjAwM0E4MUY4IC8qIE5hdmlnYXRvckNvb2tpZUNv
bnNlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3MkQzRTU3MjE2NTc4QUUwMEM1RTAyMSAvKiBO
YXZpZ2F0b3JDcmVkZW50aWFscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcxMTQ2MDQxNEVGMDA5
QTAwNjc0RkQ5IC8qIE5hdmlnYXRvckdlb2xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk2
QjUwN0EyNDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdhdG9ySXNMb2dnZWRJbi5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zNjIzOSw3ICszNjI2Niw2IEBACiAJCQkJNDlENURDMkUwRjQyM0E3MzAwOEYy
MEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxREJDMUI1NjIzNDdCM0QyMDBCOTAxQUYgLyogUGljdHVyZUluUGljdHVyZU9ic2VydmVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxRDJDODJCNzIzNkEzRjZBMDA1NUQ2QzUgLyogUGljdHVyZUlu
UGljdHVyZVN1cHBvcnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDM0EwMEM4Mjc1NDQ5NkQwMDQ3
QzBFNSAvKiBDb2xvckludGVycG9sYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFEMkY4RTA2
MjM0NDc1MjMwMDk5M0I2OCAvKiBQaWN0dXJlSW5QaWN0dXJlV2luZG93LmggaW4gSGVhZGVycyAq
LywKIAkJCQk1NzU4NTk3QzIzQTFGQ0YzMDBDNzQ1NzIgLyogUGluLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEMEZGMkE1RTExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zNjYwNCw2ICszNjYzMCw3IEBACiAJCQkJMDcxQzAwMzQyNzA3RDk1NTAwRDAyN0M3
IC8qIFJlcGxheUtpdENhcHR1cmVTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2REQ2RTFG
MjZFN0RCRTcwMDhDMUY0QyAvKiBSZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk5OEFFQzYxM0Y5RDBFQTAwOTBCMUFBIC8qIFJlcXVlc3RBbmltYXRpb25GcmFt
ZUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDAzNEZBQzI3NUVBRDZFMDAzQTgxRjgg
LyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVC
M0REMDEyNTFGMTJEMDAzRUYyNjkgLyogUmVzZXRJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTU4QjJGOUY0MjIzMkQ0NTMwMDkzOEQ2MyAvKiBSZXNpemVPYnNlcnZhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNThCMkY5RjUyMjMyRDQ1ODAwOTM4RDYzIC8qIFJlc2l6ZU9ic2VydmVy
LmggaW4gSGVhZGVycyAqLywKQEAgLTM2NjY0LDcgKzM2NjkxLDYgQEAKIAkJCQk0MTg4RDU2MzI2
QzU1MUIxMDA0ODU4QzggLyogUlRDRHRsc1RyYW5zcG9ydFN0YXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwNzhFMDkyMDE3RDE0RDFDMDA0MjBBQTEgLyogUlRDRFRNRlNlbmRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDc4RTA5MjExN0QxNEQxQzAwNDIwQUExIC8qIFJUQ0RUTUZUb25lQ2hhbmdl
RXZlbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDQjJGODhFMjc1QkVFNTgwMDcyMzFCRiAvKiBD
b2xvck5vcm1hbGl6YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRTZENzFCMjZFQTFBNDYw
MEI3NjVENiAvKiBSVENFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFBQjk3OTUyNkU3NUEy
RTAwN0MwRkU2IC8qIFJUQ0Vycm9yRGV0YWlsVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4
RTA5MjMxN0QxNEQxQzAwNDIwQUExIC8qIFJUQ0ljZUNhbmRpZGF0ZS5oIGluIEhlYWRlcnMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAwZjhkNWM1ZTRiZGY0YWJiMjU0OWNl
MTY5ZTUxN2U0YjQyMmEzNzkyLi4yNWMzYTk4MDI1YTg0MDYxOWFlNzVmNDVjZmQ4MGM3MmY3ZmFk
ZDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTI0LDYgKzI0LDcgQEAKICNp
bmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQXV0b3BsYXlFdmVudC5oIgogI2lu
Y2x1ZGUgIkNvbnRhY3RJbmZvLmgiCisjaW5jbHVkZSAiQ29va2llQ29uc2VudERlY2lzaW9uUmVz
dWx0LmgiCiAjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VEZXRhaWxzLmgi
CiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5oIgpA
QCAtNjE5LDYgKzYyMCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYWJvcnRBcHBsZVBh
eUFNU1VJU2Vzc2lvbigpIHsgfQogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdENv
b2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChDb29raWVDb25zZW50RGVjaXNpb25S
ZXN1bHQpPiYmIGNvbXBsZXRpb24pIHsgY29tcGxldGlvbihDb29raWVDb25zZW50RGVjaXNpb25S
ZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkNocm9t
ZUNsaWVudCgpID0gZGVmYXVsdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElV
SUNsaWVudC5oCmluZGV4IDY2MmE4ZDUzNDgwYzIyOGZjOTg1ODI5YzFmODcxY2M1ZDAzZjI5NjEu
LjIwMTZjYjQ4ZGQzOGUxOTUyNzE1NzhjODYxMDNmNGNiY2M2NTE0MjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVk
ZSAiV2ViRXZlbnQuaCIKICNpbmNsdWRlICJXZWJIaXRUZXN0UmVzdWx0RGF0YS5oIgogI2luY2x1
ZGUgIldlYlBhZ2VQcm94eS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29va2llQ29uc2VudERlY2lz
aW9uUmVzdWx0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KICNpbmNsdWRlIDx3
dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KIApAQCAtMTQ0LDYgKzE0NSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgY2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yT3JpZ2luKFdlYktpdDo6
V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBT
ZWN1cml0eU9yaWdpbiYsIFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkmIHJl
cXVlc3QpIHsgcmVxdWVzdC5kZW55KCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5
Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBT
ZWN1cml0eU9yaWdpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBhbGxvd2VkKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0KICAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdFN0b3JhZ2VBY2Nlc3NDb25maXJtKFdlYktpdDo6V2ViUGFnZVByb3h5
JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21h
aW4mIHJlcXVlc3RpbmdEb21haW4sIGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiBj
dXJyZW50RG9tYWluLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOyB9CisgICAgdmlydHVhbCB2b2lkIHJl
cXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2ll
Q29uc2VudERlY2lzaW9uUmVzdWx0KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9u
SGFuZGxlcihXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRl
ZCk7IH0KIAogICAgIC8vIFByaW50aW5nLgogICAgIHZpcnR1YWwgZmxvYXQgaGVhZGVySGVpZ2h0
KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5JikgeyByZXR1cm4g
MDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlE
ZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJ
RGVsZWdhdGVQcml2YXRlLmgKaW5kZXggNGEyZjUwZWM4NzRlZGU4MzZiYTc1ZDE4MjMxNDI1YzVk
Y2QzZWZkYy4uYWQxN2RhODc3ZjliMGVhNjAxMDVlZDc0NjE3OTZkYjcwMDQ4YzBjMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRl
UHJpdmF0ZS5oCkBAIC0xNzcsNiArMTc3LDggQEAgc3RydWN0IFVJRWRnZUluc2V0czsKIC0gKHZv
aWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc3RhcnRYUlNlc3Npb25XaXRoQ29tcGxl
dGlvbkhhbmRsZXI6KHZvaWQgKF4pKGlkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyByZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbkZvclNlY3VyaXR5T3JpZ2lu
OihXS1NlY3VyaXR5T3JpZ2luICopc2VjdXJpdHlPcmlnaW4gZGVjaXNpb25IYW5kbGVyOih2b2lk
ICheKShCT09MKSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40
KSwgaW9zKFdLX0lPU19UQkEpKTsKIAorLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyByZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXI6KHZvaWQgKF4pKHZv
aWQpKW1vcmVJbmZvSGFuZGxlciBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWRlY2lz
aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOworCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogCiAtIChCT09MKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IHNob3VsZEluY2x1ZGVBcHBMaW5rQWN0aW9uc0ZvckVsZW1lbnQ6KF9X
S0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudCBXS19BUElfQVZBSUxBQkxFKGlvcyg5LjAp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAppbmRleCBmZjIy
NzU3NTAzNzY4NDFiYzVmOWEzNmYzMzFkOGE0NzgyYjRmOGQ5Li5mZGFhYTFlYjcxMzBmZDY4ZGEx
ZmE4NzQwMzQzNDI2YjQ1MWNkMjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
VUlEZWxlZ2F0ZS5oCkBAIC0xMDYsNiArMTA2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCB0
YWtlRm9jdXMoV2ViUGFnZVByb3h5KiwgV0tGb2N1c0RpcmVjdGlvbikgZmluYWw7CiAgICAgICAg
IHZvaWQgaGFuZGxlQXV0b3BsYXlFdmVudChXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpBdXRvcGxh
eUV2ZW50LCBPcHRpb25TZXQ8V2ViQ29yZTo6QXV0b3BsYXlFdmVudEZsYWdzPikgZmluYWw7CiAg
ICAgICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Qo
V2ViUGFnZVByb3h5JiwgQVBJOjpTZWN1cml0eU9yaWdpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCBhbGxvd2VkKT4mJikgZmluYWw7CisgICAgICAgIHZvaWQgcmVxdWVzdENvb2tpZUNv
bnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNp
b25SZXN1bHQpPiYmKSBmaW5hbDsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgdm9pZCBz
aG93UGFnZShXZWJQYWdlUHJveHkqKSBmaW5hbDsKQEAgLTI3MCw2ICsyNzEsNyBAQCBwcml2YXRl
OgogICAgICAgICBib29sIHdlYlZpZXdTdGFydFhSU2Vzc2lvbldpdGhDb21wbGV0aW9uSGFuZGxl
ciA6IDE7CiAjZW5kaWYKICAgICAgICAgYm9vbCB3ZWJWaWV3UmVxdWVzdE5vdGlmaWNhdGlvblBl
cm1pc3Npb25Gb3JTZWN1cml0eU9yaWdpbkRlY2lzaW9uSGFuZGxlciA6IDE7CisgICAgICAgIGJv
b2wgd2ViVmlld1JlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlckRlY2lzaW9u
SGFuZGxlciA6IDE7CiAgICAgfSBtX2RlbGVnYXRlTWV0aG9kczsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDEzMTYwNzgyNjY3MmFhYTk4
MmJiZTQxOGU1ZDUyOTU4MmMyYzJkYjEuLmE0NzkzN2ZlYzk5MTMxMjhkMGJiYzRhNWI1NGUwOTY2
MTg5NDM2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5t
bQpAQCAtMTk3LDYgKzE5Nyw3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQgPFdL
VUlEZWxlZ2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1N0YXJ0
WFJTZXNzaW9uV2l0aENvbXBsZXRpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6c3RhcnRYUlNlc3Npb25XaXRoQ29tcGxldGlvbkhhbmRs
ZXI6KV07CiAjZW5kaWYKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UmVxdWVzdE5vdGlm
aWNhdGlvblBlcm1pc3Npb25Gb3JTZWN1cml0eU9yaWdpbkRlY2lzaW9uSGFuZGxlciA9IFtkZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJlcXVlc3ROb3RpZmlj
YXRpb25QZXJtaXNzaW9uRm9yU2VjdXJpdHlPcmlnaW46ZGVjaXNpb25IYW5kbGVyOildOworICAg
IG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5m
b0hhbmRsZXJEZWNpc2lvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3Rvcihfd2ViVmlldzpyZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXI6
ZGVjaXNpb25IYW5kbGVyOildOwogfQogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC02
NDEsNiArNjQyLDI0IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRlY2lkZVBvbGljeUZv
ck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdDo6CiAgICAgfSkuZ2V0KCldOwog
fQogCit2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29uc2VudChDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+
JiYgY29tcGxldGlvbikKK3sKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJu
IGNvbXBsZXRpb24oV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBw
b3J0ZWQpOworCisgICAgaWYgKCFtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGVNZXRob2RzLndlYlZp
ZXdSZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXJEZWNpc2lvbkhhbmRsZXIp
CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lv
blJlc3VsdDo6Tm90U3VwcG9ydGVkKTsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdh
dGUtPm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJu
IGNvbXBsZXRpb24oV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBw
b3J0ZWQpOworCisgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciB0aGUgJ21vcmUgaW5mbycg
aGFuZGxlci4KKyAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmll
dzptX3VpRGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSByZXF1ZXN0Q29va2llQ29uc2Vu
dFdpdGhNb3JlSW5mb0hhbmRsZXI6bmlsIGRlY2lzaW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2Nv
bXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24pXSAoQk9PTCBkZWNpc2lvbikgbXV0YWJsZSB7
CisgICAgICAgIGNvbXBsZXRpb24oZGVjaXNpb24gPyBXZWJDb3JlOjpDb29raWVDb25zZW50RGVj
aXNpb25SZXN1bHQ6OkNvbnNlbnQgOiBXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1
bHQ6OkRpc3NlbnQpOworICAgIH0pLmdldCgpXTsKK30KKwogI2lmIFBMQVRGT1JNKE1BQykKIGJv
b2wgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmNhblJ1bk1vZGFsKCkgY29uc3QKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDRlOTZjOTRkNmE3N2M3NmYwMjg1
YWIwMTZhMzZiZjBlMWE2NGRhYTkuLmY1NDhlY2YzYTIyYzI3YjI4NWI5NjIyNDQ3ZjM0ZmEwNDg3
YjAyNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTEw
MDksNiArMTEwMDksMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyQXBwUHJpdmFjeVJlcG9y
dFRlc3RpbmdEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJgogfQogI2VuZGlmCiAKK3Zv
aWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlvbikKK3sKKyAgICBt
X3VpQ2xpZW50LT5yZXF1ZXN0Q29va2llQ29uc2VudChXVEZNb3ZlKGNvbXBsZXRpb24pKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBXRUJQQUdFUFJPWFlfUkVMRUFTRV9M
T0cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNWE4MzJlNTVhY2Jh
MTg5YjM5YjllODk3Y2MxY2ExOGI3YjQ4NDU1NS4uZjJhNTM2NDc4MzE5MGE3MjRiZDM5MDA5MjM5
NjJmYTMzNDRmNjdmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTI2NSw2ICsyNjUsNyBAQCBjbGFzcyBUZXh0SW5kaWNhdG9yOwogY2xhc3MgVmFsaWRhdGlvbkJ1
YmJsZTsKIAogZW51bSBjbGFzcyBBdXRvcGxheUV2ZW50IDogdWludDhfdDsKK2VudW0gY2xhc3Mg
Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0IDogdWludDhfdDsKIGVudW0gY2xhc3MgQ3JlYXRl
TmV3R3JvdXBGb3JIaWdobGlnaHQgOiBib29sOwogZW51bSBjbGFzcyBET01QYXN0ZUFjY2Vzc1Jl
c3BvbnNlIDogdWludDhfdDsKIGVudW0gY2xhc3MgRXZlbnRNYWtlc0dhbWVwYWRzVmlzaWJsZSA6
IGJvb2w7CkBAIC0yMDMwLDYgKzIwMzEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhck5vdGlm
aWNhdGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKTsKICAgICB2
b2lkIGRpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOwogCisg
ICAgdm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNv
cmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYpOworCiBwcml2YXRlOgogICAgIFdl
YlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5JiwgUmVmPEFQSTo6UGFnZUNv
bmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMDg3
NzhhZTY1NDQ4YmVjYTgwMGI0MGZkMzI4MzhjZDIzZWQ3OGI5My4uZDU2MzZhM2E2MmM3YWY4NGQ3
MmQ0OThhZmRhZTFmMzJiOGY0YjU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNjE2LDQgKzYxNiw2IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2VQcm94eSB7CiAgICAgU3RhcnRBcHBsZVBheUFNU1VJU2Vzc2lvbihVUkwgb3JpZ2lu
YXRpbmdVUkwsIHN0cnVjdCBXZWJDb3JlOjpBcHBsZVBheUFNU1VJUmVxdWVzdCByZXF1ZXN0KSAt
PiAoc3RkOjpvcHRpb25hbDxib29sPiByZXN1bHQpIEFzeW5jCiAgICAgQWJvcnRBcHBsZVBheUFN
U1VJU2Vzc2lvbigpCiAjZW5kaWYKKworICAgIFJlcXVlc3RDb29raWVDb25zZW50KCkgLT4gKGVu
dW06dWludDhfdCBXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQgcmVzdWx0KSBB
c3luYwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCAzZjI4NjJjZmI2N2NmMWQyZWZmZjcz
NDAxNjZiZDQ1YjU1MmI1YTRkLi4xMzgyNGZmMTZiZTFmNTUyZGU5ODAwZmQzYjY2OWM4ZGRiNzM5
YjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMTU1OSw0ICsxNTU5LDkgQEAgdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OmFib3J0QXBwbGVQYXlBTVNVSVNlc3Npb24oKQogCiAjZW5kaWYgLy8g
RU5BQkxFKEFQUExFX1BBWV9BTVNfVUkpCiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0
Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkNvb2tpZUNvbnNl
bnREZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlvbikKK3sKKyAgICBtX3BhZ2Uuc2VuZFdpdGhB
c3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3RDb29raWVDb25zZW50KCks
IFdURk1vdmUoY29tcGxldGlvbikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAppbmRleCBkMDJlZGYxYjJkY2Q5ZWM5ZTVmY2ZiMjg1MzZlMTg2OWQ2YzY0NmI0
Li5jYjIxNDcwYTEwZGM0NTM0NDlhMjFjMzc1ZTY4M2VkZWZjMmFlMWE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBIVE1M
SW1hZ2VFbGVtZW50OwogY2xhc3MgUmVnaXN0cmFibGVEb21haW47CitlbnVtIGNsYXNzIENvb2tp
ZUNvbnNlbnREZWNpc2lvblJlc3VsdCA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFN0b3JhZ2VBY2Nl
c3NQcm9tcHRXYXNTaG93biA6IGJvb2w7CiBlbnVtIGNsYXNzIFN0b3JhZ2VBY2Nlc3NXYXNHcmFu
dGVkIDogYm9vbDsKIH0KQEAgLTQ2Miw2ICs0NjMsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYWJv
cnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpIGZpbmFsOwogI2VuZGlmCiAKKyAgICB2b2lkIHJlcXVl
c3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2llQ29u
c2VudERlY2lzaW9uUmVzdWx0KT4mJikgZmluYWw7CisKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNo
ZWRNYWluRnJhbWVIYXNIb3Jpem9udGFsU2Nyb2xsYmFyIHsgZmFsc2UgfTsKICAgICBtdXRhYmxl
IGJvb2wgbV9jYWNoZWRNYWluRnJhbWVIYXNWZXJ0aWNhbFNjcm9sbGJhciB7IGZhbHNlIH07CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkZWFi
ZmZiZmI0ZTg5NmQyZTlmOTYwZmQ5OGQwNTA4Y2ZlZTQzOTZmLi5iZDM5YzhlMGI4Y2JjNWNiMGZl
ZmM5ZTUyYzljYzAyZjE2MDVkMGRhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMTItMDYgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBu
YXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVy
ZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNldmVyYWwgbmV3IEFQSSB0ZXN0cyB0aGF0IGVu
YWJsZSB0aGUgZmVhdHVyZSBmbGFnIGFuZCBleGVyY2lzZSB0aGUgQVBJLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ29va2llQ29uc2VudC5tbTogQWRk
ZWQuCisgICAgICAgICgtW0Nvb2tpZUNvbnNlbnREZWxlZ2F0ZSBfd2ViVmlldzpyZXF1ZXN0Q29v
a2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXI6ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6Y3JlYXRlV2ViVmlld0ZvclRlc3RpbmdDb29raWVDb25zZW50KToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmNoZWNrRm9yU3RyaW5nKToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2Nv
b2tpZS1jb25zZW50LWJhc2ljLmh0bWw6IEFkZGVkLgorCiAyMDIxLTEyLTA2ICBKb24gTGVlICA8
am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgR1BVIFByb2Nlc3MgZmVhdHVyZSBm
bGFncwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1MjZmZTUwZGVmOGJmNzJmMGM3NTVmOTUy
ZjFkZjEzYjVhY2VjNjI4Li41Yzc0MmM2MzAxMDZlNDg2ZDA1MjQ4MDY4YjdkZDdlYjM2ZWRlMjE5
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTk2LDYgKzk5Niw4IEBACiAJCUY0MDEwQjgw
MjREQTI0QUMwMEE4NzZFMiAvKiBOYXZpZ2F0aW9uU3dpcGVUZXN0cy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDEwQjdGMjREQTI0QUMwMEE4NzZF
MiAvKiBOYXZpZ2F0aW9uU3dpcGVUZXN0cy5tbSAqLzsgfTsKIAkJRjQwMTBCODMyNERBMjY3RjAw
QTg3NkUyIC8qIFBvc2VBc0NsYXNzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjQwMTBCODEyNERBMjY3RjAwQTg3NkUyIC8qIFBvc2VBc0NsYXNzLm1t
ICovOyB9OwogCQlGNDAyRjU2QzIzRUNDMkZCMDA4NjU1NDkgLyogVUlXS0ludGVyYWN0aW9uVmll
d1Byb3RvY29sLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjQwMkY1NkIyM0VDQzJGQjAwODY1NTQ5IC8qIFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2Nv
bC5tbSAqLzsgfTsKKwkJRjQwMzRGQTEyNzVENTQwMjAwM0E4MUY4IC8qIENvb2tpZUNvbnNlbnQu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEZB
MDI3NUQ1NDAyMDAzQTgxRjggLyogQ29va2llQ29uc2VudC5tbSAqLzsgfTsKKwkJRjQwMzRGQTMy
NzVENUFDNjAwM0E4MUY4IC8qIGNvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwMzRGQTIyNzVENTQ0
OTAwM0E4MUY4IC8qIGNvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwgKi87IH07CiAJCUY0MDdGRTM5
MUYxRDBERkMwMDE3Q0YyNSAvKiBlbm9ybW91cy5zdmcgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwN0ZFMzgxRjFEMERFNjAwMTdDRjI1IC8q
IGVub3Jtb3VzLnN2ZyAqLzsgfTsKIAkJRjQwOTRDQzcyNTU0NUJENTAwM0Q3M0UzIC8qIERpc3Bs
YXlMaXN0VGVzdHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjQwOTRDQzYyNTU0NUJENTAwM0Q3M0UzIC8qIERpc3BsYXlMaXN0VGVzdHMuY3BwICov
OyB9OwogCQlGNDE1MDg2RDFEQTA0MEM1MDA0NEJFOUIgLyogcGxheS1hdWRpby1vbi1jbGljay5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY0MTUwODZDMURBMDQwQzEwMDQ0QkU5QiAvKiBwbGF5LWF1ZGlvLW9uLWNsaWNrLmh0bWwgKi87
IH07CkBAIC0xMjY0LDYgKzEyNjYsNyBAQAogCQkJCUExM0QxQUQ2MjRBRDQ2OEYwMDNGOTJBOCAv
KiBjb250ZXh0LW1lbnUtY29udHJvbC1jbGljay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAog
CQkJCTUxNDJCMjczMTUxN0M4QzgwMEMzMkIxOSAvKiBDb250ZXh0TWVudUNhbkNvcHlVUkwuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDRDBCRDBBODFGNzk5ODJEMDAxQUIyQ0YgLyog
Q29udGV4dE1lbnVJbWdXaXRoVmlkZW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlG
NDAzNEZBMzI3NUQ1QUM2MDAzQTgxRjggLyogY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLywKIAkJCQk1QzI5MzY5NjFENUMwMEVEMDBERUFCMUUgLyogQ29va2ll
TWVzc2FnZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTlCMUY2Rjc5MUY5MDU1OUUw
MEI1NTc0NCAvKiBjb3B5LWh0bWwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk5QjYy
NjMwQzFGOEMyNUM4MDA3RUUyOUIgLyogY29weS11cmwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKQEAgLTI5MjMsNiArMjkyNiw4IEBACiAJCUY0MDEwQjgxMjREQTI2N0YwMEE4NzZFMiAvKiBQ
b3NlQXNDbGFzcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFBv
c2VBc0NsYXNzLm1tOyBwYXRoID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9jb2NvYS9Qb3NlQXNDbGFz
cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwMTBCODIyNERBMjY3RjAwQTg3
NkUyIC8qIFBvc2VBc0NsYXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFBv
c2VBc0NsYXNzLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL2NvY29hL1Bvc2VBc0NsYXNz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MDJGNTZCMjNFQ0MyRkIwMDg2NTU0
OSAvKiBVSVdLSW50ZXJhY3Rpb25WaWV3UHJvdG9jb2wubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBVSVdLSW50ZXJhY3Rpb25WaWV3UHJvdG9jb2wubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUY0MDM0RkEwMjc1RDU0MDIwMDNBODFGOCAvKiBDb29raWVDb25zZW50Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gQ29va2llQ29uc2VudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRjQwMzRGQTIyNzVENTQ0OTAwM0E4MUY4IC8qIGNvb2tpZS1jb25zZW50LWJhc2lj
Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0Lmh0bWw7IHBhdGggPSAiY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY0MDdGRTM4MUYxRDBERTYwMDE3Q0YyNSAvKiBlbm9ybW91cy5z
dmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gZW5vcm1vdXMuc3ZnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDA5
NENDNjI1NTQ1QkQ1MDAzRDczRTMgLyogRGlzcGxheUxpc3RUZXN0cy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEaXNwbGF5TGlzdFRlc3RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRjQxMDZDNjgyMUFDQkY4NDAwNEI4OUExIC8qIFdLV2ViVmlld0ZpcnN0UmVzcG9uZGVyVGVz
dHMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1dlYlZpZXdGaXJzdFJlc3BvbmRlclRlc3Rz
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzI3MCw2ICszMjc1LDcgQEAKIAkJ
CQlDMUY3QjczODI0NDkwODNGMDAxMjQ1NTcgLyogQUdYQ29tcGlsZXJTZXJ2aWNlLm1tICovLAog
CQkJCUMxNUNCQjJGMjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlv
bi5tbSAqLywKIAkJCQlDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLywK
KwkJCQlGNDAzNEZBMDI3NUQ1NDAyMDAzQTgxRjggLyogQ29va2llQ29uc2VudC5tbSAqLywKIAkJ
CQlDMTNEODJEODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLywK
IAkJCQkxQzgxODAyNjI1RkIwOUUyMDA2MDhCM0UgLyogRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNr
Lm1tICovLAogCQkJCUUzOTRBRTZFMjNGMjMwM0UwMDVCNDkzNiAvKiBHcmFudEFjY2Vzc1RvTW9i
aWxlQXNzZXRzLm1tICovLApAQCAtNDU5MSw2ICs0NTk3LDcgQEAKIAkJCQkxQTUwQUExRjFBMkE0
RUE1MDBGNEMzNDUgLyogY2xvc2UtZnJvbS13aXRoaW4tY3JlYXRlLXBhZ2UuaHRtbCAqLywKIAkJ
CQk5QjI3MEZFRDFEREMyNUZEMDAyRDUzRjMgLyogY2xvc2VkLXNoYWRvdy10cmVlLXRlc3QuaHRt
bCAqLywKIAkJCQk1QzlFNTY4NjFERjkxNDhFMDBDOUVFMzMgLyogY29udGVudEJsb2NrZXJDaGVj
ay5odG1sICovLAorCQkJCUY0MDM0RkEyMjc1RDU0NDkwMDNBODFGOCAvKiBjb29raWUtY29uc2Vu
dC1iYXNpYy5odG1sICovLAogCQkJCTJEREQ0REEzMjcwQjhCMzMwMDY1OUE2MSAvKiBjdWJlLnVz
ZHogKi8sCiAJCQkJMjkwRjQyNzQxNzJBMUZERTAwOTM5RkYwIC8qIGN1c3RvbS1wcm90b2NvbC1z
eW5jLXhoci5odG1sICovLAogCQkJCTExODE1MzQzMjIwOEI3QUMwMEIyQ0NEMiAvKiBkZWZlcnJl
ZC1zY3JpcHQtbG9hZC5odG1sICovLApAQCAtNTQwNSw2ICs1NDEyLDcgQEAKIAkJCQk4MzQ5RDND
MjFEQjk2RERFMDA0QTlGNjUgLyogQ29udGV4dE1lbnVEb3dubG9hZC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUNEMEJEMEE2MUY3OTkyNEQwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dpdGhWaWRl
by5tbSBpbiBTb3VyY2VzICovLAogCQkJCUExQzE0MkMyMjRBQTdCMkUwMDQ0NDIwNyAvKiBDb250
ZXh0TWVudU1vdXNlRXZlbnRzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRjQwMzRGQTEyNzVENTQw
MjAwM0E4MUY4IC8qIENvb2tpZUNvbnNlbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VB
QzFBNDExQTM0MDA0NDdDNEMgLyogQ291bnRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FF
QUQ0N0YxRTIwMTE2QzAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RURCMUE0MTFBOTIwMDQ0N0M0QyAvKiBDU1NQYXJz
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9Db29raWVDb25zZW50Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvQ29va2llQ29uc2VudC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGEwZGU5MGVjN2QyMmY3NDAyOTZi
ZGEzODFlZjE0N2ViMWQ4NTVlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvQ29va2llQ29uc2VudC5tbQpAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisj
aW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9X
ZWJLaXRQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUu
aD4KKworQGludGVyZmFjZSBDb29raWVDb25zZW50RGVsZWdhdGUgOiBOU09iamVjdDxXS1VJRGVs
ZWdhdGVQcml2YXRlPgorQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgZGVjaXNpb247CitAZW5k
CisKK0BpbXBsZW1lbnRhdGlvbiBDb29raWVDb25zZW50RGVsZWdhdGUKKworLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5m
b0hhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKW1vcmVJbmZvSGFuZGxlciBkZWNpc2lvbkhhbmRsZXI6
KHZvaWQgKF4pKEJPT0wpKWRlY2lzaW9uSGFuZGxlcgoreworICAgIGRlY2lzaW9uSGFuZGxlcihz
ZWxmLmRlY2lzaW9uKTsKK30KKworQGVuZAorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisK
K3N0YXRpYyBSZXRhaW5QdHI8VGVzdFdLV2ViVmlldz4gY3JlYXRlV2ViVmlld0ZvclRlc3RpbmdD
b29raWVDb25zZW50KCkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGZvciAoX1dLSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUgKmZlYXR1cmUgaW4gV0tQcmVmZXJlbmNlcy5faW50ZXJuYWxEZWJ1Z0ZlYXR1
cmVzKSB7CisgICAgICAgIGlmIChbZmVhdHVyZS5rZXkgaXNFcXVhbFRvU3RyaW5nOkAiQ29va2ll
Q29uc2VudEFQSUVuYWJsZWQiXSkgeworICAgICAgICAgICAgW1tjb25maWd1cmF0aW9uIHByZWZl
cmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6ZmVhdHVyZV07
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA0
MDAsIDQwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7Cit9CisKK3N0YXRp
YyB2b2lkIGNoZWNrRm9yU3RyaW5nKFRlc3RXS1dlYlZpZXcgKndlYlZpZXcsIE5TU3RyaW5nICpl
eHBlY3RlZFN0cmluZykKK3sKKyAgICBhdXRvIGNvbnRlbnRzQXNTdHJpbmcgPSBSZXRhaW5QdHIg
eyB3ZWJWaWV3LmNvbnRlbnRzQXNTdHJpbmcgfTsKKyAgICBCT09MIGNvbnRhaW5zU3RyaW5nID0g
W2NvbnRlbnRzQXNTdHJpbmcgY29udGFpbnNTdHJpbmc6ZXhwZWN0ZWRTdHJpbmddOworICAgIEVY
UEVDVF9UUlVFKGNvbnRhaW5zU3RyaW5nKTsKKyAgICBpZiAoIWNvbnRhaW5zU3RyaW5nKQorICAg
ICAgICBOU0xvZyhAIkV4cGVjdGVkOiBcIiVAXCIgdG8gY29udGFpbjogXCIlQFwiIiwgY29udGVu
dHNBc1N0cmluZy5nZXQoKSwgZXhwZWN0ZWRTdHJpbmcpOworfQorCitURVNUKENvb2tpZUNvbnNl
bnQsIEJhc2ljRGVjaXNpb25IYW5kbGVyKQoreworICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdl
YlZpZXdGb3JUZXN0aW5nQ29va2llQ29uc2VudCgpOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9w
dE5TKFtbQ29va2llQ29uc2VudERlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW2RlbGVnYXRl
IHNldERlY2lzaW9uOllFU107CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5n
ZXQoKV07CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiY29v
a2llLWNvbnNlbnQtYmFzaWMiXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlv
blVwZGF0ZV07CisgICAgY2hlY2tGb3JTdHJpbmcod2ViVmlldy5nZXQoKSwgQCJyZXR1cm5lZDog
dHJ1ZSIpOworCisgICAgW2RlbGVnYXRlIHNldERlY2lzaW9uOk5PXTsKKyAgICBbd2ViVmlldyBf
a2lsbFdlYkNvbnRlbnRQcm9jZXNzQW5kUmVzZXRTdGF0ZV07CisgICAgW3dlYlZpZXcgc3luY2hy
b25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiY29va2llLWNvbnNlbnQtYmFzaWMiXTsKKyAgICBb
d2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgY2hlY2tGb3JTdHJp
bmcod2ViVmlldy5nZXQoKSwgQCJyZXR1cm5lZDogZmFsc2UiKTsKK30KKworVEVTVChDb29raWVD
b25zZW50LCBOb3RFbmFibGVkKQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgNDAwLCA0MDAp
XSk7CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiY29va2ll
LWNvbnNlbnQtYmFzaWMiXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVw
ZGF0ZV07CisgICAgY2hlY2tGb3JTdHJpbmcod2ViVmlldy5nZXQoKSwgQCJub3QgZW5hYmxlZCIp
OworfQorCitURVNUKENvb2tpZUNvbnNlbnQsIFRocm93c0V4Y2VwdGlvbldpdGhvdXREZWxlZ2F0
ZSkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ0Nvb2tpZUNv
bnNlbnQoKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJj
b29raWUtY29uc2VudC1iYXNpYyJdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0
aW9uVXBkYXRlXTsKKyAgICBjaGVja0ZvclN0cmluZyh3ZWJWaWV3LmdldCgpLCBAInRocmV3IGV4
Y2VwdGlvbjogTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRl
ZCIpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9jb29raWUtY29uc2VudC1iYXNpYy5odG1sIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvY29va2llLWNvbnNlbnQtYmFzaWMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNmE4M2FjNDM0YTJhYzdkMDUxZjFiNWY2ZDNhNzFjMmYxMmRhYmQzCi0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvY29va2ll
LWNvbnNlbnQtYmFzaWMuaHRtbApAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPG1ldGEgY2hhcnNldD0idXRmOCI+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPGhlYWQ+Cis8c2NyaXB0
PgorYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGFzeW5jICgpID0+IHsKKyAg
ICBjb25zdCBvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7CisgICAg
aWYgKCFuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQpIHsKKyAgICAgICAgb3V0cHV0LnRl
eHRDb250ZW50ID0gIm5vdCBlbmFibGVkIjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IHRyeSB7CisgICAgICAgIGxldCBjb25zZW50ID0gYXdhaXQgbmF2aWdhdG9yLnJlcXVlc3RDb29r
aWVDb25zZW50KCk7CisgICAgICAgIG91dHB1dC50ZXh0Q29udGVudCA9IGByZXR1cm5lZDogJHtj
b25zZW50fWA7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQg
PSBgdGhyZXcgZXhjZXB0aW9uOiAke2V9YDsKKyAgICB9Cit9KTsKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cHJlPm5hdmlnYXRvci5yZXF1ZXN0Q29va2llQ29uc2VudCgpPC9wcmU+Cis8
cHJlPuKGqiZuYnNwOzxjb2RlIGlkPSJvdXRwdXQiPjwvY29kZT48L3ByZT4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446252</attachid>
            <date>2021-12-07 16:30:17 -0800</date>
            <delta_ts>2021-12-07 17:18:54 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-233890-20211207163016.patch</filename>
            <type>text/plain</type>
            <size>69253</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGIxZmZjY2Q1MDFlNzM3OThkZWMzMGM5
MDVkZDAzZTM5NjhiZTU2NTkuLjc0NmUzYzNkNWM5ODBkMTNhYjNiNTc1YzU4MTBkODEzN2FkMThk
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3Iu
cmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAg
ICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmVhdHVyZSBmbGFnIChvZmYgYnkgZGVmYXVsdCkuIE5v
dGUgdGhhdCB0aGlzIGlzIGFsc28gb25seSBhbiBpbnRlcm5hbCBmZWF0dXJlIGZsYWcgZm9yIHRo
ZSB0aW1lCisgICAgICAgIGJlaW5nIChyYXRoZXIgdGhhbiBhbiBleHBlcmltZW50YWwgZmVhdHVy
ZSBmbGFnKSwgc3VjaCB0aGF0IGl0IGNhbm5vdCAoeWV0KSBiZSB0dXJuZWQgb24gYnkgbm9uLUFw
cGxlIGludGVybmFsCisgICAgICAgIHVzZXJzLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWw6CisKIDIwMjEtMTItMDcgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgRmV0Y2ggYW5kIHJlbW92ZSBmaWxl
IHN5c3RlbSBkYXRhIHZpYSBXS1dlYnNpdGVEYXRhU3RvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyMWZiNGI4
ODU1Y2JiNWE2NmE1ZDZiYThjZWE1OTM2Nzc1NzlkMTNmLi4wMjU4MjYyZGNhZWJiNDNmYTAwYWZl
MDc4MzgyN2U1YWJhNjEyYThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIwMjEtMTIt
MDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEg
ZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIHN1cHBv
cnQgYSBuZXcgKGludGVybmFsLWZvci10aGUtdGltZS1iZWluZykgbmF2aWdhdG9yIEFQSSwgYHJl
cXVlc3RDb29raWVDb25zZW50KClgLiBUaGlzCisgICAgICAgIHJldHVybnMgYSBwcm9taXNlIGlu
ZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIHVzZXIgKG9yIHRoZSBVQSwgb24gYmVoYWxmIG9m
IHRoZSB1c2VyKSBjb25zZW50cyB0byB1c2FnZSBvZgorICAgICAgICBjb29raWVzIHRoYXQgYXJl
IG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgZm9yIHBhZ2UgcGVyZm9ybWFuY2UuCisKKyAgICAgICAg
UGFpcmVkIHdpdGggdGhpcyB3ZWItZmFjaW5nIEFQSSwgd2UgYWxzbyBpbnRyb2R1Y2UgY29ycmVz
cG9uZGluZyBwcml2YXRlIFdLVUlEZWxlZ2F0ZSBtZXRob2RzIHRoYXQgYXJlIGludm9rZWQKKyAg
ICAgICAgYXMgYSByZXN1bHQgb2YgY2FsbGluZyBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25z
ZW50KCk7YCwgd2hpY2ggYSBXZWJLaXQgZW1iZWRkZXIgbWF5IGltcGxlbWVudCBpbiBvcmRlciB0
bworICAgICAgICBwcmVzZW50IFVJIG9yIG90aGVyd2lzZSByZXNwb25kIGFwcHJvcHJpYXRlbHkg
dG8gdGhlIHJlcXVlc3QuIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisK
KyAgICAgICAgVGVzdHM6ICBDb29raWVDb25zZW50LkJhc2ljRGVjaXNpb25IYW5kbGVyCisgICAg
ICAgICAgICAgICAgQ29va2llQ29uc2VudC5Ob3RFbmFibGVkCisgICAgICAgICAgICAgICAgQ29v
a2llQ29uc2VudC5UaHJvd3NFeGNlcHRpb25XaXRob3V0RGVsZWdhdGUKKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAq
IE1vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0Lmg6IEFk
ZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNv
bnNlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmln
YXRvckNvb2tpZUNvbnNlbnQuY3BwOiBBZGRlZC4KKworICAgICAgICBBZGQgYSBuZXcgcGFydGlh
bCBpbnRlcmZhY2Ugb24gTmF2aWdhdG9yIHRoYXQgaW1wbGVtZW50cyB0aGUgbmV3IEFQSSBieSBj
YWxsaW5nIGludG8gdGhlIGNocm9tZSBjbGllbnQgaG9vayAoc2VlCisgICAgICAgIFdlYktpdCBj
aGFuZ2VzIGZvciBtb3JlIGRldGFpbHMpLiBOb3RlIHRoYXQgaW4gdGhlIGNhc2Ugd2hlcmUgdGhl
IGNvbnNlbnQgZGVsZWdhdGUgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBieQorICAgICAgICB0
aGUgY2xpZW50LCB3ZSB3aWxsIHJlamVjdCB0aGUgcHJvbWlzZSB3aXRoIGEgYE5vdFN1cHBvcnRl
ZEVycm9yYC4KKworICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29va2llQ29uc2VudDo6cmVx
dWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29va2llQ29u
c2VudDo6ZnJvbSk6CisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JD
b29raWVDb25zZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQv
UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM6OlJlcXVlc3RDb29raWVDb25zZW50T3B0aW9u
cyk6CisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2Vu
dE9wdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1
ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Zp
bGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uLmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VD
b25uZWN0aW9uLmg6CisKKyAgICAgICAgQWRkIHNvbWUgbWlzc2luZyBpbmNsdWRlcyB0byBmaXgg
dGhlIHVuaWZpZWQgc291cmNlIGJ1aWxkIG9uIFdpbmRvd3MuCisKKyAgICAgICAgKiBTb3VyY2Vz
LnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNo
cm9tZUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAqIGxvYWRlci9FbXB0
eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDIxLTEyLTA3
ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBG
b250Q2FjaGUgc2luZ2xldG9uIGFuZCBpbnN0YW5jZSBvbiBXb3JrZXJHbG9iYWxTY29wZSB0byBU
aHJlYWRHbG9iYWxEYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFiNGE1N2M3YzVmNmRjNjM2YjRlZDlkMDE2OWFk
YTA0YmIxYzNiMDAuLjU4MGQ1MjIxNGUyZGY5NjVhYWUyNTQyMWMwOTU1ZDMxMTc2MzMwYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjEtMTItMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3Iu
cmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAg
ICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgQWRkIHBsdW1iaW5nIGZvciBhbiBhc3luYyBgcmVxdWVzdENvb2tpZUNvbnNl
bnQoKWAgbWV0aG9kIG9uIENocm9tZUNsaWVudCB0aGF0IHBsdW1icyB0aHJvdWdoIHRoZSBXZWJL
aXQyIGNsaWVudAorICAgICAgICBsYXllciwgaW50byBhIG5ldyBwcml2YXRlIChmb3IgdGhlIHRp
bWUgYmVpbmcpIFVJIGRlbGVnYXRlIG1ldGhvZC4gSWYgdGhlIG5ldyBkZWxlZ2F0ZSBtZXRob2Qg
aXMgbm90IGltcGxlbWVudGVkCisgICAgICAgIChvciB0aGVyZSBpcyBubyBVSSBkZWxlZ2F0ZSBh
dCBhbGwpLCB3ZSBpbW1lZGlhdGVseSBpbnZva2UgdGhlIGRlY2lzaW9uIGhhbmRsZXIgd2l0aCBh
IHJlc3VsdCBvZiBgTm90U3VwcG9ydGVkYCwKKyAgICAgICAgYWxsb3dpbmcgdXMgdG8gcmVqZWN0
IHRoZSBwcm9taXNlIHdpdGggYSBgTm90U3VwcG9ydGVkRXJyb3JgLgorCisgICAgICAgIFNlZSBX
ZWJDb3JlIENoYW5nZUxvZyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9BUElVSUNsaWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6cmVxdWVzdENvb2tp
ZUNvbnNlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJp
dmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVs
ZWdhdGU6OnNldERlbGVnYXRlKToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGll
bnQ6OnJlcXVlc3RDb29raWVDb25zZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0Q29va2llQ29u
c2VudCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTEyLTA3ICBDYW1lcm9u
IE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBGb250Q2FjaGUg
c2luZ2xldG9uIGFuZCBpbnN0YW5jZSBvbiBXb3JrZXJHbG9iYWxTY29wZSB0byBUaHJlYWRHbG9i
YWxEYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggOTJkOGRiYWFhOGI5ZGYyMjI4
ODYxMDU0MDRjY2RjZTY5NDIyZDk2OS4uOWNmNGU3ZWI3ZmJkMDY1OGM5OTk2N2YwNGU4NjdlNWNm
ZjZlNzEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDIxLTEyLTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50KClgIGJl
aGluZCBhIGRpc2FibGVkIGZlYXR1cmUgZmxhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODkwCisgICAgICAgIHJkYXI6Ly84NjExNzcxOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBhbiBpbXBsZW1l
bnRhdGlvbiBzdHViIGZvciB0aGUgbmV3IGNocm9tZSBjbGllbnQgaG9vaywgYHJlcXVlc3RDb29r
aWVDb25zZW50KClgLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAg
ICAoV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29uc2VudCk6CisKIDIwMjEtMTItMDcg
IENhbWVyb24gTWNDb3JtYWNrICA8aGV5Y2FtQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIEZv
bnRDYWNoZSBzaW5nbGV0b24gYW5kIGluc3RhbmNlIG9uIFdvcmtlckdsb2JhbFNjb3BlIHRvIFRo
cmVhZEdsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBkNDAxZDNkNWJh
MGQwNjM0MTBhNzIwNGI0MzE4M2Q2Yzg4YjNjZDgzLi41ZDQ0MjQ1NWMzZWYwN2JlZDQ2MzZmOWI2
NmIwN2FmMTk1YjdiYjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMjEtMTItMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNl
bnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3
NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIGFu
IGltcGxlbWVudGF0aW9uIHN0dWIgZm9yIHRoZSBuZXcgY2hyb21lIGNsaWVudCBob29rLCBgcmVx
dWVzdENvb2tpZUNvbnNlbnQoKWAuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29u
c2VudCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIw
MjEtMTItMDcgIENhbWVyb24gTWNDb3JtYWNrICA8aGV5Y2FtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBNb3ZlIEZvbnRDYWNoZSBzaW5nbGV0b24gYW5kIGluc3RhbmNlIG9uIFdvcmtlckdsb2JhbFNj
b3BlIHRvIFRocmVhZEdsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwgYi9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IDAzYmI0YWUz
MDFlNTllYWZhN2QyYjU2YmJmYjBhNTM5YTgzMDA4YzUuLmUxYmFmZmMzNzg0MjhkYWFmYWYyYThh
MjU5Yzc1YzViMTJjMWZjYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMTc2LDYgKzE3Niwx
OSBAQCBDYXB0dXJlVmlkZW9JblVJUHJvY2Vzc0VuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAg
ZGVmYXVsdDogZmFsc2UKIAorQ29va2llQ29uc2VudEFQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wK
KyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDb29raWUgQ29uc2VudCBBUEkiCisgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIkVuYWJsZSBjb29raWUgY29uc2VudCBBUEkiCisgIGV4cG9zZWQ6IFsg
V2ViS2l0IF0KKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0
OgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogRE9NUGFzdGVBY2Nlc3NSZXF1ZXN0c0VuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJET00gUGFzdGUgQWNjZXNzIFJl
cXVlc3RzIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3NjI0MzI0ZDk1ZDY5NDE5ZmMwMzJjNzg2
ZmZiYjM3Yzc2N2FhMTJjLi5kNDQ5ZGU4YjAwYWI1NDdlNjhjODU4ZWZlZGNiYTUzMGE5NWEwZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjcsNiArMjcsNyBAQCBzZXQoV2ViQ29yZV9QUklW
QVRFX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9iZWFj
b24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY2FjaGUiCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvY29udGFjdC1waWNrZXIiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
Y29va2llLWNvbnNlbnQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY3JlZGVudGlhbG1h
bmFnZW1lbnQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEiCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5IgpAQCAtMjU2
LDYgKzI1Nyw5IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9j
b250YWN0LXBpY2tlci9Db250YWN0c1NlbGVjdE9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy9jb250
YWN0LXBpY2tlci9OYXZpZ2F0b3IrQ29udGFjdHMuaWRsCiAKKyAgICBNb2R1bGVzL2Nvb2tpZS1j
b25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50LmlkbAorICAgIE1vZHVsZXMvY29va2llLWNv
bnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbAorCiAgICAgTW9kdWxlcy9jcmVk
ZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCiAgICAgTW9kdWxlcy9jcmVkZW50
aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbAogICAgIE1vZHVsZXMv
Y3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggNGZmOGUz
ZjIwYjJjYmNmMTc4NmFlODgzMTdiNTFhYWQ3NjNhYTczNy4uZWNkN2FlNThkNzEwMWEzODY1NjNj
ZTJmYzIzOTVkYTY0ZTcxM2M1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yMzIsNiArMjMyLDggQEAgJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0UHJvcGVydHkuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdlci5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNTZWxlY3RPcHRpb25zLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9jb250YWN0LXBpY2tlci9OYXZpZ2F0b3IrQ29udGFjdHMuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25z
ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29v
a2llQ29uc2VudE9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NyZWRlbnRpYWxt
YW5hZ2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY3Jl
ZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRp
b25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdAppbmRleCBkMjdmNmU0NjYwZWI2YmI4ZDVkOGQwNDBlMTZjNzFjZDc5Yzk2MmQxLi45OTZj
YmRlMjExNmVlZTIyODg0ODQ4ZTE0ZTFlNTgxNmE4MTdkZjNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTY0Nyw2ICsxNjQ3LDgg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0
b3IrQ2xpcGJvYXJkLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOYXZpZ2F0b3IrQ2xpcGJvYXJkLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK0NvbnRhY3RzLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ29udGFjdHMuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3Ir
Q29va2llQ29uc2VudC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ3JlZGVudGlhbHMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitDcmVk
ZW50aWFscy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvcitFTUUuY3BwCkBAIC0yMDg5LDYgKzIwOTEsOCBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5
Q2FsbGJhYwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
ZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2su
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JlcXVl
c3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXF1ZXN0Q29va2llQ29u
c2VudE9wdGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNSZXNpemVPYnNlcnZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUmVzaXplT2JzZXJ2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXNpemVPYnNlcnZlckJveE9wdGlvbnMuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhNGZmNDUxZjJmMTMwZGM2ZTEyNzZhNjUxYzNm
YjdhOTEyMjk5OWZkLi4zM2JkNmUwMGRjOGI2MmYxZGExYzBjOTUwY2I5MjhiMjg3YTZmZjFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1NCw2ICsyNTQsOCBAQCBKU19CSU5E
SU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250
YWN0c01hbmFnZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY29udGFjdC1waWNrZXIv
Q29udGFjdHNTZWxlY3RPcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NvbnRh
Y3QtcGlja2VyL05hdmlnYXRvcitDb250YWN0cy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGwgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWND
cmVkZW50aWFsLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2Vt
ZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZQppbmRleCA1MWRmNWMzMGFiOWZkYzQ1N2M4ZTBkYjlkNmRjYmI2N2IzZjU4
ZmIxLi43OTYzNmJkZDg4NjU4ZTZhY2FmYTkwZTMxNTVhNjk5NjlkZWY3NDU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKQEAgLTE1Myw2ICsxNTMsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09S
S19IRUFERVJTCiAgICAgTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0UHJvcGVydHkuaAog
ICAgIE1vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNSZXF1ZXN0RGF0YS5oCiAKKyAgICBN
b2R1bGVzL2Nvb2tpZS1jb25zZW50L0Nvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oCisKICAg
ICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETUNsaWVudC5oCiAgICAgTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNsaWVudC5oCiAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN5c3RlbUNvbnRyb2xsZXIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jb29raWUtY29uc2VudC9Db29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9u
UmVzdWx0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMzNjQxMjgxY2RiZjE2M2U3MjA0MTFjOGM0M2I2NjViYjA2
ZTAzZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNv
bnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmgKQEAgLTAsMCArMSw1MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIENvb2tpZUNvbnNlbnREZWNpc2lvblJl
c3VsdCA6IHVpbnQ4X3QgeworICAgIE5vdFN1cHBvcnRlZCwKKyAgICBDb25zZW50LAorICAgIERp
c3NlbnQsCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgewor
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgV2ViQ29y
ZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LAorICAgIFdlYkNvcmU6OkNvb2tpZUNvbnNl
bnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkLAorICAgIFdlYkNvcmU6OkNvb2tpZUNvbnNl
bnREZWNpc2lvblJlc3VsdDo6Q29uc2VudCwKKyAgICBXZWJDb3JlOjpDb29raWVDb25zZW50RGVj
aXNpb25SZXN1bHQ6OkRpc3NlbnQKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRv
citDb29raWVDb25zZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNl
bnQvTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1MjkwYzVmZGU4NTkz
OGMzOGYwOGMwNTA2MjI3ZmI5NzY4ZGE1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50LmlkbApA
QCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9Q29v
a2llQ29uc2VudEFQSUVuYWJsZWQsCisgICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JDb29raWVD
b25zZW50LAorXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIFByb21pc2U8Ym9v
bGVhbj4gcmVxdWVzdENvb2tpZUNvbnNlbnQob3B0aW9uYWwgUmVxdWVzdENvb2tpZUNvbnNlbnRP
cHRpb25zIG9wdGlvbnMpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y29va2llLWNvbnNlbnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk2ZDBmMWE1Y2ZlYjIxOWE3NmYwNzFlNmEyMTY4ZjVhZGI1NzZhMDIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRv
ckNvb2tpZUNvbnNlbnQuY3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29va2llQ29uc2VudC5oIgorCisjaW5j
bHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCisjaW5jbHVkZSAiQ29v
a2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgor
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgi
CisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJlcXVlc3RDb29raWVDb25zZW50T3B0aW9u
cy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgTmF2aWdhdG9yQ29va2llQ29uc2Vu
dDo6cmVxdWVzdENvb2tpZUNvbnNlbnQoTmF2aWdhdG9yJiBuYXZpZ2F0b3IsIHN0ZDo6b3B0aW9u
YWw8UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zPiYmIG9wdGlvbnMsIFJlZjxEZWZlcnJlZFBy
b21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBmcm9tKG5hdmlnYXRvcikucmVxdWVzdENvb2tpZUNv
bnNlbnQoV1RGTW92ZShvcHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSk7Cit9CisKK3ZvaWQgTmF2
aWdhdG9yQ29va2llQ29uc2VudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQoc3RkOjpvcHRpb25hbDxS
ZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM+JiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJiBwcm9taXNlKQoreworICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRoZSAnTW9yZSBpbmZvJyBv
cHRpb24uCisgICAgVU5VU0VEX1BBUkFNKG9wdGlvbnMpOworCisgICAgUmVmUHRyIGZyYW1lID0g
bV9uYXZpZ2F0b3IuZnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+aXNNYWluRnJh
bWUoKSB8fCAhZnJhbWUtPnBhZ2UoKSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3QoTm90QWxs
b3dlZEVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGZyYW1lLT5wYWdlKCkt
PmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RDb29raWVDb25zZW50KFtwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKV0gKENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCByZXN1bHQpIHsKKyAgICAg
ICAgc3dpdGNoIChyZXN1bHQpIHsKKyAgICAgICAgY2FzZSBDb29raWVDb25zZW50RGVjaXNpb25S
ZXN1bHQ6Ok5vdFN1cHBvcnRlZDoKKyAgICAgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RTdXBw
b3J0ZWRFcnJvcik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDb29raWVDb25z
ZW50RGVjaXNpb25SZXN1bHQ6OkNvbnNlbnQ6CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZl
PElETEJvb2xlYW4+KHRydWUpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ29v
a2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpEaXNzZW50OgorICAgICAgICAgICAgcHJvbWlzZS0+
cmVzb2x2ZTxJRExCb29sZWFuPihmYWxzZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorICAgIH0pOworfQorCitOYXZpZ2F0b3JDb29raWVDb25zZW50JiBOYXZpZ2F0b3JDb29raWVD
b25zZW50Ojpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGlmIChhdXRvIHN1cHBs
ZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JDb29raWVDb25zZW50Kj4oU3VwcGxlbWVudDxO
YXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCkpKSkKKyAgICAgICAg
cmV0dXJuICpzdXBwbGVtZW50OworCisgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1
ZTxOYXZpZ2F0b3JDb29raWVDb25zZW50PihuYXZpZ2F0b3IpOworICAgIGF1dG8gc3VwcGxlbWVu
dCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBs
ZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIHJldHVybiAqc3VwcGxl
bWVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNl
bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44ZTIyZWNhMjU0NTBlNTc2MWUwZWY1OGNlZjI0Y2JkZGNhYjYxMDEz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2Vu
dC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKyNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERlZmVycmVkUHJv
bWlzZTsKK2NsYXNzIE5hdmlnYXRvcjsKKworc3RydWN0IFJlcXVlc3RDb29raWVDb25zZW50T3B0
aW9uczsKKworY2xhc3MgTmF2aWdhdG9yQ29va2llQ29uc2VudCBmaW5hbCA6IHB1YmxpYyBTdXBw
bGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGlj
OgorICAgIGV4cGxpY2l0IE5hdmlnYXRvckNvb2tpZUNvbnNlbnQoTmF2aWdhdG9yJiBuYXZpZ2F0
b3IpCisgICAgICAgIDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQorICAgIHsKKyAgICB9CisKKyAg
ICBzdGF0aWMgdm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChOYXZpZ2F0b3ImLCBzdGQ6Om9wdGlv
bmFsPFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4m
Jik7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQmIGZyb20o
TmF2aWdhdG9yJik7CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCkgeyBy
ZXR1cm4gIk5hdmlnYXRvckNvb2tpZUNvbnNlbnQiOyB9CisKKyAgICB2b2lkIHJlcXVlc3RDb29r
aWVDb25zZW50KHN0ZDo6b3B0aW9uYWw8UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zPiYmLCBS
ZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2Nvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25zZW50
T3B0aW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWE4ZjMzNmFjNTNhZDQ5NzQ3YzI0ZWQyYjRkNjIxMzAy
MjMwYmVmZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2ll
LWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcApAQCAtMCwwICsxLDQxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlcXVlc3RDb29r
aWVDb25zZW50T3B0aW9ucy5oIgorCisjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zOjpSZXF1ZXN0Q29v
a2llQ29uc2VudE9wdGlvbnMoUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zJiYgb3B0aW9ucykK
KyAgICA6IG1vcmVJbmZvKFdURk1vdmUob3B0aW9ucy5tb3JlSW5mbykpCit7Cit9CisKK1JlcXVl
c3RDb29raWVDb25zZW50T3B0aW9uczo6UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zKCkgPSBk
ZWZhdWx0OworUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zOjp+UmVxdWVzdENvb2tpZUNvbnNl
bnRPcHRpb25zKCkgPSBkZWZhdWx0OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVD
b25zZW50T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9S
ZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOWFmMjczZTk3NTFiMjJl
Yjg1MWMwZGFjZmIxMWJmMmU0YjUwNDU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaApA
QCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFZvaWRDYWxs
YmFjazsKKworc3RydWN0IFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucyB7CisgICAgUmVxdWVz
dENvb2tpZUNvbnNlbnRPcHRpb25zKFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucyYmKTsKKyAg
ICBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMoKTsKKyAgICB+UmVxdWVzdENvb2tpZUNvbnNl
bnRPcHRpb25zKCk7CisKKyAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBtb3JlSW5mbzsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRp
b25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMGM3NTU2NzkxMTQ1OTRjNGRjZDAxZjdkYWM2MDk3MWM3ZDg2
ZjAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29u
c2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaWRsCkBAIC0wLDAgKzEsMjggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitkaWN0aW9uYXJ5IFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucyB7CisgICAg
Vm9pZENhbGxiYWNrPyBtb3JlSW5mbzsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxl
U3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uY3BwCmluZGV4IGY0N2NhM2QzM2Q5N2E2MzdkNmY3YmEw
NmNiZWU0NTE3ZjEzMjBmYmIuLmI1MzYzMmMzMTIzYTFiZjk1ZjcwMzM2Y2ViODYxYmM2OGQ0ZDMx
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9X
b3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rp
b24uY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
V29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uLmgiCiAKKyNpbmNsdWRlICJGaWxlU3lz
dGVtU3luY0FjY2Vzc0hhbmRsZS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAj
aW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3Jr
ZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uaAppbmRl
eCA1NGI0YjgxZjNhNzk2ODY4OWI3YmRjYWE1YmZkZGRkNDI2MjkxN2UxLi45ODM2YjFlNzRmYmE3
NmJlN2ExZTA4OGFkYzBlNTA5MzY3MTgzNTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL1dvcmtlckZp
bGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5oCkBAIC0zMiw2ICszMiw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorY2xhc3MgRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU7CiBjbGFzcyBX
b3JrZXJHbG9iYWxTY29wZTsKIGNsYXNzIFdvcmtlclRocmVhZDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCA4YmY2ZWM4MDM5NWIxZTQzMDFlYWQwODE4MGM1NjhhZWU2MmM5YWM0Li5hMDA4ZjU1MzVjMDY3
NDU2NmYwZjJlNzlmNjc4NjlmN2NlMDAyMDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtNjgsNiArNjgs
OCBAQCBNb2R1bGVzL2NhY2hlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCiBN
b2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCiBNb2R1bGVzL2Nv
bnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdlci5jcHAKIE1vZHVsZXMvY29udGFjdC1waWNrZXIv
TmF2aWdhdG9yQ29udGFjdHMuY3BwCitNb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNv
b2tpZUNvbnNlbnQuY3BwCitNb2R1bGVzL2Nvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25z
ZW50T3B0aW9ucy5jcHAKIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50
aWFsLmNwcAogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5l
ci5jcHAKIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9yQ3JlZGVudGlhbHMu
Y3BwCkBAIC0zNjcyLDYgKzM2NzQsNyBAQCBKU1JlbW90ZURPTVdpbmRvdy5jcHAKIEpTUmVtb3Rl
UGxheWJhY2suY3BwCiBKU1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5Q2FsbGJhY2suY3BwCiBK
U1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmNwcAorSlNSZXF1ZXN0Q29va2llQ29uc2Vu
dE9wdGlvbnMuY3BwCiBKU1Jlc2l6ZU9ic2VydmVyLmNwcAogSlNSZXNpemVPYnNlcnZlckJveE9w
dGlvbnMuY3BwCiBKU1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2suY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTgzZWJlYWRhNGNh
ODU1ZGNlMTRjMDVmNzJhYzQxNDUyYTczYjFlYi4uZWExYzcwZjgxYzM2YmI3MDAxODk2YTZlMGMy
ODc4YmU5YjU4OTEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNTQ1MCw2ICs1NDUwLDkgQEAKIAkJRjM0NEM3NTMxMTI5NEQ5
RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNDRDNzUyMTEyOTREOUQwMEYyNkVF
RSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjNBQkZFMEMxMzBFOURBMDAwRTdGN0QxIC8q
IEluc3RydW1lbnRpbmdBZ2VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdl
bnRzLmggKi87IH07CiAJCUYzRDQ2MTQ5MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjNENDYx
NDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggKi87IH07CisJCUY0MDM0RjlE
Mjc1QzQ3ODkwMDNBODFGOCAvKiBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDM0RjlDMjc1QzQ3ODMw
MDNBODFGOCAvKiBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNDAzNEZBQzI3NUVBRDZFMDAzQTgx
RjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEY4RjI3NUMxNjg2MDAzQTgxRjggLyogUmVx
dWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggKi87IH07CisJCUY0MDM0RkFFMjc1RUFENzYwMDNB
ODFGOCAvKiBOYXZpZ2F0b3JDb29raWVDb25zZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEY4RDI3NUMwODdCMDAzQTgxRjggLyogTmF2aWdh
dG9yQ29va2llQ29uc2VudC5oICovOyB9OwogCQlGNDAzRTc4NzIzNjNCNThDMDAwNDQ1NTAgLyog
RW50ZXJLZXlIaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNDAzRTc4NTIzNjNCNThDMDAwNDQ1NTAgLyogRW50ZXJLZXlIaW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQwREFBRUMyNUQ5RjI1
RTAwMTFCNEZBIC8qIFBhc3RlYm9hcmRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDBEQUFFQjI1RDlGMjVFMDAxMUI0RkEgLyogUGFzdGVi
b2FyZENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlGNDBEQUFFRjI1RDlGM0JGMDAxMUI0RkEgLyogUGFnZVBhc3RlYm9hcmRDb250ZXh0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDBEQUFF
RTI1RDlGM0JGMDAxMUI0RkEgLyogUGFnZVBhc3RlYm9hcmRDb250ZXh0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE3NTk1LDYgKzE3NTk4LDEz
IEBACiAJCUYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3RydW1lbnRpbmdBZ2VudHMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjNENDYxNDYxMTYxRDUzMjAwQ0EwRDA5IC8q
IEpTRXJyb3JIYW5kbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTRXJyb3JIYW5kbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjNENDYx
NDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUY0MDM0RjhDMjc1QzA4N0IwMDNBODFGOCAvKiBOYXZpZ2F0b3JDb29raWVDb25zZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5hdmlnYXRvckNvb2tp
ZUNvbnNlbnQuY3BwOyBwYXRoID0gImNvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNl
bnQuY3BwIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRGOEQyNzVDMDg3QjAw
M0E4MUY4IC8qIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gTmF2aWdhdG9yQ29va2llQ29uc2VudC5oOyBwYXRoID0gImNvb2tpZS1jb25z
ZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUY0MDM0RjhFMjc1QzA4N0MwMDNBODFGOCAvKiBOYXZpZ2F0b3IrQ29va2llQ29uc2VudC5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gIk5hdmlnYXRvcitDb29raWVDb25zZW50LmlkbCI7
IHBhdGggPSAiY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRGOEYyNzVDMTY4NjAwM0E4MUY4IC8qIFJl
cXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZXF1ZXN0Q29va2ll
Q29uc2VudE9wdGlvbnMuaDsgcGF0aCA9ICJjb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29u
c2VudE9wdGlvbnMuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RjkxMjc1
QzE2ODYwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFJl
cXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGw7IHBhdGggPSAiY29va2llLWNvbnNlbnQvUmVx
dWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUY0MDM0RjlDMjc1QzQ3ODMwMDNBODFGOCAvKiBDb29raWVDb25zZW50RGVjaXNpb25SZXN1
bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0Lmg7IHBhdGgg
PSAiY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmgiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEZDQzI3NjAyMTVDMDAzQTgxRjggLyogUmVxdWVz
dENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFJlcXVlc3RDb29r
aWVDb25zZW50T3B0aW9ucy5jcHA7IHBhdGggPSAiY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tp
ZUNvbnNlbnRPcHRpb25zLmNwcCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MDNF
Nzg1MjM2M0I1OEMwMDA0NDU1MCAvKiBFbnRlcktleUhpbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRW50
ZXJLZXlIaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MDNFNzg2MjM2M0I1
OEMwMDA0NDU1MCAvKiBFbnRlcktleUhpbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRW50ZXJL
ZXlIaW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwREFBRUIyNUQ5RjI1
RTAwMTFCNEZBIC8qIFBhc3RlYm9hcmRDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhc3RlYm9h
cmRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTgwOCw2ICsyNTgx
OCw3IEBACiAJCQkJODMyMTUwNzkxRjI3RTk2QjAwOTVCMTM2IC8qIGJlYWNvbiAqLywKIAkJCQk0
MTM4MEMxRTFGMzQzNjYwMDAxNTVGREEgLyogY2FjaGUgKi8sCiAJCQkJRTU5NkREMjMyNTE5MDJE
NjAwQzI3NUE3IC8qIGNvbnRhY3QtcGlja2VyICovLAorCQkJCUY0MDM0RjhCMjc1QzA4NjcwMDNB
ODFGOCAvKiBjb29raWUtY29uc2VudCAqLywKIAkJCQk1N0M3QTY4ODFFNTY5NDZEMDBDNjdENzEg
LyogY3JlZGVudGlhbG1hbmFnZW1lbnQgKi8sCiAJCQkJQ0RBOThEQkQxNjAxNEUwODAwRkVBM0Ix
IC8qIGVuY3J5cHRlZG1lZGlhICovLAogCQkJCTgzRkIzMzY1MUY1MDhBMTcwMDk4NkU1NCAvKiBl
bnRyaWVzYXBpICovLApAQCAtMzEyMTUsNiArMzEyMjYsMjAgQEAKIAkJCXBhdGggPSBtYWM7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQlGNDAzNEY4QjI3NUMwODY3MDAzQTgx
RjggLyogY29va2llLWNvbnNlbnQgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCUY0MDM0RjlDMjc1QzQ3ODMwMDNBODFGOCAvKiBDb29raWVDb25zZW50RGVj
aXNpb25SZXN1bHQuaCAqLywKKwkJCQlGNDAzNEY4RTI3NUMwODdDMDAzQTgxRjggLyogTmF2aWdh
dG9yK0Nvb2tpZUNvbnNlbnQuaWRsICovLAorCQkJCUY0MDM0RjhDMjc1QzA4N0IwMDNBODFGOCAv
KiBOYXZpZ2F0b3JDb29raWVDb25zZW50LmNwcCAqLywKKwkJCQlGNDAzNEY4RDI3NUMwODdCMDAz
QTgxRjggLyogTmF2aWdhdG9yQ29va2llQ29uc2VudC5oICovLAorCQkJCUY0MDM0RkNDMjc2MDIx
NUMwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuY3BwICovLAorCQkJCUY0
MDM0RjhGMjc1QzE2ODYwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaCAq
LywKKwkJCQlGNDAzNEY5MTI3NUMxNjg2MDAzQTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRP
cHRpb25zLmlkbCAqLywKKwkJCSk7CisJCQluYW1lID0gImNvb2tpZS1jb25zZW50IjsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUY0NDBFNzY5MjMzRDkzNjIwMDYzRjlBQiAv
KiBDbGlwYm9hcmQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApA
QCAtMzM1MTUsMTAgKzMzNTQwLDEyIEBACiAJCQkJQ0QzRUVGM0MyNTc5OUZBQjAwNjU2M0JCIC8q
IENvbG9yR2FtdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMDNCN0RGMURCMDE1NjcwMDhCQjg5
MCAvKiBDb2xvckhhc2guaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREI0MTI1MUYxMkQwMDNF
RjI2OSAvKiBDb2xvcklucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMzQTAwQzgyNzU0
NDk2RDAwNDdDMEU1IC8qIENvbG9ySW50ZXJwb2xhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM0QTIzRUMyNUVDMTYwMjAwQUFDNjMwIC8qIENvbG9yTHVtaW5hbmNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFREUzQTUwMDBDN0E0MzA2MDA5NTZBMzcgLyogQ29sb3JNYWMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdDQUM2QUU5MjQ3RjA4MkYwMEU2MUQ1OSAvKiBDb2xvck1hdHJpeC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkMxMDEzN0MyNUMzNjI0QjAwREM3NzNDIC8qIENvbG9yTW9kZWxzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCQ0IyRjg4RTI3NUJFRTU4MDA3MjMxQkYgLyogQ29sb3JOb3Jt
YWxpemF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0QxRTY5MzI0QUJGNjI0MDA4OUM0MTkg
LyogQ29sb3JTZXJpYWxpemF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzgyREY1ODEwQThE
NUM5MDA5MjU2NTIgLyogQ29sb3JTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBRkVEQjQy
NTk2OEQwQjAwMzBFNkFBIC8qIENvbG9yU3BhY2VDRy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzYw
MCw2ICszMzYyNyw3IEBACiAJCQkJRkQzMTYwMjkxMkIwMjY3NjAwQzFBMzU5IC8qIENvbnZvbHZl
ck5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzRjI4QzAwMjREQjFERTEwMDVCQTZGNiAvKiBD
b252b2x2ZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlEOEI2MTUyRjEwMzI0OTUxMDBD
ODU1NEEgLyogQ29va2llLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDAzNEY5RDI3NUM0Nzg5MDAz
QTgxRjggLyogQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTQyNEM5NDE2NEI1MkM4MDBGMzJENDAgLyogQ29va2llSmFyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk3QTU2OTk3MDIwODZDNjE5MDAwRTA0MzMgLyogQ29va2llUmVxdWVzdEhlYWRlckZpZWxk
UHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzRDAyMTJEMTMxREIzN0IwMDQwOTFBOCAvKiBD
b29raWVTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKQEAgLTM2MDM0LDYgKzM2MDYyLDcgQEAKIAkJ
CQk4MzIxNTA3RTFGMjdFQTFCMDA5NUIxMzYgLyogTmF2aWdhdG9yQmVhY29uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlGNDQwRTc3QTIzM0Q5NEQ3MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJk
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNTk2REQyOTI1MTkwM0QyMDBDMjc1QTcgLyogTmF2aWdh
dG9yQ29udGFjdHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0MDM0RkFFMjc1RUFENzYwMDNBODFG
OCAvKiBOYXZpZ2F0b3JDb29raWVDb25zZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzJEM0U1
NzIxNjU3OEFFMDBDNUUwMjEgLyogTmF2aWdhdG9yQ3JlZGVudGlhbHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk3MTE0NjA0MTRFRjAwOUEwMDY3NEZEOSAvKiBOYXZpZ2F0b3JHZW9sb2NhdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNkI1MDdBMjQyMzRCRjM0MTAwQkU3QzYyIC8qIE5hdmlnYXRv
cklzTG9nZ2VkSW4uaCBpbiBIZWFkZXJzICovLApAQCAtMzYyNDQsNyArMzYyNzMsNiBAQAogCQkJ
CTQ5RDVEQzJFMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMURCQzFCNTYyMzQ3QjNEMjAwQjkwMUFGIC8qIFBpY3R1
cmVJblBpY3R1cmVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUQyQzgyQjcyMzZBM0Y2
QTAwNTVENkM1IC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKLQkJ
CQlCQzNBMDBDODI3NTQ0OTZEMDA0N0MwRTUgLyogQ29sb3JJbnRlcnBvbGF0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxRDJGOEUwNjIzNDQ3NTIzMDA5OTNCNjggLyogUGljdHVyZUluUGljdHVy
ZVdpbmRvdy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc1ODU5N0MyM0ExRkNGMzAwQzc0NTcyIC8q
IFBpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDBGRjJBNUUxMUY4QzQ1QTAwN0U3NEUwIC8qIFBp
bmdMb2FkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzY2MDksNiArMzY2MzcsNyBAQAogCQkJCTA3
MUMwMDM0MjcwN0Q5NTUwMEQwMjdDNyAvKiBSZXBsYXlLaXRDYXB0dXJlU291cmNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0NkRENkUxRjI2RTdEQkU3MDA4QzFGNEMgLyogUmVwb3J0aW5nRW5kcG9p
bnRzQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OThBRUM2MTNGOUQwRUEwMDkwQjFBQSAv
KiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQw
MzRGQUMyNzVFQUQ2RTAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNERDAxMjUxRjEyRDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRU
eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1OEIyRjlGNDIyMzJENDUzMDA5MzhENjMgLyogUmVz
aXplT2JzZXJ2YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTU4QjJGOUY1MjIzMkQ0NTgwMDkz
OEQ2MyAvKiBSZXNpemVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNjY2OSw3ICszNjY5
OCw2IEBACiAJCQkJNDE4OEQ1NjMyNkM1NTFCMTAwNDg1OEM4IC8qIFJUQ0R0bHNUcmFuc3BvcnRT
dGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5MjAxN0QxNEQxQzAwNDIwQUExIC8qIFJU
Q0RUTUZTZW5kZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OEUwOTIxMTdEMTREMUMwMDQyMEFB
MSAvKiBSVENEVE1GVG9uZUNoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0IyRjg4
RTI3NUJFRTU4MDA3MjMxQkYgLyogQ29sb3JOb3JtYWxpemF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0MUU2RDcxQjI2RUExQTQ2MDBCNzY1RDYgLyogUlRDRXJyb3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQxQUI5Nzk1MjZFNzVBMkUwMDdDMEZFNiAvKiBSVENFcnJvckRldGFpbFR5cGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3OEUwOTIzMTdEMTREMUMwMDQyMEFBMSAvKiBSVENJY2VDYW5k
aWRhdGUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNw
cAppbmRleCBjMDg3ODVhZjhmYzkyNGUzNTNmZmQ0ODNkZjdiOTVkYTI0NDNhZTg0Li5kNjg4ZDgw
YTliZDg4OGQyOWFiOTA2ZTY0NjcwNjAxN2NmYjY4YTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiQ29sb3JDaG9vc2VyLmgiCiAjaW5jbHVkZSAiQ29udGV4
dE1lbnVDbGllbnQuaCIKKyNpbmNsdWRlICJDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCIK
ICNpbmNsdWRlICJDb29raWVKYXIuaCIKICNpbmNsdWRlICJET01QYXN0ZUFjY2Vzcy5oIgogI2lu
Y2x1ZGUgIkRhdGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oIgpAQCAtNTg0LDYgKzU4NSwxMSBAQCB2
b2lkIEVtcHR5Q2hyb21lQ2xpZW50OjpzaG93U2hhcmVTaGVldChTaGFyZURhdGFXaXRoUGFyc2Vk
VVJMJiwgQ29tcGxldGlvbkhhbmRsZQogewogfQogCit2b2lkIEVtcHR5Q2hyb21lQ2xpZW50Ojpy
ZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKENvb2tpZUNvbnNlbnRE
ZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlvbikKK3sKKyAgICBjb21wbGV0aW9uKENvb2tpZUNv
bnNlbnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkKTsKK30KKwogdm9pZCBFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihjb25z
dCBOYXZpZ2F0aW9uQWN0aW9uJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgRm9ybVN0YXRlKiwg
Y29uc3QgU3RyaW5nJiwgUG9saWN5Q2hlY2tJZGVudGlmaWVyLCBGcmFtZVBvbGljeUZ1bmN0aW9u
JiYpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggNTIyNjE4NzMx
ZDc1NmVhNGJmOGI5NmRmMDA0MzVmODM1NThlZTkxYS4uZGEyMGE4M2QwZDg2ZTAwN2RmYzI5NWNm
M2MzZTM2OWVjNWY2MmMyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAt
MjE4LDYgKzIxOCw4IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNs
aWVudCB7CiAgICAgYm9vbCBzaG91bGROb3RpZnlPbkZvcm1DaGFuZ2VzKCkgZmluYWwgeyByZXR1
cm4gZmFsc2U7IH0KIAogICAgIFJlZlB0cjxJY29uPiBjcmVhdGVJY29uRm9yRmlsZXMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIC8qIGZpbGVuYW1lcyAqLykgZmluYWwgeyByZXR1cm4gbnVsbHB0cjsg
fQorCisgICAgdm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYpIGZpbmFsOwogfTsKIAogRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQmIGVtcHR5RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDBmOGQ1YzVlNGJkZjRhYmIyNTQ5Y2UxNjllNTE3ZTRi
NDIyYTM3OTIuLmU0NjNjNDBjYjZkNDY4NWJjOGVlNjE2M2ViYWU1YjM1NjFlYzA4YjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMTQyLDYgKzE0Miw3IEBAIHN0cnVjdCBUZXh0
SW5kaWNhdG9yRGF0YTsKIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50czsKIHN0cnVjdCBXaW5kb3dG
ZWF0dXJlczsKIAorZW51bSBjbGFzcyBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQgOiB1aW50
OF90OwogZW51bSBjbGFzcyBSb3V0ZVNoYXJpbmdQb2xpY3kgOiB1aW50OF90OwogCiBjbGFzcyBD
aHJvbWVDbGllbnQgewpAQCAtNjE5LDYgKzYyMCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgYWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpIHsgfQogI2VuZGlmCiAKKyAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChDb29raWVD
b25zZW50RGVjaXNpb25SZXN1bHQpPiYmKSA9IDA7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IH5DaHJvbWVDbGllbnQoKSA9IGRlZmF1bHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJVUlDbGllbnQuaAppbmRleCA2NjJhOGQ1MzQ4MGMyMjhmYzk4NTgyOWMxZjg3MWNjNWQw
M2YyOTYxLi4yMDE2Y2I0OGRkMzhlMTk1MjcxNTc4Yzg2MTAzZjRjYmNjNjUxNDI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtMzAsNiArMzAsNyBAQAog
I2luY2x1ZGUgIldlYkV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViSGl0VGVzdFJlc3VsdERhdGEuaCIK
ICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZUNvbnNl
bnREZWNpc2lvblJlc3VsdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5j
bHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAKQEAgLTE0NCw2ICsxNDUsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGNoZWNrVXNlck1lZGlhUGVybWlzc2lvbkZvck9yaWdpbihX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFNlY3VyaXR5T3Jp
Z2luJiwgU2VjdXJpdHlPcmlnaW4mLCBXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25DaGVja1By
b3h5JiByZXF1ZXN0KSB7IHJlcXVlc3QuZGVueSgpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRlY2lk
ZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdDo6V2ViUGFnZVBy
b3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgYWxsb3dl
ZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOyB9CiAg
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTdG9yYWdlQWNjZXNzQ29uZmlybShXZWJLaXQ6OldlYlBh
Z2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJh
YmxlRG9tYWluJiByZXF1ZXN0aW5nRG9tYWluLCBjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURv
bWFpbiYgY3VycmVudERvbWFpbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsgfQorICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6
OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29t
cGxldGlvbkhhbmRsZXIoV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RT
dXBwb3J0ZWQpOyB9CiAKICAgICAvLyBQcmludGluZy4KICAgICB2aXJ0dWFsIGZsb2F0IGhlYWRl
ckhlaWdodChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYpIHsg
cmV0dXJuIDA7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IDRhMmY1MGVjODc0ZWRlODM2YmE3NWQxODIz
MTQyNWM1ZGNkM2VmZGMuLmFkMTdkYTg3N2Y5YjBlYTYwMTA1ZWQ3NDYxNzk2ZGI3MDA0OGMwYzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlE
ZWxlZ2F0ZVByaXZhdGUuaApAQCAtMTc3LDYgKzE3Nyw4IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7
CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHN0YXJ0WFJTZXNzaW9uV2l0
aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShpZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb25Gb3JTZWN1cml0
eU9yaWdpbjooV0tTZWN1cml0eU9yaWdpbiAqKXNlY3VyaXR5T3JpZ2luIGRlY2lzaW9uSGFuZGxl
cjoodm9pZCAoXikoQk9PTCkpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
MTAuMTMuNCksIGlvcyhXS19JT1NfVEJBKSk7CiAKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgcmVxdWVzdENvb2tpZUNvbnNlbnRXaXRoTW9yZUluZm9IYW5kbGVyOih2b2lk
ICheKSh2b2lkKSltb3JlSW5mb0hhbmRsZXIgZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShCT09M
KSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKKwogI2lmIFRBUkdFVF9PU19JUEhPTkUKIAogLSAoQk9PTClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBzaG91bGRJbmNsdWRlQXBwTGlua0FjdGlvbnNGb3JFbGVt
ZW50OihfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnQgV0tfQVBJX0FWQUlMQUJMRShp
b3MoOS4wKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURl
bGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKaW5k
ZXggZmYyMjc1NzUwMzc2ODQxYmM1ZjlhMzZmMzMxZDhhNDc4MmI0ZjhkOS4uZmRhYWExZWI3MTMw
ZmQ2OGRhMWZhODc0MDM0MzQyNmI0NTFjZDI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUuaApAQCAtMTA2LDYgKzEwNiw3IEBAIHByaXZhdGU6CiAgICAgICAg
IGJvb2wgdGFrZUZvY3VzKFdlYlBhZ2VQcm94eSosIFdLRm9jdXNEaXJlY3Rpb24pIGZpbmFsOwog
ICAgICAgICB2b2lkIGhhbmRsZUF1dG9wbGF5RXZlbnQoV2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6
QXV0b3BsYXlFdmVudCwgT3B0aW9uU2V0PFdlYkNvcmU6OkF1dG9wbGF5RXZlbnRGbGFncz4pIGZp
bmFsOwogICAgICAgICB2b2lkIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0KFdlYlBhZ2VQcm94eSYsIEFQSTo6U2VjdXJpdHlPcmlnaW4mLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wgYWxsb3dlZCk+JiYpIGZpbmFsOworICAgICAgICB2b2lkIHJlcXVlc3RD
b29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2llQ29uc2Vu
dERlY2lzaW9uUmVzdWx0KT4mJikgZmluYWw7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAg
IHZvaWQgc2hvd1BhZ2UoV2ViUGFnZVByb3h5KikgZmluYWw7CkBAIC0yNzAsNiArMjcxLDcgQEAg
cHJpdmF0ZToKICAgICAgICAgYm9vbCB3ZWJWaWV3U3RhcnRYUlNlc3Npb25XaXRoQ29tcGxldGlv
bkhhbmRsZXIgOiAxOwogI2VuZGlmCiAgICAgICAgIGJvb2wgd2ViVmlld1JlcXVlc3ROb3RpZmlj
YXRpb25QZXJtaXNzaW9uRm9yU2VjdXJpdHlPcmlnaW5EZWNpc2lvbkhhbmRsZXIgOiAxOworICAg
ICAgICBib29sIHdlYlZpZXdSZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXJE
ZWNpc2lvbkhhbmRsZXIgOiAxOwogICAgIH0gbV9kZWxlZ2F0ZU1ldGhvZHM7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCAxMzE2MDc4MjY2
NzJhYWE5ODJiYmU0MThlNWQ1Mjk1ODJjMmMyZGIxLi5hNDc5MzdmZWM5OTEzMTI4ZDBiYmM0YTVi
NTRlMDk2NjE4OTQzNjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUubW0KQEAgLTE5Nyw2ICsxOTcsNyBAQCB2b2lkIFVJRGVsZWdhdGU6OnNldERlbGVnYXRl
KGlkIDxXS1VJRGVsZWdhdGU+IGRlbGVnYXRlKQogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZp
ZXdTdGFydFhSU2Vzc2lvbldpdGhDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnN0YXJ0WFJTZXNzaW9uV2l0aENvbXBsZXRp
b25IYW5kbGVyOildOwogI2VuZGlmCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1JlcXVl
c3ROb3RpZmljYXRpb25QZXJtaXNzaW9uRm9yU2VjdXJpdHlPcmlnaW5EZWNpc2lvbkhhbmRsZXIg
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpyZXF1ZXN0
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkZvclNlY3VyaXR5T3JpZ2luOmRlY2lzaW9uSGFuZGxlcjop
XTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UmVxdWVzdENvb2tpZUNvbnNlbnRXaXRo
TW9yZUluZm9IYW5kbGVyRGVjaXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cmVxdWVzdENvb2tpZUNvbnNlbnRXaXRoTW9yZUluZm9I
YW5kbGVyOmRlY2lzaW9uSGFuZGxlcjopXTsKIH0KIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVT
KQpAQCAtNjQxLDYgKzY0MiwyNCBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkZWNpZGVQ
b2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXZWJLaXQ6OgogICAgIH0pLmdl
dCgpXTsKIH0KIAordm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNl
bnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25S
ZXN1bHQpPiYmIGNvbXBsZXRpb24pCit7CisgICAgaWYgKCFtX3VpRGVsZWdhdGUpCisgICAgICAg
IHJldHVybiBjb21wbGV0aW9uKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6
Tm90U3VwcG9ydGVkKTsKKworICAgIGlmICghbV91aURlbGVnYXRlLT5tX2RlbGVnYXRlTWV0aG9k
cy53ZWJWaWV3UmVxdWVzdENvb2tpZUNvbnNlbnRXaXRoTW9yZUluZm9IYW5kbGVyRGVjaXNpb25I
YW5kbGVyKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbihXZWJDb3JlOjpDb29raWVDb25zZW50
RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7CisKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91
aURlbGVnYXRlLT5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAg
IHJldHVybiBjb21wbGV0aW9uKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6
Tm90U3VwcG9ydGVkKTsKKworICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgdGhlICdtb3Jl
IGluZm8nIGhhbmRsZXIuCisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUg
X3dlYlZpZXc6bV91aURlbGVnYXRlLT5tX3dlYlZpZXcuZ2V0KCkuZ2V0KCkgcmVxdWVzdENvb2tp
ZUNvbnNlbnRXaXRoTW9yZUluZm9IYW5kbGVyOm5pbCBkZWNpc2lvbkhhbmRsZXI6bWFrZUJsb2Nr
UHRyKFtjb21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9uKV0gKEJPT0wgZGVjaXNpb24pIG11
dGFibGUgeworICAgICAgICBjb21wbGV0aW9uKGRlY2lzaW9uID8gV2ViQ29yZTo6Q29va2llQ29u
c2VudERlY2lzaW9uUmVzdWx0OjpDb25zZW50IDogV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lz
aW9uUmVzdWx0OjpEaXNzZW50KTsKKyAgICB9KS5nZXQoKV07Cit9CisKICNpZiBQTEFURk9STShN
QUMpCiBib29sIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpjYW5SdW5Nb2RhbCgpIGNvbnN0CiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBjYzNiMDdhNWM1Yzgx
MzM5NjlmMDBmMGMzM2Y0Yjg0NjVlYzc2MjRlLi42NDFiZWY2Y2I3MjU5MzVhZWMyNDI2OTE1NDJj
NWUyZDI5NGE5MzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTExMDA5LDYgKzExMDA5LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjbGVhckFwcFByaXZh
Y3lSZXBvcnRUZXN0aW5nRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYKIH0KICNlbmRp
ZgogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmIGNvbXBsZXRpb24pCit7
CisgICAgbV91aUNsaWVudC0+cmVxdWVzdENvb2tpZUNvbnNlbnQoV1RGTW92ZShjb21wbGV0aW9u
KSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgV0VCUEFHRVBST1hZX1JF
TEVBU0VfTE9HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDM0NzBj
OGE4MzA3Nzk4OWI2ZTI1NDc3ZTBjZDkwMmVkZDYxODdmYTguLmEyNWRjMmJjYWJlYTkzZjIyNDBh
NTA0NDBhYzdmZTVlOGZiY2YzMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC0yNjUsNiArMjY1LDcgQEAgY2xhc3MgVGV4dEluZGljYXRvcjsKIGNsYXNzIFZhbGlk
YXRpb25CdWJibGU7CiAKIGVudW0gY2xhc3MgQXV0b3BsYXlFdmVudCA6IHVpbnQ4X3Q7CitlbnVt
IGNsYXNzIENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNz
IENyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0IDogYm9vbDsKIGVudW0gY2xhc3MgRE9NUGFzdGVB
Y2Nlc3NSZXNwb25zZSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIEV2ZW50TWFrZXNHYW1lcGFkc1Zp
c2libGUgOiBib29sOwpAQCAtMjAzMSw2ICsyMDMyLDggQEAgcHVibGljOgogICAgIHZvaWQgY2xl
YXJOb3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcyk7
CiAgICAgdm9pZCBkaWREZXN0cm95Tm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklE
KTsKIAorICAgIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmKTsKKwogcHJpdmF0ZToK
ICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94eSYsIFJlZjxBUEk6
OlBhZ2VDb25maWd1cmF0aW9uPiYmKTsKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmlu
ZGV4IDA4Nzc4YWU2NTQ0OGJlY2E4MDBiNDBmZDMyODM4Y2QyM2VkNzhiOTMuLmQ1NjM2YTNhNjJj
N2FmODRkNzJkNDk4YWZkYWUxZjMyYjhmNGI1NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTYxNiw0ICs2MTYsNiBAQCBtZXNz
YWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFN0YXJ0QXBwbGVQYXlBTVNVSVNlc3Npb24oVVJM
IG9yaWdpbmF0aW5nVVJMLCBzdHJ1Y3QgV2ViQ29yZTo6QXBwbGVQYXlBTVNVSVJlcXVlc3QgcmVx
dWVzdCkgLT4gKHN0ZDo6b3B0aW9uYWw8Ym9vbD4gcmVzdWx0KSBBc3luYwogICAgIEFib3J0QXBw
bGVQYXlBTVNVSVNlc3Npb24oKQogI2VuZGlmCisKKyAgICBSZXF1ZXN0Q29va2llQ29uc2VudCgp
IC0+IChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0IHJl
c3VsdCkgQXN5bmMKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggM2YyODYyY2ZiNjdjZjFk
MmVmZmY3MzQwMTY2YmQ0NWI1NTJiNWE0ZC4uMTM4MjRmZjE2YmUxZjU1MmRlOTgwMGZkM2I2Njlj
OGRkYjczOWI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTE1NTksNCArMTU1OSw5IEBA
IHZvaWQgV2ViQ2hyb21lQ2xpZW50OjphYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkKIAogI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQU1TX1VJKQogCit2b2lkIFdlYkNocm9tZUNsaWVudDo6
cmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpDb29r
aWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmIGNvbXBsZXRpb24pCit7CisgICAgbV9wYWdlLnNl
bmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0Q29va2llQ29u
c2VudCgpLCBXVEZNb3ZlKGNvbXBsZXRpb24pKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZDAyZWRmMWIyZGNkOWVjOWU1ZmNmYjI4NTM2ZTE4Njlk
NmM2NDZiNC4uY2IyMTQ3MGExMGRjNDUzNDQ5YTIxYzM3NWU2ODNlZGVmYzJhZTFhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaApAQCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgSFRNTEltYWdlRWxlbWVudDsKIGNsYXNzIFJlZ2lzdHJhYmxlRG9tYWluOworZW51bSBjbGFz
cyBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQgOiB1aW50OF90OwogZW51bSBjbGFzcyBTdG9y
YWdlQWNjZXNzUHJvbXB0V2FzU2hvd24gOiBib29sOwogZW51bSBjbGFzcyBTdG9yYWdlQWNjZXNz
V2FzR3JhbnRlZCA6IGJvb2w7CiB9CkBAIC00NjIsNiArNDYzLDggQEAgcHJpdmF0ZToKICAgICB2
b2lkIGFib3J0QXBwbGVQYXlBTVNVSVNlc3Npb24oKSBmaW5hbDsKICNlbmRpZgogCisgICAgdm9p
ZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkNv
b2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYpIGZpbmFsOworCiAgICAgbXV0YWJsZSBib29s
IG1fY2FjaGVkTWFpbkZyYW1lSGFzSG9yaXpvbnRhbFNjcm9sbGJhciB7IGZhbHNlIH07CiAgICAg
bXV0YWJsZSBib29sIG1fY2FjaGVkTWFpbkZyYW1lSGFzVmVydGljYWxTY3JvbGxiYXIgeyBmYWxz
ZSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDQ0OTEzMDY0NDc0ZDEzYzJiOTM5YmI4NDBhMTQ5
ZmM2NzUyYWY5YzQuLjFhMWY0NzhhZGZiY2JiYzMwNjUwMjI5OTlhMGY4ZTMxNzE1MWYwNDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCkBAIC0yNTcsNiArMjU3LDggQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0
cjxQQUw6OldlYkdQVTo6R1BVPiBjcmVhdGVHUFVGb3JXZWJHUFUoKSBjb25zdCBmaW5hbDsKIAor
ICAgIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJD
b3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmKSBmaW5hbDsKKwogI2lmIEVOQUJM
RShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKICAgICBib29sIG1fbW9ja1ZpZGVvUHJlc2VudGF0
aW9uTW9kZUVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXgg
MGQ0YjQ4OTkwMDI5NDg1OTAxYTBhM2VhNWU4MjQ1OGZkNTJlNzNkMS4uZGQ3NmU0MWYyYWYwZTIx
YmI1MGEzOWIyNThlNTlhMGM1Y2RiZWFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtNTgsNiAr
NTgsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9Db2xvckNob29zZXIuaD4KICNpbXBvcnQgPFdlYkNv
cmUvQ29udGV4dE1lbnUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29udGV4dE1lbnVDb250cm9sbGVy
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0Nvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oPgogI2lt
cG9ydCA8V2ViQ29yZS9DdXJzb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRGF0YUxpc3RTdWdnZXN0
aW9uUGlja2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5o
PgpAQCAtMTE2NiwzICsxMTY3LDggQEAgUmVmUHRyPFBBTDo6V2ViR1BVOjpHUFU+IFdlYkNocm9t
ZUNsaWVudDo6Y3JlYXRlR1BVRm9yV2ViR1BVKCkgY29uc3QKICAgICByZXR1cm4gbnVsbHB0cjsK
ICNlbmRpZgogfQorCit2b2lkIFdlYkNocm9tZUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmIGNv
bXBsZXRpb24pCit7CisgICAgY29tcGxldGlvbihDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6
Ok5vdFN1cHBvcnRlZCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBkY2Y1NTY3NjkzNjQ4
OTNlZWU2NjI3YzczYmUzYTc0M2YzZDlmYjIwLi45MDk1ZmIzODU0ZDEwZTc1MTExYWFiMWU1NWNl
YzZiOTdlODJjZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNp
bmNsdWRlICJXZWJWaWV3LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9CU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9Db250ZXh0TWVudS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ29va2llQ29uc2Vu
dERlY2lzaW9uUmVzdWx0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXJzb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0ZpbGVDaG9vc2VyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxlSWNvbkxvYWRl
ci5oPgpAQCAtODc1LDMgKzg3Niw4IEBAIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVc2VU
aWxlZEJhY2tpbmdGb3JGcmFtZVZpZXcoY29uc3QgRnJhbWVWaWV3JiBmcmFtZVZpCiAgICAgcmV0
dXJuIGZhbHNlOwogI2VuZGlmCiB9CisKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0Q29v
a2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKENvb2tpZUNvbnNlbnREZWNpc2lvblJl
c3VsdCk+JiYgY29tcGxldGlvbikKK3sKKyAgICBjb21wbGV0aW9uKENvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggN2I5NzBm
NjQ4MDIzMGU5YjZiMDkwYmMxOGRhNDJiNzEzOWVmM2IxZC4uZDQ3YmRmNTNjMmE1MjI3OWIwZjky
MThlMDAwNmQ5NDUwYzUzMDY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE4Myw2ICsxODMsOCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmdJbWFnZUZvckVsZW1lbnQoV2Vi
Q29yZTo6SFRNTEltYWdlRWxlbWVudCYpIGZpbmFsOwogCisgICAgdm9pZCByZXF1ZXN0Q29va2ll
Q29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdCk+JiYpOworCiBwcml2YXRlOgogICAgIENPTVB0cjxJV2ViVUlEZWxlZ2F0ZT4g
dWlEZWxlZ2F0ZSgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggNzQwZjdhNTQ0MTBmOWViZmYxMGE4ZmQwNmExOTUzZTRkMDA0ZmU1OC4uM2E0
M2Y2OGY4NTg3ZmMwNDE2NjJkMTkxNWIyZGU2MTVhNGZiZWJlYSAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTEy
LTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50KClgIGJlaGluZCBh
IGRpc2FibGVkIGZlYXR1cmUgZmxhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMzODkwCisgICAgICAgIHJkYXI6Ly84NjExNzcxOAorCisgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBzZXZlcmFsIG5ldyBBUEkg
dGVzdHMgdGhhdCBlbmFibGUgdGhlIGZlYXR1cmUgZmxhZyBhbmQgZXhlcmNpc2UgdGhlIEFQSS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Nvb2tpZUNv
bnNlbnQubW06IEFkZGVkLgorICAgICAgICAoLVtDb29raWVDb25zZW50RGVsZWdhdGUgX3dlYlZp
ZXc6cmVxdWVzdENvb2tpZUNvbnNlbnRXaXRoTW9yZUluZm9IYW5kbGVyOmRlY2lzaW9uSGFuZGxl
cjpdKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmNyZWF0ZVdlYlZpZXdGb3JUZXN0aW5nQ29v
a2llQ29uc2VudCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpjaGVja0ZvclN0cmluZyk6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9jb29raWUtY29uc2VudC1iYXNpYy5odG1sOiBBZGRlZC4KKwogMjAyMS0xMi0w
NiAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgW2NvbW1p
dHMud2Via2l0Lm9yZ10gRmFsbGJhY2sgdG8gcmVtb3RlIHJlcG9zaXRvcnkgKFBhcnQgMSkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTI2ZmU1MGRlZjhiZjcyZjBjNzU1Zjk1MmYxZGYxM2I1
YWNlYzYyOC4uNWM3NDJjNjMwMTA2ZTQ4NmQwNTI0ODA2OGI3ZGQ3ZWIzNmVkZTIxOSAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTk5Niw2ICs5OTYsOCBAQAogCQlGNDAxMEI4MDI0REEyNEFD
MDBBODc2RTIgLyogTmF2aWdhdGlvblN3aXBlVGVzdHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAxMEI3RjI0REEyNEFDMDBBODc2RTIgLyogTmF2
aWdhdGlvblN3aXBlVGVzdHMubW0gKi87IH07CiAJCUY0MDEwQjgzMjREQTI2N0YwMEE4NzZFMiAv
KiBQb3NlQXNDbGFzcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY0MDEwQjgxMjREQTI2N0YwMEE4NzZFMiAvKiBQb3NlQXNDbGFzcy5tbSAqLzsgfTsK
IAkJRjQwMkY1NkMyM0VDQzJGQjAwODY1NTQ5IC8qIFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2Nv
bC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDJG
NTZCMjNFQ0MyRkIwMDg2NTU0OSAvKiBVSVdLSW50ZXJhY3Rpb25WaWV3UHJvdG9jb2wubW0gKi87
IH07CisJCUY0MDM0RkExMjc1RDU0MDIwMDNBODFGOCAvKiBDb29raWVDb25zZW50Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwMzRGQTAyNzVENTQw
MjAwM0E4MUY4IC8qIENvb2tpZUNvbnNlbnQubW0gKi87IH07CisJCUY0MDM0RkEzMjc1RDVBQzYw
MDNBODFGOCAvKiBjb29raWUtY29uc2VudC1iYXNpYy5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDM0RkEyMjc1RDU0NDkwMDNBODFG
OCAvKiBjb29raWUtY29uc2VudC1iYXNpYy5odG1sICovOyB9OwogCQlGNDA3RkUzOTFGMUQwREZD
MDAxN0NGMjUgLyogZW5vcm1vdXMuc3ZnIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDdGRTM4MUYxRDBERTYwMDE3Q0YyNSAvKiBlbm9ybW91
cy5zdmcgKi87IH07CiAJCUY0MDk0Q0M3MjU1NDVCRDUwMDNENzNFMyAvKiBEaXNwbGF5TGlzdFRl
c3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0
MDk0Q0M2MjU1NDVCRDUwMDNENzNFMyAvKiBEaXNwbGF5TGlzdFRlc3RzLmNwcCAqLzsgfTsKIAkJ
RjQxNTA4NkQxREEwNDBDNTAwNDRCRTlCIC8qIHBsYXktYXVkaW8tb24tY2xpY2suaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDE1MDg2
QzFEQTA0MEMxMDA0NEJFOUIgLyogcGxheS1hdWRpby1vbi1jbGljay5odG1sICovOyB9OwpAQCAt
MTI2NCw2ICsxMjY2LDcgQEAKIAkJCQlBMTNEMUFENjI0QUQ0NjhGMDAzRjkyQTggLyogY29udGV4
dC1tZW51LWNvbnRyb2wtY2xpY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1MTQy
QjI3MzE1MTdDOEM4MDBDMzJCMTkgLyogQ29udGV4dE1lbnVDYW5Db3B5VVJMLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8sCiAJCQkJQ0QwQkQwQTgxRjc5OTgyRDAwMUFCMkNGIC8qIENvbnRleHRN
ZW51SW1nV2l0aFZpZGVvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJRjQwMzRGQTMy
NzVENUFDNjAwM0E4MUY4IC8qIGNvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8sCiAJCQkJNUMyOTM2OTYxRDVDMDBFRDAwREVBQjFFIC8qIENvb2tpZU1lc3NhZ2Uu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk5QjFGNkY3OTFGOTA1NTlFMDBCNTU3NDQg
LyogY29weS1odG1sLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJOUI2MjYzMEMxRjhD
MjVDODAwN0VFMjlCIC8qIGNvcHktdXJsLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0y
OTIzLDYgKzI5MjYsOCBAQAogCQlGNDAxMEI4MTI0REEyNjdGMDBBODc2RTIgLyogUG9zZUFzQ2xh
c3MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQb3NlQXNDbGFz
cy5tbTsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQvY29jb2EvUG9zZUFzQ2xhc3MubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MDEwQjgyMjREQTI2N0YwMEE4NzZFMiAvKiBQ
b3NlQXNDbGFzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQb3NlQXNDbGFz
cy5oOyBwYXRoID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9jb2NvYS9Qb3NlQXNDbGFzcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDAyRjU2QjIzRUNDMkZCMDA4NjU1NDkgLyogVUlX
S0ludGVyYWN0aW9uVmlld1Byb3RvY29sLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVUlXS0lu
dGVyYWN0aW9uVmlld1Byb3RvY29sLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
NDAzNEZBMDI3NUQ1NDAyMDAzQTgxRjggLyogQ29va2llQ29uc2VudC5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IENvb2tpZUNvbnNlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUY0MDM0RkEyMjc1RDU0NDkwMDNBODFGOCAvKiBjb29raWUtY29uc2VudC1iYXNpYy5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1s
OyBwYXRoID0gImNvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNDA3RkUzODFGMUQwREU2MDAxN0NGMjUgLyogZW5vcm1vdXMuc3ZnICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IGVub3Jtb3VzLnN2Zzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwOTRDQzYyNTU0
NUJENTAwM0Q3M0UzIC8qIERpc3BsYXlMaXN0VGVzdHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RGlzcGxheUxpc3RUZXN0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MTA2
QzY4MjFBQ0JGODQwMDRCODlBMSAvKiBXS1dlYlZpZXdGaXJzdFJlc3BvbmRlclRlc3RzLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV0tXZWJWaWV3Rmlyc3RSZXNwb25kZXJUZXN0cy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMyNzAsNiArMzI3NSw3IEBACiAJCQkJQzFGN0I3
MzgyNDQ5MDgzRjAwMTI0NTU3IC8qIEFHWENvbXBpbGVyU2VydmljZS5tbSAqLywKIAkJCQlDMTVD
QkIyRjIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8s
CiAJCQkJQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi8sCisJCQkJRjQw
MzRGQTAyNzVENTQwMjAwM0E4MUY4IC8qIENvb2tpZUNvbnNlbnQubW0gKi8sCiAJCQkJQzEzRDgy
RDgyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxpdHkubW0gKi8sCiAJCQkJMUM4
MTgwMjYyNUZCMDlFMjAwNjA4QjNFIC8qIEZvbnRSZWdpc3RyeVNhbmRib3hDaGVjay5tbSAqLywK
IAkJCQlFMzk0QUU2RTIzRjIzMDNFMDA1QjQ5MzYgLyogR3JhbnRBY2Nlc3NUb01vYmlsZUFzc2V0
cy5tbSAqLywKQEAgLTQ1OTEsNiArNDU5Nyw3IEBACiAJCQkJMUE1MEFBMUYxQTJBNEVBNTAwRjRD
MzQ1IC8qIGNsb3NlLWZyb20td2l0aGluLWNyZWF0ZS1wYWdlLmh0bWwgKi8sCiAJCQkJOUIyNzBG
RUQxRERDMjVGRDAwMkQ1M0YzIC8qIGNsb3NlZC1zaGFkb3ctdHJlZS10ZXN0Lmh0bWwgKi8sCiAJ
CQkJNUM5RTU2ODYxREY5MTQ4RTAwQzlFRTMzIC8qIGNvbnRlbnRCbG9ja2VyQ2hlY2suaHRtbCAq
LywKKwkJCQlGNDAzNEZBMjI3NUQ1NDQ5MDAzQTgxRjggLyogY29va2llLWNvbnNlbnQtYmFzaWMu
aHRtbCAqLywKIAkJCQkyRERENERBMzI3MEI4QjMzMDA2NTlBNjEgLyogY3ViZS51c2R6ICovLAog
CQkJCTI5MEY0Mjc0MTcyQTFGREUwMDkzOUZGMCAvKiBjdXN0b20tcHJvdG9jb2wtc3luYy14aHIu
aHRtbCAqLywKIAkJCQkxMTgxNTM0MzIyMDhCN0FDMDBCMkNDRDIgLyogZGVmZXJyZWQtc2NyaXB0
LWxvYWQuaHRtbCAqLywKQEAgLTU0MDUsNiArNTQxMiw3IEBACiAJCQkJODM0OUQzQzIxREI5NkRE
RTAwNEE5RjY1IC8qIENvbnRleHRNZW51RG93bmxvYWQubW0gaW4gU291cmNlcyAqLywKIAkJCQlD
RDBCRDBBNjFGNzk5MjREMDAxQUIyQ0YgLyogQ29udGV4dE1lbnVJbWdXaXRoVmlkZW8ubW0gaW4g
U291cmNlcyAqLywKIAkJCQlBMUMxNDJDMjI0QUE3QjJFMDA0NDQyMDcgLyogQ29udGV4dE1lbnVN
b3VzZUV2ZW50cy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUY0MDM0RkExMjc1RDU0MDIwMDNBODFG
OCAvKiBDb29raWVDb25zZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQUMxQTQxMUEz
NDAwNDQ3QzRDIC8qIENvdW50ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBRUFENDdGMUUy
MDExNkMwMDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MubW0gaW4gU291
cmNlcyAqLywKIAkJCQk3Q0NFN0VEQjFBNDExQTkyMDA0NDdDNEMgLyogQ1NTUGFyc2VyLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvQ29va2llQ29uc2VudC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Nv
b2tpZUNvbnNlbnQubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmRhMGRlOTBlYzdkMjJmNzQwMjk2YmRhMzgxZWYx
NDdlYjFkODU1ZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L0Nvb2tpZUNvbnNlbnQubW0KQEAgLTAsMCArMSwxMDIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0ICJjb25maWcuaCIKKworI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCA8
V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV2ViS2l0UHJp
dmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L19XS0ludGVybmFsRGVidWdGZWF0dXJlLmg+CisKK0Bp
bnRlcmZhY2UgQ29va2llQ29uc2VudERlbGVnYXRlIDogTlNPYmplY3Q8V0tVSURlbGVnYXRlUHJp
dmF0ZT4KK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGRlY2lzaW9uOworQGVuZAorCitAaW1w
bGVtZW50YXRpb24gQ29va2llQ29uc2VudERlbGVnYXRlCisKKy0gKHZvaWQpX3dlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdENvb2tpZUNvbnNlbnRXaXRoTW9yZUluZm9IYW5kbGVy
Oih2b2lkICheKSh2b2lkKSltb3JlSW5mb0hhbmRsZXIgZGVjaXNpb25IYW5kbGVyOih2b2lkIChe
KShCT09MKSlkZWNpc2lvbkhhbmRsZXIKK3sKKyAgICBkZWNpc2lvbkhhbmRsZXIoc2VsZi5kZWNp
c2lvbik7Cit9CisKK0BlbmQKKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitzdGF0aWMg
UmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IGNyZWF0ZVdlYlZpZXdGb3JUZXN0aW5nQ29va2llQ29u
c2VudCgpCit7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBmb3IgKF9XS0ludGVybmFsRGVidWdGZWF0
dXJlICpmZWF0dXJlIGluIFdLUHJlZmVyZW5jZXMuX2ludGVybmFsRGVidWdGZWF0dXJlcykgewor
ICAgICAgICBpZiAoW2ZlYXR1cmUua2V5IGlzRXF1YWxUb1N0cmluZzpAIkNvb2tpZUNvbnNlbnRB
UElFbmFibGVkIl0pIHsKKyAgICAgICAgICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10g
X3NldEVuYWJsZWQ6WUVTIGZvckludGVybmFsRGVidWdGZWF0dXJlOmZlYXR1cmVdOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGFkb3B0TlMoW1tUZXN0
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgNDAwLCA0MDAp
IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworfQorCitzdGF0aWMgdm9pZCBj
aGVja0ZvclN0cmluZyhUZXN0V0tXZWJWaWV3ICp3ZWJWaWV3LCBOU1N0cmluZyAqZXhwZWN0ZWRT
dHJpbmcpCit7CisgICAgYXV0byBjb250ZW50c0FzU3RyaW5nID0gUmV0YWluUHRyIHsgd2ViVmll
dy5jb250ZW50c0FzU3RyaW5nIH07CisgICAgQk9PTCBjb250YWluc1N0cmluZyA9IFtjb250ZW50
c0FzU3RyaW5nIGNvbnRhaW5zU3RyaW5nOmV4cGVjdGVkU3RyaW5nXTsKKyAgICBFWFBFQ1RfVFJV
RShjb250YWluc1N0cmluZyk7CisgICAgaWYgKCFjb250YWluc1N0cmluZykKKyAgICAgICAgTlNM
b2coQCJFeHBlY3RlZDogXCIlQFwiIHRvIGNvbnRhaW46IFwiJUBcIiIsIGNvbnRlbnRzQXNTdHJp
bmcuZ2V0KCksIGV4cGVjdGVkU3RyaW5nKTsKK30KKworVEVTVChDb29raWVDb25zZW50LCBCYXNp
Y0RlY2lzaW9uSGFuZGxlcikKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3Rm9y
VGVzdGluZ0Nvb2tpZUNvbnNlbnQoKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW0Nv
b2tpZUNvbnNlbnREZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFtkZWxlZ2F0ZSBzZXREZWNp
c2lvbjpZRVNdOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwor
ICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImNvb2tpZS1jb25z
ZW50LWJhc2ljIl07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVd
OworICAgIGNoZWNrRm9yU3RyaW5nKHdlYlZpZXcuZ2V0KCksIEAicmV0dXJuZWQ6IHRydWUiKTsK
KworICAgIFtkZWxlZ2F0ZSBzZXREZWNpc2lvbjpOT107CisgICAgW3dlYlZpZXcgX2tpbGxXZWJD
b250ZW50UHJvY2Vzc0FuZFJlc2V0U3RhdGVdOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlM
b2FkVGVzdFBhZ2VOYW1lZDpAImNvb2tpZS1jb25zZW50LWJhc2ljIl07CisgICAgW3dlYlZpZXcg
d2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworICAgIGNoZWNrRm9yU3RyaW5nKHdlYlZp
ZXcuZ2V0KCksIEAicmV0dXJuZWQ6IGZhbHNlIik7Cit9CisKK1RFU1QoQ29va2llQ29uc2VudCwg
Tm90RW5hYmxlZCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDQwMCwgNDAwKV0pOworICAg
IFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImNvb2tpZS1jb25zZW50
LWJhc2ljIl07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOwor
ICAgIGNoZWNrRm9yU3RyaW5nKHdlYlZpZXcuZ2V0KCksIEAibm90IGVuYWJsZWQiKTsKK30KKwor
VEVTVChDb29raWVDb25zZW50LCBUaHJvd3NFeGNlcHRpb25XaXRob3V0RGVsZWdhdGUpCit7Cisg
ICAgYXV0byB3ZWJWaWV3ID0gY3JlYXRlV2ViVmlld0ZvclRlc3RpbmdDb29raWVDb25zZW50KCk7
CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiY29va2llLWNv
bnNlbnQtYmFzaWMiXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0
ZV07CisgICAgY2hlY2tGb3JTdHJpbmcod2ViVmlldy5nZXQoKSwgQCJ0aHJldyBleGNlcHRpb246
IE5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2Nvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTZhODNhYzQzNGEyYWM3ZDA1MWYxYjVmNmQzYTcxYzJmMTJkYWJkMwotLS0gL2Rldi9u
dWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2Nvb2tpZS1jb25zZW50
LWJhc2ljLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxoZWFkPgorPHNjcmlwdD4KK2FkZEV2
ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBhc3luYyAoKSA9PiB7CisgICAgY29uc3Qg
b3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpOworICAgIGlmICghbmF2
aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50KSB7CisgICAgICAgIG91dHB1dC50ZXh0Q29udGVu
dCA9ICJub3QgZW5hYmxlZCI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB0cnkgewor
ICAgICAgICBsZXQgY29uc2VudCA9IGF3YWl0IG5hdmlnYXRvci5yZXF1ZXN0Q29va2llQ29uc2Vu
dCgpOworICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSBgcmV0dXJuZWQ6ICR7Y29uc2VudH1g
OworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgb3V0cHV0LnRleHRDb250ZW50ID0gYHRocmV3
IGV4Y2VwdGlvbjogJHtlfWA7CisgICAgfQorfSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHByZT5uYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKTwvcHJlPgorPHByZT7ihqom
bmJzcDs8Y29kZSBpZD0ib3V0cHV0Ij48L2NvZGU+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="471614"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446258</attachid>
            <date>2021-12-07 17:04:26 -0800</date>
            <delta_ts>2021-12-07 18:06:58 -0800</delta_ts>
            <desc>Rebase again</desc>
            <filename>bug-233890-20211207170425.patch</filename>
            <type>text/plain</type>
            <size>67589</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGIxZmZjY2Q1MDFlNzM3OThkZWMzMGM5
MDVkZDAzZTM5NjhiZTU2NTkuLjc0NmUzYzNkNWM5ODBkMTNhYjNiNTc1YzU4MTBkODEzN2FkMThk
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3Iu
cmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAg
ICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmVhdHVyZSBmbGFnIChvZmYgYnkgZGVmYXVsdCkuIE5v
dGUgdGhhdCB0aGlzIGlzIGFsc28gb25seSBhbiBpbnRlcm5hbCBmZWF0dXJlIGZsYWcgZm9yIHRo
ZSB0aW1lCisgICAgICAgIGJlaW5nIChyYXRoZXIgdGhhbiBhbiBleHBlcmltZW50YWwgZmVhdHVy
ZSBmbGFnKSwgc3VjaCB0aGF0IGl0IGNhbm5vdCAoeWV0KSBiZSB0dXJuZWQgb24gYnkgbm9uLUFw
cGxlIGludGVybmFsCisgICAgICAgIHVzZXJzLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWw6CisKIDIwMjEtMTItMDcgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgRmV0Y2ggYW5kIHJlbW92ZSBmaWxl
IHN5c3RlbSBkYXRhIHZpYSBXS1dlYnNpdGVEYXRhU3RvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzZmMwMWNl
ZjFkNjg4MGIzZDg0NWZjNDE4NzA5MzRjMTBhNTEzOTVlLi44ZWZlODA0OGE3NTIxZWNhMzNiODQy
OWIwZDkwMzE1NzVjZDAzYzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIwMjEtMTIt
MDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEg
ZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIHN1cHBv
cnQgYSBuZXcgKGludGVybmFsLWZvci10aGUtdGltZS1iZWluZykgbmF2aWdhdG9yIEFQSSwgYHJl
cXVlc3RDb29raWVDb25zZW50KClgLiBUaGlzCisgICAgICAgIHJldHVybnMgYSBwcm9taXNlIGlu
ZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIHVzZXIgKG9yIHRoZSBVQSwgb24gYmVoYWxmIG9m
IHRoZSB1c2VyKSBjb25zZW50cyB0byB1c2FnZSBvZgorICAgICAgICBjb29raWVzIHRoYXQgYXJl
IG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgZm9yIHBhZ2UgcGVyZm9ybWFuY2UuCisKKyAgICAgICAg
UGFpcmVkIHdpdGggdGhpcyB3ZWItZmFjaW5nIEFQSSwgd2UgYWxzbyBpbnRyb2R1Y2UgY29ycmVz
cG9uZGluZyBwcml2YXRlIFdLVUlEZWxlZ2F0ZSBtZXRob2RzIHRoYXQgYXJlIGludm9rZWQKKyAg
ICAgICAgYXMgYSByZXN1bHQgb2YgY2FsbGluZyBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25z
ZW50KCk7YCwgd2hpY2ggYSBXZWJLaXQgZW1iZWRkZXIgbWF5IGltcGxlbWVudCBpbiBvcmRlciB0
bworICAgICAgICBwcmVzZW50IFVJIG9yIG90aGVyd2lzZSByZXNwb25kIGFwcHJvcHJpYXRlbHkg
dG8gdGhlIHJlcXVlc3QuIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisK
KyAgICAgICAgVGVzdHM6ICBDb29raWVDb25zZW50LkJhc2ljRGVjaXNpb25IYW5kbGVyCisgICAg
ICAgICAgICAgICAgQ29va2llQ29uc2VudC5Ob3RFbmFibGVkCisgICAgICAgICAgICAgICAgQ29v
a2llQ29uc2VudC5UaHJvd3NFeGNlcHRpb25XaXRob3V0RGVsZWdhdGUKKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAq
IE1vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0Lmg6IEFk
ZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNv
bnNlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmln
YXRvckNvb2tpZUNvbnNlbnQuY3BwOiBBZGRlZC4KKworICAgICAgICBBZGQgYSBuZXcgcGFydGlh
bCBpbnRlcmZhY2Ugb24gTmF2aWdhdG9yIHRoYXQgaW1wbGVtZW50cyB0aGUgbmV3IEFQSSBieSBj
YWxsaW5nIGludG8gdGhlIGNocm9tZSBjbGllbnQgaG9vayAoc2VlCisgICAgICAgIFdlYktpdCBj
aGFuZ2VzIGZvciBtb3JlIGRldGFpbHMpLiBOb3RlIHRoYXQgaW4gdGhlIGNhc2Ugd2hlcmUgdGhl
IGNvbnNlbnQgZGVsZWdhdGUgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBieQorICAgICAgICB0
aGUgY2xpZW50LCB3ZSB3aWxsIHJlamVjdCB0aGUgcHJvbWlzZSB3aXRoIGEgYE5vdFN1cHBvcnRl
ZEVycm9yYC4KKworICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29va2llQ29uc2VudDo6cmVx
dWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29va2llQ29u
c2VudDo6ZnJvbSk6CisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JD
b29raWVDb25zZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQv
UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM6OlJlcXVlc3RDb29raWVDb25zZW50T3B0aW9u
cyk6CisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2Vu
dE9wdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1
ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Zp
bGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uLmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VD
b25uZWN0aW9uLmg6CisKKyAgICAgICAgQWRkIHNvbWUgbWlzc2luZyBpbmNsdWRlcyB0byBmaXgg
dGhlIHVuaWZpZWQgc291cmNlIGJ1aWxkIG9uIFdpbmRvd3MuCisKKyAgICAgICAgKiBTb3VyY2Vz
LnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNo
cm9tZUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAqIGxvYWRlci9FbXB0
eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDIxLTEyLTA3
ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBgRE9N
UGFzdGVBY2Nlc3NDYXRlZ29yeWAgdG8gY29udHJvbCB3aGljaCBwYXN0ZWJvYXJkIHRoZSBXZWJQ
cm9jZXNzIGlzIGdyYW50ZWQgYWNjZXNzIHRvIHdoZW4gcGFzdGluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZjEx
NzFlYTlkZTljNDE1OGI2YTVhNWVhN2Y4OGJlNWY0YzRjMTA5Li5hZDc1MTAxMWEzZDE5MTI2NDNk
ZmZkYmYzNWYwOTFmZTZmZmZmOWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTEy
LTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50KClgIGJlaGluZCBh
IGRpc2FibGVkIGZlYXR1cmUgZmxhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMzODkwCisgICAgICAgIHJkYXI6Ly84NjExNzcxOAorCisgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBwbHVtYmluZyBmb3IgYW4g
YXN5bmMgYHJlcXVlc3RDb29raWVDb25zZW50KClgIG1ldGhvZCBvbiBDaHJvbWVDbGllbnQgdGhh
dCBwbHVtYnMgdGhyb3VnaCB0aGUgV2ViS2l0MiBjbGllbnQKKyAgICAgICAgbGF5ZXIsIGludG8g
YSBuZXcgcHJpdmF0ZSAoZm9yIHRoZSB0aW1lIGJlaW5nKSBVSSBkZWxlZ2F0ZSBtZXRob2QuIElm
IHRoZSBuZXcgZGVsZWdhdGUgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZAorICAgICAgICAob3Ig
dGhlcmUgaXMgbm8gVUkgZGVsZWdhdGUgYXQgYWxsKSwgd2UgaW1tZWRpYXRlbHkgaW52b2tlIHRo
ZSBkZWNpc2lvbiBoYW5kbGVyIHdpdGggYSByZXN1bHQgb2YgYE5vdFN1cHBvcnRlZGAsCisgICAg
ICAgIGFsbG93aW5nIHVzIHRvIHJlamVjdCB0aGUgcHJvbWlzZSB3aXRoIGEgYE5vdFN1cHBvcnRl
ZEVycm9yYC4KKworICAgICAgICBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWls
cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKEFQ
STo6VUlDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1t
OgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZSk6CisgICAgICAgIChX
ZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29uc2VudCk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29uc2Vu
dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aDoKKwogMjAyMS0xMi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIGEgYERPTVBhc3RlQWNjZXNzQ2F0ZWdvcnlgIHRvIGNvbnRyb2wgd2hpY2ggcGFz
dGVib2FyZCB0aGUgV2ViUHJvY2VzcyBpcyBncmFudGVkIGFjY2VzcyB0byB3aGVuIHBhc3RpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA2ZmQwMzVhMTA4MjExZDE2Yzc3ZTM2YmQ0
MDlkZGQ4NTZjYWI1MzkwLi40NjgzOTc2Nzg2MjA0Y2ZiODljYjVhM2RiOTA3M2FjODQ3NDZkMTNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTIt
MDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEg
ZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIGFuIGltcGxlbWVudGF0aW9u
IHN0dWIgZm9yIHRoZSBuZXcgY2hyb21lIGNsaWVudCBob29rLCBgcmVxdWVzdENvb2tpZUNvbnNl
bnQoKWAuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJD
aHJvbWVDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KToKKwogMjAyMS0xMi0wNyAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgYERPTVBhc3RlQWNj
ZXNzQ2F0ZWdvcnlgIHRvIGNvbnRyb2wgd2hpY2ggcGFzdGVib2FyZCB0aGUgV2ViUHJvY2VzcyBp
cyBncmFudGVkIGFjY2VzcyB0byB3aGVuIHBhc3RpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxv
ZwppbmRleCBkMDcxYTcyNWQ1Y2E4OTU5ZDIxZjAwM2UzMGY4OTAzZTZjMjNmZDdmLi45YTYzMjQ3
M2IyYmYwZTE5MzNjN2YzMzc5NmZhZGI3MWFhMmY0NDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3Iu
cmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAg
ICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgQWRkIGFuIGltcGxlbWVudGF0aW9uIHN0dWIgZm9yIHRoZSBuZXcgY2hyb21l
IGNsaWVudCBob29rLCBgcmVxdWVzdENvb2tpZUNvbnNlbnQoKWAuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50
OjpyZXF1ZXN0Q29va2llQ29uc2VudCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisKIDIwMjEtMTItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkZCBhIGBET01QYXN0ZUFjY2Vzc0NhdGVnb3J5YCB0byBjb250cm9s
IHdoaWNoIHBhc3RlYm9hcmQgdGhlIFdlYlByb2Nlc3MgaXMgZ3JhbnRlZCBhY2Nlc3MgdG8gd2hl
biBwYXN0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbAppbmRleCAwM2JiNGFlMzAxZTU5ZWFmYTdkMmI1
NmJiZmIwYTUzOWE4MzAwOGM1Li5lMWJhZmZjMzc4NDI4ZGFhZmFmMmE4YTI1OWM3NWM1YjEyYzFm
Y2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVy
ZW5jZXNJbnRlcm5hbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwKQEAgLTE3Niw2ICsxNzYsMTkgQEAgQ2FwdHVyZVZp
ZGVvSW5VSVByb2Nlc3NFbmFibGVkOgogICAgIFdlYktpdDoKICAgICAgIGRlZmF1bHQ6IGZhbHNl
CiAKK0Nvb2tpZUNvbnNlbnRBUElFbmFibGVkOgorICB0eXBlOiBib29sCisgIGh1bWFuUmVhZGFi
bGVOYW1lOiAiQ29va2llIENvbnNlbnQgQVBJIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246
ICJFbmFibGUgY29va2llIGNvbnNlbnQgQVBJIgorICBleHBvc2VkOiBbIFdlYktpdCBdCisgIGRl
ZmF1bHRWYWx1ZToKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJL
aXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1
bHQ6IGZhbHNlCisKIERPTVBhc3RlQWNjZXNzUmVxdWVzdHNFbmFibGVkOgogICB0eXBlOiBib29s
CiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiRE9NIFBhc3RlIEFjY2VzcyBSZXF1ZXN0cyIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggNzYyNDMyNGQ5NWQ2OTQxOWZjMDMyYzc4NmZmYmIzN2M3NjdhYTEy
Yy4uZDQ0OWRlOGIwMGFiNTQ3ZTY4Yzg1OGVmZWRjYmE1MzBhOTVhMGUxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTI3LDYgKzI3LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9JTkNMVURFX0RJ
UkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYmVhY29uIgogICAgICIke1dF
QkNPUkVfRElSfS9Nb2R1bGVzL2NhY2hlIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2Nv
bnRhY3QtcGlja2VyIgorICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50
IgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50IgogICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhIgogICAgICIke1dFQkNPUkVf
RElSfS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeSIKQEAgLTI1Niw2ICsyNTcsOSBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvY29udGFjdC1waWNrZXIv
Q29udGFjdHNTZWxlY3RPcHRpb25zLmlkbAogICAgIE1vZHVsZXMvY29udGFjdC1waWNrZXIvTmF2
aWdhdG9yK0NvbnRhY3RzLmlkbAogCisgICAgTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0
b3IrQ29va2llQ29uc2VudC5pZGwKKyAgICBNb2R1bGVzL2Nvb2tpZS1jb25zZW50L1JlcXVlc3RD
b29raWVDb25zZW50T3B0aW9ucy5pZGwKKwogICAgIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1l
bnQvQmFzaWNDcmVkZW50aWFsLmlkbAogICAgIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQv
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKICAgICBNb2R1bGVzL2NyZWRlbnRpYWxtYW5h
Z2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDRmZjhlM2YyMGIyY2JjZjE3ODZh
ZTg4MzE3YjUxYWFkNzYzYWE3MzcuLmVjZDdhZTU4ZDcxMDFhMzg2NTYzY2UyZmMyMzk1ZGE2NGU3
MTNjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdApAQCAtMjMyLDYgKzIzMiw4IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY29udGFjdC1w
aWNrZXIvQ29udGFjdFByb3BlcnR5LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jb250YWN0
LXBpY2tlci9Db250YWN0c01hbmFnZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NvbnRh
Y3QtcGlja2VyL0NvbnRhY3RzU2VsZWN0T3B0aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvY29udGFjdC1waWNrZXIvTmF2aWdhdG9yK0NvbnRhY3RzLmlkbAorJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRp
b25zLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNp
Y0NyZWRlbnRpYWwuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2Vt
ZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggZDI3
ZjZlNDY2MGViNmJiOGQ1ZDhkMDQwZTE2YzcxY2Q3OWM5NjJkMS4uOTk2Y2JkZTIxMTZlZWUyMjg4
NDg0OGUxNGUxZTU4MTZhODE3ZGYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTE2NDcsNiArMTY0Nyw4IEBAICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK0NsaXBib2FyZC5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdh
dG9yK0NsaXBib2FyZC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU05hdmlnYXRvcitDb250YWN0cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK0NvbnRhY3RzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQu
Y3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvcitDb29raWVDb25zZW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTmF2aWdhdG9yK0NyZWRlbnRpYWxzLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ3JlZGVudGlhbHMuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrRU1F
LmNwcApAQCAtMjA4OSw2ICsyMDkxLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNSZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWMKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUmVtb3RlUGxheWJhY2tB
dmFpbGFiaWxpdHlDYWxsYmFjay5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXF1ZXN0QW5pbWF0aW9uRnJh
bWVDYWxsYmFjay5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUmVzaXplT2Jz
ZXJ2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1Jlc2l6ZU9ic2VydmVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggYTRmZjQ1MWYyZjEzMGRjNmUxMjc2YTY1MWMzZmI3YTkxMjI5OTlmZC4u
MzNiZDZlMDBkYzhiNjJmMWRhMWMwYzk1MGNiOTI4YjI4N2E2ZmYxZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC0yNTQsNiArMjU0LDggQEAgSlNfQklORElOR19JRExTIDo9IFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNNYW5hZ2VyLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzU2VsZWN0
T3B0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jb250YWN0LXBpY2tlci9OYXZp
Z2F0b3IrQ29udGFjdHMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvY29va2llLWNvbnNl
bnQvTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
Y29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxt
YW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
aW5kZXggNTFkZjVjMzBhYjlmZGM0NTdjOGUwZGI5ZDZkY2JiNjdiM2Y1OGZiMS4uNzk2MzZiZGQ4
ODY1OGU2YWNhZmE5MGUzMTU1YTY5OTY5ZGVmNzQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0x
NTMsNiArMTUzLDggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAg
IE1vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdFByb3BlcnR5LmgKICAgICBNb2R1bGVzL2Nv
bnRhY3QtcGlja2VyL0NvbnRhY3RzUmVxdWVzdERhdGEuaAogCisgICAgTW9kdWxlcy9jb29raWUt
Y29uc2VudC9Db29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaAorCiAgICAgTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9DRE1DbGllbnQuaAogICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTeXN0ZW1DbGllbnQuaAogICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0
ZW1Db250cm9sbGVyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2ll
LWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2Nvb2tpZS1jb25zZW50L0Nvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQzMzY0MTI4MWNkYmYxNjNlNzIwNDExYzhjNDNiNjY1YmIwNmUwM2YKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L0Nvb2tpZUNv
bnNlbnREZWNpc2lvblJlc3VsdC5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworZW51bSBjbGFzcyBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQgOiB1aW50OF90
IHsKKyAgICBOb3RTdXBwb3J0ZWQsCisgICAgQ29uc2VudCwKKyAgICBEaXNzZW50LAorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ+IHsK
KyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgIFdlYkNvcmU6OkNvb2tpZUNvbnNl
bnREZWNpc2lvblJlc3VsdCwKKyAgICBXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1
bHQ6Ok5vdFN1cHBvcnRlZCwKKyAgICBXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1
bHQ6OkNvbnNlbnQsCisgICAgV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpE
aXNzZW50CisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3IrQ29va2llQ29uc2Vu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitD
b29raWVDb25zZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTI5MGM1ZmRlODU5MzhjMzhmMDhjMDUwNjIy
N2ZiOTc2OGRhNTMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
b29raWUtY29uc2VudC9OYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGwKQEAgLTAsMCArMSwzMSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPUNvb2tpZUNvbnNlbnRBUElF
bmFibGVkLAorICAgIEltcGxlbWVudGVkQnk9TmF2aWdhdG9yQ29va2llQ29uc2VudCwKK10gcGFy
dGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKKyAgICBQcm9taXNlPGJvb2xlYW4+IHJlcXVlc3RD
b29raWVDb25zZW50KG9wdGlvbmFsIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucyBvcHRpb25z
KTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50
L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29r
aWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NmQwZjFh
NWNmZWIyMTlhNzZmMDcxZTZhMjE2OGY1YWRiNTc2YTAyCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50
LmNwcApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIk5hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCIKKworI2luY2x1ZGUgIkNocm9tZS5o
IgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgorI2luY2x1ZGUgIkNvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdC5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJKU0RP
TVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgIlBh
Z2UuaCIKKyNpbmNsdWRlICJSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCit2b2lkIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQ6OnJlcXVlc3RDb29r
aWVDb25zZW50KE5hdmlnYXRvciYgbmF2aWdhdG9yLCBzdGQ6Om9wdGlvbmFsPFJlcXVlc3RDb29r
aWVDb25zZW50T3B0aW9ucz4mJiBvcHRpb25zLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21p
c2UpCit7CisgICAgZnJvbShuYXZpZ2F0b3IpLnJlcXVlc3RDb29raWVDb25zZW50KFdURk1vdmUo
b3B0aW9ucyksIFdURk1vdmUocHJvbWlzZSkpOworfQorCit2b2lkIE5hdmlnYXRvckNvb2tpZUNv
bnNlbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KHN0ZDo6b3B0aW9uYWw8UmVxdWVzdENvb2tpZUNv
bnNlbnRPcHRpb25zPiYmIG9wdGlvbnMsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkK
K3sKKyAgICAvLyBGSVhNRTogU3VwcG9ydCB0aGUgJ01vcmUgaW5mbycgb3B0aW9uLgorICAgIFVO
VVNFRF9QQVJBTShvcHRpb25zKTsKKworICAgIFJlZlB0ciBmcmFtZSA9IG1fbmF2aWdhdG9yLmZy
YW1lKCk7CisgICAgaWYgKCFmcmFtZSB8fCAhZnJhbWUtPmlzTWFpbkZyYW1lKCkgfHwgIWZyYW1l
LT5wYWdlKCkpIHsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KE5vdEFsbG93ZWRFcnJvcik7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBmcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS5jbGll
bnQoKS5yZXF1ZXN0Q29va2llQ29uc2VudChbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChD
b29raWVDb25zZW50RGVjaXNpb25SZXN1bHQgcmVzdWx0KSB7CisgICAgICAgIHN3aXRjaCAocmVz
dWx0KSB7CisgICAgICAgIGNhc2UgQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBw
b3J0ZWQ6CisgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ29va2llQ29uc2VudERlY2lzaW9uUmVz
dWx0OjpDb25zZW50OgorICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExCb29sZWFuPih0
cnVlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdDo6RGlzc2VudDoKKyAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMQm9v
bGVhbj4oZmFsc2UpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9KTsKK30K
KworTmF2aWdhdG9yQ29va2llQ29uc2VudCYgTmF2aWdhdG9yQ29va2llQ29uc2VudDo6ZnJvbShO
YXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBpZiAoYXV0byBzdXBwbGVtZW50ID0gc3RhdGlj
X2Nhc3Q8TmF2aWdhdG9yQ29va2llQ29uc2VudCo+KFN1cHBsZW1lbnQ8TmF2aWdhdG9yPjo6ZnJv
bSgmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpKSkpCisgICAgICAgIHJldHVybiAqc3VwcGxl
bWVudDsKKworICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdhdG9yQ29v
a2llQ29uc2VudD4obmF2aWdhdG9yKTsKKyAgICBhdXRvIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVt
ZW50LmdldCgpOworICAgIHByb3ZpZGVUbygmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBX
VEZNb3ZlKG5ld1N1cHBsZW1lbnQpKTsKKyAgICByZXR1cm4gKnN1cHBsZW1lbnQ7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y29va2llLWNvbnNlbnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGUyMmVjYTI1NDUwZTU3NjFlMGVmNThjZWYyNGNiZGRjYWI2MTAxMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yQ29v
a2llQ29uc2VudC5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
KyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBO
YXZpZ2F0b3I7CisKK3N0cnVjdCBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM7CisKK2NsYXNz
IE5hdmlnYXRvckNvb2tpZUNvbnNlbnQgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0
b3I+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNp
dCBOYXZpZ2F0b3JDb29raWVDb25zZW50KE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAgICAgICA6
IG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKKyAgICB7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQg
cmVxdWVzdENvb2tpZUNvbnNlbnQoTmF2aWdhdG9yJiwgc3RkOjpvcHRpb25hbDxSZXF1ZXN0Q29v
a2llQ29uc2VudE9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworCitwcml2YXRl
OgorICAgIHN0YXRpYyBOYXZpZ2F0b3JDb29raWVDb25zZW50JiBmcm9tKE5hdmlnYXRvciYpOwor
ICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpIHsgcmV0dXJuICJOYXZpZ2F0
b3JDb29raWVDb25zZW50IjsgfQorCisgICAgdm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChzdGQ6
Om9wdGlvbmFsPFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJv
bWlzZT4mJik7CisKKyAgICBOYXZpZ2F0b3ImIG1fbmF2aWdhdG9yOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUt
Y29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFhOGYzMzZhYzUzYWQ0OTc0N2MyNGVkMmI0ZDYyMTMwMjIzMGJlZmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L1JlcXVl
c3RDb29raWVDb25zZW50T3B0aW9ucy5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlv
bnMuaCIKKworI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9uczo6UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRp
b25zKFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucyYmIG9wdGlvbnMpCisgICAgOiBtb3JlSW5m
byhXVEZNb3ZlKG9wdGlvbnMubW9yZUluZm8pKQoreworfQorCitSZXF1ZXN0Q29va2llQ29uc2Vu
dE9wdGlvbnM6OlJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucygpID0gZGVmYXVsdDsKK1JlcXVl
c3RDb29raWVDb25zZW50T3B0aW9uczo6flJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucygpID0g
ZGVmYXVsdDsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNv
bnNlbnRPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTlhZjI3M2U5NzUxYjIyZWI4NTFjMGRhY2ZiMTFi
ZjJlNGI1MDQ1NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29v
a2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmgKQEAgLTAsMCArMSw0MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBWb2lkQ2FsbGJhY2s7CisKK3N0cnVj
dCBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMgeworICAgIFJlcXVlc3RDb29raWVDb25zZW50
T3B0aW9ucyhSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMmJik7CisgICAgUmVxdWVzdENvb2tp
ZUNvbnNlbnRPcHRpb25zKCk7CisgICAgflJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucygpOwor
CisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gbW9yZUluZm87Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25z
ZW50L1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2Nvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjBjNzU1Njc5MTE0NTk0YzRkY2QwMWY3ZGFjNjA5NzFjN2Q4NmYwMQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENv
b2tpZUNvbnNlbnRPcHRpb25zLmlkbApAQCAtMCwwICsxLDI4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZGlj
dGlvbmFyeSBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMgeworICAgIFZvaWRDYWxsYmFjaz8g
bW9yZUluZm87Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtYWNjZXNzL1dvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VD
b25uZWN0aW9uLmNwcAppbmRleCBmNDdjYTNkMzNkOTdhNjM3ZDZmN2JhMDZjYmVlNDUxN2YxMzIw
ZmJiLi5iNTM2MzJjMzEyM2ExYmY5NWY3MDMzNmNlYjg2MWJjNjhkNGQzMThjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3Rl
bVN0b3JhZ2VDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVz
eXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtMjYs
NiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldvcmtlckZpbGVTeXN0
ZW1TdG9yYWdlQ29ubmVjdGlvbi5oIgogCisjaW5jbHVkZSAiRmlsZVN5c3RlbVN5bmNBY2Nlc3NI
YW5kbGUuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtl
ckxvYWRlclByb3h5LmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvV29ya2VyRmlsZVN5c3RlbVN0
b3JhZ2VDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nl
c3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uLmgKaW5kZXggNTRiNGI4MWYzYTc5
Njg2ODliN2JkY2FhNWJmZGRkZDQyNjI5MTdlMS4uOTgzNmIxZTc0ZmJhNzZiZTdhMWUwODhhZGMw
ZTUwOTM2NzE4MzU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtYWNjZXNzL1dvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFn
ZUNvbm5lY3Rpb24uaApAQCAtMzIsNiArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K2NsYXNzIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOwogY2xhc3MgV29ya2VyR2xvYmFsU2Nv
cGU7CiBjbGFzcyBXb3JrZXJUaHJlYWQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZWUwMGM5NzU0NmJh
ZWIxNzczNjMzMzJiNzk0NDdlZjE4NTkyYTI3My4uOTljZWM4Y2UzMjFmZWMwMzAxYmYwZTE4NzAw
Yjc5NzhmYjZmOTQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTY4LDYgKzY4LDggQEAgTW9kdWxlcy9j
YWNoZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAogTW9kdWxlcy9jYWNoZS9X
b3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAogTW9kdWxlcy9jb250YWN0LXBpY2tlci9D
b250YWN0c01hbmFnZXIuY3BwCiBNb2R1bGVzL2NvbnRhY3QtcGlja2VyL05hdmlnYXRvckNvbnRh
Y3RzLmNwcAorTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmNw
cAorTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuY3Bw
CiBNb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5jcHAKIE1vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIuY3BwCiBNb2R1bGVz
L2NyZWRlbnRpYWxtYW5hZ2VtZW50L05hdmlnYXRvckNyZWRlbnRpYWxzLmNwcApAQCAtMzY3Myw2
ICszNjc1LDcgQEAgSlNSZW1vdGVET01XaW5kb3cuY3BwCiBKU1JlbW90ZVBsYXliYWNrLmNwcAog
SlNSZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmNwcAogSlNSZXF1ZXN0QW5pbWF0
aW9uRnJhbWVDYWxsYmFjay5jcHAKK0pTUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcAog
SlNSZXNpemVPYnNlcnZlci5jcHAKIEpTUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zLmNwcAogSlNS
ZXNpemVPYnNlcnZlckNhbGxiYWNrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM4MTVmOWMyNDYzNzU4ZGQ1NWFmM2Q0ODli
MTQ1NDVhNjdlNWMwZmIuLmQ3ZjQ3NzM4OWFlM2Y4MTBlODNhODNiZmJkZmZhZWQzNWJiMzk0YjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTU0NTAsNiArNTQ1MCw5IEBACiAJCUYzNDRDNzUzMTEyOTREOUQwMEYyNkVFRSAvKiBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGMzQ0Qzc1MjExMjk0RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUYzQUJGRTBDMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5n
QWdlbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
M0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovOyB9Owog
CQlGM0Q0NjE0OTExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRDQ2MTQ3MTE2MUQ1MzIwMENB
MEQwOSAvKiBKU0Vycm9ySGFuZGxlci5oICovOyB9OworCQlGNDAzNEY5RDI3NUM0Nzg5MDAzQTgx
RjggLyogQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEY5QzI3NUM0NzgzMDAzQTgxRjggLyogQ29v
a2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRjQwMzRGQUMyNzVFQUQ2RTAwM0E4MUY4IC8qIFJlcXVlc3RD
b29raWVDb25zZW50T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQwMzRGOEYyNzVDMTY4NjAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25z
ZW50T3B0aW9ucy5oICovOyB9OworCQlGNDAzNEZBRTI3NUVBRDc2MDAzQTgxRjggLyogTmF2aWdh
dG9yQ29va2llQ29uc2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQwMzRGOEQyNzVDMDg3QjAwM0E4MUY4IC8qIE5hdmlnYXRvckNvb2tpZUNvbnNl
bnQuaCAqLzsgfTsKIAkJRjQwM0U3ODcyMzYzQjU4QzAwMDQ0NTUwIC8qIEVudGVyS2V5SGludC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwM0U3ODUy
MzYzQjU4QzAwMDQ0NTUwIC8qIEVudGVyS2V5SGludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0MERBQUVDMjVEOUYyNUUwMDExQjRGQSAvKiBQ
YXN0ZWJvYXJkQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQwREFBRUIyNUQ5RjI1RTAwMTFCNEZBIC8qIFBhc3RlYm9hcmRDb250ZXh0Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQwREFB
RUYyNUQ5RjNCRjAwMTFCNEZBIC8qIFBhZ2VQYXN0ZWJvYXJkQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwREFBRUUyNUQ5RjNCRjAwMTFC
NEZBIC8qIFBhZ2VQYXN0ZWJvYXJkQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNzU5NSw2ICsxNzU5OCwxMyBAQAogCQlGM0FCRkUw
QjEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbnN0cnVtZW50aW5nQWdlbnRzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ2MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Vycm9ySGFuZGxl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ3MTE2MUQ1MzIwMENB
MEQwOSAvKiBKU0Vycm9ySGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0Vycm9ySGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY4
QzI3NUMwODdCMDAzQTgxRjggLyogTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOYXZpZ2F0b3JDb29raWVDb25zZW50LmNwcDsg
cGF0aCA9ICJjb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVDb25zZW50LmNwcCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RjhEMjc1QzA4N0IwMDNBODFGOCAvKiBOYXZp
Z2F0b3JDb29raWVDb25zZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5h
dmlnYXRvckNvb2tpZUNvbnNlbnQuaDsgcGF0aCA9ICJjb29raWUtY29uc2VudC9OYXZpZ2F0b3JD
b29raWVDb25zZW50LmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY4RTI3
NUMwODdDMDAzQTgxRjggLyogTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbmFtZSA9ICJOYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGwiOyBwYXRoID0gImNvb2tp
ZS1jb25zZW50L05hdmlnYXRvcitDb29raWVDb25zZW50LmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUY0MDM0RjhGMjc1QzE2ODYwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29u
c2VudE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25z
Lmg7IHBhdGggPSAiY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmgi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY5MTI3NUMxNjg2MDAzQTgxRjgg
LyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBSZXF1ZXN0Q29va2llQ29u
c2VudE9wdGlvbnMuaWRsOyBwYXRoID0gImNvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25z
ZW50T3B0aW9ucy5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEY5QzI3
NUM0NzgzMDAzQTgxRjggLyogQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oOyBwYXRoID0gImNvb2tpZS1jb25z
ZW50L0Nvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRjQwMzRGQ0MyNzYwMjE1QzAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50
T3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlv
bnMuY3BwOyBwYXRoID0gImNvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9u
cy5jcHAiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDAzRTc4NTIzNjNCNThDMDAw
NDQ1NTAgLyogRW50ZXJLZXlIaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVudGVyS2V5SGludC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDAzRTc4NjIzNjNCNThDMDAwNDQ1NTAgLyog
RW50ZXJLZXlIaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVudGVyS2V5SGludC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MERBQUVCMjVEOUYyNUUwMDExQjRGQSAvKiBQ
YXN0ZWJvYXJkQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXN0ZWJvYXJkQ29udGV4dC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU4MTAsNiArMjU4MjAsNyBAQAogCQkJCTgz
MjE1MDc5MUYyN0U5NkIwMDk1QjEzNiAvKiBiZWFjb24gKi8sCiAJCQkJNDEzODBDMUUxRjM0MzY2
MDAwMTU1RkRBIC8qIGNhY2hlICovLAogCQkJCUU1OTZERDIzMjUxOTAyRDYwMEMyNzVBNyAvKiBj
b250YWN0LXBpY2tlciAqLywKKwkJCQlGNDAzNEY4QjI3NUMwODY3MDAzQTgxRjggLyogY29va2ll
LWNvbnNlbnQgKi8sCiAJCQkJNTdDN0E2ODgxRTU2OTQ2RDAwQzY3RDcxIC8qIGNyZWRlbnRpYWxt
YW5hZ2VtZW50ICovLAogCQkJCUNEQTk4REJEMTYwMTRFMDgwMEZFQTNCMSAvKiBlbmNyeXB0ZWRt
ZWRpYSAqLywKIAkJCQk4M0ZCMzM2NTFGNTA4QTE3MDA5ODZFNTQgLyogZW50cmllc2FwaSAqLywK
QEAgLTMxMjE3LDYgKzMxMjI4LDIwIEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKIAkJfTsKKwkJRjQwMzRGOEIyNzVDMDg2NzAwM0E4MUY4IC8qIGNvb2tpZS1j
b25zZW50ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlG
NDAzNEY5QzI3NUM0NzgzMDAzQTgxRjggLyogQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0Lmgg
Ki8sCisJCQkJRjQwMzRGOEUyNzVDMDg3QzAwM0E4MUY4IC8qIE5hdmlnYXRvcitDb29raWVDb25z
ZW50LmlkbCAqLywKKwkJCQlGNDAzNEY4QzI3NUMwODdCMDAzQTgxRjggLyogTmF2aWdhdG9yQ29v
a2llQ29uc2VudC5jcHAgKi8sCisJCQkJRjQwMzRGOEQyNzVDMDg3QjAwM0E4MUY4IC8qIE5hdmln
YXRvckNvb2tpZUNvbnNlbnQuaCAqLywKKwkJCQlGNDAzNEZDQzI3NjAyMTVDMDAzQTgxRjggLyog
UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmNwcCAqLywKKwkJCQlGNDAzNEY4RjI3NUMxNjg2
MDAzQTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggKi8sCisJCQkJRjQwMzRG
OTEyNzVDMTY4NjAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGwgKi8s
CisJCQkpOworCQkJbmFtZSA9ICJjb29raWUtY29uc2VudCI7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OwogCQlGNDQwRTc2OTIzM0Q5MzYyMDA2M0Y5QUIgLyogQ2xpcGJvYXJkICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTMzNjA0LDYgKzMz
NjI5LDcgQEAKIAkJCQlGRDMxNjAyOTEyQjAyNjc2MDBDMUEzNTkgLyogQ29udm9sdmVyTm9kZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODNGMjhDMDAyNERCMURFMTAwNUJBNkY2IC8qIENvbnZvbHZl
ck9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUQ4QjYxNTJGMTAzMjQ5NTEwMEM4NTU0QSAv
KiBDb29raWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0MDM0RjlEMjc1QzQ3ODkwMDNBODFGOCAv
KiBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0
Qzk0MTY0QjUyQzgwMEYzMkQ0MCAvKiBDb29raWVKYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdB
NTY5OTcwMjA4NkM2MTkwMDBFMDQzMyAvKiBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMzNEMDIxMkQxMzFEQjM3QjAwNDA5MUE4IC8qIENvb2tpZVN0
b3JhZ2UuaCBpbiBIZWFkZXJzICovLApAQCAtMzYwMzgsNiArMzYwNjQsNyBAQAogCQkJCTgzMjE1
MDdFMUYyN0VBMUIwMDk1QjEzNiAvKiBOYXZpZ2F0b3JCZWFjb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCUY0NDBFNzdBMjMzRDk0RDcwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUU1OTZERDI5MjUxOTAzRDIwMEMyNzVBNyAvKiBOYXZpZ2F0b3JDb250
YWN0cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQwMzRGQUUyNzVFQUQ3NjAwM0E4MUY4IC8qIE5h
dmlnYXRvckNvb2tpZUNvbnNlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3MkQzRTU3MjE2NTc4
QUUwMEM1RTAyMSAvKiBOYXZpZ2F0b3JDcmVkZW50aWFscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTcxMTQ2MDQxNEVGMDA5QTAwNjc0RkQ5IC8qIE5hdmlnYXRvckdlb2xvY2F0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2QjUwN0EyNDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdhdG9ySXNMb2dn
ZWRJbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNjYxMiw2ICszNjYzOSw3IEBACiAJCQkJMDcxQzAw
MzQyNzA3RDk1NTAwRDAyN0M3IC8qIFJlcGxheUtpdENhcHR1cmVTb3VyY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQ2REQ2RTFGMjZFN0RCRTcwMDhDMUY0QyAvKiBSZXBvcnRpbmdFbmRwb2ludHND
YWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5OEFFQzYxM0Y5RDBFQTAwOTBCMUFBIC8qIFJl
cXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDAzNEZB
QzI3NUVBRDZFMDAzQTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGNTVCM0REMDEyNTFGMTJEMDAzRUYyNjkgLyogUmVzZXRJbnB1dFR5cGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTU4QjJGOUY0MjIzMkQ0NTMwMDkzOEQ2MyAvKiBSZXNpemVP
YnNlcnZhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNThCMkY5RjUyMjMyRDQ1ODAwOTM4RDYz
IC8qIFJlc2l6ZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5jcHAKaW5kZXggZDdmODU2YjkwMzU3YjRjNTgwOTFjZGJiYjQwODU1YWI1NjYz
ZWNjOC4uZmUzMmQ5NGU0Mjg2NTlkNWQ2MWRhYmE3MjE5OGViMTk1OWJhMjVmNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgogI2lu
Y2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50LmgiCisjaW5jbHVkZSAiQ29va2llQ29uc2VudERlY2lz
aW9uUmVzdWx0LmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAjaW5jbHVkZSAiRE9NUGFzdGVB
Y2Nlc3MuaCIKICNpbmNsdWRlICJEYXRhTGlzdFN1Z2dlc3Rpb25QaWNrZXIuaCIKQEAgLTU4NCw2
ICs1ODUsMTEgQEAgdm9pZCBFbXB0eUNocm9tZUNsaWVudDo6c2hvd1NoYXJlU2hlZXQoU2hhcmVE
YXRhV2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGUKIHsKIH0KIAordm9pZCBFbXB0eUNo
cm9tZUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChD
b29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmIGNvbXBsZXRpb24pCit7CisgICAgY29tcGxl
dGlvbihDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7Cit9CisKIHZv
aWQgRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOZXdXaW5k
b3dBY3Rpb24oY29uc3QgTmF2aWdhdGlvbkFjdGlvbiYsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYs
IEZvcm1TdGF0ZSosIGNvbnN0IFN0cmluZyYsIFBvbGljeUNoZWNrSWRlbnRpZmllciwgRnJhbWVQ
b2xpY3lGdW5jdGlvbiYmKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmlu
ZGV4IDUyMjYxODczMWQ3NTZlYTRiZjhiOTZkZjAwNDM1ZjgzNTU4ZWU5MWEuLmRhMjBhODNkMGQ4
NmUwMDdkZmMyOTVjZjNjM2UzNjllYzVmNjJjMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTIxOCw2ICsyMTgsOCBAQCBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1
YmxpYyBDaHJvbWVDbGllbnQgewogICAgIGJvb2wgc2hvdWxkTm90aWZ5T25Gb3JtQ2hhbmdlcygp
IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBSZWZQdHI8SWNvbj4gY3JlYXRlSWNvbkZv
ckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiAvKiBmaWxlbmFtZXMgKi8pIGZpbmFsIHsgcmV0
dXJuIG51bGxwdHI7IH0KKworICAgIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmKSBmaW5hbDsKIH07
CiAKIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50JiBlbXB0eURpYWdub3N0aWNMb2dnaW5nQ2xpZW50
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAwZjhkNWM1ZTRiZGY0YWJiMjU0
OWNlMTY5ZTUxN2U0YjQyMmEzNzkyLi5lNDYzYzQwY2I2ZDQ2ODViYzhlZTYxNjNlYmFlNWIzNTYx
ZWMwOGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTE0Miw2ICsxNDIsNyBA
QCBzdHJ1Y3QgVGV4dEluZGljYXRvckRhdGE7CiBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHM7CiBz
dHJ1Y3QgV2luZG93RmVhdHVyZXM7CiAKK2VudW0gY2xhc3MgQ29va2llQ29uc2VudERlY2lzaW9u
UmVzdWx0IDogdWludDhfdDsKIGVudW0gY2xhc3MgUm91dGVTaGFyaW5nUG9saWN5IDogdWludDhf
dDsKIAogY2xhc3MgQ2hyb21lQ2xpZW50IHsKQEAgLTYxOSw2ICs2MjAsOCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGFib3J0QXBwbGVQYXlBTVNVSVNlc3Npb24oKSB7IH0KICNlbmRpZgog
CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJikgPSAwOworCiBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKaW5kZXggNjYyYThkNTM0ODBjMjI4ZmM5ODU4
MjljMWY4NzFjYzVkMDNmMjk2MS4uMjAxNmNiNDhkZDM4ZTE5NTI3MTU3OGM4NjEwM2Y0Y2JjYzY1
MTQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKQEAgLTMw
LDYgKzMwLDcgQEAKICNpbmNsdWRlICJXZWJFdmVudC5oIgogI2luY2x1ZGUgIldlYkhpdFRlc3RS
ZXN1bHREYXRhLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9Db29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0
UmVjdC5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogCkBAIC0xNDQsNiAr
MTQ1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjaGVja1VzZXJNZWRpYVBlcm1pc3Np
b25Gb3JPcmlnaW4oV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkm
LCBTZWN1cml0eU9yaWdpbiYsIFNlY3VyaXR5T3JpZ2luJiwgV2ViS2l0OjpVc2VyTWVkaWFQZXJt
aXNzaW9uQ2hlY2tQcm94eSYgcmVxdWVzdCkgeyByZXF1ZXN0LmRlbnkoKTsgfQogICAgIHZpcnR1
YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXZWJL
aXQ6OldlYlBhZ2VQcm94eSYsIFNlY3VyaXR5T3JpZ2luJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sIGFsbG93ZWQpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVy
KGZhbHNlKTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2Vzc0NvbmZpcm0o
V2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJD
b3JlOjpSZWdpc3RyYWJsZURvbWFpbiYgcmVxdWVzdGluZ0RvbWFpbiwgY29uc3QgV2ViQ29yZTo6
UmVnaXN0cmFibGVEb21haW4mIGN1cnJlbnREb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lv
blJlc3VsdDo6Tm90U3VwcG9ydGVkKTsgfQogCiAgICAgLy8gUHJpbnRpbmcuCiAgICAgdmlydHVh
bCBmbG9hdCBoZWFkZXJIZWlnaHQoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZy
YW1lUHJveHkmKSB7IHJldHVybiAwOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCA0YTJmNTBlYzg3NGVk
ZTgzNmJhNzVkMTgyMzE0MjVjNWRjZDNlZmRjLi5hZDE3ZGE4NzdmOWIwZWE2MDEwNWVkNzQ2MTc5
NmRiNzAwNDhjMGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTE3Nyw2ICsxNzcsOCBAQCBzdHJ1Y3Qg
VUlFZGdlSW5zZXRzOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzdGFy
dFhSU2Vzc2lvbldpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQpKWNvbXBsZXRpb25I
YW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CiAtICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNz
aW9uRm9yU2VjdXJpdHlPcmlnaW46KFdLU2VjdXJpdHlPcmlnaW4gKilzZWN1cml0eU9yaWdpbiBk
ZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWRlY2lzaW9uSGFuZGxlciBXS19BUElfQVZB
SUxBQkxFKG1hY29zKDEwLjEzLjQpLCBpb3MoV0tfSU9TX1RCQSkpOwogCistICh2b2lkKV93ZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZv
SGFuZGxlcjoodm9pZCAoXikodm9pZCkpbW9yZUluZm9IYW5kbGVyIGRlY2lzaW9uSGFuZGxlcjoo
dm9pZCAoXikoQk9PTCkpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tf
TUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKICNpZiBUQVJHRVRfT1NfSVBIT05FCiAKIC0g
KEJPT0wpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2hvdWxkSW5jbHVkZUFwcExpbmtB
Y3Rpb25zRm9yRWxlbWVudDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50IFdLX0FQ
SV9BVkFJTEFCTEUoaW9zKDkuMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvVUlEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5oCmluZGV4IGZmMjI3NTc1MDM3Njg0MWJjNWY5YTM2ZjMzMWQ4YTQ3ODJiNGY4ZDku
LmZkYWFhMWViNzEzMGZkNjhkYTFmYTg3NDAzNDM0MjZiNDUxY2QyODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBwcml2
YXRlOgogICAgICAgICBib29sIHRha2VGb2N1cyhXZWJQYWdlUHJveHkqLCBXS0ZvY3VzRGlyZWN0
aW9uKSBmaW5hbDsKICAgICAgICAgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdlYlBhZ2VQcm94
eSYsIFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQsIE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2
ZW50RmxhZ3M+KSBmaW5hbDsKICAgICAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdChXZWJQYWdlUHJveHkmLCBBUEk6OlNlY3VyaXR5T3JpZ2luJiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIGFsbG93ZWQpPiYmKSBmaW5hbDsKKyAgICAgICAg
dm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6
OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYpIGZpbmFsOwogCiAjaWYgUExBVEZPUk0o
TUFDKQogICAgICAgICB2b2lkIHNob3dQYWdlKFdlYlBhZ2VQcm94eSopIGZpbmFsOwpAQCAtMjcw
LDYgKzI3MSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgd2ViVmlld1N0YXJ0WFJTZXNzaW9u
V2l0aENvbXBsZXRpb25IYW5kbGVyIDogMTsKICNlbmRpZgogICAgICAgICBib29sIHdlYlZpZXdS
ZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbkZvclNlY3VyaXR5T3JpZ2luRGVjaXNpb25IYW5k
bGVyIDogMTsKKyAgICAgICAgYm9vbCB3ZWJWaWV3UmVxdWVzdENvb2tpZUNvbnNlbnRXaXRoTW9y
ZUluZm9IYW5kbGVyRGVjaXNpb25IYW5kbGVyIDogMTsKICAgICB9IG1fZGVsZWdhdGVNZXRob2Rz
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5k
ZXggMTMxNjA3ODI2NjcyYWFhOTgyYmJlNDE4ZTVkNTI5NTgyYzJjMmRiMS4uYTQ3OTM3ZmVjOTkx
MzEyOGQwYmJjNGE1YjU0ZTA5NjYxODk0MzY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLm1tCkBAIC0xOTcsNiArMTk3LDcgQEAgdm9pZCBVSURlbGVnYXRl
OjpzZXREZWxlZ2F0ZShpZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICAgICBtX2RlbGVnYXRl
TWV0aG9kcy53ZWJWaWV3U3RhcnRYUlNlc3Npb25XaXRoQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpzdGFydFhSU2Vzc2lv
bldpdGhDb21wbGV0aW9uSGFuZGxlcjopXTsKICNlbmRpZgogICAgIG1fZGVsZWdhdGVNZXRob2Rz
LndlYlZpZXdSZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbkZvclNlY3VyaXR5T3JpZ2luRGVj
aXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dl
YlZpZXc6cmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb25Gb3JTZWN1cml0eU9yaWdpbjpkZWNp
c2lvbkhhbmRsZXI6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1JlcXVlc3RDb29r
aWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlckRlY2lzaW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJlcXVlc3RDb29raWVDb25zZW50
V2l0aE1vcmVJbmZvSGFuZGxlcjpkZWNpc2lvbkhhbmRsZXI6KV07CiB9CiAKICNpZiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKQEAgLTY0MSw2ICs2NDIsMjQgQEAgdm9pZCBVSURlbGVnYXRlOjpVSUNs
aWVudDo6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0
OjoKICAgICB9KS5nZXQoKV07CiB9CiAKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJlcXVl
c3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2llQ29u
c2VudERlY2lzaW9uUmVzdWx0KT4mJiBjb21wbGV0aW9uKQoreworICAgIGlmICghbV91aURlbGVn
YXRlKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbihXZWJDb3JlOjpDb29raWVDb25zZW50RGVj
aXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7CisKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS0+bV9k
ZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1JlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFu
ZGxlckRlY2lzaW9uSGFuZGxlcikKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb24oV2ViQ29yZTo6
Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOworCisgICAgYXV0byBk
ZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS0+bV9kZWxlZ2F0ZS5nZXQoKTsKKyAgICBpZiAoIWRlbGVn
YXRlKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbihXZWJDb3JlOjpDb29raWVDb25zZW50RGVj
aXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7CisKKyAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQg
Zm9yIHRoZSAnbW9yZSBpbmZvJyBoYW5kbGVyLgorICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZh
dGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS0+bV93ZWJWaWV3LmdldCgpLmdldCgp
IHJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjpuaWwgZGVjaXNpb25IYW5k
bGVyOm1ha2VCbG9ja1B0cihbY29tcGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChCT09M
IGRlY2lzaW9uKSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbihkZWNpc2lvbiA/IFdlYkNv
cmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Q29uc2VudCA6IFdlYkNvcmU6OkNvb2tp
ZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6RGlzc2VudCk7CisgICAgfSkuZ2V0KCldOworfQorCiAj
aWYgUExBVEZPUk0oTUFDKQogYm9vbCBVSURlbGVnYXRlOjpVSUNsaWVudDo6Y2FuUnVuTW9kYWwo
KSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
NGU5YjBlZTJkNDVmZTA0YzU2YmVlYjMwZjg1NjA0ODdjNmM3NGUxZi4uMjRlMjVmMTFjYzNkY2Rj
NTczYjhkM2E5NTIzOTQ5NGEyYWNiMDE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC0xMTAyNCw2ICsxMTAyNCwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
Y2xlYXJBcHBQcml2YWN5UmVwb3J0VGVzdGluZ0RhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RDb29raWVDb25zZW50
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJiBj
b21wbGV0aW9uKQoreworICAgIG1fdWlDbGllbnQtPnJlcXVlc3RDb29raWVDb25zZW50KFdURk1v
dmUoY29tcGxldGlvbikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFdF
QlBBR0VQUk9YWV9SRUxFQVNFX0xPRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCBlMWM5ZTgzYzJhYmQwZjdlYzBkMzY1ZTkzYTBjNjY0ODAxMGMyMDU5Li44NDYzMDc1
NjZkNGU3ZGZmODU0NzBlZTcyNGY5NmQxMzNhOTE4MDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtMjY1LDYgKzI2NSw3IEBAIGNsYXNzIFRleHRJbmRpY2F0b3I7
CiBjbGFzcyBWYWxpZGF0aW9uQnViYmxlOwogCiBlbnVtIGNsYXNzIEF1dG9wbGF5RXZlbnQgOiB1
aW50OF90OworZW51bSBjbGFzcyBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQgOiB1aW50OF90
OwogZW51bSBjbGFzcyBDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCA6IGJvb2w7CiBlbnVtIGNs
YXNzIERPTVBhc3RlQWNjZXNzQ2F0ZWdvcnkgOiB1aW50OF90OwogZW51bSBjbGFzcyBET01QYXN0
ZUFjY2Vzc1Jlc3BvbnNlIDogdWludDhfdDsKQEAgLTIwMzIsNiArMjAzMyw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3Rp
ZmljYXRpb25JRHMpOwogICAgIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbih1aW50NjRfdCBu
b3RpZmljYXRpb25JRCk7CiAKKyAgICB2b2lkIHJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJik7
CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmLCBXZWJQcm9jZXNzUHJv
eHkmLCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUlu
aXRpYWxpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgppbmRleCBlM2ZmMGEzNWNkM2ZmNDk5YTcxMzNmOWJmZjJkMzMxNDQ0ODk0ZDM1
Li42ZjJmZmU3ZDFkOTE5MDc2M2MzY2E0NjZiZTZhY2E1NzAzZTAxMGZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC02MTYsNCAr
NjE2LDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBTdGFydEFwcGxlUGF5QU1T
VUlTZXNzaW9uKFVSTCBvcmlnaW5hdGluZ1VSTCwgc3RydWN0IFdlYkNvcmU6OkFwcGxlUGF5QU1T
VUlSZXF1ZXN0IHJlcXVlc3QpIC0+IChzdGQ6Om9wdGlvbmFsPGJvb2w+IHJlc3VsdCkgQXN5bmMK
ICAgICBBYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkKICNlbmRpZgorCisgICAgUmVxdWVzdENv
b2tpZUNvbnNlbnQoKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdCByZXN1bHQpIEFzeW5jCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDNm
Mjg2MmNmYjY3Y2YxZDJlZmZmNzM0MDE2NmJkNDViNTUyYjVhNGQuLjEzODI0ZmYxNmJlMWY1NTJk
ZTk4MDBmZDNiNjY5YzhkZGI3MzliN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xNTU5
LDQgKzE1NTksOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6YWJvcnRBcHBsZVBheUFNU1VJU2Vz
c2lvbigpCiAKICNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKIAordm9pZCBXZWJD
aHJvbWVDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
V2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJiBjb21wbGV0aW9uKQorewor
ICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVx
dWVzdENvb2tpZUNvbnNlbnQoKSwgV1RGTW92ZShjb21wbGV0aW9uKSk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGQwMmVkZjFiMmRjZDllYzllNWZj
ZmIyODUzNmUxODY5ZDZjNjQ2YjQuLmNiMjE0NzBhMTBkYzQ1MzQ0OWEyMWMzNzVlNjgzZWRlZmMy
YWUxYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEhUTUxJbWFnZUVsZW1lbnQ7CiBjbGFzcyBSZWdpc3RyYWJsZURvbWFp
bjsKK2VudW0gY2xhc3MgQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0IDogdWludDhfdDsKIGVu
dW0gY2xhc3MgU3RvcmFnZUFjY2Vzc1Byb21wdFdhc1Nob3duIDogYm9vbDsKIGVudW0gY2xhc3Mg
U3RvcmFnZUFjY2Vzc1dhc0dyYW50ZWQgOiBib29sOwogfQpAQCAtNDYyLDYgKzQ2Myw4IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBhYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkgZmluYWw7CiAjZW5k
aWYKIAorICAgIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmKSBmaW5hbDsKKwogICAg
IG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFtZUhhc0hvcml6b250YWxTY3JvbGxiYXIgeyBm
YWxzZSB9OwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFtZUhhc1ZlcnRpY2FsU2Ny
b2xsYmFyIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA0NDkxMzA2NDQ3NGQxM2My
YjkzOWJiODQwYTE0OWZjNjc1MmFmOWM0Li4xYTFmNDc4YWRmYmNiYmMzMDY1MDIyOTk5YTBmOGUz
MTcxNTFmMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMjU3LDYgKzI1Nyw4IEBAIHByaXZhdGU6
CiAKICAgICBSZWZQdHI8UEFMOjpXZWJHUFU6OkdQVT4gY3JlYXRlR1BVRm9yV2ViR1BVKCkgY29u
c3QgZmluYWw7CiAKKyAgICB2b2lkIHJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJikgZmluYWw7
CisKICNpZiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCiAgICAgYm9vbCBtX21vY2tW
aWRlb1ByZXNlbnRhdGlvbk1vZGVFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCmluZGV4IDBkNGI0ODk5MDAyOTQ4NTkwMWEwYTNlYTVlODI0NThmZDUyZTczZDEuLmRk
NzZlNDFmMmFmMGUyMWJiNTBhMzliMjU4ZTU5YTBjNWNkYmVhZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
bW0KQEAgLTU4LDYgKzU4LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JDaG9vc2VyLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0NvbnRleHRNZW51Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbnRleHRN
ZW51Q29udHJvbGxlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9Db29raWVDb25zZW50RGVjaXNpb25S
ZXN1bHQuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ3Vyc29yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Rh
dGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9EZXByZWNhdGVkR2xv
YmFsU2V0dGluZ3MuaD4KQEAgLTExNjYsMyArMTE2Nyw4IEBAIFJlZlB0cjxQQUw6OldlYkdQVTo6
R1BVPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZUdQVUZvcldlYkdQVSgpIGNvbnN0CiAgICAgcmV0
dXJuIG51bGxwdHI7CiAjZW5kaWYKIH0KKwordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJlcXVlc3RD
b29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoQ29va2llQ29uc2VudERlY2lzaW9u
UmVzdWx0KT4mJiBjb21wbGV0aW9uKQoreworICAgIGNvbXBsZXRpb24oQ29va2llQ29uc2VudERl
Y2lzaW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXgg
ZGNmNTU2NzY5MzY0ODkzZWVlNjYyN2M3M2JlM2E3NDNmM2Q5ZmIyMC4uOTA5NWZiMzg1NGQxMGU3
NTExMWFhYjFlNTVjZWM2Yjk3ZTgyY2UxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0zOCw2
ICszOCw3IEBACiAjaW5jbHVkZSAiV2ViVmlldy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQlN0cmlu
Zy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L0Nvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Vyc29y
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxlQ2hvb3Nlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RmlsZUljb25Mb2FkZXIuaD4KQEAgLTg3NSwzICs4NzYsOCBAQCBib29sIFdlYkNocm9tZUNsaWVu
dDo6c2hvdWxkVXNlVGlsZWRCYWNraW5nRm9yRnJhbWVWaWV3KGNvbnN0IEZyYW1lVmlldyYgZnJh
bWVWaQogICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogfQorCit2b2lkIFdlYkNocm9tZUNsaWVu
dDo6cmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChDb29raWVDb25z
ZW50RGVjaXNpb25SZXN1bHQpPiYmIGNvbXBsZXRpb24pCit7CisgICAgY29tcGxldGlvbihDb29r
aWVDb25zZW50RGVjaXNpb25SZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7Cit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CmluZGV4IDdiOTcwZjY0ODAyMzBlOWI2YjA5MGJjMThkYTQyYjcxMzllZjNiMWQuLmQ0N2JkZjUz
YzJhNTIyNzliMGY5MjE4ZTAwMDZkOTQ1MGM1MzA2OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0x
ODMsNiArMTgzLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nSW1hZ2VG
b3JFbGVtZW50KFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQmKSBmaW5hbDsKIAorICAgIHZvaWQg
cmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpDb29r
aWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmKTsKKwogcHJpdmF0ZToKICAgICBDT01QdHI8SVdl
YlVJRGVsZWdhdGU+IHVpRGVsZWdhdGUoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDgyNTZkZWVhYzYzNThkMjE3YjVjODI2MjZlMjVkMjVi
MjAwMjhhYmIuLmNhOTU1Njc0YzE2MzY3MGYwYWNmOGRmZGFhYTYyM2E1ODkwOTcyMjYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAyMS0xMi0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgYG5hdmlnYXRvci5yZXF1ZXN0Q29va2llQ29uc2Vu
dCgpYCBiZWhpbmQgYSBkaXNhYmxlZCBmZWF0dXJlIGZsYWcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzg5MAorICAgICAgICByZGFyOi8vODYxMTc3
MTgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgc2V2
ZXJhbCBuZXcgQVBJIHRlc3RzIHRoYXQgZW5hYmxlIHRoZSBmZWF0dXJlIGZsYWcgYW5kIGV4ZXJj
aXNlIHRoZSBBUEkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9Db29raWVDb25zZW50Lm1tOiBBZGRlZC4KKyAgICAgICAgKC1bQ29va2llQ29uc2VudERl
bGVnYXRlIF93ZWJWaWV3OnJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjpk
ZWNpc2lvbkhhbmRsZXI6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpjcmVhdGVXZWJWaWV3
Rm9yVGVzdGluZ0Nvb2tpZUNvbnNlbnQpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6Y2hlY2tG
b3JTdHJpbmcpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbDogQWRkZWQu
CisKIDIwMjEtMTItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBoZWxwZXIgbWV0aG9kcyB0byBgV2ViQ29yZTo6Rm9udFNoYWRvd2AgZm9yIHNlcmlh
bGl6aW5nIHRvIENTUyBhbmQgY29udmVydGluZyB0byBgTlNTaGFkb3dgCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDlmNDg3M2RkYzQ2MTk0YTAwMWZkNjA5NDQxNjBmYzA4ZjgyOTYzOWUuLjdm
NjkxNTUzZTNlNDMzZDIyNWYzMzQzYTYxN2Y1MGQ0NjllZjgyODUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC05OTcsNiArOTk3LDggQEAKIAkJRjQwMTBCODAyNERBMjRBQzAwQTg3NkUyIC8q
IE5hdmlnYXRpb25Td2lwZVRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjQwMTBCN0YyNERBMjRBQzAwQTg3NkUyIC8qIE5hdmlnYXRpb25Td2lw
ZVRlc3RzLm1tICovOyB9OwogCQlGNDAxMEI4MzI0REEyNjdGMDBBODc2RTIgLyogUG9zZUFzQ2xh
c3MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAx
MEI4MTI0REEyNjdGMDBBODc2RTIgLyogUG9zZUFzQ2xhc3MubW0gKi87IH07CiAJCUY0MDJGNTZD
MjNFQ0MyRkIwMDg2NTU0OSAvKiBVSVdLSW50ZXJhY3Rpb25WaWV3UHJvdG9jb2wubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAyRjU2QjIzRUNDMkZC
MDA4NjU1NDkgLyogVUlXS0ludGVyYWN0aW9uVmlld1Byb3RvY29sLm1tICovOyB9OworCQlGNDAz
NEZBMTI3NUQ1NDAyMDAzQTgxRjggLyogQ29va2llQ29uc2VudC5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDM0RkEwMjc1RDU0MDIwMDNBODFGOCAv
KiBDb29raWVDb25zZW50Lm1tICovOyB9OworCQlGNDAzNEZBMzI3NUQ1QUM2MDAzQTgxRjggLyog
Y29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEZBMjI3NUQ1NDQ5MDAzQTgxRjggLyogY29va2ll
LWNvbnNlbnQtYmFzaWMuaHRtbCAqLzsgfTsKIAkJRjQwN0ZFMzkxRjFEMERGQzAwMTdDRjI1IC8q
IGVub3Jtb3VzLnN2ZyBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNDA3RkUzODFGMUQwREU2MDAxN0NGMjUgLyogZW5vcm1vdXMuc3ZnICovOyB9
OwogCQlGNDA5NENDNzI1NTQ1QkQ1MDAzRDczRTMgLyogRGlzcGxheUxpc3RUZXN0cy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDA5NENDNjI1NTQ1
QkQ1MDAzRDczRTMgLyogRGlzcGxheUxpc3RUZXN0cy5jcHAgKi87IH07CiAJCUY0MTUwODZEMURB
MDQwQzUwMDQ0QkU5QiAvKiBwbGF5LWF1ZGlvLW9uLWNsaWNrLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQxNTA4NkMxREEwNDBDMTAw
NDRCRTlCIC8qIHBsYXktYXVkaW8tb24tY2xpY2suaHRtbCAqLzsgfTsKQEAgLTEyNjUsNiArMTI2
Nyw3IEBACiAJCQkJQTEzRDFBRDYyNEFENDY4RjAwM0Y5MkE4IC8qIGNvbnRleHQtbWVudS1jb250
cm9sLWNsaWNrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTE0MkIyNzMxNTE3QzhD
ODAwQzMyQjE5IC8qIENvbnRleHRNZW51Q2FuQ29weVVSTC5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovLAogCQkJCUNEMEJEMEE4MUY3OTk4MkQwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dpdGhW
aWRlby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJCUY0MDM0RkEzMjc1RDVBQzYwMDNB
ODFGOCAvKiBjb29raWUtY29uc2VudC1iYXNpYy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAog
CQkJCTVDMjkzNjk2MUQ1QzAwRUQwMERFQUIxRSAvKiBDb29raWVNZXNzYWdlLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8sCiAJCQkJOUIxRjZGNzkxRjkwNTU5RTAwQjU1NzQ0IC8qIGNvcHktaHRt
bC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTlCNjI2MzBDMUY4QzI1QzgwMDdFRTI5
QiAvKiBjb3B5LXVybC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMjkyNSw2ICsyOTI4
LDggQEAKIAkJRjQwMTBCODEyNERBMjY3RjAwQTg3NkUyIC8qIFBvc2VBc0NsYXNzLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gUG9zZUFzQ2xhc3MubW07IHBhdGgg
PSAuLi9UZXN0UnVubmVyU2hhcmVkL2NvY29hL1Bvc2VBc0NsYXNzLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGNDAxMEI4MjI0REEyNjdGMDBBODc2RTIgLyogUG9zZUFzQ2xhc3Mu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUG9zZUFzQ2xhc3MuaDsgcGF0aCA9
IC4uL1Rlc3RSdW5uZXJTaGFyZWQvY29jb2EvUG9zZUFzQ2xhc3MuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjQwMkY1NkIyM0VDQzJGQjAwODY1NTQ5IC8qIFVJV0tJbnRlcmFjdGlv
blZpZXdQcm90b2NvbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVJV0tJbnRlcmFjdGlvblZp
ZXdQcm90b2NvbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRGQTAyNzVE
NTQwMjAwM0E4MUY4IC8qIENvb2tpZUNvbnNlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBD
b29raWVDb25zZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDAzNEZBMjI3
NUQ1NDQ5MDAzQTgxRjggLyogY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJj
b29raWUtY29uc2VudC1iYXNpYy5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjQwN0ZFMzgxRjFEMERFNjAwMTdDRjI1IC8qIGVub3Jtb3VzLnN2ZyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBlbm9ybW91cy5z
dmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MDk0Q0M2MjU1NDVCRDUwMDNENzNF
MyAvKiBEaXNwbGF5TGlzdFRlc3RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlMaXN0
VGVzdHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDEwNkM2ODIxQUNCRjg0
MDA0Qjg5QTEgLyogV0tXZWJWaWV3Rmlyc3RSZXNwb25kZXJUZXN0cy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdLV2ViVmlld0ZpcnN0UmVzcG9uZGVyVGVzdHMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0zMjcyLDYgKzMyNzcsNyBAQAogCQkJCUMxRjdCNzM4MjQ0OTA4M0Yw
MDEyNDU1NyAvKiBBR1hDb21waWxlclNlcnZpY2UubW0gKi8sCiAJCQkJQzE1Q0JCMkYyM0YxRkYx
QTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovLAogCQkJCUMxNjky
REM5MjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovLAorCQkJCUY0MDM0RkEwMjc1RDU0
MDIwMDNBODFGOCAvKiBDb29raWVDb25zZW50Lm1tICovLAogCQkJCUMxM0Q4MkQ4MjQxNkYxMzIw
MEE2Mjc5MyAvKiBFbmFibGVBY2Nlc3NpYmlsaXR5Lm1tICovLAogCQkJCTFDODE4MDI2MjVGQjA5
RTIwMDYwOEIzRSAvKiBGb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gKi8sCiAJCQkJRTM5NEFF
NkUyM0YyMzAzRTAwNUI0OTM2IC8qIEdyYW50QWNjZXNzVG9Nb2JpbGVBc3NldHMubW0gKi8sCkBA
IC00NTk0LDYgKzQ2MDAsNyBAQAogCQkJCTFBNTBBQTFGMUEyQTRFQTUwMEY0QzM0NSAvKiBjbG9z
ZS1mcm9tLXdpdGhpbi1jcmVhdGUtcGFnZS5odG1sICovLAogCQkJCTlCMjcwRkVEMUREQzI1RkQw
MDJENTNGMyAvKiBjbG9zZWQtc2hhZG93LXRyZWUtdGVzdC5odG1sICovLAogCQkJCTVDOUU1Njg2
MURGOTE0OEUwMEM5RUUzMyAvKiBjb250ZW50QmxvY2tlckNoZWNrLmh0bWwgKi8sCisJCQkJRjQw
MzRGQTIyNzVENTQ0OTAwM0E4MUY4IC8qIGNvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwgKi8sCiAJ
CQkJMkRERDREQTMyNzBCOEIzMzAwNjU5QTYxIC8qIGN1YmUudXNkeiAqLywKIAkJCQkyOTBGNDI3
NDE3MkExRkRFMDA5MzlGRjAgLyogY3VzdG9tLXByb3RvY29sLXN5bmMteGhyLmh0bWwgKi8sCiAJ
CQkJMTE4MTUzNDMyMjA4QjdBQzAwQjJDQ0QyIC8qIGRlZmVycmVkLXNjcmlwdC1sb2FkLmh0bWwg
Ki8sCkBAIC01NDA4LDYgKzU0MTUsNyBAQAogCQkJCTgzNDlEM0MyMURCOTZEREUwMDRBOUY2NSAv
KiBDb250ZXh0TWVudURvd25sb2FkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QwQkQwQTYxRjc5
OTI0RDAwMUFCMkNGIC8qIENvbnRleHRNZW51SW1nV2l0aFZpZGVvLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTFDMTQyQzIyNEFBN0IyRTAwNDQ0MjA3IC8qIENvbnRleHRNZW51TW91c2VFdmVudHMu
bW0gaW4gU291cmNlcyAqLywKKwkJCQlGNDAzNEZBMTI3NUQ1NDAyMDAzQTgxRjggLyogQ29va2ll
Q29uc2VudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUFDMUE0MTFBMzQwMDQ0N0M0QyAv
KiBDb3VudGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUVBRDQ3RjFFMjAxMTZDMDA0MTZF
RkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0NDRTdFREIxQTQxMUE5MjAwNDQ3QzRDIC8qIENTU1BhcnNlci5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Nvb2tpZUNv
bnNlbnQubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Db29raWVDb25zZW50
Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJkYTBkZTkwZWM3ZDIyZjc0MDI5NmJkYTM4MWVmMTQ3ZWIxZDg1NWUK
LS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Db29r
aWVDb25zZW50Lm1tCkBAIC0wLDAgKzEsMTAyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29u
ZmlnLmgiCisKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdFByaXZhdGUuaD4KKyNp
bXBvcnQgPFdlYktpdC9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oPgorCitAaW50ZXJmYWNlIENv
b2tpZUNvbnNlbnREZWxlZ2F0ZSA6IE5TT2JqZWN0PFdLVUlEZWxlZ2F0ZVByaXZhdGU+CitAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBkZWNpc2lvbjsKK0BlbmQKKworQGltcGxlbWVudGF0aW9u
IENvb2tpZUNvbnNlbnREZWxlZ2F0ZQorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IHJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjoodm9pZCAoXiko
dm9pZCkpbW9yZUluZm9IYW5kbGVyIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpZGVj
aXNpb25IYW5kbGVyCit7CisgICAgZGVjaXNpb25IYW5kbGVyKHNlbGYuZGVjaXNpb24pOworfQor
CitAZW5kCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworc3RhdGljIFJldGFpblB0cjxU
ZXN0V0tXZWJWaWV3PiBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ0Nvb2tpZUNvbnNlbnQoKQorewor
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9u
IGFsbG9jXSBpbml0XSk7CisgICAgZm9yIChfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqZmVhdHVy
ZSBpbiBXS1ByZWZlcmVuY2VzLl9pbnRlcm5hbERlYnVnRmVhdHVyZXMpIHsKKyAgICAgICAgaWYg
KFtmZWF0dXJlLmtleSBpc0VxdWFsVG9TdHJpbmc6QCJDb29raWVDb25zZW50QVBJRW5hYmxlZCJd
KSB7CisgICAgICAgICAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVk
OllFUyBmb3JJbnRlcm5hbERlYnVnRmVhdHVyZTpmZWF0dXJlXTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDQwMCwgNDAwKSBjb25maWd1cmF0
aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tGb3JTdHJp
bmcoVGVzdFdLV2ViVmlldyAqd2ViVmlldywgTlNTdHJpbmcgKmV4cGVjdGVkU3RyaW5nKQorewor
ICAgIGF1dG8gY29udGVudHNBc1N0cmluZyA9IFJldGFpblB0ciB7IHdlYlZpZXcuY29udGVudHNB
c1N0cmluZyB9OworICAgIEJPT0wgY29udGFpbnNTdHJpbmcgPSBbY29udGVudHNBc1N0cmluZyBj
b250YWluc1N0cmluZzpleHBlY3RlZFN0cmluZ107CisgICAgRVhQRUNUX1RSVUUoY29udGFpbnNT
dHJpbmcpOworICAgIGlmICghY29udGFpbnNTdHJpbmcpCisgICAgICAgIE5TTG9nKEAiRXhwZWN0
ZWQ6IFwiJUBcIiB0byBjb250YWluOiBcIiVAXCIiLCBjb250ZW50c0FzU3RyaW5nLmdldCgpLCBl
eHBlY3RlZFN0cmluZyk7Cit9CisKK1RFU1QoQ29va2llQ29uc2VudCwgQmFzaWNEZWNpc2lvbkhh
bmRsZXIpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gY3JlYXRlV2ViVmlld0ZvclRlc3RpbmdDb29r
aWVDb25zZW50KCk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tDb29raWVDb25zZW50
RGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbZGVsZWdhdGUgc2V0RGVjaXNpb246WUVTXTsK
KyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmll
dyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJjb29raWUtY29uc2VudC1iYXNpYyJd
OworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBjaGVj
a0ZvclN0cmluZyh3ZWJWaWV3LmdldCgpLCBAInJldHVybmVkOiB0cnVlIik7CisKKyAgICBbZGVs
ZWdhdGUgc2V0RGVjaXNpb246Tk9dOworICAgIFt3ZWJWaWV3IF9raWxsV2ViQ29udGVudFByb2Nl
c3NBbmRSZXNldFN0YXRlXTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdl
TmFtZWQ6QCJjb29raWUtY29uc2VudC1iYXNpYyJdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0
UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBjaGVja0ZvclN0cmluZyh3ZWJWaWV3LmdldCgpLCBA
InJldHVybmVkOiBmYWxzZSIpOworfQorCitURVNUKENvb2tpZUNvbnNlbnQsIE5vdEVuYWJsZWQp
Cit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA0MDAsIDQwMCldKTsKKyAgICBbd2ViVmlldyBz
eW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJjb29raWUtY29uc2VudC1iYXNpYyJdOwor
ICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBjaGVja0Zv
clN0cmluZyh3ZWJWaWV3LmdldCgpLCBAIm5vdCBlbmFibGVkIik7Cit9CisKK1RFU1QoQ29va2ll
Q29uc2VudCwgVGhyb3dzRXhjZXB0aW9uV2l0aG91dERlbGVnYXRlKQoreworICAgIGF1dG8gd2Vi
VmlldyA9IGNyZWF0ZVdlYlZpZXdGb3JUZXN0aW5nQ29va2llQ29uc2VudCgpOworICAgIFt3ZWJW
aWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImNvb2tpZS1jb25zZW50LWJhc2lj
Il07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworICAgIGNo
ZWNrRm9yU3RyaW5nKHdlYlZpZXcuZ2V0KCksIEAidGhyZXcgZXhjZXB0aW9uOiBOb3RTdXBwb3J0
ZWRFcnJvcjogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIik7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L2Nvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9jb29raWUtY29uc2VudC1iYXNpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2YTgz
YWM0MzRhMmFjN2QwNTFmMWI1ZjZkM2E3MWMyZjEyZGFiZDMKLS0tIC9kZXYvbnVsbAorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9jb29raWUtY29uc2VudC1iYXNpYy5odG1s
CkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8aGVhZD4KKzxzY3JpcHQ+CithZGRFdmVudExpc3RlbmVy
KCJET01Db250ZW50TG9hZGVkIiwgYXN5bmMgKCkgPT4geworICAgIGNvbnN0IG91dHB1dCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTsKKyAgICBpZiAoIW5hdmlnYXRvci5yZXF1
ZXN0Q29va2llQ29uc2VudCkgeworICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAibm90IGVu
YWJsZWQiOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgbGV0
IGNvbnNlbnQgPSBhd2FpdCBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKTsKKyAgICAg
ICAgb3V0cHV0LnRleHRDb250ZW50ID0gYHJldHVybmVkOiAke2NvbnNlbnR9YDsKKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICAgIG91dHB1dC50ZXh0Q29udGVudCA9IGB0aHJldyBleGNlcHRpb246
ICR7ZX1gOworICAgIH0KK30pOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwcmU+bmF2
aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50KCk8L3ByZT4KKzxwcmU+4oaqJm5ic3A7PGNvZGUg
aWQ9Im91dHB1dCI+PC9jb2RlPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="471628"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446271</attachid>
            <date>2021-12-07 17:57:42 -0800</date>
            <delta_ts>2021-12-07 20:46:14 -0800</delta_ts>
            <desc>Fix Windows build</desc>
            <filename>bug-233890-20211207175741.patch</filename>
            <type>text/plain</type>
            <size>65136</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGIxZmZjY2Q1MDFlNzM3OThkZWMzMGM5
MDVkZDAzZTM5NjhiZTU2NTkuLjc0NmUzYzNkNWM5ODBkMTNhYjNiNTc1YzU4MTBkODEzN2FkMThk
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3Iu
cmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAg
ICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmVhdHVyZSBmbGFnIChvZmYgYnkgZGVmYXVsdCkuIE5v
dGUgdGhhdCB0aGlzIGlzIGFsc28gb25seSBhbiBpbnRlcm5hbCBmZWF0dXJlIGZsYWcgZm9yIHRo
ZSB0aW1lCisgICAgICAgIGJlaW5nIChyYXRoZXIgdGhhbiBhbiBleHBlcmltZW50YWwgZmVhdHVy
ZSBmbGFnKSwgc3VjaCB0aGF0IGl0IGNhbm5vdCAoeWV0KSBiZSB0dXJuZWQgb24gYnkgbm9uLUFw
cGxlIGludGVybmFsCisgICAgICAgIHVzZXJzLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWw6CisKIDIwMjEtMTItMDcgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgRmV0Y2ggYW5kIHJlbW92ZSBmaWxl
IHN5c3RlbSBkYXRhIHZpYSBXS1dlYnNpdGVEYXRhU3RvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzZmMwMWNl
ZjFkNjg4MGIzZDg0NWZjNDE4NzA5MzRjMTBhNTEzOTVlLi43ZmQwNDFhMDIwYzZkODFlZGI4NzI2
ZjVmYTQyNWZkZDUxMDRmMjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMjEtMTIt
MDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEg
ZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIHN1cHBv
cnQgYSBuZXcgKGludGVybmFsLWZvci10aGUtdGltZS1iZWluZykgbmF2aWdhdG9yIEFQSSwgYHJl
cXVlc3RDb29raWVDb25zZW50KClgLiBUaGlzCisgICAgICAgIHJldHVybnMgYSBwcm9taXNlIGlu
ZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIHVzZXIgKG9yIHRoZSBVQSwgb24gYmVoYWxmIG9m
IHRoZSB1c2VyKSBjb25zZW50cyB0byB1c2FnZSBvZgorICAgICAgICBjb29raWVzIHRoYXQgYXJl
IG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgZm9yIHBhZ2UgcGVyZm9ybWFuY2UuCisKKyAgICAgICAg
UGFpcmVkIHdpdGggdGhpcyB3ZWItZmFjaW5nIEFQSSwgd2UgYWxzbyBpbnRyb2R1Y2UgY29ycmVz
cG9uZGluZyBwcml2YXRlIFdLVUlEZWxlZ2F0ZSBtZXRob2RzIHRoYXQgYXJlIGludm9rZWQKKyAg
ICAgICAgYXMgYSByZXN1bHQgb2YgY2FsbGluZyBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25z
ZW50KCk7YCwgd2hpY2ggYSBXZWJLaXQgZW1iZWRkZXIgbWF5IGltcGxlbWVudCBpbiBvcmRlciB0
bworICAgICAgICBwcmVzZW50IFVJIG9yIG90aGVyd2lzZSByZXNwb25kIGFwcHJvcHJpYXRlbHkg
dG8gdGhlIHJlcXVlc3QuIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisK
KyAgICAgICAgVGVzdHM6ICBDb29raWVDb25zZW50LkJhc2ljRGVjaXNpb25IYW5kbGVyCisgICAg
ICAgICAgICAgICAgQ29va2llQ29uc2VudC5Ob3RFbmFibGVkCisgICAgICAgICAgICAgICAgQ29v
a2llQ29uc2VudC5UaHJvd3NFeGNlcHRpb25XaXRob3V0RGVsZWdhdGUKKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAq
IE1vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0Lmg6IEFk
ZGVkLgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNv
bnNlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmln
YXRvckNvb2tpZUNvbnNlbnQuY3BwOiBBZGRlZC4KKworICAgICAgICBBZGQgYSBuZXcgcGFydGlh
bCBpbnRlcmZhY2Ugb24gTmF2aWdhdG9yIHRoYXQgaW1wbGVtZW50cyB0aGUgbmV3IEFQSSBieSBj
YWxsaW5nIGludG8gdGhlIGNocm9tZSBjbGllbnQgaG9vayAoc2VlCisgICAgICAgIFdlYktpdCBj
aGFuZ2VzIGZvciBtb3JlIGRldGFpbHMpLiBOb3RlIHRoYXQgaW4gdGhlIGNhc2Ugd2hlcmUgdGhl
IGNvbnNlbnQgZGVsZWdhdGUgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBieQorICAgICAgICB0
aGUgY2xpZW50LCB3ZSB3aWxsIHJlamVjdCB0aGUgcHJvbWlzZSB3aXRoIGEgYE5vdFN1cHBvcnRl
ZEVycm9yYC4KKworICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29va2llQ29uc2VudDo6cmVx
dWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29va2llQ29u
c2VudDo6ZnJvbSk6CisgICAgICAgICogTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JD
b29raWVDb25zZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVxdWVzdENvb2tpZUNv
bnNlbnRPcHRpb25zOjpSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMpOgorICAgICAgICAqIE1v
ZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRP
cHRpb25zLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL1dv
cmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9m
aWxlc3lzdGVtYWNjZXNzL1dvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5oOgorCisg
ICAgICAgIEFkZCBzb21lIG1pc3NpbmcgaW5jbHVkZXMgdG8gZml4IHRoZSB1bmlmaWVkIHNvdXJj
ZSBidWlsZCBvbiBXaW5kb3dzLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGxvYWRlci9FbXB0
eUNsaWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OnJlcXVl
c3RDb29raWVDb25zZW50KToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKwogMjAyMS0xMi0wNyAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgYERPTVBhc3RlQWNjZXNzQ2F0ZWdv
cnlgIHRvIGNvbnRyb2wgd2hpY2ggcGFzdGVib2FyZCB0aGUgV2ViUHJvY2VzcyBpcyBncmFudGVk
IGFjY2VzcyB0byB3aGVuIHBhc3RpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYmYxMTcxZWE5ZGU5YzQxNThiNmE1
YTVlYTdmODhiZTVmNGM0YzEwOS4uYWQ3NTEwMTFhM2QxOTEyNjQzZGZmZGJmMzVmMDkxZmU2ZmZm
ZjlhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAyMS0xMi0wNyAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgYG5h
dmlnYXRvci5yZXF1ZXN0Q29va2llQ29uc2VudCgpYCBiZWhpbmQgYSBkaXNhYmxlZCBmZWF0dXJl
IGZsYWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
Mzg5MAorICAgICAgICByZGFyOi8vODYxMTc3MTgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICBBZGQgcGx1bWJpbmcgZm9yIGFuIGFzeW5jIGByZXF1ZXN0Q29v
a2llQ29uc2VudCgpYCBtZXRob2Qgb24gQ2hyb21lQ2xpZW50IHRoYXQgcGx1bWJzIHRocm91Z2gg
dGhlIFdlYktpdDIgY2xpZW50CisgICAgICAgIGxheWVyLCBpbnRvIGEgbmV3IHByaXZhdGUgKGZv
ciB0aGUgdGltZSBiZWluZykgVUkgZGVsZWdhdGUgbWV0aG9kLiBJZiB0aGUgbmV3IGRlbGVnYXRl
IG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQKKyAgICAgICAgKG9yIHRoZXJlIGlzIG5vIFVJIGRl
bGVnYXRlIGF0IGFsbCksIHdlIGltbWVkaWF0ZWx5IGludm9rZSB0aGUgZGVjaXNpb24gaGFuZGxl
ciB3aXRoIGEgcmVzdWx0IG9mIGBOb3RTdXBwb3J0ZWRgLAorICAgICAgICBhbGxvd2luZyB1cyB0
byByZWplY3QgdGhlIHByb21pc2Ugd2l0aCBhIGBOb3RTdXBwb3J0ZWRFcnJvcmAuCisKKyAgICAg
ICAgU2VlIFdlYkNvcmUgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpyZXF1
ZXN0Q29va2llQ29uc2VudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVs
ZWdhdGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktp
dDo6VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRl
OjpVSUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RD
b29raWVDb25zZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkNocm9tZUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMjEtMTItMDcg
IERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGBET01Q
YXN0ZUFjY2Vzc0NhdGVnb3J5YCB0byBjb250cm9sIHdoaWNoIHBhc3RlYm9hcmQgdGhlIFdlYlBy
b2Nlc3MgaXMgZ3JhbnRlZCBhY2Nlc3MgdG8gd2hlbiBwYXN0aW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKaW5kZXggNmZkMDM1YTEwODIxMWQxNmM3N2UzNmJkNDA5ZGRkODU2Y2FiNTM5MC4u
NDY4Mzk3Njc4NjIwNGNmYjg5Y2I1YTNkYjkwNzNhYzg0NzQ2ZDEzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEyLTA3ICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBgbmF2
aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50KClgIGJlaGluZCBhIGRpc2FibGVkIGZlYXR1cmUg
ZmxhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
ODkwCisgICAgICAgIHJkYXI6Ly84NjExNzcxOAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIEFkZCBhbiBpbXBsZW1lbnRhdGlvbiBzdHViIGZvciB0aGUgbmV3
IGNocm9tZSBjbGllbnQgaG9vaywgYHJlcXVlc3RDb29raWVDb25zZW50KClgLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpyZXF1
ZXN0Q29va2llQ29uc2VudCk6CisKIDIwMjEtMTItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29A
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGBET01QYXN0ZUFjY2Vzc0NhdGVnb3J5YCB0byBj
b250cm9sIHdoaWNoIHBhc3RlYm9hcmQgdGhlIFdlYlByb2Nlc3MgaXMgZ3JhbnRlZCBhY2Nlc3Mg
dG8gd2hlbiBwYXN0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggZDA3MWE3MjVk
NWNhODk1OWQyMWYwMDNlMzBmODkwM2U2YzIzZmQ3Zi4uOWE2MzI0NzNiMmJmMGUxOTMzYzdmMzM3
OTZmYWRiNzFhYTJmNDQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDIxLTEyLTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25z
ZW50KClgIGJlaGluZCBhIGRpc2FibGVkIGZlYXR1cmUgZmxhZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODkwCisgICAgICAgIHJkYXI6Ly84NjEx
NzcxOAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBh
biBpbXBsZW1lbnRhdGlvbiBzdHViIGZvciB0aGUgbmV3IGNocm9tZSBjbGllbnQgaG9vaywgYHJl
cXVlc3RDb29raWVDb25zZW50KClgLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6cmVxdWVzdENvb2tpZUNv
bnNlbnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDIxLTEyLTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgYSBgRE9NUGFzdGVBY2Nlc3NDYXRlZ29yeWAgdG8gY29udHJvbCB3aGljaCBwYXN0ZWJvYXJk
IHRoZSBXZWJQcm9jZXNzIGlzIGdyYW50ZWQgYWNjZXNzIHRvIHdoZW4gcGFzdGluZwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJu
YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0lu
dGVybmFsLnlhbWwKaW5kZXggMDNiYjRhZTMwMWU1OWVhZmE3ZDJiNTZiYmZiMGE1MzlhODMwMDhj
NS4uZTFiYWZmYzM3ODQyOGRhYWZhZjJhOGEyNTljNzVjNWIxMmMxZmNjNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFt
bAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNJbnRl
cm5hbC55YW1sCkBAIC0xNzYsNiArMTc2LDE5IEBAIENhcHR1cmVWaWRlb0luVUlQcm9jZXNzRW5h
YmxlZDoKICAgICBXZWJLaXQ6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitDb29raWVDb25zZW50
QVBJRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIkNvb2tpZSBD
b25zZW50IEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIGNvb2tpZSBj
b25zZW50IEFQSSIKKyAgZXhwb3NlZDogWyBXZWJLaXQgXQorICBkZWZhdWx0VmFsdWU6CisgICAg
V2ViQ29yZToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0TGVnYWN5OgorICAgICAg
ZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBET01Q
YXN0ZUFjY2Vzc1JlcXVlc3RzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxl
TmFtZTogIkRPTSBQYXN0ZSBBY2Nlc3MgUmVxdWVzdHMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IDc2MjQzMjRkOTVkNjk0MTlmYzAzMmM3ODZmZmJiMzdjNzY3YWExMmMuLmQ0NDlkZThiMDBhYjU0
N2U2OGM4NThlZmVkY2JhNTMwYTk1YTBlMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNyw2
ICsyNyw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL2JlYWNvbiIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxl
cy9jYWNoZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9jb250YWN0LXBpY2tlciIKKyAg
ICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9jb29raWUtY29uc2VudCIKICAgICAiJHtXRUJDT1JF
X0RJUn0vTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudCIKICAgICAiJHtXRUJDT1JFX0RJUn0v
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9sZWdhY3kiCkBAIC0yNTYsNiArMjU3LDkgQEAgc2V0KFdlYkNvcmVfTk9OX1NW
R19JRExfRklMRVMKICAgICBNb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzU2VsZWN0T3B0
aW9ucy5pZGwKICAgICBNb2R1bGVzL2NvbnRhY3QtcGlja2VyL05hdmlnYXRvcitDb250YWN0cy5p
ZGwKIAorICAgIE1vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQu
aWRsCisgICAgTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlv
bnMuaWRsCisKICAgICBNb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0Jhc2ljQ3JlZGVudGlh
bC5pZGwKICAgICBNb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVhdGlv
bk9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAppbmRleCA0ZmY4ZTNmMjBiMmNiY2YxNzg2YWU4ODMxN2I1MWFhZDc2M2Fh
NzM3Li5lY2Q3YWU1OGQ3MTAxYTM4NjU2M2NlMmZjMjM5NWRhNjRlNzEzYzUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTIzMiw2ICsy
MzIsOCBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RQcm9w
ZXJ0eS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNN
YW5hZ2VyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0
c1NlbGVjdE9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NvbnRhY3QtcGlja2Vy
L05hdmlnYXRvcitDb250YWN0cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY29va2llLWNv
bnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L2Nvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50aWFsLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3Jl
YXRpb25PcHRpb25zLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdl
bWVudC9DcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGQyN2Y2ZTQ2NjBlYjZiYjhkNWQ4
ZDA0MGUxNmM3MWNkNzljOTYyZDEuLjk5NmNiZGUyMTE2ZWVlMjI4ODQ4NDhlMTRlMWU1ODE2YTgx
N2RmM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0CkBAIC0xNjQ3LDYgKzE2NDcsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitDbGlwYm9hcmQuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitDbGlwYm9hcmQuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3Ir
Q29udGFjdHMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRvcitDb250YWN0cy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitDb29raWVDb25zZW50LmNwcAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrQ29va2llQ29uc2Vu
dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvcitDcmVkZW50aWFscy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTmF2aWdhdG9yK0NyZWRlbnRpYWxzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK0VNRS5jcHAKQEAgLTIwODksNiAr
MjA5MSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UmVtb3RlUGxheWJhY2tBdmFpbGFiaWxpdHlDYWxsYmFjCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5Q2FsbGJh
Y2suaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXF1ZXN0Q29va2ll
Q29uc2VudE9wdGlvbnMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Jlc2l6ZU9ic2VydmVyLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZXNpemVPYnNlcnZlci5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Jlc2l6ZU9i
c2VydmVyQm94T3B0aW9ucy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGE0
ZmY0NTFmMmYxMzBkYzZlMTI3NmE2NTFjM2ZiN2E5MTIyOTk5ZmQuLjMzYmQ2ZTAwZGM4YjYyZjFk
YTFjMGM5NTBjYjkyOGIyODdhNmZmMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMjU0LDYgKzI1NCw4IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdlci5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c1NlbGVjdE9wdGlvbnMuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvY29udGFjdC1waWNrZXIvTmF2aWdhdG9yK0NvbnRhY3RzLmlk
bCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvcitDb29r
aWVDb25zZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L1Jl
cXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9j
cmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50
aWFsUmVxdWVzdE9wdGlvbnMuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDUxZGY1YzMwYWI5
ZmRjNDU3YzhlMGRiOWQ2ZGNiYjY3YjNmNThmYjEuLjc5NjM2YmRkODg2NThlNmFjYWZhOTBlMzE1
NWE2OTk2OWRlZjc0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTUzLDYgKzE1Myw4IEBAIHNl
dChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1bGVzL2NvbnRhY3Qt
cGlja2VyL0NvbnRhY3RQcm9wZXJ0eS5oCiAgICAgTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250
YWN0c1JlcXVlc3REYXRhLmgKIAorICAgIE1vZHVsZXMvY29va2llLWNvbnNlbnQvQ29va2llQ29u
c2VudERlY2lzaW9uUmVzdWx0LmgKKwogICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNQ2xp
ZW50LmgKICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ2xpZW50LmgK
ICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29udHJvbGxlci5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L0Nvb2tpZUNv
bnNlbnREZWNpc2lvblJlc3VsdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29u
c2VudC9Db29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzM2NDEyODFj
ZGJmMTYzZTcyMDQxMWM4YzQzYjY2NWJiMDZlMDNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9Db29raWVDb25zZW50RGVjaXNpb25SZXN1
bHQuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlIDx3dGYvRW51bVRyYWl0cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xh
c3MgQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0IDogdWludDhfdCB7CisgICAgTm90U3VwcG9y
dGVkLAorICAgIENvbnNlbnQsCisgICAgRGlzc2VudCwKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8
V2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0PiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICBXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQs
CisgICAgV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQs
CisgICAgV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpDb25zZW50LAorICAg
IFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6RGlzc2VudAorICAgID47Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3IrQ29va2llQ29uc2VudC5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTUyOTBjNWZkZTg1OTM4YzM4ZjA4YzA1MDYyMjdmYjk3NjhkYTUzMAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2
aWdhdG9yK0Nvb2tpZUNvbnNlbnQuaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitb
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1Db29raWVDb25zZW50QVBJRW5hYmxlZCwKKyAgICBJbXBs
ZW1lbnRlZEJ5PU5hdmlnYXRvckNvb2tpZUNvbnNlbnQsCitdIHBhcnRpYWwgaW50ZXJmYWNlIE5h
dmlnYXRvciB7CisgICAgUHJvbWlzZTxib29sZWFuPiByZXF1ZXN0Q29va2llQ29uc2VudChvcHRp
b25hbCBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMgb3B0aW9ucyk7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9OYXZpZ2F0b3JDb29raWVD
b25zZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvTmF2aWdh
dG9yQ29va2llQ29uc2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZkMGYxYTVjZmViMjE5YTc2ZjA3MWU2
YTIxNjhmNWFkYjU3NmEwMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY29va2llLWNvbnNlbnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAKQEAgLTAsMCArMSw4
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0
b3JDb29raWVDb25zZW50LmgiCisKKyNpbmNsdWRlICJDaHJvbWUuaCIKKyNpbmNsdWRlICJDaHJv
bWVDbGllbnQuaCIKKyNpbmNsdWRlICJDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCIKKyNp
bmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKKyNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAi
UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
dm9pZCBOYXZpZ2F0b3JDb29raWVDb25zZW50OjpyZXF1ZXN0Q29va2llQ29uc2VudChOYXZpZ2F0
b3ImIG5hdmlnYXRvciwgc3RkOjpvcHRpb25hbDxSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnM+
JiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIGZyb20o
bmF2aWdhdG9yKS5yZXF1ZXN0Q29va2llQ29uc2VudChXVEZNb3ZlKG9wdGlvbnMpLCBXVEZNb3Zl
KHByb21pc2UpKTsKK30KKwordm9pZCBOYXZpZ2F0b3JDb29raWVDb25zZW50OjpyZXF1ZXN0Q29v
a2llQ29uc2VudChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucz4mJiBv
cHRpb25zLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7CisgICAgLy8gRklYTUU6
IFN1cHBvcnQgdGhlICdNb3JlIGluZm8nIG9wdGlvbi4KKyAgICBVTlVTRURfUEFSQU0ob3B0aW9u
cyk7CisKKyAgICBSZWZQdHIgZnJhbWUgPSBtX25hdmlnYXRvci5mcmFtZSgpOworICAgIGlmICgh
ZnJhbWUgfHwgIWZyYW1lLT5pc01haW5GcmFtZSgpIHx8ICFmcmFtZS0+cGFnZSgpKSB7CisgICAg
ICAgIHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgZnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkucmVxdWVzdENvb2tp
ZUNvbnNlbnQoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoQ29va2llQ29uc2VudERlY2lz
aW9uUmVzdWx0IHJlc3VsdCkgeworICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICBj
YXNlIENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkOgorICAgICAgICAg
ICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Q29uc2VudDoKKyAg
ICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMQm9vbGVhbj4odHJ1ZSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6OkRpc3Nl
bnQ6CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETEJvb2xlYW4+KGZhbHNlKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfSk7Cit9CisKK05hdmlnYXRvckNvb2tp
ZUNvbnNlbnQmIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQ6OmZyb20oTmF2aWdhdG9yJiBuYXZpZ2F0
b3IpCit7CisgICAgaWYgKGF1dG8gc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PE5hdmlnYXRvckNv
b2tpZUNvbnNlbnQqPihTdXBwbGVtZW50PE5hdmlnYXRvcj46OmZyb20oJm5hdmlnYXRvciwgc3Vw
cGxlbWVudE5hbWUoKSkpKQorICAgICAgICByZXR1cm4gKnN1cHBsZW1lbnQ7CisKKyAgICBhdXRv
IG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPE5hdmlnYXRvckNvb2tpZUNvbnNlbnQ+KG5hdmln
YXRvcik7CisgICAgYXV0byBzdXBwbGVtZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKKyAgICBw
cm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVt
ZW50KSk7CisgICAgcmV0dXJuICpzdXBwbGVtZW50OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05h
dmlnYXRvckNvb2tpZUNvbnNlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNv
bnNlbnQvTmF2aWdhdG9yQ29va2llQ29uc2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlMjJlY2EyNTQ1MGU1
NzYxZTBlZjU4Y2VmMjRjYmRkY2FiNjEwMTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuaApAQCAt
MCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTdXBw
bGVtZW50YWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0lz
b01hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgRGVmZXJyZWRQcm9taXNlOworY2xhc3MgTmF2aWdhdG9yOworCitzdHJ1
Y3QgUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zOworCitjbGFzcyBOYXZpZ2F0b3JDb29raWVD
b25zZW50IGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnQ8TmF2aWdhdG9yPiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTmF2aWdhdG9yQ29va2ll
Q29uc2VudChOYXZpZ2F0b3ImIG5hdmlnYXRvcikKKyAgICAgICAgOiBtX25hdmlnYXRvcihuYXZp
Z2F0b3IpCisgICAgeworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RDb29raWVDb25z
ZW50KE5hdmlnYXRvciYsIHN0ZDo6b3B0aW9uYWw8UmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25z
PiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMgTmF2
aWdhdG9yQ29va2llQ29uc2VudCYgZnJvbShOYXZpZ2F0b3ImKTsKKyAgICBzdGF0aWMgY29uc3Qg
Y2hhciogc3VwcGxlbWVudE5hbWUoKSB7IHJldHVybiAiTmF2aWdhdG9yQ29va2llQ29uc2VudCI7
IH0KKworICAgIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoc3RkOjpvcHRpb25hbDxSZXF1ZXN0
Q29va2llQ29uc2VudE9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworCisgICAg
TmF2aWdhdG9yJiBtX25hdmlnYXRvcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLWNvbnNlbnQvUmVxdWVzdENv
b2tpZUNvbnNlbnRPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25z
ZW50L1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0Y2VlMzdhOWNm
MDc0MzE2YjVmNmFjNjM1YTVkOTQ2NDQ5MmRmYzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9u
cy5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIlZvaWRDYWxsYmFjay5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBSZXF1
ZXN0Q29va2llQ29uc2VudE9wdGlvbnMgeworICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IG1vcmVJ
bmZvOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtY29uc2VudC9SZXF1ZXN0Q29va2ll
Q29uc2VudE9wdGlvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwYzc1NTY3OTExNDU5NGM0ZGNkMDFmN2Rh
YzYwOTcxYzdkODZmMDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2Nvb2tpZS1jb25zZW50L1JlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGwKQEAgLTAsMCAr
MSwyOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK2RpY3Rpb25hcnkgUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRp
b25zIHsKKyAgICBWb2lkQ2FsbGJhY2s/IG1vcmVJbmZvOworfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFn
ZUNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNz
L1dvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5jcHAKaW5kZXggZjQ3Y2EzZDMzZDk3
YTYzN2Q2ZjdiYTA2Y2JlZTQ1MTdmMTMyMGZiYi4uYjUzNjMyYzMxMjNhMWJmOTVmNzAzMzZjZWI4
NjFiYzY4ZDRkMzE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtYWNjZXNzL1dvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL1dvcmtlckZpbGVTeXN0ZW1TdG9y
YWdlQ29ubmVjdGlvbi5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJXb3JrZXJGaWxlU3lzdGVtU3RvcmFnZUNvbm5lY3Rpb24uaCIKIAorI2luY2x1
ZGUgIkZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFs
U2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtl
clRocmVhZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVt
YWNjZXNzL1dvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL1dvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVj
dGlvbi5oCmluZGV4IDU0YjRiODFmM2E3OTY4Njg5YjdiZGNhYTViZmRkZGQ0MjYyOTE3ZTEuLjk4
MzZiMWU3NGZiYTc2YmU3YTFlMDg4YWRjMGU1MDkzNjcxODM1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9Xb3JrZXJGaWxlU3lzdGVtU3RvcmFn
ZUNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nl
c3MvV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTMyLDYgKzMyLDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRs
ZTsKIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwogY2xhc3MgV29ya2VyVGhyZWFkOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IGVlMDBjOTc1NDZiYWViMTc3MzYzMzMyYjc5NDQ3ZWYxODU5MmEyNzMuLmRl
OTM0M2E0N2Q5YzUzYzk4MjFkOTFmMjJjMWJjM2MxOTllYjk1ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBA
IC02OCw2ICs2OCw3IEBAIE1vZHVsZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlcy5jcHAKIE1vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAK
IE1vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNNYW5hZ2VyLmNwcAogTW9kdWxlcy9jb250
YWN0LXBpY2tlci9OYXZpZ2F0b3JDb250YWN0cy5jcHAKK01vZHVsZXMvY29va2llLWNvbnNlbnQv
TmF2aWdhdG9yQ29va2llQ29uc2VudC5jcHAKIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQv
QmFzaWNDcmVkZW50aWFsLmNwcAogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50
aWFsc0NvbnRhaW5lci5jcHAKIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9y
Q3JlZGVudGlhbHMuY3BwCkBAIC0zNjczLDYgKzM2NzQsNyBAQCBKU1JlbW90ZURPTVdpbmRvdy5j
cHAKIEpTUmVtb3RlUGxheWJhY2suY3BwCiBKU1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5Q2Fs
bGJhY2suY3BwCiBKU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmNwcAorSlNSZXF1ZXN0
Q29va2llQ29uc2VudE9wdGlvbnMuY3BwCiBKU1Jlc2l6ZU9ic2VydmVyLmNwcAogSlNSZXNpemVP
YnNlcnZlckJveE9wdGlvbnMuY3BwCiBKU1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2suY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MzgxNWY5YzI0NjM3NThkZDU1YWYzZDQ4OWIxNDU0NWE2N2U1YzBmYi4uM2ZkZjIxZjNmNjIyYmU5
MmYzYjUwMzE3ZmVjOGYzMTAyOTRjMzY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ1MCw2ICs1NDUwLDkgQEAKIAkJRjM0
NEM3NTMxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNDRDNzUyMTEy
OTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjNBQkZFMEMxMzBFOURB
MDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0
cnVtZW50aW5nQWdlbnRzLmggKi87IH07CiAJCUYzRDQ2MTQ5MTE2MUQ1MzIwMENBMEQwOSAvKiBK
U0Vycm9ySGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggKi87IH07
CisJCUY0MDM0RjlEMjc1QzQ3ODkwMDNBODFGOCAvKiBDb29raWVDb25zZW50RGVjaXNpb25SZXN1
bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDM0
RjlDMjc1QzQ3ODMwMDNBODFGOCAvKiBDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNDAzNEZBQzI3
NUVBRDZFMDAzQTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEY4RjI3NUMxNjg2MDAz
QTgxRjggLyogUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggKi87IH07CisJCUY0MDM0RkFF
Mjc1RUFENzYwMDNBODFGOCAvKiBOYXZpZ2F0b3JDb29raWVDb25zZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEY4RDI3NUMwODdCMDAzQTgx
RjggLyogTmF2aWdhdG9yQ29va2llQ29uc2VudC5oICovOyB9OwogCQlGNDAzRTc4NzIzNjNCNThD
MDAwNDQ1NTAgLyogRW50ZXJLZXlIaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNDAzRTc4NTIzNjNCNThDMDAwNDQ1NTAgLyogRW50ZXJLZXlIaW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQw
REFBRUMyNUQ5RjI1RTAwMTFCNEZBIC8qIFBhc3RlYm9hcmRDb250ZXh0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDBEQUFFQjI1RDlGMjVFMDAxMUI0
RkEgLyogUGFzdGVib2FyZENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlGNDBEQUFFRjI1RDlGM0JGMDAxMUI0RkEgLyogUGFnZVBhc3Rl
Ym9hcmRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNDBEQUFFRTI1RDlGM0JGMDAxMUI0RkEgLyogUGFnZVBhc3RlYm9hcmRDb250ZXh0Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE3NTk1
LDYgKzE3NTk4LDEyIEBACiAJCUYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50
aW5nQWdlbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3RydW1lbnRp
bmdBZ2VudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjNENDYxNDYxMTYxRDUz
MjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RjhDMjc1QzA4N0IwMDNBODFGOCAvKiBOYXZpZ2F0b3JD
b29raWVDb25zZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5h
dmlnYXRvckNvb2tpZUNvbnNlbnQuY3BwOyBwYXRoID0gImNvb2tpZS1jb25zZW50L05hdmlnYXRv
ckNvb2tpZUNvbnNlbnQuY3BwIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRG
OEQyNzVDMDg3QjAwM0E4MUY4IC8qIE5hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmF2aWdhdG9yQ29va2llQ29uc2VudC5oOyBwYXRoID0g
ImNvb2tpZS1jb25zZW50L05hdmlnYXRvckNvb2tpZUNvbnNlbnQuaCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUY0MDM0RjhFMjc1QzA4N0MwMDNBODFGOCAvKiBOYXZpZ2F0b3IrQ29v
a2llQ29uc2VudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gIk5hdmlnYXRvcitDb29raWVD
b25zZW50LmlkbCI7IHBhdGggPSAiY29va2llLWNvbnNlbnQvTmF2aWdhdG9yK0Nvb2tpZUNvbnNl
bnQuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRGOEYyNzVDMTY4NjAw
M0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBS
ZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaDsgcGF0aCA9ICJjb29raWUtY29uc2VudC9SZXF1
ZXN0Q29va2llQ29uc2VudE9wdGlvbnMuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUY0MDM0RjkxMjc1QzE2ODYwMDNBODFGOCAvKiBSZXF1ZXN0Q29va2llQ29uc2VudE9wdGlvbnMu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgbmFtZSA9IFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGw7IHBhdGggPSAiY29va2ll
LWNvbnNlbnQvUmVxdWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmlkbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUY0MDM0RjlDMjc1QzQ3ODMwMDNBODFGOCAvKiBDb29raWVDb25zZW50
RGVjaXNpb25SZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ29va2llQ29uc2VudERlY2lzaW9uUmVz
dWx0Lmg7IHBhdGggPSAiY29va2llLWNvbnNlbnQvQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0
LmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDAzRTc4NTIzNjNCNThDMDAwNDQ1
NTAgLyogRW50ZXJLZXlIaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVudGVyS2V5SGludC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDAzRTc4NjIzNjNCNThDMDAwNDQ1NTAgLyogRW50
ZXJLZXlIaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVudGVyS2V5SGludC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MERBQUVCMjVEOUYyNUUwMDExQjRGQSAvKiBQYXN0
ZWJvYXJkQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXN0ZWJvYXJkQ29udGV4dC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU4MTAsNiArMjU4MTksNyBAQAogCQkJCTgzMjE1
MDc5MUYyN0U5NkIwMDk1QjEzNiAvKiBiZWFjb24gKi8sCiAJCQkJNDEzODBDMUUxRjM0MzY2MDAw
MTU1RkRBIC8qIGNhY2hlICovLAogCQkJCUU1OTZERDIzMjUxOTAyRDYwMEMyNzVBNyAvKiBjb250
YWN0LXBpY2tlciAqLywKKwkJCQlGNDAzNEY4QjI3NUMwODY3MDAzQTgxRjggLyogY29va2llLWNv
bnNlbnQgKi8sCiAJCQkJNTdDN0E2ODgxRTU2OTQ2RDAwQzY3RDcxIC8qIGNyZWRlbnRpYWxtYW5h
Z2VtZW50ICovLAogCQkJCUNEQTk4REJEMTYwMTRFMDgwMEZFQTNCMSAvKiBlbmNyeXB0ZWRtZWRp
YSAqLywKIAkJCQk4M0ZCMzM2NTFGNTA4QTE3MDA5ODZFNTQgLyogZW50cmllc2FwaSAqLywKQEAg
LTMxMjE3LDYgKzMxMjI3LDE5IEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKIAkJfTsKKwkJRjQwMzRGOEIyNzVDMDg2NzAwM0E4MUY4IC8qIGNvb2tpZS1jb25z
ZW50ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlGNDAz
NEY5QzI3NUM0NzgzMDAzQTgxRjggLyogQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmggKi8s
CisJCQkJRjQwMzRGOEUyNzVDMDg3QzAwM0E4MUY4IC8qIE5hdmlnYXRvcitDb29raWVDb25zZW50
LmlkbCAqLywKKwkJCQlGNDAzNEY4QzI3NUMwODdCMDAzQTgxRjggLyogTmF2aWdhdG9yQ29va2ll
Q29uc2VudC5jcHAgKi8sCisJCQkJRjQwMzRGOEQyNzVDMDg3QjAwM0E4MUY4IC8qIE5hdmlnYXRv
ckNvb2tpZUNvbnNlbnQuaCAqLywKKwkJCQlGNDAzNEY4RjI3NUMxNjg2MDAzQTgxRjggLyogUmVx
dWVzdENvb2tpZUNvbnNlbnRPcHRpb25zLmggKi8sCisJCQkJRjQwMzRGOTEyNzVDMTY4NjAwM0E4
MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5pZGwgKi8sCisJCQkpOworCQkJbmFt
ZSA9ICJjb29raWUtY29uc2VudCI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owog
CQlGNDQwRTc2OTIzM0Q5MzYyMDA2M0Y5QUIgLyogQ2xpcGJvYXJkICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTMzMDUzLDcgKzMzMDc2LDYgQEAKIAkJCWlz
YSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0
NzsKIAkJCWZpbGVzID0gKAotCQkJCTdCNTgyREQ4MjcxNkY1NUIwMDRCOTJEMCAvKiAobnVsbCkg
aW4gSGVhZGVycyAqLywKIAkJCQk3Q0QwRTJCODFGODBBNDgyMDAxNkE0Q0UgLyogQWJvcnRDb250
cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0QwRTJCRjFGODBBNTZFMDAxNkE0Q0UgLyog
QWJvcnRTaWduYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2Qjk1MTk1MjA3RDYzMzQwMEE3RDJE
RCAvKiBBYnN0cmFjdERPTVdpbmRvdy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzYwNCw2ICszMzYy
Niw3IEBACiAJCQkJRkQzMTYwMjkxMkIwMjY3NjAwQzFBMzU5IC8qIENvbnZvbHZlck5vZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTgzRjI4QzAwMjREQjFERTEwMDVCQTZGNiAvKiBDb252b2x2ZXJP
cHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlEOEI2MTUyRjEwMzI0OTUxMDBDODU1NEEgLyog
Q29va2llLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDAzNEY5RDI3NUM0Nzg5MDAzQTgxRjggLyog
Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTQyNEM5
NDE2NEI1MkM4MDBGMzJENDAgLyogQ29va2llSmFyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QTU2
OTk3MDIwODZDNjE5MDAwRTA0MzMgLyogQ29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHkuaCBp
biBIZWFkZXJzICovLAogCQkJCTMzRDAyMTJEMTMxREIzN0IwMDQwOTFBOCAvKiBDb29raWVTdG9y
YWdlLmggaW4gSGVhZGVycyAqLywKQEAgLTM2MDM4LDYgKzM2MDYxLDcgQEAKIAkJCQk4MzIxNTA3
RTFGMjdFQTFCMDA5NUIxMzYgLyogTmF2aWdhdG9yQmVhY29uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGNDQwRTc3QTIzM0Q5NEQ3MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFNTk2REQyOTI1MTkwM0QyMDBDMjc1QTcgLyogTmF2aWdhdG9yQ29udGFj
dHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0MDM0RkFFMjc1RUFENzYwMDNBODFGOCAvKiBOYXZp
Z2F0b3JDb29raWVDb25zZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzJEM0U1NzIxNjU3OEFF
MDBDNUUwMjEgLyogTmF2aWdhdG9yQ3JlZGVudGlhbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3
MTE0NjA0MTRFRjAwOUEwMDY3NEZEOSAvKiBOYXZpZ2F0b3JHZW9sb2NhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNkI1MDdBMjQyMzRCRjM0MTAwQkU3QzYyIC8qIE5hdmlnYXRvcklzTG9nZ2Vk
SW4uaCBpbiBIZWFkZXJzICovLApAQCAtMzY2MTIsNiArMzY2MzYsNyBAQAogCQkJCTA3MUMwMDM0
MjcwN0Q5NTUwMEQwMjdDNyAvKiBSZXBsYXlLaXRDYXB0dXJlU291cmNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0NkRENkUxRjI2RTdEQkU3MDA4QzFGNEMgLyogUmVwb3J0aW5nRW5kcG9pbnRzQ2Fj
aGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OThBRUM2MTNGOUQwRUEwMDkwQjFBQSAvKiBSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQwMzRGQUMy
NzVFQUQ2RTAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25zZW50T3B0aW9ucy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRjU1QjNERDAxMjUxRjEyRDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRUeXBlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1OEIyRjlGNDIyMzJENDUzMDA5MzhENjMgLyogUmVzaXplT2Jz
ZXJ2YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTU4QjJGOUY1MjIzMkQ0NTgwMDkzOEQ2MyAv
KiBSZXNpemVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuY3BwCmluZGV4IGQ3Zjg1NmI5MDM1N2I0YzU4MDkxY2RiYmI0MDg1NWFiNTY2M2Vj
YzguLmZlMzJkOTRlNDI4NjU5ZDVkNjFkYWJhNzIxOThlYjE5NTliYTI1ZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAi
Q2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJDb2xvckNob29zZXIuaCIKICNpbmNs
dWRlICJDb250ZXh0TWVudUNsaWVudC5oIgorI2luY2x1ZGUgIkNvb2tpZUNvbnNlbnREZWNpc2lv
blJlc3VsdC5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5oIgogI2luY2x1ZGUgIkRPTVBhc3RlQWNj
ZXNzLmgiCiAjaW5jbHVkZSAiRGF0YUxpc3RTdWdnZXN0aW9uUGlja2VyLmgiCkBAIC01ODQsNiAr
NTg1LDExIEBAIHZvaWQgRW1wdHlDaHJvbWVDbGllbnQ6OnNob3dTaGFyZVNoZWV0KFNoYXJlRGF0
YVdpdGhQYXJzZWRVUkwmLCBDb21wbGV0aW9uSGFuZGxlCiB7CiB9CiAKK3ZvaWQgRW1wdHlDaHJv
bWVDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoQ29v
a2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJiBjb21wbGV0aW9uKQoreworICAgIGNvbXBsZXRp
b24oQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOworfQorCiB2b2lk
IEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93
QWN0aW9uKGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBG
b3JtU3RhdGUqLCBjb25zdCBTdHJpbmcmLCBQb2xpY3lDaGVja0lkZW50aWZpZXIsIEZyYW1lUG9s
aWN5RnVuY3Rpb24mJikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRl
eCA1MjI2MTg3MzFkNzU2ZWE0YmY4Yjk2ZGYwMDQzNWY4MzU1OGVlOTFhLi5kYTIwYTgzZDBkODZl
MDA3ZGZjMjk1Y2YzYzNlMzY5ZWM1ZjYyYzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oCkBAIC0yMTgsNiArMjE4LDggQEAgY2xhc3MgRW1wdHlDaHJvbWVDbGllbnQgOiBwdWJs
aWMgQ2hyb21lQ2xpZW50IHsKICAgICBib29sIHNob3VsZE5vdGlmeU9uRm9ybUNoYW5nZXMoKSBm
aW5hbCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgUmVmUHRyPEljb24+IGNyZWF0ZUljb25Gb3JG
aWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgLyogZmlsZW5hbWVzICovKSBmaW5hbCB7IHJldHVy
biBudWxscHRyOyB9CisKKyAgICB2b2lkIHJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJikgZmluYWw7CiB9Owog
CiBEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCYgZW1wdHlEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMGY4ZDVjNWU0YmRmNGFiYjI1NDlj
ZTE2OWU1MTdlNGI0MjJhMzc5Mi4uZTQ2M2M0MGNiNmQ0Njg1YmM4ZWU2MTYzZWJhZTViMzU2MWVj
MDhiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0xNDIsNiArMTQyLDcgQEAg
c3RydWN0IFRleHRJbmRpY2F0b3JEYXRhOwogc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzOwogc3Ry
dWN0IFdpbmRvd0ZlYXR1cmVzOwogCitlbnVtIGNsYXNzIENvb2tpZUNvbnNlbnREZWNpc2lvblJl
c3VsdCA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFJvdXRlU2hhcmluZ1BvbGljeSA6IHVpbnQ4X3Q7
CiAKIGNsYXNzIENocm9tZUNsaWVudCB7CkBAIC02MTksNiArNjIwLDggQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBhYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkgeyB9CiAjZW5kaWYKIAor
ICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYpID0gMDsKKwogcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgpID0gZGVmYXVsdDsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4IDY2MmE4ZDUzNDgwYzIyOGZjOTg1ODI5
YzFmODcxY2M1ZDAzZjI5NjEuLjIwMTZjYjQ4ZGQzOGUxOTUyNzE1NzhjODYxMDNmNGNiY2M2NTE0
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKICNpbmNsdWRlICJXZWJIaXRUZXN0UmVz
dWx0RGF0YS5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorI2luY2x1ZGUgPFdlYkNvcmUv
Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJl
Y3QuaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KIApAQCAtMTQ0LDYgKzE0
NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9u
Rm9yT3JpZ2luKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5Jiwg
U2VjdXJpdHlPcmlnaW4mLCBTZWN1cml0eU9yaWdpbiYsIFdlYktpdDo6VXNlck1lZGlhUGVybWlz
c2lvbkNoZWNrUHJveHkmIHJlcXVlc3QpIHsgcmVxdWVzdC5kZW55KCk7IH0KICAgICB2aXJ0dWFs
IHZvaWQgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0
OjpXZWJQYWdlUHJveHkmLCBTZWN1cml0eU9yaWdpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCBhbGxvd2VkKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihm
YWxzZSk7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFN0b3JhZ2VBY2Nlc3NDb25maXJtKFdl
YktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiwgY29uc3QgV2ViQ29y
ZTo6UmVnaXN0cmFibGVEb21haW4mIHJlcXVlc3RpbmdEb21haW4sIGNvbnN0IFdlYkNvcmU6OlJl
Z2lzdHJhYmxlRG9tYWluJiBjdXJyZW50RG9tYWluLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOyB9Cisg
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25S
ZXN1bHQ6Ok5vdFN1cHBvcnRlZCk7IH0KIAogICAgIC8vIFByaW50aW5nLgogICAgIHZpcnR1YWwg
ZmxvYXQgaGVhZGVySGVpZ2h0KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFt
ZVByb3h5JikgeyByZXR1cm4gMDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKaW5kZXggNGEyZjUwZWM4NzRlZGU4
MzZiYTc1ZDE4MjMxNDI1YzVkY2QzZWZkYy4uYWQxN2RhODc3ZjliMGVhNjAxMDVlZDc0NjE3OTZk
YjcwMDQ4YzBjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCkBAIC0xNzcsNiArMTc3LDggQEAgc3RydWN0IFVJ
RWRnZUluc2V0czsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc3RhcnRY
UlNlc3Npb25XaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKGlkKSljb21wbGV0aW9uSGFu
ZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOwogLSAodm9pZClf
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lv
bkZvclNlY3VyaXR5T3JpZ2luOihXS1NlY3VyaXR5T3JpZ2luICopc2VjdXJpdHlPcmlnaW4gZGVj
aXNpb25IYW5kbGVyOih2b2lkICheKShCT09MKSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlM
QUJMRShtYWNvcygxMC4xMy40KSwgaW9zKFdLX0lPU19UQkEpKTsKIAorLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hh
bmRsZXI6KHZvaWQgKF4pKHZvaWQpKW1vcmVJbmZvSGFuZGxlciBkZWNpc2lvbkhhbmRsZXI6KHZv
aWQgKF4pKEJPT0wpKWRlY2lzaW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogCiAtIChC
T09MKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNob3VsZEluY2x1ZGVBcHBMaW5rQWN0
aW9uc0ZvckVsZW1lbnQ6KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudCBXS19BUElf
QVZBSUxBQkxFKGlvcyg5LjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUuaAppbmRleCBmZjIyNzU3NTAzNzY4NDFiYzVmOWEzNmYzMzFkOGE0NzgyYjRmOGQ5Li5m
ZGFhYTFlYjcxMzBmZDY4ZGExZmE4NzQwMzQzNDI2YjQ1MWNkMjg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCkBAIC0xMDYsNiArMTA2LDcgQEAgcHJpdmF0
ZToKICAgICAgICAgYm9vbCB0YWtlRm9jdXMoV2ViUGFnZVByb3h5KiwgV0tGb2N1c0RpcmVjdGlv
bikgZmluYWw7CiAgICAgICAgIHZvaWQgaGFuZGxlQXV0b3BsYXlFdmVudChXZWJQYWdlUHJveHkm
LCBXZWJDb3JlOjpBdXRvcGxheUV2ZW50LCBPcHRpb25TZXQ8V2ViQ29yZTo6QXV0b3BsYXlFdmVu
dEZsYWdzPikgZmluYWw7CiAgICAgICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3QoV2ViUGFnZVByb3h5JiwgQVBJOjpTZWN1cml0eU9yaWdpbiYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBhbGxvd2VkKT4mJikgZmluYWw7CisgICAgICAgIHZv
aWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpD
b29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYmKSBmaW5hbDsKIAogI2lmIFBMQVRGT1JNKE1B
QykKICAgICAgICAgdm9pZCBzaG93UGFnZShXZWJQYWdlUHJveHkqKSBmaW5hbDsKQEAgLTI3MCw2
ICsyNzEsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIHdlYlZpZXdTdGFydFhSU2Vzc2lvbldp
dGhDb21wbGV0aW9uSGFuZGxlciA6IDE7CiAjZW5kaWYKICAgICAgICAgYm9vbCB3ZWJWaWV3UmVx
dWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb25Gb3JTZWN1cml0eU9yaWdpbkRlY2lzaW9uSGFuZGxl
ciA6IDE7CisgICAgICAgIGJvb2wgd2ViVmlld1JlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJ
bmZvSGFuZGxlckRlY2lzaW9uSGFuZGxlciA6IDE7CiAgICAgfSBtX2RlbGVnYXRlTWV0aG9kczsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4
IDEzMTYwNzgyNjY3MmFhYTk4MmJiZTQxOGU1ZDUyOTU4MmMyYzJkYjEuLmE0NzkzN2ZlYzk5MTMx
MjhkMGJiYzRhNWI1NGUwOTY2MTg5NDM2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMTk3LDYgKzE5Nyw3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6
c2V0RGVsZWdhdGUoaWQgPFdLVUlEZWxlZ2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1l
dGhvZHMud2ViVmlld1N0YXJ0WFJTZXNzaW9uV2l0aENvbXBsZXRpb25IYW5kbGVyID0gW2RlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6c3RhcnRYUlNlc3Npb25X
aXRoQ29tcGxldGlvbkhhbmRsZXI6KV07CiAjZW5kaWYKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53
ZWJWaWV3UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb25Gb3JTZWN1cml0eU9yaWdpbkRlY2lz
aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJW
aWV3OnJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uRm9yU2VjdXJpdHlPcmlnaW46ZGVjaXNp
b25IYW5kbGVyOildOworICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSZXF1ZXN0Q29va2ll
Q29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXJEZWNpc2lvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpyZXF1ZXN0Q29va2llQ29uc2VudFdp
dGhNb3JlSW5mb0hhbmRsZXI6ZGVjaXNpb25IYW5kbGVyOildOwogfQogCiAjaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCkBAIC02NDEsNiArNjQyLDI0IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGll
bnQ6OmRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdDo6
CiAgICAgfSkuZ2V0KCldOwogfQogCit2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpyZXF1ZXN0
Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkNvb2tpZUNvbnNl
bnREZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlvbikKK3sKKyAgICBpZiAoIW1fdWlEZWxlZ2F0
ZSkKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb24oV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lz
aW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOworCisgICAgaWYgKCFtX3VpRGVsZWdhdGUtPm1fZGVs
ZWdhdGVNZXRob2RzLndlYlZpZXdSZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRs
ZXJEZWNpc2lvbkhhbmRsZXIpCisgICAgICAgIHJldHVybiBjb21wbGV0aW9uKFdlYkNvcmU6OkNv
b2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkKTsKKworICAgIGF1dG8gZGVs
ZWdhdGUgPSBtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0
ZSkKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb24oV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lz
aW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOworCisgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZv
ciB0aGUgJ21vcmUgaW5mbycgaGFuZGxlci4KKyAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRl
PilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSBy
ZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXI6bmlsIGRlY2lzaW9uSGFuZGxl
cjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24pXSAoQk9PTCBk
ZWNpc2lvbikgbXV0YWJsZSB7CisgICAgICAgIGNvbXBsZXRpb24oZGVjaXNpb24gPyBXZWJDb3Jl
OjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQ6OkNvbnNlbnQgOiBXZWJDb3JlOjpDb29raWVD
b25zZW50RGVjaXNpb25SZXN1bHQ6OkRpc3NlbnQpOworICAgIH0pLmdldCgpXTsKK30KKwogI2lm
IFBMQVRGT1JNKE1BQykKIGJvb2wgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmNhblJ1bk1vZGFsKCkg
Y29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDRl
OWIwZWUyZDQ1ZmUwNGM1NmJlZWIzMGY4NTYwNDg3YzZjNzRlMWYuLjI0ZTI1ZjExY2MzZGNkYzU3
M2I4ZDNhOTUyMzk0OTRhMmFjYjAxNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtMTEwMjQsNiArMTEwMjQsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNs
ZWFyQXBwUHJpdmFjeVJlcG9ydFRlc3RpbmdEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JgogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0Q29va2llQ29uc2VudChD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYgY29t
cGxldGlvbikKK3sKKyAgICBtX3VpQ2xpZW50LT5yZXF1ZXN0Q29va2llQ29uc2VudChXVEZNb3Zl
KGNvbXBsZXRpb24pKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBXRUJQ
QUdFUFJPWFlfUkVMRUFTRV9MT0cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggZTFjOWU4M2MyYWJkMGY3ZWMwZDM2NWU5M2EwYzY2NDgwMTBjMjA1OS4uODQ2MzA3NTY2
ZDRlN2RmZjg1NDcwZWU3MjRmOTZkMTMzYTkxODA1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKQEAgLTI2NSw2ICsyNjUsNyBAQCBjbGFzcyBUZXh0SW5kaWNhdG9yOwog
Y2xhc3MgVmFsaWRhdGlvbkJ1YmJsZTsKIAogZW51bSBjbGFzcyBBdXRvcGxheUV2ZW50IDogdWlu
dDhfdDsKK2VudW0gY2xhc3MgQ29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0IDogdWludDhfdDsK
IGVudW0gY2xhc3MgQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQgOiBib29sOwogZW51bSBjbGFz
cyBET01QYXN0ZUFjY2Vzc0NhdGVnb3J5IDogdWludDhfdDsKIGVudW0gY2xhc3MgRE9NUGFzdGVB
Y2Nlc3NSZXNwb25zZSA6IHVpbnQ4X3Q7CkBAIC0yMDMyLDYgKzIwMzMsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgbm90aWZp
Y2F0aW9uSURzKTsKICAgICB2b2lkIGRpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qgbm90
aWZpY2F0aW9uSUQpOwogCisgICAgdm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYpOwor
CiBwcml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5
JiwgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0
aWFsaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggZTNmZjBhMzVjZDNmZjQ5OWE3MTMzZjliZmYyZDMzMTQ0NDg5NGQzNS4u
NmYyZmZlN2QxZDkxOTA3NjNjM2NhNDY2YmU2YWNhNTcwM2UwMTBmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNjE2LDQgKzYx
Niw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU3RhcnRBcHBsZVBheUFNU1VJ
U2Vzc2lvbihVUkwgb3JpZ2luYXRpbmdVUkwsIHN0cnVjdCBXZWJDb3JlOjpBcHBsZVBheUFNU1VJ
UmVxdWVzdCByZXF1ZXN0KSAtPiAoc3RkOjpvcHRpb25hbDxib29sPiByZXN1bHQpIEFzeW5jCiAg
ICAgQWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpCiAjZW5kaWYKKworICAgIFJlcXVlc3RDb29r
aWVDb25zZW50KCkgLT4gKGVudW06dWludDhfdCBXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNp
b25SZXN1bHQgcmVzdWx0KSBBc3luYwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCAzZjI4
NjJjZmI2N2NmMWQyZWZmZjczNDAxNjZiZDQ1YjU1MmI1YTRkLi4xMzgyNGZmMTZiZTFmNTUyZGU5
ODAwZmQzYjY2OWM4ZGRiNzM5YjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMTU1OSw0
ICsxNTU5LDkgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFib3J0QXBwbGVQYXlBTVNVSVNlc3Np
b24oKQogCiAjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9BTVNfVUkpCiAKK3ZvaWQgV2ViQ2hy
b21lQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdl
YkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlvbikKK3sKKyAg
ICBtX3BhZ2Uuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVl
c3RDb29raWVDb25zZW50KCksIFdURk1vdmUoY29tcGxldGlvbikpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBkMDJlZGYxYjJkY2Q5ZWM5ZTVmY2Zi
Mjg1MzZlMTg2OWQ2YzY0NmI0Li5jYjIxNDcwYTEwZGM0NTM0NDlhMjFjMzc1ZTY4M2VkZWZjMmFl
MWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBIVE1MSW1hZ2VFbGVtZW50OwogY2xhc3MgUmVnaXN0cmFibGVEb21haW47
CitlbnVtIGNsYXNzIENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCA6IHVpbnQ4X3Q7CiBlbnVt
IGNsYXNzIFN0b3JhZ2VBY2Nlc3NQcm9tcHRXYXNTaG93biA6IGJvb2w7CiBlbnVtIGNsYXNzIFN0
b3JhZ2VBY2Nlc3NXYXNHcmFudGVkIDogYm9vbDsKIH0KQEAgLTQ2Miw2ICs0NjMsOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpIGZpbmFsOwogI2VuZGlm
CiAKKyAgICB2b2lkIHJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
V2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0KT4mJikgZmluYWw7CisKICAgICBt
dXRhYmxlIGJvb2wgbV9jYWNoZWRNYWluRnJhbWVIYXNIb3Jpem9udGFsU2Nyb2xsYmFyIHsgZmFs
c2UgfTsKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZWRNYWluRnJhbWVIYXNWZXJ0aWNhbFNjcm9s
bGJhciB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNDQ5MTMwNjQ0NzRkMTNjMmI5
MzliYjg0MGExNDlmYzY3NTJhZjljNC4uMWExZjQ3OGFkZmJjYmJjMzA2NTAyMjk5OWEwZjhlMzE3
MTUxZjA0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTI1Nyw2ICsyNTcsOCBAQCBwcml2YXRlOgog
CiAgICAgUmVmUHRyPFBBTDo6V2ViR1BVOjpHUFU+IGNyZWF0ZUdQVUZvcldlYkdQVSgpIGNvbnN0
IGZpbmFsOwogCisgICAgdm9pZCByZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYpIGZpbmFsOwor
CiAjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQogICAgIGJvb2wgbV9tb2NrVmlk
ZW9QcmVzZW50YXRpb25Nb2RlRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5t
bSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5tbQppbmRleCAwZDRiNDg5OTAwMjk0ODU5MDFhMGEzZWE1ZTgyNDU4ZmQ1MmU3M2QxLi5kZDc2
ZTQxZjJhZjBlMjFiYjUwYTM5YjI1OGU1OWEwYzVjZGJlYWZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
CkBAIC01OCw2ICs1OCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yQ2hvb3Nlci5oPgogI2lt
cG9ydCA8V2ViQ29yZS9Db250ZXh0TWVudS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ29va2llQ29uc2VudERlY2lzaW9uUmVz
dWx0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0N1cnNvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9EYXRh
TGlzdFN1Z2dlc3Rpb25QaWNrZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRGVwcmVjYXRlZEdsb2Jh
bFNldHRpbmdzLmg+CkBAIC0xMTY2LDMgKzExNjcsOCBAQCBSZWZQdHI8UEFMOjpXZWJHUFU6OkdQ
VT4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHUFVGb3JXZWJHUFUoKSBjb25zdAogICAgIHJldHVy
biBudWxscHRyOwogI2VuZGlmCiB9CisKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0Q29v
a2llQ29uc2VudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKENvb2tpZUNvbnNlbnREZWNpc2lvblJl
c3VsdCk+JiYgY29tcGxldGlvbikKK3sKKyAgICBjb21wbGV0aW9uKENvb2tpZUNvbnNlbnREZWNp
c2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IGRj
ZjU1Njc2OTM2NDg5M2VlZTY2MjdjNzNiZTNhNzQzZjNkOWZiMjAuLjkwOTVmYjM4NTRkMTBlNzUx
MTFhYWIxZTU1Y2VjNmI5N2U4MmNlMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMzgsNiAr
MzgsNyBAQAogI2luY2x1ZGUgIldlYlZpZXcuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0JTdHJpbmcu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0NvbnRleHRNZW51Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9D
b29raWVDb25zZW50RGVjaXNpb25SZXN1bHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvRmlsZUNob29zZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zp
bGVJY29uTG9hZGVyLmg+CkBAIC04NzUsMyArODc2LDggQEAgYm9vbCBXZWJDaHJvbWVDbGllbnQ6
OnNob3VsZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcmIGZyYW1l
VmkKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIH0KKwordm9pZCBXZWJDaHJvbWVDbGllbnQ6
OnJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoQ29va2llQ29uc2Vu
dERlY2lzaW9uUmVzdWx0KT4mJiBjb21wbGV0aW9uKQoreworICAgIGNvbXBsZXRpb24oQ29va2ll
Q29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApp
bmRleCA3Yjk3MGY2NDgwMjMwZTliNmIwOTBiYzE4ZGE0MmI3MTM5ZWYzYjFkLi5kNDdiZGY1M2My
YTUyMjc5YjBmOTIxOGUwMDA2ZDk0NTBjNTMwNjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTgz
LDYgKzE4Myw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZ0ltYWdlRm9y
RWxlbWVudChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50JikgZmluYWw7CiAKKyAgICB2b2lkIHJl
cXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29va2ll
Q29uc2VudERlY2lzaW9uUmVzdWx0KT4mJik7CisKIHByaXZhdGU6CiAgICAgQ09NUHRyPElXZWJV
SURlbGVnYXRlPiB1aURlbGVnYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4MjU2ZGVlYWM2MzU4ZDIxN2I1YzgyNjI2ZTI1ZDI1YjIw
MDI4YWJiLi5jYTk1NTY3NGMxNjM2NzBmMGFjZjhkZmRhYWE2MjNhNTg5MDk3MjI2IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMjEtMTItMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQo
KWAgYmVoaW5kIGEgZGlzYWJsZWQgZmVhdHVyZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2MTE3NzE4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIHNldmVy
YWwgbmV3IEFQSSB0ZXN0cyB0aGF0IGVuYWJsZSB0aGUgZmVhdHVyZSBmbGFnIGFuZCBleGVyY2lz
ZSB0aGUgQVBJLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvQ29va2llQ29uc2VudC5tbTogQWRkZWQuCisgICAgICAgICgtW0Nvb2tpZUNvbnNlbnREZWxl
Z2F0ZSBfd2ViVmlldzpyZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXI6ZGVj
aXNpb25IYW5kbGVyOl0pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6Y3JlYXRlV2ViVmlld0Zv
clRlc3RpbmdDb29raWVDb25zZW50KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmNoZWNrRm9y
U3RyaW5nKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2Nvb2tpZS1jb25zZW50LWJhc2ljLmh0bWw6IEFkZGVkLgor
CiAyMDIxLTEyLTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgaGVscGVyIG1ldGhvZHMgdG8gYFdlYkNvcmU6OkZvbnRTaGFkb3dgIGZvciBzZXJpYWxp
emluZyB0byBDU1MgYW5kIGNvbnZlcnRpbmcgdG8gYE5TU2hhZG93YApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA5ZjQ4NzNkZGM0NjE5NGEwMDFmZDYwOTQ0MTYwZmMwOGY4Mjk2MzllLi43ZjY5
MTU1M2UzZTQzM2QyMjVmMzM0M2E2MTdmNTBkNDY5ZWY4Mjg1IDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtOTk3LDYgKzk5Nyw4IEBACiAJCUY0MDEwQjgwMjREQTI0QUMwMEE4NzZFMiAvKiBO
YXZpZ2F0aW9uU3dpcGVUZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0MDEwQjdGMjREQTI0QUMwMEE4NzZFMiAvKiBOYXZpZ2F0aW9uU3dpcGVU
ZXN0cy5tbSAqLzsgfTsKIAkJRjQwMTBCODMyNERBMjY3RjAwQTg3NkUyIC8qIFBvc2VBc0NsYXNz
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwMTBC
ODEyNERBMjY3RjAwQTg3NkUyIC8qIFBvc2VBc0NsYXNzLm1tICovOyB9OwogCQlGNDAyRjU2QzIz
RUNDMkZCMDA4NjU1NDkgLyogVUlXS0ludGVyYWN0aW9uVmlld1Byb3RvY29sLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwMkY1NkIyM0VDQzJGQjAw
ODY1NTQ5IC8qIFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbC5tbSAqLzsgfTsKKwkJRjQwMzRG
QTEyNzVENTQwMjAwM0E4MUY4IC8qIENvb2tpZUNvbnNlbnQubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDAzNEZBMDI3NUQ1NDAyMDAzQTgxRjggLyog
Q29va2llQ29uc2VudC5tbSAqLzsgfTsKKwkJRjQwMzRGQTMyNzVENUFDNjAwM0E4MUY4IC8qIGNv
b2tpZS1jb25zZW50LWJhc2ljLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwMzRGQTIyNzVENTQ0OTAwM0E4MUY4IC8qIGNvb2tpZS1j
b25zZW50LWJhc2ljLmh0bWwgKi87IH07CiAJCUY0MDdGRTM5MUYxRDBERkMwMDE3Q0YyNSAvKiBl
bm9ybW91cy5zdmcgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQwN0ZFMzgxRjFEMERFNjAwMTdDRjI1IC8qIGVub3Jtb3VzLnN2ZyAqLzsgfTsK
IAkJRjQwOTRDQzcyNTU0NUJENTAwM0Q3M0UzIC8qIERpc3BsYXlMaXN0VGVzdHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQwOTRDQzYyNTU0NUJE
NTAwM0Q3M0UzIC8qIERpc3BsYXlMaXN0VGVzdHMuY3BwICovOyB9OwogCQlGNDE1MDg2RDFEQTA0
MEM1MDA0NEJFOUIgLyogcGxheS1hdWRpby1vbi1jbGljay5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MTUwODZDMURBMDQwQzEwMDQ0
QkU5QiAvKiBwbGF5LWF1ZGlvLW9uLWNsaWNrLmh0bWwgKi87IH07CkBAIC0xMjY1LDYgKzEyNjcs
NyBAQAogCQkJCUExM0QxQUQ2MjRBRDQ2OEYwMDNGOTJBOCAvKiBjb250ZXh0LW1lbnUtY29udHJv
bC1jbGljay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUxNDJCMjczMTUxN0M4Qzgw
MEMzMkIxOSAvKiBDb250ZXh0TWVudUNhbkNvcHlVUkwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQlDRDBCRDBBODFGNzk5ODJEMDAxQUIyQ0YgLyogQ29udGV4dE1lbnVJbWdXaXRoVmlk
ZW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlGNDAzNEZBMzI3NUQ1QUM2MDAzQTgx
RjggLyogY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJ
CQk1QzI5MzY5NjFENUMwMEVEMDBERUFCMUUgLyogQ29va2llTWVzc2FnZS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCTlCMUY2Rjc5MUY5MDU1OUUwMEI1NTc0NCAvKiBjb3B5LWh0bWwu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk5QjYyNjMwQzFGOEMyNUM4MDA3RUUyOUIg
LyogY29weS11cmwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTI5MjUsNiArMjkyOCw4
IEBACiAJCUY0MDEwQjgxMjREQTI2N0YwMEE4NzZFMiAvKiBQb3NlQXNDbGFzcy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFBvc2VBc0NsYXNzLm1tOyBwYXRoID0g
Li4vVGVzdFJ1bm5lclNoYXJlZC9jb2NvYS9Qb3NlQXNDbGFzcy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjQwMTBCODIyNERBMjY3RjAwQTg3NkUyIC8qIFBvc2VBc0NsYXNzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFBvc2VBc0NsYXNzLmg7IHBhdGggPSAu
Li9UZXN0UnVubmVyU2hhcmVkL2NvY29hL1Bvc2VBc0NsYXNzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUY0MDJGNTZCMjNFQ0MyRkIwMDg2NTU0OSAvKiBVSVdLSW50ZXJhY3Rpb25W
aWV3UHJvdG9jb2wubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVSVdLSW50ZXJhY3Rpb25WaWV3
UHJvdG9jb2wubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0MDM0RkEwMjc1RDU0
MDIwMDNBODFGOCAvKiBDb29raWVDb25zZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ29v
a2llQ29uc2VudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQwMzRGQTIyNzVE
NTQ0OTAwM0E4MUY4IC8qIGNvb2tpZS1jb25zZW50LWJhc2ljLmh0bWwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiY29v
a2llLWNvbnNlbnQtYmFzaWMuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0
MDdGRTM4MUYxRDBERTYwMDE3Q0YyNSAvKiBlbm9ybW91cy5zdmcgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gZW5vcm1vdXMuc3Zn
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDA5NENDNjI1NTQ1QkQ1MDAzRDczRTMg
LyogRGlzcGxheUxpc3RUZXN0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5TGlzdFRl
c3RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQxMDZDNjgyMUFDQkY4NDAw
NEI4OUExIC8qIFdLV2ViVmlld0ZpcnN0UmVzcG9uZGVyVGVzdHMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXS1dlYlZpZXdGaXJzdFJlc3BvbmRlclRlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMzI3Miw2ICszMjc3LDcgQEAKIAkJCQlDMUY3QjczODI0NDkwODNGMDAx
MjQ1NTcgLyogQUdYQ29tcGlsZXJTZXJ2aWNlLm1tICovLAogCQkJCUMxNUNCQjJGMjNGMUZGMUEw
MDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSAqLywKIAkJCQlDMTY5MkRD
OTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLywKKwkJCQlGNDAzNEZBMDI3NUQ1NDAy
MDAzQTgxRjggLyogQ29va2llQ29uc2VudC5tbSAqLywKIAkJCQlDMTNEODJEODI0MTZGMTMyMDBB
NjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLywKIAkJCQkxQzgxODAyNjI1RkIwOUUy
MDA2MDhCM0UgLyogRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tICovLAogCQkJCUUzOTRBRTZF
MjNGMjMwM0UwMDVCNDkzNiAvKiBHcmFudEFjY2Vzc1RvTW9iaWxlQXNzZXRzLm1tICovLApAQCAt
NDU5NCw2ICs0NjAwLDcgQEAKIAkJCQkxQTUwQUExRjFBMkE0RUE1MDBGNEMzNDUgLyogY2xvc2Ut
ZnJvbS13aXRoaW4tY3JlYXRlLXBhZ2UuaHRtbCAqLywKIAkJCQk5QjI3MEZFRDFEREMyNUZEMDAy
RDUzRjMgLyogY2xvc2VkLXNoYWRvdy10cmVlLXRlc3QuaHRtbCAqLywKIAkJCQk1QzlFNTY4NjFE
RjkxNDhFMDBDOUVFMzMgLyogY29udGVudEJsb2NrZXJDaGVjay5odG1sICovLAorCQkJCUY0MDM0
RkEyMjc1RDU0NDkwMDNBODFGOCAvKiBjb29raWUtY29uc2VudC1iYXNpYy5odG1sICovLAogCQkJ
CTJEREQ0REEzMjcwQjhCMzMwMDY1OUE2MSAvKiBjdWJlLnVzZHogKi8sCiAJCQkJMjkwRjQyNzQx
NzJBMUZERTAwOTM5RkYwIC8qIGN1c3RvbS1wcm90b2NvbC1zeW5jLXhoci5odG1sICovLAogCQkJ
CTExODE1MzQzMjIwOEI3QUMwMEIyQ0NEMiAvKiBkZWZlcnJlZC1zY3JpcHQtbG9hZC5odG1sICov
LApAQCAtNTQwOCw2ICs1NDE1LDcgQEAKIAkJCQk4MzQ5RDNDMjFEQjk2RERFMDA0QTlGNjUgLyog
Q29udGV4dE1lbnVEb3dubG9hZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEMEJEMEE2MUY3OTky
NEQwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUExQzE0MkMyMjRBQTdCMkUwMDQ0NDIwNyAvKiBDb250ZXh0TWVudU1vdXNlRXZlbnRzLm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJRjQwMzRGQTEyNzVENTQwMjAwM0E4MUY4IC8qIENvb2tpZUNv
bnNlbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VBQzFBNDExQTM0MDA0NDdDNEMgLyog
Q291bnRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FFQUQ0N0YxRTIwMTE2QzAwNDE2RUZF
IC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTdDQ0U3RURCMUE0MTFBOTIwMDQ0N0M0QyAvKiBDU1NQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Db29raWVDb25z
ZW50Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ29va2llQ29uc2VudC5t
bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yZGEwZGU5MGVjN2QyMmY3NDAyOTZiZGEzODFlZjE0N2ViMWQ4NTVlCi0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ29va2ll
Q29uc2VudC5tbQpAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZp
Zy5oIgorCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tQcmVm
ZXJlbmNlc1ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XZWJLaXRQcml2YXRlLmg+CisjaW1w
b3J0IDxXZWJLaXQvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaD4KKworQGludGVyZmFjZSBDb29r
aWVDb25zZW50RGVsZWdhdGUgOiBOU09iamVjdDxXS1VJRGVsZWdhdGVQcml2YXRlPgorQHByb3Bl
cnR5IChub25hdG9taWMpIEJPT0wgZGVjaXNpb247CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBD
b29raWVDb25zZW50RGVsZWdhdGUKKworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyByZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXI6KHZvaWQgKF4pKHZv
aWQpKW1vcmVJbmZvSGFuZGxlciBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWRlY2lz
aW9uSGFuZGxlcgoreworICAgIGRlY2lzaW9uSGFuZGxlcihzZWxmLmRlY2lzaW9uKTsKK30KKwor
QGVuZAorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK3N0YXRpYyBSZXRhaW5QdHI8VGVz
dFdLV2ViVmlldz4gY3JlYXRlV2ViVmlld0ZvclRlc3RpbmdDb29raWVDb25zZW50KCkKK3sKKyAg
ICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBh
bGxvY10gaW5pdF0pOworICAgIGZvciAoX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKmZlYXR1cmUg
aW4gV0tQcmVmZXJlbmNlcy5faW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKSB7CisgICAgICAgIGlmIChb
ZmVhdHVyZS5rZXkgaXNFcXVhbFRvU3RyaW5nOkAiQ29va2llQ29uc2VudEFQSUVuYWJsZWQiXSkg
eworICAgICAgICAgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZ
RVMgZm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6ZmVhdHVyZV07CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA0MDAsIDQwMCkgY29uZmlndXJhdGlv
bjpjb25maWd1cmF0aW9uLmdldCgpXSk7Cit9CisKK3N0YXRpYyB2b2lkIGNoZWNrRm9yU3RyaW5n
KFRlc3RXS1dlYlZpZXcgKndlYlZpZXcsIE5TU3RyaW5nICpleHBlY3RlZFN0cmluZykKK3sKKyAg
ICBhdXRvIGNvbnRlbnRzQXNTdHJpbmcgPSBSZXRhaW5QdHIgeyB3ZWJWaWV3LmNvbnRlbnRzQXNT
dHJpbmcgfTsKKyAgICBCT09MIGNvbnRhaW5zU3RyaW5nID0gW2NvbnRlbnRzQXNTdHJpbmcgY29u
dGFpbnNTdHJpbmc6ZXhwZWN0ZWRTdHJpbmddOworICAgIEVYUEVDVF9UUlVFKGNvbnRhaW5zU3Ry
aW5nKTsKKyAgICBpZiAoIWNvbnRhaW5zU3RyaW5nKQorICAgICAgICBOU0xvZyhAIkV4cGVjdGVk
OiBcIiVAXCIgdG8gY29udGFpbjogXCIlQFwiIiwgY29udGVudHNBc1N0cmluZy5nZXQoKSwgZXhw
ZWN0ZWRTdHJpbmcpOworfQorCitURVNUKENvb2tpZUNvbnNlbnQsIEJhc2ljRGVjaXNpb25IYW5k
bGVyKQoreworICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdlYlZpZXdGb3JUZXN0aW5nQ29va2ll
Q29uc2VudCgpOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbQ29va2llQ29uc2VudERl
bGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW2RlbGVnYXRlIHNldERlY2lzaW9uOllFU107Cisg
ICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcg
c3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiY29va2llLWNvbnNlbnQtYmFzaWMiXTsK
KyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgY2hlY2tG
b3JTdHJpbmcod2ViVmlldy5nZXQoKSwgQCJyZXR1cm5lZDogdHJ1ZSIpOworCisgICAgW2RlbGVn
YXRlIHNldERlY2lzaW9uOk5PXTsKKyAgICBbd2ViVmlldyBfa2lsbFdlYkNvbnRlbnRQcm9jZXNz
QW5kUmVzZXRTdGF0ZV07CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5h
bWVkOkAiY29va2llLWNvbnNlbnQtYmFzaWMiXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZV07CisgICAgY2hlY2tGb3JTdHJpbmcod2ViVmlldy5nZXQoKSwgQCJy
ZXR1cm5lZDogZmFsc2UiKTsKK30KKworVEVTVChDb29raWVDb25zZW50LCBOb3RFbmFibGVkKQor
eworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgNDAwLCA0MDApXSk7CisgICAgW3dlYlZpZXcgc3lu
Y2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiY29va2llLWNvbnNlbnQtYmFzaWMiXTsKKyAg
ICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgY2hlY2tGb3JT
dHJpbmcod2ViVmlldy5nZXQoKSwgQCJub3QgZW5hYmxlZCIpOworfQorCitURVNUKENvb2tpZUNv
bnNlbnQsIFRocm93c0V4Y2VwdGlvbldpdGhvdXREZWxlZ2F0ZSkKK3sKKyAgICBhdXRvIHdlYlZp
ZXcgPSBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ0Nvb2tpZUNvbnNlbnQoKTsKKyAgICBbd2ViVmll
dyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJjb29raWUtY29uc2VudC1iYXNpYyJd
OworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBjaGVj
a0ZvclN0cmluZyh3ZWJWaWV3LmdldCgpLCBAInRocmV3IGV4Y2VwdGlvbjogTm90U3VwcG9ydGVk
RXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIpOworfQorCit9IC8vIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9jb29raWUtY29uc2VudC1iYXNpYy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNmE4M2Fj
NDM0YTJhYzdkMDUxZjFiNWY2ZDNhNzFjMmYxMmRhYmQzCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbApA
QCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD0i
dXRmOCI+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPGhlYWQ+Cis8c2NyaXB0PgorYWRkRXZlbnRMaXN0ZW5lcigi
RE9NQ29udGVudExvYWRlZCIsIGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBvdXRwdXQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7CisgICAgaWYgKCFuYXZpZ2F0b3IucmVxdWVz
dENvb2tpZUNvbnNlbnQpIHsKKyAgICAgICAgb3V0cHV0LnRleHRDb250ZW50ID0gIm5vdCBlbmFi
bGVkIjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHRyeSB7CisgICAgICAgIGxldCBj
b25zZW50ID0gYXdhaXQgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50KCk7CisgICAgICAg
IG91dHB1dC50ZXh0Q29udGVudCA9IGByZXR1cm5lZDogJHtjb25zZW50fWA7CisgICAgfSBjYXRj
aCAoZSkgeworICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSBgdGhyZXcgZXhjZXB0aW9uOiAk
e2V9YDsKKyAgICB9Cit9KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cHJlPm5hdmln
YXRvci5yZXF1ZXN0Q29va2llQ29uc2VudCgpPC9wcmU+Cis8cHJlPuKGqiZuYnNwOzxjb2RlIGlk
PSJvdXRwdXQiPjwvY29kZT48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446285</attachid>
            <date>2021-12-07 20:46:21 -0800</date>
            <delta_ts>2021-12-08 08:09:28 -0800</delta_ts>
            <desc>Followup (for EWS)</desc>
            <filename>bug-233890-20211207204619.patch</filename>
            <type>text/plain</type>
            <size>5130</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFkNzUxMDExYTNkMTkxMjY0
M2RmZmRiZjM1ZjA5MWZlNmZmZmY5YTIuLjYwMjZiNzg1YTg3YjIyZjdhMTU2OWFjZDYxNzYyMGYy
OWZjNzYyYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMTItMDcgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbWlzc2luZyBD
b21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyIGFyb3VuZCBhIFVJIGRlbGVnYXRlIG1ldGhvZCBj
YWxsIGFmdGVyIHIyODY2NDAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMzg5MAorICAgICAgICByZGFyOi8vODYxMTc3MTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGUgYW5kIHBhc3MgYSBgQ29t
cGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcmAgdGhyb3VnaCB0aGUgbmV3IGRlbGVnYXRlIGNhbGwg
dG8KKyAgICAgICAgYC1fd2ViVmlldzpyZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hh
bmRsZXI6ZGVjaXNpb25IYW5kbGVyOmAgYWRkZWQgaW4gcjI4NjY0MC4KKworICAgICAgICBUZXN0
OiBDb29raWVDb25zZW50Lkludm9rZUNvbXBsZXRpb25IYW5kbGVyTXVsdGlwbGVUaW1lcworCisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6
OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29uc2VudCk6CisKIDIwMjEtMTIt
MDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIGBuYXZpZ2F0b3IucmVxdWVzdENvb2tpZUNvbnNlbnQoKWAgYmVoaW5kIGEg
ZGlzYWJsZWQgZmVhdHVyZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5tbQppbmRleCBhNDc5MzdmZWM5OTEzMTI4ZDBiYmM0YTViNTRlMDk2NjE4OTQzNjg0
Li42ZDU5YThmNjQxNmEyMjVhMzk4MTA5OWZiZjFlNmNmNmE5MzczMmJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KQEAgLTY1NSw3ICs2NTUsMTEgQEAg
dm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChXZWJDb3JlOjoKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb24oV2ViQ29y
ZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpOb3RTdXBwb3J0ZWQpOwogCiAgICAgLy8g
RklYTUU6IEFkZCBzdXBwb3J0IGZvciB0aGUgJ21vcmUgaW5mbycgaGFuZGxlci4KLSAgICBbKGlk
IDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1f
d2ViVmlldy5nZXQoKS5nZXQoKSByZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRs
ZXI6bmlsIGRlY2lzaW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb24gPSBXVEZNb3Zl
KGNvbXBsZXRpb24pXSAoQk9PTCBkZWNpc2lvbikgbXV0YWJsZSB7CisgICAgYXV0byBjaGVja2Vy
ID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKGRlbGVnYXRlLmdldCgpLCBA
c2VsZWN0b3IoX3dlYlZpZXc6cmVxdWVzdENvb2tpZUNvbnNlbnRXaXRoTW9yZUluZm9IYW5kbGVy
OmRlY2lzaW9uSGFuZGxlcjopKTsKKyAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxl
Z2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSByZXF1ZXN0
Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hhbmRsZXI6bmlsIGRlY2lzaW9uSGFuZGxlcjptYWtl
QmxvY2tQdHIoW2NvbXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24pLCBjaGVja2VyID0gV1RG
TW92ZShjaGVja2VyKV0gKEJPT0wgZGVjaXNpb24pIG11dGFibGUgeworICAgICAgICBpZiAoY2hl
Y2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNCZWVuQ2FsbGVkKCkpCisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIGNoZWNrZXItPmRpZENhbGxDb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAg
ICBjb21wbGV0aW9uKGRlY2lzaW9uID8gV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVz
dWx0OjpDb25zZW50IDogV2ViQ29yZTo6Q29va2llQ29uc2VudERlY2lzaW9uUmVzdWx0OjpEaXNz
ZW50KTsKICAgICB9KS5nZXQoKV07CiB9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggMjM3NTk1N2E5ZGNhNTY2NmM1Y2MwZjY1Mjc0MmNlYzI5MWE0
ZTI3Mi4uMzk2ZmJkZTRkYjA3ZjJiZjI1N2JkMjRlN2YxNTRkODRlZmU4N2EyZSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDIxLTEyLTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisg
ICAgICAgIEFkZCBhIG1pc3NpbmcgQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlciBhcm91bmQg
YSBVSSBkZWxlZ2F0ZSBtZXRob2QgY2FsbCBhZnRlciByMjg2NjQwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4OTAKKyAgICAgICAgcmRhcjovLzg2
MTE3NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGFuIEFQSSB0ZXN0IHRvIHZlcmlmeSB0aGF0IHJlcGVhdGVkbHkgaW52b2tpbmcgdGhlIGNv
bXBsZXRpb24gaGFuZGxlciBwYXNzZWQgdG8gdGhlIGRlbGVnYXRlIG1ldGhvZCBkb2VzIG5vdAor
ICAgICAgICByZXN1bHQgaW4gYSBjcmFzaCBvciBhc3NlcnRpb24uCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Db29raWVDb25zZW50Lm1tOgorICAgICAgICAoLVtDb29r
aWVDb25zZW50RGVsZWdhdGUgX3dlYlZpZXc6cmVxdWVzdENvb2tpZUNvbnNlbnRXaXRoTW9yZUlu
Zm9IYW5kbGVyOmRlY2lzaW9uSGFuZGxlcjpdKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorCiAyMDIxLTEyLTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25z
ZW50KClgIGJlaGluZCBhIGRpc2FibGVkIGZlYXR1cmUgZmxhZwpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ29va2llQ29uc2VudC5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Nvb2tpZUNvbnNlbnQubW0KaW5kZXggMmRhMGRlOTBlYzdk
MjJmNzQwMjk2YmRhMzgxZWYxNDdlYjFkODU1ZS4uMjUxMmIzNTYwMGVlY2ZhMGVlYzQ0MzA2OTFk
NTFiZjU0OTcxYWRiNSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvQ29va2llQ29uc2VudC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9Db29raWVDb25zZW50Lm1tCkBAIC0zMiw2ICszMiw3IEBACiAKIEBpbnRlcmZhY2UgQ29va2ll
Q29uc2VudERlbGVnYXRlIDogTlNPYmplY3Q8V0tVSURlbGVnYXRlUHJpdmF0ZT4KIEBwcm9wZXJ0
eSAobm9uYXRvbWljKSBCT09MIGRlY2lzaW9uOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wg
c2hvdWxkSW52b2tlQ29tcGxldGlvbkhhbmRsZXJUd2ljZTsKIEBlbmQKIAogQGltcGxlbWVudGF0
aW9uIENvb2tpZUNvbnNlbnREZWxlZ2F0ZQpAQCAtMzksNiArNDAsOCBAQCBAaW1wbGVtZW50YXRp
b24gQ29va2llQ29uc2VudERlbGVnYXRlCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IHJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjoodm9pZCAoXiko
dm9pZCkpbW9yZUluZm9IYW5kbGVyIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpZGVj
aXNpb25IYW5kbGVyCiB7CiAgICAgZGVjaXNpb25IYW5kbGVyKHNlbGYuZGVjaXNpb24pOworICAg
IGlmIChzZWxmLnNob3VsZEludm9rZUNvbXBsZXRpb25IYW5kbGVyVHdpY2UpCisgICAgICAgIGRl
Y2lzaW9uSGFuZGxlcihzZWxmLmRlY2lzaW9uKTsKIH0KIAogQGVuZApAQCAtODMsNiArODYsMTgg
QEAgVEVTVChDb29raWVDb25zZW50LCBCYXNpY0RlY2lzaW9uSGFuZGxlcikKICAgICBjaGVja0Zv
clN0cmluZyh3ZWJWaWV3LmdldCgpLCBAInJldHVybmVkOiBmYWxzZSIpOwogfQogCitURVNUKENv
b2tpZUNvbnNlbnQsIEludm9rZUNvbXBsZXRpb25IYW5kbGVyTXVsdGlwbGVUaW1lcykKK3sKKyAg
ICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ0Nvb2tpZUNvbnNlbnQoKTsK
KyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW0Nvb2tpZUNvbnNlbnREZWxlZ2F0ZSBhbGxv
Y10gaW5pdF0pOworICAgIFtkZWxlZ2F0ZSBzZXREZWNpc2lvbjpZRVNdOworICAgIFtkZWxlZ2F0
ZSBzZXRTaG91bGRJbnZva2VDb21wbGV0aW9uSGFuZGxlclR3aWNlOllFU107CisgICAgW3dlYlZp
ZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcgc3luY2hyb25v
dXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiY29va2llLWNvbnNlbnQtYmFzaWMiXTsKKyAgICBbd2Vi
VmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgY2hlY2tGb3JTdHJpbmco
d2ViVmlldy5nZXQoKSwgQCJyZXR1cm5lZDogdHJ1ZSIpOworfQorCiBURVNUKENvb2tpZUNvbnNl
bnQsIE5vdEVuYWJsZWQpCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA0MDAsIDQwMCldKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446369</attachid>
            <date>2021-12-08 08:09:31 -0800</date>
            <delta_ts>2021-12-08 09:05:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233890-20211208080928.patch</filename>
            <type>text/plain</type>
            <size>2408</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFkNzUxMDExYTNkMTkxMjY0
M2RmZmRiZjM1ZjA5MWZlNmZmZmY5YTIuLmVmOGI5OTkxZjhmMjgyZjIwM2RkNDc4NmQ0NzdiNGE0
NzhiZDI1OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDcgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbWlzc2luZyBD
b21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyIGFyb3VuZCBhIFVJIGRlbGVnYXRlIG1ldGhvZCBj
YWxsIGFmdGVyIHIyODY2NDAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMzg5MAorICAgICAgICByZGFyOi8vODYxMTc3MTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGUgYW5kIHBhc3MgYSBgQ29t
cGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcmAgdGhyb3VnaCB0aGUgbmV3IGRlbGVnYXRlIGNhbGwg
dG8KKyAgICAgICAgYC1fd2ViVmlldzpyZXF1ZXN0Q29va2llQ29uc2VudFdpdGhNb3JlSW5mb0hh
bmRsZXI6ZGVjaXNpb25IYW5kbGVyOmAgYWRkZWQgaW4gcjI4NjY0MC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRl
OjpVSUNsaWVudDo6cmVxdWVzdENvb2tpZUNvbnNlbnQpOgorCiAyMDIxLTEyLTA3ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciBgbmF2aWdhdG9yLnJlcXVlc3RDb29raWVDb25zZW50KClgIGJlaGluZCBhIGRpc2FibGVkIGZl
YXR1cmUgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0K
aW5kZXggYTQ3OTM3ZmVjOTkxMzEyOGQwYmJjNGE1YjU0ZTA5NjYxODk0MzY4NC4uNmQ1OWE4ZjY0
MTZhMjI1YTM5ODEwOTlmYmYxZTZjZjZhOTM3MzJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCkBAIC02NTUsNyArNjU1LDExIEBAIHZvaWQgVUlEZWxl
Z2F0ZTo6VUlDbGllbnQ6OnJlcXVlc3RDb29raWVDb25zZW50KENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV2ViQ29yZTo6CiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uKFdlYkNvcmU6OkNvb2tpZUNv
bnNlbnREZWNpc2lvblJlc3VsdDo6Tm90U3VwcG9ydGVkKTsKIAogICAgIC8vIEZJWE1FOiBBZGQg
c3VwcG9ydCBmb3IgdGhlICdtb3JlIGluZm8nIGhhbmRsZXIuCi0gICAgWyhpZCA8V0tVSURlbGVn
YXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3dlYlZpZXc6bV91aURlbGVnYXRlLT5tX3dlYlZpZXcuZ2V0
KCkuZ2V0KCkgcmVxdWVzdENvb2tpZUNvbnNlbnRXaXRoTW9yZUluZm9IYW5kbGVyOm5pbCBkZWNp
c2lvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFtjb21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9u
KV0gKEJPT0wgZGVjaXNpb24pIG11dGFibGUgeworICAgIGF1dG8gY2hlY2tlciA9IENvbXBsZXRp
b25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShkZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9yKF93
ZWJWaWV3OnJlcXVlc3RDb29raWVDb25zZW50V2l0aE1vcmVJbmZvSGFuZGxlcjpkZWNpc2lvbkhh
bmRsZXI6KSk7CisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3dlYlZp
ZXc6bV91aURlbGVnYXRlLT5tX3dlYlZpZXcuZ2V0KCkuZ2V0KCkgcmVxdWVzdENvb2tpZUNvbnNl
bnRXaXRoTW9yZUluZm9IYW5kbGVyOm5pbCBkZWNpc2lvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFtj
b21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9uKSwgY2hlY2tlciA9IFdURk1vdmUoY2hlY2tl
cildIChCT09MIGRlY2lzaW9uKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKGNoZWNrZXItPmNvbXBs
ZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBjaGVja2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgY29tcGxldGlv
bihkZWNpc2lvbiA/IFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Q29uc2Vu
dCA6IFdlYkNvcmU6OkNvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6RGlzc2VudCk7CiAgICAg
fSkuZ2V0KCldOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>