<?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>239066</bug_id>
          
          <creation_ts>2022-04-11 05:51:24 -0700</creation_ts>
          <short_desc>Expose workers as service worker clients and implement registration matching for dedicated workers</short_desc>
          <delta_ts>2022-08-01 09:55:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=239436</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=243409</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>238992</dependson>
          <blocked>239122</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1860261</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-11 05:51:24 -0700</bug_when>
    <thetext>Expose workers as service worker clients and implement registration matching for dedicated workers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860273</commentid>
    <comment_count>1</comment_count>
      <attachid>457252</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-11 06:58:29 -0700</bug_when>
    <thetext>Created attachment 457252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860640</commentid>
    <comment_count>2</comment_count>
      <attachid>457324</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-12 02:53:26 -0700</bug_when>
    <thetext>Created attachment 457324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860718</commentid>
    <comment_count>3</comment_count>
      <attachid>457342</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-12 10:36:32 -0700</bug_when>
    <thetext>Created attachment 457342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860724</commentid>
    <comment_count>4</comment_count>
      <attachid>457344</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-12 10:50:28 -0700</bug_when>
    <thetext>Created attachment 457344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860727</commentid>
    <comment_count>5</comment_count>
      <attachid>457346</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-12 10:52:32 -0700</bug_when>
    <thetext>Created attachment 457346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861055</commentid>
    <comment_count>6</comment_count>
      <attachid>457513</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-13 01:29:25 -0700</bug_when>
    <thetext>Created attachment 457513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861096</commentid>
    <comment_count>7</comment_count>
      <attachid>457513</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-13 06:04:53 -0700</bug_when>
    <thetext>Comment on attachment 457513
Patch

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

&gt; LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:7
&gt; +FAIL Verify a cors worker script served by a service worker fails dedicated worker start. assert_equals: Expected error event, but got message event instead expected &quot;error&quot; but got &quot;message&quot;

Fixed by https://bugs.webkit.org/show_bug.cgi?id=239123.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861097</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-13 06:05:56 -0700</bug_when>
    <thetext>Follow-up patch should handle unregistering of workers and better handle blob workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861111</commentid>
    <comment_count>9</comment_count>
      <attachid>457513</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-13 07:29:02 -0700</bug_when>
    <thetext>Comment on attachment 457513
Patch

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

r=me but I think there is a bug to fix before landing.

&gt; Source/WebCore/workers/WorkerGlobalScope.cpp:662
&gt; +    SWClientConnection&amp; connection = swClientConnection();

Not sure why we need a local variable here.

&gt; Source/WebCore/workers/WorkerScriptLoader.cpp:50
&gt; +    static NeverDestroyed&lt;HashMap&lt;ScriptExecutionContextIdentifier, WorkerScriptLoader*&gt;&gt; map;

Is this only used on the main thread? I assume so since I see no locking. If so, we should use MainThreadNeverDestroyed.

&gt; Source/WebCore/workers/service/SWClientConnection.cpp:244
&gt; +            updateController(*document, WTFMove(newController));

The WTFMove() here looks like a bug since we&apos;re in a for loop.

&gt; Source/WebCore/workers/service/SWClientConnection.cpp:248
&gt; +            worker-&gt;postTaskToWorkerGlobalScope([newController = WTFMove(newController).isolatedCopy()] (auto&amp; context) mutable {

ditto.

&gt; Source/WebCore/workers/service/ServiceWorkerClientData.cpp:72
&gt; +    if (is&lt;Document&gt;(context)) {

if (auto* document = dynamicDowncast&lt;Document&gt;(context)) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861411</commentid>
    <comment_count>10</comment_count>
      <attachid>457599</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-14 00:03:03 -0700</bug_when>
    <thetext>Created attachment 457599
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861421</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-14 01:49:30 -0700</bug_when>
    <thetext>Committed r292861 (249632@main): &lt;https://commits.webkit.org/249632@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457599.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861422</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-14 01:50:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/91742199&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457252</attachid>
            <date>2022-04-11 06:58:29 -0700</date>
            <delta_ts>2022-04-12 02:53:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239066-20220411155825.patch</filename>
            <type>text/plain</type>
            <size>82272</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWFlYTMwOGY3ODAxZjkw
MTFlMDEyNDQwYWE5ZTU4NDA5MTVjMTcyZC4uNTExM2RhMWE5NTRkMWYzZWYzNTgzMThiYjQ4ZjVk
ZDU0ODgxM2FlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIyLTA0LTExICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2Ugd29ya2VycyBh
cyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNo
aW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGV4cG9zaW5nIHdvcmtlcnMgKGRlZGlj
YXRlZCBhbmQgc2hhcmVkKSBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzLgorICAgICAgICBBZGQg
c3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgY29udHJvbGxpbmcgcmVnaXN0cmF0aW9uIGZvciBkZWRp
Y2F0ZWQgd29ya2VycworICAgICAgICAoYSBmb2xsb3ctdXAgcGF0Y2ggc2hvdWxkIGhhbmRsZSBz
aGFyZWQgd29ya2VycykuCisgICAgICAgIFRvIHByb3Blcmx5IGhhbmRsZSBsb2FkcyBjb21pbmcg
ZnJvbSBhIHdvcmtlciwgd2UgcHJvcGVybHkgc2V0IGNsaWVudElkZW50aWZpZXIgYW5kIHJlZ2lz
dHJhdGlvbiBpZGVudGlmaWVyCisgICAgICAgIGZyb20gdGhlIHdvcmtlciBjb250ZXh0LCBpbnN0
ZWFkIG9mIGZyb20gdGhlIHdvcmtlcidzIGRvY3VtZW50LgorCisgICAgICAgIFNtYWxsIHJlZmFj
dG9yaW5nIHRvIHBhc3MgYWRkaXRpb25hbCBkYXRhIHRvIHdvcmtlciB0aHJvdWdoIFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHNldCB0aGUgY29udGV4
dCBJRCBhbmQgY29udGV4dCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KKworICAgICAgICBU
ZXN0OiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIu
aHR0cHMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHA6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6Cisg
ICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRmV0
Y2hPcHRpb25zLmg6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94
eS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg6IEFkZGVk
LgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29y
a2xldEdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIu
Y3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFk
Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAg
ICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcDoKKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorCiAyMDIyLTA0LTExICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2UgbW9yZSBTZXJ2aWNlV29y
a2VyIGludGVyZmFjZXMgdG8gd29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmY2ZmMzQyNDA1NTkyOThiNWQy
ODhkYWE3YjI0NjZkMzk3NGUwNGI2Li42NWE4MzkwNjU5ZjA0ZGJiOTllMGQ4MGFlNTIzOWE1NWRj
ZTRlNWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTA0LTExICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2
aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZv
ciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmV1c2UgdGhlIHNhbWUgc3RyYXRlZ3kgZm9yIERlZGljYXRlZFdvcmtlcnMg
YXMgZm9yIERvY3VtZW50cyB0byBtYXRjaCByZWdpc3RyYXRpb25zIGFuZCBjb250cm9sIHRoZW46
CisgICAgICAgIC0gRG8gbWF0Y2hpbmcgaW4gbmV0d29yayBwcm9jZXNzCisgICAgICAgIC0gSWYg
bWF0Y2hpbmcsIHNlbmQgYSBtZXNzYWdlIHRvIFdlYlByb2Nlc3MgdG8gc2V0IHRoZSBtYXRjaGlu
ZyByZWdpc3RyYXRpb24gZGF0YS4KKyAgICAgICAgQWRkIHNwZWNpZmljIGhhbmRsaW5nIGZvciB3
b3JrZXIgcmVnaXN0cmF0aW9uIHJlbWF0Y2hpbmcgaW4gY2FzZSBvZiByZWRpcmVjdGlvbnM6Cisg
ICAgICAgIC0gSWYgcmVkaXJlY3Rpb24gY29tZXMgZnJvbSBzZXJ2aWNlIHdvcmtlciAodmlhIHJl
c3BvbmRXaXRoKSwgZG8gcmVtYXRjaGluZy4KKyAgICAgICAgLSBJZiByZWRpcmVjdGlvbiBjb21l
cyBmcm9tIG5ldHdvcmssIGRvIG5vdCBkbyByZW1hdGNoaW5nLgorCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
OgorCiAyMDIyLTA0LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCBXaW5kb3dzIGJ1aWxkIGZpeCBhZnRlciByMjkyNjk2LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCBmNzQzMzhlOGQzMjIy
NzBhMzgwZjI0OWE2NDJlNGVhMGY5MjI4NmUxLi45ZGVkZDA3YzM2YzAwMDE4Y2ZhMGVmNTEyYWIz
MzViNTI1NjNhNzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9h
ZGVyLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXIuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZm
ZXIuaCIKICNpbmNsdWRlICJUZXh0UmVzb3VyY2VEZWNvZGVyLmgiCiAjaW5jbHVkZSAiVGhyZWFk
YWJsZUJsb2JSZWdpc3RyeS5oIgpAQCAtMTE3LDYgKzExOCwxNCBAQCB2b2lkIEZldGNoTG9hZGVy
OjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVl
c3QmIHJlcQogICAgIGlmIChvcHRpb25zLnJlZmVycmVyUG9saWN5ID09IFJlZmVycmVyUG9saWN5
OjpFbXB0eVN0cmluZykKICAgICAgICAgb3B0aW9ucy5yZWZlcnJlclBvbGljeSA9IGNvbnRleHQu
cmVmZXJyZXJQb2xpY3koKTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBpZiAo
YXV0byogYWN0aXZlU2VydmljZVdvcmtlciA9IGNvbnRleHQuYWN0aXZlU2VydmljZVdvcmtlcigp
KQorICAgICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0g
YWN0aXZlU2VydmljZVdvcmtlci0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpOworICAgIGVsc2UK
KyAgICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2Vyc01vZGUgPSBTZXJ2aWNlV29ya2Vyc01vZGU6
Ok5vbmU7CisjZW5kaWYKKyAgICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBjb250ZXh0Lmlk
ZW50aWZpZXIoKTsKKwogICAgIG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKGNv
bnRleHQsICp0aGlzLCBXVEZNb3ZlKGZldGNoUmVxdWVzdCksIG9wdGlvbnMsIFdURk1vdmUocmVm
ZXJyZXIpKTsKICAgICBtX2lzU3RhcnRlZCA9IG1fbG9hZGVyOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDY3ZDZjYzEzZDI4
MmI1ZWI3MzcyM2I5OGYzNmM1MzdiN2UzYTI2MWEuLmFkYzJiZjI5NGMyZTI5ZjYwOWE5MGYyYzcw
MzRlNTE2YjY2NDlkNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNjUsNiArMTA2NSw3IEBACiAJCTNGRjgxM0E3MURCQTg2
NDAwMDlCRjAwMSAvKiBQb2ludGVyTG9ja0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRkM0MzRGMTkyNDA2QTkwMEEwRDNCNSAvKiBQ
b2ludGVyTG9ja0NvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MTA3OTA4QzFGQzNGMDMzMDA2MUIyN0EgLyogQ2xpZW50T3JpZ2lu
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTA3OTA4
QTFGQzNFNEYyMDA2MUIyN0EgLyogQ2xpZW50T3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEwQkNGNTYyNkYwQ0Q4QzAwNDBCMTI0IC8q
IFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwQkNGNTMyNkYwQ0Q4QjAwNDBCMTI0IC8qIFJUQ0xv
Y2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5oICovOyB9OworCQk0MTBDNDhBNzI4MDQyMEY4MDA4
NEQxMDQgLyogV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTBDNDhBNjI4MDQyMEYyMDA4NEQxMDQgLyogV29y
a2VySW5pdGlhbGl6YXRpb25EYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNDEwRTQ0NjEyMzQzNzNFOTAwMDE3M0Q0IC8qIExpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxMEU0NDVGMjM0MzczQUQwMDAxNzNENCAvKiBMaWJXZWJSVENTb2NrZXRJZGVudGlm
aWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDExMDBDODAyM0Y3NDU4MzAwMUJDMzNCIC8qIFdlYlNvY2tldENoYW5uZWxJbnNwZWN0b3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTAwQzdFMjNG
NzM5ODIwMDFCQzMzQiAvKiBXZWJTb2NrZXRDaGFubmVsSW5zcGVjdG9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDExMDNBQUMxRTM5NzkxMDAw
NzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExMDNBQTgxRTM5NzkwQTAwNzY5RjAzIC8q
IFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5oICovOyB9OwpAQCAtMTM1Myw3ICsxMzU0LDcg
QEAKIAkJNDY3MkFBOTkyNkIwOTQzRjAwRTZFQzM4IC8qIENyb3NzT3JpZ2luT3BlbmVyUG9saWN5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjcyQUE5
NzI2QjA5NDIxMDBFNkVDMzggLyogQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjczMDIwMjFDNEVGRTc4
MDBCQ0IzNTcgLyogSWdub3JlT3BlbnNEdXJpbmdVbmxvYWRDb3VudEluY3JlbWVudGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjczMDIwMTFDNEVG
RTY2MDBCQ0IzNTcgLyogSWdub3JlT3BlbnNEdXJpbmdVbmxvYWRDb3VudEluY3JlbWVudGVyLmgg
Ki87IH07CiAJCTQ2N0E2OEQ3Mjc1RUE5OTEwMDlCMzFDNSAvKiBTaGFyZWRXb3JrZXJUaHJlYWQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2N0E2OEQ0
Mjc1RUE5OEIwMDlCMzFDNSAvKiBTaGFyZWRXb3JrZXJUaHJlYWQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0NjdBNjhEODI3NUVBOTk1MDA5QjMx
QzUgLyogU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENTI3NUVBOThDMDA5QjMxQzUgLyogU2hhcmVk
V29ya2VyU2NyaXB0TG9hZGVyLmggKi87IH07CisJCTQ2N0E2OEQ4Mjc1RUE5OTUwMDlCMzFDNSAv
KiBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2N0E2OEQ1Mjc1RUE5OEMwMDlCMzFDNSAvKiBTaGFyZWRXb3Jr
ZXJTY3JpcHRMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0NjdBNjhEOTI3NUVBOTk4MDA5QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFk
UHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2
N0E2OEQ2Mjc1RUE5OEMwMDlCMzFDNSAvKiBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2ODJEMjAwMUY3
OTc4MzAwMEM4NjNEQiAvKiBTdG9yZWRDcmVkZW50aWFsc1BvbGljeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY4MkQxRkYxRjc5NzgyMzAwQzg2M0RC
IC8qIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDY4MzQ0RTAxRURERkFBQTAwQjc3OTVCIC8qIERPTVJl
Y3RMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NjgzNDRERTFFRERGQTVGMDBCNzc5NUIgLyogRE9NUmVjdExpc3QuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODU2Niw2ICs4NTY3LDcgQEAKIAkJ
NDEwQkExMzEyNTcwRkU1NzAwMkUyRjhBIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVENSdHBU
cmFuc2Zvcm1hYmxlRnJhbWUuY3BwOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEJDRjUz
MjZGMENEOEIwMDQwQjEyNCAvKiBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25J
bml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEJDRjU1MjZGMENEOEMwMDQw
QjEyNCAvKiBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxMEM0OEE2MjgwNDIwRjIwMDg0RDEwNCAvKiBXb3JrZXJJbml0
aWFsaXphdGlvbkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2Vy
SW5pdGlhbGl6YXRpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEU0
NDVGMjM0MzczQUQwMDAxNzNENCAvKiBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIuaDsg
cGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxMEY1NjU1MjRGQ0Y3MDUwMEEyRTUwQyAvKiBSVENTZXNzaW9u
RGVzY3JpcHRpb25Jbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENTZXNzaW9uRGVz
Y3JpcHRpb25Jbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwRjU2NTcy
NEZDRjdDNzAwQTJFNTBDIC8qIFJUQ0ljZUNhbmRpZGF0ZUluaXQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFJUQ0ljZUNhbmRpZGF0ZUluaXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMjA5NDQsNiArMjA5NDYsNyBAQAogCQkJCTJFNDM0NjM3MEY1NDZBODIwMEIwRjFC
QSAvKiBXb3JrZXJHbG9iYWxTY29wZS5oICovLAogCQkJCTJFNDM0NjM4MEY1NDZBODIwMEIwRjFC
QSAvKiBXb3JrZXJHbG9iYWxTY29wZS5pZGwgKi8sCiAJCQkJMkU0MzQ2MzkwRjU0NkE4MjAwQjBG
MUJBIC8qIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuaCAqLywKKwkJCQk0MTBDNDhBNjI4MDQyMEYy
MDA4NEQxMDQgLyogV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmggKi8sCiAJCQkJQTU0QTBDNjkx
REI4MzFGMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvclByb3h5LmNwcCAqLywKIAkJCQlBNTRB
MEM2QTFEQjgzMUYyMDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yUHJveHkuaCAqLywKIAkJCQkx
OEY4MzFCNzBGRDQ4Qzc4MDBEOEM1NkIgLyogV29ya2VyTG9hZGVyUHJveHkuaCAqLywKQEAgLTM4
MzQyLDYgKzM4MzQ1LDcgQEAKIAkJCQlBN0Q2QjM0OTBGNjExMDQ1MDBGRjlGRDEgLyogV29ya2Vy
Rm9udExvYWRSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0OTBGNTQ2QTgyMDBC
MEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjRC
MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MTBDNDhBNzI4MDQyMEY4MDA4NEQxMDQgLyogV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2MjFEQjdGOEMxMDAxN0E5MEIgLyogV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBDNkMxREI4
MzFGOTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxOEY4MzFCODBGRDQ4Qzc4MDBEOEM1NkIgLyogV29ya2VyTG9hZGVyUHJveHkuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBiNjg1MjVkOWMyYjk3M2VmNzUxNWQwNjZl
YjE2YWMzMWRmZGM0MjQyLi4xMDQxZDE2YmNkMjgzZWE2OGNhMjRkY2JlYThlOTRmOTlhZDZlZGJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTU2OCw3ICsxNTY4LDcgQEAgcHVibGljOgogCiAj
aWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIHZvaWQgc2V0U2VydmljZVdvcmtlckNvbm5l
Y3Rpb24oU1dDbGllbnRDb25uZWN0aW9uKik7Ci0gICAgdm9pZCB1cGRhdGVTZXJ2aWNlV29ya2Vy
Q2xpZW50RGF0YSgpOworICAgIHZvaWQgdXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKSBm
aW5hbDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIG5hdmlnYXRlRnJvbVNlcnZpY2VXb3JrZXIo
Y29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggM2ZmYzVm
ZGUwNWI3ZDMwYjEyMDIxYzU5MDM3YTA5ZDdhNjQ0MTRhZS4uYzIzZWZkMDQyNWI4NmZiNDQ2OWNj
MzQzYTAzMjI4Yjg4Y2UyNmQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oCkBAIC0yODksNiArMjg5LDcgQEAgcHVibGljOgogCiAgICAgU2VydmljZVdv
cmtlckNvbnRhaW5lciogc2VydmljZVdvcmtlckNvbnRhaW5lcigpOwogICAgIFNlcnZpY2VXb3Jr
ZXJDb250YWluZXIqIGVuc3VyZVNlcnZpY2VXb3JrZXJDb250YWluZXIoKTsKKyAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKSB7IEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOyB9CiAjZW5kaWYKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBwb3N0VGFza1Rv
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBUYXNrJiYpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHN0YXRpYyBib29sIGVuc3VyZU9uQ29udGV4dFRocmVhZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciwgVGFzayYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwCmluZGV4IDU1NjgyZDBlNDdjZjhhYWU3N2Y0OTc4MzQxNzkzYTM1ZDU1NDBhYzEu
LjQxNjk3ZjUzMGYxZWVjYWQwYzI3ZjNhNGVlMmRjOTA5M2Y3MDIyNWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMjE0MCw2ICsyMTQwLDcgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6bG9hZE1haW5SZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0
KQogICAgICAgICBtX3Jlc3VsdGluZ0NsaWVudElkID0gU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXI6OmdlbmVyYXRlKCk7CiAgICAgICAgIEFTU0VSVCghc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXJUb0xvYWRlck1hcCgpLmNvbnRhaW5zKG1fcmVzdWx0aW5nQ2xpZW50SWQp
KTsKICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb0xvYWRlck1hcCgp
LmFkZChtX3Jlc3VsdGluZ0NsaWVudElkLCB0aGlzKTsKKyAgICAgICAgbWFpblJlc291cmNlTG9h
ZE9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IG1fcmVzdWx0aW5nQ2xpZW50SWQ7CiAgICAgfQog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaAppbmRleCA1YWNlMDE1YmQ1
ZWY3MjkzYjYwZWExZTZhNmRlMWU4Y2Y4MWU4OWFlLi4zOTVkZjA0NmQ0NmE1ZDViZDg1NjY3ZWYw
ZDdiMmNkNDQ5MzM1OGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hP
cHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCkBAIC00
NCw5ICs0NCw5IEBAIHN0cnVjdCBGZXRjaE9wdGlvbnMgewogICAgIGVudW0gY2xhc3MgUmVkaXJl
Y3QgOiB1aW50OF90IHsgRm9sbG93LCBFcnJvciwgTWFudWFsIH07CiAKICAgICBGZXRjaE9wdGlv
bnMoKSA9IGRlZmF1bHQ7Ci0gICAgRmV0Y2hPcHRpb25zKERlc3RpbmF0aW9uLCBNb2RlLCBDcmVk
ZW50aWFscywgQ2FjaGUsIFJlZGlyZWN0LCBSZWZlcnJlclBvbGljeSwgU3RyaW5nJiYsIGJvb2wp
OwotICAgIEZldGNoT3B0aW9ucyBpc29sYXRlZENvcHkoKSBjb25zdCAmIHsgcmV0dXJuIHsgZGVz
dGluYXRpb24sIG1vZGUsIGNyZWRlbnRpYWxzLCBjYWNoZSwgcmVkaXJlY3QsIHJlZmVycmVyUG9s
aWN5LCBpbnRlZ3JpdHkuaXNvbGF0ZWRDb3B5KCksIGtlZXBBbGl2ZSB9OyB9Ci0gICAgRmV0Y2hP
cHRpb25zIGlzb2xhdGVkQ29weSgpICYmIHsgcmV0dXJuIHsgZGVzdGluYXRpb24sIG1vZGUsIGNy
ZWRlbnRpYWxzLCBjYWNoZSwgcmVkaXJlY3QsIHJlZmVycmVyUG9saWN5LCBXVEZNb3ZlKGludGVn
cml0eSkuaXNvbGF0ZWRDb3B5KCksIGtlZXBBbGl2ZSB9OyB9CisgICAgRmV0Y2hPcHRpb25zKERl
c3RpbmF0aW9uLCBNb2RlLCBDcmVkZW50aWFscywgQ2FjaGUsIFJlZGlyZWN0LCBSZWZlcnJlclBv
bGljeSwgU3RyaW5nJiYsIGJvb2wsIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXI+KTsKKyAgICBGZXRjaE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29uc3QgJiB7
IHJldHVybiB7IGRlc3RpbmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0
LCByZWZlcnJlclBvbGljeSwgaW50ZWdyaXR5Lmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUsIGNs
aWVudElkZW50aWZpZXIgfTsgfQorICAgIEZldGNoT3B0aW9ucyBpc29sYXRlZENvcHkoKSAmJiB7
IHJldHVybiB7IGRlc3RpbmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0
LCByZWZlcnJlclBvbGljeSwgV1RGTW92ZShpbnRlZ3JpdHkpLmlzb2xhdGVkQ29weSgpLCBrZWVw
QWxpdmUsIGNsaWVudElkZW50aWZpZXIgfTsgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4gdm9pZCBlbmNvZGVQZXJzaXN0ZW50KEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlUGVyc2lz
dGVudChEZWNvZGVyJiwgRmV0Y2hPcHRpb25zJik7CkBAIC01OSwyMCArNTksMjEgQEAgc3RydWN0
IEZldGNoT3B0aW9ucyB7CiAgICAgQ2FjaGUgY2FjaGUgeyBDYWNoZTo6RGVmYXVsdCB9OwogICAg
IFJlZGlyZWN0IHJlZGlyZWN0IHsgUmVkaXJlY3Q6OkZvbGxvdyB9OwogICAgIFJlZmVycmVyUG9s
aWN5IHJlZmVycmVyUG9saWN5IHsgUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nIH07Ci0gICAg
Ym9vbCBrZWVwQWxpdmUgeyBmYWxzZSB9OwogICAgIFN0cmluZyBpbnRlZ3JpdHk7CisgICAgYm9v
bCBrZWVwQWxpdmUgeyBmYWxzZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXI+IGNsaWVudElkZW50aWZpZXI7CiB9OwogCi1pbmxpbmUgRmV0Y2hP
cHRpb25zOjpGZXRjaE9wdGlvbnMoRGVzdGluYXRpb24gZGVzdGluYXRpb24sIE1vZGUgbW9kZSwg
Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIENhY2hlIGNhY2hlLCBSZWRpcmVjdCByZWRpcmVjdCwg
UmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIFN0cmluZyYmIGludGVncml0eSwgYm9vbCBr
ZWVwQWxpdmUpCitpbmxpbmUgRmV0Y2hPcHRpb25zOjpGZXRjaE9wdGlvbnMoRGVzdGluYXRpb24g
ZGVzdGluYXRpb24sIE1vZGUgbW9kZSwgQ3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIENhY2hlIGNh
Y2hlLCBSZWRpcmVjdCByZWRpcmVjdCwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIFN0
cmluZyYmIGludGVncml0eSwgYm9vbCBrZWVwQWxpdmUsIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWZpZXI+IGNsaWVudElkZW50aWZpZXIpCiAgICAgOiBkZXN0aW5h
dGlvbihkZXN0aW5hdGlvbikKICAgICAsIG1vZGUobW9kZSkKICAgICAsIGNyZWRlbnRpYWxzKGNy
ZWRlbnRpYWxzKQogICAgICwgY2FjaGUoY2FjaGUpCiAgICAgLCByZWRpcmVjdChyZWRpcmVjdCkK
ICAgICAsIHJlZmVycmVyUG9saWN5KHJlZmVycmVyUG9saWN5KQotICAgICwga2VlcEFsaXZlKGtl
ZXBBbGl2ZSkKICAgICAsIGludGVncml0eShXVEZNb3ZlKGludGVncml0eSkpCisgICAgLCBrZWVw
QWxpdmUoa2VlcEFsaXZlKQorICAgICwgY2xpZW50SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVy
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5k
ZXggNTljZGNjMmVjNGM0OGMxYWViZjRlN2JmODFlMjIwMWFkMTAyNTI0NC4uYjVkZDRlZjZhYTk4
MWQ2M2M1NDg0YTQxZWFmNTRjNjlmMWY0Y2VmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNzcsNiArNzcsOCBAQCBUaHJlYWRhYmxlTG9hZGVyT3B0
aW9ucyBUaHJlYWRhYmxlTG9hZGVyT3B0aW9uczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICBj
b3B5LnJlZGlyZWN0ID0gdGhpcy0+cmVkaXJlY3Q7CiAgICAgY29weS5yZWZlcnJlclBvbGljeSA9
IHRoaXMtPnJlZmVycmVyUG9saWN5OwogICAgIGNvcHkuaW50ZWdyaXR5ID0gdGhpcy0+aW50ZWdy
aXR5Lmlzb2xhdGVkQ29weSgpOworICAgIGNvcHkua2VlcEFsaXZlID0gdGhpcy0+a2VlcEFsaXZl
OworICAgIGNvcHkuY2xpZW50SWRlbnRpZmllciA9IHRoaXMtPmNsaWVudElkZW50aWZpZXI7CiAK
ICAgICAvLyBSZXNvdXJjZUxvYWRlck9wdGlvbnMKICAgICBjb3B5LnNlbmRMb2FkQ2FsbGJhY2tz
ID0gdGhpcy0+c2VuZExvYWRDYWxsYmFja3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3Bw
CmluZGV4IDhkN2Q5ZTY2ZDdiYzFkNDI5YWE1ZDdmZjQ2Njg1MDQwMDhhYWNkNGQuLjIyNjczNDI1
NjBhYTZhNWU3Yzc1YzA2ZGU2MzQ0Y2U5NjA4NTRmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwCkBAIC0xMTAsNiArMTEwLDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6Y29ubmVjdCgp
CiAgICAgb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID0gRGF0YUJ1ZmZlcmluZ1BvbGljeTo6
RG9Ob3RCdWZmZXJEYXRhOwogICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6
OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNl
Q29ubmVjdFNyY0RpcmVjdGl2ZTsKICAgICBvcHRpb25zLmluaXRpYXRvciA9IGNhY2hlZFJlc291
cmNlUmVxdWVzdEluaXRpYXRvcnMoKS5ldmVudHNvdXJjZTsKKyAgICBvcHRpb25zLmNsaWVudElk
ZW50aWZpZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlkZW50aWZpZXIoKTsKIAogICAg
IEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgIG1fbG9hZGVyID0gVGhyZWFk
YWJsZUxvYWRlcjo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICp0aGlzLCBXVEZN
b3ZlKHJlcXVlc3QpLCBvcHRpb25zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVk
aWNhdGVkV29ya2VyVGhyZWFkLmNwcAppbmRleCBiN2Y5MTdkNmQ4YmRhMDVlZGI1OGQxMmY3ODVh
M2IzOTIwODEyMDliLi4wZGRmNWVlNTU5ODEwMmQzN2MxY2YyMGJmZGNlM2E1NGZlNTcwNTZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3Bw
CkBAIC00OCw3ICs0OCwxMiBAQCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQoKSA9IGRlZmF1bHQ7CiAKIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVk
V29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0
ZXJzJiBwYXJhbXMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiB0b3BPcmlnaW4pCiB7Ci0gICAgcmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlOjpjcmVhdGUocGFyYW1zLCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9y
aWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICBhdXRv
IHNjb3BlID0gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShwYXJhbXMsIFdURk1v
dmUob3JpZ2luKSwgKnRoaXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5
KCksIHNvY2tldFByb3ZpZGVyKCkpOworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBp
ZiAocGFyYW1zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhICYmIHBhcmFtcy5zZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGF0YS0+YWN0aXZlV29ya2VyKQorICAgICAgICBzY29wZS0+c2V0
QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShzY29wZS5nZXQo
KSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhLT5hY3RpdmVXb3JrZXIgfSkpOworI2VuZGlmCisgICAgcmV0dXJuIHNjb3BlOwogfQogCiB2
b2lkIERlZGljYXRlZFdvcmtlclRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmNwcAppbmRleCA3ZmJhNjI4OTFkZGJhYTZlNjY1YzE0YmY5ZWMyOGEyOGI0NDQxNTQ3
Li5hMDZmYTg4ZTYwZGFhNTE1NmRlZWRlMDFjNTFmYTBiOTM3NDVhNGM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oIgogI2luY2x1ZGUg
Ildvcmtlckdsb2JhbFNjb3BlUHJveHkuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlICJXb3Jr
ZXJUaHJlYWQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JZGVudGlmaWVyc0ZhY3Rvcnku
aD4KQEAgLTIwOCwxMyArMjA5LDE5IEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBib29sIGlzT25saW5lID0gcGxhdGZvcm1TdHJh
dGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCk7CiAgICAgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMgPSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyA/IG1f
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgOiBjb250ZXh0LT5j
b250ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVzcG9uc2VIZWFkZXJzKCk7CiAgICAgUmVmZXJyZXJQ
b2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiAgICAg
aWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRlci0+cmVm
ZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQogICAgICAg
ICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7CiAKLSAgICBtX2NvbnRleHRQcm94eS5zdGFydFdv
cmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgpLCBtX29wdGlv
bnMubmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVS
TCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgbV9zY3JpcHRMb2FkZXItPmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSwg
bV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBtX29wdGlvbnMudHlwZSwgbV9v
cHRpb25zLmNyZWRlbnRpYWxzLCBtX3J1bnRpbWVGbGFncyk7CisgICAgV29ya2VySW5pdGlhbGl6
YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VS
KQorICAgICAgICBtX3NjcmlwdExvYWRlci0+dGFrZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhKCksCisjZW5kaWYKKyAgICAgICAgbV9zY3JpcHRMb2FkZXItPmNsaWVudElkZW50aWZpZXIo
KSwKKyAgICAgICAgY29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVz
dFVSTCgpKQorICAgIH07CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29w
ZShtX3NjcmlwdExvYWRlci0+bGFzdFJlcXVlc3RVUkwoKSwgbV9vcHRpb25zLm5hbWUsIFdURk1v
dmUoaW5pdGlhbGl6YXRpb25EYXRhKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBtX3NjcmlwdExvYWRlci0+Y3Jvc3NPcmlnaW5FbWJlZGRlclBv
bGljeSgpLCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fb3B0aW9ucy50
eXBlLCBtX29wdGlvbnMuY3JlZGVudGlhbHMsIG1fcnVudGltZUZsYWdzKTsKICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpjb250ZXh0LCBtX3NjcmlwdExvYWRl
ci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkudG9TdHJpbmcoKSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXgg
NTkzM2UwNzRlOGI2MzI3ZDA1NjYxYjM0MWUxNjI3MjA5OWZkMjlmYi4uNDYxNTMzMTNiMzIyZjcx
ZmRiMDhjNGNkZTljYzU1NmI3NmY4MmI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJTY3JpcHRT
b3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1
cml0eU9yaWdpblBvbGljeS5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnREYXRhLmgi
CiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiU29ja2V0
UHJvdmlkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCkBA
IC05MSw3ICs5Miw3IEBAIHN0YXRpYyBXb3JrUXVldWUmIHNoYXJlZEZpbGVTeXN0ZW1TdG9yYWdl
UXVldWUoKQogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdvcmtlckdsb2JhbFNjb3BlKTsK
IAogV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUg
dHlwZSwgY29uc3QgV29ya2VyUGFyYW1ldGVycyYgcGFyYW1zLCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgb3JpZ2luLCBXb3JrZXJUaHJlYWQmIHRocmVhZCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRv
cE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwg
U29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGUodHlwZSwgaXNNYWluVGhyZWFkKCkgPyBSZWYgeyBjb21tb25WTSgpIH0gOiBKU0M6
OlZNOjpjcmVhdGUoKSwgJnRocmVhZCkKKyAgICA6IFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
KHR5cGUsIGlzTWFpblRocmVhZCgpID8gUmVmIHsgY29tbW9uVk0oKSB9IDogSlNDOjpWTTo6Y3Jl
YXRlKCksICZ0aHJlYWQsIHBhcmFtcy5jbGllbnRJZCkKICAgICAsIG1fdXJsKHBhcmFtcy5zY3Jp
cHRVUkwpCiAgICAgLCBtX2luc3BlY3RvcklkZW50aWZpZXIocGFyYW1zLmluc3BlY3RvcklkZW50
aWZpZXIpCiAgICAgLCBtX3VzZXJBZ2VudChwYXJhbXMudXNlckFnZW50KQpAQCAtNjUzLDQgKzY1
NCwxNCBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjp1cGRhdGVTb3VyY2VQcm92aWRlckJ1ZmZl
cnMoY29uc3QgU2NyaXB0QnVmZmVyJiBtYWluU2NyaQogICAgIH0KIH0KIAorI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKK3ZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnVwZGF0ZVNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhKCkKK3sKKyAgICBBU1NFUlQodHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckds
b2JhbFNjb3BlOjpUeXBlOjpEZWRpY2F0ZWRXb3JrZXIpOworICAgIGF1dG8gY29udHJvbGxpbmdT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIo
KSA/IHN0ZDo6bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
cj4oYWN0aXZlU2VydmljZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3Rk
OjpudWxsb3B0OworICAgIFNXQ2xpZW50Q29ubmVjdGlvbiYgY29ubmVjdGlvbiA9IHN3Q2xpZW50
Q29ubmVjdGlvbigpOworICAgIGNvbm5lY3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50
KHRvcE9yaWdpbigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRy
b2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7IG1fdXNl
ckFnZW50IH0pOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCBlYWE1ODIwNzRmYWZjNDY0
YzMyOGY4M2U2NTI4YmRhMDdkY2MyZDUyLi41OGJiZDY1NzdmYTQzNzIwN2U5YmE3NmRkZWU3M2Uz
OTY0ZGVkNmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5o
CkBAIC0xOTIsNiArMTkyLDkgQEAgcHJpdmF0ZToKICAgICBib29sIHdyYXBDcnlwdG9LZXkoY29u
c3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSkgZmlu
YWw7CiAgICAgYm9vbCB1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFw
cGVkS2V5LCBWZWN0b3I8dWludDhfdD4mIGtleSkgZmluYWw7CiAjZW5kaWYKKyNpZiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCisgICAgdm9pZCB1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgp
IGZpbmFsOworI2VuZGlmCiAKICAgICB2b2lkIHN0b3BJbmRleGVkRGF0YWJhc2UoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAppbmRleCAy
YmFiMjY3MzVkZTE5YjRiNTExMTA3YTZhY2Q5OWUyOTg2NDU3M2NkLi44YTUwYTcwMDczNzE1NTk0
ZWUxZDRjYzIzZTc5OGMzODE5YTUxNDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CiBjbGFzcyBTY3JpcHRCdWZmZXI7CiBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV29ya2VyOworc3RydWN0IFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YTsKIGVudW0gY2xhc3MgUmVmZXJyZXJQb2xpY3kgOiB1aW50OF90Owog
ZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogYm9vbDsKIApAQCAtNTEsNyArNTIsNyBAQCBjbGFzcyBX
b3JrZXJHbG9iYWxTY29wZVByb3h5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV29ya2VyR2xvYmFs
U2NvcGVQcm94eSYgY3JlYXRlKFdvcmtlciYpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFNjcmlwdEJ1ZmZl
ciYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0
IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJl
ZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpS
dW50aW1lRmxhZ3MpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29w
ZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBXb3JrZXJJbml0aWFs
aXphdGlvbkRhdGEmJiwgY29uc3QgU2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25zdCBDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGlj
eSYsIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUs
IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBv
cnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3Bl
KEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lM2VmYzA4YzRhMjY3YjZmM2Q1ZWIyNWUxOWZmOGFjN2UzYjY5Njk5Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEu
aApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgi
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQorICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+
IHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOworI2VuZGlmCisgICAgc3RkOjpvcHRpb25h
bDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllcjsKKyAg
ICBTdHJpbmcgdXNlckFnZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCBjMzEx
MWEyZjdmNWZmMjkxOGZmZWM1MGJiMzEwM2MwNWUxMjg3NGMzLi4zY2RlZWJmZjc3MjllNDYxNDNm
MTI0YTYyNDNlODcwZWQ3MWJhODAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtMzgsMTEgKzM4LDE0IEBACiAjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgogI2luY2x1ZGUgIkZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVk
ZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKKyNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5oIgogI2lu
Y2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQbGF0
Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJXb3JrZXIuaCIKKyNpbmNsdWRlICJXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJJbnNwZWN0b3JQcm94eS5o
IgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgpAQCAtNzUsNyArNzgsNyBAQCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdv
cmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBkb3duY2FzdDxX
b3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkudGhyZWFkKCkudGhy
ZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5n
UHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNv
bnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBDcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5JiBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBXb3JrZXJU
eXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6
OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpz
dGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IG5hbWUsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSwgY29u
c3QgU2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3kmIGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ksIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5
cGUgd29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIEpTQzo6
UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKIHsKICAgICAvLyBGSVhNRTogVGhpcyBuZWVkIHRv
IGJlIHJldmlzaXRlZCB3aGVuIHdlIHN1cHBvcnQgbmVzdGVkIHdvcmtlciBvbmUgZGF5CiAgICAg
QVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CkBAIC04Nyw3ICs5MCwxMiBAQCB2b2lk
IFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYg
c2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVy
ID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAotICAgIFdvcmtlclBhcmFtZXRlcnMgcGFy
YW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUs
IGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCB0aW1l
T3JpZ2luLCByZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50
LnNldHRpbmdzVmFsdWVzKCkgfTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyB7IHNjcmlw
dFVSTCwgbmFtZSwgaWRlbnRpZmllciwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEudXNlckFn
ZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCks
IGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCB0aW1l
T3JpZ2luLCByZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50
LnNldHRpbmdzVmFsdWVzKCksIFdvcmtlclRocmVhZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCwgeyB9
LAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgV1RGTW92ZShpbml0aWFsaXph
dGlvbkRhdGEuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEpLAorI2VuZGlmCisgICAgICAg
IGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyLnZhbHVlX29yKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyIHsgfSkKKyAgICB9OwogICAgIGF1dG8gdGhyZWFkID0gRGVk
aWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUocGFyYW1zLCBzb3VyY2VDb2RlLCAqdGhpcywgKnRo
aXMsICp0aGlzLCBzdGFydE1vZGUsIGRvY3VtZW50LnRvcE9yaWdpbigpLCBwcm94eSwgc29ja2V0
UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7CiAKICAgICB3b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVh
ZC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmgKaW5kZXggMjI2ZTg2MWM1MTZkNWQyZTZhMzQ1ZWQ3ZGU4NzFjOTI0YzEyODg0My4uYjI1OTU3
MmIzODBjZmYxMDJiNzRjNGFhMjRkNTEwMWM5OGU5NmY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3JrZXJHbG9iYWxTY29wZVBy
b3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5jdGlvbnMgaW4gdGhlIHdvcmtlciBvYmpl
Y3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJv
b2wgaXNPbmxpbmUsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3km
LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBG
ZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZv
aWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiwgY29uc3QgU2NyaXB0QnVmZmVy
JiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3Qg
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYsIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVm
ZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1
bnRpbWVGbGFncykgZmluYWw7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgp
IGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VX
aXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFsOwogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2Jh
bFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSBmaW5hbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZS5jcHAKaW5kZXggZmNiNDRlNmNiYzQyOWVlZDAyYWI2M2E4MGM4NDc4ZGJkM2RiMjhhZi4u
NTgzYTU2Zjk3NTQxMTU2NWVmOTczMmFmN2EzNGM0ODEyMDJlMDQ5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAg
LTQwLDggKzQwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOwogCi1Xb3JrZXJPcldvcmtsZXRH
bG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0
eXBlLCBSZWY8SlNDOjpWTT4mJiB2bSwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiB0aHJlYWQpCi0g
ICAgOiBtX3NjcmlwdChtYWtlVW5pcXVlPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+
KHR5cGUsIFdURk1vdmUodm0pLCB0aGlzKSkKK1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjpX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIFJlZjxKU0M6
OlZNPiYmIHZtLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQqIHRocmVhZCwgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCisgICAgOiBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KGNvbnRleHRJZGVudGlmaWVyKQorICAgICwgbV9zY3JpcHQobWFrZVVuaXF1ZTxX
b3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPih0eXBlLCBXVEZNb3ZlKHZtKSwgdGhpcykp
CiAgICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRo
aXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpXb3JrZXJPcldvcmtsZXQpKQogICAg
ICwgbV90aHJlYWQodGhyZWFkKQogICAgICwgbV9pbnNwZWN0b3JDb250cm9sbGVyKG1ha2VVbmlx
dWU8V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcj4oKnRoaXMpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IGEwZDE2ZDc0
NzA5OTkzNGE4ZmUzMTgwYmUwNzc5MzI3NTM1M2JhYzEuLjg3MWNkN2M1MWZmZTQ4NjU2ODg2ODQ1
ZDA1ZWVlMTJlOTg5OTNiMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0ID0g
MDsKIAogcHJvdGVjdGVkOgotICAgIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtlclRo
cmVhZFR5cGUsIFJlZjxKU0M6OlZNPiYmLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQqKTsKKyAgICBX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlLCBSZWY8SlNDOjpWTT4m
JiwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIgPSB7IH0pOwogCiAgICAgLy8gU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KICAgICBib29sIGlz
SlNFeGVjdXRpb25Gb3JiaWRkZW4oKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCAwYzQwMTAxOTlmNGJmMjYyNDllMmJk
YzBlNzgxMGRmNTA4ZGZlMWIwLi4wMmE0NjMyN2ZlNDJiZWQyNTFjNjc5NmQ4MzNkYzNiY2U0ZTUz
NzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3Bw
CkBAIC00NSwxMiArNDUsMjIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgSGFz
aE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV29ya2VyU2NyaXB0TG9hZGVy
Kj4mIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Xb3JrZXJTY3JpcHRMb2FkZXJN
YXAoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyLCBXb3JrZXJTY3JpcHRMb2FkZXIqPj4gbWFwOworICAgIHJldHVy
biBtYXAuZ2V0KCk7Cit9CisKIFdvcmtlclNjcmlwdExvYWRlcjo6V29ya2VyU2NyaXB0TG9hZGVy
KCkKICAgICA6IG1fc2NyaXB0KFNjcmlwdEJ1ZmZlcjo6ZW1wdHkoKSkKIHsKIH0KIAotV29ya2Vy
U2NyaXB0TG9hZGVyOjp+V29ya2VyU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0OworV29ya2VyU2Ny
aXB0TG9hZGVyOjp+V29ya2VyU2NyaXB0TG9hZGVyKCkKK3sKKyAgICBpZiAobV9jbGllbnRJZGVu
dGlmaWVyKQorICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRvV29ya2Vy
U2NyaXB0TG9hZGVyTWFwKCkucmVtb3ZlKCptX2NsaWVudElkZW50aWZpZXIpOworfQogCiBzdGQ6
Om9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNs
eShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBV
UkwmIHVybCwgU291cmNlIHNvdXJjZSwgRmV0Y2hPcHRpb25zOjpNb2RlIG1vZGUsIEZldGNoT3B0
aW9uczo6Q2FjaGUgY2FjaGVQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50
IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRv
cklkZW50aWZpZXIpCiB7CkBAIC05Nyw2ICsxMDcsOCBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlv
bj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
bwogICAgIG9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gaXNTZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUgPyBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmUgOiBTZXJ2aWNlV29ya2Vyc01vZGU6OkFs
bDsKICAgICBpZiAoYXV0byogYWN0aXZlU2VydmljZVdvcmtlciA9IHdvcmtlckdsb2JhbFNjb3Bl
LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIoKTsKKyAgICBlbHNlCisgICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2Rl
ID0gU2VydmljZVdvcmtlcnNNb2RlOjpOb25lOwogI2VuZGlmCiAgICAgV29ya2VyVGhyZWFkYWJs
ZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSh3b3JrZXJHbG9iYWxTY29wZSwgV1RG
TW92ZSgqcmVxdWVzdCksICp0aGlzLCBvcHRpb25zKTsKIApAQCAtMTQyLDggKzE1NCwxNyBAQCB2
b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogICAgIC8vIEEgc2VydmljZSB3b3JrZXIgam9iIGNhbiBi
ZSBleGVjdXRlZCBmcm9tIGEgd29ya2VyIGNvbnRleHQgb3IgYSBkb2N1bWVudCBjb250ZXh0Lgog
ICAgIG9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gc2VydmljZVdvcmtlck1vZGU7CiAjaWYg
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2Vy
ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCi0gICAgICAg
IG9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2
aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7CisgICAgLy8gRklYTUU6IEFkZCBz
dXBwb3J0IGZvciBzaGFyZWQgd29ya2VyLgorICAgIGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNo
T3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikgeworICAgICAgICBtX2NsaWVudElkZW50aWZp
ZXIgPSBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllcjo6Z2VuZXJhdGUoKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXJUb1dvcmtlclNjcmlwdExvYWRlck1hcCgpLmFkZCgqbV9jbGllbnRJZGVudGlmaWVyLCB0
aGlzKTsKKyAgICB9IGVsc2UgeworICAgICAgICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmlkZW50aWZpZXIoKTsKKyAgICAgICAgaWYgKGF1dG8qIGFj
dGl2ZVNlcnZpY2VXb3JrZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VX
b3JrZXIoKSkKKyAgICAgICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0g
U2VydmljZVdvcmtlcnNNb2RlOjpOb25lOworICAgIH0KICNlbmRpZgogCiAgICAgLy8gRHVyaW5n
IGNyZWF0ZSwgY2FsbGJhY2tzIG1heSBoYXBwZW4gd2hpY2ggcmVtb3ZlIHRoZSBsYXN0IHJlZmVy
ZW5jZSB0byB0aGlzIG9iamVjdC4KQEAgLTI5OCw0ICszMTksMTcgQEAgV29ya2VyRmV0Y2hSZXN1
bHQgV29ya2VyU2NyaXB0TG9hZGVyOjpmZXRjaFJlc3VsdCgpIGNvbnN0CiAgICAgcmV0dXJuIHsg
c2NyaXB0KCksIGxhc3RSZXF1ZXN0VVJMKCksIGNlcnRpZmljYXRlSW5mbygpLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3koKSwgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSgpLCByZWZlcnJlclBvbGlj
eSgpLCB7IH0gfTsKIH0KIAorV29ya2VyU2NyaXB0TG9hZGVyKiBXb3JrZXJTY3JpcHRMb2FkZXI6
OmZyb21TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAgIHJldHVybiBzY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllclRvV29ya2VyU2NyaXB0TG9hZGVyTWFwKCkuZ2V0KGlkZW50aWZpZXIp
OworfQorCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorYm9vbCBXb3JrZXJTY3JpcHRMb2Fk
ZXI6OnNldENvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YSYmIGRhdGEpCit7CisgICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGF0YSA9IFdURk1vdmUoZGF0YSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorI2VuZGlmCisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oCmluZGV4IDU5YWNhOTYyOTIwNDVjNzI1MGRlMjYzNmU5YTkyOTExYzY2NTcw
MTUuLmM1MGEwMGJlZjMzNDcwMWEzMmVmMjRmYjhlZWFiNjBjZjNkOTJkNzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMzQsNiArMzQsNyBAQAog
I2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2Uu
aCIKICNpbmNsdWRlICJTY3JpcHRCdWZmZXIuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXIuaCIKICNpbmNsdWRl
ICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8bWVtb3J5PgpAQCAtNDksNiAr
NTAsNyBAQCBjbGFzcyBFeGNlcHRpb247CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
Y2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlckNsaWVu
dDsKK3N0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKIHN0cnVjdCBXb3JrZXJG
ZXRjaFJlc3VsdDsKIGVudW0gY2xhc3MgQ2VydGlmaWNhdGVJbmZvUG9saWN5IDogdWludDhfdDsK
IApAQCAtOTQsNiArOTYsMTQgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IFJlc291cmNlRXJyb3IgdmFsaWRhdGVXb3JrZXJSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiwgU291cmNlLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uKTsKIAorICAgIHN0ZDo6b3B0
aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IGNsaWVudElkZW50aWZpZXIo
KSBjb25zdCB7IHJldHVybiBtX2NsaWVudElkZW50aWZpZXI7IH0KKyAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgV29ya2VyU2NyaXB0TG9hZGVyKiBmcm9tU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOworCisjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQorICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgc2V0Q29udHJvbGxpbmdT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYp
OworICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IHRha2VT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSgpIHsgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9z
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSwgeyB9KTsgfQorI2VuZGlmCisKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPjsKICAgICBm
cmllbmQgc3RydWN0IHN0ZDo6ZGVmYXVsdF9kZWxldGU8V29ya2VyU2NyaXB0TG9hZGVyPjsKQEAg
LTEyNSw2ICsxMzUsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNDT0VQRW5hYmxlZCB7IGZh
bHNlIH07CiAgICAgUmVzb3VyY2VSZXNwb25zZTo6U291cmNlIG1fcmVzcG9uc2VTb3VyY2UgeyBS
ZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlVua25vd24gfTsKICAgICBSZXNvdXJjZUVycm9yIG1f
ZXJyb3I7CisgICAgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
cj4gbV9jbGllbnRJZGVudGlmaWVyOworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBz
dGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiBtX3NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EYXRhOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggNWEwZmUxODdjNmYx
YjU2OTg2YzRkZDkwNzE2NTI4ZGRkOWRiMmI3Zi4uNzU0OWQ5MmZkY2JkN2IyZGU1ZDhiOTI5NDEy
YzRiODAxNjdjZGIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApA
QCAtNjQsNiArNjQsMTAgQEAgV29ya2VyUGFyYW1ldGVycyBXb3JrZXJQYXJhbWV0ZXJzOjppc29s
YXRlZENvcHkoKSBjb25zdAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKSwK
ICAgICAgICAgd29ya2VyVGhyZWFkTW9kZSwKICAgICAgICAgc2Vzc2lvbklELAorI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhKSwKKyNlbmRpZgorICAgICAgICBjbGllbnRJZAogICAgIH07CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IGRjOTc3NGU5MmU3ZjFlZTY4
ZmY0ZGY1MmZiOTVlZTU0Y2YwNDFjNjcuLjlmMjc4NDJiY2VlMDU3ODc3YTJmMTNhYjg5ODliN2Fj
MjRkM2U2ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtMjksNiAr
MjksOCBAQAogI2luY2x1ZGUgIkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaCIKICNpbmNsdWRl
ICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1p
c3Npb24uaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgor
I2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiV29y
a2VyT3JXb3JrbGV0VGhyZWFkLmgiCiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgogI2luY2x1
ZGUgIldvcmtlclR5cGUuaCIKQEAgLTc2LDYgKzc4LDEwIEBAIHB1YmxpYzoKICAgICBTZXR0aW5n
czo6VmFsdWVzIHNldHRpbmdzVmFsdWVzOwogICAgIFdvcmtlclRocmVhZE1vZGUgd29ya2VyVGhy
ZWFkTW9kZSB7IFdvcmtlclRocmVhZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCB9OwogICAgIHN0ZDo6
b3B0aW9uYWw8UEFMOjpTZXNzaW9uSUQ+IHNlc3Npb25JRCB7IHN0ZDo6bnVsbG9wdCB9OworI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhPiBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKKyNlbmRpZgor
ICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkOwogCiAgICAgV29y
a2VyUGFyYW1ldGVycyBpc29sYXRlZENvcHkoKSBjb25zdDsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDk4
YzE4ODZhZDQyODMwMThmZjUzM2Q0YWRmMGYwNjUwNTEyZmNlNjcuLjU1YmI0MGY5OWYzOTVmODc2
ZWZmODBjYzA1ZTQwNDI4NWY5YjNiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0yNjEsMTAgKzI2MSwxMSBA
QCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6Y2xlYXJQZW5kaW5nSm9icygpCiAKIHZvaWQgU1dD
bGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRzKCkKIHsKLSAgICBm
b3IgKGF1dG8qIGRvY3VtZW50IDogRG9jdW1lbnQ6OmFsbERvY3VtZW50cygpKSB7Ci0gICAgICAg
IGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGRv
Y3VtZW50LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgPyBzdGQ6Om1ha2Vfb3B0aW9uYWw8U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+KGRvY3VtZW50LT5hY3RpdmVTZXJ2aWNlV29y
a2VyKCktPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKSkgOiBzdGQ6Om51bGxvcHQ7Ci0gICAgICAg
IHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChkb2N1bWVudC0+dG9wT3JpZ2luKCksIFNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCpkb2N1bWVudCksIGNvbnRyb2xsaW5nU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIGRvY3VtZW50LT51c2VyQWdlbnQoZG9jdW1lbnQt
PnVybCgpKSk7Ci0gICAgfQorICAgIGZvciAoYXV0byogZG9jdW1lbnQgOiBEb2N1bWVudDo6YWxs
RG9jdW1lbnRzKCkpCisgICAgICAgIGRvY3VtZW50LT51cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YSgpOworCisgICAgU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmZv
ckVhY2hTaGFyZWRXb3JrZXIoW10geyByZXR1cm4gW10gKGF1dG8mIGNvbnRleHQpIHsgY29udGV4
dC51cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpOyB9OyB9KTsKKyAgICBXb3JrZXI6OmZv
ckVhY2hXb3JrZXIoW10geyByZXR1cm4gW10gKGF1dG8mIGNvbnRleHQpIHsgY29udGV4dC51cGRh
dGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpOyB9OyB9KTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDbGllbnREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKaW5kZXggMWYxY2MwZjNkNDlmMWEwMmY2Y2U4ODA1
NzBkNzkzNjUyNWMyYjIwYi4uZWMzMDZmNWMxNzc4NDRlNjcxNDVkZGIyNTY3YzJhMzk1YjZkYzYw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNsaWVudERhdGEuY3BwCkBAIC02OSwzMCArNjksNDUgQEAgU2VydmljZVdvcmtl
ckNsaWVudERhdGEgU2VydmljZVdvcmtlckNsaWVudERhdGE6Omlzb2xhdGVkQ29weSgpICYmCiAK
IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgYm9vbCBpc0RvY3VtZW50ID0g
aXM8RG9jdW1lbnQ+KGNvbnRleHQpOwotICAgIFJFTEVBU0VfQVNTRVJUKGlzRG9jdW1lbnQpOyAv
LyBXZSBkbyBub3Qgc3VwcG9ydCBkZWRpY2F0ZWQgd29ya2VycyBhcyBjbGllbnRzIHlldC4KKyAg
ICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CisgICAgICAgIGF1dG8mIGRvY3VtZW50ID0g
ZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpOworICAgICAgICBhdXRvIGxhc3ROYXZpZ2F0aW9u
V2FzQXBwSW5pdGlhdGVkID0gZG9jdW1lbnQubG9hZGVyKCkgJiYgZG9jdW1lbnQubG9hZGVyKCkt
Pmxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKCkgPyBMYXN0TmF2aWdhdGlvbldhc0FwcElu
aXRpYXRlZDo6WWVzIDogTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6Ok5vOwogCi0gICAg
YXV0byYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCk7Ci0gICAgYXV0byBs
YXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCA9IGRvY3VtZW50LmxvYWRlcigpICYmIGRvY3Vt
ZW50LmxvYWRlcigpLT5sYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCgpID8gTGFzdE5hdmln
YXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVk
OjpObzsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gYW5jZXN0b3JPcmlnaW5zOworICAgICAgICBp
ZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKSB7CisgICAgICAgICAgICBmb3IgKGF1
dG8qIGFuY2VzdG9yID0gZnJhbWUtPnRyZWUoKS5wYXJlbnQoKTsgYW5jZXN0b3I7IGFuY2VzdG9y
ID0gYW5jZXN0b3ItPnRyZWUoKS5wYXJlbnQoKSkKKyAgICAgICAgICAgICAgICBhbmNlc3Rvck9y
aWdpbnMuYXBwZW5kKGFuY2VzdG9yLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLnRvU3Ry
aW5nKCkpOworICAgICAgICB9CiAKLSAgICBWZWN0b3I8U3RyaW5nPiBhbmNlc3Rvck9yaWdpbnM7
Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkgewotICAgICAgICBmb3Ig
KGF1dG8qIGFuY2VzdG9yID0gZnJhbWUtPnRyZWUoKS5wYXJlbnQoKTsgYW5jZXN0b3I7IGFuY2Vz
dG9yID0gYW5jZXN0b3ItPnRyZWUoKS5wYXJlbnQoKSkKLSAgICAgICAgICAgIGFuY2VzdG9yT3Jp
Z2lucy5hcHBlbmQoYW5jZXN0b3ItPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkudG9TdHJp
bmcoKSk7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBjb250ZXh0LmlkZW50aWZpZXIo
KSwKKyAgICAgICAgICAgIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3csCisgICAgICAg
ICAgICB0b1NlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGUoY29udGV4dCksCisgICAgICAgICAg
ICBkb2N1bWVudC5jcmVhdGlvblVSTCgpLAorICAgICAgICAgICAgZG9jdW1lbnQucGFnZUlEKCks
CisgICAgICAgICAgICBkb2N1bWVudC5mcmFtZUlEKCksCisgICAgICAgICAgICBsYXN0TmF2aWdh
dGlvbldhc0FwcEluaXRpYXRlZCwKKyAgICAgICAgICAgICFkb2N1bWVudC5oaWRkZW4oKSwKKyAg
ICAgICAgICAgIGRvY3VtZW50Lmhhc0ZvY3VzKCksCisgICAgICAgICAgICAwLAorICAgICAgICAg
ICAgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpCisgICAgICAgIH07CiAgICAgfQogCisgICAgLy8g
RklYTUU6IFdlIHNob3VsZAorICAgIGF1dG8mIHNjb3BlID0gZG93bmNhc3Q8V29ya2VyR2xvYmFs
U2NvcGU+KGNvbnRleHQpOwogICAgIHJldHVybiB7Ci0gICAgICAgIGNvbnRleHQuaWRlbnRpZmll
cigpLAotICAgICAgICBpc0RvY3VtZW50ID8gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRv
dyA6IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXb3JrZXIsCi0gICAgICAgIHRvU2VydmljZVdv
cmtlckNsaWVudEZyYW1lVHlwZShjb250ZXh0KSwKLSAgICAgICAgZG9jdW1lbnQuY3JlYXRpb25V
UkwoKSwKLSAgICAgICAgZG9jdW1lbnQucGFnZUlEKCksCi0gICAgICAgIGRvY3VtZW50LmZyYW1l
SUQoKSwKLSAgICAgICAgbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQsCi0gICAgICAgICFk
b2N1bWVudC5oaWRkZW4oKSwKLSAgICAgICAgZG9jdW1lbnQuaGFzRm9jdXMoKSwKKyAgICAgICAg
c2NvcGUuaWRlbnRpZmllcigpLAorICAgICAgICBzY29wZS50eXBlKCkgPT0gV2ViQ29yZTo6V29y
a2VyR2xvYmFsU2NvcGU6OlR5cGU6OlNoYXJlZFdvcmtlciA/IFNlcnZpY2VXb3JrZXJDbGllbnRU
eXBlOjpTaGFyZWR3b3JrZXIgOiBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyLAorICAg
ICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlOjpOb25lLAorICAgICAgICBzY29wZS51
cmwoKSwKKyAgICAgICAgeyB9LAorICAgICAgICB7IH0sCisgICAgICAgIExhc3ROYXZpZ2F0aW9u
V2FzQXBwSW5pdGlhdGVkOjpObywKKyAgICAgICAgZmFsc2UsCisgICAgICAgIGZhbHNlLAogICAg
ICAgICAwLAotICAgICAgICBXVEZNb3ZlKGFuY2VzdG9yT3JpZ2lucykKKyAgICAgICAgeyB9CiAg
ICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDbGllbnRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNsaWVudFR5cGUuaAppbmRleCA4NjQ0Yjg3MmE2NDAzODkwY2RlNDU3M2Y0
YjM3MmI3NWMzOThiYmUwLi41NTliYjAzNWU5MGMyMjg0NmYyMzliNmRmMGU1ZWZmNGQ0YjA3MTA5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNsaWVudFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNsaWVudFR5cGUuaApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWVudW0gY2xhc3MgU2VydmljZVdvcmtlckNsaWVudFR5cGUgeworZW51bSBjbGFzcyBT
ZXJ2aWNlV29ya2VyQ2xpZW50VHlwZSA6IHVpbnQ4X3QgewogICAgIFdpbmRvdywKICAgICBXb3Jr
ZXIsCiAgICAgU2hhcmVkd29ya2VyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IGFiNGY1YTJjZjM1
MzAwZDI5M2I3N2UzOTRmMzg0ZjhjNzhlZGFiYTYuLmUwMGM3NjRiZWMxODUyZjIwZGU0ZmI0MWI2
M2E3M2M3ODM3NWY0YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAog
I2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkRPTVByb21pc2VQ
cm94eS5oIgorI2luY2x1ZGUgIkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TG9vcC5o
IgpAQCAtMTMyLDcgKzEzMyw3IEBAIGF1dG8gU2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVhZHko
KSAtPiBSZWFkeVByb21pc2UmCiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
Ojpjb250cm9sbGVyKCkgY29uc3QKIHsKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOwotICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIWNvbnRleHQgfHwgaXM8RG9j
dW1lbnQ+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpLCAiT25s
eSBkb2N1bWVudHMgY2FuIGhhdmUgYSBjb250cm9sbGVyIGF0IHRoZSBtb21lbnQuIik7CisgICAg
QVNTRVJUX1dJVEhfTUVTU0FHRSghY29udGV4dCB8fCBpczxEb2N1bWVudD4oKmNvbnRleHQpIHx8
IGlzPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4dCkgfHwgIWNvbnRleHQtPmFj
dGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9jdW1lbnRzIGFuYmQgZGVkaWNhdGVkIHdvcmtl
cnMgY2FuIGhhdmUgYSBjb250cm9sbGVyIGF0IHRoZSBtb21lbnQuIik7CiAgICAgcmV0dXJuIGNv
bnRleHQgPyBjb250ZXh0LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgOiBudWxscHRyOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNl
V29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDlmODJlZWQ2MzEyODllNTBjYzdiZGUxOWJi
ZmFkNDM5NTgzZmY1NzYuLmExNmRmYzRhMjJkYjAyMzU2MjBhN2I5ZjdlOWM3OGQxOTdiYjkwNzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZp
Y2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9j
b250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBAIC05NSw3ICs5NSw5IEBAIHN0YXRpYyBX
b3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGEmCiAgICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpPbWl0LAog
ICAgICAgICBzZXR0aW5nc1ZhbHVlcywKICAgICAgICAgd29ya2VyVGhyZWFkTW9kZSwKLSAgICAg
ICAgc2Vzc2lvbklECisgICAgICAgIHNlc3Npb25JRCwKKyAgICAgICAgeyB9LAorICAgICAgICB7
IH0KICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJl
ZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
aGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCAwNzI4NGUwMjc4NDNlY2Rj
OTNjYTk3MWRmZWQ5OGEzNmM5ZTIzMzc3Li43MzA3ZjQ1N2I2ZWE5MWExZWViNWY3ZjczZmQ2YjRk
OTE1ZGUyMzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFy
ZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hh
cmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTY0LDQgKzY0LDE2IEBAIHZvaWQg
U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZCgpCiAgICAgbV9jb21wbGV0
aW9uSGFuZGxlcihtX2xvYWRlci0+ZmV0Y2hSZXN1bHQoKSk7IC8vIGRlbGV0ZXMgdGhpcy4KIH0K
IAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKK1NoYXJlZFdvcmtlclNjcmlwdExvYWRlciog
U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpmcm9tU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpCit7CisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKK2Jvb2wgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpzZXRDb250cm9sbGlu
Z1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEm
JikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29y
a2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCBmMjVjNzlkMjgxNTBjOWY1ZWY5ZWEyOGRmMDM1NTgy
NzY0ZDQ1NzFkLi4xMmQ5MWI0YzkwOTVlNWM0M2JjYWEwMGVjNzY5MWViMjM5YWJmZTBjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRM
b2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJT
Y3JpcHRMb2FkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K3N0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKIGNsYXNzIFNoYXJlZFdvcmtl
cjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsK
QEAgLTUxLDYgKzUyLDExIEBAIHB1YmxpYzoKICAgICBTaGFyZWRXb3JrZXImIHdvcmtlcigpIHsg
cmV0dXJuIG1fd29ya2VyLmdldCgpOyB9CiAgICAgY29uc3QgV29ya2VyT3B0aW9ucyYgb3B0aW9u
cygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9uczsgfQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09S
S0VSKQorICAgIGJvb2wgc2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIqIGZyb21TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CisjZW5kaWYKKwogcHJp
dmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBmaW5hbDsKICAgICB2b2lkIG5vdGlmeUZpbmlz
aGVkKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9j
b250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwCmluZGV4IDM1NDdk
Njc3ZThlYWFmNmNjZTU3OWZjMjBjY2NlOWE4ZjhhNTU1ZTAuLjMzNzE4NDM0YjA5NWUxODY0MGI4
MzcwZGE1ZWIzNjE3OWNiNzQyZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3Bw
CkBAIC01Nyw3ICs1Nyw3IEBAIHN0YXRpYyBIYXNoU2V0PFNoYXJlZFdvcmtlclRocmVhZFByb3h5
Kj4mIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKQogCiBzdGF0aWMgV29ya2VyUGFyYW1l
dGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdv
cmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKLSAgICByZXR1cm4gV29ya2Vy
UGFyYW1ldGVycyB7CisgICAgcmV0dXJuIHsKICAgICAgICAgd29ya2VyRmV0Y2hSZXN1bHQubGFz
dFJlcXVlc3RVUkwsCiAgICAgICAgIHdvcmtlck9wdGlvbnMubmFtZSwKICAgICAgICAgInNoYXJl
ZHdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZp
ZXIoKSwKQEAgLTcwLDcgKzcwLDEzIEBAIHN0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRl
V29ya2VyUGFyYW1ldGVycyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyCiAgICAgICAg
IHBhcnNlUmVmZXJyZXJQb2xpY3kod29ya2VyRmV0Y2hSZXN1bHQucmVmZXJyZXJQb2xpY3ksIFJl
ZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKS52YWx1ZV9vcihSZWZlcnJlclBvbGljeTo6
RW1wdHlTdHJpbmcpLAogICAgICAgICB3b3JrZXJPcHRpb25zLnR5cGUsCiAgICAgICAgIHdvcmtl
ck9wdGlvbnMuY3JlZGVudGlhbHMsCi0gICAgICAgIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCkK
KyAgICAgICAgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKSwKKyAgICAgICAgV29ya2VyVGhyZWFk
TW9kZTo6Q3JlYXRlTmV3VGhyZWFkLAorICAgICAgICB7IH0sCisjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQorICAgICAgICB7IH0sCisjZW5kaWYKKyAgICAgICAgeyB9CiAgICAgfTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggYzA5ZTk0MTEwNjhhNDM1ZWEx
ZWRkNDUzN2RiZWI0MGZjMjBkN2Q4MS4uM2YzZDhiNjFjMGExYTAwMTYyM2NmM2M5NmY4N2FhOGNi
NWY3NWY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC02MjksNiAr
NjI5LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3Qo
KQogICAgIG9wdGlvbnMuc2FtZU9yaWdpbkRhdGFVUkxGbGFnID0gU2FtZU9yaWdpbkRhdGFVUkxG
bGFnOjpTZXQ7CiAgICAgb3B0aW9ucy5maWx0ZXJpbmdQb2xpY3kgPSBSZXNwb25zZUZpbHRlcmlu
Z1BvbGljeTo6RW5hYmxlOwogICAgIG9wdGlvbnMuc25pZmZDb250ZW50RW5jb2RpbmcgPSBDb250
ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGljeTo6RG9Ob3RTbmlmZjsKKyAgICBvcHRpb25zLmNsaWVu
dElkZW50aWZpZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlkZW50aWZpZXIoKTsKIAog
ICAgIGlmIChtX3RpbWVvdXRNaWxsaXNlY29uZHMpIHsKICAgICAgICAgaWYgKCFtX2FzeW5jKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCmluZGV4IDlkZDI5MDdkYzhhMzZlOGU0NDFiOGQ5YzZlZDA5Y2VmODZhOTBkOTcu
LmVkNzNmMGE3MTIyNmY1YmVmMzgyYzBmY2I2ZDFjOWZkZmZkODY0N2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTEyMjAsNyArMTIyMCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpjb250aW51
ZVdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0CiAgICAgTE9BREVS
X1JFTEVBU0VfTE9HKCJjb250aW51ZVdpbGxTZW5kUmVxdWVzdDogKGlzQWxsb3dlZFRvQXNrVXNl
ckZvckNyZWRlbnRpYWxzPSVkKSIsIGlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzKTsK
IAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICBpZiAocGFyYW1ldGVycygpLm9wdGlv
bnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlKSB7CisgICAgaWYgKHBhcmFt
ZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCAo
cGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5h
dGlvbjo6V29ya2VyICYmIG1fc2VydmljZVdvcmtlckZldGNoVGFzaykpIHsKICAgICAgICAgbV9z
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uID0geyB9OwogICAgICAgICBpZiAoYXV0byBzZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrID0gbV9jb25uZWN0aW9uLT5jcmVhdGVGZXRjaFRhc2soKnRoaXMsIG5l
d1JlcXVlc3QpKSB7CiAgICAgICAgICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2ls
bFNlbmRSZXF1ZXN0OiBDcmVhdGVkIGEgU2VydmljZVdvcmtlckZldGNoVGFzayB0byBoYW5kbGUg
dGhlIHJlZGlyZWN0IChmZXRjaElkZW50aWZpZXI9JSIgUFJJdTY0ICIpIiwgc2VydmljZVdvcmtl
ckZldGNoVGFzay0+ZmV0Y2hJZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZl
dGNoVGFzay5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
U2VydmljZVdvcmtlckZldGNoVGFzay5jcHAKaW5kZXggMGIzNDg5ZGRlY2FjZDVlYmRiNTkwNmZi
M2Y3ZWYzOTI1NmY0Yzk5MS4uYTAxMmNlZDljM2I2NzMwNjc0ZTFjMzJiMmNkMDZjOTkyZGRhNjJh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcApAQCAtMTUzLDcg
KzE1Myw3IEBAIHZvaWQgU2VydmljZVdvcmtlckZldGNoVGFzazo6c3RhcnRGZXRjaCgpCiAgICAg
Y2xlYW5IVFRQUmVxdWVzdEhlYWRlcnNGb3JBY2Nlc3NDb250cm9sKHJlcXVlc3QsIG1fbG9hZGVy
LnBhcmFtZXRlcnMoKS5odHRwSGVhZGVyc1RvS2VlcCk7CiAKICAgICBTdHJpbmcgY2xpZW50SWRl
bnRpZmllcjsKLSAgICBpZiAobV9sb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSAhPSBG
ZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlKSB7CisgICAgaWYgKG1fbG9hZGVyLnBhcmFtZXRl
cnMoKS5vcHRpb25zLm1vZGUgIT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSAmJiBtX2xv
YWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiAhPSBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpXb3JrZXIpIHsKICAgICAgICAgaWYgKGF1dG8gaWRlbnRpZmllciA9IG1fbG9h
ZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmNsaWVudElkZW50aWZpZXIpCiAgICAgICAgICAgICBj
bGllbnRJZGVudGlmaWVyID0gaWRlbnRpZmllci0+dG9TdHJpbmcoKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IGRiOWQxYjI3NDQ4NjljNzBjNzZh
OTM3ZGQ0NTgwYjgzMTg5ZDY2YTkuLmIzZGQ0YTUyODIwOTI0ZDkwMTI0OTEzNzE3ZmJiMjAyNWFm
NTUzOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xNjYs
MTggKzE2NiwyNCBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6dXBkYXRlV29ya2VyU3Rh
dGVJbkNsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciB3bwogCiB2b2lkIFdlYlNXU2VydmVy
Q29ubmVjdGlvbjo6Y29udHJvbENsaWVudChjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1l
dGVycyYgcGFyYW1ldGVycywgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdGlvbiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogeworICAgIFNlcnZpY2VXb3JrZXJDbGllbnRU
eXBlIGNsaWVudFR5cGU7CisgICAgaWYgKHBhcmFtZXRlcnMub3B0aW9ucy5kZXN0aW5hdGlvbiAg
PT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKQorICAgICAgICBjbGllbnRUeXBl
ID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlcjsKKyAgICBlbHNlCisgICAgICAgIGNs
aWVudFR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V2luZG93OworCiAgICAgYXV0byBj
bGllbnRJZGVudGlmaWVyID0gKnBhcmFtZXRlcnMub3B0aW9ucy5jbGllbnRJZGVudGlmaWVyOwog
ICAgIC8vIEFzIHBlciBzdGVwIDEyIG9mIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29y
a2VyLyNvbi1mZXRjaC1yZXF1ZXN0LWFsZ29yaXRobSwgdGhlIGFjdGl2ZSBzZXJ2aWNlIHdvcmtl
ciBzaG91bGQgYmUgY29udHJvbGxpbmcgdGhlIGRvY3VtZW50LgogICAgIC8vIFdlIHJlZ2lzdGVy
IHRoZSBzZXJ2aWNlIHdvcmtlciBjbGllbnQgdXNpbmcgdGhlIGlkZW50aWZpZXIgcHJvdmlkZWQg
YnkgRG9jdW1lbnRMb2FkZXIgYW5kIG5vdGlmeSBEb2N1bWVudExvYWRlciBhYm91dCBpdC4KICAg
ICAvLyBJZiBub3RpZmljYXRpb24gaXMgc3VjY2Vzc2Z1bCwgRG9jdW1lbnRMb2FkZXIgaXMgcmVz
cG9uc2libGUgdG8gdW5yZWdpc3RlciB0aGUgc2VydmljZSB3b3JrZXIgY2xpZW50IGFzIG5lZWRl
ZC4KLSAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlNXQ2xpZW50Q29ubmVjdGlv
bjo6U2V0RG9jdW1lbnRJc0NvbnRyb2xsZWQgeyBjbGllbnRJZGVudGlmaWVyLCByZWdpc3RyYXRp
b24uZGF0YSgpIH0sIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCB0aGlzLCBjbGllbnRJ
ZGVudGlmaWVyXShib29sIGlzU3VjY2VzcykgeworICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNz
YWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpTZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250
cm9sbGVkIHsgY2xpZW50SWRlbnRpZmllciwgcmVnaXN0cmF0aW9uLmRhdGEoKSB9LCBbd2Vha1Ro
aXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgdGhpcywgY2xpZW50SWRlbnRpZmllcl0oYm9vbCBpc1N1
Y2Nlc3MpIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcyB8fCBpc1N1Y2Nlc3MpCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNsaWVudElk
ZW50aWZpZXIpOwogICAgIH0pOwogCiAgICAgYXV0byBhbmNlc3Rvck9yaWdpbnMgPSBtYXAocGFy
YW1ldGVycy5mcmFtZUFuY2VzdG9yT3JpZ2lucywgW10oYXV0byYgb3JpZ2luKSB7IHJldHVybiBv
cmlnaW4tPnRvU3RyaW5nKCk7IH0pOwotICAgIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIGRhdGEg
eyBjbGllbnRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V2luZG93LCBTZXJ2
aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlOjpOb25lLCByZXF1ZXN0LnVybCgpLCBwYXJhbWV0ZXJz
LndlYlBhZ2VJRCwgcGFyYW1ldGVycy53ZWJGcmFtZUlELCByZXF1ZXN0LmlzQXBwSW5pdGlhdGVk
KCkgPyBXZWJDb3JlOjpMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6WWVzIDogV2ViQ29y
ZTo6TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6Ok5vLCBmYWxzZSwgZmFsc2UsIDAsIFdU
Rk1vdmUoYW5jZXN0b3JPcmlnaW5zKSB9OworICAgIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIGRh
dGEgeyBjbGllbnRJZGVudGlmaWVyLCBjbGllbnRUeXBlLCBTZXJ2aWNlV29ya2VyQ2xpZW50RnJh
bWVUeXBlOjpOb25lLCByZXF1ZXN0LnVybCgpLCBwYXJhbWV0ZXJzLndlYlBhZ2VJRCwgcGFyYW1l
dGVycy53ZWJGcmFtZUlELCByZXF1ZXN0LmlzQXBwSW5pdGlhdGVkKCkgPyBXZWJDb3JlOjpMYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6WWVzIDogV2ViQ29yZTo6TGFzdE5hdmlnYXRpb25X
YXNBcHBJbml0aWF0ZWQ6Ok5vLCBmYWxzZSwgZmFsc2UsIDAsIFdURk1vdmUoYW5jZXN0b3JPcmln
aW5zKSB9OwogICAgIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTZWN1cml0eU9yaWdpbkRh
dGEgeyByZWdpc3RyYXRpb24ua2V5KCkudG9wT3JpZ2luKCkgfSwgV1RGTW92ZShkYXRhKSwgcmVn
aXN0cmF0aW9uLmlkZW50aWZpZXIoKSwgcmVxdWVzdC5odHRwVXNlckFnZW50KCkpOwogfQogCkBA
IC0xOTUsNyArMjAxLDcgQEAgc3RkOjp1bmlxdWVfcHRyPFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s+
IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y3JlYXRlRmV0Y2hUYXNrKE4KICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAKICAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcjsKLSAgICBpZiAo
bG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpO
YXZpZ2F0ZSkgeworICAgIGlmIChsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBG
ZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9u
cy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpIHsKICAg
ICAgICAgYXV0byB0b3BPcmlnaW4gPSBsb2FkZXIucGFyYW1ldGVycygpLmlzTWFpbkZyYW1lTmF2
aWdhdGlvbiA/IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVVSTChyZXF1ZXN0LnVybCgpKSA6IGxv
YWRlci5wYXJhbWV0ZXJzKCkudG9wT3JpZ2luLT5kYXRhKCk7CiAgICAgICAgIGF1dG8qIHJlZ2lz
dHJhdGlvbiA9IGRvUmVnaXN0cmF0aW9uTWF0Y2hpbmcodG9wT3JpZ2luLCByZXF1ZXN0LnVybCgp
KTsKICAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggYjExYzU4ZmVl
YzAyZTBjMjc2MTAyMmI3NDM3M2EyODdhZjg5OWJkNy4uNjA2ODg3YzEyNDA5YzA4NzdjMDM5Y2Zm
ZDFlYzczZmEwMzRkMTBiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtNDYwLDEzICs0NjAsNiBAQCB2b2lk
IFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MoUmVzb3Vy
Y2VMb2FkZXImIHJlc291cmNlTAogICAgICAgICBmb3IgKGF1dG8qIGZyYW1lID0gcmVzb3VyY2VM
b2FkZXIuZnJhbWUoKS0+dHJlZSgpLnBhcmVudCgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJl
ZSgpLnBhcmVudCgpKQogICAgICAgICAgICAgZnJhbWVBbmNlc3Rvck9yaWdpbnMuYXBwZW5kKCZm
cmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7CiAgICAgICAgIGxvYWRQYXJhbWV0
ZXJzLmZyYW1lQW5jZXN0b3JPcmlnaW5zID0gV1RGTW92ZShmcmFtZUFuY2VzdG9yT3JpZ2lucyk7
Ci0KLSNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgICAgIGlmIChhdXRvKiBkb2N1bWVu
dExvYWRlciA9IHJlc291cmNlTG9hZGVyLmRvY3VtZW50TG9hZGVyKCkpIHsKLSAgICAgICAgICAg
IGlmIChhdXRvIHJlc3VsdGluZ0NsaWVudElkID0gc3RhdGljX2Nhc3Q8V2ViRG9jdW1lbnRMb2Fk
ZXImPigqZG9jdW1lbnRMb2FkZXIpLnJlc3VsdGluZ0NsaWVudElkKCkpCi0gICAgICAgICAgICAg
ICAgbG9hZFBhcmFtZXRlcnMub3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gcmVzdWx0aW5nQ2xp
ZW50SWQ7Ci0gICAgICAgIH0KLSNlbmRpZgogICAgIH0KIAogICAgIEFTU0VSVCgobG9hZFBhcmFt
ZXRlcnMud2ViUGFnZUlEICYmIGxvYWRQYXJhbWV0ZXJzLndlYkZyYW1lSUQpIHx8IGxvYWRQYXJh
bWV0ZXJzLmNsaWVudENyZWRlbnRpYWxQb2xpY3kgPT0gQ2xpZW50Q3JlZGVudGlhbFBvbGljeTo6
Q2Fubm90QXNrQ2xpZW50Rm9yQ3JlZGVudGlhbHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXgg
ZDkzYjM0ZDY4ZmE5OTVhYTQxYjA3YmMwZWQzNTJiNzZlNzk3YzVmMC4uOTFjZjk3MmJjZTQ1NThj
Njc1OWZkNGZiMDQ5YjIzM2I4ZDU5YTAyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUzLDYgKzUz
LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9Xb3JrZXJGZXRjaFJlc3VsdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV29y
a2VyU2NyaXB0TG9hZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNl
IFBBTDsKQEAgLTE4MCwxMSArMTgxLDE4IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjp3
aGVuUmVnaXN0cmF0aW9uUmVhZHkoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPCiAgICAg
fSk7CiB9CiAKLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXREb2N1bWVudElzQ29udHJv
bGxlZChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBkb2N1bWVudElkZW50aWZpZXIs
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYgZGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0
aW9uOjpzZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250cm9sbGVkKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
JiYgZGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKLSAgICBhdXRvKiBkb2N1bWVudExvYWRlciA9IERvY3VtZW50TG9hZGVyOjpmcm9tU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIoZG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICBi
b29sIHJlc3VsdCA9IGRvY3VtZW50TG9hZGVyID8gZG9jdW1lbnRMb2FkZXItPnNldENvbnRyb2xs
aW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihXVEZNb3ZlKGRhdGEpKSA6IGZhbHNlOwotICAg
IGNvbXBsZXRpb25IYW5kbGVyKHJlc3VsdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IERvY3Vt
ZW50TG9hZGVyOjpmcm9tU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIoaWRlbnRpZmll
cikpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobG9hZGVyID8gbG9hZGVyLT5zZXRDb250
cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oV1RGTW92ZShkYXRhKSkgOiBmYWxzZSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXV0byogbG9hZGVyID0gV29ya2Vy
U2NyaXB0TG9hZGVyOjpmcm9tU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIoaWRlbnRp
ZmllcikpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobG9hZGVyID8gbG9hZGVyLT5zZXRD
b250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oV1RGTW92ZShkYXRhKSkgOiBmYWxz
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2Up
OwogfQogCiB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyhTZWN1
cml0eU9yaWdpbkRhdGEmJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBHZXRSZWdp
c3RyYXRpb25zQ2FsbGJhY2smJiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggMzc3MTkx
Mjk2MjNjZTc1ODg0ZmNlYmEyM2IxNzA2ZDA2YTMxODRmYS4uNjIyZmMwOGYzMTQ1OGQ2ZTJmODU1
YTkyYmYxNzRjMDI2MTA1OGU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTgyLDcgKzgyLDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRpZEdldFJlZ2lzdHJhdGlvbnModWludDY0X3QgbWF0Y2hSZXF1
ZXN0SWRlbnRpZmllciwgVmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhPiYmKTsKICAgICB2b2lkIHdoZW5SZWdpc3RyYXRpb25SZWFkeShjb25zdCBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIFdoZW5S
ZWdpc3RyYXRpb25SZWFkeUNhbGxiYWNrJiYpIGZpbmFsOwogCi0gICAgdm9pZCBzZXREb2N1bWVu
dElzQ29udHJvbGxlZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwg
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJik7CisgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250
cm9sbGVkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wpPiYmKTsKKyAgICB2b2lkIHNldFdvcmtlcklzQ29udHJvbGxlZChXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGEmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAKICAgICB2
b2lkIGdldFJlZ2lzdHJhdGlvbnMoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9wT3Jp
Z2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgR2V0UmVnaXN0cmF0aW9uc0NhbGxiYWNrJiYpIGZp
bmFsOwogICAgIHZvaWQgd2hlblNlcnZpY2VXb3JrZXJJc1Rlcm1pbmF0ZWRGb3JUZXN0aW5nKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDIxZGI1
NjRiN2M4MmI1ZGFlNzk1MTQyNzMzNGE3Y2VkODE4MDk0NjEuLjkyNWE3YzViODYyNWIzZGIyZjAw
ZmE2MTExZmNmMzgzYjIxNjYzODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMu
aW4KQEAgLTM4LDcgKzM4LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dDbGllbnRDb25uZWN0aW9uIHsK
ICAgICBTZXRTV09yaWdpblRhYmxlU2hhcmVkTWVtb3J5KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJ
UENIYW5kbGUgaGFuZGxlKQogICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGRlc3RpbmF0aW9uQ29udGV4
dElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyBtZXNz
YWdlLCBzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGEgc291cmNlLCBTdHJpbmcgc291
cmNlT3JpZ2luKQogCi0gICAgU2V0RG9jdW1lbnRJc0NvbnRyb2xsZWQoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgdGVtcG9yYXJ5RG9jdW1lbnRJZGVudGlmaWVyLCBz
dHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgZGF0YSkgLT4gKGJv
b2wgaXNTdWNjZXNzKQorICAgIFNldFNlcnZpY2VXb3JrZXJDbGllbnRJc0NvbnRyb2xsZWQoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgd29ya2VySWRlbnRpZmllciwg
c3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIGRhdGEpIC0+IChi
b29sIGlzU3VjY2VzcykKIAogICAgIEZvY3VzU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKSAtPiAoc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4gcmVzdWx0KQogfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDAyOWY1ZjI2OTM4OGMzZTViZWEzNWJiYTc3ODAxZWUxYzI3NGVlYzMuLjAyYTFhYzUw
NmJkZjQwMDVlOGY3MzJmYzE2OTM2ZDRjNzYzZmQzMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMi0wNC0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
RXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJl
Z2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA2NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3Jr
ZXIuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXdv
cmtlci5qczogQWRkZWQuCisKIDIwMjItMDQtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBtb3JlIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNlcyB0
byB3b3JrZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyODdiMzM0MTNiY2Yw
ODA1ZDU0ZDg0Njg5YmI3ZjNkNDhiYjdlZjZkLi5mZGUwMDc5ZGE4MjY1YjQ0ZmUxYTk1ZDQ1ZTA0
YTUxZjYxYWU1MDNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAyMi0wNC0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVt
ZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA2NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisK
IDIwMjItMDQtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEV4cG9zZSBtb3JlIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNlcyB0byB3b3JrZXJzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCAwYzg1OWM3N2FiYWE3NDRkMDFjMmJjMjVhNDE5Y2VjNGZkNTI3NzExLi4w
ZDEzYzc2ZmE2ZTgxNDJiOTE0ZjEyMTIzZmQ2NWQ5MDJlZmI3M2Q5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTM2OSw3ICszNjksNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbgogd2Via2l0Lm9y
Zy9iLzIwMTY2NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8td2l0aC1yYW5nZS1y
ZXF1ZXN0Lmh0dHBzLmh0bWwgWyBTa2lwIF0KIAogIyBOZXdseSBpbXBvcnRlZCBzZXJ2aWNlIHdv
cmtlciB0ZXN0cyB0aGF0IGFyZSBmbGFreS4KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMu
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbm90LWFsbG93ZWQuaHR0cHMuaHRt
bCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wZXJmb3JtYW5jZS10aW1lbGluZS5odHRwcy5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vy
dmljZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNhdGVkd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLWRlZGlj
YXRlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVlYjRhZTNhNGU4Nzhl
MWNjYmYyNTNlNDRjNGQ2OGEyZjc4MTUxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgUmVnaXN0ZXIgc2VydmljZSB3
b3JrZXIKK1BBU1MgVmVyaWZ5IGRlZGljYXRlZCB3b3JrZXIgaXMgY29udHJvbGxlZAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1k
ZWRpY2F0ZWR3b3JrZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM2ZTA2ZjgxNzUzOThjYmRlYmQ4NmQ1MWI2ZTdjNjU3Y2VjNDMyNmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRp
Y2F0ZWR3b3JrZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3QtaGVs
cGVycy5zdWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorcHJvbWlz
ZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQg
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInNraXBGZXRjaEV2ZW50LXdvcmtlci5q
cyIsIHsgc2NvcGUgOiAncmVzb3VyY2VzJyB9KTsKKyAgICBhY3RpdmVXb3JrZXIgPSByZWdpc3Ry
YXRpb24uYWN0aXZlOworICAgIGlmIChhY3RpdmVXb3JrZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGFjdGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgIGF3YWl0IG5l
dyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBhY3RpdmVXb3JrZXIuYWRkRXZlbnRMaXN0
ZW5lcignc3RhdGVjaGFuZ2UnLCAoKSA9PiB7CisgICAgICAgICAgICBpZiAoYWN0aXZlV29ya2Vy
LnN0YXRlID09PSAiYWN0aXZhdGVkIikKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAg
ICAgIH0pOworICAgIH0pOworfSwgIlJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIik7CisKK3Byb21p
c2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHdvcmtlciA9IG5ldyBXb3JrZXIoJ3Jlc291
cmNlcy9jb250cm9sbGVkLXdvcmtlci5qcycpOworICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0gcmVzb2x2ZSk7CisgICAgYXNz
ZXJ0X3RydWUoZXZlbnQuZGF0YS5pc0NvbnRyb2xsZWQpOworfSwgIlZlcmlmeSBkZWRpY2F0ZWQg
d29ya2VyIGlzIGNvbnRyb2xsZWQiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9j
b250cm9sbGVkLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vy
cy9yZXNvdXJjZXMvY29udHJvbGxlZC13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjMxMmFjMzNjZTEz
OGI0MTlkMGYxM2NjZjE5ZGM1Njg4YTAxNWVkMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC13b3JrZXIu
anMKQEAgLTAsMCArMSBAQAorc2VsZi5wb3N0TWVzc2FnZSh7IGlzQ29udHJvbGxlZCA6ICEhbmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYTBjOWNh
NDQ1ZWEwNzg4Njc0NDcyNGMzMjE1MmZmNDE5YTg0NTdkNy4uNGU2YmYxNzhmOTA2ZGY4YjVjMTU0
NDQyYTNmNTYyZWM3YWE4NWNiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2Vy
LWNsaWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29y
a2VyLWNsaWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
VmVyaWZ5IHdvcmtlcnMgaGF2ZSBhIHVuaXF1ZSBjbGllbnQgaWQgc2VwYXJhdGUgZnJvbSB0aGVp
ciBvd25pbmcgZG9jdW1lbnRzIHdpbmRvdyBhc3NlcnRfbm90X2VxdWFsczogZnJhbWUgYW5kIHdv
cmtlciBjbGllbnQgaWRzIHNob3VsZCBiZSBkaWZmZXJlbnQgZ290IGRpc2FsbG93ZWQgdmFsdWUg
IjJjNGY3OTM2LTljNzYtNGVkNC1iOGU1LTBiMTBlYzJiZWE0MiIKK1BBU1MgVmVyaWZ5IHdvcmtl
cnMgaGF2ZSBhIHVuaXF1ZSBjbGllbnQgaWQgc2VwYXJhdGUgZnJvbSB0aGVpciBvd25pbmcgZG9j
dW1lbnRzIHdpbmRvdwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50
ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDI4
M2ZmN2E3YzIwOGMyMGRiMTY5YmZjZTBlODBiNzVlMWJjYjM0ZjkuLmJhMTRlZGZlMjJjZTA5MmE3
ZTk1MjE1N2M1NDhmMDk2NTBkYTBjZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC04LDIwICs4LDIwIEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1z
Y29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5l
dHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKQotRkFJ
TCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpIGFz
c2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZB
SUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpIGFz
c2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BB
U1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQor
UEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlcikK
IEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyKSBh
c3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBG
QUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3Nl
cnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlM
IENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikg
YXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQot
RkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtl
cikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRX
b3JrZXIpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyKQogRkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBT
aGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKIEZBSUwgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBT
aGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKIFBBU1MgY2xlYW51cCBnbG9iYWwgc3RhdGUKLUZBSUwgQ2FzZSAjMTogbmV0
d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlw
dHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9t
IHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Nj
b3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2
ZWQgZnJvbSBuZXR3b3JrIChzY29wZTIvKSIKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0
IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNT
IENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3Jr
IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikK
IFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdv
cmtlciwgaW1wb3J0U2NyaXB0cygpKQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2Nv
cGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0
IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNl
ICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRj
aCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+
c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9ydC1zY3Jp
cHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsg
KHNjb3BlMi8pIgogRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2lj
IFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6
IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6
IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKQEAgLTI5LDExICsyOSwxMSBAQCBQQVNT
IENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBs
b2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1
bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBGQUlMIENhc2UgIzE6IG5ldHdvcmsg
c2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6
IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUu
dHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCiBQ
QVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGxvY2F0aW9uLmhyZWYpCi1GQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5
IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIgotRkFJTCBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwg
ZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZl
dGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlXG4i
CitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNh
dGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUx
LT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwg
bG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAo
bW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQotRkFJTCBDYXNlICMyOiBu
ZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
aW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKK1BBU1Mg
Q2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtl
ciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9k
dWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAjMjogbmV0d29y
ayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMo
KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRo
ZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9y
dC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5l
dHdvcmsiCiBGQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMg
U2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTog
c3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBs
ZSB0ZXh0IGZpbGVcbiIKQEAgLTQxLDQgKzQxLDE2IEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBz
Y29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQ
QVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3Jr
ZXIsIGltcG9ydFNjcmlwdHMoKSkKIEZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1z
Y29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0
Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlXG4iCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUx
LT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCitGQUlMIENh
c2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0
U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cyIHNhdyBpbXBvcnRTY3JpcHRz
IGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc3ViZGlyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgInN3MiBzYXcgaW1wb3J0
U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3Njb3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IgorRkFJTCBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9z
aW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9z
aW1wbGUudHh0IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRp
Y2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYg
ZXhwZWN0ZWQgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zdWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3
b3JrZXIucHk/Z3JlZXRpbmc9c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUy
MHdvcmtlciUyMHNjcmlwdCIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0
aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weSIKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29w
ZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK0ZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRo
ZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRp
ci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRo
ZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3Bl
Mi9zaW1wbGUudHh0IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERl
ZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0X2VxdWFsczogbG9jYXRpb24uaHJl
ZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dl
Yndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhl
JTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNl
cHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBm
ZXRjaCgpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRp
Y2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENh
c2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRj
aCgpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRl
ZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
d29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA4ZDRjYTQ5YmQ5
M2I0Yzk2OTIyMzFlMmRlZGJlMzIzNThmNmIwZmM4Li4xNmM0MzkzM2JiYjk3NWVjZjY2MGVlNjdl
ZDM2M2FlYjRiNGYzODdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50
ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3Jr
ZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBAQAogCi1G
QUlMIFZlcmlmeSBhIGRlZGljYXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20g
YSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNl
cnZpY2Ugd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogdW5kZWZpbmVkCi1GQUlMIFZlcmlmeSBhbiBvdXQtb2Ytc2NvcGUgZGVkaWNhdGVkIHdvcmtl
ciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRyb2xsZWQgZG9jdW1lbnQgc2hvdWxk
IG5vdCBiZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAid29ya2VyIGxvYWRpbmcgd2FzIG5vdCBpbnRlcmNlcHRlZCBieSBz
ZXJ2aWNlIHdvcmtlciIgYnV0IGdvdCAid29ya2VyIGxvYWRpbmcgaW50ZXJjZXB0ZWQgYnkgc2Vy
dmljZSB3b3JrZXIiCitQQVNTIFZlcmlmeSBhIGRlZGljYXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVl
c3QgaXNzdWVkIGZyb20gYSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkg
d29ya2VyJ3Mgb3duIHNlcnZpY2Ugd29ya2VyLgorUEFTUyBWZXJpZnkgYW4gb3V0LW9mLXNjb3Bl
IGRlZGljYXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSBjb250cm9sbGVk
IGRvY3VtZW50IHNob3VsZCBub3QgYmUgaW50ZXJjZXB0ZWQgYnkgZG9jdW1lbnQncyBzZXJ2aWNl
IHdvcmtlci4KIEZBSUwgVmVyaWZ5IGEgc2hhcmVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1
ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIn
cyBvd24gc2VydmljZSB3b3JrZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiB1bmRlZmluZWQKLUZBSUwgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNj
cmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIGRl
ZGljYXRlZCB3b3JrZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiB1bmRlZmluZWQKK1BBU1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBz
ZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIGRlZGljYXRl
ZCB3b3JrZXIuCiBGQUlMIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVk
IGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBzaGFyZWQgd29ya2Vy
LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5kZWZpbmVk
Ci1QQVNTIFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdv
cmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LgorRkFJTCBWZXJpZnkgYSBjb3JzIHdv
cmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdv
cmtlciBzdGFydC4gYXNzZXJ0X2VxdWFsczogRXhwZWN0ZWQgZXJyb3IgZXZlbnQsIGJ1dCBnb3Qg
bWVzc2FnZSBldmVudCBpbnN0ZWFkIGV4cGVjdGVkICJlcnJvciIgYnV0IGdvdCAibWVzc2FnZSIK
IFBBU1MgVmVyaWZ5IGEgY29ycyB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29y
a2VyIGZhaWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jv
c3Mtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMg
ZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmln
aW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQg
d29ya2VyIHN0YXJ0LgogUEFTUyBSZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciB3b3JrZXIg
c3VicmVzb3VyY2UgaW50ZXJjZXB0aW9uIHRlc3RzLgotRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGlj
YXRlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQg
Z290ICJ7XCJlcnJvclwiOiB7XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9fSIK
K1BBU1MgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2
aWNlIHdvcmtlci4KIEZBSUwgUmVxdWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQg
YnkgYSBzZXJ2aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3
YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAie1wiZXJyb3JcIjoge1wiY29k
ZVwiOiA0MDQsIFwibWVzc2FnZVwiOiBcIjQwNFwifX0iCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVk
aWNhdGVkIHdvcmtlciBuZXN0ZWQgaW4gYSBkZWRpY2F0ZWQgd29ya2VyIGFuZCBjb250cm9sbGVk
IGJ5IGEgc2VydmljZSB3b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3
YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogV29ya2VyIgogRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRl
ZCB3b3JrZXIgbmVzdGVkIGluIGEgc2hhcmVkIHdvcmtlciBhbmQgY29udHJvbGxlZCBieSBhIHNl
cnZpY2Ugd29ya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nl
c3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIlVuZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZp
bmQgdmFyaWFibGU6IFdvcmtlciIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457324</attachid>
            <date>2022-04-12 02:53:26 -0700</date>
            <delta_ts>2022-04-12 11:53:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239066-20220412115324.patch</filename>
            <type>text/plain</type>
            <size>80896</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEzMjkxMDFkOWMwMDZj
NDFhZDBlYmVjNGM3NGJhNzc0NjA3ZTNmMy4uMWQ3ZTZlYjk2ZmVlMzUxNGY1ZDY0NzhlNGYyZGRi
ZDFhZDI5MGVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIyLTA0LTExICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2Ugd29ya2VycyBh
cyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNo
aW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGV4cG9zaW5nIHdvcmtlcnMgKGRlZGlj
YXRlZCBhbmQgc2hhcmVkKSBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzLgorICAgICAgICBBZGQg
c3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgY29udHJvbGxpbmcgcmVnaXN0cmF0aW9uIGZvciBkZWRp
Y2F0ZWQgd29ya2VycworICAgICAgICAoYSBmb2xsb3ctdXAgcGF0Y2ggc2hvdWxkIGhhbmRsZSBz
aGFyZWQgd29ya2VycykuCisgICAgICAgIFRvIHByb3Blcmx5IGhhbmRsZSBsb2FkcyBjb21pbmcg
ZnJvbSBhIHdvcmtlciwgd2UgcHJvcGVybHkgc2V0IGNsaWVudElkZW50aWZpZXIgYW5kIHJlZ2lz
dHJhdGlvbiBpZGVudGlmaWVyCisgICAgICAgIGZyb20gdGhlIHdvcmtlciBjb250ZXh0LCBpbnN0
ZWFkIG9mIGZyb20gdGhlIHdvcmtlcidzIGRvY3VtZW50LgorCisgICAgICAgIFNtYWxsIHJlZmFj
dG9yaW5nIHRvIHBhc3MgYWRkaXRpb25hbCBkYXRhIHRvIHdvcmtlciB0aHJvdWdoIFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHNldCB0aGUgY29udGV4
dCBJRCBhbmQgY29udGV4dCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KKworICAgICAgICBU
ZXN0OiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIu
aHR0cHMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHA6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6Cisg
ICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRmV0
Y2hPcHRpb25zLmg6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94
eS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg6IEFkZGVk
LgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck9yV29y
a2xldEdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIu
Y3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFk
Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAg
ICAgICogd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHA6
CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKwogMjAyMi0wNC0xMSAgVHlsZXIg
V2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBVcGRhdGUgaXNvbGF0
ZWQgdHJlZSBpbiByZXNwb25zZSB0byBBWFJlYWRPbmx5U3RhdHVzQ2hhbmdlZCwgQVhSZXF1aXJl
ZFN0YXR1c0NoYW5nZWQsIGFuZCBBWFByZXNzZWRTdGF0ZUNoYW5nZWQgbm90aWZpY2F0aW9ucwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCA2ZTA2ZDBkNzc3Yzc0YWVlZTE4ZmY5MTk1ZWEyMGY4NDRmMjM5MWJhLi5iYzNk
YzUyMGZjZTVkNjI4MjRhNjI2YzUxZjI0YWY3NmNiNzExMWRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI1IEBACisyMDIyLTA0LTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBs
ZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmV1c2UgdGhlIHNhbWUg
c3RyYXRlZ3kgZm9yIERlZGljYXRlZFdvcmtlcnMgYXMgZm9yIERvY3VtZW50cyB0byBtYXRjaCBy
ZWdpc3RyYXRpb25zIGFuZCBjb250cm9sIHRoZW46CisgICAgICAgIC0gRG8gbWF0Y2hpbmcgaW4g
bmV0d29yayBwcm9jZXNzCisgICAgICAgIC0gSWYgbWF0Y2hpbmcsIHNlbmQgYSBtZXNzYWdlIHRv
IFdlYlByb2Nlc3MgdG8gc2V0IHRoZSBtYXRjaGluZyByZWdpc3RyYXRpb24gZGF0YS4KKyAgICAg
ICAgQWRkIHNwZWNpZmljIGhhbmRsaW5nIGZvciB3b3JrZXIgcmVnaXN0cmF0aW9uIHJlbWF0Y2hp
bmcgaW4gY2FzZSBvZiByZWRpcmVjdGlvbnM6CisgICAgICAgIC0gSWYgcmVkaXJlY3Rpb24gY29t
ZXMgZnJvbSBzZXJ2aWNlIHdvcmtlciAodmlhIHJlc3BvbmRXaXRoKSwgZG8gcmVtYXRjaGluZy4K
KyAgICAgICAgLSBJZiByZWRpcmVjdGlvbiBjb21lcyBmcm9tIG5ldHdvcmssIGRvIG5vdCBkbyBy
ZW1hdGNoaW5nLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VX
b3JrZXJGZXRjaFRhc2suY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdv
cmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluOgorCiAyMDIyLTA0LTExICBaYW4gRG9iZXJz
ZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV0syXSBTaW1wbGlmeSBJUEMg
ZW5jb2RpbmcsIGRlY29kaW5nIG9mIHR1cGxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCBmNzQzMzhlOGQzMjIyNzBhMzgwZjI0OWE2NDJlNGVh
MGY5MjI4NmUxLi45ZGVkZDA3YzM2YzAwMDE4Y2ZhMGVmNTEyYWIzMzViNTI1NjNhNzlhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApAQCAtNDAsNiAr
NDAsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUg
IlNlcnZpY2VXb3JrZXIuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJU
ZXh0UmVzb3VyY2VEZWNvZGVyLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5o
IgpAQCAtMTE3LDYgKzExOCwxNCBAQCB2b2lkIEZldGNoTG9hZGVyOjpzdGFydChTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3QmIHJlcQogICAgIGlmIChv
cHRpb25zLnJlZmVycmVyUG9saWN5ID09IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZykKICAg
ICAgICAgb3B0aW9ucy5yZWZlcnJlclBvbGljeSA9IGNvbnRleHQucmVmZXJyZXJQb2xpY3koKTsK
IAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBpZiAoYXV0byogYWN0aXZlU2Vydmlj
ZVdvcmtlciA9IGNvbnRleHQuYWN0aXZlU2VydmljZVdvcmtlcigpKQorICAgICAgICBvcHRpb25z
LnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtl
ci0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpOworICAgIGVsc2UKKyAgICAgICAgb3B0aW9ucy5z
ZXJ2aWNlV29ya2Vyc01vZGUgPSBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmU7CisjZW5kaWYKKyAg
ICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBjb250ZXh0LmlkZW50aWZpZXIoKTsKKwogICAg
IG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKGNvbnRleHQsICp0aGlzLCBXVEZN
b3ZlKGZldGNoUmVxdWVzdCksIG9wdGlvbnMsIFdURk1vdmUocmVmZXJyZXIpKTsKICAgICBtX2lz
U3RhcnRlZCA9IG1fbG9hZGVyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDY3ZDZjYzEzZDI4MmI1ZWI3MzcyM2I5OGYzNmM1
MzdiN2UzYTI2MWEuLmFkYzJiZjI5NGMyZTI5ZjYwOWE5MGYyYzcwMzRlNTE2YjY2NDlkNzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTEwNjUsNiArMTA2NSw3IEBACiAJCTNGRjgxM0E3MURCQTg2NDAwMDlCRjAwMSAvKiBQb2lu
dGVyTG9ja0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVDRkM0MzRGMTkyNDA2QTkwMEEwRDNCNSAvKiBQb2ludGVyTG9ja0NvbnRyb2xs
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTA3OTA4QzFGQzNGMDMzMDA2MUIyN0EgLyogQ2xpZW50T3JpZ2luLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTA3OTA4QTFGQzNFNEYyMDA2MUIyN0Eg
LyogQ2xpZW50T3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDEwQkNGNTYyNkYwQ0Q4QzAwNDBCMTI0IC8qIFJUQ0xvY2FsU2Vzc2lvbkRl
c2NyaXB0aW9uSW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDEwQkNGNTMyNkYwQ0Q4QjAwNDBCMTI0IC8qIFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0
aW9uSW5pdC5oICovOyB9OworCQk0MTBDNDhBNzI4MDQyMEY4MDA4NEQxMDQgLyogV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTBDNDhBNjI4MDQyMEYyMDA4NEQxMDQgLyogV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDEwRTQ0NjEyMzQzNzNFOTAwMDE3M0Q0IC8qIExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMEU0NDVGMjM0
MzczQUQwMDAxNzNENCAvKiBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDExMDBDODAyM0Y3NDU4MzAw
MUJDMzNCIC8qIFdlYlNvY2tldENoYW5uZWxJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTAwQzdFMjNGNzM5ODIwMDFCQzMzQiAvKiBX
ZWJTb2NrZXRDaGFubmVsSW5zcGVjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDExMDNBQUMxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1l
T3V0Z29pbmdBdWRpb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDExMDNBQTgxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdB
dWRpb1NvdXJjZS5oICovOyB9OwpAQCAtMTM1Myw3ICsxMzU0LDcgQEAKIAkJNDY3MkFBOTkyNkIw
OTQzRjAwRTZFQzM4IC8qIENyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjcyQUE5NzI2QjA5NDIxMDBFNkVDMzgg
LyogQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjczMDIwMjFDNEVGRTc4MDBCQ0IzNTcgLyogSWdub3Jl
T3BlbnNEdXJpbmdVbmxvYWRDb3VudEluY3JlbWVudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjczMDIwMTFDNEVGRTY2MDBCQ0IzNTcgLyogSWdu
b3JlT3BlbnNEdXJpbmdVbmxvYWRDb3VudEluY3JlbWVudGVyLmggKi87IH07CiAJCTQ2N0E2OEQ3
Mjc1RUE5OTEwMDlCMzFDNSAvKiBTaGFyZWRXb3JrZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2N0E2OEQ0Mjc1RUE5OEIwMDlCMzFDNSAv
KiBTaGFyZWRXb3JrZXJUaHJlYWQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQk0NjdBNjhEODI3NUVBOTk1MDA5QjMxQzUgLyogU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NjdBNjhENTI3NUVBOThDMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVy
LmggKi87IH07CisJCTQ2N0E2OEQ4Mjc1RUE5OTUwMDlCMzFDNSAvKiBTaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2N0E2OEQ1Mjc1RUE5OEMwMDlCMzFDNSAvKiBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjdBNjhE
OTI3NUVBOTk4MDA5QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2N0E2OEQ2Mjc1RUE5OEMwMDlC
MzFDNSAvKiBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2ODJEMjAwMUY3OTc4MzAwMEM4NjNEQiAvKiBT
dG9yZWRDcmVkZW50aWFsc1BvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDY4MkQxRkYxRjc5NzgyMzAwQzg2M0RCIC8qIFN0b3JlZENyZWRlbnRp
YWxzUG9saWN5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNDY4MzQ0RTAxRURERkFBQTAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjgzNDRERTFFRERGQTVGMDBC
Nzc5NUIgLyogRE9NUmVjdExpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtODU2Niw2ICs4NTY3LDcgQEAKIAkJNDEwQkExMzEyNTcwRkU1NzAw
MkUyRjhBIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUu
Y3BwOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEJDRjUzMjZGMENEOEIwMDQwQjEyNCAv
KiBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxMEJDRjU1MjZGMENEOEMwMDQwQjEyNCAvKiBSVENMb2NhbFNl
c3Npb25EZXNjcmlwdGlvbkluaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJUQ0xvY2Fs
U2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxMEM0OEE2MjgwNDIwRjIwMDg0RDEwNCAvKiBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEU0NDVGMjM0MzczQUQwMDAxNzNE
NCAvKiBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIuaDsgcGF0aCA9IGxpYndlYnJ0Yy9M
aWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxMEY1NjU1MjRGQ0Y3MDUwMEEyRTUwQyAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwRjU2NTcyNEZDRjdDNzAwQTJFNTBDIC8q
IFJUQ0ljZUNhbmRpZGF0ZUluaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJUQ0ljZUNh
bmRpZGF0ZUluaXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA5NDQsNiAr
MjA5NDYsNyBAQAogCQkJCTJFNDM0NjM3MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxT
Y29wZS5oICovLAogCQkJCTJFNDM0NjM4MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxT
Y29wZS5pZGwgKi8sCiAJCQkJMkU0MzQ2MzkwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckdsb2Jh
bFNjb3BlUHJveHkuaCAqLywKKwkJCQk0MTBDNDhBNjI4MDQyMEYyMDA4NEQxMDQgLyogV29ya2Vy
SW5pdGlhbGl6YXRpb25EYXRhLmggKi8sCiAJCQkJQTU0QTBDNjkxREI4MzFGMTAwMTdBOTBCIC8q
IFdvcmtlckluc3BlY3RvclByb3h5LmNwcCAqLywKIAkJCQlBNTRBMEM2QTFEQjgzMUYyMDAxN0E5
MEIgLyogV29ya2VySW5zcGVjdG9yUHJveHkuaCAqLywKIAkJCQkxOEY4MzFCNzBGRDQ4Qzc4MDBE
OEM1NkIgLyogV29ya2VyTG9hZGVyUHJveHkuaCAqLywKQEAgLTM4MzQyLDYgKzM4MzQ1LDcgQEAK
IAkJCQlBN0Q2QjM0OTBGNjExMDQ1MDBGRjlGRDEgLyogV29ya2VyRm9udExvYWRSZXF1ZXN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0OTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xv
YmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjRCMEY1NDZBODIwMEIwRjFCQSAv
KiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTBDNDhBNzI4
MDQyMEY4MDA4NEQxMDQgLyogV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBNTRBMEM2MjFEQjdGOEMxMDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yQ29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBDNkMxREI4MzFGOTAwMTdBOTBCIC8qIFdv
cmtlckluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxOEY4MzFCODBGRDQ4Qzc4
MDBEOEM1NkIgLyogV29ya2VyTG9hZGVyUHJveHkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCBiNjg1MjVkOWMyYjk3M2VmNzUxNWQwNjZlYjE2YWMzMWRmZGM0MjQyLi4x
MDQxZDE2YmNkMjgzZWE2OGNhMjRkY2JlYThlOTRmOTlhZDZlZGJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaApAQCAtMTU2OCw3ICsxNTY4LDcgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQogICAgIHZvaWQgc2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24oU1dDbGllbnRDb25u
ZWN0aW9uKik7Ci0gICAgdm9pZCB1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpOworICAg
IHZvaWQgdXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKSBmaW5hbDsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIG5hdmlnYXRlRnJvbVNlcnZpY2VXb3JrZXIoY29uc3QgVVJMJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggM2ZmYzVmZGUwNWI3ZDMwYjEyMDIxYzU5
MDM3YTA5ZDdhNjQ0MTRhZS4uYzIzZWZkMDQyNWI4NmZiNDQ2OWNjMzQzYTAzMjI4Yjg4Y2UyNmQ0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0y
ODksNiArMjg5LDcgQEAgcHVibGljOgogCiAgICAgU2VydmljZVdvcmtlckNvbnRhaW5lciogc2Vy
dmljZVdvcmtlckNvbnRhaW5lcigpOwogICAgIFNlcnZpY2VXb3JrZXJDb250YWluZXIqIGVuc3Vy
ZVNlcnZpY2VXb3JrZXJDb250YWluZXIoKTsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEoKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAjZW5kaWYKICAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBwb3N0VGFza1RvKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyLCBUYXNrJiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29s
IGVuc3VyZU9uQ29udGV4dFRocmVhZChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwg
VGFzayYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDU1
NjgyZDBlNDdjZjhhYWU3N2Y0OTc4MzQxNzkzYTM1ZDU1NDBhYzEuLjQxNjk3ZjUzMGYxZWVjYWQw
YzI3ZjNhNGVlMmRjOTA5M2Y3MDIyNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmNwcApAQCAtMjE0MCw2ICsyMTQwLDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6bG9h
ZE1haW5SZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KQogICAgICAgICBtX3Jlc3Vs
dGluZ0NsaWVudElkID0gU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI6OmdlbmVyYXRl
KCk7CiAgICAgICAgIEFTU0VSVCghc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb0xv
YWRlck1hcCgpLmNvbnRhaW5zKG1fcmVzdWx0aW5nQ2xpZW50SWQpKTsKICAgICAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb0xvYWRlck1hcCgpLmFkZChtX3Jlc3VsdGluZ0Ns
aWVudElkLCB0aGlzKTsKKyAgICAgICAgbWFpblJlc291cmNlTG9hZE9wdGlvbnMuY2xpZW50SWRl
bnRpZmllciA9IG1fcmVzdWx0aW5nQ2xpZW50SWQ7CiAgICAgfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GZXRjaE9wdGlvbnMuaAppbmRleCA1YWNlMDE1YmQ1ZWY3MjkzYjYwZWExZTZhNmRl
MWU4Y2Y4MWU4OWFlLi4zOTVkZjA0NmQ0NmE1ZDViZDg1NjY3ZWYwZDdiMmNkNDQ5MzM1OGEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCkBAIC00NCw5ICs0NCw5IEBAIHN0cnVj
dCBGZXRjaE9wdGlvbnMgewogICAgIGVudW0gY2xhc3MgUmVkaXJlY3QgOiB1aW50OF90IHsgRm9s
bG93LCBFcnJvciwgTWFudWFsIH07CiAKICAgICBGZXRjaE9wdGlvbnMoKSA9IGRlZmF1bHQ7Ci0g
ICAgRmV0Y2hPcHRpb25zKERlc3RpbmF0aW9uLCBNb2RlLCBDcmVkZW50aWFscywgQ2FjaGUsIFJl
ZGlyZWN0LCBSZWZlcnJlclBvbGljeSwgU3RyaW5nJiYsIGJvb2wpOwotICAgIEZldGNoT3B0aW9u
cyBpc29sYXRlZENvcHkoKSBjb25zdCAmIHsgcmV0dXJuIHsgZGVzdGluYXRpb24sIG1vZGUsIGNy
ZWRlbnRpYWxzLCBjYWNoZSwgcmVkaXJlY3QsIHJlZmVycmVyUG9saWN5LCBpbnRlZ3JpdHkuaXNv
bGF0ZWRDb3B5KCksIGtlZXBBbGl2ZSB9OyB9Ci0gICAgRmV0Y2hPcHRpb25zIGlzb2xhdGVkQ29w
eSgpICYmIHsgcmV0dXJuIHsgZGVzdGluYXRpb24sIG1vZGUsIGNyZWRlbnRpYWxzLCBjYWNoZSwg
cmVkaXJlY3QsIHJlZmVycmVyUG9saWN5LCBXVEZNb3ZlKGludGVncml0eSkuaXNvbGF0ZWRDb3B5
KCksIGtlZXBBbGl2ZSB9OyB9CisgICAgRmV0Y2hPcHRpb25zKERlc3RpbmF0aW9uLCBNb2RlLCBD
cmVkZW50aWFscywgQ2FjaGUsIFJlZGlyZWN0LCBSZWZlcnJlclBvbGljeSwgU3RyaW5nJiYsIGJv
b2wsIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+KTsKKyAg
ICBGZXRjaE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29uc3QgJiB7IHJldHVybiB7IGRlc3RpbmF0
aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGljeSwg
aW50ZWdyaXR5Lmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUsIGNsaWVudElkZW50aWZpZXIgfTsg
fQorICAgIEZldGNoT3B0aW9ucyBpc29sYXRlZENvcHkoKSAmJiB7IHJldHVybiB7IGRlc3RpbmF0
aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGljeSwg
V1RGTW92ZShpbnRlZ3JpdHkpLmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUsIGNsaWVudElkZW50
aWZpZXIgfTsgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGVQZXJz
aXN0ZW50KEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlUGVyc2lzdGVudChEZWNvZGVyJiwgRmV0
Y2hPcHRpb25zJik7CkBAIC01OSwyMCArNTksMjEgQEAgc3RydWN0IEZldGNoT3B0aW9ucyB7CiAg
ICAgQ2FjaGUgY2FjaGUgeyBDYWNoZTo6RGVmYXVsdCB9OwogICAgIFJlZGlyZWN0IHJlZGlyZWN0
IHsgUmVkaXJlY3Q6OkZvbGxvdyB9OwogICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5
IHsgUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nIH07Ci0gICAgYm9vbCBrZWVwQWxpdmUgeyBm
YWxzZSB9OwogICAgIFN0cmluZyBpbnRlZ3JpdHk7CisgICAgYm9vbCBrZWVwQWxpdmUgeyBmYWxz
ZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+
IGNsaWVudElkZW50aWZpZXI7CiB9OwogCi1pbmxpbmUgRmV0Y2hPcHRpb25zOjpGZXRjaE9wdGlv
bnMoRGVzdGluYXRpb24gZGVzdGluYXRpb24sIE1vZGUgbW9kZSwgQ3JlZGVudGlhbHMgY3JlZGVu
dGlhbHMsIENhY2hlIGNhY2hlLCBSZWRpcmVjdCByZWRpcmVjdCwgUmVmZXJyZXJQb2xpY3kgcmVm
ZXJyZXJQb2xpY3ksIFN0cmluZyYmIGludGVncml0eSwgYm9vbCBrZWVwQWxpdmUpCitpbmxpbmUg
RmV0Y2hPcHRpb25zOjpGZXRjaE9wdGlvbnMoRGVzdGluYXRpb24gZGVzdGluYXRpb24sIE1vZGUg
bW9kZSwgQ3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIENhY2hlIGNhY2hlLCBSZWRpcmVjdCByZWRp
cmVjdCwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIFN0cmluZyYmIGludGVncml0eSwg
Ym9vbCBrZWVwQWxpdmUsIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXI+IGNsaWVudElkZW50aWZpZXIpCiAgICAgOiBkZXN0aW5hdGlvbihkZXN0aW5hdGlvbikK
ICAgICAsIG1vZGUobW9kZSkKICAgICAsIGNyZWRlbnRpYWxzKGNyZWRlbnRpYWxzKQogICAgICwg
Y2FjaGUoY2FjaGUpCiAgICAgLCByZWRpcmVjdChyZWRpcmVjdCkKICAgICAsIHJlZmVycmVyUG9s
aWN5KHJlZmVycmVyUG9saWN5KQotICAgICwga2VlcEFsaXZlKGtlZXBBbGl2ZSkKICAgICAsIGlu
dGVncml0eShXVEZNb3ZlKGludGVncml0eSkpCisgICAgLCBrZWVwQWxpdmUoa2VlcEFsaXZlKQor
ICAgICwgY2xpZW50SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVyKQogewogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggNTljZGNjMmVjNGM0OGMx
YWViZjRlN2JmODFlMjIwMWFkMTAyNTI0NC4uYjVkZDRlZjZhYTk4MWQ2M2M1NDg0YTQxZWFmNTRj
NjlmMWY0Y2VmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNw
cApAQCAtNzcsNiArNzcsOCBAQCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyBUaHJlYWRhYmxlTG9h
ZGVyT3B0aW9uczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICBjb3B5LnJlZGlyZWN0ID0gdGhp
cy0+cmVkaXJlY3Q7CiAgICAgY29weS5yZWZlcnJlclBvbGljeSA9IHRoaXMtPnJlZmVycmVyUG9s
aWN5OwogICAgIGNvcHkuaW50ZWdyaXR5ID0gdGhpcy0+aW50ZWdyaXR5Lmlzb2xhdGVkQ29weSgp
OworICAgIGNvcHkua2VlcEFsaXZlID0gdGhpcy0+a2VlcEFsaXZlOworICAgIGNvcHkuY2xpZW50
SWRlbnRpZmllciA9IHRoaXMtPmNsaWVudElkZW50aWZpZXI7CiAKICAgICAvLyBSZXNvdXJjZUxv
YWRlck9wdGlvbnMKICAgICBjb3B5LnNlbmRMb2FkQ2FsbGJhY2tzID0gdGhpcy0+c2VuZExvYWRD
YWxsYmFja3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IDhkN2Q5ZTY2ZDdi
YzFkNDI5YWE1ZDdmZjQ2Njg1MDQwMDhhYWNkNGQuLjIyNjczNDI1NjBhYTZhNWU3Yzc1YzA2ZGU2
MzQ0Y2U5NjA4NTRmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0xMTAs
NiArMTEwLDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6Y29ubmVjdCgpCiAgICAgb3B0aW9ucy5kYXRh
QnVmZmVyaW5nUG9saWN5ID0gRGF0YUJ1ZmZlcmluZ1BvbGljeTo6RG9Ob3RCdWZmZXJEYXRhOwog
ICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6IENv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ29ubmVjdFNyY0RpcmVjdGl2
ZTsKICAgICBvcHRpb25zLmluaXRpYXRvciA9IGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRv
cnMoKS5ldmVudHNvdXJjZTsKKyAgICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmlkZW50aWZpZXIoKTsKIAogICAgIEFTU0VSVChzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpOwogICAgIG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRl
KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICp0aGlzLCBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRp
b25zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFk
LmNwcAppbmRleCBiN2Y5MTdkNmQ4YmRhMDVlZGI1OGQxMmY3ODVhM2IzOTIwODEyMDliLi4wZGRm
NWVlNTU5ODEwMmQzN2MxY2YyMGJmZGNlM2E1NGZlNTcwNTZhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCkBAIC00OCw3ICs0OCwxMiBA
QCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRpY2F0ZWRXb3JrZXJUaHJlYWQoKSA9IGRlZmF1
bHQ7CiAKIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVh
dGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4p
CiB7Ci0gICAgcmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUocGFyYW1z
LCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rp
b25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICBhdXRvIHNjb3BlID0gRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShwYXJhbXMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMs
IFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVy
KCkpOworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBpZiAocGFyYW1zLnNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EYXRhICYmIHBhcmFtcy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGF0YS0+YWN0aXZlV29ya2VyKQorICAgICAgICBzY29wZS0+c2V0QWN0aXZlU2VydmljZVdvcmtl
cihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShzY29wZS5nZXQoKSwgU2VydmljZVdvcmtlckRh
dGEgeyAqcGFyYW1zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLT5hY3RpdmVXb3JrZXIg
fSkpOworI2VuZGlmCisgICAgcmV0dXJuIHNjb3BlOwogfQogCiB2b2lkIERlZGljYXRlZFdvcmtl
clRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA3
ZmJhNjI4OTFkZGJhYTZlNjY1YzE0YmY5ZWMyOGEyOGI0NDQxNTQ3Li5hMDZmYTg4ZTYwZGFhNTE1
NmRlZWRlMDFjNTFmYTBiOTM3NDVhNGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBA
IC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJT
dHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3Bl
UHJveHkuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCIKICNpbmNsdWRl
ICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9JZGVudGlmaWVyc0ZhY3RvcnkuaD4KQEAgLTIwOCwxMyArMjA5
LDE5IEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBib29sIGlzT25saW5lID0gcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0
cmF0ZWd5KCktPmlzT25MaW5lKCk7CiAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgPSBtX2Nv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyA/IG1fY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgOiBjb250ZXh0LT5jb250ZW50U2VjdXJpdHlQb2xp
Y3koKS0+cmVzcG9uc2VIZWFkZXJzKCk7CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xp
Y3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiAgICAgaWYgKGF1dG8gcG9saWN5ID0g
cGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRlci0+cmVmZXJyZXJQb2xpY3koKSwgUmVm
ZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQogICAgICAgICByZWZlcnJlclBvbGljeSA9
ICpwb2xpY3k7CiAKLSAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1f
c2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgpLCBtX29wdGlvbnMubmFtZSwgY29udGV4dC0+
dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgpKSwgaXNPbmxpbmUsIG1f
c2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV9zY3Jp
cHRMb2FkZXItPmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSwgbV93b3JrZXJDcmVhdGlvblRp
bWUsIHJlZmVycmVyUG9saWN5LCBtX29wdGlvbnMudHlwZSwgbV9vcHRpb25zLmNyZWRlbnRpYWxz
LCBtX3J1bnRpbWVGbGFncyk7CisgICAgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxp
emF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBtX3Njcmlw
dExvYWRlci0+dGFrZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhKCksCisjZW5kaWYKKyAg
ICAgICAgbV9zY3JpcHRMb2FkZXItPmNsaWVudElkZW50aWZpZXIoKSwKKyAgICAgICAgY29udGV4
dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgpKQorICAgIH07Cisg
ICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+
bGFzdFJlcXVlc3RVUkwoKSwgbV9vcHRpb25zLm5hbWUsIFdURk1vdmUoaW5pdGlhbGl6YXRpb25E
YXRhKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBtX3NjcmlwdExvYWRlci0+Y3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSgpLCBtX3dvcmtlckNy
ZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fb3B0aW9ucy50eXBlLCBtX29wdGlvbnMuY3Jl
ZGVudGlhbHMsIG1fcnVudGltZUZsYWdzKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OnNjcmlwdEltcG9ydGVkKCpjb250ZXh0LCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBt
X3NjcmlwdExvYWRlci0+c2NyaXB0KCkudG9TdHJpbmcoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggNTkzM2UwNzRlOGI2MzI3ZDA1
NjYxYjM0MWUxNjI3MjA5OWZkMjlmYi4uNDYxNTMzMTNiMzIyZjcxZmRiMDhjNGNkZTljYzU1NmI3
NmY4MmI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5j
cHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5j
bHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpblBvbGljeS5o
IgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnREYXRhLmgiCiAjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiU29ja2V0UHJvdmlkZXIuaCIKICNpbmNs
dWRlICJXb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCkBAIC05MSw3ICs5Miw3IEBAIHN0
YXRpYyBXb3JrUXVldWUmIHNoYXJlZEZpbGVTeXN0ZW1TdG9yYWdlUXVldWUoKQogV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKFdvcmtlckdsb2JhbFNjb3BlKTsKIAogV29ya2VyR2xvYmFsU2Nv
cGU6Oldvcmtlckdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUgdHlwZSwgY29uc3QgV29ya2Vy
UGFyYW1ldGVycyYgcGFyYW1zLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBXb3JrZXJU
aHJlYWQmIHRocmVhZCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNv
Y2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUodHlwZSwgaXNN
YWluVGhyZWFkKCkgPyBSZWYgeyBjb21tb25WTSgpIH0gOiBKU0M6OlZNOjpjcmVhdGUoKSwgJnRo
cmVhZCkKKyAgICA6IFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKHR5cGUsIGlzTWFpblRocmVh
ZCgpID8gUmVmIHsgY29tbW9uVk0oKSB9IDogSlNDOjpWTTo6Y3JlYXRlKCksICZ0aHJlYWQsIHBh
cmFtcy5jbGllbnRJZCkKICAgICAsIG1fdXJsKHBhcmFtcy5zY3JpcHRVUkwpCiAgICAgLCBtX2lu
c3BlY3RvcklkZW50aWZpZXIocGFyYW1zLmluc3BlY3RvcklkZW50aWZpZXIpCiAgICAgLCBtX3Vz
ZXJBZ2VudChwYXJhbXMudXNlckFnZW50KQpAQCAtNjUzLDQgKzY1NCwxNCBAQCB2b2lkIFdvcmtl
ckdsb2JhbFNjb3BlOjp1cGRhdGVTb3VyY2VQcm92aWRlckJ1ZmZlcnMoY29uc3QgU2NyaXB0QnVm
ZmVyJiBtYWluU2NyaQogICAgIH0KIH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKK3Zv
aWQgV29ya2VyR2xvYmFsU2NvcGU6OnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkKK3sK
KyAgICBBU1NFUlQodHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpUeXBlOjpE
ZWRpY2F0ZWRXb3JrZXIpOworICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRp
b25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2VydmljZVdv
cmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OworICAgIFNX
Q2xpZW50Q29ubmVjdGlvbiYgY29ubmVjdGlvbiA9IHN3Q2xpZW50Q29ubmVjdGlvbigpOworICAg
IGNvbm5lY3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbigpLCBTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7IG1fdXNlckFnZW50IH0pOworfQorI2Vu
ZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaAppbmRleCBlYWE1ODIwNzRmYWZjNDY0YzMyOGY4M2U2NTI4YmRhMDdk
Y2MyZDUyLi41OGJiZDY1NzdmYTQzNzIwN2U5YmE3NmRkZWU3M2UzOTY0ZGVkNmNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC0xOTIsNiArMTkyLDkg
QEAgcHJpdmF0ZToKICAgICBib29sIHdyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+
JiBrZXksIFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSkgZmluYWw7CiAgICAgYm9vbCB1bndy
YXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5LCBWZWN0b3I8dWlu
dDhfdD4mIGtleSkgZmluYWw7CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisg
ICAgdm9pZCB1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpIGZpbmFsOworI2VuZGlmCiAK
ICAgICB2b2lkIHN0b3BJbmRleGVkRGF0YWJhc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAppbmRleCAyYmFiMjY3MzVkZTE5YjRiNTEx
MTA3YTZhY2Q5OWUyOTg2NDU3M2NkLi44YTUwYTcwMDczNzE1NTk0ZWUxZDRjYzIzZTc5OGMzODE5
YTUxNDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
UHJveHkuaApAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnM7CiBjbGFzcyBTY3JpcHRCdWZmZXI7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OwogY2xhc3MgV29ya2VyOworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsK
IGVudW0gY2xhc3MgUmVmZXJyZXJQb2xpY3kgOiB1aW50OF90OwogZW51bSBjbGFzcyBXb3JrZXJU
eXBlIDogYm9vbDsKIApAQCAtNTEsNyArNTIsNyBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZVBy
b3h5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV29ya2VyR2xvYmFsU2NvcGVQcm94eSYgY3JlYXRl
KFdvcmtlciYpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3kmLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3Jr
ZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiwgY29u
c3QgU2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYsIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRl
bnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5h
dGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VU
b1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lM2VmYzA4YzRhMjY3
YjZmM2Q1ZWIyNWUxOWZmOGFjN2UzYjY5Njk5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaApAQCAtMCwwICsxLDQyIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgorI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIHN0ZDo6
b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IHNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25EYXRhOworI2VuZGlmCisgICAgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllcjsKKyAgICBTdHJpbmcgdXNlckFnZW50
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCBjMzExMWEyZjdmNWZmMjkxOGZmZWM1
MGJiMzEwM2MwNWUxMjg3NGMzLi4zY2RlZWJmZjc3MjllNDYxNDNmMTI0YTYyNDNlODcwZWQ3MWJh
ODAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmNwcApAQCAtMzgsMTEgKzM4LDE0IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1
ZGUgIkZldGNoUmVxdWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlk
ZXIuaCIKKyNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVu
dC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKICNpbmNsdWRlICJXb3JrZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRh
dGEuaCIKICNpbmNsdWRlICJXb3JrZXJJbnNwZWN0b3JQcm94eS5oIgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Njcmlw
dENhbGxTdGFjay5oPgpAQCAtNzUsNyArNzgsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldv
cmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigq
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4o
Km1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6
Y3VycmVudCgpKSk7CiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2Vy
R2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFNjcmlwdEJ1ZmZlciYg
c291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5JiBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZl
dGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50
aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNj
b3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIFdvcmtlckluaXRp
YWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSwgY29uc3QgU2NyaXB0QnVmZmVyJiBz
b3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xp
Y3kmIGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
UmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUgd29ya2VyVHlwZSwgRmV0
Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRp
bWVGbGFncykKIHsKICAgICAvLyBGSVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVu
IHdlIHN1cHBvcnQgbmVzdGVkIHdvcmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCk7CkBAIC04Nyw3ICs5MCwxMiBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1By
b3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBT
dAogCiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0
UHJvdmlkZXIoKTsKIAotICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkws
IG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBv
bGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCkg
fTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyB7IHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRp
ZmllciwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEudXNlckFnZW50KSwgcGxhdGZvcm1TdHJh
dGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGNvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBv
bGljeSwgd29ya2VyVHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCks
IFdvcmtlclRocmVhZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCwgeyB9LAorI2lmIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKKyAgICAgICAgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEuc2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGEpLAorI2VuZGlmCisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0
YS5jbGllbnRJZGVudGlmaWVyLnZhbHVlX29yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyIHsgfSkKKyAgICB9OwogICAgIGF1dG8gdGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFk
OjpjcmVhdGUocGFyYW1zLCBzb3VyY2VDb2RlLCAqdGhpcywgKnRoaXMsICp0aGlzLCBzdGFydE1v
ZGUsIGRvY3VtZW50LnRvcE9yaWdpbigpLCBwcm94eSwgc29ja2V0UHJvdmlkZXIsIHJ1bnRpbWVG
bGFncyk7CiAKICAgICB3b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVhZC5nZXQoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggMjI2ZTg2MWM1
MTZkNWQyZTZhMzQ1ZWQ3ZGU4NzFjOTI0YzEyODg0My4uYjI1OTU3MmIzODBjZmYxMDJiNzRjNGFh
MjRkNTEwMWM5OGU5NmY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8v
IEltcGxlbWVudGF0aW9ucyBvZiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5
IHVzZSB0aGVzZSBmdW5jdGlvbnMgaW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2
b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50
aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEmJiwgY29uc3QgU2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeSYsIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtl
clR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7
CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQg
cG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYp
IGZpbmFsOwogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZv
aWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggZmNi
NDRlNmNiYzQyOWVlZDAyYWI2M2E4MGM4NDc4ZGJkM2RiMjhhZi4uNTgzYTU2Zjk3NTQxMTU2NWVm
OTczMmFmN2EzNGM0ODEyMDJlMDQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTQwLDggKzQwLDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGUpOwogCi1Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2Vy
T3JXb3JrbGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBSZWY8SlNDOjpWTT4m
JiB2bSwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiB0aHJlYWQpCi0gICAgOiBtX3NjcmlwdChtYWtl
VW5pcXVlPFdvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXI+KHR5cGUsIFdURk1vdmUodm0p
LCB0aGlzKSkKK1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjpXb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIFJlZjxKU0M6OlZNPiYmIHZtLCBXb3JrZXJP
cldvcmtsZXRUaHJlYWQqIHRocmVhZCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIg
Y29udGV4dElkZW50aWZpZXIpCisgICAgOiBTY3JpcHRFeGVjdXRpb25Db250ZXh0KGNvbnRleHRJ
ZGVudGlmaWVyKQorICAgICwgbV9zY3JpcHQobWFrZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3Jp
cHRDb250cm9sbGVyPih0eXBlLCBXVEZNb3ZlKHZtKSwgdGhpcykpCiAgICAgLCBtX21vZHVsZUxv
YWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxv
YWRlcjo6T3duZXJUeXBlOjpXb3JrZXJPcldvcmtsZXQpKQogICAgICwgbV90aHJlYWQodGhyZWFk
KQogICAgICwgbV9pbnNwZWN0b3JDb250cm9sbGVyKG1ha2VVbmlxdWU8V29ya2VySW5zcGVjdG9y
Q29udHJvbGxlcj4oKnRoaXMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IGEwZDE2ZDc0NzA5OTkzNGE4ZmUzMTgwYmUw
Nzc5MzI3NTM1M2JhYzEuLjg3MWNkN2M1MWZmZTQ4NjU2ODg2ODQ1ZDA1ZWVlMTJlOTg5OTNiMTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgot
ICAgIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUsIFJlZjxKU0M6
OlZNPiYmLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQqKTsKKyAgICBXb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZShXb3JrZXJUaHJlYWRUeXBlLCBSZWY8SlNDOjpWTT4mJiwgV29ya2VyT3JXb3JrbGV0
VGhyZWFkKiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgPSB7IH0pOwogCiAgICAg
Ly8gU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KICAgICBib29sIGlzSlNFeGVjdXRpb25Gb3JiaWRk
ZW4oKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmNwcAppbmRleCAwYzQwMTAxOTlmNGJmMjYyNDllMmJkYzBlNzgxMGRmNTA4ZGZlMWIw
Li5hZjBjZTg2YmU0MDc1MDU3ZWJhM2RmN2Y0OTI2NDdjNjM3ODk4NGM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC00NSwxMiArNDUsMjIg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciwgV29ya2VyU2NyaXB0TG9hZGVyKj4mIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyVG9Xb3JrZXJTY3JpcHRMb2FkZXJNYXAoKQoreworICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
LCBXb3JrZXJTY3JpcHRMb2FkZXIqPj4gbWFwOworICAgIHJldHVybiBtYXAuZ2V0KCk7Cit9CisK
IFdvcmtlclNjcmlwdExvYWRlcjo6V29ya2VyU2NyaXB0TG9hZGVyKCkKICAgICA6IG1fc2NyaXB0
KFNjcmlwdEJ1ZmZlcjo6ZW1wdHkoKSkKIHsKIH0KIAotV29ya2VyU2NyaXB0TG9hZGVyOjp+V29y
a2VyU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0OworV29ya2VyU2NyaXB0TG9hZGVyOjp+V29ya2Vy
U2NyaXB0TG9hZGVyKCkKK3sKKyAgICBpZiAobV9jbGllbnRJZGVudGlmaWVyKQorICAgICAgICBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRvV29ya2VyU2NyaXB0TG9hZGVyTWFwKCku
cmVtb3ZlKCptX2NsaWVudElkZW50aWZpZXIpOworfQogCiBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlv
bj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgU291cmNlIHNv
dXJjZSwgRmV0Y2hPcHRpb25zOjpNb2RlIG1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUgY2FjaGVQ
b2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpCiB7CkBA
IC05Nyw2ICsxMDcsOCBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9h
ZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25DbwogICAgIG9wdGlvbnMuc2Vy
dmljZVdvcmtlcnNNb2RlID0gaXNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgPyBTZXJ2aWNlV29y
a2Vyc01vZGU6Ok5vbmUgOiBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbDsKICAgICBpZiAoYXV0byog
YWN0aXZlU2VydmljZVdvcmtlciA9IHdvcmtlckdsb2JhbFNjb3BlLmFjdGl2ZVNlcnZpY2VXb3Jr
ZXIoKSkKICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
ciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKKyAgICBl
bHNlCisgICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gU2VydmljZVdvcmtlcnNN
b2RlOjpOb25lOwogI2VuZGlmCiAgICAgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291
cmNlU3luY2hyb25vdXNseSh3b3JrZXJHbG9iYWxTY29wZSwgV1RGTW92ZSgqcmVxdWVzdCksICp0
aGlzLCBvcHRpb25zKTsKIApAQCAtMTQyLDggKzE1NCwxNyBAQCB2b2lkIFdvcmtlclNjcmlwdExv
YWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4
ZWN1dAogICAgIC8vIEEgc2VydmljZSB3b3JrZXIgam9iIGNhbiBiZSBleGVjdXRlZCBmcm9tIGEg
d29ya2VyIGNvbnRleHQgb3IgYSBkb2N1bWVudCBjb250ZXh0LgogICAgIG9wdGlvbnMuc2Vydmlj
ZVdvcmtlcnNNb2RlID0gc2VydmljZVdvcmtlck1vZGU7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09S
S0VSKQotICAgIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gc2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCi0gICAgICAgIG9wdGlvbnMuc2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyLT5yZWdpc3Ry
YXRpb25JZGVudGlmaWVyKCk7CisgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzaGFyZWQg
d29ya2VyLgorICAgIGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OldvcmtlcikgeworICAgICAgICBtX2NsaWVudElkZW50aWZpZXIgPSBvcHRpb25zLmNsaWVu
dElkZW50aWZpZXIgPSBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjo6Z2VuZXJhdGUo
KTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlw
dExvYWRlck1hcCgpLmFkZCgqbV9jbGllbnRJZGVudGlmaWVyLCB0aGlzKTsKKyAgICB9IGVsc2Ug
eworICAgICAgICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBzY3JpcHRFeGVjdXRpb25Db250
ZXh0LmlkZW50aWZpZXIoKTsKKyAgICAgICAgaWYgKGF1dG8qIGFjdGl2ZVNlcnZpY2VXb3JrZXIg
PSBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKKyAgICAgICAg
ICAgIG9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBhY3RpdmVT
ZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gU2VydmljZVdvcmtlcnNNb2Rl
OjpOb25lOworICAgIH0KICNlbmRpZgogCiAgICAgLy8gRHVyaW5nIGNyZWF0ZSwgY2FsbGJhY2tz
IG1heSBoYXBwZW4gd2hpY2ggcmVtb3ZlIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVj
dC4KQEAgLTI5OCw0ICszMTksMTcgQEAgV29ya2VyRmV0Y2hSZXN1bHQgV29ya2VyU2NyaXB0TG9h
ZGVyOjpmZXRjaFJlc3VsdCgpIGNvbnN0CiAgICAgcmV0dXJuIHsgc2NyaXB0KCksIGxhc3RSZXF1
ZXN0VVJMKCksIGNlcnRpZmljYXRlSW5mbygpLCBjb250ZW50U2VjdXJpdHlQb2xpY3koKSwgY3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSgpLCByZWZlcnJlclBvbGljeSgpLCB7IH0gfTsKIH0KIAor
V29ya2VyU2NyaXB0TG9hZGVyKiBXb3JrZXJTY3JpcHRMb2FkZXI6OmZyb21TY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVu
dGlmaWVyKQoreworICAgIHJldHVybiBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRv
V29ya2VyU2NyaXB0TG9hZGVyTWFwKCkuZ2V0KGlkZW50aWZpZXIpOworfQorCisjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQorYm9vbCBXb3JrZXJTY3JpcHRMb2FkZXI6OnNldENvbnRyb2xsaW5n
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYm
IGRhdGEpCit7CisgICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSA9IFdURk1vdmUo
ZGF0YSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXgg
NTlhY2E5NjI5MjA0NWM3MjUwZGUyNjM2ZTlhOTI5MTFjNjY1NzAxNS4uYzUwYTAwYmVmMzM0NzAx
YTMyZWYyNGZiOGVlYWI2MGNmM2Q5MmQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNjcmlw
dEJ1ZmZlci5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCiAj
aW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKICNpbmNsdWRlIDxtZW1vcnk+CkBAIC00OSw2ICs1MCw3IEBAIGNsYXNzIEV4Y2Vw
dGlvbjsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBUZXh0UmVzb3VyY2VE
ZWNvZGVyOwogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50Oworc3RydWN0IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EYXRhOwogc3RydWN0IFdvcmtlckZldGNoUmVzdWx0OwogZW51bSBj
bGFzcyBDZXJ0aWZpY2F0ZUluZm9Qb2xpY3kgOiB1aW50OF90OwogCkBAIC05NCw2ICs5NiwxNCBA
QCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVzb3VyY2VFcnJvciB2YWxp
ZGF0ZVdvcmtlclJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBTb3VyY2UsIEZldGNo
T3B0aW9uczo6RGVzdGluYXRpb24pOwogCisgICAgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xpZW50SWRlbnRpZmllcjsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBXb3JrZXJTY3Jp
cHRMb2FkZXIqIGZyb21TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllcik7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzZXRDb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJik7CisgICAgc3RkOjpvcHRpb25h
bDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gdGFrZVNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhKCkgeyByZXR1cm4gc3RkOjpleGNoYW5nZShtX3NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhLCB7IH0pOyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3Mg
UmVmQ291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+OwogICAgIGZyaWVuZCBzdHJ1Y3Qgc3RkOjpk
ZWZhdWx0X2RlbGV0ZTxXb3JrZXJTY3JpcHRMb2FkZXI+OwpAQCAtMTI1LDYgKzEzNSwxMCBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9pc0NPRVBFbmFibGVkIHsgZmFsc2UgfTsKICAgICBSZXNvdXJj
ZVJlc3BvbnNlOjpTb3VyY2UgbV9yZXNwb25zZVNvdXJjZSB7IFJlc291cmNlUmVzcG9uc2U6OlNv
dXJjZTo6VW5rbm93biB9OwogICAgIFJlc291cmNlRXJyb3IgbV9lcnJvcjsKKyAgICBzdGQ6Om9w
dGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBtX2NsaWVudElkZW50aWZp
ZXI7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIHN0ZDo6b3B0aW9uYWw8U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7
CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA1YTBmZTE4N2M2ZjFiNTY5ODZjNGRkOTA3MTY1Mjhk
ZGQ5ZGIyYjdmLi43NTQ5ZDkyZmRjYmQ3YjJkZTVkOGI5Mjk0MTJjNGI4MDE2N2NkYjM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC02NCw2ICs2NCwxMCBAQCBX
b3JrZXJQYXJhbWV0ZXJzIFdvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAg
ICAgICAgIHNldHRpbmdzVmFsdWVzLmlzb2xhdGVkQ29weSgpLAogICAgICAgICB3b3JrZXJUaHJl
YWRNb2RlLAogICAgICAgICBzZXNzaW9uSUQsCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQor
ICAgICAgICBjcm9zc1RocmVhZENvcHkoc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEpLAor
I2VuZGlmCisgICAgICAgIGNsaWVudElkCiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmgKaW5kZXggZGM5Nzc0ZTkyZTdmMWVlNjhmZjRkZjUyZmI5NWVlNTRjZjA0
MWM2Ny4uOWYyNzg0MmJjZWUwNTc4NzdhMmYxM2FiODk4OWI3YWMyNGQzZTZmYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0yOSw2ICsyOSw4IEBACiAjaW5jbHVkZSAi
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5oIgogI2luY2x1ZGUgIkZldGNoUmVxdWVzdENyZWRl
bnRpYWxzLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oIgorI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRUaHJlYWQu
aCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVHlwZS5oIgpA
QCAtNzYsNiArNzgsMTAgQEAgcHVibGljOgogICAgIFNldHRpbmdzOjpWYWx1ZXMgc2V0dGluZ3NW
YWx1ZXM7CiAgICAgV29ya2VyVGhyZWFkTW9kZSB3b3JrZXJUaHJlYWRNb2RlIHsgV29ya2VyVGhy
ZWFkTW9kZTo6Q3JlYXRlTmV3VGhyZWFkIH07CiAgICAgc3RkOjpvcHRpb25hbDxQQUw6OlNlc3Np
b25JRD4gc2Vzc2lvbklEIHsgc3RkOjpudWxsb3B0IH07CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09S
S0VSKQorICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IHNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOworI2VuZGlmCisgICAgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIgY2xpZW50SWQ7CiAKICAgICBXb3JrZXJQYXJhbWV0ZXJzIGlzb2xh
dGVkQ29weSgpIGNvbnN0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggOThjMTg4NmFkNDI4MzAxOGZmNTMz
ZDRhZGYwZjA2NTA1MTJmY2U2Ny4uNTViYjQwZjk5ZjM5NWY4NzZlZmY4MGNjMDVlNDA0Mjg1Zjli
M2IyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50
Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAKQEAgLTI2MSwxMCArMjYxLDExIEBAIHZvaWQgU1dDbGllbnRDb25u
ZWN0aW9uOjpjbGVhclBlbmRpbmdKb2JzKCkKIAogdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnJl
Z2lzdGVyU2VydmljZVdvcmtlckNsaWVudHMoKQogewotICAgIGZvciAoYXV0byogZG9jdW1lbnQg
OiBEb2N1bWVudDo6YWxsRG9jdW1lbnRzKCkpIHsKLSAgICAgICAgYXV0byBjb250cm9sbGluZ1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0gZG9jdW1lbnQtPmFjdGl2ZVNlcnZp
Y2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllcj4oZG9jdW1lbnQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKS0+cmVnaXN0cmF0aW9u
SWRlbnRpZmllcigpKSA6IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGRvY3VtZW50LT50b3BPcmlnaW4oKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6
OmZyb20oKmRvY3VtZW50KSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciwgZG9jdW1lbnQtPnVzZXJBZ2VudChkb2N1bWVudC0+dXJsKCkpKTsKLSAgICB9Cisg
ICAgZm9yIChhdXRvKiBkb2N1bWVudCA6IERvY3VtZW50OjphbGxEb2N1bWVudHMoKSkKKyAgICAg
ICAgZG9jdW1lbnQtPnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCk7CisKKyAgICBTaGFy
ZWRXb3JrZXJDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuZm9yRWFjaFNoYXJlZFdvcmtlcihb
XSB7IHJldHVybiBbXSAoYXV0byYgY29udGV4dCkgeyBjb250ZXh0LnVwZGF0ZVNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhKCk7IH07IH0pOworICAgIFdvcmtlcjo6Zm9yRWFjaFdvcmtlcihbXSB7IHJl
dHVybiBbXSAoYXV0byYgY29udGV4dCkgeyBjb250ZXh0LnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGll
bnREYXRhKCk7IH07IH0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRE
YXRhLmNwcAppbmRleCAxZjFjYzBmM2Q0OWYxYTAyZjZjZTg4MDU3MGQ3OTM2NTI1YzJiMjBiLi5l
YzMwNmY1YzE3Nzg0NGU2NzE0NWRkYjI1NjdjMmEzOTViNmRjNjBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YS5jcHAKQEAgLTY5LDMwICs2OSw0NSBAQCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNl
V29ya2VyQ2xpZW50RGF0YTo6aXNvbGF0ZWRDb3B5KCkgJiYKIAogU2VydmljZVdvcmtlckNsaWVu
dERhdGEgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCkKIHsKLSAgICBib29sIGlzRG9jdW1lbnQgPSBpczxEb2N1bWVudD4oY29udGV4
dCk7Ci0gICAgUkVMRUFTRV9BU1NFUlQoaXNEb2N1bWVudCk7IC8vIFdlIGRvIG5vdCBzdXBwb3J0
IGRlZGljYXRlZCB3b3JrZXJzIGFzIGNsaWVudHMgeWV0LgorICAgIGlmIChpczxEb2N1bWVudD4o
Y29udGV4dCkpIHsKKyAgICAgICAgYXV0byYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4o
Y29udGV4dCk7CisgICAgICAgIGF1dG8gbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQgPSBk
b2N1bWVudC5sb2FkZXIoKSAmJiBkb2N1bWVudC5sb2FkZXIoKS0+bGFzdE5hdmlnYXRpb25XYXNB
cHBJbml0aWF0ZWQoKSA/IExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBMYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6Tm87CiAKLSAgICBhdXRvJiBkb2N1bWVudCA9IGRv
d25jYXN0PERvY3VtZW50Pihjb250ZXh0KTsKLSAgICBhdXRvIGxhc3ROYXZpZ2F0aW9uV2FzQXBw
SW5pdGlhdGVkID0gZG9jdW1lbnQubG9hZGVyKCkgJiYgZG9jdW1lbnQubG9hZGVyKCktPmxhc3RO
YXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKCkgPyBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRl
ZDo6WWVzIDogTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6Ok5vOworICAgICAgICBWZWN0
b3I8U3RyaW5nPiBhbmNlc3Rvck9yaWdpbnM7CisgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRv
Y3VtZW50LmZyYW1lKCkpIHsKKyAgICAgICAgICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBmcmFt
ZS0+dHJlZSgpLnBhcmVudCgpOyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+dHJlZSgp
LnBhcmVudCgpKQorICAgICAgICAgICAgICAgIGFuY2VzdG9yT3JpZ2lucy5hcHBlbmQoYW5jZXN0
b3ItPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkudG9TdHJpbmcoKSk7CisgICAgICAgIH0K
IAotICAgIFZlY3RvcjxTdHJpbmc+IGFuY2VzdG9yT3JpZ2luczsKLSAgICBpZiAoYXV0byogZnJh
bWUgPSBkb2N1bWVudC5mcmFtZSgpKSB7Ci0gICAgICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBm
cmFtZS0+dHJlZSgpLnBhcmVudCgpOyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+dHJl
ZSgpLnBhcmVudCgpKQotICAgICAgICAgICAgYW5jZXN0b3JPcmlnaW5zLmFwcGVuZChhbmNlc3Rv
ci0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS50b1N0cmluZygpKTsKKyAgICAgICAgcmV0
dXJuIHsKKyAgICAgICAgICAgIGNvbnRleHQuaWRlbnRpZmllcigpLAorICAgICAgICAgICAgU2Vy
dmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdywKKyAgICAgICAgICAgIHRvU2VydmljZVdvcmtl
ckNsaWVudEZyYW1lVHlwZShjb250ZXh0KSwKKyAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0aW9u
VVJMKCksCisgICAgICAgICAgICBkb2N1bWVudC5wYWdlSUQoKSwKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmZyYW1lSUQoKSwKKyAgICAgICAgICAgIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVk
LAorICAgICAgICAgICAgIWRvY3VtZW50LmhpZGRlbigpLAorICAgICAgICAgICAgZG9jdW1lbnQu
aGFzRm9jdXMoKSwKKyAgICAgICAgICAgIDAsCisgICAgICAgICAgICBXVEZNb3ZlKGFuY2VzdG9y
T3JpZ2lucykKKyAgICAgICAgfTsKICAgICB9CiAKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkCisg
ICAgYXV0byYgc2NvcGUgPSBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCk7CiAg
ICAgcmV0dXJuIHsKLSAgICAgICAgY29udGV4dC5pZGVudGlmaWVyKCksCi0gICAgICAgIGlzRG9j
dW1lbnQgPyBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V2luZG93IDogU2VydmljZVdvcmtlckNs
aWVudFR5cGU6OldvcmtlciwKLSAgICAgICAgdG9TZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBl
KGNvbnRleHQpLAotICAgICAgICBkb2N1bWVudC5jcmVhdGlvblVSTCgpLAotICAgICAgICBkb2N1
bWVudC5wYWdlSUQoKSwKLSAgICAgICAgZG9jdW1lbnQuZnJhbWVJRCgpLAotICAgICAgICBsYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwKLSAgICAgICAgIWRvY3VtZW50LmhpZGRlbigpLAot
ICAgICAgICBkb2N1bWVudC5oYXNGb2N1cygpLAorICAgICAgICBzY29wZS5pZGVudGlmaWVyKCks
CisgICAgICAgIHNjb3BlLnR5cGUoKSA9PSBXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6VHlw
ZTo6U2hhcmVkV29ya2VyID8gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OlNoYXJlZHdvcmtlciA6
IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXb3JrZXIsCisgICAgICAgIFNlcnZpY2VXb3JrZXJD
bGllbnRGcmFtZVR5cGU6Ok5vbmUsCisgICAgICAgIHNjb3BlLnVybCgpLAorICAgICAgICB7IH0s
CisgICAgICAgIHsgfSwKKyAgICAgICAgTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6Ok5v
LAorICAgICAgICBmYWxzZSwKKyAgICAgICAgZmFsc2UsCiAgICAgICAgIDAsCi0gICAgICAgIFdU
Rk1vdmUoYW5jZXN0b3JPcmlnaW5zKQorICAgICAgICB7IH0KICAgICB9OwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50
VHlwZS5oCmluZGV4IDg2NDRiODcyYTY0MDM4OTBjZGU0NTczZjRiMzcyYjc1YzM5OGJiZTAuLjU1
OWJiMDM1ZTkwYzIyODQ2ZjIzOWI2ZGYwZTVlZmY0ZDRiMDcxMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50VHlwZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50VHlwZS5o
CkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBT
ZXJ2aWNlV29ya2VyQ2xpZW50VHlwZSB7CitlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJDbGllbnRU
eXBlIDogdWludDhfdCB7CiAgICAgV2luZG93LAogICAgIFdvcmtlciwKICAgICBTaGFyZWR3b3Jr
ZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRhaW5lci5jcHAKaW5kZXggYWI0ZjVhMmNmMzUzMDBkMjkzYjc3ZTM5NGYzODRm
OGM3OGVkYWJhNi4uZTAwYzc2NGJlYzE4NTJmMjBkZTRmYjQxYjYzYTczYzc4Mzc1ZjRjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ29udGFpbmVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiQ29udGVudFNl
Y3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCisjaW5jbHVkZSAi
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRMb29wLmgiCkBAIC0xMzIsNyArMTMzLDcg
QEAgYXV0byBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpyZWFkeSgpIC0+IFJlYWR5UHJvbWlzZSYK
IFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmNvbnRyb2xsZXIoKSBjb25z
dAogewogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAg
QVNTRVJUX1dJVEhfTUVTU0FHRSghY29udGV4dCB8fCBpczxEb2N1bWVudD4oKmNvbnRleHQpIHx8
ICFjb250ZXh0LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCksICJPbmx5IGRvY3VtZW50cyBjYW4gaGF2
ZSBhIGNvbnRyb2xsZXIgYXQgdGhlIG1vbWVudC4iKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdF
KCFjb250ZXh0IHx8IGlzPERvY3VtZW50PigqY29udGV4dCkgfHwgaXM8RGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGU+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigp
LCAiT25seSBkb2N1bWVudHMgYW5iZCBkZWRpY2F0ZWQgd29ya2VycyBjYW4gaGF2ZSBhIGNvbnRy
b2xsZXIgYXQgdGhlIG1vbWVudC4iKTsKICAgICByZXR1cm4gY29udGV4dCA/IGNvbnRleHQtPmFj
dGl2ZVNlcnZpY2VXb3JrZXIoKSA6IG51bGxwdHI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVh
ZC5jcHAKaW5kZXggOWY4MmVlZDYzMTI4OWU1MGNjN2JkZTE5YmJmYWQ0Mzk1ODNmZjU3Ni4uYTE2
ZGZjNGEyMmRiMDIzNTYyMGE3YjlmN2U5Yzc4ZDE5N2JiOTA3NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
clRocmVhZC5jcHAKQEAgLTk1LDcgKzk1LDkgQEAgc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2Vu
ZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYKICAg
ICAgICAgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHM6Ok9taXQsCiAgICAgICAgIHNldHRpbmdzVmFs
dWVzLAogICAgICAgICB3b3JrZXJUaHJlYWRNb2RlLAotICAgICAgICBzZXNzaW9uSUQKKyAgICAg
ICAgc2Vzc2lvbklELAorICAgICAgICB7IH0sCisgICAgICAgIHsgfQogICAgIH07CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlw
dExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2Ny
aXB0TG9hZGVyLmgKaW5kZXggZjI1Yzc5ZDI4MTUwYzlmNWVmOWVhMjhkZjAzNTU4Mjc2NGQ0NTcx
ZC4uNzFjYjRiNjViYzk5NWM1NWNiZWZiMDFhMzllYzJkMTYxM2YyODFhMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyLmgKQEAgLTM2LDYgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdHJ1Y3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CiBjbGFzcyBTaGFyZWRXb3JrZXI7CiBjbGFz
cyBXb3JrZXJTY3JpcHRMb2FkZXI7CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRo
cmVhZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hh
cmVkV29ya2VyVGhyZWFkUHJveHkuY3BwCmluZGV4IDM1NDdkNjc3ZThlYWFmNmNjZTU3OWZjMjBj
Y2NlOWE4ZjhhNTU1ZTAuLjMzNzE4NDM0YjA5NWUxODY0MGI4MzcwZGE1ZWIzNjE3OWNiNzQyZTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVk
V29ya2VyVGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVk
L2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIHN0
YXRpYyBIYXNoU2V0PFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4mIGFsbFNoYXJlZFdvcmtlclRo
cmVhZFByb3hpZXMoKQogCiBzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBh
cmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3Jr
ZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIERvY3Vt
ZW50JiBkb2N1bWVudCkKIHsKLSAgICByZXR1cm4gV29ya2VyUGFyYW1ldGVycyB7CisgICAgcmV0
dXJuIHsKICAgICAgICAgd29ya2VyRmV0Y2hSZXN1bHQubGFzdFJlcXVlc3RVUkwsCiAgICAgICAg
IHdvcmtlck9wdGlvbnMubmFtZSwKICAgICAgICAgInNoYXJlZHdvcmtlcjoiICsgSW5zcGVjdG9y
OjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwKQEAgLTcwLDcgKzcwLDEz
IEBAIHN0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25z
dCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyCiAgICAgICAgIHBhcnNlUmVmZXJyZXJQb2xpY3ko
d29ya2VyRmV0Y2hSZXN1bHQucmVmZXJyZXJQb2xpY3ksIFJlZmVycmVyUG9saWN5U291cmNlOjpI
VFRQSGVhZGVyKS52YWx1ZV9vcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpLAogICAgICAg
ICB3b3JrZXJPcHRpb25zLnR5cGUsCiAgICAgICAgIHdvcmtlck9wdGlvbnMuY3JlZGVudGlhbHMs
Ci0gICAgICAgIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCkKKyAgICAgICAgZG9jdW1lbnQuc2V0
dGluZ3NWYWx1ZXMoKSwKKyAgICAgICAgV29ya2VyVGhyZWFkTW9kZTo6Q3JlYXRlTmV3VGhyZWFk
LAorICAgICAgICB7IH0sCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICB7IH0s
CisjZW5kaWYKKyAgICAgICAgeyB9CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKaW5kZXggYzA5ZTk0MTEwNjhhNDM1ZWExZWRkNDUzN2RiZWI0MGZjMjBkN2Q4
MS4uM2YzZDhiNjFjMGExYTAwMTYyM2NmM2M5NmY4N2FhOGNiNWY3NWY1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC02MjksNiArNjI5LDcgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoKQogICAgIG9wdGlvbnMuc2FtZU9y
aWdpbkRhdGFVUkxGbGFnID0gU2FtZU9yaWdpbkRhdGFVUkxGbGFnOjpTZXQ7CiAgICAgb3B0aW9u
cy5maWx0ZXJpbmdQb2xpY3kgPSBSZXNwb25zZUZpbHRlcmluZ1BvbGljeTo6RW5hYmxlOwogICAg
IG9wdGlvbnMuc25pZmZDb250ZW50RW5jb2RpbmcgPSBDb250ZW50RW5jb2RpbmdTbmlmZmluZ1Bv
bGljeTo6RG9Ob3RTbmlmZjsKKyAgICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmlkZW50aWZpZXIoKTsKIAogICAgIGlmIChtX3RpbWVvdXRNaWxs
aXNlY29uZHMpIHsKICAgICAgICAgaWYgKCFtX2FzeW5jKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDlkZDI5
MDdkYzhhMzZlOGU0NDFiOGQ5YzZlZDA5Y2VmODZhOTBkOTcuLmVkNzNmMGE3MTIyNmY1YmVmMzgy
YzBmY2I2ZDFjOWZkZmZkODY0N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTEyMjAsNyArMTIyMCw3IEBA
IHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpjb250aW51ZVdpbGxTZW5kUmVxdWVzdChSZXNv
dXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0CiAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51
ZVdpbGxTZW5kUmVxdWVzdDogKGlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzPSVkKSIs
IGlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzKTsKIAogI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKLSAgICBpZiAocGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlv
bnM6Ok1vZGU6Ok5hdmlnYXRlKSB7CisgICAgaWYgKHBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUg
PT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCAocGFyYW1ldGVycygpLm9wdGlvbnMu
ZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyICYmIG1fc2Vy
dmljZVdvcmtlckZldGNoVGFzaykpIHsKICAgICAgICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uID0geyB9OwogICAgICAgICBpZiAoYXV0byBzZXJ2aWNlV29ya2VyRmV0Y2hUYXNrID0gbV9j
b25uZWN0aW9uLT5jcmVhdGVGZXRjaFRhc2soKnRoaXMsIG5ld1JlcXVlc3QpKSB7CiAgICAgICAg
ICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0OiBDcmVhdGVk
IGEgU2VydmljZVdvcmtlckZldGNoVGFzayB0byBoYW5kbGUgdGhlIHJlZGlyZWN0IChmZXRjaElk
ZW50aWZpZXI9JSIgUFJJdTY0ICIpIiwgc2VydmljZVdvcmtlckZldGNoVGFzay0+ZmV0Y2hJZGVu
dGlmaWVyKCkudG9VSW50NjQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFz
ay5jcHAKaW5kZXggMGIzNDg5ZGRlY2FjZDVlYmRiNTkwNmZiM2Y3ZWYzOTI1NmY0Yzk5MS4uYTAx
MmNlZDljM2I2NzMwNjc0ZTFjMzJiMmNkMDZjOTkyZGRhNjJhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRh
c2suY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9T
ZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcApAQCAtMTUzLDcgKzE1Myw3IEBAIHZvaWQgU2Vydmlj
ZVdvcmtlckZldGNoVGFzazo6c3RhcnRGZXRjaCgpCiAgICAgY2xlYW5IVFRQUmVxdWVzdEhlYWRl
cnNGb3JBY2Nlc3NDb250cm9sKHJlcXVlc3QsIG1fbG9hZGVyLnBhcmFtZXRlcnMoKS5odHRwSGVh
ZGVyc1RvS2VlcCk7CiAKICAgICBTdHJpbmcgY2xpZW50SWRlbnRpZmllcjsKLSAgICBpZiAobV9s
b2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5h
dmlnYXRlKSB7CisgICAgaWYgKG1fbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgIT0g
RmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSAmJiBtX2xvYWRlci5wYXJhbWV0ZXJzKCkub3B0
aW9ucy5kZXN0aW5hdGlvbiAhPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpIHsK
ICAgICAgICAgaWYgKGF1dG8gaWRlbnRpZmllciA9IG1fbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRp
b25zLmNsaWVudElkZW50aWZpZXIpCiAgICAgICAgICAgICBjbGllbnRJZGVudGlmaWVyID0gaWRl
bnRpZmllci0+dG9TdHJpbmcoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uY3BwCmluZGV4IGRiOWQxYjI3NDQ4NjljNzBjNzZhOTM3ZGQ0NTgwYjgzMTg5ZDY2YTku
LmIzZGQ0YTUyODIwOTI0ZDkwMTI0OTEzNzE3ZmJiMjAyNWFmNTUzOWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xNjYsMTggKzE2NiwyNCBAQCB2b2lkIFdl
YlNXU2VydmVyQ29ubmVjdGlvbjo6dXBkYXRlV29ya2VyU3RhdGVJbkNsaWVudChTZXJ2aWNlV29y
a2VySWRlbnRpZmllciB3bwogCiB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y29udHJvbENs
aWVudChjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYgcGFyYW1ldGVycywgU1dT
ZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdGlvbiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KQogeworICAgIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlIGNsaWVudFR5cGU7CisgICAg
aWYgKHBhcmFtZXRlcnMub3B0aW9ucy5kZXN0aW5hdGlvbiAgPT0gRmV0Y2hPcHRpb25zOjpEZXN0
aW5hdGlvbjo6V29ya2VyKQorICAgICAgICBjbGllbnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVu
dFR5cGU6OldvcmtlcjsKKyAgICBlbHNlCisgICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29y
a2VyQ2xpZW50VHlwZTo6V2luZG93OworCiAgICAgYXV0byBjbGllbnRJZGVudGlmaWVyID0gKnBh
cmFtZXRlcnMub3B0aW9ucy5jbGllbnRJZGVudGlmaWVyOwogICAgIC8vIEFzIHBlciBzdGVwIDEy
IG9mIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNvbi1mZXRjaC1yZXF1ZXN0
LWFsZ29yaXRobSwgdGhlIGFjdGl2ZSBzZXJ2aWNlIHdvcmtlciBzaG91bGQgYmUgY29udHJvbGxp
bmcgdGhlIGRvY3VtZW50LgogICAgIC8vIFdlIHJlZ2lzdGVyIHRoZSBzZXJ2aWNlIHdvcmtlciBj
bGllbnQgdXNpbmcgdGhlIGlkZW50aWZpZXIgcHJvdmlkZWQgYnkgRG9jdW1lbnRMb2FkZXIgYW5k
IG5vdGlmeSBEb2N1bWVudExvYWRlciBhYm91dCBpdC4KICAgICAvLyBJZiBub3RpZmljYXRpb24g
aXMgc3VjY2Vzc2Z1bCwgRG9jdW1lbnRMb2FkZXIgaXMgcmVzcG9uc2libGUgdG8gdW5yZWdpc3Rl
ciB0aGUgc2VydmljZSB3b3JrZXIgY2xpZW50IGFzIG5lZWRlZC4KLSAgICBzZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6U2V0RG9jdW1lbnRJc0NvbnRy
b2xsZWQgeyBjbGllbnRJZGVudGlmaWVyLCByZWdpc3RyYXRpb24uZGF0YSgpIH0sIFt3ZWFrVGhp
cyA9IFdlYWtQdHIgeyAqdGhpcyB9LCB0aGlzLCBjbGllbnRJZGVudGlmaWVyXShib29sIGlzU3Vj
Y2VzcykgeworICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViU1dDbGllbnRDb25u
ZWN0aW9uOjpTZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250cm9sbGVkIHsgY2xpZW50SWRlbnRp
ZmllciwgcmVnaXN0cmF0aW9uLmRhdGEoKSB9LCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMg
fSwgdGhpcywgY2xpZW50SWRlbnRpZmllcl0oYm9vbCBpc1N1Y2Nlc3MpIHsKICAgICAgICAgaWYg
KCF3ZWFrVGhpcyB8fCBpc1N1Y2Nlc3MpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHVu
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNsaWVudElkZW50aWZpZXIpOwogICAgIH0pOwog
CiAgICAgYXV0byBhbmNlc3Rvck9yaWdpbnMgPSBtYXAocGFyYW1ldGVycy5mcmFtZUFuY2VzdG9y
T3JpZ2lucywgW10oYXV0byYgb3JpZ2luKSB7IHJldHVybiBvcmlnaW4tPnRvU3RyaW5nKCk7IH0p
OwotICAgIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIGRhdGEgeyBjbGllbnRJZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V2luZG93LCBTZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVU
eXBlOjpOb25lLCByZXF1ZXN0LnVybCgpLCBwYXJhbWV0ZXJzLndlYlBhZ2VJRCwgcGFyYW1ldGVy
cy53ZWJGcmFtZUlELCByZXF1ZXN0LmlzQXBwSW5pdGlhdGVkKCkgPyBXZWJDb3JlOjpMYXN0TmF2
aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6WWVzIDogV2ViQ29yZTo6TGFzdE5hdmlnYXRpb25XYXNB
cHBJbml0aWF0ZWQ6Ok5vLCBmYWxzZSwgZmFsc2UsIDAsIFdURk1vdmUoYW5jZXN0b3JPcmlnaW5z
KSB9OworICAgIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIGRhdGEgeyBjbGllbnRJZGVudGlmaWVy
LCBjbGllbnRUeXBlLCBTZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlOjpOb25lLCByZXF1ZXN0
LnVybCgpLCBwYXJhbWV0ZXJzLndlYlBhZ2VJRCwgcGFyYW1ldGVycy53ZWJGcmFtZUlELCByZXF1
ZXN0LmlzQXBwSW5pdGlhdGVkKCkgPyBXZWJDb3JlOjpMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRp
YXRlZDo6WWVzIDogV2ViQ29yZTo6TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6Ok5vLCBm
YWxzZSwgZmFsc2UsIDAsIFdURk1vdmUoYW5jZXN0b3JPcmlnaW5zKSB9OwogICAgIHJlZ2lzdGVy
U2VydmljZVdvcmtlckNsaWVudChTZWN1cml0eU9yaWdpbkRhdGEgeyByZWdpc3RyYXRpb24ua2V5
KCkudG9wT3JpZ2luKCkgfSwgV1RGTW92ZShkYXRhKSwgcmVnaXN0cmF0aW9uLmlkZW50aWZpZXIo
KSwgcmVxdWVzdC5odHRwVXNlckFnZW50KCkpOwogfQogCkBAIC0xOTUsNyArMjAxLDcgQEAgc3Rk
Ojp1bmlxdWVfcHRyPFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s+IFdlYlNXU2VydmVyQ29ubmVjdGlv
bjo6Y3JlYXRlRmV0Y2hUYXNrKE4KICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzdGQ6
Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBzZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcjsKLSAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5v
cHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkgeworICAgIGlmIChs
b2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5h
dmlnYXRlIHx8IGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRj
aE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpIHsKICAgICAgICAgYXV0byB0b3BPcmlnaW4g
PSBsb2FkZXIucGFyYW1ldGVycygpLmlzTWFpbkZyYW1lTmF2aWdhdGlvbiA/IFNlY3VyaXR5T3Jp
Z2luRGF0YTo6ZnJvbVVSTChyZXF1ZXN0LnVybCgpKSA6IGxvYWRlci5wYXJhbWV0ZXJzKCkudG9w
T3JpZ2luLT5kYXRhKCk7CiAgICAgICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IGRvUmVnaXN0cmF0
aW9uTWF0Y2hpbmcodG9wT3JpZ2luLCByZXF1ZXN0LnVybCgpKTsKICAgICAgICAgaWYgKCFyZWdp
c3RyYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggMGNiZmU4ZTY1OTZjMDkzYTAzZmFiNzY4MzU3Mjkz
YmQ4MDAyYjRlNC4uNDZmMmQ5OTYxMGY5ZTQ1OWZhN2RmZDBkZTJmOTJmNGMyOTM4ODg3NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRl
Z3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0
cmF0ZWd5LmNwcApAQCAtNDYwLDEzICs0NjAsNiBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5Ojpz
Y2hlZHVsZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTAog
ICAgICAgICBmb3IgKGF1dG8qIGZyYW1lID0gcmVzb3VyY2VMb2FkZXIuZnJhbWUoKS0+dHJlZSgp
LnBhcmVudCgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnBhcmVudCgpKQogICAgICAg
ICAgICAgZnJhbWVBbmNlc3Rvck9yaWdpbnMuYXBwZW5kKCZmcmFtZS0+ZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKSk7CiAgICAgICAgIGxvYWRQYXJhbWV0ZXJzLmZyYW1lQW5jZXN0b3JPcmln
aW5zID0gV1RGTW92ZShmcmFtZUFuY2VzdG9yT3JpZ2lucyk7Ci0KLSNpZiBFTkFCTEUoU0VSVklD
RV9XT1JLRVIpCi0gICAgICAgIGlmIChhdXRvKiBkb2N1bWVudExvYWRlciA9IHJlc291cmNlTG9h
ZGVyLmRvY3VtZW50TG9hZGVyKCkpIHsKLSAgICAgICAgICAgIGlmIChhdXRvIHJlc3VsdGluZ0Ns
aWVudElkID0gc3RhdGljX2Nhc3Q8V2ViRG9jdW1lbnRMb2FkZXImPigqZG9jdW1lbnRMb2FkZXIp
LnJlc3VsdGluZ0NsaWVudElkKCkpCi0gICAgICAgICAgICAgICAgbG9hZFBhcmFtZXRlcnMub3B0
aW9ucy5jbGllbnRJZGVudGlmaWVyID0gcmVzdWx0aW5nQ2xpZW50SWQ7Ci0gICAgICAgIH0KLSNl
bmRpZgogICAgIH0KIAogICAgIEFTU0VSVCgobG9hZFBhcmFtZXRlcnMud2ViUGFnZUlEICYmIGxv
YWRQYXJhbWV0ZXJzLndlYkZyYW1lSUQpIHx8IGxvYWRQYXJhbWV0ZXJzLmNsaWVudENyZWRlbnRp
YWxQb2xpY3kgPT0gQ2xpZW50Q3JlZGVudGlhbFBvbGljeTo6Q2Fubm90QXNrQ2xpZW50Rm9yQ3Jl
ZGVudGlhbHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggZDkzYjM0ZDY4ZmE5OTVhYTQxYjA3
YmMwZWQzNTJiNzZlNzk3YzVmMC4uOTFjZjk3MmJjZTQ1NThjNjc1OWZkNGZiMDQ5YjIzM2I4ZDU5
YTAyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTctMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUzLDYgKzUzLDcgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJG
ZXRjaFJlc3VsdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VyU2NyaXB0TG9hZGVyLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFBBTDsKQEAgLTE4MCwxMSArMTgx
LDE4IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjp3aGVuUmVnaXN0cmF0aW9uUmVhZHko
Y29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViU1dD
bGllbnRDb25uZWN0aW9uOjpzZXREb2N1bWVudElzQ29udHJvbGxlZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBkb2N1bWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhJiYgZGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXRTZXJ2aWNlV29ya2Vy
Q2xpZW50SXNDb250cm9sbGVkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50
aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYgZGF0YSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBhdXRvKiBkb2N1
bWVudExvYWRlciA9IERvY3VtZW50TG9hZGVyOjpmcm9tU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIoZG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICBib29sIHJlc3VsdCA9IGRvY3VtZW50
TG9hZGVyID8gZG9jdW1lbnRMb2FkZXItPnNldENvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbihXVEZNb3ZlKGRhdGEpKSA6IGZhbHNlOwotICAgIGNvbXBsZXRpb25IYW5kbGVyKHJl
c3VsdCk7CisgICAgaWYgKGF1dG8qIGxvYWRlciA9IERvY3VtZW50TG9hZGVyOjpmcm9tU2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIoaWRlbnRpZmllcikpIHsKKyAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIobG9hZGVyID8gbG9hZGVyLT5zZXRDb250cm9sbGluZ1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24oV1RGTW92ZShkYXRhKSkgOiBmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBpZiAoYXV0byogbG9hZGVyID0gV29ya2VyU2NyaXB0TG9hZGVyOjpmcm9tU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIoaWRlbnRpZmllcikpIHsKKyAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIobG9hZGVyID8gbG9hZGVyLT5zZXRDb250cm9sbGluZ1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24oV1RGTW92ZShkYXRhKSkgOiBmYWxzZSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogfQogCiB2b2lkIFdlYlNXQ2xp
ZW50Q29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyhTZWN1cml0eU9yaWdpbkRhdGEmJiB0b3BP
cmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBHZXRSZWdpc3RyYXRpb25zQ2FsbGJhY2smJiBj
YWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggMzc3MTkxMjk2MjNjZTc1ODg0ZmNlYmEyM2Ix
NzA2ZDA2YTMxODRmYS4uNjIyZmMwOGYzMTQ1OGQ2ZTJmODU1YTkyYmYxNzRjMDI2MTA1OGU4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRD
b25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmgKQEAgLTgyLDcgKzgyLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGRp
ZEdldFJlZ2lzdHJhdGlvbnModWludDY0X3QgbWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgVmVjdG9y
PFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiYmKTsKICAgICB2b2lkIHdo
ZW5SZWdpc3RyYXRpb25SZWFkeShjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRv
cE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIFdoZW5SZWdpc3RyYXRpb25SZWFkeUNhbGxi
YWNrJiYpIGZpbmFsOwogCi0gICAgdm9pZCBzZXREb2N1bWVudElzQ29udHJvbGxlZChXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGEmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7Cisg
ICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250cm9sbGVkKFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGF0YSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyAgICB2b2lk
IHNldFdvcmtlcklzQ29udHJvbGxlZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAKICAgICB2b2lkIGdldFJlZ2lzdHJhdGlvbnMo
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVu
dFVSTCwgR2V0UmVnaXN0cmF0aW9uc0NhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgd2hlblNl
cnZpY2VXb3JrZXJJc1Rlcm1pbmF0ZWRGb3JUZXN0aW5nKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDIxZGI1NjRiN2M4MmI1ZGFlNzk1MTQyNzMz
NGE3Y2VkODE4MDk0NjEuLjkyNWE3YzViODYyNWIzZGIyZjAwZmE2MTExZmNmMzgzYjIxNjYzODUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTM4LDcgKzM4LDcgQEAg
bWVzc2FnZXMgLT4gV2ViU1dDbGllbnRDb25uZWN0aW9uIHsKICAgICBTZXRTV09yaWdpblRhYmxl
U2hhcmVkTWVtb3J5KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgaGFuZGxlKQogICAg
IFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyIGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIsIHN0cnVjdCBX
ZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyBtZXNzYWdlLCBzdHJ1Y3QgV2ViQ29yZTo6
U2VydmljZVdvcmtlckRhdGEgc291cmNlLCBTdHJpbmcgc291cmNlT3JpZ2luKQogCi0gICAgU2V0
RG9jdW1lbnRJc0NvbnRyb2xsZWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIgdGVtcG9yYXJ5RG9jdW1lbnRJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgZGF0YSkgLT4gKGJvb2wgaXNTdWNjZXNzKQorICAgIFNl
dFNlcnZpY2VXb3JrZXJDbGllbnRJc0NvbnRyb2xsZWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIgd29ya2VySWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIGRhdGEpIC0+IChib29sIGlzU3VjY2VzcykKIAogICAg
IEZvY3VzU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKSAtPiAoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4gcmVzdWx0KQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIxZWY1NGE5OGY0ZDRk
ZjgzZjIzMzZlNzRlYjM0YTVjZGI0NjA1NDUuLjg5OTJjNWQ0YjU3MzE0ZWIxZTk0YmM5ZGE3MTNh
NGFjNTBkMjFkZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNC0xMSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2Vy
dmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBm
b3IgZGVkaWNhdGVkIHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzOTA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1k
ZWRpY2F0ZWR3b3JrZXIuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2Vy
dmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXdvcmtlci5qczogQWRkZWQuCisKIDIw
MjItMDQtMTEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIGZhc3QvdGV4dC9vdHN2Zy1jYW52YXMuaHRtbCBtb3JlIHJvYnVzdApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNmUxOTc3NDJjM2U2YjhkOWI4MWU3MTQ2MDExMmQy
YWVjMDkyMjU5Zi4uZjNhYmZjOWI0MjVlMmQ0MmEwZGJlOTk0NzVhMzU3N2ZlOGEwNjViOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDQtMTEg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSB3b3Jr
ZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3RyYXRpb24g
bWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkwNjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTA0LTExICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBVcGRhdGUgY29udGFpbmVyIHNob3J0aGFuZCBvcmRlcgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggNDNiOWYyYjVkNGUwY2FlMjVhMWE4Yjc1YmVmMzE5NDA1NzczNDgzOC4uZDFjYWI2ODFi
N2ZkYmI5YjFjZDEwMDc3ZTQ2ZTQ2MThmYzM1ZTFlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0z
NjksNyArMzY5LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW4KIHdlYmtpdC5vcmcvYi8yMDE2
NjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLXZpZGVvLXdpdGgtcmFuZ2UtcmVxdWVzdC5o
dHRwcy5odG1sIFsgU2tpcCBdCiAKICMgTmV3bHkgaW1wb3J0ZWQgc2VydmljZSB3b3JrZXIgdGVz
dHMgdGhhdCBhcmUgZmxha3kuCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBzLmh0bWwgWyBQ
YXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLW5vdC1hbGxvd2VkLmh0dHBzLmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcGVyZm9ybWFuY2UtdGltZWxpbmUuaHR0cHMuaHRtbCBbIFBhc3Mg
RmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3Jr
ZXIuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZWI0YWUzYTRlODc4ZTFjY2JmMjUz
ZTQ0YzRkNjhhMmY3ODE1MWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyCitQ
QVNTIFZlcmlmeSBkZWRpY2F0ZWQgd29ya2VyIGlzIGNvbnRyb2xsZWQKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNhdGVk
d29ya2VyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMv
Y29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNmUwNmY4
MTc1Mzk4Y2JkZWJkODZkNTFiNmU3YzY1N2NlYzQzMjZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNhdGVkd29y
a2VyLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3Vi
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChh
c3luYyAodGVzdCkgPT4geworICAgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRv
ci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJza2lwRmV0Y2hFdmVudC13b3JrZXIuanMiLCB7IHNj
b3BlIDogJ3Jlc291cmNlcycgfSk7CisgICAgYWN0aXZlV29ya2VyID0gcmVnaXN0cmF0aW9uLmFj
dGl2ZTsKKyAgICBpZiAoYWN0aXZlV29ya2VyKQorICAgICAgICByZXR1cm47CisKKyAgICBhY3Rp
dmVXb3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHsKKyAgICAgICAgYWN0aXZlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ3N0
YXRlY2hhbmdlJywgKCkgPT4geworICAgICAgICAgICAgaWYgKGFjdGl2ZVdvcmtlci5zdGF0ZSA9
PT0gImFjdGl2YXRlZCIpCisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9KTsK
KyAgICB9KTsKK30sICJSZWdpc3RlciBzZXJ2aWNlIHdvcmtlciIpOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKHRlc3QpID0+IHsKKyAgICB3b3JrZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvY29u
dHJvbGxlZC13b3JrZXIuanMnKTsKKyAgICBjb25zdCBldmVudCA9IGF3YWl0IG5ldyBQcm9taXNl
KHJlc29sdmUgPT4gd29ya2VyLm9ubWVzc2FnZSA9IHJlc29sdmUpOworICAgIGFzc2VydF90cnVl
KGV2ZW50LmRhdGEuaXNDb250cm9sbGVkKTsKK30sICJWZXJpZnkgZGVkaWNhdGVkIHdvcmtlciBp
cyBjb250cm9sbGVkIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxl
ZC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3Vy
Y2VzL2NvbnRyb2xsZWQtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzMTJhYzMzY2UxMzhiNDE5ZDBm
MTNjY2YxOWRjNTY4OGEwMTVlZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL2NvbnRyb2xsZWQtd29ya2VyLmpzCkBAIC0w
LDAgKzEgQEAKK3NlbGYucG9zdE1lc3NhZ2UoeyBpc0NvbnRyb2xsZWQgOiAhIW5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci93b3JrZXItY2xpZW50LWlkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3dvcmtlci1jbGllbnQtaWQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGEwYzljYTQ0NWVhMDc4
ODY3NDQ3MjRjMzIxNTJmZjQxOWE4NDU3ZDcuLjRlNmJmMTc4ZjkwNmRmOGI1YzE1NDQ0MmEzZjU2
MmVjN2FhODVjYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1jbGllbnQt
aWQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1jbGll
bnQtaWQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFZlcmlmeSB3
b3JrZXJzIGhhdmUgYSB1bmlxdWUgY2xpZW50IGlkIHNlcGFyYXRlIGZyb20gdGhlaXIgb3duaW5n
IGRvY3VtZW50cyB3aW5kb3cgYXNzZXJ0X25vdF9lcXVhbHM6IGZyYW1lIGFuZCB3b3JrZXIgY2xp
ZW50IGlkcyBzaG91bGQgYmUgZGlmZmVyZW50IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIyYzRmNzkz
Ni05Yzc2LTRlZDQtYjhlNS0wYjEwZWMyYmVhNDIiCitQQVNTIFZlcmlmeSB3b3JrZXJzIGhhdmUg
YSB1bmlxdWUgY2xpZW50IGlkIHNlcGFyYXRlIGZyb20gdGhlaXIgb3duaW5nIGRvY3VtZW50cyB3
aW5kb3cKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlv
bi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXIt
aW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyODNmZjdhN2My
MDhjMjBkYjE2OWJmY2UwZTgwYjc1ZTFiY2IzNGY5Li5iYTE0ZWRmZTIyY2UwOTJhN2U5NTIxNTdj
NTQ4ZjA5NjUwZGEwY2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50
ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
OCwyMCArOCwyMCBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNs
YXNzaWMgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNj
b3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikKIFBBU1MgQ2FzZSAjMjogbmV0
d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlcikKLUZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKSBhc3NlcnRfdW5y
ZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENhc2Ug
IzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKSBhc3NlcnRfdW5y
ZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIENhc2Ug
IzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikKK1BBU1MgQ2Fz
ZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpCiBGQUlMIENh
c2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3Vu
cmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBDYXNl
ICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVh
Y2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBDYXNlICM0
OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpIGFzc2VydF91
bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2Fz
ZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpIGFzc2Vy
dF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQor
UEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtl
cikKIEZBSUwgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29y
a2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCiBGQUlMIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29y
a2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCiBQQVNTIGNsZWFudXAgZ2xvYmFsIHN0YXRlCi1GQUlMIENhc2UgIzE6IG5ldHdvcmsgc2Nv
cGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29y
a2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvaW1w
b3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAiaW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20g
bmV0d29yayAoc2NvcGUyLykiCi1GQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdv
dCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNlICMx
OiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0
U2NyaXB0cygpKQorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2lj
IERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENh
c2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGlt
cG9ydFNjcmlwdHMoKSkKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9k
dWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZl
dGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZl
dGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKK1BBU1MgQ2FzZSAjMTogbmV0
d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBB
U1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtl
ciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAo
Y2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hv
LnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIChzY29wZTIv
KSIKIEZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRX
b3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3
IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBs
ZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCkBAIC0yOSwxMSArMjksMTEgQEAgUEFTUyBDYXNlICMx
OiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24u
aHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJl
ZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+
c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0
IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlIChzY29wZTIvKVxuIgogUEFTUyBDYXNl
ICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKQotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2lj
IERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdv
dCAiaW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20gbmV0d29yayIKLUZBSUwgQ2FzZSAjMjogbmV0
d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9t
IHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Np
bXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgorUEFTUyBD
YXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtl
ciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNj
b3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0
d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9u
LmhyZWYpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBE
ZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKLUZBSUwgQ2FzZSAjMjogbmV0d29yayBz
Y29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdv
cmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4
dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6
IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNo
KCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRp
Y2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBGQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUx
LT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2Vy
OiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0
cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIgog
RkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdv
cmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcg
dGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBm
aWxlXG4iCkBAIC00MSw0ICs0MSwxNiBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBpbXBv
cnRTY3JpcHRzKCkpCiBGQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1v
ZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRj
aCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEg
c2ltcGxlIHRleHQgZmlsZVxuIgogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNj
b3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQorRkFJTCBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMo
KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRo
ZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRp
ci9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9ydFNjcmlwdHMg
ZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zY29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUx
LT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4
dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4
dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29y
a2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4cGVjdGVk
ICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5
P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3b3JrZXIl
MjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRp
cmVjdF93ZWJ3b3JrZXIucHkiCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1
bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitGQUlMIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2Vy
OiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxl
LnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2Vy
OiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxl
LnR4dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRX
b3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0
ZWQgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9zdWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIu
cHk/Z3JlZXRpbmc9c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtl
ciUyMHNjcmlwdCIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3Jl
ZGlyZWN0X3dlYndvcmtlci5weSIKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzQ6
IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkK
K1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29y
a2VyLCBsb2NhdGlvbi5ocmVmKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAo
bW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICM0OiBz
dyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKK1BB
U1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIs
IGxvY2F0aW9uLmhyZWYpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1p
bnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2Vy
LWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggOGQ0Y2E0OWJkOTNiNGM5Njky
MjMxZTJkZWRiZTMyMzU4ZjZiMGZjOC4uMTZjNDM5MzNiYmI5NzVlY2Y2NjBlZTY3ZWQzNjNhZWI0
YjRmMzg3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlv
bi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVy
Y2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTUgKzEsMTUgQEAKIAotRkFJTCBWZXJp
ZnkgYSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgdW5jb250
cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidzIG93biBzZXJ2aWNlIHdv
cmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IHVuZGVm
aW5lZAotRkFJTCBWZXJpZnkgYW4gb3V0LW9mLXNjb3BlIGRlZGljYXRlZCB3b3JrZXIgc2NyaXB0
IHJlcXVlc3QgaXNzdWVkIGZyb20gYSBjb250cm9sbGVkIGRvY3VtZW50IHNob3VsZCBub3QgYmUg
aW50ZXJjZXB0ZWQgYnkgZG9jdW1lbnQncyBzZXJ2aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIndvcmtlciBsb2FkaW5nIHdhcyBub3QgaW50ZXJjZXB0ZWQgYnkgc2VydmljZSB3
b3JrZXIiIGJ1dCBnb3QgIndvcmtlciBsb2FkaW5nIGludGVyY2VwdGVkIGJ5IHNlcnZpY2Ugd29y
a2VyIgorUEFTUyBWZXJpZnkgYSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3Vl
ZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidz
IG93biBzZXJ2aWNlIHdvcmtlci4KK1BBU1MgVmVyaWZ5IGFuIG91dC1vZi1zY29wZSBkZWRpY2F0
ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgY29udHJvbGxlZCBkb2N1bWVu
dCBzaG91bGQgbm90IGJlIGludGVyY2VwdGVkIGJ5IGRvY3VtZW50J3Mgc2VydmljZSB3b3JrZXIu
CiBGQUlMIFZlcmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20g
YSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNl
cnZpY2Ugd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogdW5kZWZpbmVkCi1GQUlMIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2Vy
dmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBkZWRpY2F0ZWQg
d29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5k
ZWZpbmVkCitQQVNTIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5
IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBkZWRpY2F0ZWQgd29ya2Vy
LgogRkFJTCBWZXJpZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNl
cnZpY2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgc2hhcmVkIHdvcmtlci4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IHVuZGVmaW5lZAotUEFTUyBW
ZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFp
bHMgZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KK0ZBSUwgVmVyaWZ5IGEgY29ycyB3b3JrZXIgc2Ny
aXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIGRlZGljYXRlZCB3b3JrZXIgc3Rh
cnQuIGFzc2VydF9lcXVhbHM6IEV4cGVjdGVkIGVycm9yIGV2ZW50LCBidXQgZ290IG1lc3NhZ2Ug
ZXZlbnQgaW5zdGVhZCBleHBlY3RlZCAiZXJyb3IiIGJ1dCBnb3QgIm1lc3NhZ2UiCiBQQVNTIFZl
cmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWls
cyBzaGFyZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJpZnkgYSBuby1jb3JzIGNyb3NzLW9yaWdp
biB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIGRlZGljYXRl
ZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jvc3Mtb3JpZ2luIHdvcmtl
ciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgc2hhcmVkIHdvcmtlciBz
dGFydC4KIFBBU1MgUmVnaXN0ZXIgYSBzZXJ2aWNlIHdvcmtlciBmb3Igd29ya2VyIHN1YnJlc291
cmNlIGludGVyY2VwdGlvbiB0ZXN0cy4KLUZBSUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29y
a2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAie1wi
ZXJyb3JcIjoge1wiY29kZVwiOiA0MDQsIFwibWVzc2FnZVwiOiBcIjQwNFwifX0iCitQQVNTIFJl
cXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3Jr
ZXIuCiBGQUlMIFJlcXVlc3RzIG9uIGEgc2hhcmVkIHdvcmtlciBjb250cm9sbGVkIGJ5IGEgc2Vy
dmljZSB3b3JrZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nl
c3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIntcImVycm9yXCI6IHtcImNvZGVcIjogNDA0
LCBcIm1lc3NhZ2VcIjogXCI0MDRcIn19IgogRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3
b3JrZXIgbmVzdGVkIGluIGEgZGVkaWNhdGVkIHdvcmtlciBhbmQgY29udHJvbGxlZCBieSBhIHNl
cnZpY2Ugd29ya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nl
c3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIlVuZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZp
bmQgdmFyaWFibGU6IFdvcmtlciIKIEZBSUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2Vy
IG5lc3RlZCBpbiBhIHNoYXJlZCB3b3JrZXIgYW5kIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdv
cmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkg
aW50ZXJjZXB0ZWQuIiBidXQgZ290ICJVbmV4cGVjdGVkIGVycm9yISBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBXb3JrZXIiCg==
</data>
<flag name="commit-queue"
          id="485927"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457342</attachid>
            <date>2022-04-12 10:36:32 -0700</date>
            <delta_ts>2022-04-12 10:50:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239066-20220412193631.patch</filename>
            <type>text/plain</type>
            <size>92528</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEzMjkxMDFkOWMwMDZj
NDFhZDBlYmVjNGM3NGJhNzc0NjA3ZTNmMy4uM2FmNDdhZDk0NjZiMzdlYmM4NzlhOTk1MGYxYTYy
NzdlYjNlODliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIyLTA0LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2Ugd29ya2VycyBh
cyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNo
aW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGV4cG9zaW5nIHdvcmtlcnMgKGRlZGlj
YXRlZCBhbmQgc2hhcmVkKSBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzLgorICAgICAgICBBZGQg
c3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgY29udHJvbGxpbmcgcmVnaXN0cmF0aW9uIGZvciBkZWRp
Y2F0ZWQgd29ya2VycworICAgICAgICAoYSBmb2xsb3ctdXAgcGF0Y2ggc2hvdWxkIGhhbmRsZSBz
aGFyZWQgd29ya2VycykuCisgICAgICAgIFRvIHByb3Blcmx5IGhhbmRsZSBsb2FkcyBjb21pbmcg
ZnJvbSBhIHdvcmtlciwgd2UgcHJvcGVybHkgc2V0IGNsaWVudElkZW50aWZpZXIgYW5kIHJlZ2lz
dHJhdGlvbiBpZGVudGlmaWVyCisgICAgICAgIGZyb20gdGhlIHdvcmtlciBjb250ZXh0LCBpbnN0
ZWFkIG9mIGZyb20gdGhlIHdvcmtlcidzIGRvY3VtZW50LgorCisgICAgICAgIFNtYWxsIHJlZmFj
dG9yaW5nIHRvIHBhc3MgYWRkaXRpb25hbCBkYXRhIHRvIHdvcmtlciB0aHJvdWdoIFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHNldCB0aGUgY29udGV4
dCBJRCBhbmQgY29udGV4dCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KKworICAgICAgICBB
ZGRpbmcgYSBzcGVjaWZpYyBjaGVjayBpbiBDYWNoZWRSZXNvdXJjZUxvYWRlciB0byBub3QgcmV1
c2UgdGhlIGNhY2hlIGluIGNhc2UgdGhlIHNlcnZpY2Ugd29ya2VyIG1vZGVzIGFyZSBkaWZmZXJl
bnQuCisgICAgICAgIEEgcG90ZW50aWFsIGlzc3VlIGlzIHRoYXQgdGhlIHNlcnZpY2Ugd29ya2Vy
cyBhcmUgdGhlIHNhbWUgKDApIGFzIG9uZSByZXF1ZXN0IGlzIHRoZSBtYWluIHJlcXVlc3QKKyAg
ICAgICAgYW5kIHRoZSBzZWNvbmQgcmVxdWVzdCBpcyB0aGUgcmVxdWVzdCB0cmlnZ2VyZWQgYnkg
c2VydmljZSB3b3JrZXIgdG8gYW5zd2VyIHRoZSBmaXJzdCByZXF1ZXN0LgorCisgICAgICAgIFBy
b3Blcmx5IHN1cHBvcnQgYmxvYiBVUkwgbWF0Y2hpbmcgZGlyZWN0bHkgaW4gV29ya2VyU2NyaXB0
TG9hZGVyIGZvciB3b3JrZXJzLgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy5odG1sCisKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICog
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9GZXRjaE9wdGlvbnMuaDoKKyAgICAgICAgKiBs
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5o
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0
YS5oOiBBZGRlZC4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2Ny
aXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rp
b24uY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmg6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vycy9z
aGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHA6CisKIDIwMjItMDQtMTEg
IFR5bGVyIFdpbGNvY2sgIDx0eWxlcl93QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogVXBkYXRl
IGlzb2xhdGVkIHRyZWUgaW4gcmVzcG9uc2UgdG8gQVhSZWFkT25seVN0YXR1c0NoYW5nZWQsIEFY
UmVxdWlyZWRTdGF0dXNDaGFuZ2VkLCBhbmQgQVhQcmVzc2VkU3RhdGVDaGFuZ2VkIG5vdGlmaWNh
dGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggNmUwNmQwZDc3N2M3NGFlZWUxOGZmOTE5NWVhMjBmODQ0ZjIzOTFi
YS4uY2I1OGZiY2QzMzNkZmMxZDE4NGE2YjE3YjA3ZDEwNzI4ZGU2ZTQxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNSBAQAorMjAyMi0wNC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBh
bmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA2Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldXNlIHRo
ZSBzYW1lIHN0cmF0ZWd5IGZvciBEZWRpY2F0ZWRXb3JrZXJzIGFzIGZvciBEb2N1bWVudHMgdG8g
bWF0Y2ggcmVnaXN0cmF0aW9ucyBhbmQgY29udHJvbCB0aGVuOgorICAgICAgICAtIERvIG1hdGNo
aW5nIGluIG5ldHdvcmsgcHJvY2VzcworICAgICAgICAtIElmIG1hdGNoaW5nLCBzZW5kIGEgbWVz
c2FnZSB0byBXZWJQcm9jZXNzIHRvIHNldCB0aGUgbWF0Y2hpbmcgcmVnaXN0cmF0aW9uIGRhdGEu
CisgICAgICAgIEFkZCBzcGVjaWZpYyBoYW5kbGluZyBmb3Igd29ya2VyIHJlZ2lzdHJhdGlvbiBy
ZW1hdGNoaW5nIGluIGNhc2Ugb2YgcmVkaXJlY3Rpb25zOgorICAgICAgICAtIElmIHJlZGlyZWN0
aW9uIGNvbWVzIGZyb20gc2VydmljZSB3b3JrZXIgKHZpYSByZXNwb25kV2l0aCksIGRvIHJlbWF0
Y2hpbmcuCisgICAgICAgIC0gSWYgcmVkaXJlY3Rpb24gY29tZXMgZnJvbSBuZXR3b3JrLCBkbyBu
b3QgZG8gcmVtYXRjaGluZy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9T
ZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKwogMjAyMi0wNC0xMSAgWmFu
IERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dLMl0gU2ltcGxp
ZnkgSVBDIGVuY29kaW5nLCBkZWNvZGluZyBvZiB0dXBsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggZjc0MzM4ZThkMzIyMjcwYTM4MGYyNDlh
NjQyZTRlYTBmOTIyODZlMS4uOWRlZGQwN2MzNmMwMDAxOGNmYTBlZjUxMmFiMzM1YjUyNTYzYTc5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAg
LTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNp
bmNsdWRlICJTZXJ2aWNlV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5j
bHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVCbG9iUmVn
aXN0cnkuaCIKQEAgLTExNyw2ICsxMTgsMTQgQEAgdm9pZCBGZXRjaExvYWRlcjo6c3RhcnQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXEKICAg
ICBpZiAob3B0aW9ucy5yZWZlcnJlclBvbGljeSA9PSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJp
bmcpCiAgICAgICAgIG9wdGlvbnMucmVmZXJyZXJQb2xpY3kgPSBjb250ZXh0LnJlZmVycmVyUG9s
aWN5KCk7CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKGF1dG8qIGFjdGl2
ZVNlcnZpY2VXb3JrZXIgPSBjb250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKKyAgICAgICAg
b3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZp
Y2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKKyAgICBlbHNlCisgICAgICAgIG9w
dGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gU2VydmljZVdvcmtlcnNNb2RlOjpOb25lOworI2Vu
ZGlmCisgICAgb3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gY29udGV4dC5pZGVudGlmaWVyKCk7
CisKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShjb250ZXh0LCAqdGhp
cywgV1RGTW92ZShmZXRjaFJlcXVlc3QpLCBvcHRpb25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CiAg
ICAgbV9pc1N0YXJ0ZWQgPSBtX2xvYWRlcjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2N2Q2Y2MxM2QyODJiNWViNzM3MjNi
OThmMzZjNTM3YjdlM2EyNjFhLi5hZGMyYmYyOTRjMmUyOWY2MDlhOTBmMmM3MDM0ZTUxNmI2NjQ5
ZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xMDY1LDYgKzEwNjUsNyBAQAogCQkzRkY4MTNBNzFEQkE4NjQwMDA5QkYwMDEg
LyogUG9pbnRlckxvY2tDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1Q0ZDNDM0RjE5MjQwNkE5MDBBMEQzQjUgLyogUG9pbnRlckxvY2tD
b250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNDEwNzkwOEMxRkMzRjAzMzAwNjFCMjdBIC8qIENsaWVudE9yaWdpbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwNzkwOEExRkMzRTRGMjAw
NjFCMjdBIC8qIENsaWVudE9yaWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQxMEJDRjU2MjZGMENEOEMwMDQwQjEyNCAvKiBSVENMb2NhbFNl
c3Npb25EZXNjcmlwdGlvbkluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxMEJDRjUzMjZGMENEOEIwMDQwQjEyNCAvKiBSVENMb2NhbFNlc3Npb25E
ZXNjcmlwdGlvbkluaXQuaCAqLzsgfTsKKwkJNDEwQzQ4QTcyODA0MjBGODAwODREMTA0IC8qIFdv
cmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDEwQzQ4QTYyODA0MjBGMjAwODREMTA0IC8qIFdvcmtlckluaXRpYWxp
emF0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQxMEU0NDYxMjM0MzczRTkwMDAxNzNENCAvKiBMaWJXZWJSVENTb2NrZXRJZGVudGlm
aWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTBF
NDQ1RjIzNDM3M0FEMDAwMTczRDQgLyogTGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMTAwQzgwMjNG
NzQ1ODMwMDFCQzMzQiAvKiBXZWJTb2NrZXRDaGFubmVsSW5zcGVjdG9yLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEwMEM3RTIzRjczOTgyMDAxQkMz
M0IgLyogV2ViU29ja2V0Q2hhbm5lbEluc3BlY3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMTAzQUFDMUUzOTc5MTAwMDc2OUYwMyAvKiBS
ZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTAzQUE4MUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2UuaCAqLzsgfTsKQEAgLTEzNTMsNyArMTM1NCw3IEBACiAJCTQ2NzJB
QTk5MjZCMDk0M0YwMEU2RUMzOCAvKiBDcm9zc09yaWdpbk9wZW5lclBvbGljeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3MkFBOTcyNkIwOTQyMTAw
RTZFQzM4IC8qIENyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDY3MzAyMDIxQzRFRkU3ODAwQkNCMzU3IC8q
IElnbm9yZU9wZW5zRHVyaW5nVW5sb2FkQ291bnRJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3MzAyMDExQzRFRkU2NjAwQkNCMzU3
IC8qIElnbm9yZU9wZW5zRHVyaW5nVW5sb2FkQ291bnRJbmNyZW1lbnRlci5oICovOyB9OwogCQk0
NjdBNjhENzI3NUVBOTkxMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFkLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENDI3NUVBOThCMDA5
QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDY3QTY4RDgyNzVFQTk5NTAwOUIzMUM1IC8qIFNoYXJl
ZFdvcmtlclNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDY3QTY4RDUyNzVFQTk4QzAwOUIzMUM1IC8qIFNoYXJlZFdvcmtlclNjcmlw
dExvYWRlci5oICovOyB9OworCQk0NjdBNjhEODI3NUVBOTk1MDA5QjMxQzUgLyogU2hhcmVkV29y
a2VyU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjdBNjhENTI3NUVBOThDMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDY3QTY4RDkyNzVFQTk5ODAwOUIzMUM1IC8qIFNoYXJlZFdvcmtlclRocmVhZFByb3h5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENjI3NUVB
OThDMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjgyRDIwMDFGNzk3ODMwMDBDODYz
REIgLyogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2ODJEMUZGMUY3OTc4MjMwMEM4NjNEQiAvKiBTdG9yZWRD
cmVkZW50aWFsc1BvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTQ2ODM0NEUwMUVEREZBQUEwMEI3Nzk1QiAvKiBET01SZWN0TGlzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY4MzQ0REUxRURE
RkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg1NjYsNiArODU2Nyw3IEBACiAJCTQxMEJBMTMxMjU3
MEZFNTcwMDJFMkY4QSAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJs
ZUZyYW1lLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJh
bWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBCQ0Y1MzI2RjBDRDhCMDA0
MEIxMjQgLyogUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBCQ0Y1NTI2RjBDRDhDMDA0MEIxMjQgLyogUlRD
TG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBS
VENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0MTBDNDhBNjI4MDQyMEYyMDA4NEQxMDQgLyogV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlckluaXRpYWxpemF0
aW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBFNDQ1RjIzNDM3M0FE
MDAwMTczRDQgLyogTGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg7IHBhdGggPSBsaWJ3
ZWJydGMvTGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTBGNTY1NTI0RkNGNzA1MDBBMkU1MEMgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
SW5pdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5p
dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEY1NjU3MjRGQ0Y3QzcwMEEy
RTUwQyAvKiBSVENJY2VDYW5kaWRhdGVJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBS
VENJY2VDYW5kaWRhdGVJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIw
OTQ0LDYgKzIwOTQ2LDcgQEAKIAkJCQkyRTQzNDYzNzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2Vy
R2xvYmFsU2NvcGUuaCAqLywKIAkJCQkyRTQzNDYzODBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2Vy
R2xvYmFsU2NvcGUuaWRsICovLAogCQkJCTJFNDM0NjM5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3Jr
ZXJHbG9iYWxTY29wZVByb3h5LmggKi8sCisJCQkJNDEwQzQ4QTYyODA0MjBGMjAwODREMTA0IC8q
IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oICovLAogCQkJCUE1NEEwQzY5MURCODMxRjEwMDE3
QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JQcm94eS5jcHAgKi8sCiAJCQkJQTU0QTBDNkExREI4MzFG
MjAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvclByb3h5LmggKi8sCiAJCQkJMThGODMxQjcwRkQ0
OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5LmggKi8sCkBAIC0zODM0Miw2ICszODM0
NSw3IEBACiAJCQkJQTdENkIzNDkwRjYxMTA0NTAwRkY5RkQxIC8qIFdvcmtlckZvbnRMb2FkUmVx
dWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NDkwRjU0NkE4MjAwQjBGMUJBIC8qIFdv
cmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0QjBGNTQ2QTgyMDBC
MEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEw
QzQ4QTcyODA0MjBGODAwODREMTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTU0QTBDNjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzZDMURCODMxRjkwMDE3QTkw
QiAvKiBXb3JrZXJJbnNwZWN0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMThGODMxQjgw
RkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKaW5kZXggYjY4NTI1ZDljMmI5NzNlZjc1MTVkMDY2ZWIxNmFjMzFkZmRj
NDI0Mi4uMTA0MWQxNmJjZDI4M2VhNjhjYTI0ZGNiZWE4ZTk0Zjk5YWQ2ZWRiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKQEAgLTE1NjgsNyArMTU2OCw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKICAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKFNXQ2xp
ZW50Q29ubmVjdGlvbiopOwotICAgIHZvaWQgdXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEo
KTsKKyAgICB2b2lkIHVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkgZmluYWw7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBuYXZpZ2F0ZUZyb21TZXJ2aWNlV29ya2VyKGNvbnN0IFVSTCYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IDNmZmM1ZmRlMDViN2QzMGIx
MjAyMWM1OTAzN2EwOWQ3YTY0NDE0YWUuLmMyM2VmZDA0MjViODZmYjQ0NjljYzM0M2EwMzIyOGI4
OGNlMjZkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aApAQCAtMjg5LDYgKzI4OSw3IEBAIHB1YmxpYzoKIAogICAgIFNlcnZpY2VXb3JrZXJDb250YWlu
ZXIqIHNlcnZpY2VXb3JrZXJDb250YWluZXIoKTsKICAgICBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
KiBlbnN1cmVTZXJ2aWNlV29ya2VyQ29udGFpbmVyKCk7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0
ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogI2Vu
ZGlmCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgcG9zdFRhc2tUbyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllciwgVGFzayYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgYm9vbCBlbnN1cmVPbkNvbnRleHRUaHJlYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIsIFRhc2smJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApp
bmRleCA1NTY4MmQwZTQ3Y2Y4YWFlNzdmNDk3ODM0MTc5M2EzNWQ1NTQwYWMxLi40MTY5N2Y1MzBm
MWVlY2FkMGMyN2YzYTRlZTJkYzkwOTNmNzAyMjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKQEAgLTIxNDAsNiArMjE0MCw3IEBAIHZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OmxvYWRNYWluUmVzb3VyY2UoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkKICAgICAgICAg
bV9yZXN1bHRpbmdDbGllbnRJZCA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyOjpn
ZW5lcmF0ZSgpOwogICAgICAgICBBU1NFUlQoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyVG9Mb2FkZXJNYXAoKS5jb250YWlucyhtX3Jlc3VsdGluZ0NsaWVudElkKSk7CiAgICAgICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Mb2FkZXJNYXAoKS5hZGQobV9yZXN1
bHRpbmdDbGllbnRJZCwgdGhpcyk7CisgICAgICAgIG1haW5SZXNvdXJjZUxvYWRPcHRpb25zLmNs
aWVudElkZW50aWZpZXIgPSBtX3Jlc3VsdGluZ0NsaWVudElkOwogICAgIH0KICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgKaW5kZXggNWFjZTAxNWJkNWVmNzI5M2I2MGVh
MWU2YTZkZTFlOGNmODFlODlhZS4uMzk1ZGYwNDZkNDZhNWQ1YmQ4NTY2N2VmMGQ3YjJjZDQ0OTMz
NThhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaApAQCAtNDQsOSArNDQsOSBA
QCBzdHJ1Y3QgRmV0Y2hPcHRpb25zIHsKICAgICBlbnVtIGNsYXNzIFJlZGlyZWN0IDogdWludDhf
dCB7IEZvbGxvdywgRXJyb3IsIE1hbnVhbCB9OwogCiAgICAgRmV0Y2hPcHRpb25zKCkgPSBkZWZh
dWx0OwotICAgIEZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiwgTW9kZSwgQ3JlZGVudGlhbHMsIENh
Y2hlLCBSZWRpcmVjdCwgUmVmZXJyZXJQb2xpY3ksIFN0cmluZyYmLCBib29sKTsKLSAgICBGZXRj
aE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29uc3QgJiB7IHJldHVybiB7IGRlc3RpbmF0aW9uLCBt
b2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGljeSwgaW50ZWdy
aXR5Lmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUgfTsgfQotICAgIEZldGNoT3B0aW9ucyBpc29s
YXRlZENvcHkoKSAmJiB7IHJldHVybiB7IGRlc3RpbmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywg
Y2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGljeSwgV1RGTW92ZShpbnRlZ3JpdHkpLmlzb2xh
dGVkQ29weSgpLCBrZWVwQWxpdmUgfTsgfQorICAgIEZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiwg
TW9kZSwgQ3JlZGVudGlhbHMsIENhY2hlLCBSZWRpcmVjdCwgUmVmZXJyZXJQb2xpY3ksIFN0cmlu
ZyYmLCBib29sLCBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
Pik7CisgICAgRmV0Y2hPcHRpb25zIGlzb2xhdGVkQ29weSgpIGNvbnN0ICYgeyByZXR1cm4geyBk
ZXN0aW5hdGlvbiwgbW9kZSwgY3JlZGVudGlhbHMsIGNhY2hlLCByZWRpcmVjdCwgcmVmZXJyZXJQ
b2xpY3ksIGludGVncml0eS5pc29sYXRlZENvcHkoKSwga2VlcEFsaXZlLCBjbGllbnRJZGVudGlm
aWVyIH07IH0KKyAgICBGZXRjaE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgJiYgeyByZXR1cm4geyBk
ZXN0aW5hdGlvbiwgbW9kZSwgY3JlZGVudGlhbHMsIGNhY2hlLCByZWRpcmVjdCwgcmVmZXJyZXJQ
b2xpY3ksIFdURk1vdmUoaW50ZWdyaXR5KS5pc29sYXRlZENvcHkoKSwga2VlcEFsaXZlLCBjbGll
bnRJZGVudGlmaWVyIH07IH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlUGVyc2lzdGVudChFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZVBlcnNpc3RlbnQoRGVjb2Rl
ciYsIEZldGNoT3B0aW9ucyYpOwpAQCAtNTksMjAgKzU5LDIxIEBAIHN0cnVjdCBGZXRjaE9wdGlv
bnMgewogICAgIENhY2hlIGNhY2hlIHsgQ2FjaGU6OkRlZmF1bHQgfTsKICAgICBSZWRpcmVjdCBy
ZWRpcmVjdCB7IFJlZGlyZWN0OjpGb2xsb3cgfTsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJl
clBvbGljeSB7IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyB9OwotICAgIGJvb2wga2VlcEFs
aXZlIHsgZmFsc2UgfTsKICAgICBTdHJpbmcgaW50ZWdyaXR5OworICAgIGJvb2wga2VlcEFsaXZl
IHsgZmFsc2UgfTsKICAgICBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyPiBjbGllbnRJZGVudGlmaWVyOwogfTsKIAotaW5saW5lIEZldGNoT3B0aW9uczo6RmV0
Y2hPcHRpb25zKERlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLCBNb2RlIG1vZGUsIENyZWRlbnRpYWxz
IGNyZWRlbnRpYWxzLCBDYWNoZSBjYWNoZSwgUmVkaXJlY3QgcmVkaXJlY3QsIFJlZmVycmVyUG9s
aWN5IHJlZmVycmVyUG9saWN5LCBTdHJpbmcmJiBpbnRlZ3JpdHksIGJvb2wga2VlcEFsaXZlKQor
aW5saW5lIEZldGNoT3B0aW9uczo6RmV0Y2hPcHRpb25zKERlc3RpbmF0aW9uIGRlc3RpbmF0aW9u
LCBNb2RlIG1vZGUsIENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDYWNoZSBjYWNoZSwgUmVkaXJl
Y3QgcmVkaXJlY3QsIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBTdHJpbmcmJiBpbnRl
Z3JpdHksIGJvb2wga2VlcEFsaXZlLCBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlmaWVyKQogICAgIDogZGVzdGluYXRpb24oZGVzdGlu
YXRpb24pCiAgICAgLCBtb2RlKG1vZGUpCiAgICAgLCBjcmVkZW50aWFscyhjcmVkZW50aWFscykK
ICAgICAsIGNhY2hlKGNhY2hlKQogICAgICwgcmVkaXJlY3QocmVkaXJlY3QpCiAgICAgLCByZWZl
cnJlclBvbGljeShyZWZlcnJlclBvbGljeSkKLSAgICAsIGtlZXBBbGl2ZShrZWVwQWxpdmUpCiAg
ICAgLCBpbnRlZ3JpdHkoV1RGTW92ZShpbnRlZ3JpdHkpKQorICAgICwga2VlcEFsaXZlKGtlZXBB
bGl2ZSkKKyAgICAsIGNsaWVudElkZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDU5Y2RjYzJl
YzRjNDhjMWFlYmY0ZTdiZjgxZTIyMDFhZDEwMjUyNDQuLmI1ZGQ0ZWY2YWE5ODFkNjNjNTQ4NGE0
MWVhZjU0YzY5ZjFmNGNlZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJl
YWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5jcHAKQEAgLTc3LDYgKzc3LDggQEAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgVGhyZWFk
YWJsZUxvYWRlck9wdGlvbnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgY29weS5yZWRpcmVj
dCA9IHRoaXMtPnJlZGlyZWN0OwogICAgIGNvcHkucmVmZXJyZXJQb2xpY3kgPSB0aGlzLT5yZWZl
cnJlclBvbGljeTsKICAgICBjb3B5LmludGVncml0eSA9IHRoaXMtPmludGVncml0eS5pc29sYXRl
ZENvcHkoKTsKKyAgICBjb3B5LmtlZXBBbGl2ZSA9IHRoaXMtPmtlZXBBbGl2ZTsKKyAgICBjb3B5
LmNsaWVudElkZW50aWZpZXIgPSB0aGlzLT5jbGllbnRJZGVudGlmaWVyOwogCiAgICAgLy8gUmVz
b3VyY2VMb2FkZXJPcHRpb25zCiAgICAgY29weS5zZW5kTG9hZENhbGxiYWNrcyA9IHRoaXMtPnNl
bmRMb2FkQ2FsbGJhY2tzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtl
clRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuY3BwCmluZGV4IGUyOTU4OWMyZmYyNDAwNDI1MzVjM2MwMzk2ZmM4YjQ3NjI0
NDJhYTAuLjk2ZTY0Zjk5ZTk2YjMwMTEyOWJlZTRiYTlkNzY0NjkyMGFiYzNkMjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTEz
Niw3ICsxMzYsMTEgQEAgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6
TWFpblRocmVhZEJyaWRnZShUaHJlYWRhYmxlTG9hZGVyQ2xpZW4KICAgICBvcHRpb25zQ29weS0+
b3B0aW9ucy5zZXJ2aWNlV29ya2Vyc01vZGUgPSBpczxTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU+
KGdsb2JhbFNjb3BlKSA/IFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSA6IFNlcnZpY2VXb3JrZXJz
TW9kZTo6QWxsOwogICAgIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gZ2xvYmFsU2Nv
cGUuYWN0aXZlU2VydmljZVdvcmtlcigpKQogICAgICAgICBvcHRpb25zQ29weS0+b3B0aW9ucy5z
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIt
PnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKKyAgICBlbHNlCisgICAgICAgIG9wdGlvbnNDb3B5
LT5vcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZTsK
ICNlbmRpZgorICAgIGlmICghb3B0aW9uc0NvcHktPm9wdGlvbnMuY2xpZW50SWRlbnRpZmllcikK
KyAgICAgICAgb3B0aW9uc0NvcHktPm9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IGdsb2JhbFNj
b3BlLmlkZW50aWZpZXIoKTsKIAogICAgIGlmIChpczxXb3JrZXJHbG9iYWxTY29wZT4oZ2xvYmFs
U2NvcGUpKQogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTZW5kUmVxdWVz
dChkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oZ2xvYmFsU2NvcGUpLCBtX3dvcmtlclJlcXVl
c3RJZGVudGlmaWVyLCByZXF1ZXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDdkNjFjY2I1MmI3ZjUwZDdmOGM5
NmI2ZjJiNTE0YWZkYWQ3Y2NkOWYuLjdmNjM4YzFjNWVhNmExYTBjNDQ3MjY5NGE3ZjczNzdlNzIz
ODQzNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcApAQCAtMTIwMiw4ICsxMjAyLDggQEAgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OlJldmFsaWRhdGlvblBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2
YWxpZGEKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIHZhbGlkYXRlL3NwZWNpZnkgdGhpcyBiZWhhdmlvci4KLSAgICBpZiAoY2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0Lm9wdGlvbnMoKS5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciAh
PSBleGlzdGluZ1Jlc291cmNlLT5vcHRpb25zKCkuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIpIHsKLSAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNl
TG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kgcmVsb2FkaW5nIGJlY2F1c2Ugc2Vs
ZWN0ZWQgc2VydmljZSB3b3JrZXIgZGlmZmVycyIpOworICAgIGlmIChjYWNoZWRSZXNvdXJjZVJl
cXVlc3Qub3B0aW9ucygpLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyICE9IGV4
aXN0aW5nUmVzb3VyY2UtPm9wdGlvbnMoKS5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciB8fCBjYWNoZWRSZXNvdXJjZVJlcXVlc3Qub3B0aW9ucygpLnNlcnZpY2VXb3JrZXJzTW9k
ZSAhPSBleGlzdGluZ1Jlc291cmNlLT5vcHRpb25zKCkuc2VydmljZVdvcmtlcnNNb2RlKSB7Cisg
ICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJt
aW5lUmV2YWxpZGF0aW9uUG9saWN5IHJlbG9hZGluZyBiZWNhdXNlIHNlbGVjdGVkIHNlcnZpY2Ug
d29ya2VyIG1heSBkaWZmZXIiKTsKICAgICAgICAgcmV0dXJuIFJlbG9hZDsKICAgICB9CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNw
cAppbmRleCBiN2Y5MTdkNmQ4YmRhMDVlZGI1OGQxMmY3ODVhM2IzOTIwODEyMDliLi43NTAzMzJi
M2RlNWVkZmQyZWU3NzU2NTAxNWY3Yjg2ZTFmNWJjNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCkBAIC00OCw3ICs0OCwxMiBAQCBE
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRpY2F0ZWRXb3JrZXJUaHJlYWQoKSA9IGRlZmF1bHQ7
CiAKIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVX
b3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4pCiB7
Ci0gICAgcmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUocGFyYW1zLCBX
VEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Q
cm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICBhdXRvIHNjb3BlID0gRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShwYXJhbXMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMsIFdU
Rk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkp
OworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBpZiAocGFyYW1zLnNlcnZpY2VXb3Jr
ZXJEYXRhKQorICAgICAgICBzY29wZS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29y
a2VyOjpnZXRPckNyZWF0ZShzY29wZS5nZXQoKSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1z
LnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyNlbmRpZgorICAgIHJldHVybiBzY29wZTsKIH0KIAog
dm9pZCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9vcCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlci5jcHAKaW5kZXggN2ZiYTYyODkxZGRiYWE2ZTY2NWMxNGJmOWVjMjhhMjhiNDQ0MTU0
Ny4uODgzZjdkM2YxMmFjODI3YmUwYzU5YTdhNDIyNzYyNWI0MmNkMDY5OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCIKICNpbmNsdWRl
ICJXb3JrZXJHbG9iYWxTY29wZVByb3h5LmgiCisjaW5jbHVkZSAiV29ya2VySW5pdGlhbGl6YXRp
b25EYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSAiV29y
a2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSWRlbnRpZmllcnNGYWN0b3J5
Lmg+CkBAIC01NywxNSArNTgsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoV29ya2VyKTsKIAotc3RhdGljIEhhc2hTZXQ8V29ya2VyKj4mIGFs
bFdvcmtlcnMoKQorc3RhdGljIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIsIFdvcmtlcio+JiBhbGxXb3JrZXJzKCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
SGFzaFNldDxXb3JrZXIqPj4gc2V0OwotICAgIHJldHVybiBzZXQ7CisgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFdvcmtl
cio+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKIH0KIAogdm9pZCBXb3JrZXI6Om5ldHdvcmtTdGF0
ZUNoYW5nZWQoYm9vbCBpc09uTGluZSkKIHsKLSAgICBmb3IgKGF1dG8qIHdvcmtlciA6IGFsbFdv
cmtlcnMoKSkKKyAgICBmb3IgKGF1dG8qIHdvcmtlciA6IGFsbFdvcmtlcnMoKS52YWx1ZXMoKSkK
ICAgICAgICAgd29ya2VyLT5ub3RpZnlOZXR3b3JrU3RhdGVDaGFuZ2UoaXNPbkxpbmUpOwogfQog
CkBAIC03NSw2ICs3Niw3IEBAIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncywKICAgICAsIG1faWRlbnRp
Zmllcigid29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRl
bnRpZmllcigpKQogICAgICwgbV9jb250ZXh0UHJveHkoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6
Y3JlYXRlKCp0aGlzKSkKICAgICAsIG1fcnVudGltZUZsYWdzKHJ1bnRpbWVGbGFncykKKyAgICAs
IG1fY2xpZW50SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjo6Z2Vu
ZXJhdGUoKSkKIHsKICAgICBzdGF0aWMgYm9vbCBhZGRlZExpc3RlbmVyOwogICAgIGlmICghYWRk
ZWRMaXN0ZW5lcikgewpAQCAtODIsNyArODQsNyBAQCBXb3JrZXI6OldvcmtlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MsCiAg
ICAgICAgIGFkZGVkTGlzdGVuZXIgPSB0cnVlOwogICAgIH0KIAotICAgIGF1dG8gYWRkUmVzdWx0
ID0gYWxsV29ya2VycygpLmFkZCh0aGlzKTsKKyAgICBhdXRvIGFkZFJlc3VsdCA9IGFsbFdvcmtl
cnMoKS5hZGQobV9jbGllbnRJZGVudGlmaWVyLCB0aGlzKTsKICAgICBBU1NFUlRfVU5VU0VEKGFk
ZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogfQogCkBAIC0xMTQsNyArMTE2LDcgQEAg
RXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IFdvcmtlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIEpTQzo6UnUKICAgICByZXF1ZXN0LnNldEluaXRpYXRvcklkZW50aWZp
ZXIod29ya2VyLT5tX2lkZW50aWZpZXIpOwogCiAgICAgYXV0byBzb3VyY2UgPSBvcHRpb25zLnR5
cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlID8gV29ya2VyU2NyaXB0TG9hZGVyOjpTb3VyY2U6Ok1v
ZHVsZVNjcmlwdCA6IFdvcmtlclNjcmlwdExvYWRlcjo6U291cmNlOjpDbGFzc2ljV29ya2VyU2Ny
aXB0OwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250
ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBzb3VyY2UsIHdvcmtlckZldGNoT3B0aW9ucyh3b3JrZXIt
Pm1fb3B0aW9ucywgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSwgY29udGVudFNl
Y3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCB3b3JrZXIu
Z2V0KCksIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOworICAgIHdvcmtlci0+bV9zY3Jp
cHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBz
b3VyY2UsIHdvcmtlckZldGNoT3B0aW9ucyh3b3JrZXItPm1fb3B0aW9ucywgRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbjo6V29ya2VyKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQs
IFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCB3b3JrZXIuZ2V0KCksIFdvcmtlclJ1bkxvb3A6OmRl
ZmF1bHRNb2RlKCksIHdvcmtlci0+bV9jbGllbnRJZGVudGlmaWVyKTsKIAogICAgIHJldHVybiB3
b3JrZXI7CiB9CkBAIC0xMjMsNyArMTI1LDcgQEAgV29ya2VyOjp+V29ya2VyKCkKIHsKICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOyAvLyBUaGUgY29udGV4dCBpcyBwcm90ZWN0ZWQgYnkgd29ya2VyIGNvbnRleHQgcHJveHks
IHNvIGl0IGNhbm5vdCBiZSBkZXN0cm95ZWQgd2hpbGUgYSBXb3JrZXIgZXhpc3RzLgotICAgIGFs
bFdvcmtlcnMoKS5yZW1vdmUodGhpcyk7CisgICAgYWxsV29ya2VycygpLnJlbW92ZShtX2NsaWVu
dElkZW50aWZpZXIpOwogICAgIG1fY29udGV4dFByb3h5Lndvcmtlck9iamVjdERlc3Ryb3llZCgp
OwogfQogCkBAIC0yMDgsMTMgKzIxMCwxOSBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNoZWQo
KQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYm9vbCBpc09ubGluZSA9IHBsYXRmb3Jt
U3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpOwogICAgIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzID0gbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMg
PyBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy52YWx1ZSgpIDogY29udGV4
dC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPnJlc3BvbnNlSGVhZGVycygpOwogICAgIFJlZmVy
cmVyUG9saWN5IHJlZmVycmVyUG9saWN5ID0gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOwog
ICAgIGlmIChhdXRvIHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXIt
PnJlZmVycmVyUG9saWN5KCksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKICAg
ICAgICAgcmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5OwogCi0gICAgbV9jb250ZXh0UHJveHkuc3Rh
cnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+bGFzdFJlcXVlc3RVUkwoKSwgbV9v
cHRpb25zLm5hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+bGFzdFJlcXVl
c3RVUkwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIG1fc2NyaXB0TG9hZGVyLT5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
KCksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9vcHRpb25zLnR5cGUs
IG1fb3B0aW9ucy5jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOworICAgIFdvcmtlckluaXRp
YWxpemF0aW9uRGF0YSBpbml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKKyAgICAgICAgbV9zY3JpcHRMb2FkZXItPnRha2VTZXJ2aWNlV29ya2VyRGF0YSgpLAor
I2VuZGlmCisgICAgICAgIG1fY2xpZW50SWRlbnRpZmllciwKKyAgICAgICAgY29udGV4dC0+dXNl
ckFnZW50KG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgpKQorICAgIH07CisgICAgbV9j
b250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+bGFzdFJl
cXVlc3RVUkwoKSwgbV9vcHRpb25zLm5hbWUsIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSwg
bV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3Nj
cmlwdExvYWRlci0+Y3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSgpLCBtX3dvcmtlckNyZWF0aW9u
VGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fb3B0aW9ucy50eXBlLCBtX29wdGlvbnMuY3JlZGVudGlh
bHMsIG1fcnVudGltZUZsYWdzKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlw
dEltcG9ydGVkKCpjb250ZXh0LCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3Njcmlw
dExvYWRlci0+c2NyaXB0KCkudG9TdHJpbmcoKSk7CiB9CiAKQEAgLTI1MSw4ICsyNTksMTMgQEAg
dm9pZCBXb3JrZXI6OnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4KIAogdm9pZCBXb3JrZXI6OmZvckVhY2hXb3JrZXIoY29u
c3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+KCk+JiBj
YWxsYmFjaykKIHsKLSAgICBmb3IgKGF1dG8qIHdvcmtlciA6IGFsbFdvcmtlcnMoKSkKKyAgICBm
b3IgKGF1dG8qIHdvcmtlciA6IGFsbFdvcmtlcnMoKS52YWx1ZXMoKSkKICAgICAgICAgd29ya2Vy
LT5wb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoY2FsbGJhY2soKSk7CiB9CiAKK1dvcmtlciog
V29ya2VyOjp3b3JrZXJCeUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIgaWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gYWxsV29ya2VycygpLmdldChpZGVudGlmaWVy
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5k
ZXggNGQ1MGU2MTUwNTkxNzVkY2NhNThhNTBjZTNlN2I0ODk4YTRmNmIzYy4uMzlmYWI2ZjBhZjgx
NDlhZmMwYTAzZjdmODM0MWQ4YTkzYjYzODUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBA
IC04Miw2ICs4Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2Jh
bFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKICAgICBz
dGF0aWMgdm9pZCBmb3JFYWNoV29ya2VyKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpPigpPiYpOworICAgIFdvcmtlciogd29ya2VyQnlJZGVudGlm
aWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKIAogcHJpdmF0ZToKICAgICBl
eHBsaWNpdCBXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdz
LCBXb3JrZXJPcHRpb25zJiYpOwpAQCAtMTE2LDYgKzExNyw3IEBAIHByaXZhdGU6CiAjaWYgRU5B
QkxFKFdFQl9SVEMpCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fdHJhbnNmb3JtZXJzOwogI2VuZGlm
CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgbV9jbGllbnRJZGVudGlmaWVy
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCA1OTMzZTA3NGU4YjYzMjdkMDU2NjFiMzQxZTE2
MjcyMDk5ZmQyOWZiLi40NjE1MzMxM2IzMjJmNzFmZGIwOGM0Y2RlOWNjNTU2Yjc2ZjgyYjgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNDgs
NiArNDgsNyBAQAogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luUG9saWN5LmgiCisjaW5jbHVk
ZSAiU2VydmljZVdvcmtlckNsaWVudERhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUuaCIKICNpbmNsdWRlICJTb2NrZXRQcm92aWRlci5oIgogI2luY2x1ZGUgIldvcmtl
ckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCIKQEAgLTkxLDcgKzkyLDcgQEAgc3RhdGljIFdvcmtR
dWV1ZSYgc2hhcmVkRmlsZVN5c3RlbVN0b3JhZ2VRdWV1ZSgpCiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoV29ya2VyR2xvYmFsU2NvcGUpOwogCiBXb3JrZXJHbG9iYWxTY29wZTo6V29ya2Vy
R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBjb25zdCBXb3JrZXJQYXJhbWV0ZXJz
JiBwYXJhbXMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFdvcmtlclRocmVhZCYgdGhy
ZWFkLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5l
Y3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlk
ZXIpCi0gICAgOiBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSh0eXBlLCBpc01haW5UaHJlYWQo
KSA/IFJlZiB7IGNvbW1vblZNKCkgfSA6IEpTQzo6Vk06OmNyZWF0ZSgpLCAmdGhyZWFkKQorICAg
IDogV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUodHlwZSwgaXNNYWluVGhyZWFkKCkgPyBSZWYg
eyBjb21tb25WTSgpIH0gOiBKU0M6OlZNOjpjcmVhdGUoKSwgJnRocmVhZCwgcGFyYW1zLmNsaWVu
dElkKQogICAgICwgbV91cmwocGFyYW1zLnNjcmlwdFVSTCkKICAgICAsIG1faW5zcGVjdG9ySWRl
bnRpZmllcihwYXJhbXMuaW5zcGVjdG9ySWRlbnRpZmllcikKICAgICAsIG1fdXNlckFnZW50KHBh
cmFtcy51c2VyQWdlbnQpCkBAIC02NTMsNCArNjU0LDE0IEBAIHZvaWQgV29ya2VyR2xvYmFsU2Nv
cGU6OnVwZGF0ZVNvdXJjZVByb3ZpZGVyQnVmZmVycyhjb25zdCBTY3JpcHRCdWZmZXImIG1haW5T
Y3JpCiAgICAgfQogfQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQordm9pZCBXb3JrZXJH
bG9iYWxTY29wZTo6dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKQoreworICAgIEFTU0VS
VCh0eXBlKCkgPT0gV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OlR5cGU6OkRlZGljYXRlZFdv
cmtlcik7CisgICAgYXV0byBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtlcigpID8gc3RkOjptYWtlX29wdGlvbmFsPFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPihhY3RpdmVTZXJ2aWNlV29ya2VyKCktPnJl
Z2lzdHJhdGlvbklkZW50aWZpZXIoKSkgOiBzdGQ6Om51bGxvcHQ7CisgICAgU1dDbGllbnRDb25u
ZWN0aW9uJiBjb25uZWN0aW9uID0gc3dDbGllbnRDb25uZWN0aW9uKCk7CisgICAgY29ubmVjdGlv
bi5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQodG9wT3JpZ2luKCksIFNlcnZpY2VXb3JrZXJD
bGllbnREYXRhOjpmcm9tKCp0aGlzKSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgU3RyaW5nIHsgbV91c2VyQWdlbnQgfSk7Cit9CisjZW5kaWYKKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5oCmluZGV4IGVhYTU4MjA3NGZhZmM0NjRjMzI4ZjgzZTY1MjhiZGEwN2RjYzJkNTIuLjU4
YmJkNjU3N2ZhNDM3MjA3ZTliYTc2ZGRlZTczZTM5NjRkZWQ2Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTE5Miw2ICsxOTIsOSBAQCBwcml2YXRl
OgogICAgIGJvb2wgd3JhcENyeXB0b0tleShjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgVmVj
dG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5KSBmaW5hbDsKICAgICBib29sIHVud3JhcENyeXB0b0tl
eShjb25zdCBWZWN0b3I8dWludDhfdD4mIHdyYXBwZWRLZXksIFZlY3Rvcjx1aW50OF90PiYga2V5
KSBmaW5hbDsKICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICB2b2lkIHVw
ZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkgZmluYWw7CisjZW5kaWYKIAogICAgIHZvaWQg
c3RvcEluZGV4ZWREYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGVQcm94eS5oCmluZGV4IDJiYWIyNjczNWRlMTliNGI1MTExMDdhNmFjZDk5
ZTI5ODY0NTczY2QuLjhhNTBhNzAwNzM3MTU1OTRlZTFkNGNjMjNlNzk4YzM4MTlhNTE0NWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCkBA
IC00Myw2ICs0Myw3IEBAIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
czsKIGNsYXNzIFNjcmlwdEJ1ZmZlcjsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBj
bGFzcyBXb3JrZXI7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogZW51bSBjbGFz
cyBSZWZlcnJlclBvbGljeSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFdvcmtlclR5cGUgOiBib29s
OwogCkBAIC01MSw3ICs1Miw3IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlUHJveHkgewogcHVi
bGljOgogICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZVByb3h5JiBjcmVhdGUoV29ya2VyJik7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNj
cmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9v
bCBpc09ubGluZSwgY29uc3QgU2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYs
IE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZl
dGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHJpbmcmIG5hbWUsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmLCBjb25zdCBTY3JpcHRC
dWZmZXImIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBj
b25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpT
Qzo6UnVudGltZUZsYWdzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0ZVdvcmtlckds
b2JhbFNjb3BlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xv
YmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJikgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jik+JiYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckluaXRpYWxpemF0aW9uRGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2OTcwZDA0YTNhNzBjMTg5NWNlOTcx
OTU4MjZkMDk5YzY3MDhhZWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlckRhdGEuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKKyNp
ZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2Vy
RGF0YT4gc2VydmljZVdvcmtlckRhdGE7CisjZW5kaWYKKyAgICBzdGQ6Om9wdGlvbmFsPFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlmaWVyOworICAgIFN0cmlu
ZyB1c2VyQWdlbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IGMzMTExYTJmN2Y1
ZmYyOTE4ZmZlYzUwYmIzMTAzYzA1ZTEyODc0YzMuLmNiZWQ0OWM5ZjkwODFiZGViY2ZiZmRiOTIx
ZTM0ZjMyNjUzNWNjNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuY3BwCkBAIC0zOCwxMSArMzgsMTQgQEAKICNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCiAjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMuaCIKICNpbmNsdWRlICJMaWJX
ZWJSVENQcm92aWRlci5oIgorI2luY2x1ZGUgIkxvYWRlclN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAi
TWVzc2FnZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
YXRlZ2llcy5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldvcmtlci5oIgorI2luY2x1ZGUgIldvcmtlckluaXRp
YWxpemF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckluc3BlY3RvclByb3h5LmgiCiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvU2NyaXB0Q2FsbFN0YWNrLmg+CkBAIC03NSw3ICs3OCw3IEBAIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2VyR2xv
YmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtlckds
b2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQoKSA9
PSAmVGhyZWFkOjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU2Ny
aXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3kmIGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ksIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUgd29y
a2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIEpTQzo6UnVudGlt
ZUZsYWdzIHJ1bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwg
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhLCBjb25zdCBTY3Jp
cHRCdWZmZXImIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeSYgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB3b3Jr
ZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlNDOjpSdW50aW1l
RmxhZ3MgcnVudGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2
aXNpdGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQo
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKQEAgLTg3LDcgKzkwLDEyIEBAIHZvaWQgV29ya2Vy
TWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRV
UkwsIGNvbnN0IFN0CiAKICAgICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIgPSBkb2N1
bWVudC5zb2NrZXRQcm92aWRlcigpOwogCi0gICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMgPSB7
IHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ksIHRpbWVPcmlnaW4s
IHJlZmVycmVyUG9saWN5LCB3b3JrZXJUeXBlLCBjcmVkZW50aWFscywgZG9jdW1lbnQuc2V0dGlu
Z3NWYWx1ZXMoKSB9OworICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zIHsgc2NyaXB0VVJMLCBu
YW1lLCBpZGVudGlmaWVyLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQpLCBw
bGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ksIHRpbWVPcmlnaW4s
IHJlZmVycmVyUG9saWN5LCB3b3JrZXJUeXBlLCBjcmVkZW50aWFscywgZG9jdW1lbnQuc2V0dGlu
Z3NWYWx1ZXMoKSwgV29ya2VyVGhyZWFkTW9kZTo6Q3JlYXRlTmV3VGhyZWFkLCB7IH0sCisjaWYg
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0
YS5zZXJ2aWNlV29ya2VyRGF0YSksCisjZW5kaWYKKyAgICAgICAgaW5pdGlhbGl6YXRpb25EYXRh
LmNsaWVudElkZW50aWZpZXIudmFsdWVfb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIgeyB9KQorICAgIH07CiAgICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6
OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9k
ZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZs
YWdzKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0ZWQodGhyZWFkLmdldCgpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCAyMjZlODYxYzUx
NmQ1ZDJlNmEzNDVlZDdkZTg3MWM5MjRjMTI4ODQzLi5iMjU5NTcyYjM4MGNmZjEwMmI3NGM0YWEy
NGQ1MTAxYzk4ZTk2ZjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8g
SW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAgLy8gKE9ubHkg
dXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQuKQotICAgIHZv
aWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
U2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYsIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRp
YWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CisgICAgdm9pZCBzdGFydFdvcmtlckdsb2Jh
bFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YSYmLCBjb25zdCBTY3JpcHRCdWZmZXImIHNvdXJjZUNvZGUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVy
UG9saWN5JiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2Vy
VHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsK
ICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2JhbFNjb3BlKCkgZmluYWw7CiAgICAgdm9pZCBw
b3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJikg
ZmluYWw7CiAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9p
ZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCBmY2I0
NGU2Y2JjNDI5ZWVkMDJhYjYzYTgwYzg0NzhkYmQzZGIyOGFmLi41ODNhNTZmOTc1NDExNTY1ZWY5
NzMyYWY3YTM0YzQ4MTIwMmUwNDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtNDAsOCArNDAsOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXJPcldv
cmtsZXRHbG9iYWxTY29wZSk7CiAKLVdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlOjpXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIFJlZjxKU0M6OlZNPiYm
IHZtLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQqIHRocmVhZCkKLSAgICA6IG1fc2NyaXB0KG1ha2VV
bmlxdWU8V29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcj4odHlwZSwgV1RGTW92ZSh2bSks
IHRoaXMpKQorV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU6Oldvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlKFdvcmtlclRocmVhZFR5cGUgdHlwZSwgUmVmPEpTQzo6Vk0+JiYgdm0sIFdvcmtlck9y
V29ya2xldFRocmVhZCogdGhyZWFkLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBj
b250ZXh0SWRlbnRpZmllcikKKyAgICA6IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dElk
ZW50aWZpZXIpCisgICAgLCBtX3NjcmlwdChtYWtlVW5pcXVlPFdvcmtlck9yV29ya2xldFNjcmlw
dENvbnRyb2xsZXI+KHR5cGUsIFdURk1vdmUodm0pLCB0aGlzKSkKICAgICAsIG1fbW9kdWxlTG9h
ZGVyKG1ha2VVbmlxdWU8U2NyaXB0TW9kdWxlTG9hZGVyPigqdGhpcywgU2NyaXB0TW9kdWxlTG9h
ZGVyOjpPd25lclR5cGU6Oldvcmtlck9yV29ya2xldCkpCiAgICAgLCBtX3RocmVhZCh0aHJlYWQp
CiAgICAgLCBtX2luc3BlY3RvckNvbnRyb2xsZXIobWFrZVVuaXF1ZTxXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyPigqdGhpcykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlLmgKaW5kZXggYTBkMTZkNzQ3MDk5OTM0YThmZTMxODBiZTA3
NzkzMjc1MzUzYmFjMS4uODcxY2Q3YzUxZmZlNDg2NTY4ODY4NDVkMDVlZWUxMmU5ODk5M2IxMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFs
U2NvcGUuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6Ci0g
ICAgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSwgUmVmPEpTQzo6
Vk0+JiYsIFdvcmtlck9yV29ya2xldFRocmVhZCopOworICAgIFdvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlKFdvcmtlclRocmVhZFR5cGUsIFJlZjxKU0M6OlZNPiYmLCBXb3JrZXJPcldvcmtsZXRU
aHJlYWQqLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciA9IHsgfSk7CiAKICAgICAv
LyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LgogICAgIGJvb2wgaXNKU0V4ZWN1dGlvbkZvcmJpZGRl
bigpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRM
b2FkZXIuY3BwCmluZGV4IDBjNDAxMDE5OWY0YmYyNjI0OWUyYmRjMGU3ODEwZGY1MDhkZmUxYjAu
LjJkNjM4NzM2MzQ4MDY1YjAwODIwNTcxZjc3MmVhZDNmM2JiOTYwNzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTQ1LDEyICs0NSwyMiBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBIYXNoTWFwPFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyLCBXb3JrZXJTY3JpcHRMb2FkZXIqPiYgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlwdExvYWRlck1hcCgpCit7CisgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIs
IFdvcmtlclNjcmlwdExvYWRlcio+PiBtYXA7CisgICAgcmV0dXJuIG1hcC5nZXQoKTsKK30KKwog
V29ya2VyU2NyaXB0TG9hZGVyOjpXb3JrZXJTY3JpcHRMb2FkZXIoKQogICAgIDogbV9zY3JpcHQo
U2NyaXB0QnVmZmVyOjplbXB0eSgpKQogewogfQogCi1Xb3JrZXJTY3JpcHRMb2FkZXI6On5Xb3Jr
ZXJTY3JpcHRMb2FkZXIoKSA9IGRlZmF1bHQ7CitXb3JrZXJTY3JpcHRMb2FkZXI6On5Xb3JrZXJT
Y3JpcHRMb2FkZXIoKQoreworICAgIGlmIChtX2NsaWVudElkZW50aWZpZXIpCisgICAgICAgIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Xb3JrZXJTY3JpcHRMb2FkZXJNYXAoKS5y
ZW1vdmUobV9jbGllbnRJZGVudGlmaWVyKTsKK30KIAogc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+
IFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZFN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgY29uc3QgVVJMJiB1cmwsIFNvdXJjZSBzb3Vy
Y2UsIEZldGNoT3B0aW9uczo6TW9kZSBtb2RlLCBGZXRjaE9wdGlvbnM6OkNhY2hlIGNhY2hlUG9s
aWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3JJZGVudGlmaWVyKQogewpAQCAt
OTMsMTEgKzEwMyw3IEBAIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvCiAgICAgb3B0aW9ucy5zZW5k
TG9hZENhbGxiYWNrcyA9IFNlbmRDYWxsYmFja1BvbGljeTo6U2VuZENhbGxiYWNrczsKICAgICBv
cHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gY29udGVudFNlY3VyaXR5
UG9saWN5RW5mb3JjZW1lbnQ7CiAgICAgb3B0aW9ucy5kZXN0aW5hdGlvbiA9IG1fZGVzdGluYXRp
b247Ci0jaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIG9wdGlvbnMuc2VydmljZVdvcmtl
cnNNb2RlID0gaXNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgPyBTZXJ2aWNlV29ya2Vyc01vZGU6
Ok5vbmUgOiBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbDsKLSAgICBpZiAoYXV0byogYWN0aXZlU2Vy
dmljZVdvcmtlciA9IHdvcmtlckdsb2JhbFNjb3BlLmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKLSAg
ICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2
ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKLSNlbmRpZgorCiAgICAg
V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSh3b3JrZXJH
bG9iYWxTY29wZSwgV1RGTW92ZSgqcmVxdWVzdCksICp0aGlzLCBvcHRpb25zKTsKIAogICAgIC8v
IElmIHRoZSBmZXRjaGluZyBhdHRlbXB0IGZhaWxlZCwgdGhyb3cgYSBOZXR3b3JrRXJyb3IgZXhj
ZXB0aW9uIGFuZCBhYm9ydCBhbGwgdGhlc2Ugc3RlcHMuCkBAIC0xMTUsNyArMTIxLDcgQEAgc3Rk
OjpvcHRpb25hbDxFeGNlcHRpb24+IFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZFN5bmNocm9ub3Vz
bHkoU2NyaXB0RXhlY3V0aW9uQ28KICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogfQogCi12b2lk
IFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJlc291cmNlUmVxdWVzdCYmIHNjcmlwdFJl
cXVlc3QsIFNvdXJjZSBzb3VyY2UsIEZldGNoT3B0aW9ucyYmIGZldGNoT3B0aW9ucywgQ29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQsIFNlcnZpY2VXb3JrZXJzTW9kZSBzZXJ2aWNlV29ya2VyTW9kZSwgV29ya2VyU2NyaXB0TG9h
ZGVyQ2xpZW50JiBjbGllbnQsIFN0cmluZyYmIHRhc2tNb2RlKQordm9pZCBXb3JrZXJTY3JpcHRM
b2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBTb3VyY2Ug
c291cmNlLCBGZXRjaE9wdGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29y
a2Vyc01vZGUgc2VydmljZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xp
ZW50LCBTdHJpbmcmJiB0YXNrTW9kZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIg
Y2xpZW50SWRlbnRpZmllcikKIHsKICAgICBtX2NsaWVudCA9ICZjbGllbnQ7CiAgICAgbV91cmwg
PSBzY3JpcHRSZXF1ZXN0LnVybCgpOwpAQCAtMTQyLDggKzE0OCwxNyBAQCB2b2lkIFdvcmtlclNj
cmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNj
cmlwdEV4ZWN1dAogICAgIC8vIEEgc2VydmljZSB3b3JrZXIgam9iIGNhbiBiZSBleGVjdXRlZCBm
cm9tIGEgd29ya2VyIGNvbnRleHQgb3IgYSBkb2N1bWVudCBjb250ZXh0LgogICAgIG9wdGlvbnMu
c2VydmljZVdvcmtlcnNNb2RlID0gc2VydmljZVdvcmtlck1vZGU7CiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQotICAgIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCi0gICAgICAgIG9wdGlvbnMuc2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyLT5y
ZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7CisgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBz
aGFyZWQgd29ya2VyLgorICAgIGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OldvcmtlcikgeworICAgICAgICBBU1NFUlQoY2xpZW50SWRlbnRpZmllcik7Cisg
ICAgICAgIC8vIEluIGNhc2Ugb2YgYmxvYiBVUkxzLCB3ZSByZXVzZSB0aGUgZG9jdW1lbnQgY29u
dHJvbGxpbmcgc2VydmljZSB3b3JrZXIuCisgICAgICAgIGlmIChyZXF1ZXN0LT51cmwoKS5wcm90
b2NvbElzQmxvYigpICYmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZlU2VydmljZVdvcmtl
cigpKQorICAgICAgICAgICAgc2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3Jr
ZXJEYXRhIHsgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCktPmRh
dGEoKSB9KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBvcHRpb25zLmNsaWVudElkZW50
aWZpZXIgPSBtX2NsaWVudElkZW50aWZpZXIgPSBjbGllbnRJZGVudGlmaWVyOworICAgICAgICAg
ICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlwdExvYWRlck1h
cCgpLmFkZChtX2NsaWVudElkZW50aWZpZXIsIHRoaXMpOworICAgICAgICB9CisgICAgfQogI2Vu
ZGlmCiAKICAgICAvLyBEdXJpbmcgY3JlYXRlLCBjYWxsYmFja3MgbWF5IGhhcHBlbiB3aGljaCBy
ZW1vdmUgdGhlIGxhc3QgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0LgpAQCAtMjk4LDQgKzMxMywy
MCBAQCBXb3JrZXJGZXRjaFJlc3VsdCBXb3JrZXJTY3JpcHRMb2FkZXI6OmZldGNoUmVzdWx0KCkg
Y29uc3QKICAgICByZXR1cm4geyBzY3JpcHQoKSwgbGFzdFJlcXVlc3RVUkwoKSwgY2VydGlmaWNh
dGVJbmZvKCksIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLCBjcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5KCksIHJlZmVycmVyUG9saWN5KCksIHsgfSB9OwogfQogCitXb3JrZXJTY3JpcHRMb2FkZXIq
IFdvcmtlclNjcmlwdExvYWRlcjo6ZnJvbVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCit7CisgICAgcmV0
dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Xb3JrZXJTY3JpcHRMb2FkZXJN
YXAoKS5nZXQoaWRlbnRpZmllcik7Cit9CisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiti
b29sIFdvcmtlclNjcmlwdExvYWRlcjo6c2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFNlcnZp
Y2VXb3JrZXJEYXRhJiYgYWN0aXZlU2VydmljZVdvcmtlckRhdGEpCit7CisgICAgaWYgKCFtX2Ns
aWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgbV9hY3RpdmVTZXJ2aWNlV29ya2Vy
RGF0YSA9IFdURk1vdmUoYWN0aXZlU2VydmljZVdvcmtlckRhdGEpOworICAgIHJldHVybiB0cnVl
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IDU5YWNhOTYyOTIwNDVjNzI1MGRlMjYz
NmU5YTkyOTExYzY2NTcwMTUuLmI2OGIwMjRkNjEzYWUxZGYyZTVhNDk1MWY1MDk4OWFkNjk2MGVl
NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAt
MzQsNiArMzQsOCBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJl
c291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTY3JpcHRCdWZmZXIuaCIKKyNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlci5oIgogI2lu
Y2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDxtZW1vcnk+CkBAIC00
OSw2ICs1MSw3IEBAIGNsYXNzIEV4Y2VwdGlvbjsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVy
Q2xpZW50Oworc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOwogc3RydWN0IFdv
cmtlckZldGNoUmVzdWx0OwogZW51bSBjbGFzcyBDZXJ0aWZpY2F0ZUluZm9Qb2xpY3kgOiB1aW50
OF90OwogCkBAIC02Myw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIFNvdXJjZSA6
IHVpbnQ4X3QgeyBDbGFzc2ljV29ya2VyU2NyaXB0LCBDbGFzc2ljV29ya2VySW1wb3J0LCBNb2R1
bGVTY3JpcHQgfTsKIAogICAgIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBsb2FkU3luY2hyb25v
dXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgVVJMJiwgU291cmNlLCBGZXRjaE9w
dGlvbnM6Ok1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUsIENvbnRlbnRTZWN1cml0eVBvbGljeUVu
Zm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpOwotICAgIHZvaWQg
bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVl
c3QmJiwgU291cmNlLCBGZXRjaE9wdGlvbnMmJiwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50JiwgU3Ry
aW5nJiYgdGFza01vZGUpOworICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgU291cmNlLCBGZXRjaE9wdGlvbnMmJiwg
Q29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSwgV29y
a2VyU2NyaXB0TG9hZGVyQ2xpZW50JiwgU3RyaW5nJiYgdGFza01vZGUsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIgPSB7IH0pOwogCiAgICAgdm9pZCBu
b3RpZnlFcnJvcigpOwogCkBAIC05NCw2ICs5NywxMyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgUmVzb3VyY2VFcnJvciB2YWxpZGF0ZVdvcmtlclJlc3BvbnNlKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmLCBTb3VyY2UsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24pOwog
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFdvcmtlclNjcmlwdExvYWRlciogZnJvbVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyKTsKKworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIHNldENvbnRyb2xsaW5nU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyRGF0YSYmKTsKKyAg
ICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiB0YWtlU2VydmljZVdvcmtlckRhdGEo
KSB7IHJldHVybiBzdGQ6OmV4Y2hhbmdlKG1fYWN0aXZlU2VydmljZVdvcmtlckRhdGEsIHsgfSk7
IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBSZWZDb3VudGVkPFdvcmtl
clNjcmlwdExvYWRlcj47CiAgICAgZnJpZW5kIHN0cnVjdCBzdGQ6OmRlZmF1bHRfZGVsZXRlPFdv
cmtlclNjcmlwdExvYWRlcj47CkBAIC0xMjUsNiArMTM1LDEwIEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2lzQ09FUEVuYWJsZWQgeyBmYWxzZSB9OwogICAgIFJlc291cmNlUmVzcG9uc2U6OlNvdXJj
ZSBtX3Jlc3BvbnNlU291cmNlIHsgUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpVbmtub3duIH07
CiAgICAgUmVzb3VyY2VFcnJvciBtX2Vycm9yOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyIG1fY2xpZW50SWRlbnRpZmllcjsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gbV9hY3RpdmVTZXJ2aWNlV29y
a2VyRGF0YTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IDVhMGZlMTg3YzZmMWI1Njk4NmM0ZGQ5
MDcxNjUyOGRkZDlkYjJiN2YuLjBlNmMzYTA0NzI2ZDZkZjUxOGU3YTIzZDUyMzQ5MTBiZGVhZDRm
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTY0LDYgKzY0
LDEwIEBAIFdvcmtlclBhcmFtZXRlcnMgV29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5KCkg
Y29uc3QKICAgICAgICAgc2V0dGluZ3NWYWx1ZXMuaXNvbGF0ZWRDb3B5KCksCiAgICAgICAgIHdv
cmtlclRocmVhZE1vZGUsCiAgICAgICAgIHNlc3Npb25JRCwKKyNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCisgICAgICAgIGNyb3NzVGhyZWFkQ29weShzZXJ2aWNlV29ya2VyRGF0YSksCisjZW5k
aWYKKyAgICAgICAgY2xpZW50SWQKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJUaHJlYWQuaAppbmRleCBkYzk3NzRlOTJlN2YxZWU2OGZmNGRmNTJmYjk1ZWU1NGNmMDQxYzY3
Li4xNTUyMTI4NDk5ODFjYWFiNDE5NDQ4NGVkNDI2N2EyMDU4NjM0NzllIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKQEAgLTI5LDYgKzI5LDggQEAKICNpbmNsdWRlICJDcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5LmgiCiAjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0Q3JlZGVudGlh
bHMuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25QZXJtaXNzaW9uLmgiCisjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFRocmVhZC5oIgog
I2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKICNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCkBAIC03
Niw2ICs3OCwxMCBAQCBwdWJsaWM6CiAgICAgU2V0dGluZ3M6OlZhbHVlcyBzZXR0aW5nc1ZhbHVl
czsKICAgICBXb3JrZXJUaHJlYWRNb2RlIHdvcmtlclRocmVhZE1vZGUgeyBXb3JrZXJUaHJlYWRN
b2RlOjpDcmVhdGVOZXdUaHJlYWQgfTsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6U2Vzc2lvbklE
PiBzZXNzaW9uSUQgeyBzdGQ6Om51bGxvcHQgfTsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gc2VydmljZVdvcmtlckRhdGE7
CisjZW5kaWYKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBjbGllbnRJZDsK
IAogICAgIFdvcmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNw
cAppbmRleCA5OGMxODg2YWQ0MjgzMDE4ZmY1MzNkNGFkZjBmMDY1MDUxMmZjZTY3Li4zZmM5N2M1
ZGQ2ZTNkMmMzY2Q4MGJmMGVlNDM0Y2U3MTYyZjNlMTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMjMzLDE0
ICsyMzMsMTMgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246Om5vdGlmeUNsaWVudHNPZkNvbnRy
b2xsZXJDaGFuZ2UoY29uc3QgSGFzaFNldDxTY3JpcHRFeGUKICAgICBBU1NFUlQoIWNvbnRleHRJ
ZGVudGlmaWVycy5pc0VtcHR5KCkpOwogCiAgICAgZm9yIChhdXRvJiBjbGllbnRJZGVudGlmaWVy
IDogY29udGV4dElkZW50aWZpZXJzKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHdvcmtl
ciBjb250ZXh0cy4KLSAgICAgICAgYXV0byogY2xpZW50ID0gRG9jdW1lbnQ6OmFsbERvY3VtZW50
c01hcCgpLmdldChjbGllbnRJZGVudGlmaWVyKTsKLSAgICAgICAgaWYgKCFjbGllbnQpCisgICAg
ICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS5nZXQo
Y2xpZW50SWRlbnRpZmllcikpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LT5zZXRBY3RpdmVTZXJ2
aWNlV29ya2VyKFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKCpkb2N1bWVudCwgV1RGTW92ZShu
ZXdDb250cm9sbGVyKSkpOworICAgICAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGRvY3Vt
ZW50LT5zZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkpCisgICAgICAgICAgICAgICAgY29udGFpbmVy
LT5xdWV1ZVRhc2tUb0Rpc3BhdGNoQ29udHJvbGxlckNoYW5nZUV2ZW50KCk7CiAgICAgICAgICAg
ICBjb250aW51ZTsKLQotICAgICAgICBjbGllbnQtPnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIoU2Vy
dmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoKmNsaWVudCwgV1RGTW92ZShuZXdDb250cm9sbGVyKSkp
OwotICAgICAgICBpZiAoYXV0byogY29udGFpbmVyID0gY2xpZW50LT5zZXJ2aWNlV29ya2VyQ29u
dGFpbmVyKCkpCi0gICAgICAgICAgICBjb250YWluZXItPnF1ZXVlVGFza1RvRGlzcGF0Y2hDb250
cm9sbGVyQ2hhbmdlRXZlbnQoKTsKKyAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTogQWRkIHdv
cmtlciBzdXBwb3J0LgogICAgIH0KIH0KIApAQCAtMjYxLDEwICsyNjAsMTEgQEAgdm9pZCBTV0Ns
aWVudENvbm5lY3Rpb246OmNsZWFyUGVuZGluZ0pvYnMoKQogCiB2b2lkIFNXQ2xpZW50Q29ubmVj
dGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50cygpCiB7Ci0gICAgZm9yIChhdXRvKiBk
b2N1bWVudCA6IERvY3VtZW50OjphbGxEb2N1bWVudHMoKSkgewotICAgICAgICBhdXRvIGNvbnRy
b2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBkb2N1bWVudC0+YWN0
aXZlU2VydmljZVdvcmtlcigpID8gc3RkOjptYWtlX29wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JZGVudGlmaWVyPihkb2N1bWVudC0+YWN0aXZlU2VydmljZVdvcmtlcigpLT5yZWdp
c3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OwotICAgICAgICByZWdpc3RlclNl
cnZpY2VXb3JrZXJDbGllbnQoZG9jdW1lbnQtPnRvcE9yaWdpbigpLCBTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YTo6ZnJvbSgqZG9jdW1lbnQpLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyLCBkb2N1bWVudC0+dXNlckFnZW50KGRvY3VtZW50LT51cmwoKSkpOwot
ICAgIH0KKyAgICBmb3IgKGF1dG8qIGRvY3VtZW50IDogRG9jdW1lbnQ6OmFsbERvY3VtZW50cygp
KQorICAgICAgICBkb2N1bWVudC0+dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKKwor
ICAgIFNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5mb3JFYWNoU2hhcmVk
V29ya2VyKFtdIHsgcmV0dXJuIFtdIChhdXRvJiBjb250ZXh0KSB7IGNvbnRleHQudXBkYXRlU2Vy
dmljZVdvcmtlckNsaWVudERhdGEoKTsgfTsgfSk7CisgICAgV29ya2VyOjpmb3JFYWNoV29ya2Vy
KFtdIHsgcmV0dXJuIFtdIChhdXRvJiBjb250ZXh0KSB7IGNvbnRleHQudXBkYXRlU2VydmljZVdv
cmtlckNsaWVudERhdGEoKTsgfTsgfSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCmluZGV4IDlm
MDEwM2Y1MDcwYTAwY2E4MTljNGU3NmE3Y2RiYWI5MWE0ZDYxNjUuLmNlNzE3NDFhMjI1ZjRkNWY5
MzY3OTZhYjM3NDE4OGRkZTRhYzI5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaApAQCAtNzAsNiArNzAsOCBAQCBwdWJsaWM6CiAgICAgdXNp
bmcgUmVmQ291bnRlZDo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwogCisgICAg
Y29uc3QgU2VydmljZVdvcmtlckRhdGEmIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0K
KwogcHJpdmF0ZToKICAgICBTZXJ2aWNlV29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBT
ZXJ2aWNlV29ya2VyRGF0YSYmKTsKICAgICB2b2lkIHVwZGF0ZVBlbmRpbmdBY3Rpdml0eUZvckV2
ZW50RGlzcGF0Y2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwCmluZGV4IDFmMWNjMGYzZDQ5ZjFhMDJm
NmNlODgwNTcwZDc5MzY1MjVjMmIyMGIuLjYyNGFjMjlkYTJkMDNkMjU3OGI3Yjc0MjRhYzZmZGE1
ZjYyYTQzNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcApAQCAtNjksMzAgKzY5LDQ0IEBAIFNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjppc29sYXRlZENvcHko
KSAmJgogCiBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6
ZnJvbShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogewotICAgIGJvb2wgaXNEb2N1
bWVudCA9IGlzPERvY3VtZW50Pihjb250ZXh0KTsKLSAgICBSRUxFQVNFX0FTU0VSVChpc0RvY3Vt
ZW50KTsgLy8gV2UgZG8gbm90IHN1cHBvcnQgZGVkaWNhdGVkIHdvcmtlcnMgYXMgY2xpZW50cyB5
ZXQuCisgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0KSkgeworICAgICAgICBhdXRvJiBkb2N1
bWVudCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KTsKKyAgICAgICAgYXV0byBsYXN0TmF2
aWdhdGlvbldhc0FwcEluaXRpYXRlZCA9IGRvY3VtZW50LmxvYWRlcigpICYmIGRvY3VtZW50Lmxv
YWRlcigpLT5sYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCgpID8gTGFzdE5hdmlnYXRpb25X
YXNBcHBJbml0aWF0ZWQ6OlllcyA6IExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpObzsK
IAotICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpOwotICAg
IGF1dG8gbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQgPSBkb2N1bWVudC5sb2FkZXIoKSAm
JiBkb2N1bWVudC5sb2FkZXIoKS0+bGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQoKSA/IExh
c3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBMYXN0TmF2aWdhdGlvbldhc0FwcElu
aXRpYXRlZDo6Tm87CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IGFuY2VzdG9yT3JpZ2luczsKKyAg
ICAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkgeworICAgICAgICAgICAg
Zm9yIChhdXRvKiBhbmNlc3RvciA9IGZyYW1lLT50cmVlKCkucGFyZW50KCk7IGFuY2VzdG9yOyBh
bmNlc3RvciA9IGFuY2VzdG9yLT50cmVlKCkucGFyZW50KCkpCisgICAgICAgICAgICAgICAgYW5j
ZXN0b3JPcmlnaW5zLmFwcGVuZChhbmNlc3Rvci0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4o
KS50b1N0cmluZygpKTsKKyAgICAgICAgfQogCi0gICAgVmVjdG9yPFN0cmluZz4gYW5jZXN0b3JP
cmlnaW5zOwotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpIHsKLSAgICAg
ICAgZm9yIChhdXRvKiBhbmNlc3RvciA9IGZyYW1lLT50cmVlKCkucGFyZW50KCk7IGFuY2VzdG9y
OyBhbmNlc3RvciA9IGFuY2VzdG9yLT50cmVlKCkucGFyZW50KCkpCi0gICAgICAgICAgICBhbmNl
c3Rvck9yaWdpbnMuYXBwZW5kKGFuY2VzdG9yLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigp
LnRvU3RyaW5nKCkpOworICAgICAgICByZXR1cm4geworICAgICAgICAgICAgY29udGV4dC5pZGVu
dGlmaWVyKCksCisgICAgICAgICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V2luZG93LAor
ICAgICAgICAgICAgdG9TZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlKGNvbnRleHQpLAorICAg
ICAgICAgICAgZG9jdW1lbnQuY3JlYXRpb25VUkwoKSwKKyAgICAgICAgICAgIGRvY3VtZW50LnBh
Z2VJRCgpLAorICAgICAgICAgICAgZG9jdW1lbnQuZnJhbWVJRCgpLAorICAgICAgICAgICAgbGFz
dE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQsCisgICAgICAgICAgICAhZG9jdW1lbnQuaGlkZGVu
KCksCisgICAgICAgICAgICBkb2N1bWVudC5oYXNGb2N1cygpLAorICAgICAgICAgICAgMCwKKyAg
ICAgICAgICAgIFdURk1vdmUoYW5jZXN0b3JPcmlnaW5zKQorICAgICAgICB9OwogICAgIH0KIAor
ICAgIGF1dG8mIHNjb3BlID0gZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpOwog
ICAgIHJldHVybiB7Ci0gICAgICAgIGNvbnRleHQuaWRlbnRpZmllcigpLAotICAgICAgICBpc0Rv
Y3VtZW50ID8gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdyA6IFNlcnZpY2VXb3JrZXJD
bGllbnRUeXBlOjpXb3JrZXIsCi0gICAgICAgIHRvU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlw
ZShjb250ZXh0KSwKLSAgICAgICAgZG9jdW1lbnQuY3JlYXRpb25VUkwoKSwKLSAgICAgICAgZG9j
dW1lbnQucGFnZUlEKCksCi0gICAgICAgIGRvY3VtZW50LmZyYW1lSUQoKSwKLSAgICAgICAgbGFz
dE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQsCi0gICAgICAgICFkb2N1bWVudC5oaWRkZW4oKSwK
LSAgICAgICAgZG9jdW1lbnQuaGFzRm9jdXMoKSwKKyAgICAgICAgc2NvcGUuaWRlbnRpZmllcigp
LAorICAgICAgICBzY29wZS50eXBlKCkgPT0gV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OlR5
cGU6OlNoYXJlZFdvcmtlciA/IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpTaGFyZWR3b3JrZXIg
OiBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyLAorICAgICAgICBTZXJ2aWNlV29ya2Vy
Q2xpZW50RnJhbWVUeXBlOjpOb25lLAorICAgICAgICBzY29wZS51cmwoKSwKKyAgICAgICAgeyB9
LAorICAgICAgICB7IH0sCisgICAgICAgIExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpO
bywKKyAgICAgICAgZmFsc2UsCisgICAgICAgIGZhbHNlLAogICAgICAgICAwLAotICAgICAgICBX
VEZNb3ZlKGFuY2VzdG9yT3JpZ2lucykKKyAgICAgICAgeyB9CiAgICAgfTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRU
eXBlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVu
dFR5cGUuaAppbmRleCA4NjQ0Yjg3MmE2NDAzODkwY2RlNDU3M2Y0YjM3MmI3NWMzOThiYmUwLi41
NTliYjAzNWU5MGMyMjg0NmYyMzliNmRmMGU1ZWZmNGQ0YjA3MTA5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUu
aApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gY2xhc3Mg
U2VydmljZVdvcmtlckNsaWVudFR5cGUgeworZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyQ2xpZW50
VHlwZSA6IHVpbnQ4X3QgewogICAgIFdpbmRvdywKICAgICBXb3JrZXIsCiAgICAgU2hhcmVkd29y
a2VyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IGFiNGY1YTJjZjM1MzAwZDI5M2I3N2UzOTRmMzg0
ZjhjNzhlZGFiYTYuLmUwMGM3NjRiZWMxODUyZjIwZGU0ZmI0MWI2M2E3M2M3ODM3NWY0YzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkNvbnRlbnRT
ZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgorI2luY2x1ZGUg
IkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TG9vcC5oIgpAQCAtMTMyLDcgKzEzMyw3
IEBAIGF1dG8gU2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVhZHkoKSAtPiBSZWFkeVByb21pc2Um
CiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpjb250cm9sbGVyKCkgY29u
c3QKIHsKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAg
IEFTU0VSVF9XSVRIX01FU1NBR0UoIWNvbnRleHQgfHwgaXM8RG9jdW1lbnQ+KCpjb250ZXh0KSB8
fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpLCAiT25seSBkb2N1bWVudHMgY2FuIGhh
dmUgYSBjb250cm9sbGVyIGF0IHRoZSBtb21lbnQuIik7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FH
RSghY29udGV4dCB8fCBpczxEb2N1bWVudD4oKmNvbnRleHQpIHx8IGlzPERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlPigqY29udGV4dCkgfHwgIWNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIo
KSwgIk9ubHkgZG9jdW1lbnRzIGFuYmQgZGVkaWNhdGVkIHdvcmtlcnMgY2FuIGhhdmUgYSBjb250
cm9sbGVyIGF0IHRoZSBtb21lbnQuIik7CiAgICAgcmV0dXJuIGNvbnRleHQgPyBjb250ZXh0LT5h
Y3RpdmVTZXJ2aWNlV29ya2VyKCkgOiBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJl
YWQuY3BwCmluZGV4IDlmODJlZWQ2MzEyODllNTBjYzdiZGUxOWJiZmFkNDM5NTgzZmY1NzYuLmEx
NmRmYzRhMjJkYjAyMzU2MjBhN2I5ZjdlOWM3OGQxOTdiYjkwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJUaHJlYWQuY3BwCkBAIC05NSw3ICs5NSw5IEBAIHN0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdl
bmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmCiAg
ICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpPbWl0LAogICAgICAgICBzZXR0aW5nc1Zh
bHVlcywKICAgICAgICAgd29ya2VyVGhyZWFkTW9kZSwKLSAgICAgICAgc2Vzc2lvbklECisgICAg
ICAgIHNlc3Npb25JRCwKKyAgICAgICAgeyB9LAorICAgICAgICB7IH0KICAgICB9OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
CmluZGV4IDdjMzY0MmZlMzM4MWM5NmE5NGQxNTVjYzQ3YWFiZTljZTg1NmI3ZDcuLmY3NzA4Mzcx
ZTAzN2I1NzgxMjQ1NTVlZWFmNjg3ZGE2MTI2ZjdlOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCkBAIC0xMzcyLDcgKzEzNzIs
OCBAQCB2b2lkIFNXU2VydmVyOjpwcm9jZXNzTm90aWZpY2F0aW9uRXZlbnQoTm90aWZpY2F0aW9u
RGF0YSYmIGRhdGEsIE5vdGlmaWNhdGlvbkV2ZQogICAgICAgICAgICAgICAgIHdvcmtlci0+ZGVj
cmVtZW50RnVuY3Rpb25hbEV2ZW50Q291bnRlcigpOwogICAgICAgICAgICAgfSk7CiAgICAgICAg
ICAgICB0ZXJtaW5hdGVXb3JrZXJUaW1lci0+c3RhcnRPbmVTaG90KHdlYWtUaGlzICYmIHdlYWtU
aGlzLT5tX2lzUHJvY2Vzc1Rlcm1pbmF0aW9uRGVsYXlFbmFibGVkID8gZGVmYXVsdFRlcm1pbmF0
aW9uRGVsYXkgOiBkZWZhdWx0RnVuY3Rpb25hbEV2ZW50RHVyYXRpb24pOwotICAgICAgICAgICAg
Y29ubmVjdGlvbk9yU3RhdHVzLnZhbHVlKCktPmZpcmVOb3RpZmljYXRpb25FdmVudChzZXJ2aWNl
V29ya2VySWRlbnRpZmllciwgZGF0YSwgdHlwZSwgW3Rlcm1pbmF0ZVdvcmtlclRpbWVyID0gV1RG
TW92ZSh0ZXJtaW5hdGVXb3JrZXJUaW1lciksIHdvcmtlciA9IFdURk1vdmUod29ya2VyKV0oYm9v
bCAvKiBzdWNjZWVkZWQgKi8pIG11dGFibGUgeworICAgICAgICAgICAgY29ubmVjdGlvbk9yU3Rh
dHVzLnZhbHVlKCktPmZpcmVOb3RpZmljYXRpb25FdmVudChzZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgZGF0YSwgdHlwZSwgW3Rlcm1pbmF0ZVdvcmtlclRpbWVyID0gV1RGTW92ZSh0ZXJtaW5hdGVX
b3JrZXJUaW1lciksIHdvcmtlciA9IFdURk1vdmUod29ya2VyKV0oYm9vbCBzdWNjZWVkZWQpIG11
dGFibGUgeworICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGKHN1Y2NlZWRlZCwg
U2VydmljZVdvcmtlciwgIlNlcnZpY2UgV29ya2VyIG5vdGlmaWNhdGlvbiBldmVudCBoYW5kbGVy
IGRpZCBub3Qgc3VjY2VlZCIpOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBpZiBzdWNjZWVk
ZWQgaXMgZmFsc2UsIHNob3VsZCB3ZSBpbXBsZW1lbnQgYSBkZWZhdWx0IGFjdGlvbiBsaWtlIG9w
ZW5pbmcgYSBuZXcgcGFnZT8KICAgICAgICAgICAgICAgICBpZiAodGVybWluYXRlV29ya2VyVGlt
ZXItPmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgd29ya2VyLT5kZWNyZW1lbnRG
dW5jdGlvbmFsRXZlbnRDb3VudGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IGYyNWM3OWQyODE1
MGM5ZjVlZjllYTI4ZGYwMzU1ODI3NjRkNDU3MWQuLjcxY2I0YjY1YmM5OTVjNTVjYmVmYjAxYTM5
ZWMyZDE2MTNmMjgxYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVk
L1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
OwogY2xhc3MgU2hhcmVkV29ya2VyOwogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyOwogc3RydWN0
IFdvcmtlckZldGNoUmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
aGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcAppbmRl
eCAzNTQ3ZDY3N2U4ZWFhZjZjY2U1NzlmYzIwY2NjZTlhOGY4YTU1NWUwLi4zMzcxODQzNGIwOTVl
MTg2NDBiODM3MGRhNWViMzYxNzljYjc0MmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFBy
b3h5LmNwcApAQCAtNTcsNyArNTcsNyBAQCBzdGF0aWMgSGFzaFNldDxTaGFyZWRXb3JrZXJUaHJl
YWRQcm94eSo+JiBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkKIAogc3RhdGljIFdvcmtl
clBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdvcmtlckZldGNoUmVz
dWx0JiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7Ci0gICAgcmV0dXJu
IFdvcmtlclBhcmFtZXRlcnMgeworICAgIHJldHVybiB7CiAgICAgICAgIHdvcmtlckZldGNoUmVz
dWx0Lmxhc3RSZXF1ZXN0VVJMLAogICAgICAgICB3b3JrZXJPcHRpb25zLm5hbWUsCiAgICAgICAg
ICJzaGFyZWR3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJ
ZGVudGlmaWVyKCksCkBAIC03MCw3ICs3MCwxMyBAQCBzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBn
ZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlcgog
ICAgICAgICBwYXJzZVJlZmVycmVyUG9saWN5KHdvcmtlckZldGNoUmVzdWx0LnJlZmVycmVyUG9s
aWN5LCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikudmFsdWVfb3IoUmVmZXJyZXJQ
b2xpY3k6OkVtcHR5U3RyaW5nKSwKICAgICAgICAgd29ya2VyT3B0aW9ucy50eXBlLAogICAgICAg
ICB3b3JrZXJPcHRpb25zLmNyZWRlbnRpYWxzLAotICAgICAgICBkb2N1bWVudC5zZXR0aW5nc1Zh
bHVlcygpCisgICAgICAgIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCksCisgICAgICAgIFdvcmtl
clRocmVhZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCwKKyAgICAgICAgeyB9LAorI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKKyAgICAgICAgeyB9LAorI2VuZGlmCisgICAgICAgIHsgfQogICAgIH07
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcAppbmRleCA5ZGQyOTA3ZGM4YTM2ZThlNDQxYjhkOWM2ZWQwOWNlZjg2
YTkwZDk3Li5lZDczZjBhNzEyMjZmNWJlZjM4MmMwZmNiNmQxYzlmZGZmZDg2NDdjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC0xMjIwLDcgKzEyMjAsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
Y29udGludWVXaWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdAogICAg
IExPQURFUl9SRUxFQVNFX0xPRygiY29udGludWVXaWxsU2VuZFJlcXVlc3Q6IChpc0FsbG93ZWRU
b0Fza1VzZXJGb3JDcmVkZW50aWFscz0lZCkiLCBpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50
aWFscyk7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKHBhcmFtZXRlcnMo
KS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkgeworICAgIGlm
IChwYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdh
dGUgfHwgKHBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6
RGVzdGluYXRpb246OldvcmtlciAmJiBtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7CiAgICAg
ICAgIG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiA9IHsgfTsKICAgICAgICAgaWYgKGF1dG8g
c2VydmljZVdvcmtlckZldGNoVGFzayA9IG1fY29ubmVjdGlvbi0+Y3JlYXRlRmV0Y2hUYXNrKCp0
aGlzLCBuZXdSZXF1ZXN0KSkgewogICAgICAgICAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250
aW51ZVdpbGxTZW5kUmVxdWVzdDogQ3JlYXRlZCBhIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgdG8g
aGFuZGxlIHRoZSByZWRpcmVjdCAoZmV0Y2hJZGVudGlmaWVyPSUiIFBSSXU2NCAiKSIsIHNlcnZp
Y2VXb3JrZXJGZXRjaFRhc2stPmZldGNoSWRlbnRpZmllcigpLnRvVUludDY0KCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VX
b3JrZXJGZXRjaFRhc2suY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwCmluZGV4IDBiMzQ4OWRkZWNhY2Q1ZWJk
YjU5MDZmYjNmN2VmMzkyNTZmNGM5OTEuLmEwMTJjZWQ5YzNiNjczMDY3NGUxYzMyYjJjZDA2Yzk5
MmRkYTYyYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vydmlj
ZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAKQEAg
LTE1Myw3ICsxNTMsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OnN0YXJ0RmV0Y2go
KQogICAgIGNsZWFuSFRUUFJlcXVlc3RIZWFkZXJzRm9yQWNjZXNzQ29udHJvbChyZXF1ZXN0LCBt
X2xvYWRlci5wYXJhbWV0ZXJzKCkuaHR0cEhlYWRlcnNUb0tlZXApOwogCiAgICAgU3RyaW5nIGNs
aWVudElkZW50aWZpZXI7Ci0gICAgaWYgKG1fbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1v
ZGUgIT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkgeworICAgIGlmIChtX2xvYWRlci5w
YXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlICE9IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUg
JiYgbV9sb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gIT0gRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSB7CiAgICAgICAgIGlmIChhdXRvIGlkZW50aWZpZXIg
PSBtX2xvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5jbGllbnRJZGVudGlmaWVyKQogICAgICAg
ICAgICAgY2xpZW50SWRlbnRpZmllciA9IGlkZW50aWZpZXItPnRvU3RyaW5nKCk7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBkYjlkMWIyNzQ0ODY5
YzcwYzc2YTkzN2RkNDU4MGI4MzE4OWQ2NmE5Li5iM2RkNGE1MjgyMDkyNGQ5MDEyNDkxMzcxN2Zi
YjIwMjVhZjU1MzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApA
QCAtMTY2LDE4ICsxNjYsMjQgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVdv
cmtlclN0YXRlSW5DbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIgd28KIAogdm9pZCBXZWJT
V1NlcnZlckNvbm5lY3Rpb246OmNvbnRyb2xDbGllbnQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9h
ZFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRp
b24sIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKKyAgICBTZXJ2aWNlV29ya2Vy
Q2xpZW50VHlwZSBjbGllbnRUeXBlOworICAgIGlmIChwYXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGlu
YXRpb24gID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikKKyAgICAgICAgY2xp
ZW50VHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXb3JrZXI7CisgICAgZWxzZQorICAg
ICAgICBjbGllbnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdzsKKwogICAg
IGF1dG8gY2xpZW50SWRlbnRpZmllciA9ICpwYXJhbWV0ZXJzLm9wdGlvbnMuY2xpZW50SWRlbnRp
ZmllcjsKICAgICAvLyBBcyBwZXIgc3RlcCAxMiBvZiBodHRwczovL3czYy5naXRodWIuaW8vU2Vy
dmljZVdvcmtlci8jb24tZmV0Y2gtcmVxdWVzdC1hbGdvcml0aG0sIHRoZSBhY3RpdmUgc2Vydmlj
ZSB3b3JrZXIgc2hvdWxkIGJlIGNvbnRyb2xsaW5nIHRoZSBkb2N1bWVudC4KICAgICAvLyBXZSBy
ZWdpc3RlciB0aGUgc2VydmljZSB3b3JrZXIgY2xpZW50IHVzaW5nIHRoZSBpZGVudGlmaWVyIHBy
b3ZpZGVkIGJ5IERvY3VtZW50TG9hZGVyIGFuZCBub3RpZnkgRG9jdW1lbnRMb2FkZXIgYWJvdXQg
aXQuCiAgICAgLy8gSWYgbm90aWZpY2F0aW9uIGlzIHN1Y2Nlc3NmdWwsIERvY3VtZW50TG9hZGVy
IGlzIHJlc3BvbnNpYmxlIHRvIHVucmVnaXN0ZXIgdGhlIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBh
cyBuZWVkZWQuCi0gICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJTV0NsaWVudENv
bm5lY3Rpb246OlNldERvY3VtZW50SXNDb250cm9sbGVkIHsgY2xpZW50SWRlbnRpZmllciwgcmVn
aXN0cmF0aW9uLmRhdGEoKSB9LCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgdGhpcywg
Y2xpZW50SWRlbnRpZmllcl0oYm9vbCBpc1N1Y2Nlc3MpIHsKKyAgICBzZW5kV2l0aEFzeW5jUmVw
bHkoTWVzc2FnZXM6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6U2V0U2VydmljZVdvcmtlckNsaWVu
dElzQ29udHJvbGxlZCB7IGNsaWVudElkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCkgfSwg
W3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHRoaXMsIGNsaWVudElkZW50aWZpZXJdKGJv
b2wgaXNTdWNjZXNzKSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMgfHwgaXNTdWNjZXNzKQogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChj
bGllbnRJZGVudGlmaWVyKTsKICAgICB9KTsKIAogICAgIGF1dG8gYW5jZXN0b3JPcmlnaW5zID0g
bWFwKHBhcmFtZXRlcnMuZnJhbWVBbmNlc3Rvck9yaWdpbnMsIFtdKGF1dG8mIG9yaWdpbikgeyBy
ZXR1cm4gb3JpZ2luLT50b1N0cmluZygpOyB9KTsKLSAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YSBkYXRhIHsgY2xpZW50SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRv
dywgU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6Tm9uZSwgcmVxdWVzdC51cmwoKSwgcGFy
YW1ldGVycy53ZWJQYWdlSUQsIHBhcmFtZXRlcnMud2ViRnJhbWVJRCwgcmVxdWVzdC5pc0FwcElu
aXRpYXRlZCgpID8gV2ViQ29yZTo6TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6
IFdlYkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpObywgZmFsc2UsIGZhbHNl
LCAwLCBXVEZNb3ZlKGFuY2VzdG9yT3JpZ2lucykgfTsKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YSBkYXRhIHsgY2xpZW50SWRlbnRpZmllciwgY2xpZW50VHlwZSwgU2VydmljZVdvcmtlckNs
aWVudEZyYW1lVHlwZTo6Tm9uZSwgcmVxdWVzdC51cmwoKSwgcGFyYW1ldGVycy53ZWJQYWdlSUQs
IHBhcmFtZXRlcnMud2ViRnJhbWVJRCwgcmVxdWVzdC5pc0FwcEluaXRpYXRlZCgpID8gV2ViQ29y
ZTo6TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdlYkNvcmU6Okxhc3ROYXZp
Z2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpObywgZmFsc2UsIGZhbHNlLCAwLCBXVEZNb3ZlKGFuY2Vz
dG9yT3JpZ2lucykgfTsKICAgICByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2VjdXJpdHlP
cmlnaW5EYXRhIHsgcmVnaXN0cmF0aW9uLmtleSgpLnRvcE9yaWdpbigpIH0sIFdURk1vdmUoZGF0
YSksIHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0cFVzZXJBZ2VudCgpKTsK
IH0KIApAQCAtMTk1LDcgKzIwMSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxTZXJ2aWNlV29ya2VyRmV0
Y2hUYXNrPiBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmNyZWF0ZUZldGNoVGFzayhOCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcj4gc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI7Ci0g
ICAgaWYgKGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6
TW9kZTo6TmF2aWdhdGUpIHsKKyAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1v
ZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygp
Lm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2Vy
KSB7CiAgICAgICAgIGF1dG8gdG9wT3JpZ2luID0gbG9hZGVyLnBhcmFtZXRlcnMoKS5pc01haW5G
cmFtZU5hdmlnYXRpb24gPyBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwocmVxdWVzdC51cmwo
KSkgOiBsb2FkZXIucGFyYW1ldGVycygpLnRvcE9yaWdpbi0+ZGF0YSgpOwogICAgICAgICBhdXRv
KiByZWdpc3RyYXRpb24gPSBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKHRvcE9yaWdpbiwgcmVxdWVz
dC51cmwoKSk7CiAgICAgICAgIGlmICghcmVnaXN0cmF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IDBj
YmZlOGU2NTk2YzA5M2EwM2ZhYjc2ODM1NzI5M2JkODAwMmI0ZTQuLjQ2ZjJkOTk2MTBmOWU0NTlm
YTdkZmQwZGUyZjkyZjRjMjkzODg4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTQ2MCwxMyArNDYwLDYg
QEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5ldHdvcmtQcm9jZXNz
KFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUwKICAgICAgICAgZm9yIChhdXRvKiBmcmFtZSA9IHJl
c291cmNlTG9hZGVyLmZyYW1lKCktPnRyZWUoKS5wYXJlbnQoKTsgZnJhbWU7IGZyYW1lID0gZnJh
bWUtPnRyZWUoKS5wYXJlbnQoKSkKICAgICAgICAgICAgIGZyYW1lQW5jZXN0b3JPcmlnaW5zLmFw
cGVuZCgmZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpOwogICAgICAgICBsb2Fk
UGFyYW1ldGVycy5mcmFtZUFuY2VzdG9yT3JpZ2lucyA9IFdURk1vdmUoZnJhbWVBbmNlc3Rvck9y
aWdpbnMpOwotCi0jaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgICAgICBpZiAoYXV0byog
ZG9jdW1lbnRMb2FkZXIgPSByZXNvdXJjZUxvYWRlci5kb2N1bWVudExvYWRlcigpKSB7Ci0gICAg
ICAgICAgICBpZiAoYXV0byByZXN1bHRpbmdDbGllbnRJZCA9IHN0YXRpY19jYXN0PFdlYkRvY3Vt
ZW50TG9hZGVyJj4oKmRvY3VtZW50TG9hZGVyKS5yZXN1bHRpbmdDbGllbnRJZCgpKQotICAgICAg
ICAgICAgICAgIGxvYWRQYXJhbWV0ZXJzLm9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IHJlc3Vs
dGluZ0NsaWVudElkOwotICAgICAgICB9Ci0jZW5kaWYKICAgICB9CiAKICAgICBBU1NFUlQoKGxv
YWRQYXJhbWV0ZXJzLndlYlBhZ2VJRCAmJiBsb2FkUGFyYW1ldGVycy53ZWJGcmFtZUlEKSB8fCBs
b2FkUGFyYW1ldGVycy5jbGllbnRDcmVkZW50aWFsUG9saWN5ID09IENsaWVudENyZWRlbnRpYWxQ
b2xpY3k6OkNhbm5vdEFza0NsaWVudEZvckNyZWRlbnRpYWxzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
CmluZGV4IGQ5M2IzNGQ2OGZhOTk1YWE0MWIwN2JjMGVkMzUyYjc2ZTc5N2M1ZjAuLjE3ODBjYWM3
YjZhNzc3YmYxM2Y4MjMyNDU3ZTU0ZDM5MTE1ZWRjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjIgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01
Myw2ICs1Myw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VyRmV0Y2hSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL1dvcmtlclNjcmlwdExvYWRlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5h
bWVzcGFjZSBQQUw7CkBAIC0xODAsMTEgKzE4MSwxOCBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6d2hlblJlZ2lzdHJhdGlvblJlYWR5KGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9w
TwogICAgIH0pOwogfQogCi12b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0RG9jdW1lbnRJ
c0NvbnRyb2xsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgZG9jdW1lbnRJZGVu
dGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIGRhdGEsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlNXQ2xpZW50
Q29ubmVjdGlvbjo6c2V0U2VydmljZVdvcmtlckNsaWVudElzQ29udHJvbGxlZChTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGF0YSYmIGRhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7Ci0gICAgYXV0byogZG9jdW1lbnRMb2FkZXIgPSBEb2N1bWVudExvYWRlcjo6
ZnJvbVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKGRvY3VtZW50SWRlbnRpZmllcik7
Ci0gICAgYm9vbCByZXN1bHQgPSBkb2N1bWVudExvYWRlciA/IGRvY3VtZW50TG9hZGVyLT5zZXRD
b250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oV1RGTW92ZShkYXRhKSkgOiBmYWxz
ZTsKLSAgICBjb21wbGV0aW9uSGFuZGxlcihyZXN1bHQpOworICAgIGlmIChhdXRvKiBsb2FkZXIg
PSBEb2N1bWVudExvYWRlcjo6ZnJvbVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKGlk
ZW50aWZpZXIpKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGxvYWRlci0+c2V0Q29udHJv
bGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFdURk1vdmUoZGF0YSkpKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmZyb21TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcihpZGVudGlmaWVyKSkgewor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihkYXRhLmFjdGl2ZVdvcmtlciA/IGxvYWRlci0+c2V0
Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFdURk1vdmUoKmRhdGEuYWN0aXZlV29ya2VyKSkgOiBm
YWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY29tcGxldGlvbkhhbmRsZXIoZmFs
c2UpOwogfQogCiB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyhT
ZWN1cml0eU9yaWdpbkRhdGEmJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBHZXRS
ZWdpc3RyYXRpb25zQ2FsbGJhY2smJiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggMzc3
MTkxMjk2MjNjZTc1ODg0ZmNlYmEyM2IxNzA2ZDA2YTMxODRmYS4uNjIyZmMwOGYzMTQ1OGQ2ZTJm
ODU1YTkyYmYxNzRjMDI2MTA1OGU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTgyLDcgKzgyLDgg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZEdldFJlZ2lzdHJhdGlvbnModWludDY0X3QgbWF0Y2hS
ZXF1ZXN0SWRlbnRpZmllciwgVmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhPiYmKTsKICAgICB2b2lkIHdoZW5SZWdpc3RyYXRpb25SZWFkeShjb25zdCBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIFdo
ZW5SZWdpc3RyYXRpb25SZWFkeUNhbGxiYWNrJiYpIGZpbmFsOwogCi0gICAgdm9pZCBzZXREb2N1
bWVudElzQ29udHJvbGxlZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
ciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChib29sKT4mJik7CisgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXND
b250cm9sbGVkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPiYmKTsKKyAgICB2b2lkIHNldFdvcmtlcklzQ29udHJvbGxlZChXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGEmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAKICAg
ICB2b2lkIGdldFJlZ2lzdHJhdGlvbnMoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9w
T3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgR2V0UmVnaXN0cmF0aW9uc0NhbGxiYWNrJiYp
IGZpbmFsOwogICAgIHZvaWQgd2hlblNlcnZpY2VXb3JrZXJJc1Rlcm1pbmF0ZWRGb3JUZXN0aW5n
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDIx
ZGI1NjRiN2M4MmI1ZGFlNzk1MTQyNzMzNGE3Y2VkODE4MDk0NjEuLjkyNWE3YzViODYyNWIzZGIy
ZjAwZmE2MTExZmNmMzgzYjIxNjYzODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4KQEAgLTM4LDcgKzM4LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dDbGllbnRDb25uZWN0aW9u
IHsKICAgICBTZXRTV09yaWdpblRhYmxlU2hhcmVkTWVtb3J5KFdlYktpdDo6U2hhcmVkTWVtb3J5
OjpJUENIYW5kbGUgaGFuZGxlKQogICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50
KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGRlc3RpbmF0aW9uQ29u
dGV4dElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyBt
ZXNzYWdlLCBzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGEgc291cmNlLCBTdHJpbmcg
c291cmNlT3JpZ2luKQogCi0gICAgU2V0RG9jdW1lbnRJc0NvbnRyb2xsZWQoV2ViQ29yZTo6U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgdGVtcG9yYXJ5RG9jdW1lbnRJZGVudGlmaWVy
LCBzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgZGF0YSkgLT4g
KGJvb2wgaXNTdWNjZXNzKQorICAgIFNldFNlcnZpY2VXb3JrZXJDbGllbnRJc0NvbnRyb2xsZWQo
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgd29ya2VySWRlbnRpZmll
ciwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIGRhdGEpIC0+
IChib29sIGlzU3VjY2VzcykKIAogICAgIEZvY3VzU2VydmljZVdvcmtlckNsaWVudChXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKSAtPiAo
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4gcmVzdWx0KQog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGIxZWY1NGE5OGY0ZDRkZjgzZjIzMzZlNzRlYjM0YTVjZGI0NjA1NDUuLjg5OTJj
NWQ0YjU3MzE0ZWIxZTk0YmM5ZGE3MTNhNGFjNTBkMjFkZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAyMi0wNC0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50
IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA2NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3
b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVk
LXdvcmtlci5qczogQWRkZWQuCisKIDIwMjItMDQtMTEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIGZhc3QvdGV4dC9vdHN2Zy1jYW52YXMu
aHRtbCBtb3JlIHJvYnVzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNmUxOTc3
NDJjM2U2YjhkOWI4MWU3MTQ2MDExMmQyYWVjMDkyMjU5Zi4uN2M5YWRkMDZmMTRhNDExYjA5NTcx
ZTVlNTk3NmU3OTMwMTVmODNjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjItMDQtMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5k
IGltcGxlbWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkwNjYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVy
aXQtY29udHJvbGxlci5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0
dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6
CisKIDIwMjItMDQtMTEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIFVwZGF0ZSBjb250YWluZXIgc2hvcnRoYW5kIG9y
ZGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0M2I5ZjJiNWQ0ZTBjYWUyNWExYThiNzViZWYzMTk0
MDU3NzM0ODM4Li5kMWNhYjY4MWI3ZmRiYjliMWNkMTAwNzdlNDZlNDYxOGZjMzVlMWVjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTM2OSw3ICszNjksNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFp
bgogd2Via2l0Lm9yZy9iLzIwMTY2NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8t
d2l0aC1yYW5nZS1yZXF1ZXN0Lmh0dHBzLmh0bWwgWyBTa2lwIF0KIAogIyBOZXdseSBpbXBvcnRl
ZCBzZXJ2aWNlIHdvcmtlciB0ZXN0cyB0aGF0IGFyZSBmbGFreS4KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1jbGll
bnQtaWQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbm90LWFsbG93
ZWQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wZXJmb3JtYW5jZS10aW1lbGlu
ZS5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNhdGVkd29ya2VyLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250
cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVl
YjRhZTNhNGU4NzhlMWNjYmYyNTNlNDRjNGQ2OGEyZjc4MTUxZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLWRlZGljYXRl
ZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgUmVnaXN0
ZXIgc2VydmljZSB3b3JrZXIKK1BBU1MgVmVyaWZ5IGRlZGljYXRlZCB3b3JrZXIgaXMgY29udHJv
bGxlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMv
Y29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM2ZTA2ZjgxNzUzOThjYmRlYmQ4NmQ1MWI2ZTdjNjU3Y2VjNDMyNmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29u
dHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgY29uc3QgcmVnaXN0cmF0
aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInNraXBGZXRjaEV2
ZW50LXdvcmtlci5qcyIsIHsgc2NvcGUgOiAncmVzb3VyY2VzJyB9KTsKKyAgICBhY3RpdmVXb3Jr
ZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOworICAgIGlmIChhY3RpdmVXb3JrZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGFjdGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOwor
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBhY3RpdmVXb3JrZXIu
YWRkRXZlbnRMaXN0ZW5lcignc3RhdGVjaGFuZ2UnLCAoKSA9PiB7CisgICAgICAgICAgICBpZiAo
YWN0aXZlV29ya2VyLnN0YXRlID09PSAiYWN0aXZhdGVkIikKKyAgICAgICAgICAgICAgICByZXNv
bHZlKCk7CisgICAgICAgIH0pOworICAgIH0pOworfSwgIlJlZ2lzdGVyIHNlcnZpY2Ugd29ya2Vy
Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHdvcmtlciA9IG5ldyBX
b3JrZXIoJ3Jlc291cmNlcy9jb250cm9sbGVkLXdvcmtlci5qcycpOworICAgIGNvbnN0IGV2ZW50
ID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0gcmVzb2x2
ZSk7CisgICAgYXNzZXJ0X3RydWUoZXZlbnQuZGF0YS5pc0NvbnRyb2xsZWQpOworfSwgIlZlcmlm
eSBkZWRpY2F0ZWQgd29ya2VyIGlzIGNvbnRyb2xsZWQiKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJz
L3Jlc291cmNlcy9jb250cm9sbGVkLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3Nl
cnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC13b3JrZXIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjMxMmFjMzNjZTEzOGI0MTlkMGYxM2NjZjE5ZGM1Njg4YTAxNWVkMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJv
bGxlZC13b3JrZXIuanMKQEAgLTAsMCArMSBAQAorc2VsZi5wb3N0TWVzc2FnZSh7IGlzQ29udHJv
bGxlZCA6ICEhbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXIuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJv
bGxlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMmQ1ODRlMTBkZDBlY2FmMDA5MWJiOGUwYTk1
Y2Y3YzY2ZjJhNmYyZi4uYjMzOWY5ODg0M2Q1Y2U0MTljYTlmY2RhNzk4YWJkNWM4ZGNhYmUxNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxl
ci5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWlu
aGVyaXQtY29udHJvbGxlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsOSArMSw5IEBACiAKIFBB
U1MgU2FtZS1vcmlnaW4gYmxvYiBVUkwgaWZyYW1lIHNob3VsZCBpbmhlcml0IHNlcnZpY2Ugd29y
a2VyIGNvbnRyb2xsZXIuCiBQQVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJMIGlmcmFtZSBzaG91bGQg
aW50ZXJjZXB0IGZldGNoKCkuCi1GQUlMIFNhbWUtb3JpZ2luIGJsb2IgVVJMIHdvcmtlciBzaG91
bGQgaW5oZXJpdCBzZXJ2aWNlIHdvcmtlciBjb250cm9sbGVyLiBhc3NlcnRfZXF1YWxzOiBibG9i
IFVSTCB3b3JrZXIgc2hvdWxkIGluaGVyaXQgY29udHJvbGxlciBleHBlY3RlZCAoc3RyaW5nKSAi
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXItd29ya2VyLmpzIiBidXQgZ290IChv
YmplY3QpIG51bGwKK1BBU1MgU2FtZS1vcmlnaW4gYmxvYiBVUkwgd29ya2VyIHNob3VsZCBpbmhl
cml0IHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZXIuCiBQQVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJM
IHdvcmtlciBzaG91bGQgaW50ZXJjZXB0IGZldGNoKCkuCiBQQVNTIERhdGEgVVJMIGlmcmFtZSBz
aG91bGQgbm90IGludGVyY2VwdCBmZXRjaCgpLgogRkFJTCBEYXRhIFVSTCB3b3JrZXIgc2hvdWxk
IG5vdCBpbmhlcml0IHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZXIuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxl
cicpIgotRkFJTCBEYXRhIFVSTCB3b3JrZXIgc2hvdWxkIG5vdCBpbnRlcmNlcHQgZmV0Y2goKS4g
YXNzZXJ0X2VxdWFsczogZGF0YSBVUkwgd29ya2VyIHNob3VsZCBub3QgaW50ZXJjZXB0IGZldGNo
IGV4cGVjdGVkICIiIGJ1dCBnb3QgImludGVyY2VwdGVkIgorUEFTUyBEYXRhIFVSTCB3b3JrZXIg
c2hvdWxkIG5vdCBpbnRlcmNlcHQgZmV0Y2goKS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBhMGM5Y2E0NDVl
YTA3ODg2NzQ0NzI0YzMyMTUyZmY0MTlhODQ1N2Q3Li40ZTZiZjE3OGY5MDZkZjhiNWMxNTQ0NDJh
M2Y1NjJlYzdhYTg1Y2JiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xp
ZW50LWlkLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXIt
Y2xpZW50LWlkLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBWZXJp
Znkgd29ya2VycyBoYXZlIGEgdW5pcXVlIGNsaWVudCBpZCBzZXBhcmF0ZSBmcm9tIHRoZWlyIG93
bmluZyBkb2N1bWVudHMgd2luZG93IGFzc2VydF9ub3RfZXF1YWxzOiBmcmFtZSBhbmQgd29ya2Vy
IGNsaWVudCBpZHMgc2hvdWxkIGJlIGRpZmZlcmVudCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiMmM0
Zjc5MzYtOWM3Ni00ZWQ0LWI4ZTUtMGIxMGVjMmJlYTQyIgorUEFTUyBWZXJpZnkgd29ya2VycyBo
YXZlIGEgdW5pcXVlIGNsaWVudCBpZCBzZXBhcmF0ZSBmcm9tIHRoZWlyIG93bmluZyBkb2N1bWVu
dHMgd2luZG93CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNl
cHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29y
a2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjgzZmY3
YTdjMjA4YzIwZGIxNjliZmNlMGU4MGI3NWUxYmNiMzRmOS4uYmExNGVkZmUyMmNlMDkyYTdlOTUy
MTU3YzU0OGYwOTY1MGRhMGNkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2Vy
LWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTgsMjAgKzgsMjAgQEAgUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3Bl
IChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEt
Pm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlcikKIFBBU1MgQ2FzZSAjMjogbmV0d29y
ayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6
IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCi1GQUlMIENh
c2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikgYXNzZXJ0
X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBD
YXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlcikgYXNzZXJ0
X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBD
YXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCitQQVNT
IENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQogRkFJ
TCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2Vy
dF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwg
Q2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91
bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2Fz
ZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKSBhc3Nl
cnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlM
IENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKSBh
c3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQ
QVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtl
cikKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRX
b3JrZXIpCiBGQUlMIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJl
ZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQogRkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJl
ZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQogUEFTUyBjbGVhbnVwIGdsb2JhbCBzdGF0ZQotRkFJTCBDYXNlICMxOiBuZXR3b3Jr
IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhl
IHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUy
L2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBm
cm9tIG5ldHdvcmsgKHNjb3BlMi8pIgotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2Nv
cGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1
dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKK1BBU1MgQ2Fz
ZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGlt
cG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xh
c3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2Nv
cGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFT
UyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIg
KG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290
ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNTIENhc2UgIzE6
IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkp
CiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRX
b3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBGQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29w
ZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMt
ZWNoby5weSIgYnV0IGdvdCAiaW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20gbmV0d29yayAoc2Nv
cGUyLykiCiBGQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hh
cmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cx
IHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBz
aW1wbGUgdGV4dCBmaWxlIChzY29wZTIvKVxuIgpAQCAtMjksMTEgKzI5LDExIEBAIFBBU1MgQ2Fz
ZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0
aW9uLmhyZWYpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBT
aGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIEZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29w
ZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQi
IGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKIFBBU1Mg
Q2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9j
YXRpb24uaHJlZikKLUZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xh
c3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1
dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsiCi1GQUlMIENhc2UgIzI6
IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRj
aCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2gg
ZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKK1BB
U1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRX
b3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6
IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2Nh
dGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1
bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlMIENhc2UgIzI6IG5ldHdv
cmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRo
ZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBs
ZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgorUEFTUyBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBm
ZXRjaCgpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUg
RGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNj
b3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdv
cmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0LXNj
cmlwdHMtZWNoby5weSIgYnV0IGdvdCAiaW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20gbmV0d29y
ayIKIEZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFy
ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEg
c2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRl
eHQgZmlsZVxuIgpAQCAtNDEsNCArNDEsMTYgQEAgUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3Bl
MS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1Mg
Q2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwg
aW1wb3J0U2NyaXB0cygpKQogRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3Bl
IChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
ZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgp
OiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKK0ZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3Jp
cHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
dWJkaXIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAic3cyIHNhdyBpbXBvcnRTY3Jp
cHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvc2NvcGUyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiCitGQUlMIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBs
ZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBs
ZS50eHQiCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRl
ZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0X2VxdWFsczogbG9jYXRpb24uaHJlZiBleHBl
Y3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtl
ci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29y
a2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNlcHRpb25f
cmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAo
bW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorRkFJTCBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdv
cmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3Np
bXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdv
cmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3Np
bXBsZS50eHQiCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4
cGVjdGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29y
a2VyLnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3
b3JrZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlv
bl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkiCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNj
b3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNl
ICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNo
KCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRl
ZFdvcmtlciwgbG9jYXRpb24uaHJlZikKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2Nv
cGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAj
NDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkp
CitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29y
a2VyLCBsb2NhdGlvbi5ocmVmKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3Jr
ZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDhkNGNhNDliZDkzYjRj
OTY5MjIzMWUyZGVkYmUzMjM1OGY2YjBmYzguLjE2YzQzOTMzYmJiOTc1ZWNmNjYwZWU2N2VkMzYz
YWViNGI0ZjM4N2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNl
cHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1p
bnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDE1ICsxLDE1IEBACiAKLUZBSUwg
VmVyaWZ5IGEgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVu
Y29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIncyBvd24gc2Vydmlj
ZSB3b3JrZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1
bmRlZmluZWQKLUZBSUwgVmVyaWZ5IGFuIG91dC1vZi1zY29wZSBkZWRpY2F0ZWQgd29ya2VyIHNj
cmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgY29udHJvbGxlZCBkb2N1bWVudCBzaG91bGQgbm90
IGJlIGludGVyY2VwdGVkIGJ5IGRvY3VtZW50J3Mgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJ3b3JrZXIgbG9hZGluZyB3YXMgbm90IGludGVyY2VwdGVkIGJ5IHNlcnZp
Y2Ugd29ya2VyIiBidXQgZ290ICJ3b3JrZXIgbG9hZGluZyBpbnRlcmNlcHRlZCBieSBzZXJ2aWNl
IHdvcmtlciIKK1BBU1MgVmVyaWZ5IGEgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBp
c3N1ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3Jr
ZXIncyBvd24gc2VydmljZSB3b3JrZXIuCitQQVNTIFZlcmlmeSBhbiBvdXQtb2Ytc2NvcGUgZGVk
aWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRyb2xsZWQgZG9j
dW1lbnQgc2hvdWxkIG5vdCBiZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNlcnZpY2Ugd29y
a2VyLgogRkFJTCBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBm
cm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidzIG93
biBzZXJ2aWNlIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IHVuZGVmaW5lZAotRkFJTCBWZXJpZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2NyaXB0
IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgZGVkaWNh
dGVkIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IHVuZGVmaW5lZAorUEFTUyBWZXJpZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZl
ZCBieSBhIHNlcnZpY2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgZGVkaWNhdGVkIHdv
cmtlci4KIEZBSUwgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkg
YSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIHNoYXJlZCB3b3JrZXIuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmluZWQKLVBB
U1MgVmVyaWZ5IGEgY29ycyB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2Vy
IGZhaWxzIGRlZGljYXRlZCB3b3JrZXIgc3RhcnQuCitGQUlMIFZlcmlmeSBhIGNvcnMgd29ya2Vy
IHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2Vy
IHN0YXJ0LiBhc3NlcnRfZXF1YWxzOiBFeHBlY3RlZCBlcnJvciBldmVudCwgYnV0IGdvdCBtZXNz
YWdlIGV2ZW50IGluc3RlYWQgZXhwZWN0ZWQgImVycm9yIiBidXQgZ290ICJtZXNzYWdlIgogUEFT
UyBWZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIg
ZmFpbHMgc2hhcmVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1v
cmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRp
Y2F0ZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJpZnkgYSBuby1jb3JzIGNyb3NzLW9yaWdpbiB3
b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNoYXJlZCB3b3Jr
ZXIgc3RhcnQuCiBQQVNTIFJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIgZm9yIHdvcmtlciBzdWJy
ZXNvdXJjZSBpbnRlcmNlcHRpb24gdGVzdHMuCi1GQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVk
IHdvcmtlciBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3Qg
IntcImVycm9yXCI6IHtcImNvZGVcIjogNDA0LCBcIm1lc3NhZ2VcIjogXCI0MDRcIn19IgorUEFT
UyBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ug
d29ya2VyLgogRkFJTCBSZXF1ZXN0cyBvbiBhIHNoYXJlZCB3b3JrZXIgY29udHJvbGxlZCBieSBh
IHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBz
dWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJ7XCJlcnJvclwiOiB7XCJjb2RlXCI6
IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9fSIKIEZBSUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0
ZWQgd29ya2VyIG5lc3RlZCBpbiBhIGRlZGljYXRlZCB3b3JrZXIgYW5kIGNvbnRyb2xsZWQgYnkg
YSBzZXJ2aWNlIHdvcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBz
dWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJVbmV4cGVjdGVkIGVycm9yISBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIiCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdv
cmtlciBuZXN0ZWQgaW4gYSBzaGFyZWQgd29ya2VyIGFuZCBjb250cm9sbGVkIGJ5IGEgc2Vydmlj
ZSB3b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1
bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogV29ya2VyIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457344</attachid>
            <date>2022-04-12 10:50:28 -0700</date>
            <delta_ts>2022-04-12 10:52:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239066-20220412195026.patch</filename>
            <type>text/plain</type>
            <size>93273</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEzMjkxMDFkOWMwMDZj
NDFhZDBlYmVjNGM3NGJhNzc0NjA3ZTNmMy4uM2FmNDdhZDk0NjZiMzdlYmM4NzlhOTk1MGYxYTYy
NzdlYjNlODliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIyLTA0LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2Ugd29ya2VycyBh
cyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNo
aW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGV4cG9zaW5nIHdvcmtlcnMgKGRlZGlj
YXRlZCBhbmQgc2hhcmVkKSBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzLgorICAgICAgICBBZGQg
c3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgY29udHJvbGxpbmcgcmVnaXN0cmF0aW9uIGZvciBkZWRp
Y2F0ZWQgd29ya2VycworICAgICAgICAoYSBmb2xsb3ctdXAgcGF0Y2ggc2hvdWxkIGhhbmRsZSBz
aGFyZWQgd29ya2VycykuCisgICAgICAgIFRvIHByb3Blcmx5IGhhbmRsZSBsb2FkcyBjb21pbmcg
ZnJvbSBhIHdvcmtlciwgd2UgcHJvcGVybHkgc2V0IGNsaWVudElkZW50aWZpZXIgYW5kIHJlZ2lz
dHJhdGlvbiBpZGVudGlmaWVyCisgICAgICAgIGZyb20gdGhlIHdvcmtlciBjb250ZXh0LCBpbnN0
ZWFkIG9mIGZyb20gdGhlIHdvcmtlcidzIGRvY3VtZW50LgorCisgICAgICAgIFNtYWxsIHJlZmFj
dG9yaW5nIHRvIHBhc3MgYWRkaXRpb25hbCBkYXRhIHRvIHdvcmtlciB0aHJvdWdoIFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHNldCB0aGUgY29udGV4
dCBJRCBhbmQgY29udGV4dCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KKworICAgICAgICBB
ZGRpbmcgYSBzcGVjaWZpYyBjaGVjayBpbiBDYWNoZWRSZXNvdXJjZUxvYWRlciB0byBub3QgcmV1
c2UgdGhlIGNhY2hlIGluIGNhc2UgdGhlIHNlcnZpY2Ugd29ya2VyIG1vZGVzIGFyZSBkaWZmZXJl
bnQuCisgICAgICAgIEEgcG90ZW50aWFsIGlzc3VlIGlzIHRoYXQgdGhlIHNlcnZpY2Ugd29ya2Vy
cyBhcmUgdGhlIHNhbWUgKDApIGFzIG9uZSByZXF1ZXN0IGlzIHRoZSBtYWluIHJlcXVlc3QKKyAg
ICAgICAgYW5kIHRoZSBzZWNvbmQgcmVxdWVzdCBpcyB0aGUgcmVxdWVzdCB0cmlnZ2VyZWQgYnkg
c2VydmljZSB3b3JrZXIgdG8gYW5zd2VyIHRoZSBmaXJzdCByZXF1ZXN0LgorCisgICAgICAgIFBy
b3Blcmx5IHN1cHBvcnQgYmxvYiBVUkwgbWF0Y2hpbmcgZGlyZWN0bHkgaW4gV29ya2VyU2NyaXB0
TG9hZGVyIGZvciB3b3JrZXJzLgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy5odG1sCisKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICog
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9GZXRjaE9wdGlvbnMuaDoKKyAgICAgICAgKiBs
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5o
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0
YS5oOiBBZGRlZC4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2Ny
aXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rp
b24uY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmg6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vycy9z
aGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHA6CisKIDIwMjItMDQtMTEg
IFR5bGVyIFdpbGNvY2sgIDx0eWxlcl93QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogVXBkYXRl
IGlzb2xhdGVkIHRyZWUgaW4gcmVzcG9uc2UgdG8gQVhSZWFkT25seVN0YXR1c0NoYW5nZWQsIEFY
UmVxdWlyZWRTdGF0dXNDaGFuZ2VkLCBhbmQgQVhQcmVzc2VkU3RhdGVDaGFuZ2VkIG5vdGlmaWNh
dGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggNmUwNmQwZDc3N2M3NGFlZWUxOGZmOTE5NWVhMjBmODQ0ZjIzOTFi
YS4uY2I1OGZiY2QzMzNkZmMxZDE4NGE2YjE3YjA3ZDEwNzI4ZGU2ZTQxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNSBAQAorMjAyMi0wNC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBh
bmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA2Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldXNlIHRo
ZSBzYW1lIHN0cmF0ZWd5IGZvciBEZWRpY2F0ZWRXb3JrZXJzIGFzIGZvciBEb2N1bWVudHMgdG8g
bWF0Y2ggcmVnaXN0cmF0aW9ucyBhbmQgY29udHJvbCB0aGVuOgorICAgICAgICAtIERvIG1hdGNo
aW5nIGluIG5ldHdvcmsgcHJvY2VzcworICAgICAgICAtIElmIG1hdGNoaW5nLCBzZW5kIGEgbWVz
c2FnZSB0byBXZWJQcm9jZXNzIHRvIHNldCB0aGUgbWF0Y2hpbmcgcmVnaXN0cmF0aW9uIGRhdGEu
CisgICAgICAgIEFkZCBzcGVjaWZpYyBoYW5kbGluZyBmb3Igd29ya2VyIHJlZ2lzdHJhdGlvbiBy
ZW1hdGNoaW5nIGluIGNhc2Ugb2YgcmVkaXJlY3Rpb25zOgorICAgICAgICAtIElmIHJlZGlyZWN0
aW9uIGNvbWVzIGZyb20gc2VydmljZSB3b3JrZXIgKHZpYSByZXNwb25kV2l0aCksIGRvIHJlbWF0
Y2hpbmcuCisgICAgICAgIC0gSWYgcmVkaXJlY3Rpb24gY29tZXMgZnJvbSBuZXR3b3JrLCBkbyBu
b3QgZG8gcmVtYXRjaGluZy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9T
ZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKwogMjAyMi0wNC0xMSAgWmFu
IERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dLMl0gU2ltcGxp
ZnkgSVBDIGVuY29kaW5nLCBkZWNvZGluZyBvZiB0dXBsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggZjc0MzM4ZThkMzIyMjcwYTM4MGYyNDlh
NjQyZTRlYTBmOTIyODZlMS4uOWRlZGQwN2MzNmMwMDAxOGNmYTBlZjUxMmFiMzM1YjUyNTYzYTc5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAg
LTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNp
bmNsdWRlICJTZXJ2aWNlV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5j
bHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVCbG9iUmVn
aXN0cnkuaCIKQEAgLTExNyw2ICsxMTgsMTQgQEAgdm9pZCBGZXRjaExvYWRlcjo6c3RhcnQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXEKICAg
ICBpZiAob3B0aW9ucy5yZWZlcnJlclBvbGljeSA9PSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJp
bmcpCiAgICAgICAgIG9wdGlvbnMucmVmZXJyZXJQb2xpY3kgPSBjb250ZXh0LnJlZmVycmVyUG9s
aWN5KCk7CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKGF1dG8qIGFjdGl2
ZVNlcnZpY2VXb3JrZXIgPSBjb250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKKyAgICAgICAg
b3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZp
Y2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKKyAgICBlbHNlCisgICAgICAgIG9w
dGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gU2VydmljZVdvcmtlcnNNb2RlOjpOb25lOworI2Vu
ZGlmCisgICAgb3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gY29udGV4dC5pZGVudGlmaWVyKCk7
CisKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShjb250ZXh0LCAqdGhp
cywgV1RGTW92ZShmZXRjaFJlcXVlc3QpLCBvcHRpb25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CiAg
ICAgbV9pc1N0YXJ0ZWQgPSBtX2xvYWRlcjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2N2Q2Y2MxM2QyODJiNWViNzM3MjNi
OThmMzZjNTM3YjdlM2EyNjFhLi5hZGMyYmYyOTRjMmUyOWY2MDlhOTBmMmM3MDM0ZTUxNmI2NjQ5
ZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xMDY1LDYgKzEwNjUsNyBAQAogCQkzRkY4MTNBNzFEQkE4NjQwMDA5QkYwMDEg
LyogUG9pbnRlckxvY2tDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1Q0ZDNDM0RjE5MjQwNkE5MDBBMEQzQjUgLyogUG9pbnRlckxvY2tD
b250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNDEwNzkwOEMxRkMzRjAzMzAwNjFCMjdBIC8qIENsaWVudE9yaWdpbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwNzkwOEExRkMzRTRGMjAw
NjFCMjdBIC8qIENsaWVudE9yaWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQxMEJDRjU2MjZGMENEOEMwMDQwQjEyNCAvKiBSVENMb2NhbFNl
c3Npb25EZXNjcmlwdGlvbkluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxMEJDRjUzMjZGMENEOEIwMDQwQjEyNCAvKiBSVENMb2NhbFNlc3Npb25E
ZXNjcmlwdGlvbkluaXQuaCAqLzsgfTsKKwkJNDEwQzQ4QTcyODA0MjBGODAwODREMTA0IC8qIFdv
cmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDEwQzQ4QTYyODA0MjBGMjAwODREMTA0IC8qIFdvcmtlckluaXRpYWxp
emF0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQxMEU0NDYxMjM0MzczRTkwMDAxNzNENCAvKiBMaWJXZWJSVENTb2NrZXRJZGVudGlm
aWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTBF
NDQ1RjIzNDM3M0FEMDAwMTczRDQgLyogTGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMTAwQzgwMjNG
NzQ1ODMwMDFCQzMzQiAvKiBXZWJTb2NrZXRDaGFubmVsSW5zcGVjdG9yLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEwMEM3RTIzRjczOTgyMDAxQkMz
M0IgLyogV2ViU29ja2V0Q2hhbm5lbEluc3BlY3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMTAzQUFDMUUzOTc5MTAwMDc2OUYwMyAvKiBS
ZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTAzQUE4MUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2UuaCAqLzsgfTsKQEAgLTEzNTMsNyArMTM1NCw3IEBACiAJCTQ2NzJB
QTk5MjZCMDk0M0YwMEU2RUMzOCAvKiBDcm9zc09yaWdpbk9wZW5lclBvbGljeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3MkFBOTcyNkIwOTQyMTAw
RTZFQzM4IC8qIENyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDY3MzAyMDIxQzRFRkU3ODAwQkNCMzU3IC8q
IElnbm9yZU9wZW5zRHVyaW5nVW5sb2FkQ291bnRJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3MzAyMDExQzRFRkU2NjAwQkNCMzU3
IC8qIElnbm9yZU9wZW5zRHVyaW5nVW5sb2FkQ291bnRJbmNyZW1lbnRlci5oICovOyB9OwogCQk0
NjdBNjhENzI3NUVBOTkxMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFkLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENDI3NUVBOThCMDA5
QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDY3QTY4RDgyNzVFQTk5NTAwOUIzMUM1IC8qIFNoYXJl
ZFdvcmtlclNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDY3QTY4RDUyNzVFQTk4QzAwOUIzMUM1IC8qIFNoYXJlZFdvcmtlclNjcmlw
dExvYWRlci5oICovOyB9OworCQk0NjdBNjhEODI3NUVBOTk1MDA5QjMxQzUgLyogU2hhcmVkV29y
a2VyU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjdBNjhENTI3NUVBOThDMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDY3QTY4RDkyNzVFQTk5ODAwOUIzMUM1IC8qIFNoYXJlZFdvcmtlclRocmVhZFByb3h5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENjI3NUVB
OThDMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjgyRDIwMDFGNzk3ODMwMDBDODYz
REIgLyogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2ODJEMUZGMUY3OTc4MjMwMEM4NjNEQiAvKiBTdG9yZWRD
cmVkZW50aWFsc1BvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTQ2ODM0NEUwMUVEREZBQUEwMEI3Nzk1QiAvKiBET01SZWN0TGlzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY4MzQ0REUxRURE
RkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg1NjYsNiArODU2Nyw3IEBACiAJCTQxMEJBMTMxMjU3
MEZFNTcwMDJFMkY4QSAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJs
ZUZyYW1lLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJh
bWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBCQ0Y1MzI2RjBDRDhCMDA0
MEIxMjQgLyogUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBCQ0Y1NTI2RjBDRDhDMDA0MEIxMjQgLyogUlRD
TG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBS
VENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0MTBDNDhBNjI4MDQyMEYyMDA4NEQxMDQgLyogV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlckluaXRpYWxpemF0
aW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBFNDQ1RjIzNDM3M0FE
MDAwMTczRDQgLyogTGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg7IHBhdGggPSBsaWJ3
ZWJydGMvTGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTBGNTY1NTI0RkNGNzA1MDBBMkU1MEMgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
SW5pdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5p
dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEY1NjU3MjRGQ0Y3QzcwMEEy
RTUwQyAvKiBSVENJY2VDYW5kaWRhdGVJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBS
VENJY2VDYW5kaWRhdGVJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIw
OTQ0LDYgKzIwOTQ2LDcgQEAKIAkJCQkyRTQzNDYzNzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2Vy
R2xvYmFsU2NvcGUuaCAqLywKIAkJCQkyRTQzNDYzODBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2Vy
R2xvYmFsU2NvcGUuaWRsICovLAogCQkJCTJFNDM0NjM5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3Jr
ZXJHbG9iYWxTY29wZVByb3h5LmggKi8sCisJCQkJNDEwQzQ4QTYyODA0MjBGMjAwODREMTA0IC8q
IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oICovLAogCQkJCUE1NEEwQzY5MURCODMxRjEwMDE3
QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JQcm94eS5jcHAgKi8sCiAJCQkJQTU0QTBDNkExREI4MzFG
MjAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvclByb3h5LmggKi8sCiAJCQkJMThGODMxQjcwRkQ0
OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5LmggKi8sCkBAIC0zODM0Miw2ICszODM0
NSw3IEBACiAJCQkJQTdENkIzNDkwRjYxMTA0NTAwRkY5RkQxIC8qIFdvcmtlckZvbnRMb2FkUmVx
dWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NDkwRjU0NkE4MjAwQjBGMUJBIC8qIFdv
cmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0QjBGNTQ2QTgyMDBC
MEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEw
QzQ4QTcyODA0MjBGODAwODREMTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTU0QTBDNjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzZDMURCODMxRjkwMDE3QTkw
QiAvKiBXb3JrZXJJbnNwZWN0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMThGODMxQjgw
RkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKaW5kZXggYjY4NTI1ZDljMmI5NzNlZjc1MTVkMDY2ZWIxNmFjMzFkZmRj
NDI0Mi4uMTA0MWQxNmJjZDI4M2VhNjhjYTI0ZGNiZWE4ZTk0Zjk5YWQ2ZWRiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKQEAgLTE1NjgsNyArMTU2OCw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKICAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKFNXQ2xp
ZW50Q29ubmVjdGlvbiopOwotICAgIHZvaWQgdXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEo
KTsKKyAgICB2b2lkIHVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkgZmluYWw7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBuYXZpZ2F0ZUZyb21TZXJ2aWNlV29ya2VyKGNvbnN0IFVSTCYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IDNmZmM1ZmRlMDViN2QzMGIx
MjAyMWM1OTAzN2EwOWQ3YTY0NDE0YWUuLmMyM2VmZDA0MjViODZmYjQ0NjljYzM0M2EwMzIyOGI4
OGNlMjZkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aApAQCAtMjg5LDYgKzI4OSw3IEBAIHB1YmxpYzoKIAogICAgIFNlcnZpY2VXb3JrZXJDb250YWlu
ZXIqIHNlcnZpY2VXb3JrZXJDb250YWluZXIoKTsKICAgICBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
KiBlbnN1cmVTZXJ2aWNlV29ya2VyQ29udGFpbmVyKCk7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0
ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogI2Vu
ZGlmCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgcG9zdFRhc2tUbyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllciwgVGFzayYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgYm9vbCBlbnN1cmVPbkNvbnRleHRUaHJlYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIsIFRhc2smJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApp
bmRleCA1NTY4MmQwZTQ3Y2Y4YWFlNzdmNDk3ODM0MTc5M2EzNWQ1NTQwYWMxLi40MTY5N2Y1MzBm
MWVlY2FkMGMyN2YzYTRlZTJkYzkwOTNmNzAyMjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKQEAgLTIxNDAsNiArMjE0MCw3IEBAIHZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OmxvYWRNYWluUmVzb3VyY2UoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkKICAgICAgICAg
bV9yZXN1bHRpbmdDbGllbnRJZCA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyOjpn
ZW5lcmF0ZSgpOwogICAgICAgICBBU1NFUlQoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyVG9Mb2FkZXJNYXAoKS5jb250YWlucyhtX3Jlc3VsdGluZ0NsaWVudElkKSk7CiAgICAgICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Mb2FkZXJNYXAoKS5hZGQobV9yZXN1
bHRpbmdDbGllbnRJZCwgdGhpcyk7CisgICAgICAgIG1haW5SZXNvdXJjZUxvYWRPcHRpb25zLmNs
aWVudElkZW50aWZpZXIgPSBtX3Jlc3VsdGluZ0NsaWVudElkOwogICAgIH0KICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgKaW5kZXggNWFjZTAxNWJkNWVmNzI5M2I2MGVh
MWU2YTZkZTFlOGNmODFlODlhZS4uMzk1ZGYwNDZkNDZhNWQ1YmQ4NTY2N2VmMGQ3YjJjZDQ0OTMz
NThhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaApAQCAtNDQsOSArNDQsOSBA
QCBzdHJ1Y3QgRmV0Y2hPcHRpb25zIHsKICAgICBlbnVtIGNsYXNzIFJlZGlyZWN0IDogdWludDhf
dCB7IEZvbGxvdywgRXJyb3IsIE1hbnVhbCB9OwogCiAgICAgRmV0Y2hPcHRpb25zKCkgPSBkZWZh
dWx0OwotICAgIEZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiwgTW9kZSwgQ3JlZGVudGlhbHMsIENh
Y2hlLCBSZWRpcmVjdCwgUmVmZXJyZXJQb2xpY3ksIFN0cmluZyYmLCBib29sKTsKLSAgICBGZXRj
aE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29uc3QgJiB7IHJldHVybiB7IGRlc3RpbmF0aW9uLCBt
b2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGljeSwgaW50ZWdy
aXR5Lmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUgfTsgfQotICAgIEZldGNoT3B0aW9ucyBpc29s
YXRlZENvcHkoKSAmJiB7IHJldHVybiB7IGRlc3RpbmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywg
Y2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGljeSwgV1RGTW92ZShpbnRlZ3JpdHkpLmlzb2xh
dGVkQ29weSgpLCBrZWVwQWxpdmUgfTsgfQorICAgIEZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiwg
TW9kZSwgQ3JlZGVudGlhbHMsIENhY2hlLCBSZWRpcmVjdCwgUmVmZXJyZXJQb2xpY3ksIFN0cmlu
ZyYmLCBib29sLCBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
Pik7CisgICAgRmV0Y2hPcHRpb25zIGlzb2xhdGVkQ29weSgpIGNvbnN0ICYgeyByZXR1cm4geyBk
ZXN0aW5hdGlvbiwgbW9kZSwgY3JlZGVudGlhbHMsIGNhY2hlLCByZWRpcmVjdCwgcmVmZXJyZXJQ
b2xpY3ksIGludGVncml0eS5pc29sYXRlZENvcHkoKSwga2VlcEFsaXZlLCBjbGllbnRJZGVudGlm
aWVyIH07IH0KKyAgICBGZXRjaE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgJiYgeyByZXR1cm4geyBk
ZXN0aW5hdGlvbiwgbW9kZSwgY3JlZGVudGlhbHMsIGNhY2hlLCByZWRpcmVjdCwgcmVmZXJyZXJQ
b2xpY3ksIFdURk1vdmUoaW50ZWdyaXR5KS5pc29sYXRlZENvcHkoKSwga2VlcEFsaXZlLCBjbGll
bnRJZGVudGlmaWVyIH07IH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlUGVyc2lzdGVudChFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZVBlcnNpc3RlbnQoRGVjb2Rl
ciYsIEZldGNoT3B0aW9ucyYpOwpAQCAtNTksMjAgKzU5LDIxIEBAIHN0cnVjdCBGZXRjaE9wdGlv
bnMgewogICAgIENhY2hlIGNhY2hlIHsgQ2FjaGU6OkRlZmF1bHQgfTsKICAgICBSZWRpcmVjdCBy
ZWRpcmVjdCB7IFJlZGlyZWN0OjpGb2xsb3cgfTsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJl
clBvbGljeSB7IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyB9OwotICAgIGJvb2wga2VlcEFs
aXZlIHsgZmFsc2UgfTsKICAgICBTdHJpbmcgaW50ZWdyaXR5OworICAgIGJvb2wga2VlcEFsaXZl
IHsgZmFsc2UgfTsKICAgICBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyPiBjbGllbnRJZGVudGlmaWVyOwogfTsKIAotaW5saW5lIEZldGNoT3B0aW9uczo6RmV0
Y2hPcHRpb25zKERlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLCBNb2RlIG1vZGUsIENyZWRlbnRpYWxz
IGNyZWRlbnRpYWxzLCBDYWNoZSBjYWNoZSwgUmVkaXJlY3QgcmVkaXJlY3QsIFJlZmVycmVyUG9s
aWN5IHJlZmVycmVyUG9saWN5LCBTdHJpbmcmJiBpbnRlZ3JpdHksIGJvb2wga2VlcEFsaXZlKQor
aW5saW5lIEZldGNoT3B0aW9uczo6RmV0Y2hPcHRpb25zKERlc3RpbmF0aW9uIGRlc3RpbmF0aW9u
LCBNb2RlIG1vZGUsIENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDYWNoZSBjYWNoZSwgUmVkaXJl
Y3QgcmVkaXJlY3QsIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBTdHJpbmcmJiBpbnRl
Z3JpdHksIGJvb2wga2VlcEFsaXZlLCBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlmaWVyKQogICAgIDogZGVzdGluYXRpb24oZGVzdGlu
YXRpb24pCiAgICAgLCBtb2RlKG1vZGUpCiAgICAgLCBjcmVkZW50aWFscyhjcmVkZW50aWFscykK
ICAgICAsIGNhY2hlKGNhY2hlKQogICAgICwgcmVkaXJlY3QocmVkaXJlY3QpCiAgICAgLCByZWZl
cnJlclBvbGljeShyZWZlcnJlclBvbGljeSkKLSAgICAsIGtlZXBBbGl2ZShrZWVwQWxpdmUpCiAg
ICAgLCBpbnRlZ3JpdHkoV1RGTW92ZShpbnRlZ3JpdHkpKQorICAgICwga2VlcEFsaXZlKGtlZXBB
bGl2ZSkKKyAgICAsIGNsaWVudElkZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDU5Y2RjYzJl
YzRjNDhjMWFlYmY0ZTdiZjgxZTIyMDFhZDEwMjUyNDQuLmI1ZGQ0ZWY2YWE5ODFkNjNjNTQ4NGE0
MWVhZjU0YzY5ZjFmNGNlZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJl
YWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5jcHAKQEAgLTc3LDYgKzc3LDggQEAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgVGhyZWFk
YWJsZUxvYWRlck9wdGlvbnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgY29weS5yZWRpcmVj
dCA9IHRoaXMtPnJlZGlyZWN0OwogICAgIGNvcHkucmVmZXJyZXJQb2xpY3kgPSB0aGlzLT5yZWZl
cnJlclBvbGljeTsKICAgICBjb3B5LmludGVncml0eSA9IHRoaXMtPmludGVncml0eS5pc29sYXRl
ZENvcHkoKTsKKyAgICBjb3B5LmtlZXBBbGl2ZSA9IHRoaXMtPmtlZXBBbGl2ZTsKKyAgICBjb3B5
LmNsaWVudElkZW50aWZpZXIgPSB0aGlzLT5jbGllbnRJZGVudGlmaWVyOwogCiAgICAgLy8gUmVz
b3VyY2VMb2FkZXJPcHRpb25zCiAgICAgY29weS5zZW5kTG9hZENhbGxiYWNrcyA9IHRoaXMtPnNl
bmRMb2FkQ2FsbGJhY2tzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtl
clRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuY3BwCmluZGV4IGUyOTU4OWMyZmYyNDAwNDI1MzVjM2MwMzk2ZmM4YjQ3NjI0
NDJhYTAuLjk2ZTY0Zjk5ZTk2YjMwMTEyOWJlZTRiYTlkNzY0NjkyMGFiYzNkMjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTEz
Niw3ICsxMzYsMTEgQEAgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6
TWFpblRocmVhZEJyaWRnZShUaHJlYWRhYmxlTG9hZGVyQ2xpZW4KICAgICBvcHRpb25zQ29weS0+
b3B0aW9ucy5zZXJ2aWNlV29ya2Vyc01vZGUgPSBpczxTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU+
KGdsb2JhbFNjb3BlKSA/IFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSA6IFNlcnZpY2VXb3JrZXJz
TW9kZTo6QWxsOwogICAgIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gZ2xvYmFsU2Nv
cGUuYWN0aXZlU2VydmljZVdvcmtlcigpKQogICAgICAgICBvcHRpb25zQ29weS0+b3B0aW9ucy5z
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIt
PnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKKyAgICBlbHNlCisgICAgICAgIG9wdGlvbnNDb3B5
LT5vcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZTsK
ICNlbmRpZgorICAgIGlmICghb3B0aW9uc0NvcHktPm9wdGlvbnMuY2xpZW50SWRlbnRpZmllcikK
KyAgICAgICAgb3B0aW9uc0NvcHktPm9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IGdsb2JhbFNj
b3BlLmlkZW50aWZpZXIoKTsKIAogICAgIGlmIChpczxXb3JrZXJHbG9iYWxTY29wZT4oZ2xvYmFs
U2NvcGUpKQogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTZW5kUmVxdWVz
dChkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oZ2xvYmFsU2NvcGUpLCBtX3dvcmtlclJlcXVl
c3RJZGVudGlmaWVyLCByZXF1ZXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDdkNjFjY2I1MmI3ZjUwZDdmOGM5
NmI2ZjJiNTE0YWZkYWQ3Y2NkOWYuLjdmNjM4YzFjNWVhNmExYTBjNDQ3MjY5NGE3ZjczNzdlNzIz
ODQzNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcApAQCAtMTIwMiw4ICsxMjAyLDggQEAgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OlJldmFsaWRhdGlvblBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2
YWxpZGEKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIHZhbGlkYXRlL3NwZWNpZnkgdGhpcyBiZWhhdmlvci4KLSAgICBpZiAoY2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0Lm9wdGlvbnMoKS5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciAh
PSBleGlzdGluZ1Jlc291cmNlLT5vcHRpb25zKCkuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIpIHsKLSAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNl
TG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kgcmVsb2FkaW5nIGJlY2F1c2Ugc2Vs
ZWN0ZWQgc2VydmljZSB3b3JrZXIgZGlmZmVycyIpOworICAgIGlmIChjYWNoZWRSZXNvdXJjZVJl
cXVlc3Qub3B0aW9ucygpLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyICE9IGV4
aXN0aW5nUmVzb3VyY2UtPm9wdGlvbnMoKS5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciB8fCBjYWNoZWRSZXNvdXJjZVJlcXVlc3Qub3B0aW9ucygpLnNlcnZpY2VXb3JrZXJzTW9k
ZSAhPSBleGlzdGluZ1Jlc291cmNlLT5vcHRpb25zKCkuc2VydmljZVdvcmtlcnNNb2RlKSB7Cisg
ICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJt
aW5lUmV2YWxpZGF0aW9uUG9saWN5IHJlbG9hZGluZyBiZWNhdXNlIHNlbGVjdGVkIHNlcnZpY2Ug
d29ya2VyIG1heSBkaWZmZXIiKTsKICAgICAgICAgcmV0dXJuIFJlbG9hZDsKICAgICB9CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNw
cAppbmRleCBiN2Y5MTdkNmQ4YmRhMDVlZGI1OGQxMmY3ODVhM2IzOTIwODEyMDliLi43NTAzMzJi
M2RlNWVkZmQyZWU3NzU2NTAxNWY3Yjg2ZTFmNWJjNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCkBAIC00OCw3ICs0OCwxMiBAQCBE
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRpY2F0ZWRXb3JrZXJUaHJlYWQoKSA9IGRlZmF1bHQ7
CiAKIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVX
b3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4pCiB7
Ci0gICAgcmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUocGFyYW1zLCBX
VEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Q
cm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICBhdXRvIHNjb3BlID0gRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShwYXJhbXMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMsIFdU
Rk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkp
OworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBpZiAocGFyYW1zLnNlcnZpY2VXb3Jr
ZXJEYXRhKQorICAgICAgICBzY29wZS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29y
a2VyOjpnZXRPckNyZWF0ZShzY29wZS5nZXQoKSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1z
LnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyNlbmRpZgorICAgIHJldHVybiBzY29wZTsKIH0KIAog
dm9pZCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9vcCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlci5jcHAKaW5kZXggN2ZiYTYyODkxZGRiYWE2ZTY2NWMxNGJmOWVjMjhhMjhiNDQ0MTU0
Ny4uODgzZjdkM2YxMmFjODI3YmUwYzU5YTdhNDIyNzYyNWI0MmNkMDY5OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCIKICNpbmNsdWRl
ICJXb3JrZXJHbG9iYWxTY29wZVByb3h5LmgiCisjaW5jbHVkZSAiV29ya2VySW5pdGlhbGl6YXRp
b25EYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSAiV29y
a2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSWRlbnRpZmllcnNGYWN0b3J5
Lmg+CkBAIC01NywxNSArNTgsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoV29ya2VyKTsKIAotc3RhdGljIEhhc2hTZXQ8V29ya2VyKj4mIGFs
bFdvcmtlcnMoKQorc3RhdGljIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIsIFdvcmtlcio+JiBhbGxXb3JrZXJzKCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
SGFzaFNldDxXb3JrZXIqPj4gc2V0OwotICAgIHJldHVybiBzZXQ7CisgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFdvcmtl
cio+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKIH0KIAogdm9pZCBXb3JrZXI6Om5ldHdvcmtTdGF0
ZUNoYW5nZWQoYm9vbCBpc09uTGluZSkKIHsKLSAgICBmb3IgKGF1dG8qIHdvcmtlciA6IGFsbFdv
cmtlcnMoKSkKKyAgICBmb3IgKGF1dG8qIHdvcmtlciA6IGFsbFdvcmtlcnMoKS52YWx1ZXMoKSkK
ICAgICAgICAgd29ya2VyLT5ub3RpZnlOZXR3b3JrU3RhdGVDaGFuZ2UoaXNPbkxpbmUpOwogfQog
CkBAIC03NSw2ICs3Niw3IEBAIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncywKICAgICAsIG1faWRlbnRp
Zmllcigid29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRl
bnRpZmllcigpKQogICAgICwgbV9jb250ZXh0UHJveHkoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6
Y3JlYXRlKCp0aGlzKSkKICAgICAsIG1fcnVudGltZUZsYWdzKHJ1bnRpbWVGbGFncykKKyAgICAs
IG1fY2xpZW50SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjo6Z2Vu
ZXJhdGUoKSkKIHsKICAgICBzdGF0aWMgYm9vbCBhZGRlZExpc3RlbmVyOwogICAgIGlmICghYWRk
ZWRMaXN0ZW5lcikgewpAQCAtODIsNyArODQsNyBAQCBXb3JrZXI6OldvcmtlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MsCiAg
ICAgICAgIGFkZGVkTGlzdGVuZXIgPSB0cnVlOwogICAgIH0KIAotICAgIGF1dG8gYWRkUmVzdWx0
ID0gYWxsV29ya2VycygpLmFkZCh0aGlzKTsKKyAgICBhdXRvIGFkZFJlc3VsdCA9IGFsbFdvcmtl
cnMoKS5hZGQobV9jbGllbnRJZGVudGlmaWVyLCB0aGlzKTsKICAgICBBU1NFUlRfVU5VU0VEKGFk
ZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogfQogCkBAIC0xMTQsNyArMTE2LDcgQEAg
RXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IFdvcmtlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIEpTQzo6UnUKICAgICByZXF1ZXN0LnNldEluaXRpYXRvcklkZW50aWZp
ZXIod29ya2VyLT5tX2lkZW50aWZpZXIpOwogCiAgICAgYXV0byBzb3VyY2UgPSBvcHRpb25zLnR5
cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlID8gV29ya2VyU2NyaXB0TG9hZGVyOjpTb3VyY2U6Ok1v
ZHVsZVNjcmlwdCA6IFdvcmtlclNjcmlwdExvYWRlcjo6U291cmNlOjpDbGFzc2ljV29ya2VyU2Ny
aXB0OwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250
ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBzb3VyY2UsIHdvcmtlckZldGNoT3B0aW9ucyh3b3JrZXIt
Pm1fb3B0aW9ucywgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSwgY29udGVudFNl
Y3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCB3b3JrZXIu
Z2V0KCksIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOworICAgIHdvcmtlci0+bV9zY3Jp
cHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBz
b3VyY2UsIHdvcmtlckZldGNoT3B0aW9ucyh3b3JrZXItPm1fb3B0aW9ucywgRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbjo6V29ya2VyKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQs
IFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCB3b3JrZXIuZ2V0KCksIFdvcmtlclJ1bkxvb3A6OmRl
ZmF1bHRNb2RlKCksIHdvcmtlci0+bV9jbGllbnRJZGVudGlmaWVyKTsKIAogICAgIHJldHVybiB3
b3JrZXI7CiB9CkBAIC0xMjMsNyArMTI1LDcgQEAgV29ya2VyOjp+V29ya2VyKCkKIHsKICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOyAvLyBUaGUgY29udGV4dCBpcyBwcm90ZWN0ZWQgYnkgd29ya2VyIGNvbnRleHQgcHJveHks
IHNvIGl0IGNhbm5vdCBiZSBkZXN0cm95ZWQgd2hpbGUgYSBXb3JrZXIgZXhpc3RzLgotICAgIGFs
bFdvcmtlcnMoKS5yZW1vdmUodGhpcyk7CisgICAgYWxsV29ya2VycygpLnJlbW92ZShtX2NsaWVu
dElkZW50aWZpZXIpOwogICAgIG1fY29udGV4dFByb3h5Lndvcmtlck9iamVjdERlc3Ryb3llZCgp
OwogfQogCkBAIC0yMDgsMTMgKzIxMCwxOSBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNoZWQo
KQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYm9vbCBpc09ubGluZSA9IHBsYXRmb3Jt
U3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpOwogICAgIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzID0gbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMg
PyBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy52YWx1ZSgpIDogY29udGV4
dC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPnJlc3BvbnNlSGVhZGVycygpOwogICAgIFJlZmVy
cmVyUG9saWN5IHJlZmVycmVyUG9saWN5ID0gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOwog
ICAgIGlmIChhdXRvIHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXIt
PnJlZmVycmVyUG9saWN5KCksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKICAg
ICAgICAgcmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5OwogCi0gICAgbV9jb250ZXh0UHJveHkuc3Rh
cnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+bGFzdFJlcXVlc3RVUkwoKSwgbV9v
cHRpb25zLm5hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+bGFzdFJlcXVl
c3RVUkwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIG1fc2NyaXB0TG9hZGVyLT5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
KCksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9vcHRpb25zLnR5cGUs
IG1fb3B0aW9ucy5jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOworICAgIFdvcmtlckluaXRp
YWxpemF0aW9uRGF0YSBpbml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKKyAgICAgICAgbV9zY3JpcHRMb2FkZXItPnRha2VTZXJ2aWNlV29ya2VyRGF0YSgpLAor
I2VuZGlmCisgICAgICAgIG1fY2xpZW50SWRlbnRpZmllciwKKyAgICAgICAgY29udGV4dC0+dXNl
ckFnZW50KG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgpKQorICAgIH07CisgICAgbV9j
b250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+bGFzdFJl
cXVlc3RVUkwoKSwgbV9vcHRpb25zLm5hbWUsIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSwg
bV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3Nj
cmlwdExvYWRlci0+Y3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSgpLCBtX3dvcmtlckNyZWF0aW9u
VGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fb3B0aW9ucy50eXBlLCBtX29wdGlvbnMuY3JlZGVudGlh
bHMsIG1fcnVudGltZUZsYWdzKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlw
dEltcG9ydGVkKCpjb250ZXh0LCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3Njcmlw
dExvYWRlci0+c2NyaXB0KCkudG9TdHJpbmcoKSk7CiB9CiAKQEAgLTI1MSw4ICsyNTksMTMgQEAg
dm9pZCBXb3JrZXI6OnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4KIAogdm9pZCBXb3JrZXI6OmZvckVhY2hXb3JrZXIoY29u
c3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+KCk+JiBj
YWxsYmFjaykKIHsKLSAgICBmb3IgKGF1dG8qIHdvcmtlciA6IGFsbFdvcmtlcnMoKSkKKyAgICBm
b3IgKGF1dG8qIHdvcmtlciA6IGFsbFdvcmtlcnMoKS52YWx1ZXMoKSkKICAgICAgICAgd29ya2Vy
LT5wb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoY2FsbGJhY2soKSk7CiB9CiAKK1dvcmtlciog
V29ya2VyOjp3b3JrZXJCeUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIgaWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gYWxsV29ya2VycygpLmdldChpZGVudGlmaWVy
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5k
ZXggNGQ1MGU2MTUwNTkxNzVkY2NhNThhNTBjZTNlN2I0ODk4YTRmNmIzYy4uYzY0NTE4Yjc3OTRm
NWMxMDc4ODQzOTRlYTQzYzY5MTI2Mjk1NjVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBA
IC04MSw3ICs4MSw5IEBAIHB1YmxpYzoKICAgICBXb3JrZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJl
dHVybiBtX29wdGlvbnMudHlwZTsgfQogCiAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xvYmFs
U2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpOworCiAgICAg
c3RhdGljIHZvaWQgZm9yRWFjaFdvcmtlcihjb25zdCBGdW5jdGlvbjxGdW5jdGlvbjx2b2lkKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4oKT4mKTsKKyAgICBzdGF0aWMgV29ya2VyKiB3b3JrZXJC
eUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOwogCiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IFdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50
aW1lRmxhZ3MsIFdvcmtlck9wdGlvbnMmJik7CkBAIC0xMTYsNiArMTE4LDcgQEAgcHJpdmF0ZToK
ICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1lcnM7
CiAjZW5kaWYKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBtX2NsaWVudElk
ZW50aWZpZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDU5MzNlMDc0ZThiNjMyN2QwNTY2
MWIzNDFlMTYyNzIwOTlmZDI5ZmIuLjQ2MTUzMzEzYjMyMmY3MWZkYjA4YzRjZGU5Y2M1NTZiNzZm
ODJiODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1
ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW5Qb2xpY3kuaCIK
KyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCiAjaW5jbHVk
ZSAiV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgpAQCAtOTEsNyArOTIsNyBAQCBzdGF0
aWMgV29ya1F1ZXVlJiBzaGFyZWRGaWxlU3lzdGVtU3RvcmFnZVF1ZXVlKCkKIFdURl9NQUtFX0lT
T19BTExPQ0FURURfSU1QTChXb3JrZXJHbG9iYWxTY29wZSk7CiAKIFdvcmtlckdsb2JhbFNjb3Bl
OjpXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIGNvbnN0IFdvcmtlclBh
cmFtZXRlcnMmIHBhcmFtcywgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgV29ya2VyVGhy
ZWFkJiB0aHJlYWQsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2Nr
ZXRQcm92aWRlcikKLSAgICA6IFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKHR5cGUsIGlzTWFp
blRocmVhZCgpID8gUmVmIHsgY29tbW9uVk0oKSB9IDogSlNDOjpWTTo6Y3JlYXRlKCksICZ0aHJl
YWQpCisgICAgOiBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSh0eXBlLCBpc01haW5UaHJlYWQo
KSA/IFJlZiB7IGNvbW1vblZNKCkgfSA6IEpTQzo6Vk06OmNyZWF0ZSgpLCAmdGhyZWFkLCBwYXJh
bXMuY2xpZW50SWQpCiAgICAgLCBtX3VybChwYXJhbXMuc2NyaXB0VVJMKQogICAgICwgbV9pbnNw
ZWN0b3JJZGVudGlmaWVyKHBhcmFtcy5pbnNwZWN0b3JJZGVudGlmaWVyKQogICAgICwgbV91c2Vy
QWdlbnQocGFyYW1zLnVzZXJBZ2VudCkKQEAgLTY1Myw0ICs2NTQsMTQgQEAgdm9pZCBXb3JrZXJH
bG9iYWxTY29wZTo6dXBkYXRlU291cmNlUHJvdmlkZXJCdWZmZXJzKGNvbnN0IFNjcmlwdEJ1ZmZl
ciYgbWFpblNjcmkKICAgICB9CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCit2b2lk
IFdvcmtlckdsb2JhbFNjb3BlOjp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpCit7Cisg
ICAgQVNTRVJUKHR5cGUoKSA9PSBXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6VHlwZTo6RGVk
aWNhdGVkV29ya2VyKTsKKyAgICBhdXRvIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyKCkgPyBzdGQ6Om1ha2Vfb3B0aW9u
YWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+KGFjdGl2ZVNlcnZpY2VXb3Jr
ZXIoKS0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpKSA6IHN0ZDo6bnVsbG9wdDsKKyAgICBTV0Ns
aWVudENvbm5lY3Rpb24mIGNvbm5lY3Rpb24gPSBzd0NsaWVudENvbm5lY3Rpb24oKTsKKyAgICBj
b25uZWN0aW9uLnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0b3BPcmlnaW4oKSwgU2Vydmlj
ZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTdHJpbmcgeyBtX3VzZXJBZ2VudCB9KTsKK30KKyNlbmRp
ZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmgKaW5kZXggZWFhNTgyMDc0ZmFmYzQ2NGMzMjhmODNlNjUyOGJkYTA3ZGNj
MmQ1Mi4uNThiYmQ2NTc3ZmE0MzcyMDdlOWJhNzZkZGVlNzNlMzk2NGRlZDZjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMTkyLDYgKzE5Miw5IEBA
IHByaXZhdGU6CiAgICAgYm9vbCB3cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYg
a2V5LCBWZWN0b3I8dWludDhfdD4mIHdyYXBwZWRLZXkpIGZpbmFsOwogICAgIGJvb2wgdW53cmFw
Q3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVjdG9yPHVpbnQ4
X3Q+JiBrZXkpIGZpbmFsOwogI2VuZGlmCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAg
IHZvaWQgdXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKSBmaW5hbDsKKyNlbmRpZgogCiAg
ICAgdm9pZCBzdG9wSW5kZXhlZERhdGFiYXNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggMmJhYjI2NzM1ZGUxOWI0YjUxMTEw
N2E2YWNkOTllMjk4NjQ1NzNjZC4uOGE1MGE3MDA3MzcxNTU5NGVlMWQ0Y2MyM2U3OThjMzgxOWE1
MTQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVBy
b3h5LmgKQEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzOwogY2xhc3MgU2NyaXB0QnVmZmVyOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIGNsYXNzIFdvcmtlcjsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBl
bnVtIGNsYXNzIFJlZmVycmVyUG9saWN5IDogdWludDhfdDsKIGVudW0gY2xhc3MgV29ya2VyVHlw
ZSA6IGJvb2w7CiAKQEAgLTUxLDcgKzUyLDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94
eSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShX
b3JrZXImKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0
IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTY3JpcHRCdWZmZXImIHNvdXJjZUNvZGUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVy
UG9saWN5JiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2Vy
VHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRV
UkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYsIGNvbnN0
IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50
aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRl
V29ya2VyR2xvYmFsU2NvcGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9X
b3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY5NzBkMDRhM2E3MGMx
ODk1Y2U5NzE5NTgyNmQwOTljNjcwOGFlYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKQEAgLTAsMCArMSw0MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIuaCIKKyNpbmNs
dWRlICJTZXJ2aWNlV29ya2VyRGF0YS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRh
dGEgeworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZp
Y2VXb3JrZXJEYXRhPiBzZXJ2aWNlV29ya2VyRGF0YTsKKyNlbmRpZgorICAgIHN0ZDo6b3B0aW9u
YWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IGNsaWVudElkZW50aWZpZXI7Cisg
ICAgU3RyaW5nIHVzZXJBZ2VudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggYzMx
MTFhMmY3ZjVmZjI5MThmZmVjNTBiYjMxMDNjMDVlMTI4NzRjMy4uY2JlZDQ5YzlmOTA4MWJkZWJj
ZmJmZGI5MjFlMzRmMzI2NTM1Y2M2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTM4LDExICszOCwxNCBAQAogI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oIgogI2luY2x1
ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCisjaW5jbHVkZSAiTG9hZGVyU3RyYXRlZ3kuaCIKICNp
bmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGxh
dGZvcm1TdHJhdGVnaWVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgog
I2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiV29ya2VyLmgiCisjaW5jbHVkZSAiV29y
a2VySW5pdGlhbGl6YXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VySW5zcGVjdG9yUHJveHku
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KQEAgLTc1LDcgKzc4LDcgQEAgV29ya2Vy
TWVzc2FnaW5nUHJveHk6On5Xb3JrZXJNZXNzYWdpbmdQcm94eSgpCiAgICAgICAgIHx8IChpczxX
b3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgJiYgZG93bmNhc3Q8
V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLnRocmVhZCgpLnRo
cmVhZCgpID09ICZUaHJlYWQ6OmN1cnJlbnQoKSkpOwogfQogCi12b2lkIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBj
b25zdCBTY3JpcHRCdWZmZXImIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBi
b29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgQ3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSYgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgV29ya2Vy
VHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50aWFscywgSlND
OjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEsIGNv
bnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBDcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5JiBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBXb3JrZXJU
eXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6
OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZCB0
byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5lc3RlZCB3b3JrZXIgb25lIGRheQogICAg
IEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwpAQCAtODcsNyArOTAsMTIgQEAgdm9p
ZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwm
IHNjcmlwdFVSTCwgY29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRl
ciA9IGRvY3VtZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0ZXJzIHBh
cmFtcyA9IHsgc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5l
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSwgdGlt
ZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUsIGNyZWRlbnRpYWxzLCBkb2N1bWVu
dC5zZXR0aW5nc1ZhbHVlcygpIH07CisgICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMgeyBzY3Jp
cHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJB
Z2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgp
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSwgdGlt
ZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUsIGNyZWRlbnRpYWxzLCBkb2N1bWVu
dC5zZXR0aW5nc1ZhbHVlcygpLCBXb3JrZXJUaHJlYWRNb2RlOjpDcmVhdGVOZXdUaHJlYWQsIHsg
fSwKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIFdURk1vdmUoaW5pdGlhbGl6
YXRpb25EYXRhLnNlcnZpY2VXb3JrZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBpbml0aWFsaXph
dGlvbkRhdGEuY2xpZW50SWRlbnRpZmllci52YWx1ZV9vcihTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllciB7IH0pCisgICAgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtl
clRocmVhZDo6Y3JlYXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywg
c3RhcnRNb2RlLCBkb2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBy
dW50aW1lRmxhZ3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDIy
NmU4NjFjNTE2ZDVkMmU2YTM0NWVkN2RlODcxYzkyNGMxMjg4NDMuLmIyNTk1NzJiMzgwY2ZmMTAy
Yjc0YzRhYTI0ZDUxMDFjOThlOTZmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29ya2VyR2xvYmFsU2NvcGVQcm94eS4KICAgICAv
LyAoT25seSB1c2UgdGhlc2UgZnVuY3Rpb25zIGluIHRoZSB3b3JrZXIgb2JqZWN0IHRocmVhZC4p
Ci0gICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5l
LCBjb25zdCBTY3JpcHRCdWZmZXImIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiwgTW9ub3Rvbmlj
VGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0
Q3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwg
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29k
ZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3kmLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3Mp
IGZpbmFsOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAg
ICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cyYmKSBmaW5hbDsKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5j
dGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgZmluYWw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmlu
ZGV4IGZjYjQ0ZTZjYmM0MjllZWQwMmFiNjNhODBjODQ3OGRiZDNkYjI4YWYuLjU4M2E1NmY5NzU0
MTE1NjVlZjk3MzJhZjdhMzRjNDgxMjAyZTA0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC00MCw4ICs0MCw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlKTsKIAotV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU6
Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUgdHlwZSwgUmVmPEpT
Qzo6Vk0+JiYgdm0sIFdvcmtlck9yV29ya2xldFRocmVhZCogdGhyZWFkKQotICAgIDogbV9zY3Jp
cHQobWFrZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPih0eXBlLCBXVEZN
b3ZlKHZtKSwgdGhpcykpCitXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBSZWY8SlNDOjpWTT4mJiB2bSwg
V29ya2VyT3JXb3JrbGV0VGhyZWFkKiB0aHJlYWQsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQorICAgIDogU2NyaXB0RXhlY3V0aW9uQ29udGV4dChj
b250ZXh0SWRlbnRpZmllcikKKyAgICAsIG1fc2NyaXB0KG1ha2VVbmlxdWU8V29ya2VyT3JXb3Jr
bGV0U2NyaXB0Q29udHJvbGxlcj4odHlwZSwgV1RGTW92ZSh2bSksIHRoaXMpKQogICAgICwgbV9t
b2R1bGVMb2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzLCBTY3JpcHRN
b2R1bGVMb2FkZXI6Ok93bmVyVHlwZTo6V29ya2VyT3JXb3JrbGV0KSkKICAgICAsIG1fdGhyZWFk
KHRocmVhZCkKICAgICAsIG1faW5zcGVjdG9yQ29udHJvbGxlcihtYWtlVW5pcXVlPFdvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXI+KCp0aGlzKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCBhMGQxNmQ3NDcwOTk5MzRhOGZl
MzE4MGJlMDc3OTMyNzUzNTNiYWMxLi44NzFjZDdjNTFmZmU0ODY1Njg4Njg0NWQwNWVlZTEyZTk4
OTkzYjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRHbG9iYWxTY29wZS5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEZl
dGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb24oKSBjb25zdCA9IDA7CiAKIHByb3Rl
Y3RlZDoKLSAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlLCBS
ZWY8SlNDOjpWTT4mJiwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKik7CisgICAgV29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSwgUmVmPEpTQzo6Vk0+JiYsIFdvcmtlck9y
V29ya2xldFRocmVhZCosIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyID0geyB9KTsK
IAogICAgIC8vIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCiAgICAgYm9vbCBpc0pTRXhlY3V0aW9u
Rm9yYmlkZGVuKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clNjcmlwdExvYWRlci5jcHAKaW5kZXggMGM0MDEwMTk5ZjRiZjI2MjQ5ZTJiZGMwZTc4MTBkZjUw
OGRmZTFiMC4uMmQ2Mzg3MzYzNDgwNjViMDA4MjA1NzFmNzcyZWFkM2YzYmI5NjA3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtNDUsMTIg
KzQ1LDIyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIEhhc2hNYXA8U2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFdvcmtlclNjcmlwdExvYWRlcio+JiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRvV29ya2VyU2NyaXB0TG9hZGVyTWFwKCkKK3sKKyAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciwgV29ya2VyU2NyaXB0TG9hZGVyKj4+IG1hcDsKKyAgICByZXR1cm4gbWFwLmdldCgp
OworfQorCiBXb3JrZXJTY3JpcHRMb2FkZXI6OldvcmtlclNjcmlwdExvYWRlcigpCiAgICAgOiBt
X3NjcmlwdChTY3JpcHRCdWZmZXI6OmVtcHR5KCkpCiB7CiB9CiAKLVdvcmtlclNjcmlwdExvYWRl
cjo6fldvcmtlclNjcmlwdExvYWRlcigpID0gZGVmYXVsdDsKK1dvcmtlclNjcmlwdExvYWRlcjo6
fldvcmtlclNjcmlwdExvYWRlcigpCit7CisgICAgaWYgKG1fY2xpZW50SWRlbnRpZmllcikKKyAg
ICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlwdExvYWRl
ck1hcCgpLnJlbW92ZShtX2NsaWVudElkZW50aWZpZXIpOworfQogCiBzdGQ6Om9wdGlvbmFsPEV4
Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgU291
cmNlIHNvdXJjZSwgRmV0Y2hPcHRpb25zOjpNb2RlIG1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUg
Y2FjaGVQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1
cml0eVBvbGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIp
CiB7CkBAIC05MywxMSArMTAzLDcgQEAgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+IFdvcmtlclNj
cmlwdExvYWRlcjo6bG9hZFN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ28KICAgICBvcHRp
b25zLnNlbmRMb2FkQ2FsbGJhY2tzID0gU2VuZENhbGxiYWNrUG9saWN5OjpTZW5kQ2FsbGJhY2tz
OwogICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBjb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDsKICAgICBvcHRpb25zLmRlc3RpbmF0aW9uID0gbV9k
ZXN0aW5hdGlvbjsKLSNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgb3B0aW9ucy5zZXJ2
aWNlV29ya2Vyc01vZGUgPSBpc1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSA/IFNlcnZpY2VXb3Jr
ZXJzTW9kZTo6Tm9uZSA6IFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsOwotICAgIGlmIChhdXRvKiBh
Y3RpdmVTZXJ2aWNlV29ya2VyID0gd29ya2VyR2xvYmFsU2NvcGUuYWN0aXZlU2VydmljZVdvcmtl
cigpKQotICAgICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
ID0gYWN0aXZlU2VydmljZVdvcmtlci0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpOwotI2VuZGlm
CisKICAgICBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5
KHdvcmtlckdsb2JhbFNjb3BlLCBXVEZNb3ZlKCpyZXF1ZXN0KSwgKnRoaXMsIG9wdGlvbnMpOwog
CiAgICAgLy8gSWYgdGhlIGZldGNoaW5nIGF0dGVtcHQgZmFpbGVkLCB0aHJvdyBhIE5ldHdvcmtF
cnJvciBleGNlcHRpb24gYW5kIGFib3J0IGFsbCB0aGVzZSBzdGVwcy4KQEAgLTExNSw3ICsxMjEs
NyBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3lu
Y2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25DbwogICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiB9
CiAKLXZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmVzb3VyY2VSZXF1ZXN0JiYg
c2NyaXB0UmVxdWVzdCwgU291cmNlIHNvdXJjZSwgRmV0Y2hPcHRpb25zJiYgZmV0Y2hPcHRpb25z
LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCBjb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlIHNlcnZpY2VXb3JrZXJNb2RlLCBXb3JrZXJT
Y3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgU3RyaW5nJiYgdGFza01vZGUpCit2b2lkIFdvcmtl
clNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJlc291cmNlUmVxdWVzdCYmIHNjcmlwdFJlcXVlc3Qs
IFNvdXJjZSBzb3VyY2UsIEZldGNoT3B0aW9ucyYmIGZldGNoT3B0aW9ucywgQ29udGVudFNlY3Vy
aXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNl
cnZpY2VXb3JrZXJzTW9kZSBzZXJ2aWNlV29ya2VyTW9kZSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xp
ZW50JiBjbGllbnQsIFN0cmluZyYmIHRhc2tNb2RlLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciBjbGllbnRJZGVudGlmaWVyKQogewogICAgIG1fY2xpZW50ID0gJmNsaWVudDsKICAg
ICBtX3VybCA9IHNjcmlwdFJlcXVlc3QudXJsKCk7CkBAIC0xNDIsOCArMTQ4LDE3IEBAIHZvaWQg
V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgLy8gQSBzZXJ2aWNlIHdvcmtlciBqb2IgY2FuIGJlIGV4
ZWN1dGVkIGZyb20gYSB3b3JrZXIgY29udGV4dCBvciBhIGRvY3VtZW50IGNvbnRleHQuCiAgICAg
b3B0aW9ucy5zZXJ2aWNlV29ya2Vyc01vZGUgPSBzZXJ2aWNlV29ya2VyTW9kZTsKICNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKGF1dG8qIGFjdGl2ZVNlcnZpY2VXb3JrZXIgPSBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKLSAgICAgICAgb3B0
aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VX
b3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKKyAgICAvLyBGSVhNRTogQWRkIHN1cHBv
cnQgZm9yIHNoYXJlZCB3b3JrZXIuCisgICAgaWYgKG1fZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSB7CisgICAgICAgIEFTU0VSVChjbGllbnRJZGVudGlm
aWVyKTsKKyAgICAgICAgLy8gSW4gY2FzZSBvZiBibG9iIFVSTHMsIHdlIHJldXNlIHRoZSBkb2N1
bWVudCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KKyAgICAgICAgaWYgKHJlcXVlc3QtPnVy
bCgpLnByb3RvY29sSXNCbG9iKCkgJiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2
aWNlV29ya2VyKCkpCisgICAgICAgICAgICBzZXRDb250cm9sbGluZ1NlcnZpY2VXb3JrZXIoU2Vy
dmljZVdvcmtlckRhdGEgeyBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3Jr
ZXIoKS0+ZGF0YSgpIH0pOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIG9wdGlvbnMuY2xp
ZW50SWRlbnRpZmllciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElkZW50aWZpZXI7Cisg
ICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRvV29ya2VyU2NyaXB0
TG9hZGVyTWFwKCkuYWRkKG1fY2xpZW50SWRlbnRpZmllciwgdGhpcyk7CisgICAgICAgIH0KKyAg
ICB9CiAjZW5kaWYKIAogICAgIC8vIER1cmluZyBjcmVhdGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVu
IHdoaWNoIHJlbW92ZSB0aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhpcyBvYmplY3QuCkBAIC0yOTgs
NCArMzEzLDIwIEBAIFdvcmtlckZldGNoUmVzdWx0IFdvcmtlclNjcmlwdExvYWRlcjo6ZmV0Y2hS
ZXN1bHQoKSBjb25zdAogICAgIHJldHVybiB7IHNjcmlwdCgpLCBsYXN0UmVxdWVzdFVSTCgpLCBj
ZXJ0aWZpY2F0ZUluZm8oKSwgY29udGVudFNlY3VyaXR5UG9saWN5KCksIGNyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3koKSwgcmVmZXJyZXJQb2xpY3koKSwgeyB9IH07CiB9CiAKK1dvcmtlclNjcmlw
dExvYWRlciogV29ya2VyU2NyaXB0TG9hZGVyOjpmcm9tU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikKK3sK
KyAgICByZXR1cm4gc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlw
dExvYWRlck1hcCgpLmdldChpZGVudGlmaWVyKTsKK30KKworI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKK2Jvb2wgV29ya2VyU2NyaXB0TG9hZGVyOjpzZXRDb250cm9sbGluZ1NlcnZpY2VXb3Jr
ZXIoU2VydmljZVdvcmtlckRhdGEmJiBhY3RpdmVTZXJ2aWNlV29ya2VyRGF0YSkKK3sKKyAgICBp
ZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2FjdGl2ZVNlcnZp
Y2VXb3JrZXJEYXRhID0gV1RGTW92ZShhY3RpdmVTZXJ2aWNlV29ya2VyRGF0YSk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggNTlhY2E5NjI5MjA0NWM3
MjUwZGUyNjM2ZTlhOTI5MTFjNjY1NzAxNS4uYjY4YjAyNGQ2MTNhZTFkZjJlNWE0OTUxZjUwOTg5
YWQ2OTYwZWU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3Jp
cHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5oCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNjcmlwdEJ1ZmZlci5oIgorI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVy
LmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPG1lbW9y
eT4KQEAgLTQ5LDYgKzUxLDcgQEAgY2xhc3MgRXhjZXB0aW9uOwogY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiBjbGFzcyBXb3JrZXJTY3Jp
cHRMb2FkZXJDbGllbnQ7CitzdHJ1Y3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CiBz
dHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CiBlbnVtIGNsYXNzIENlcnRpZmljYXRlSW5mb1BvbGlj
eSA6IHVpbnQ4X3Q7CiAKQEAgLTYzLDcgKzY2LDcgQEAgcHVibGljOgogICAgIGVudW0gY2xhc3Mg
U291cmNlIDogdWludDhfdCB7IENsYXNzaWNXb3JrZXJTY3JpcHQsIENsYXNzaWNXb3JrZXJJbXBv
cnQsIE1vZHVsZVNjcmlwdCB9OwogCiAgICAgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+IGxvYWRT
eW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBVUkwmLCBTb3VyY2Us
IEZldGNoT3B0aW9uczo6TW9kZSwgRmV0Y2hPcHRpb25zOjpDYWNoZSwgQ29udGVudFNlY3VyaXR5
UG9saWN5RW5mb3JjZW1lbnQsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9ySWRlbnRpZmllcik7Ci0g
ICAgdm9pZCBsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlc291
cmNlUmVxdWVzdCYmLCBTb3VyY2UsIEZldGNoT3B0aW9ucyYmLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGll
bnQmLCBTdHJpbmcmJiB0YXNrTW9kZSk7CisgICAgdm9pZCBsb2FkQXN5bmNocm9ub3VzbHkoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBTb3VyY2UsIEZldGNoT3B0
aW9ucyYmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNN
b2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmLCBTdHJpbmcmJiB0YXNrTW9kZSwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllciA9IHsgfSk7CiAKICAg
ICB2b2lkIG5vdGlmeUVycm9yKCk7CiAKQEAgLTk0LDYgKzk3LDEzIEBAIHB1YmxpYzoKIAogICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZXNvdXJjZUVycm9yIHZhbGlkYXRlV29ya2VyUmVzcG9u
c2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIFNvdXJjZSwgRmV0Y2hPcHRpb25zOjpEZXN0aW5h
dGlvbik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgV29ya2VyU2NyaXB0TG9hZGVyKiBm
cm9tU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIpOworCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgc2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJEYXRh
JiYpOworICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IHRha2VTZXJ2aWNlV29y
a2VyRGF0YSgpIHsgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9hY3RpdmVTZXJ2aWNlV29ya2VyRGF0
YSwgeyB9KTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFJlZkNvdW50
ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPjsKICAgICBmcmllbmQgc3RydWN0IHN0ZDo6ZGVmYXVsdF9k
ZWxldGU8V29ya2VyU2NyaXB0TG9hZGVyPjsKQEAgLTEyNSw2ICsxMzUsMTAgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1faXNDT0VQRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgUmVzb3VyY2VSZXNwb25z
ZTo6U291cmNlIG1fcmVzcG9uc2VTb3VyY2UgeyBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlVu
a25vd24gfTsKICAgICBSZXNvdXJjZUVycm9yIG1fZXJyb3I7CisgICAgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIgbV9jbGllbnRJZGVudGlmaWVyOworI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiBtX2FjdGl2ZVNl
cnZpY2VXb3JrZXJEYXRhOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggNWEwZmUxODdjNmYxYjU2
OTg2YzRkZDkwNzE2NTI4ZGRkOWRiMmI3Zi4uMGU2YzNhMDQ3MjZkNmRmNTE4ZTdhMjNkNTIzNDkx
MGJkZWFkNGZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAt
NjQsNiArNjQsMTAgQEAgV29ya2VyUGFyYW1ldGVycyBXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRl
ZENvcHkoKSBjb25zdAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKSwKICAg
ICAgICAgd29ya2VyVGhyZWFkTW9kZSwKICAgICAgICAgc2Vzc2lvbklELAorI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNlcnZpY2VXb3JrZXJEYXRh
KSwKKyNlbmRpZgorICAgICAgICBjbGllbnRJZAogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IGRjOTc3NGU5MmU3ZjFlZTY4ZmY0ZGY1MmZiOTVlZTU0
Y2YwNDFjNjcuLjE1NTIxMjg0OTk4MWNhYWI0MTk0NDg0ZWQ0MjY3YTIwNTg2MzQ3OWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtMjksNiArMjksOCBAQAogI2luY2x1
ZGUgIkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaCIKICNpbmNsdWRlICJGZXRjaFJlcXVlc3RD
cmVkZW50aWFscy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb24uaCIKKyNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JXb3JrbGV0VGhy
ZWFkLmgiCiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgogI2luY2x1ZGUgIldvcmtlclR5cGUu
aCIKQEAgLTc2LDYgKzc4LDEwIEBAIHB1YmxpYzoKICAgICBTZXR0aW5nczo6VmFsdWVzIHNldHRp
bmdzVmFsdWVzOwogICAgIFdvcmtlclRocmVhZE1vZGUgd29ya2VyVGhyZWFkTW9kZSB7IFdvcmtl
clRocmVhZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCB9OwogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpT
ZXNzaW9uSUQ+IHNlc3Npb25JRCB7IHN0ZDo6bnVsbG9wdCB9OworI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiBzZXJ2aWNlV29y
a2VyRGF0YTsKKyNlbmRpZgorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNs
aWVudElkOwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRlZENvcHkoKSBjb25zdDsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25u
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5l
Y3Rpb24uY3BwCmluZGV4IDk4YzE4ODZhZDQyODMwMThmZjUzM2Q0YWRmMGYwNjUwNTEyZmNlNjcu
LjRlMzMzMmY3ZDRiOTU1MGU2ZDQxZDVkZTJlOTI1Zjk5MDkwMjY1MTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCkBA
IC0yMjcsMjAgKzIyNywzMCBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0UmVnaXN0cmF0
aW9uVXBkYXRlVmlhQ2FjaGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbgogICAgIH0pOwogfQog
CitzdGF0aWMgdm9pZCB1cGRhdGVDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFNlcnZpY2VXb3JrZXJEYXRhJiYgbmV3Q29udHJvbGxlcikKK3sKKyAgICBjb250ZXh0
LnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoY29udGV4
dCwgV1RGTW92ZShuZXdDb250cm9sbGVyKSkpOworICAgIGlmIChhdXRvKiBjb250YWluZXIgPSBj
b250ZXh0LnNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKKyAgICAgICAgY29udGFpbmVyLT5xdWV1
ZVRhc2tUb0Rpc3BhdGNoQ29udHJvbGxlckNoYW5nZUV2ZW50KCk7Cit9CisKIHZvaWQgU1dDbGll
bnRDb25uZWN0aW9uOjpub3RpZnlDbGllbnRzT2ZDb250cm9sbGVyQ2hhbmdlKGNvbnN0IEhhc2hT
ZXQ8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+JiBjb250ZXh0SWRlbnRpZmllcnMs
IFNlcnZpY2VXb3JrZXJEYXRhJiYgbmV3Q29udHJvbGxlcikKIHsKICAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOwogICAgIEFTU0VSVCghY29udGV4dElkZW50aWZpZXJzLmlzRW1wdHkoKSk7CiAK
ICAgICBmb3IgKGF1dG8mIGNsaWVudElkZW50aWZpZXIgOiBjb250ZXh0SWRlbnRpZmllcnMpIHsK
LSAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgd29ya2VyIGNvbnRleHRzLgotICAgICAgICBhdXRv
KiBjbGllbnQgPSBEb2N1bWVudDo6YWxsRG9jdW1lbnRzTWFwKCkuZ2V0KGNsaWVudElkZW50aWZp
ZXIpOwotICAgICAgICBpZiAoIWNsaWVudCkKKyAgICAgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0g
RG9jdW1lbnQ6OmFsbERvY3VtZW50c01hcCgpLmdldChjbGllbnRJZGVudGlmaWVyKSkgeworICAg
ICAgICAgICAgdXBkYXRlQ29udHJvbGxlcigqZG9jdW1lbnQsIFdURk1vdmUobmV3Q29udHJvbGxl
cikpOwogICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgY2xpZW50LT5zZXRBY3RpdmVT
ZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKCpjbGllbnQsIFdURk1vdmUo
bmV3Q29udHJvbGxlcikpKTsKLSAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNsaWVudC0+
c2VydmljZVdvcmtlckNvbnRhaW5lcigpKQotICAgICAgICAgICAgY29udGFpbmVyLT5xdWV1ZVRh
c2tUb0Rpc3BhdGNoQ29udHJvbGxlckNoYW5nZUV2ZW50KCk7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKGF1dG8qIHdvcmtlciA9IFdvcmtlcjo6d29ya2VyQnlJZGVudGlmaWVyKGNsaWVudElkZW50
aWZpZXIpKSB7CisgICAgICAgICAgICB3b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29w
ZShbbmV3Q29udHJvbGxlciA9IFdURk1vdmUobmV3Q29udHJvbGxlcikuaXNvbGF0ZWRDb3B5KCld
IChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICB1cGRhdGVDb250cm9s
bGVyKGNvbnRleHQsIFdURk1vdmUobmV3Q29udHJvbGxlcikpOworICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTogU3VwcG9y
dCBzaGFyZWQgd29ya2Vycy4KICAgICB9CiB9CiAKQEAgLTI2MSwxMCArMjcxLDExIEBAIHZvaWQg
U1dDbGllbnRDb25uZWN0aW9uOjpjbGVhclBlbmRpbmdKb2JzKCkKIAogdm9pZCBTV0NsaWVudENv
bm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudHMoKQogewotICAgIGZvciAoYXV0
byogZG9jdW1lbnQgOiBEb2N1bWVudDo6YWxsRG9jdW1lbnRzKCkpIHsKLSAgICAgICAgYXV0byBj
b250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0gZG9jdW1lbnQt
PmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oZG9jdW1lbnQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKS0+
cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpKSA6IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVnaXN0
ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGRvY3VtZW50LT50b3BPcmlnaW4oKSwgU2VydmljZVdvcmtl
ckNsaWVudERhdGE6OmZyb20oKmRvY3VtZW50KSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgZG9jdW1lbnQtPnVzZXJBZ2VudChkb2N1bWVudC0+dXJsKCkp
KTsKLSAgICB9CisgICAgZm9yIChhdXRvKiBkb2N1bWVudCA6IERvY3VtZW50OjphbGxEb2N1bWVu
dHMoKSkKKyAgICAgICAgZG9jdW1lbnQtPnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCk7
CisKKyAgICBTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuZm9yRWFjaFNo
YXJlZFdvcmtlcihbXSB7IHJldHVybiBbXSAoYXV0byYgY29udGV4dCkgeyBjb250ZXh0LnVwZGF0
ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCk7IH07IH0pOworICAgIFdvcmtlcjo6Zm9yRWFjaFdv
cmtlcihbXSB7IHJldHVybiBbXSAoYXV0byYgY29udGV4dCkgeyBjb250ZXh0LnVwZGF0ZVNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhKCk7IH07IH0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaAppbmRl
eCA5ZjAxMDNmNTA3MGEwMGNhODE5YzRlNzZhN2NkYmFiOTFhNGQ2MTY1Li5jZTcxNzQxYTIyNWY0
ZDVmOTM2Nzk2YWIzNzQxODhkZGU0YWMyOWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKQEAgLTcwLDYgKzcwLDggQEAgcHVibGljOgogICAg
IHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKIAor
ICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJEYXRhJiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRh
OyB9CisKIHByaXZhdGU6CiAgICAgU2VydmljZVdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgU2VydmljZVdvcmtlckRhdGEmJik7CiAgICAgdm9pZCB1cGRhdGVQZW5kaW5nQWN0aXZpdHlG
b3JFdmVudERpc3BhdGNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcAppbmRleCAxZjFjYzBmM2Q0OWYx
YTAyZjZjZTg4MDU3MGQ3OTM2NTI1YzJiMjBiLi42MjRhYzI5ZGEyZDAzZDI1NzhiN2I3NDI0YWM2
ZmRhNWY2MmE0MzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKQEAgLTY5LDMwICs2OSw0NCBAQCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6aXNvbGF0ZWRD
b3B5KCkgJiYKIAogU2VydmljZVdvcmtlckNsaWVudERhdGEgU2VydmljZVdvcmtlckNsaWVudERh
dGE6OmZyb20oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKIHsKLSAgICBib29sIGlz
RG9jdW1lbnQgPSBpczxEb2N1bWVudD4oY29udGV4dCk7Ci0gICAgUkVMRUFTRV9BU1NFUlQoaXNE
b2N1bWVudCk7IC8vIFdlIGRvIG5vdCBzdXBwb3J0IGRlZGljYXRlZCB3b3JrZXJzIGFzIGNsaWVu
dHMgeWV0LgorICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgYXV0byYg
ZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCk7CisgICAgICAgIGF1dG8gbGFz
dE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQgPSBkb2N1bWVudC5sb2FkZXIoKSAmJiBkb2N1bWVu
dC5sb2FkZXIoKS0+bGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQoKSA/IExhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6
Tm87CiAKLSAgICBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KTsK
LSAgICBhdXRvIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkID0gZG9jdW1lbnQubG9hZGVy
KCkgJiYgZG9jdW1lbnQubG9hZGVyKCktPmxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKCkg
PyBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6WWVzIDogTGFzdE5hdmlnYXRpb25XYXNB
cHBJbml0aWF0ZWQ6Ok5vOworICAgICAgICBWZWN0b3I8U3RyaW5nPiBhbmNlc3Rvck9yaWdpbnM7
CisgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpIHsKKyAgICAgICAg
ICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBmcmFtZS0+dHJlZSgpLnBhcmVudCgpOyBhbmNlc3Rv
cjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+dHJlZSgpLnBhcmVudCgpKQorICAgICAgICAgICAgICAg
IGFuY2VzdG9yT3JpZ2lucy5hcHBlbmQoYW5jZXN0b3ItPmRvY3VtZW50KCktPnNlY3VyaXR5T3Jp
Z2luKCkudG9TdHJpbmcoKSk7CisgICAgICAgIH0KIAotICAgIFZlY3RvcjxTdHJpbmc+IGFuY2Vz
dG9yT3JpZ2luczsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKSB7Ci0g
ICAgICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBmcmFtZS0+dHJlZSgpLnBhcmVudCgpOyBhbmNl
c3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+dHJlZSgpLnBhcmVudCgpKQotICAgICAgICAgICAg
YW5jZXN0b3JPcmlnaW5zLmFwcGVuZChhbmNlc3Rvci0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmln
aW4oKS50b1N0cmluZygpKTsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIGNvbnRleHQu
aWRlbnRpZmllcigpLAorICAgICAgICAgICAgU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRv
dywKKyAgICAgICAgICAgIHRvU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZShjb250ZXh0KSwK
KyAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0aW9uVVJMKCksCisgICAgICAgICAgICBkb2N1bWVu
dC5wYWdlSUQoKSwKKyAgICAgICAgICAgIGRvY3VtZW50LmZyYW1lSUQoKSwKKyAgICAgICAgICAg
IGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLAorICAgICAgICAgICAgIWRvY3VtZW50Lmhp
ZGRlbigpLAorICAgICAgICAgICAgZG9jdW1lbnQuaGFzRm9jdXMoKSwKKyAgICAgICAgICAgIDAs
CisgICAgICAgICAgICBXVEZNb3ZlKGFuY2VzdG9yT3JpZ2lucykKKyAgICAgICAgfTsKICAgICB9
CiAKKyAgICBhdXRvJiBzY29wZSA9IGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0
KTsKICAgICByZXR1cm4gewotICAgICAgICBjb250ZXh0LmlkZW50aWZpZXIoKSwKLSAgICAgICAg
aXNEb2N1bWVudCA/IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3cgOiBTZXJ2aWNlV29y
a2VyQ2xpZW50VHlwZTo6V29ya2VyLAotICAgICAgICB0b1NlcnZpY2VXb3JrZXJDbGllbnRGcmFt
ZVR5cGUoY29udGV4dCksCi0gICAgICAgIGRvY3VtZW50LmNyZWF0aW9uVVJMKCksCi0gICAgICAg
IGRvY3VtZW50LnBhZ2VJRCgpLAotICAgICAgICBkb2N1bWVudC5mcmFtZUlEKCksCi0gICAgICAg
IGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLAotICAgICAgICAhZG9jdW1lbnQuaGlkZGVu
KCksCi0gICAgICAgIGRvY3VtZW50Lmhhc0ZvY3VzKCksCisgICAgICAgIHNjb3BlLmlkZW50aWZp
ZXIoKSwKKyAgICAgICAgc2NvcGUudHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3Bl
OjpUeXBlOjpTaGFyZWRXb3JrZXIgPyBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6U2hhcmVkd29y
a2VyIDogU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlciwKKyAgICAgICAgU2VydmljZVdv
cmtlckNsaWVudEZyYW1lVHlwZTo6Tm9uZSwKKyAgICAgICAgc2NvcGUudXJsKCksCisgICAgICAg
IHsgfSwKKyAgICAgICAgeyB9LAorICAgICAgICBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRl
ZDo6Tm8sCisgICAgICAgIGZhbHNlLAorICAgICAgICBmYWxzZSwKICAgICAgICAgMCwKLSAgICAg
ICAgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpCisgICAgICAgIHsgfQogICAgIH07CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xp
ZW50VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnRUeXBlLmgKaW5kZXggODY0NGI4NzJhNjQwMzg5MGNkZTQ1NzNmNGIzNzJiNzVjMzk4YmJl
MC4uNTU5YmIwMzVlOTBjMjI4NDZmMjM5YjZkZjBlNWVmZjRkNGIwNzEwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRUeXBlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRU
eXBlLmgKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNs
YXNzIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlIHsKK2VudW0gY2xhc3MgU2VydmljZVdvcmtlckNs
aWVudFR5cGUgOiB1aW50OF90IHsKICAgICBXaW5kb3csCiAgICAgV29ya2VyLAogICAgIFNoYXJl
ZHdvcmtlciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBhYjRmNWEyY2YzNTMwMGQyOTNiNzdlMzk0
ZjM4NGY4Yzc4ZWRhYmE2Li5lMDBjNzY0YmVjMTg1MmYyMGRlNGZiNDFiNjNhNzNjNzgzNzVmNGM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJDb250
ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKKyNpbmNs
dWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudExvb3AuaCIKQEAgLTEzMiw3ICsx
MzMsNyBAQCBhdXRvIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlYWR5KCkgLT4gUmVhZHlQcm9t
aXNlJgogU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlckNvbnRhaW5lcjo6Y29udHJvbGxlcigp
IGNvbnN0CiB7CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsK
LSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50PigqY29udGV4
dCkgfHwgIWNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9jdW1lbnRzIGNh
biBoYXZlIGEgY29udHJvbGxlciBhdCB0aGUgbW9tZW50LiIpOworICAgIEFTU0VSVF9XSVRIX01F
U1NBR0UoIWNvbnRleHQgfHwgaXM8RG9jdW1lbnQ+KCpjb250ZXh0KSB8fCBpczxEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpIHx8ICFjb250ZXh0LT5hY3RpdmVTZXJ2aWNlV29y
a2VyKCksICJPbmx5IGRvY3VtZW50cyBhbmJkIGRlZGljYXRlZCB3b3JrZXJzIGNhbiBoYXZlIGEg
Y29udHJvbGxlciBhdCB0aGUgbW9tZW50LiIpOwogICAgIHJldHVybiBjb250ZXh0ID8gY29udGV4
dC0+YWN0aXZlU2VydmljZVdvcmtlcigpIDogbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
VGhyZWFkLmNwcAppbmRleCA5ZjgyZWVkNjMxMjg5ZTUwY2M3YmRlMTliYmZhZDQzOTU4M2ZmNTc2
Li5hMTZkZmM0YTIyZGIwMjM1NjIwYTdiOWY3ZTljNzhkMTk3YmI5MDc2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNl
V29ya2VyVGhyZWFkLmNwcApAQCAtOTUsNyArOTUsOSBAQCBzdGF0aWMgV29ya2VyUGFyYW1ldGVy
cyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRh
JgogICAgICAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFsczo6T21pdCwKICAgICAgICAgc2V0dGlu
Z3NWYWx1ZXMsCiAgICAgICAgIHdvcmtlclRocmVhZE1vZGUsCi0gICAgICAgIHNlc3Npb25JRAor
ICAgICAgICBzZXNzaW9uSUQsCisgICAgICAgIHsgfSwKKyAgICAgICAgeyB9CiAgICAgfTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
LmNwcAppbmRleCA3YzM2NDJmZTMzODFjOTZhOTRkMTU1Y2M0N2FhYmU5Y2U4NTZiN2Q3Li5mNzcw
ODM3MWUwMzdiNTc4MTI0NTU1ZWVhZjY4N2RhNjEyNmY3ZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtMTM3Miw3ICsx
MzcyLDggQEAgdm9pZCBTV1NlcnZlcjo6cHJvY2Vzc05vdGlmaWNhdGlvbkV2ZW50KE5vdGlmaWNh
dGlvbkRhdGEmJiBkYXRhLCBOb3RpZmljYXRpb25FdmUKICAgICAgICAgICAgICAgICB3b3JrZXIt
PmRlY3JlbWVudEZ1bmN0aW9uYWxFdmVudENvdW50ZXIoKTsKICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgdGVybWluYXRlV29ya2VyVGltZXItPnN0YXJ0T25lU2hvdCh3ZWFrVGhpcyAmJiB3
ZWFrVGhpcy0+bV9pc1Byb2Nlc3NUZXJtaW5hdGlvbkRlbGF5RW5hYmxlZCA/IGRlZmF1bHRUZXJt
aW5hdGlvbkRlbGF5IDogZGVmYXVsdEZ1bmN0aW9uYWxFdmVudER1cmF0aW9uKTsKLSAgICAgICAg
ICAgIGNvbm5lY3Rpb25PclN0YXR1cy52YWx1ZSgpLT5maXJlTm90aWZpY2F0aW9uRXZlbnQoc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIsIGRhdGEsIHR5cGUsIFt0ZXJtaW5hdGVXb3JrZXJUaW1lciA9
IFdURk1vdmUodGVybWluYXRlV29ya2VyVGltZXIpLCB3b3JrZXIgPSBXVEZNb3ZlKHdvcmtlcild
KGJvb2wgLyogc3VjY2VlZGVkICovKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGNvbm5lY3Rpb25P
clN0YXR1cy52YWx1ZSgpLT5maXJlTm90aWZpY2F0aW9uRXZlbnQoc2VydmljZVdvcmtlcklkZW50
aWZpZXIsIGRhdGEsIHR5cGUsIFt0ZXJtaW5hdGVXb3JrZXJUaW1lciA9IFdURk1vdmUodGVybWlu
YXRlV29ya2VyVGltZXIpLCB3b3JrZXIgPSBXVEZNb3ZlKHdvcmtlcildKGJvb2wgc3VjY2VlZGVk
KSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRihzdWNjZWVk
ZWQsIFNlcnZpY2VXb3JrZXIsICJTZXJ2aWNlIFdvcmtlciBub3RpZmljYXRpb24gZXZlbnQgaGFu
ZGxlciBkaWQgbm90IHN1Y2NlZWQiKTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogaWYgc3Vj
Y2VlZGVkIGlzIGZhbHNlLCBzaG91bGQgd2UgaW1wbGVtZW50IGEgZGVmYXVsdCBhY3Rpb24gbGlr
ZSBvcGVuaW5nIGEgbmV3IHBhZ2U/CiAgICAgICAgICAgICAgICAgaWYgKHRlcm1pbmF0ZVdvcmtl
clRpbWVyLT5pc0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIHdvcmtlci0+ZGVjcmVt
ZW50RnVuY3Rpb25hbEV2ZW50Q291bnRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCBmMjVjNzlk
MjgxNTBjOWY1ZWY5ZWEyOGRmMDM1NTgyNzY0ZDQ1NzFkLi43MWNiNGI2NWJjOTk1YzU1Y2JlZmIw
MWEzOWVjMmQxNjEzZjI4MWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3No
YXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMzYsNiArMzYsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGF0YTsKIGNsYXNzIFNoYXJlZFdvcmtlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKIHN0
cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAK
aW5kZXggMzU0N2Q2NzdlOGVhYWY2Y2NlNTc5ZmMyMGNjY2U5YThmOGE1NTVlMC4uMzM3MTg0MzRi
MDk1ZTE4NjQwYjgzNzBkYTVlYjM2MTc5Y2I3NDJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJl
YWRQcm94eS5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgc3RhdGljIEhhc2hTZXQ8U2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkqPiYgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpCiAKIHN0YXRpYyBX
b3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBXb3JrZXJGZXRj
aFJlc3VsdCYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25z
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRG9jdW1lbnQmIGRvY3VtZW50KQogewotICAgIHJl
dHVybiBXb3JrZXJQYXJhbWV0ZXJzIHsKKyAgICByZXR1cm4gewogICAgICAgICB3b3JrZXJGZXRj
aFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwKICAgICAgICAgd29ya2VyT3B0aW9ucy5uYW1lLAogICAg
ICAgICAic2hhcmVkd29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3Jl
YXRlSWRlbnRpZmllcigpLApAQCAtNzAsNyArNzAsMTMgQEAgc3RhdGljIFdvcmtlclBhcmFtZXRl
cnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3Jr
ZXIKICAgICAgICAgcGFyc2VSZWZlcnJlclBvbGljeSh3b3JrZXJGZXRjaFJlc3VsdC5yZWZlcnJl
clBvbGljeSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpLnZhbHVlX29yKFJlZmVy
cmVyUG9saWN5OjpFbXB0eVN0cmluZyksCiAgICAgICAgIHdvcmtlck9wdGlvbnMudHlwZSwKICAg
ICAgICAgd29ya2VyT3B0aW9ucy5jcmVkZW50aWFscywKLSAgICAgICAgZG9jdW1lbnQuc2V0dGlu
Z3NWYWx1ZXMoKQorICAgICAgICBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpLAorICAgICAgICBX
b3JrZXJUaHJlYWRNb2RlOjpDcmVhdGVOZXdUaHJlYWQsCisgICAgICAgIHsgfSwKKyNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIHsgfSwKKyNlbmRpZgorICAgICAgICB7IH0KICAg
ICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOWRkMjkwN2RjOGEzNmU4ZTQ0MWI4ZDljNmVkMDlj
ZWY4NmE5MGQ5Ny4uZWQ3M2YwYTcxMjI2ZjViZWYzODJjMGZjYjZkMWM5ZmRmZmQ4NjQ3YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcApAQCAtMTIyMCw3ICsxMjIwLDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OmNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIG5ld1JlcXVlc3QK
ICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0OiAoaXNBbGxv
d2VkVG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHM9JWQpIiwgaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3Jl
ZGVudGlhbHMpOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIGlmIChwYXJhbWV0
ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUpIHsKKyAg
ICBpZiAocGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5h
dmlnYXRlIHx8IChwYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgbV9zZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKSkgewog
ICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gPSB7IH07CiAgICAgICAgIGlmIChh
dXRvIHNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgPSBtX2Nvbm5lY3Rpb24tPmNyZWF0ZUZldGNoVGFz
aygqdGhpcywgbmV3UmVxdWVzdCkpIHsKICAgICAgICAgICAgIExPQURFUl9SRUxFQVNFX0xPRygi
Y29udGludWVXaWxsU2VuZFJlcXVlc3Q6IENyZWF0ZWQgYSBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNr
IHRvIGhhbmRsZSB0aGUgcmVkaXJlY3QgKGZldGNoSWRlbnRpZmllcj0lIiBQUkl1NjQgIikiLCBz
ZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLT5mZXRjaElkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vy
dmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcAppbmRleCAwYjM0ODlkZGVjYWNk
NWViZGI1OTA2ZmIzZjdlZjM5MjU2ZjRjOTkxLi5hMDEyY2VkOWMzYjY3MzA2NzRlMWMzMmIyY2Qw
NmM5OTJkZGE2MmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3Bw
CkBAIC0xNTMsNyArMTUzLDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpzdGFydEZl
dGNoKCkKICAgICBjbGVhbkhUVFBSZXF1ZXN0SGVhZGVyc0ZvckFjY2Vzc0NvbnRyb2wocmVxdWVz
dCwgbV9sb2FkZXIucGFyYW1ldGVycygpLmh0dHBIZWFkZXJzVG9LZWVwKTsKIAogICAgIFN0cmlu
ZyBjbGllbnRJZGVudGlmaWVyOwotICAgIGlmIChtX2xvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9u
cy5tb2RlICE9IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUpIHsKKyAgICBpZiAobV9sb2Fk
ZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmln
YXRlICYmIG1fbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uICE9IEZldGNo
T3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikgewogICAgICAgICBpZiAoYXV0byBpZGVudGlm
aWVyID0gbV9sb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuY2xpZW50SWRlbnRpZmllcikKICAg
ICAgICAgICAgIGNsaWVudElkZW50aWZpZXIgPSBpZGVudGlmaWVyLT50b1N0cmluZygpOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXggZGI5ZDFiMjc0
NDg2OWM3MGM3NmE5MzdkZDQ1ODBiODMxODlkNjZhOS4uYjNkZDRhNTI4MjA5MjRkOTAxMjQ5MTM3
MTdmYmIyMDI1YWY1NTM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5j
cHAKQEAgLTE2NiwxOCArMTY2LDI0IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1cGRh
dGVXb3JrZXJTdGF0ZUluQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvCiAKIHZvaWQg
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0IE5ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0
cmF0aW9uLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7CisgICAgU2VydmljZVdv
cmtlckNsaWVudFR5cGUgY2xpZW50VHlwZTsKKyAgICBpZiAocGFyYW1ldGVycy5vcHRpb25zLmRl
c3RpbmF0aW9uICA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpCisgICAgICAg
IGNsaWVudFR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyOworICAgIGVsc2UK
KyAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3c7CisK
ICAgICBhdXRvIGNsaWVudElkZW50aWZpZXIgPSAqcGFyYW1ldGVycy5vcHRpb25zLmNsaWVudElk
ZW50aWZpZXI7CiAgICAgLy8gQXMgcGVyIHN0ZXAgMTIgb2YgaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L1NlcnZpY2VXb3JrZXIvI29uLWZldGNoLXJlcXVlc3QtYWxnb3JpdGhtLCB0aGUgYWN0aXZlIHNl
cnZpY2Ugd29ya2VyIHNob3VsZCBiZSBjb250cm9sbGluZyB0aGUgZG9jdW1lbnQuCiAgICAgLy8g
V2UgcmVnaXN0ZXIgdGhlIHNlcnZpY2Ugd29ya2VyIGNsaWVudCB1c2luZyB0aGUgaWRlbnRpZmll
ciBwcm92aWRlZCBieSBEb2N1bWVudExvYWRlciBhbmQgbm90aWZ5IERvY3VtZW50TG9hZGVyIGFi
b3V0IGl0LgogICAgIC8vIElmIG5vdGlmaWNhdGlvbiBpcyBzdWNjZXNzZnVsLCBEb2N1bWVudExv
YWRlciBpcyByZXNwb25zaWJsZSB0byB1bnJlZ2lzdGVyIHRoZSBzZXJ2aWNlIHdvcmtlciBjbGll
bnQgYXMgbmVlZGVkLgotICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViU1dDbGll
bnRDb25uZWN0aW9uOjpTZXREb2N1bWVudElzQ29udHJvbGxlZCB7IGNsaWVudElkZW50aWZpZXIs
IHJlZ2lzdHJhdGlvbi5kYXRhKCkgfSwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHRo
aXMsIGNsaWVudElkZW50aWZpZXJdKGJvb2wgaXNTdWNjZXNzKSB7CisgICAgc2VuZFdpdGhBc3lu
Y1JlcGx5KE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OlNldFNlcnZpY2VXb3JrZXJD
bGllbnRJc0NvbnRyb2xsZWQgeyBjbGllbnRJZGVudGlmaWVyLCByZWdpc3RyYXRpb24uZGF0YSgp
IH0sIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCB0aGlzLCBjbGllbnRJZGVudGlmaWVy
XShib29sIGlzU3VjY2VzcykgewogICAgICAgICBpZiAoIXdlYWtUaGlzIHx8IGlzU3VjY2VzcykK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGll
bnQoY2xpZW50SWRlbnRpZmllcik7CiAgICAgfSk7CiAKICAgICBhdXRvIGFuY2VzdG9yT3JpZ2lu
cyA9IG1hcChwYXJhbWV0ZXJzLmZyYW1lQW5jZXN0b3JPcmlnaW5zLCBbXShhdXRvJiBvcmlnaW4p
IHsgcmV0dXJuIG9yaWdpbi0+dG9TdHJpbmcoKTsgfSk7Ci0gICAgU2VydmljZVdvcmtlckNsaWVu
dERhdGEgZGF0YSB7IGNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpX
aW5kb3csIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmUsIHJlcXVlc3QudXJsKCks
IHBhcmFtZXRlcnMud2ViUGFnZUlELCBwYXJhbWV0ZXJzLndlYkZyYW1lSUQsIHJlcXVlc3QuaXNB
cHBJbml0aWF0ZWQoKSA/IFdlYkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZ
ZXMgOiBXZWJDb3JlOjpMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6Tm8sIGZhbHNlLCBm
YWxzZSwgMCwgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpIH07CisgICAgU2VydmljZVdvcmtlckNs
aWVudERhdGEgZGF0YSB7IGNsaWVudElkZW50aWZpZXIsIGNsaWVudFR5cGUsIFNlcnZpY2VXb3Jr
ZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmUsIHJlcXVlc3QudXJsKCksIHBhcmFtZXRlcnMud2ViUGFn
ZUlELCBwYXJhbWV0ZXJzLndlYkZyYW1lSUQsIHJlcXVlc3QuaXNBcHBJbml0aWF0ZWQoKSA/IFdl
YkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBXZWJDb3JlOjpMYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6Tm8sIGZhbHNlLCBmYWxzZSwgMCwgV1RGTW92ZShh
bmNlc3Rvck9yaWdpbnMpIH07CiAgICAgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNlY3Vy
aXR5T3JpZ2luRGF0YSB7IHJlZ2lzdHJhdGlvbi5rZXkoKS50b3BPcmlnaW4oKSB9LCBXVEZNb3Zl
KGRhdGEpLCByZWdpc3RyYXRpb24uaWRlbnRpZmllcigpLCByZXF1ZXN0Lmh0dHBVc2VyQWdlbnQo
KSk7CiB9CiAKQEAgLTE5NSw3ICsyMDEsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8U2VydmljZVdvcmtl
ckZldGNoVGFzaz4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjcmVhdGVGZXRjaFRhc2soTgogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
OwotICAgIGlmIChsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlv
bnM6Ok1vZGU6Ok5hdmlnYXRlKSB7CisgICAgaWYgKGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9u
cy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgbG9hZGVyLnBhcmFtZXRl
cnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246Oldv
cmtlcikgewogICAgICAgICBhdXRvIHRvcE9yaWdpbiA9IGxvYWRlci5wYXJhbWV0ZXJzKCkuaXNN
YWluRnJhbWVOYXZpZ2F0aW9uID8gU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHJlcXVlc3Qu
dXJsKCkpIDogbG9hZGVyLnBhcmFtZXRlcnMoKS50b3BPcmlnaW4tPmRhdGEoKTsKICAgICAgICAg
YXV0byogcmVnaXN0cmF0aW9uID0gZG9SZWdpc3RyYXRpb25NYXRjaGluZyh0b3BPcmlnaW4sIHJl
cXVlc3QudXJsKCkpOwogICAgICAgICBpZiAoIXJlZ2lzdHJhdGlvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAppbmRl
eCAwY2JmZThlNjU5NmMwOTNhMDNmYWI3NjgzNTcyOTNiZDgwMDJiNGU0Li40NmYyZDk5NjEwZjll
NDU5ZmE3ZGZkMGRlMmY5MmY0YzI5Mzg4ODc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC00NjAsMTMgKzQ2
MCw2IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZyb21OZXR3b3JrUHJv
Y2VzcyhSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMCiAgICAgICAgIGZvciAoYXV0byogZnJhbWUg
PSByZXNvdXJjZUxvYWRlci5mcmFtZSgpLT50cmVlKCkucGFyZW50KCk7IGZyYW1lOyBmcmFtZSA9
IGZyYW1lLT50cmVlKCkucGFyZW50KCkpCiAgICAgICAgICAgICBmcmFtZUFuY2VzdG9yT3JpZ2lu
cy5hcHBlbmQoJmZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsKICAgICAgICAg
bG9hZFBhcmFtZXRlcnMuZnJhbWVBbmNlc3Rvck9yaWdpbnMgPSBXVEZNb3ZlKGZyYW1lQW5jZXN0
b3JPcmlnaW5zKTsKLQotI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAgICAgaWYgKGF1
dG8qIGRvY3VtZW50TG9hZGVyID0gcmVzb3VyY2VMb2FkZXIuZG9jdW1lbnRMb2FkZXIoKSkgewot
ICAgICAgICAgICAgaWYgKGF1dG8gcmVzdWx0aW5nQ2xpZW50SWQgPSBzdGF0aWNfY2FzdDxXZWJE
b2N1bWVudExvYWRlciY+KCpkb2N1bWVudExvYWRlcikucmVzdWx0aW5nQ2xpZW50SWQoKSkKLSAg
ICAgICAgICAgICAgICBsb2FkUGFyYW1ldGVycy5vcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBy
ZXN1bHRpbmdDbGllbnRJZDsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgfQogCiAgICAgQVNTRVJU
KChsb2FkUGFyYW1ldGVycy53ZWJQYWdlSUQgJiYgbG9hZFBhcmFtZXRlcnMud2ViRnJhbWVJRCkg
fHwgbG9hZFBhcmFtZXRlcnMuY2xpZW50Q3JlZGVudGlhbFBvbGljeSA9PSBDbGllbnRDcmVkZW50
aWFsUG9saWN5OjpDYW5ub3RBc2tDbGllbnRGb3JDcmVkZW50aWFscyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9u
LmNwcAppbmRleCBkOTNiMzRkNjhmYTk5NWFhNDFiMDdiYzBlZDM1MmI3NmU3OTdjNWYwLi4xNzgw
Y2FjN2I2YTc3N2JmMTNmODIzMjQ1N2U1NGQzOTExNWVkYzBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIyIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25L
ZXkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckZldGNoUmVzdWx0Lmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9Xb3JrZXJTY3JpcHRMb2FkZXIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2lu
ZyBuYW1lc3BhY2UgUEFMOwpAQCAtMTgwLDExICsxODEsMTggQEAgdm9pZCBXZWJTV0NsaWVudENv
bm5lY3Rpb246OndoZW5SZWdpc3RyYXRpb25SZWFkeShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEm
IHRvcE8KICAgICB9KTsKIH0KIAotdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnNldERvY3Vt
ZW50SXNDb250cm9sbGVkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGRvY3VtZW50
SWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiBkYXRhLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJTV0Ns
aWVudENvbm5lY3Rpb246OnNldFNlcnZpY2VXb3JrZXJDbGllbnRJc0NvbnRyb2xsZWQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGEmJiBkYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewotICAgIGF1dG8qIGRvY3VtZW50TG9hZGVyID0gRG9jdW1lbnRMb2Fk
ZXI6OmZyb21TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcihkb2N1bWVudElkZW50aWZp
ZXIpOwotICAgIGJvb2wgcmVzdWx0ID0gZG9jdW1lbnRMb2FkZXIgPyBkb2N1bWVudExvYWRlci0+
c2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFdURk1vdmUoZGF0YSkpIDog
ZmFsc2U7Ci0gICAgY29tcGxldGlvbkhhbmRsZXIocmVzdWx0KTsKKyAgICBpZiAoYXV0byogbG9h
ZGVyID0gRG9jdW1lbnRMb2FkZXI6OmZyb21TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
cihpZGVudGlmaWVyKSkgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihsb2FkZXItPnNldENv
bnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihXVEZNb3ZlKGRhdGEpKSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXV0byogbG9hZGVyID0gV29ya2VyU2NyaXB0
TG9hZGVyOjpmcm9tU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIoaWRlbnRpZmllcikp
IHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZGF0YS5hY3RpdmVXb3JrZXIgPyBsb2FkZXIt
PnNldENvbnRyb2xsaW5nU2VydmljZVdvcmtlcihXVEZNb3ZlKCpkYXRhLmFjdGl2ZVdvcmtlcikp
IDogZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGNvbXBsZXRpb25IYW5kbGVy
KGZhbHNlKTsKIH0KIAogdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OmdldFJlZ2lzdHJhdGlv
bnMoU2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwg
R2V0UmVnaXN0cmF0aW9uc0NhbGxiYWNrJiYgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4
IDM3NzE5MTI5NjIzY2U3NTg4NGZjZWJhMjNiMTcwNmQwNmEzMTg0ZmEuLjYyMmZjMDhmMzE0NThk
NmUyZjg1NWE5MmJmMTc0YzAyNjEwNThlOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC04Miw3ICs4
Miw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRHZXRSZWdpc3RyYXRpb25zKHVpbnQ2NF90IG1h
dGNoUmVxdWVzdElkZW50aWZpZXIsIFZlY3RvcjxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGF0YT4mJik7CiAgICAgdm9pZCB3aGVuUmVnaXN0cmF0aW9uUmVhZHkoY29uc3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJM
LCBXaGVuUmVnaXN0cmF0aW9uUmVhZHlDYWxsYmFjayYmKSBmaW5hbDsKIAotICAgIHZvaWQgc2V0
RG9jdW1lbnRJc0NvbnRyb2xsZWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworICAgIHZvaWQgc2V0U2VydmljZVdvcmtlckNsaWVu
dElzQ29udHJvbGxlZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwg
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJik7CisgICAgdm9pZCBzZXRXb3JrZXJJc0NvbnRyb2xsZWQoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EYXRhJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwog
CiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb25zKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYm
IHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIEdldFJlZ2lzdHJhdGlvbnNDYWxsYmFj
ayYmKSBmaW5hbDsKICAgICB2b2lkIHdoZW5TZXJ2aWNlV29ya2VySXNUZXJtaW5hdGVkRm9yVGVz
dGluZyhXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRl
eCAyMWRiNTY0YjdjODJiNWRhZTc5NTE0MjczMzRhN2NlZDgxODA5NDYxLi45MjVhN2M1Yjg2MjVi
M2RiMmYwMGZhNjExMWZjZjM4M2IyMTY2Mzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1l
c3NhZ2VzLmluCkBAIC0zOCw3ICszOCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlNXQ2xpZW50Q29ubmVj
dGlvbiB7CiAgICAgU2V0U1dPcmlnaW5UYWJsZVNoYXJlZE1lbW9yeShXZWJLaXQ6OlNoYXJlZE1l
bW9yeTo6SVBDSGFuZGxlIGhhbmRsZSkKICAgICBQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNs
aWVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBkZXN0aW5hdGlv
bkNvbnRleHRJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6TWVzc2FnZVdpdGhNZXNzYWdlUG9y
dHMgbWVzc2FnZSwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhIHNvdXJjZSwgU3Ry
aW5nIHNvdXJjZU9yaWdpbikKIAotICAgIFNldERvY3VtZW50SXNDb250cm9sbGVkKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIHRlbXBvcmFyeURvY3VtZW50SWRlbnRp
Zmllciwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIGRhdGEp
IC0+IChib29sIGlzU3VjY2VzcykKKyAgICBTZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250cm9s
bGVkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIHdvcmtlcklkZW50
aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSBkYXRh
KSAtPiAoYm9vbCBpc1N1Y2Nlc3MpCiAKICAgICBGb2N1c1NlcnZpY2VXb3JrZXJDbGllbnQoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllcikg
LT4gKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGE+IHJlc3Vs
dCkKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBiMWVmNTRhOThmNGQ0ZGY4M2YyMzM2ZTc0ZWIzNGE1Y2RiNDYwNTQ1Li44
OTkyYzVkNGI1NzMxNGViMWU5NGJjOWRhNzEzYTRhYzUwZDIxZGU1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMjItMDQtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisg
ICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxl
bWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkwNjYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNh
dGVkd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNhdGVkd29ya2VyLmh0dHBzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJv
bGxlZC13b3JrZXIuanM6IEFkZGVkLgorCiAyMDIyLTA0LTExICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBmYXN0L3RleHQvb3RzdmctY2Fu
dmFzLmh0bWwgbW9yZSByb2J1c3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDZl
MTk3NzQyYzNlNmI4ZDliODFlNzE0NjAxMTJkMmFlYzA5MjI1OWYuLjdjOWFkZDA2ZjE0YTQxMWIw
OTU3MWU1ZTU5NzZlNzkzMDE1ZjgzYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDIyLTA0LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KKworICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRz
IGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZvciBkZWRpY2F0ZWQgd29ya2Vy
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1p
bmhlcml0LWNvbnRyb2xsZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNsaWVudC1p
ZC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0
dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQu
dHh0OgorCiAyMDIyLTA0LTExICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbQ1NTIENvbnRhaW5lciBRdWVyaWVzXSBVcGRhdGUgY29udGFpbmVyIHNob3J0aGFu
ZCBvcmRlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDNiOWYyYjVkNGUwY2FlMjVhMWE4Yjc1YmVm
MzE5NDA1NzczNDgzOC4uZDFjYWI2ODFiN2ZkYmI5YjFjZDEwMDc3ZTQ2ZTQ2MThmYzM1ZTFlYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNjksNyArMzY5LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFz
LXRhaW4KIHdlYmtpdC5vcmcvYi8yMDE2NjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLXZp
ZGVvLXdpdGgtcmFuZ2UtcmVxdWVzdC5odHRwcy5odG1sIFsgU2tpcCBdCiAKICMgTmV3bHkgaW1w
b3J0ZWQgc2VydmljZSB3b3JrZXIgdGVzdHMgdGhhdCBhcmUgZmxha3kuCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXIt
Y2xpZW50LWlkLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLW5vdC1h
bGxvd2VkLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcGVyZm9ybWFuY2UtdGlt
ZWxpbmUuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5o
dHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMv
Y29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY1ZWI0YWUzYTRlODc4ZTFjY2JmMjUzZTQ0YzRkNjhhMmY3ODE1MWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRp
Y2F0ZWR3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFJl
Z2lzdGVyIHNlcnZpY2Ugd29ya2VyCitQQVNTIFZlcmlmeSBkZWRpY2F0ZWQgd29ya2VyIGlzIGNv
bnRyb2xsZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3Jr
ZXJzL2NvbnRyb2xsZWQtZGVkaWNhdGVkd29ya2VyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jNmUwNmY4MTc1Mzk4Y2JkZWJkODZkNTFiNmU3YzY1N2NlYzQzMjZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJz
L2NvbnRyb2xsZWQtZGVkaWNhdGVkd29ya2VyLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGNvbnN0IHJlZ2lz
dHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJza2lwRmV0
Y2hFdmVudC13b3JrZXIuanMiLCB7IHNjb3BlIDogJ3Jlc291cmNlcycgfSk7CisgICAgYWN0aXZl
V29ya2VyID0gcmVnaXN0cmF0aW9uLmFjdGl2ZTsKKyAgICBpZiAoYWN0aXZlV29ya2VyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBhY3RpdmVXb3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGlu
ZzsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgYWN0aXZlV29y
a2VyLmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXRlY2hhbmdlJywgKCkgPT4geworICAgICAgICAgICAg
aWYgKGFjdGl2ZVdvcmtlci5zdGF0ZSA9PT0gImFjdGl2YXRlZCIpCisgICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOworICAgICAgICB9KTsKKyAgICB9KTsKK30sICJSZWdpc3RlciBzZXJ2aWNlIHdv
cmtlciIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICB3b3JrZXIgPSBu
ZXcgV29ya2VyKCdyZXNvdXJjZXMvY29udHJvbGxlZC13b3JrZXIuanMnKTsKKyAgICBjb25zdCBl
dmVudCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd29ya2VyLm9ubWVzc2FnZSA9IHJl
c29sdmUpOworICAgIGFzc2VydF90cnVlKGV2ZW50LmRhdGEuaXNDb250cm9sbGVkKTsKK30sICJW
ZXJpZnkgZGVkaWNhdGVkIHdvcmtlciBpcyBjb250cm9sbGVkIik7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL2NvbnRyb2xsZWQtd29ya2VyLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmIzMTJhYzMzY2UxMzhiNDE5ZDBmMTNjY2YxOWRjNTY4OGEwMTVlZDIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL2Nv
bnRyb2xsZWQtd29ya2VyLmpzCkBAIC0wLDAgKzEgQEAKK3NlbGYucG9zdE1lc3NhZ2UoeyBpc0Nv
bnRyb2xsZWQgOiAhIW5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIgfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1pbmhlcml0LWNv
bnRyb2xsZXIuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDJkNTg0ZTEwZGQwZWNhZjAwOTFiYjhl
MGE5NWNmN2M2NmYyYTZmMmYuLmIzMzlmOTg4NDNkNWNlNDE5Y2E5ZmNkYTc5OGFiZDVjOGRjYWJl
MTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1pbmhlcml0LWNvbnRy
b2xsZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVy
bC1pbmhlcml0LWNvbnRyb2xsZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsOSBAQAog
CiBQQVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJMIGlmcmFtZSBzaG91bGQgaW5oZXJpdCBzZXJ2aWNl
IHdvcmtlciBjb250cm9sbGVyLgogUEFTUyBTYW1lLW9yaWdpbiBibG9iIFVSTCBpZnJhbWUgc2hv
dWxkIGludGVyY2VwdCBmZXRjaCgpLgotRkFJTCBTYW1lLW9yaWdpbiBibG9iIFVSTCB3b3JrZXIg
c2hvdWxkIGluaGVyaXQgc2VydmljZSB3b3JrZXIgY29udHJvbGxlci4gYXNzZXJ0X2VxdWFsczog
YmxvYiBVUkwgd29ya2VyIHNob3VsZCBpbmhlcml0IGNvbnRyb2xsZXIgZXhwZWN0ZWQgKHN0cmlu
ZykgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLXdvcmtlci5qcyIgYnV0IGdv
dCAob2JqZWN0KSBudWxsCitQQVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJMIHdvcmtlciBzaG91bGQg
aW5oZXJpdCBzZXJ2aWNlIHdvcmtlciBjb250cm9sbGVyLgogUEFTUyBTYW1lLW9yaWdpbiBibG9i
IFVSTCB3b3JrZXIgc2hvdWxkIGludGVyY2VwdCBmZXRjaCgpLgogUEFTUyBEYXRhIFVSTCBpZnJh
bWUgc2hvdWxkIG5vdCBpbnRlcmNlcHQgZmV0Y2goKS4KIEZBSUwgRGF0YSBVUkwgd29ya2VyIHNo
b3VsZCBub3QgaW5oZXJpdCBzZXJ2aWNlIHdvcmtlciBjb250cm9sbGVyLiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRy
b2xsZXInKSIKLUZBSUwgRGF0YSBVUkwgd29ya2VyIHNob3VsZCBub3QgaW50ZXJjZXB0IGZldGNo
KCkuIGFzc2VydF9lcXVhbHM6IGRhdGEgVVJMIHdvcmtlciBzaG91bGQgbm90IGludGVyY2VwdCBm
ZXRjaCBleHBlY3RlZCAiIiBidXQgZ290ICJpbnRlcmNlcHRlZCIKK1BBU1MgRGF0YSBVUkwgd29y
a2VyIHNob3VsZCBub3QgaW50ZXJjZXB0IGZldGNoKCkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYTBjOWNh
NDQ1ZWEwNzg4Njc0NDcyNGMzMjE1MmZmNDE5YTg0NTdkNy4uNGU2YmYxNzhmOTA2ZGY4YjVjMTU0
NDQyYTNmNTYyZWM3YWE4NWNiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2Vy
LWNsaWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29y
a2VyLWNsaWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
VmVyaWZ5IHdvcmtlcnMgaGF2ZSBhIHVuaXF1ZSBjbGllbnQgaWQgc2VwYXJhdGUgZnJvbSB0aGVp
ciBvd25pbmcgZG9jdW1lbnRzIHdpbmRvdyBhc3NlcnRfbm90X2VxdWFsczogZnJhbWUgYW5kIHdv
cmtlciBjbGllbnQgaWRzIHNob3VsZCBiZSBkaWZmZXJlbnQgZ290IGRpc2FsbG93ZWQgdmFsdWUg
IjJjNGY3OTM2LTljNzYtNGVkNC1iOGU1LTBiMTBlYzJiZWE0MiIKK1BBU1MgVmVyaWZ5IHdvcmtl
cnMgaGF2ZSBhIHVuaXF1ZSBjbGllbnQgaWQgc2VwYXJhdGUgZnJvbSB0aGVpciBvd25pbmcgZG9j
dW1lbnRzIHdpbmRvdwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50
ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDI4
M2ZmN2E3YzIwOGMyMGRiMTY5YmZjZTBlODBiNzVlMWJjYjM0ZjkuLmJhMTRlZGZlMjJjZTA5MmE3
ZTk1MjE1N2M1NDhmMDk2NTBkYTBjZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC04LDIwICs4LDIwIEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1z
Y29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5l
dHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKQotRkFJ
TCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpIGFz
c2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZB
SUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpIGFz
c2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BB
U1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQor
UEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlcikK
IEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyKSBh
c3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBG
QUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3Nl
cnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlM
IENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikg
YXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQot
RkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtl
cikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRX
b3JrZXIpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyKQogRkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBT
aGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKIEZBSUwgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBT
aGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKIFBBU1MgY2xlYW51cCBnbG9iYWwgc3RhdGUKLUZBSUwgQ2FzZSAjMTogbmV0
d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlw
dHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9t
IHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Nj
b3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2
ZWQgZnJvbSBuZXR3b3JrIChzY29wZTIvKSIKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0
IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNT
IENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3Jr
IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikK
IFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdv
cmtlciwgaW1wb3J0U2NyaXB0cygpKQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2Nv
cGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0
IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNl
ICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRj
aCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+
c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9ydC1zY3Jp
cHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsg
KHNjb3BlMi8pIgogRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2lj
IFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6
IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6
IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKQEAgLTI5LDExICsyOSwxMSBAQCBQQVNT
IENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBs
b2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1
bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBGQUlMIENhc2UgIzE6IG5ldHdvcmsg
c2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6
IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUu
dHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCiBQ
QVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGxvY2F0aW9uLmhyZWYpCi1GQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5
IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIgotRkFJTCBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwg
ZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZl
dGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlXG4i
CitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNh
dGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUx
LT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwg
bG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAo
bW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQotRkFJTCBDYXNlICMyOiBu
ZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
aW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKK1BBU1Mg
Q2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtl
ciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9k
dWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAjMjogbmV0d29y
ayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMo
KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRo
ZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9y
dC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5l
dHdvcmsiCiBGQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMg
U2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTog
c3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBs
ZSB0ZXh0IGZpbGVcbiIKQEAgLTQxLDQgKzQxLDE2IEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBz
Y29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQ
QVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3Jr
ZXIsIGltcG9ydFNjcmlwdHMoKSkKIEZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1z
Y29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0
Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlXG4iCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUx
LT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCitGQUlMIENh
c2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0
U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cyIHNhdyBpbXBvcnRTY3JpcHRz
IGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc3ViZGlyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgInN3MiBzYXcgaW1wb3J0
U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3Njb3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IgorRkFJTCBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9z
aW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9z
aW1wbGUudHh0IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRp
Y2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYg
ZXhwZWN0ZWQgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zdWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3
b3JrZXIucHk/Z3JlZXRpbmc9c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUy
MHdvcmtlciUyMHNjcmlwdCIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0
aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weSIKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29w
ZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK0ZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRo
ZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRp
ci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRo
ZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3Bl
Mi9zaW1wbGUudHh0IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERl
ZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0X2VxdWFsczogbG9jYXRpb24uaHJl
ZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dl
Yndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhl
JTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNl
cHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBm
ZXRjaCgpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRp
Y2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENh
c2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRj
aCgpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRl
ZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
d29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA4ZDRjYTQ5YmQ5
M2I0Yzk2OTIyMzFlMmRlZGJlMzIzNThmNmIwZmM4Li4xNmM0MzkzM2JiYjk3NWVjZjY2MGVlNjdl
ZDM2M2FlYjRiNGYzODdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50
ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3Jr
ZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBAQAogCi1G
QUlMIFZlcmlmeSBhIGRlZGljYXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20g
YSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNl
cnZpY2Ugd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogdW5kZWZpbmVkCi1GQUlMIFZlcmlmeSBhbiBvdXQtb2Ytc2NvcGUgZGVkaWNhdGVkIHdvcmtl
ciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRyb2xsZWQgZG9jdW1lbnQgc2hvdWxk
IG5vdCBiZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAid29ya2VyIGxvYWRpbmcgd2FzIG5vdCBpbnRlcmNlcHRlZCBieSBz
ZXJ2aWNlIHdvcmtlciIgYnV0IGdvdCAid29ya2VyIGxvYWRpbmcgaW50ZXJjZXB0ZWQgYnkgc2Vy
dmljZSB3b3JrZXIiCitQQVNTIFZlcmlmeSBhIGRlZGljYXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVl
c3QgaXNzdWVkIGZyb20gYSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkg
d29ya2VyJ3Mgb3duIHNlcnZpY2Ugd29ya2VyLgorUEFTUyBWZXJpZnkgYW4gb3V0LW9mLXNjb3Bl
IGRlZGljYXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSBjb250cm9sbGVk
IGRvY3VtZW50IHNob3VsZCBub3QgYmUgaW50ZXJjZXB0ZWQgYnkgZG9jdW1lbnQncyBzZXJ2aWNl
IHdvcmtlci4KIEZBSUwgVmVyaWZ5IGEgc2hhcmVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1
ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIn
cyBvd24gc2VydmljZSB3b3JrZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiB1bmRlZmluZWQKLUZBSUwgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNj
cmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIGRl
ZGljYXRlZCB3b3JrZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiB1bmRlZmluZWQKK1BBU1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBz
ZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIGRlZGljYXRl
ZCB3b3JrZXIuCiBGQUlMIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVk
IGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBzaGFyZWQgd29ya2Vy
LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5kZWZpbmVk
Ci1QQVNTIFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdv
cmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LgorRkFJTCBWZXJpZnkgYSBjb3JzIHdv
cmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdv
cmtlciBzdGFydC4gYXNzZXJ0X2VxdWFsczogRXhwZWN0ZWQgZXJyb3IgZXZlbnQsIGJ1dCBnb3Qg
bWVzc2FnZSBldmVudCBpbnN0ZWFkIGV4cGVjdGVkICJlcnJvciIgYnV0IGdvdCAibWVzc2FnZSIK
IFBBU1MgVmVyaWZ5IGEgY29ycyB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29y
a2VyIGZhaWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jv
c3Mtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMg
ZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmln
aW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQg
d29ya2VyIHN0YXJ0LgogUEFTUyBSZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciB3b3JrZXIg
c3VicmVzb3VyY2UgaW50ZXJjZXB0aW9uIHRlc3RzLgotRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGlj
YXRlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQg
Z290ICJ7XCJlcnJvclwiOiB7XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9fSIK
K1BBU1MgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2
aWNlIHdvcmtlci4KIEZBSUwgUmVxdWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQg
YnkgYSBzZXJ2aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3
YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAie1wiZXJyb3JcIjoge1wiY29k
ZVwiOiA0MDQsIFwibWVzc2FnZVwiOiBcIjQwNFwifX0iCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVk
aWNhdGVkIHdvcmtlciBuZXN0ZWQgaW4gYSBkZWRpY2F0ZWQgd29ya2VyIGFuZCBjb250cm9sbGVk
IGJ5IGEgc2VydmljZSB3b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3
YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogV29ya2VyIgogRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRl
ZCB3b3JrZXIgbmVzdGVkIGluIGEgc2hhcmVkIHdvcmtlciBhbmQgY29udHJvbGxlZCBieSBhIHNl
cnZpY2Ugd29ya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nl
c3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIlVuZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZp
bmQgdmFyaWFibGU6IFdvcmtlciIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457346</attachid>
            <date>2022-04-12 10:52:32 -0700</date>
            <delta_ts>2022-04-13 01:29:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239066-20220412195230.patch</filename>
            <type>text/plain</type>
            <size>91773</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEzMjkxMDFkOWMwMDZj
NDFhZDBlYmVjNGM3NGJhNzc0NjA3ZTNmMy4uNDI1NGRlNWZiNDlhNjczNDFjZjBiYWVlOTRhZDJk
Njc0ZDVlZmEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDIyLTA0LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2Ugd29ya2VycyBh
cyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNo
aW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGV4cG9zaW5nIHdvcmtlcnMgKGRlZGlj
YXRlZCBhbmQgc2hhcmVkKSBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzLgorICAgICAgICBBZGQg
c3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgY29udHJvbGxpbmcgcmVnaXN0cmF0aW9uIGZvciBkZWRp
Y2F0ZWQgd29ya2VycworICAgICAgICAoYSBmb2xsb3ctdXAgcGF0Y2ggc2hvdWxkIGhhbmRsZSBz
aGFyZWQgd29ya2VycykuCisgICAgICAgIFRvIHByb3Blcmx5IGhhbmRsZSBsb2FkcyBjb21pbmcg
ZnJvbSBhIHdvcmtlciwgd2UgcHJvcGVybHkgc2V0IGNsaWVudElkZW50aWZpZXIgYW5kIHJlZ2lz
dHJhdGlvbiBpZGVudGlmaWVyCisgICAgICAgIGZyb20gdGhlIHdvcmtlciBjb250ZXh0LCBpbnN0
ZWFkIG9mIGZyb20gdGhlIHdvcmtlcidzIGRvY3VtZW50LgorCisgICAgICAgIFNtYWxsIHJlZmFj
dG9yaW5nIHRvIHBhc3MgYWRkaXRpb25hbCBkYXRhIHRvIHdvcmtlciB0aHJvdWdoIFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHNldCB0aGUgY29udGV4
dCBJRCBhbmQgY29udGV4dCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KKworICAgICAgICBB
ZGRpbmcgYSBzcGVjaWZpYyBjaGVjayBpbiBDYWNoZWRSZXNvdXJjZUxvYWRlciB0byBub3QgcmV1
c2UgdGhlIGNhY2hlIGluIGNhc2UgdGhlIHNlcnZpY2Ugd29ya2VyIG1vZGVzIGFyZSBkaWZmZXJl
bnQuCisgICAgICAgIEEgcG90ZW50aWFsIGlzc3VlIGlzIHRoYXQgdGhlIHNlcnZpY2Ugd29ya2Vy
cyBhcmUgdGhlIHNhbWUgKDApIGFzIG9uZSByZXF1ZXN0IGlzIHRoZSBtYWluIHJlcXVlc3QKKyAg
ICAgICAgYW5kIHRoZSBzZWNvbmQgcmVxdWVzdCBpcyB0aGUgcmVxdWVzdCB0cmlnZ2VyZWQgYnkg
c2VydmljZSB3b3JrZXIgdG8gYW5zd2VyIHRoZSBmaXJzdCByZXF1ZXN0LgorCisgICAgICAgIFBy
b3Blcmx5IHN1cHBvcnQgYmxvYiBVUkwgbWF0Y2hpbmcgZGlyZWN0bHkgaW4gV29ya2VyU2NyaXB0
TG9hZGVyIGZvciB3b3JrZXJzLgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy5odG1sCisKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICog
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9GZXRjaE9wdGlvbnMuaDoKKyAgICAgICAgKiBs
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5o
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0
YS5oOiBBZGRlZC4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2Ny
aXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rp
b24uY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmg6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAg
ICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICog
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHA6CisKIDIw
MjItMDQtMTEgIFR5bGVyIFdpbGNvY2sgIDx0eWxlcl93QGFwcGxlLmNvbT4KIAogICAgICAgICBB
WDogVXBkYXRlIGlzb2xhdGVkIHRyZWUgaW4gcmVzcG9uc2UgdG8gQVhSZWFkT25seVN0YXR1c0No
YW5nZWQsIEFYUmVxdWlyZWRTdGF0dXNDaGFuZ2VkLCBhbmQgQVhQcmVzc2VkU3RhdGVDaGFuZ2Vk
IG5vdGlmaWNhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNmUwNmQwZDc3N2M3NGFlZWUxOGZmOTE5NWVhMjBm
ODQ0ZjIzOTFiYS4uY2I1OGZiY2QzMzNkZmMxZDE4NGE2YjE3YjA3ZDEwNzI4ZGU2ZTQxZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMi0wNC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIg
Y2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVk
IHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzOTA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJldXNlIHRoZSBzYW1lIHN0cmF0ZWd5IGZvciBEZWRpY2F0ZWRXb3JrZXJzIGFzIGZvciBEb2N1
bWVudHMgdG8gbWF0Y2ggcmVnaXN0cmF0aW9ucyBhbmQgY29udHJvbCB0aGVuOgorICAgICAgICAt
IERvIG1hdGNoaW5nIGluIG5ldHdvcmsgcHJvY2VzcworICAgICAgICAtIElmIG1hdGNoaW5nLCBz
ZW5kIGEgbWVzc2FnZSB0byBXZWJQcm9jZXNzIHRvIHNldCB0aGUgbWF0Y2hpbmcgcmVnaXN0cmF0
aW9uIGRhdGEuCisgICAgICAgIEFkZCBzcGVjaWZpYyBoYW5kbGluZyBmb3Igd29ya2VyIHJlZ2lz
dHJhdGlvbiByZW1hdGNoaW5nIGluIGNhc2Ugb2YgcmVkaXJlY3Rpb25zOgorICAgICAgICAtIElm
IHJlZGlyZWN0aW9uIGNvbWVzIGZyb20gc2VydmljZSB3b3JrZXIgKHZpYSByZXNwb25kV2l0aCks
IGRvIHJlbWF0Y2hpbmcuCisgICAgICAgIC0gSWYgcmVkaXJlY3Rpb24gY29tZXMgZnJvbSBuZXR3
b3JrLCBkbyBub3QgZG8gcmVtYXRjaGluZy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2Vydmlj
ZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKwogMjAyMi0w
NC0xMSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dL
Ml0gU2ltcGxpZnkgSVBDIGVuY29kaW5nLCBkZWNvZGluZyBvZiB0dXBsZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggZjc0MzM4ZThkMzIyMjcw
YTM4MGYyNDlhNjQyZTRlYTBmOTIyODZlMS4uOWRlZGQwN2MzNmMwMDAxOGNmYTBlZjUxMmFiMzM1
YjUyNTYzYTc5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRl
ci5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVy
LmgiCiAjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIlRocmVhZGFi
bGVCbG9iUmVnaXN0cnkuaCIKQEAgLTExNyw2ICsxMTgsMTQgQEAgdm9pZCBGZXRjaExvYWRlcjo6
c3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0
JiByZXEKICAgICBpZiAob3B0aW9ucy5yZWZlcnJlclBvbGljeSA9PSBSZWZlcnJlclBvbGljeTo6
RW1wdHlTdHJpbmcpCiAgICAgICAgIG9wdGlvbnMucmVmZXJyZXJQb2xpY3kgPSBjb250ZXh0LnJl
ZmVycmVyUG9saWN5KCk7CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKGF1
dG8qIGFjdGl2ZVNlcnZpY2VXb3JrZXIgPSBjb250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkK
KyAgICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFj
dGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKKyAgICBlbHNlCisg
ICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gU2VydmljZVdvcmtlcnNNb2RlOjpO
b25lOworI2VuZGlmCisgICAgb3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gY29udGV4dC5pZGVu
dGlmaWVyKCk7CisKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShjb250
ZXh0LCAqdGhpcywgV1RGTW92ZShmZXRjaFJlcXVlc3QpLCBvcHRpb25zLCBXVEZNb3ZlKHJlZmVy
cmVyKSk7CiAgICAgbV9pc1N0YXJ0ZWQgPSBtX2xvYWRlcjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2N2Q2Y2MxM2QyODJi
NWViNzM3MjNiOThmMzZjNTM3YjdlM2EyNjFhLi5hZGMyYmYyOTRjMmUyOWY2MDlhOTBmMmM3MDM0
ZTUxNmI2NjQ5ZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0xMDY1LDYgKzEwNjUsNyBAQAogCQkzRkY4MTNBNzFEQkE4NjQw
MDA5QkYwMDEgLyogUG9pbnRlckxvY2tDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0ZDNDM0RjE5MjQwNkE5MDBBMEQzQjUgLyogUG9p
bnRlckxvY2tDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDEwNzkwOEMxRkMzRjAzMzAwNjFCMjdBIC8qIENsaWVudE9yaWdpbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwNzkwOEEx
RkMzRTRGMjAwNjFCMjdBIC8qIENsaWVudE9yaWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMEJDRjU2MjZGMENEOEMwMDQwQjEyNCAvKiBS
VENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMEJDRjUzMjZGMENEOEIwMDQwQjEyNCAvKiBSVENMb2Nh
bFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaCAqLzsgfTsKKwkJNDEwQzQ4QTcyODA0MjBGODAwODRE
MTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwQzQ4QTYyODA0MjBGMjAwODREMTA0IC8qIFdvcmtl
ckluaXRpYWxpemF0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxMEU0NDYxMjM0MzczRTkwMDAxNzNENCAvKiBMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTBFNDQ1RjIzNDM3M0FEMDAwMTczRDQgLyogTGliV2ViUlRDU29ja2V0SWRlbnRpZmll
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQx
MTAwQzgwMjNGNzQ1ODMwMDFCQzMzQiAvKiBXZWJTb2NrZXRDaGFubmVsSW5zcGVjdG9yLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEwMEM3RTIzRjcz
OTgyMDAxQkMzM0IgLyogV2ViU29ja2V0Q2hhbm5lbEluc3BlY3Rvci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMTAzQUFDMUUzOTc5MTAwMDc2
OUYwMyAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTAzQUE4MUUzOTc5MEEwMDc2OUYwMyAvKiBS
ZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCAqLzsgfTsKQEAgLTEzNTMsNyArMTM1NCw3IEBA
CiAJCTQ2NzJBQTk5MjZCMDk0M0YwMEU2RUMzOCAvKiBDcm9zc09yaWdpbk9wZW5lclBvbGljeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3MkFBOTcy
NkIwOTQyMTAwRTZFQzM4IC8qIENyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDY3MzAyMDIxQzRFRkU3ODAw
QkNCMzU3IC8qIElnbm9yZU9wZW5zRHVyaW5nVW5sb2FkQ291bnRJbmNyZW1lbnRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3MzAyMDExQzRFRkU2
NjAwQkNCMzU3IC8qIElnbm9yZU9wZW5zRHVyaW5nVW5sb2FkQ291bnRJbmNyZW1lbnRlci5oICov
OyB9OwogCQk0NjdBNjhENzI3NUVBOTkxMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFkLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENDI3
NUVBOThCMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFkLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDY3QTY4RDgyNzVFQTk5NTAwOUIzMUM1
IC8qIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3QTY4RDUyNzVFQTk4QzAwOUIzMUM1IC8qIFNoYXJlZFdv
cmtlclNjcmlwdExvYWRlci5oICovOyB9OworCQk0NjdBNjhEODI3NUVBOTk1MDA5QjMxQzUgLyog
U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENTI3NUVBOThDMDA5QjMxQzUgLyogU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDY3QTY4RDkyNzVFQTk5ODAwOUIzMUM1IC8qIFNoYXJlZFdvcmtlclRocmVhZFBy
b3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdB
NjhENjI3NUVBOThDMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjgyRDIwMDFGNzk3
ODMwMDBDODYzREIgLyogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2ODJEMUZGMUY3OTc4MjMwMEM4NjNEQiAv
KiBTdG9yZWRDcmVkZW50aWFsc1BvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTQ2ODM0NEUwMUVEREZBQUEwMEI3Nzk1QiAvKiBET01SZWN0
TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY4
MzQ0REUxRURERkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg1NjYsNiArODU2Nyw3IEBACiAJCTQx
MEJBMTMxMjU3MEZFNTcwMDJFMkY4QSAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBCQ0Y1MzI2
RjBDRDhCMDA0MEIxMjQgLyogUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5p
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBCQ0Y1NTI2RjBDRDhDMDA0MEIx
MjQgLyogUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0MTBDNDhBNjI4MDQyMEYyMDA4NEQxMDQgLyogV29ya2VySW5pdGlh
bGl6YXRpb25EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBFNDQ1
RjIzNDM3M0FEMDAwMTczRDQgLyogTGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg7IHBh
dGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTBGNTY1NTI0RkNGNzA1MDBBMkU1MEMgLyogUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uSW5pdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uSW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEY1NjU3MjRG
Q0Y3QzcwMEEyRTUwQyAvKiBSVENJY2VDYW5kaWRhdGVJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBSVENJY2VDYW5kaWRhdGVJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTIwOTQ0LDYgKzIwOTQ2LDcgQEAKIAkJCQkyRTQzNDYzNzBGNTQ2QTgyMDBCMEYxQkEg
LyogV29ya2VyR2xvYmFsU2NvcGUuaCAqLywKIAkJCQkyRTQzNDYzODBGNTQ2QTgyMDBCMEYxQkEg
LyogV29ya2VyR2xvYmFsU2NvcGUuaWRsICovLAogCQkJCTJFNDM0NjM5MEY1NDZBODIwMEIwRjFC
QSAvKiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LmggKi8sCisJCQkJNDEwQzQ4QTYyODA0MjBGMjAw
ODREMTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oICovLAogCQkJCUE1NEEwQzY5MURC
ODMxRjEwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JQcm94eS5jcHAgKi8sCiAJCQkJQTU0QTBD
NkExREI4MzFGMjAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvclByb3h5LmggKi8sCiAJCQkJMThG
ODMxQjcwRkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5LmggKi8sCkBAIC0zODM0
Miw2ICszODM0NSw3IEBACiAJCQkJQTdENkIzNDkwRjYxMTA0NTAwRkY5RkQxIC8qIFdvcmtlckZv
bnRMb2FkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NDkwRjU0NkE4MjAwQjBG
MUJBIC8qIFdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0QjBG
NTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNDEwQzQ4QTcyODA0MjBGODAwODREMTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBDNjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtl
ckluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzZDMURCODMx
RjkwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MThGODMxQjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYjY4NTI1ZDljMmI5NzNlZjc1MTVkMDY2ZWIx
NmFjMzFkZmRjNDI0Mi4uMTA0MWQxNmJjZDI4M2VhNjhjYTI0ZGNiZWE4ZTk0Zjk5YWQ2ZWRiYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1NjgsNyArMTU2OCw3IEBAIHB1YmxpYzoKIAogI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJDb25uZWN0
aW9uKFNXQ2xpZW50Q29ubmVjdGlvbiopOwotICAgIHZvaWQgdXBkYXRlU2VydmljZVdvcmtlckNs
aWVudERhdGEoKTsKKyAgICB2b2lkIHVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkgZmlu
YWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBuYXZpZ2F0ZUZyb21TZXJ2aWNlV29ya2VyKGNv
bnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IDNmZmM1ZmRl
MDViN2QzMGIxMjAyMWM1OTAzN2EwOWQ3YTY0NDE0YWUuLmMyM2VmZDA0MjViODZmYjQ0NjljYzM0
M2EwMzIyOGI4OGNlMjZkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaApAQCAtMjg5LDYgKzI4OSw3IEBAIHB1YmxpYzoKIAogICAgIFNlcnZpY2VXb3Jr
ZXJDb250YWluZXIqIHNlcnZpY2VXb3JrZXJDb250YWluZXIoKTsKICAgICBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyKiBlbnN1cmVTZXJ2aWNlV29ya2VyQ29udGFpbmVyKCk7CisgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsgfQogI2VuZGlmCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgcG9zdFRhc2tUbyhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgVGFzayYmKTsKICAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgYm9vbCBlbnN1cmVPbkNvbnRleHRUaHJlYWQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXIsIFRhc2smJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmNwcAppbmRleCA1NTY4MmQwZTQ3Y2Y4YWFlNzdmNDk3ODM0MTc5M2EzNWQ1NTQwYWMxLi40
MTY5N2Y1MzBmMWVlY2FkMGMyN2YzYTRlZTJkYzkwOTNmNzAyMjViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTIxNDAsNiArMjE0MCw3IEBAIHZvaWQgRG9j
dW1lbnRMb2FkZXI6OmxvYWRNYWluUmVzb3VyY2UoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkK
ICAgICAgICAgbV9yZXN1bHRpbmdDbGllbnRJZCA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyOjpnZW5lcmF0ZSgpOwogICAgICAgICBBU1NFUlQoIXNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyVG9Mb2FkZXJNYXAoKS5jb250YWlucyhtX3Jlc3VsdGluZ0NsaWVudElkKSk7
CiAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Mb2FkZXJNYXAoKS5h
ZGQobV9yZXN1bHRpbmdDbGllbnRJZCwgdGhpcyk7CisgICAgICAgIG1haW5SZXNvdXJjZUxvYWRP
cHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBtX3Jlc3VsdGluZ0NsaWVudElkOwogICAgIH0KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgKaW5kZXggNWFjZTAxNWJkNWVm
NzI5M2I2MGVhMWU2YTZkZTFlOGNmODFlODlhZS4uMzk1ZGYwNDZkNDZhNWQ1YmQ4NTY2N2VmMGQ3
YjJjZDQ0OTMzNThhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0
aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaApAQCAtNDQs
OSArNDQsOSBAQCBzdHJ1Y3QgRmV0Y2hPcHRpb25zIHsKICAgICBlbnVtIGNsYXNzIFJlZGlyZWN0
IDogdWludDhfdCB7IEZvbGxvdywgRXJyb3IsIE1hbnVhbCB9OwogCiAgICAgRmV0Y2hPcHRpb25z
KCkgPSBkZWZhdWx0OwotICAgIEZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiwgTW9kZSwgQ3JlZGVu
dGlhbHMsIENhY2hlLCBSZWRpcmVjdCwgUmVmZXJyZXJQb2xpY3ksIFN0cmluZyYmLCBib29sKTsK
LSAgICBGZXRjaE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29uc3QgJiB7IHJldHVybiB7IGRlc3Rp
bmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGlj
eSwgaW50ZWdyaXR5Lmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUgfTsgfQotICAgIEZldGNoT3B0
aW9ucyBpc29sYXRlZENvcHkoKSAmJiB7IHJldHVybiB7IGRlc3RpbmF0aW9uLCBtb2RlLCBjcmVk
ZW50aWFscywgY2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGljeSwgV1RGTW92ZShpbnRlZ3Jp
dHkpLmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUgfTsgfQorICAgIEZldGNoT3B0aW9ucyhEZXN0
aW5hdGlvbiwgTW9kZSwgQ3JlZGVudGlhbHMsIENhY2hlLCBSZWRpcmVjdCwgUmVmZXJyZXJQb2xp
Y3ksIFN0cmluZyYmLCBib29sLCBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyPik7CisgICAgRmV0Y2hPcHRpb25zIGlzb2xhdGVkQ29weSgpIGNvbnN0ICYgeyBy
ZXR1cm4geyBkZXN0aW5hdGlvbiwgbW9kZSwgY3JlZGVudGlhbHMsIGNhY2hlLCByZWRpcmVjdCwg
cmVmZXJyZXJQb2xpY3ksIGludGVncml0eS5pc29sYXRlZENvcHkoKSwga2VlcEFsaXZlLCBjbGll
bnRJZGVudGlmaWVyIH07IH0KKyAgICBGZXRjaE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgJiYgeyBy
ZXR1cm4geyBkZXN0aW5hdGlvbiwgbW9kZSwgY3JlZGVudGlhbHMsIGNhY2hlLCByZWRpcmVjdCwg
cmVmZXJyZXJQb2xpY3ksIFdURk1vdmUoaW50ZWdyaXR5KS5pc29sYXRlZENvcHkoKSwga2VlcEFs
aXZlLCBjbGllbnRJZGVudGlmaWVyIH07IH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+
IHZvaWQgZW5jb2RlUGVyc2lzdGVudChFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZVBlcnNpc3Rl
bnQoRGVjb2RlciYsIEZldGNoT3B0aW9ucyYpOwpAQCAtNTksMjAgKzU5LDIxIEBAIHN0cnVjdCBG
ZXRjaE9wdGlvbnMgewogICAgIENhY2hlIGNhY2hlIHsgQ2FjaGU6OkRlZmF1bHQgfTsKICAgICBS
ZWRpcmVjdCByZWRpcmVjdCB7IFJlZGlyZWN0OjpGb2xsb3cgfTsKICAgICBSZWZlcnJlclBvbGlj
eSByZWZlcnJlclBvbGljeSB7IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyB9OwotICAgIGJv
b2wga2VlcEFsaXZlIHsgZmFsc2UgfTsKICAgICBTdHJpbmcgaW50ZWdyaXR5OworICAgIGJvb2wg
a2VlcEFsaXZlIHsgZmFsc2UgfTsKICAgICBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlmaWVyOwogfTsKIAotaW5saW5lIEZldGNoT3B0
aW9uczo6RmV0Y2hPcHRpb25zKERlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLCBNb2RlIG1vZGUsIENy
ZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDYWNoZSBjYWNoZSwgUmVkaXJlY3QgcmVkaXJlY3QsIFJl
ZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBTdHJpbmcmJiBpbnRlZ3JpdHksIGJvb2wga2Vl
cEFsaXZlKQoraW5saW5lIEZldGNoT3B0aW9uczo6RmV0Y2hPcHRpb25zKERlc3RpbmF0aW9uIGRl
c3RpbmF0aW9uLCBNb2RlIG1vZGUsIENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDYWNoZSBjYWNo
ZSwgUmVkaXJlY3QgcmVkaXJlY3QsIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBTdHJp
bmcmJiBpbnRlZ3JpdHksIGJvb2wga2VlcEFsaXZlLCBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlmaWVyKQogICAgIDogZGVzdGluYXRp
b24oZGVzdGluYXRpb24pCiAgICAgLCBtb2RlKG1vZGUpCiAgICAgLCBjcmVkZW50aWFscyhjcmVk
ZW50aWFscykKICAgICAsIGNhY2hlKGNhY2hlKQogICAgICwgcmVkaXJlY3QocmVkaXJlY3QpCiAg
ICAgLCByZWZlcnJlclBvbGljeShyZWZlcnJlclBvbGljeSkKLSAgICAsIGtlZXBBbGl2ZShrZWVw
QWxpdmUpCiAgICAgLCBpbnRlZ3JpdHkoV1RGTW92ZShpbnRlZ3JpdHkpKQorICAgICwga2VlcEFs
aXZlKGtlZXBBbGl2ZSkKKyAgICAsIGNsaWVudElkZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikK
IHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4
IDU5Y2RjYzJlYzRjNDhjMWFlYmY0ZTdiZjgxZTIyMDFhZDEwMjUyNDQuLmI1ZGQ0ZWY2YWE5ODFk
NjNjNTQ4NGE0MWVhZjU0YzY5ZjFmNGNlZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlci5jcHAKQEAgLTc3LDYgKzc3LDggQEAgVGhyZWFkYWJsZUxvYWRlck9wdGlv
bnMgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgY29w
eS5yZWRpcmVjdCA9IHRoaXMtPnJlZGlyZWN0OwogICAgIGNvcHkucmVmZXJyZXJQb2xpY3kgPSB0
aGlzLT5yZWZlcnJlclBvbGljeTsKICAgICBjb3B5LmludGVncml0eSA9IHRoaXMtPmludGVncml0
eS5pc29sYXRlZENvcHkoKTsKKyAgICBjb3B5LmtlZXBBbGl2ZSA9IHRoaXMtPmtlZXBBbGl2ZTsK
KyAgICBjb3B5LmNsaWVudElkZW50aWZpZXIgPSB0aGlzLT5jbGllbnRJZGVudGlmaWVyOwogCiAg
ICAgLy8gUmVzb3VyY2VMb2FkZXJPcHRpb25zCiAgICAgY29weS5zZW5kTG9hZENhbGxiYWNrcyA9
IHRoaXMtPnNlbmRMb2FkQ2FsbGJhY2tzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dv
cmtlclRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IGUyOTU4OWMyZmYyNDAwNDI1MzVjM2MwMzk2
ZmM4YjQ3NjI0NDJhYTAuLjk2ZTY0Zjk5ZTk2YjMwMTEyOWJlZTRiYTlkNzY0NjkyMGFiYzNkMjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5j
cHAKQEAgLTEzNiw3ICsxMzYsMTEgQEAgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVh
ZEJyaWRnZTo6TWFpblRocmVhZEJyaWRnZShUaHJlYWRhYmxlTG9hZGVyQ2xpZW4KICAgICBvcHRp
b25zQ29weS0+b3B0aW9ucy5zZXJ2aWNlV29ya2Vyc01vZGUgPSBpczxTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGU+KGdsb2JhbFNjb3BlKSA/IFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSA6IFNlcnZp
Y2VXb3JrZXJzTW9kZTo6QWxsOwogICAgIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0g
Z2xvYmFsU2NvcGUuYWN0aXZlU2VydmljZVdvcmtlcigpKQogICAgICAgICBvcHRpb25zQ29weS0+
b3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZp
Y2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKKyAgICBlbHNlCisgICAgICAgIG9w
dGlvbnNDb3B5LT5vcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IFNlcnZpY2VXb3JrZXJzTW9k
ZTo6Tm9uZTsKICNlbmRpZgorICAgIGlmICghb3B0aW9uc0NvcHktPm9wdGlvbnMuY2xpZW50SWRl
bnRpZmllcikKKyAgICAgICAgb3B0aW9uc0NvcHktPm9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9
IGdsb2JhbFNjb3BlLmlkZW50aWZpZXIoKTsKIAogICAgIGlmIChpczxXb3JrZXJHbG9iYWxTY29w
ZT4oZ2xvYmFsU2NvcGUpKQogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxT
ZW5kUmVxdWVzdChkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oZ2xvYmFsU2NvcGUpLCBtX3dv
cmtlclJlcXVlc3RJZGVudGlmaWVyLCByZXF1ZXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDdkNjFjY2I1MmI3
ZjUwZDdmOGM5NmI2ZjJiNTE0YWZkYWQ3Y2NkOWYuLjdmNjM4YzFjNWVhNmExYTBjNDQ3MjY5NGE3
ZjczNzdlNzIzODQzNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMTIwMiw4ICsxMjAyLDggQEAgQ2FjaGVkUmVz
b3VyY2VMb2FkZXI6OlJldmFsaWRhdGlvblBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0
ZXJtaW5lUmV2YWxpZGEKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICAvLyBGSVhN
RTogV2Ugc2hvdWxkIHZhbGlkYXRlL3NwZWNpZnkgdGhpcyBiZWhhdmlvci4KLSAgICBpZiAoY2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0Lm9wdGlvbnMoKS5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciAhPSBleGlzdGluZ1Jlc291cmNlLT5vcHRpb25zKCkuc2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIpIHsKLSAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hl
ZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kgcmVsb2FkaW5nIGJl
Y2F1c2Ugc2VsZWN0ZWQgc2VydmljZSB3b3JrZXIgZGlmZmVycyIpOworICAgIGlmIChjYWNoZWRS
ZXNvdXJjZVJlcXVlc3Qub3B0aW9ucygpLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyICE9IGV4aXN0aW5nUmVzb3VyY2UtPm9wdGlvbnMoKS5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciB8fCBjYWNoZWRSZXNvdXJjZVJlcXVlc3Qub3B0aW9ucygpLnNlcnZpY2VX
b3JrZXJzTW9kZSAhPSBleGlzdGluZ1Jlc291cmNlLT5vcHRpb25zKCkuc2VydmljZVdvcmtlcnNN
b2RlKSB7CisgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6ZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5IHJlbG9hZGluZyBiZWNhdXNlIHNlbGVjdGVk
IHNlcnZpY2Ugd29ya2VyIG1heSBkaWZmZXIiKTsKICAgICAgICAgcmV0dXJuIFJlbG9hZDsKICAg
ICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
VGhyZWFkLmNwcAppbmRleCBiN2Y5MTdkNmQ4YmRhMDVlZGI1OGQxMmY3ODVhM2IzOTIwODEyMDli
Li43NTAzMzJiM2RlNWVkZmQyZWU3NzU2NTAxNWY3Yjg2ZTFmNWJjNmEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCkBAIC00OCw3ICs0
OCwxMiBAQCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRpY2F0ZWRXb3JrZXJUaHJlYWQoKSA9
IGRlZmF1bHQ7CiAKIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyVGhyZWFk
OjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMs
IFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BP
cmlnaW4pCiB7Ci0gICAgcmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUo
cGFyYW1zLCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiksIGlkYkNv
bm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICBhdXRvIHNjb3BlID0gRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShwYXJhbXMsIFdURk1vdmUob3JpZ2luKSwg
KnRoaXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFBy
b3ZpZGVyKCkpOworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBpZiAocGFyYW1zLnNl
cnZpY2VXb3JrZXJEYXRhKQorICAgICAgICBzY29wZS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihT
ZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShzY29wZS5nZXQoKSwgU2VydmljZVdvcmtlckRhdGEg
eyAqcGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyNlbmRpZgorICAgIHJldHVybiBzY29w
ZTsKIH0KIAogdm9pZCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9vcCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggN2ZiYTYyODkxZGRiYWE2ZTY2NWMxNGJmOWVjMjhh
MjhiNDQ0MTU0Ny4uODgzZjdkM2YxMmFjODI3YmUwYzU5YTdhNDIyNzYyNWI0MmNkMDY5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCIK
ICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZVByb3h5LmgiCisjaW5jbHVkZSAiV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAjaW5j
bHVkZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSWRlbnRpZmll
cnNGYWN0b3J5Lmg+CkBAIC01NywxNSArNTgsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV29ya2VyKTsKIAotc3RhdGljIEhhc2hTZXQ8V29y
a2VyKj4mIGFsbFdvcmtlcnMoKQorc3RhdGljIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIsIFdvcmtlcio+JiBhbGxXb3JrZXJzKCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8SGFzaFNldDxXb3JrZXIqPj4gc2V0OwotICAgIHJldHVybiBzZXQ7CisgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIsIFdvcmtlcio+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKIH0KIAogdm9pZCBXb3JrZXI6Om5l
dHdvcmtTdGF0ZUNoYW5nZWQoYm9vbCBpc09uTGluZSkKIHsKLSAgICBmb3IgKGF1dG8qIHdvcmtl
ciA6IGFsbFdvcmtlcnMoKSkKKyAgICBmb3IgKGF1dG8qIHdvcmtlciA6IGFsbFdvcmtlcnMoKS52
YWx1ZXMoKSkKICAgICAgICAgd29ya2VyLT5ub3RpZnlOZXR3b3JrU3RhdGVDaGFuZ2UoaXNPbkxp
bmUpOwogfQogCkBAIC03NSw2ICs3Niw3IEBAIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncywKICAgICAs
IG1faWRlbnRpZmllcigid29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6
Y3JlYXRlSWRlbnRpZmllcigpKQogICAgICwgbV9jb250ZXh0UHJveHkoV29ya2VyR2xvYmFsU2Nv
cGVQcm94eTo6Y3JlYXRlKCp0aGlzKSkKICAgICAsIG1fcnVudGltZUZsYWdzKHJ1bnRpbWVGbGFn
cykKKyAgICAsIG1fY2xpZW50SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
Zmllcjo6Z2VuZXJhdGUoKSkKIHsKICAgICBzdGF0aWMgYm9vbCBhZGRlZExpc3RlbmVyOwogICAg
IGlmICghYWRkZWRMaXN0ZW5lcikgewpAQCAtODIsNyArODQsNyBAQCBXb3JrZXI6OldvcmtlcihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1l
RmxhZ3MsCiAgICAgICAgIGFkZGVkTGlzdGVuZXIgPSB0cnVlOwogICAgIH0KIAotICAgIGF1dG8g
YWRkUmVzdWx0ID0gYWxsV29ya2VycygpLmFkZCh0aGlzKTsKKyAgICBhdXRvIGFkZFJlc3VsdCA9
IGFsbFdvcmtlcnMoKS5hZGQobV9jbGllbnRJZGVudGlmaWVyLCB0aGlzKTsKICAgICBBU1NFUlRf
VU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogfQogCkBAIC0xMTQsNyAr
MTE2LDcgQEAgRXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IFdvcmtlcjo6Y3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEpTQzo6UnUKICAgICByZXF1ZXN0LnNldEluaXRpYXRv
cklkZW50aWZpZXIod29ya2VyLT5tX2lkZW50aWZpZXIpOwogCiAgICAgYXV0byBzb3VyY2UgPSBv
cHRpb25zLnR5cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlID8gV29ya2VyU2NyaXB0TG9hZGVyOjpT
b3VyY2U6Ok1vZHVsZVNjcmlwdCA6IFdvcmtlclNjcmlwdExvYWRlcjo6U291cmNlOjpDbGFzc2lj
V29ya2VyU2NyaXB0OwotICAgIHdvcmtlci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25v
dXNseShjb250ZXh0LCBXVEZNb3ZlKHJlcXVlc3QpLCBzb3VyY2UsIHdvcmtlckZldGNoT3B0aW9u
cyh3b3JrZXItPm1fb3B0aW9ucywgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSwg
Y29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxs
LCB3b3JrZXIuZ2V0KCksIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOworICAgIHdvcmtl
ci0+bV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShjb250ZXh0LCBXVEZNb3ZlKHJl
cXVlc3QpLCBzb3VyY2UsIHdvcmtlckZldGNoT3B0aW9ucyh3b3JrZXItPm1fb3B0aW9ucywgRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSwgY29udGVudFNlY3VyaXR5UG9saWN5RW5m
b3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCB3b3JrZXIuZ2V0KCksIFdvcmtlclJ1
bkxvb3A6OmRlZmF1bHRNb2RlKCksIHdvcmtlci0+bV9jbGllbnRJZGVudGlmaWVyKTsKIAogICAg
IHJldHVybiB3b3JrZXI7CiB9CkBAIC0xMjMsNyArMTI1LDcgQEAgV29ya2VyOjp+V29ya2VyKCkK
IHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpOyAvLyBUaGUgY29udGV4dCBpcyBwcm90ZWN0ZWQgYnkgd29ya2VyIGNvbnRl
eHQgcHJveHksIHNvIGl0IGNhbm5vdCBiZSBkZXN0cm95ZWQgd2hpbGUgYSBXb3JrZXIgZXhpc3Rz
LgotICAgIGFsbFdvcmtlcnMoKS5yZW1vdmUodGhpcyk7CisgICAgYWxsV29ya2VycygpLnJlbW92
ZShtX2NsaWVudElkZW50aWZpZXIpOwogICAgIG1fY29udGV4dFByb3h5Lndvcmtlck9iamVjdERl
c3Ryb3llZCgpOwogfQogCkBAIC0yMDgsMTMgKzIxMCwxOSBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5
RmluaXNoZWQoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYm9vbCBpc09ubGluZSA9
IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpOwogICAg
IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzID0gbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMgPyBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy52YWx1ZSgp
IDogY29udGV4dC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPnJlc3BvbnNlSGVhZGVycygpOwog
ICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5ID0gUmVmZXJyZXJQb2xpY3k6OkVtcHR5
U3RyaW5nOwogICAgIGlmIChhdXRvIHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9zY3Jp
cHRMb2FkZXItPnJlZmVycmVyUG9saWN5KCksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVh
ZGVyKSkKICAgICAgICAgcmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5OwogCi0gICAgbV9jb250ZXh0
UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+bGFzdFJlcXVlc3RV
UkwoKSwgbV9vcHRpb25zLm5hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+
bGFzdFJlcXVlc3RVUkwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fc2NyaXB0TG9hZGVyLT5jcm9zc09yaWdpbkVtYmVk
ZGVyUG9saWN5KCksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9vcHRp
b25zLnR5cGUsIG1fb3B0aW9ucy5jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOworICAgIFdv
cmtlckluaXRpYWxpemF0aW9uRGF0YSBpbml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKKyAgICAgICAgbV9zY3JpcHRMb2FkZXItPnRha2VTZXJ2aWNlV29ya2Vy
RGF0YSgpLAorI2VuZGlmCisgICAgICAgIG1fY2xpZW50SWRlbnRpZmllciwKKyAgICAgICAgY29u
dGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgpKQorICAgIH07
CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRl
ci0+bGFzdFJlcXVlc3RVUkwoKSwgbV9vcHRpb25zLm5hbWUsIFdURk1vdmUoaW5pdGlhbGl6YXRp
b25EYXRhKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBtX3NjcmlwdExvYWRlci0+Y3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSgpLCBtX3dvcmtl
ckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fb3B0aW9ucy50eXBlLCBtX29wdGlvbnMu
Y3JlZGVudGlhbHMsIG1fcnVudGltZUZsYWdzKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OnNjcmlwdEltcG9ydGVkKCpjb250ZXh0LCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigp
LCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkudG9TdHJpbmcoKSk7CiB9CiAKQEAgLTI1MSw4ICsy
NTksMTMgQEAgdm9pZCBXb3JrZXI6OnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlv
bjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4KIAogdm9pZCBXb3JrZXI6OmZvckVhY2hX
b3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik+KCk+JiBjYWxsYmFjaykKIHsKLSAgICBmb3IgKGF1dG8qIHdvcmtlciA6IGFsbFdvcmtlcnMo
KSkKKyAgICBmb3IgKGF1dG8qIHdvcmtlciA6IGFsbFdvcmtlcnMoKS52YWx1ZXMoKSkKICAgICAg
ICAgd29ya2VyLT5wb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoY2FsbGJhY2soKSk7CiB9CiAK
K1dvcmtlciogV29ya2VyOjp3b3JrZXJCeUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gYWxsV29ya2VycygpLmdldChp
ZGVudGlmaWVyKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmgKaW5kZXggNGQ1MGU2MTUwNTkxNzVkY2NhNThhNTBjZTNlN2I0ODk4YTRmNmIzYy4uYzY0
NTE4Yjc3OTRmNWMxMDc4ODQzOTRlYTQzYzY5MTI2Mjk1NjVlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5oCkBAIC04MSw3ICs4MSw5IEBAIHB1YmxpYzoKICAgICBXb3JrZXJUeXBlIHR5cGUoKSBj
b25zdCB7IHJldHVybiBtX29wdGlvbnMudHlwZTsgfQogCiAgICAgdm9pZCBwb3N0VGFza1RvV29y
a2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYp
OworCiAgICAgc3RhdGljIHZvaWQgZm9yRWFjaFdvcmtlcihjb25zdCBGdW5jdGlvbjxGdW5jdGlv
bjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4oKT4mKTsKKyAgICBzdGF0aWMgV29ya2Vy
KiB3b3JrZXJCeUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOwog
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
SlNDOjpSdW50aW1lRmxhZ3MsIFdvcmtlck9wdGlvbnMmJik7CkBAIC0xMTYsNiArMTE4LDcgQEAg
cHJpdmF0ZToKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFu
c2Zvcm1lcnM7CiAjZW5kaWYKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBt
X2NsaWVudElkZW50aWZpZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDU5MzNlMDc0ZThi
NjMyN2QwNTY2MWIzNDFlMTYyNzIwOTlmZDI5ZmIuLjQ2MTUzMzEzYjMyMmY3MWZkYjA4YzRjZGU5
Y2M1NTZiNzZmODJiODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuY3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW5Q
b2xpY3kuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUg
IlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgi
CiAjaW5jbHVkZSAiV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgpAQCAtOTEsNyArOTIs
NyBAQCBzdGF0aWMgV29ya1F1ZXVlJiBzaGFyZWRGaWxlU3lzdGVtU3RvcmFnZVF1ZXVlKCkKIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXJHbG9iYWxTY29wZSk7CiAKIFdvcmtlckds
b2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIGNvbnN0
IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtcywgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwg
V29ya2VyVGhyZWFkJiB0aHJlYWQsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3Zp
ZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKHR5
cGUsIGlzTWFpblRocmVhZCgpID8gUmVmIHsgY29tbW9uVk0oKSB9IDogSlNDOjpWTTo6Y3JlYXRl
KCksICZ0aHJlYWQpCisgICAgOiBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSh0eXBlLCBpc01h
aW5UaHJlYWQoKSA/IFJlZiB7IGNvbW1vblZNKCkgfSA6IEpTQzo6Vk06OmNyZWF0ZSgpLCAmdGhy
ZWFkLCBwYXJhbXMuY2xpZW50SWQpCiAgICAgLCBtX3VybChwYXJhbXMuc2NyaXB0VVJMKQogICAg
ICwgbV9pbnNwZWN0b3JJZGVudGlmaWVyKHBhcmFtcy5pbnNwZWN0b3JJZGVudGlmaWVyKQogICAg
ICwgbV91c2VyQWdlbnQocGFyYW1zLnVzZXJBZ2VudCkKQEAgLTY1Myw0ICs2NTQsMTQgQEAgdm9p
ZCBXb3JrZXJHbG9iYWxTY29wZTo6dXBkYXRlU291cmNlUHJvdmlkZXJCdWZmZXJzKGNvbnN0IFNj
cmlwdEJ1ZmZlciYgbWFpblNjcmkKICAgICB9CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCit2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YSgpCit7CisgICAgQVNTRVJUKHR5cGUoKSA9PSBXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6
VHlwZTo6RGVkaWNhdGVkV29ya2VyKTsKKyAgICBhdXRvIGNvbnRyb2xsaW5nU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyKCkgPyBzdGQ6Om1h
a2Vfb3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+KGFjdGl2ZVNl
cnZpY2VXb3JrZXIoKS0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpKSA6IHN0ZDo6bnVsbG9wdDsK
KyAgICBTV0NsaWVudENvbm5lY3Rpb24mIGNvbm5lY3Rpb24gPSBzd0NsaWVudENvbm5lY3Rpb24o
KTsKKyAgICBjb25uZWN0aW9uLnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0b3BPcmlnaW4o
KSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9sbGluZ1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTdHJpbmcgeyBtX3VzZXJBZ2VudCB9KTsK
K30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggZWFhNTgyMDc0ZmFmYzQ2NGMzMjhmODNlNjUy
OGJkYTA3ZGNjMmQ1Mi4uNThiYmQ2NTc3ZmE0MzcyMDdlOWJhNzZkZGVlNzNlMzk2NGRlZDZjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMTkyLDYg
KzE5Miw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCB3cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYga2V5LCBWZWN0b3I8dWludDhfdD4mIHdyYXBwZWRLZXkpIGZpbmFsOwogICAgIGJv
b2wgdW53cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVj
dG9yPHVpbnQ4X3Q+JiBrZXkpIGZpbmFsOwogI2VuZGlmCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09S
S0VSKQorICAgIHZvaWQgdXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKSBmaW5hbDsKKyNl
bmRpZgogCiAgICAgdm9pZCBzdG9wSW5kZXhlZERhdGFiYXNlKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggMmJhYjI2NzM1ZGUx
OWI0YjUxMTEwN2E2YWNkOTllMjk4NjQ1NzNjZC4uOGE1MGE3MDA3MzcxNTU5NGVlMWQ0Y2MyM2U3
OThjMzgxOWE1MTQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZVByb3h5LmgKQEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzOwogY2xhc3MgU2NyaXB0QnVmZmVyOwogY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKIGNsYXNzIFdvcmtlcjsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlv
bkRhdGE7CiBlbnVtIGNsYXNzIFJlZmVycmVyUG9saWN5IDogdWludDhfdDsKIGVudW0gY2xhc3Mg
V29ya2VyVHlwZSA6IGJvb2w7CiAKQEAgLTUxLDcgKzUyLDcgQEAgY2xhc3MgV29ya2VyR2xvYmFs
U2NvcGVQcm94eSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkm
IGNyZWF0ZShXb3JrZXImKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNj
b3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTY3JpcHRCdWZmZXImIHNvdXJjZUNv
ZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBDcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5JiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGlj
eSwgV29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdz
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
JiYsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmLCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVl
c3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
dGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RN
ZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2
b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY5NzBk
MDRhM2E3MGMxODk1Y2U5NzE5NTgyNmQwOTljNjcwOGFlYQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKQEAgLTAsMCAr
MSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCBSaWdodHMg
UmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIu
aCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyRGF0YS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBXb3JrZXJJbml0aWFs
aXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJEYXRhPiBzZXJ2aWNlV29ya2VyRGF0YTsKKyNlbmRpZgorICAgIHN0
ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IGNsaWVudElkZW50
aWZpZXI7CisgICAgU3RyaW5nIHVzZXJBZ2VudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAK
aW5kZXggYzMxMTFhMmY3ZjVmZjI5MThmZmVjNTBiYjMxMDNjMDVlMTI4NzRjMy4uY2JlZDQ5Yzlm
OTA4MWJkZWJjZmJmZGI5MjFlMzRmMzI2NTM1Y2M2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTM4LDExICszOCwxNCBAQAogI2lu
Y2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5o
IgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCisjaW5jbHVkZSAiTG9hZGVyU3RyYXRl
Z3kuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5j
bHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiV29ya2VyLmgiCisjaW5j
bHVkZSAiV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VySW5zcGVj
dG9yUHJveHkuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4KICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KQEAgLTc1LDcgKzc4LDcg
QEAgV29ya2VyTWVzc2FnaW5nUHJveHk6On5Xb3JrZXJNZXNzYWdpbmdQcm94eSgpCiAgICAgICAg
IHx8IChpczxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgJiYg
ZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLnRo
cmVhZCgpLnRocmVhZCgpID09ICZUaHJlYWQ6OmN1cnJlbnQoKSkpOwogfQogCi12b2lkIFdvcmtl
ck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0
VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlz
T25saW5lLCBjb25zdCBTY3JpcHRCdWZmZXImIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
Y29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGlj
eSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGlj
eSwgV29ya2VyVHlwZSB3b3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscyBjcmVkZW50
aWFscywgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQordm9pZCBXb3JrZXJNZXNzYWdp
bmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlv
bkRhdGEsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBj
b25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5
LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzIGNyZWRlbnRp
YWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiB7CiAgICAgLy8gRklYTUU6IFRo
aXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5lc3RlZCB3b3JrZXIgb25l
IGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwpAQCAtODcsNyArOTAs
MTIgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShj
b25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2Nr
ZXRQcm92aWRlciA9IGRvY3VtZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJh
bWV0ZXJzIHBhcmFtcyA9IHsgc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQs
IGlzT25saW5lLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY3Jvc3NPcmlnaW5FbWJlZGRlclBv
bGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUsIGNyZWRlbnRpYWxz
LCBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpIH07CisgICAgV29ya2VyUGFyYW1ldGVycyBwYXJh
bXMgeyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIFdURk1vdmUoaW5pdGlhbGl6YXRpb25E
YXRhLnVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5p
c09uTGluZSgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY3Jvc3NPcmlnaW5FbWJlZGRlclBv
bGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHdvcmtlclR5cGUsIGNyZWRlbnRpYWxz
LCBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpLCBXb3JrZXJUaHJlYWRNb2RlOjpDcmVhdGVOZXdU
aHJlYWQsIHsgfSwKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIFdURk1vdmUo
aW5pdGlhbGl6YXRpb25EYXRhLnNlcnZpY2VXb3JrZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBp
bml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllci52YWx1ZV9vcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciB7IH0pCisgICAgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGlj
YXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlz
LCAqdGhpcywgc3RhcnRNb2RlLCBkb2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFBy
b3ZpZGVyLCBydW50aW1lRmxhZ3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQu
Z2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5o
CmluZGV4IDIyNmU4NjFjNTE2ZDVkMmU2YTM0NWVkN2RlODcxYzkyNGMxMjg4NDMuLmIyNTk1NzJi
MzgwY2ZmMTAyYjc0YzRhYTI0ZDUxMDFjOThlOTZmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29ya2VyR2xvYmFsU2NvcGVQcm94
eS4KICAgICAvLyAoT25seSB1c2UgdGhlc2UgZnVuY3Rpb25zIGluIHRoZSB3b3JrZXIgb2JqZWN0
IHRocmVhZC4pCi0gICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBTY3JpcHRCdWZmZXImIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Jiwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSwgRmV0
Y2hSZXF1ZXN0Q3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAgICB2b2lk
IHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYsIGNvbnN0IFNjcmlwdEJ1ZmZlciYg
c291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVy
cmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50
aW1lRmxhZ3MpIGZpbmFsOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBm
aW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0
aE1lc3NhZ2VQb3J0cyYmKSBmaW5hbDsKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxT
Y29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJikgZmluYWw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNj
b3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2Nv
cGUuY3BwCmluZGV4IGZjYjQ0ZTZjYmM0MjllZWQwMmFiNjNhODBjODQ3OGRiZDNkYjI4YWYuLjU4
M2E1NmY5NzU0MTE1NjVlZjk3MzJhZjdhMzRjNDgxMjAyZTA0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC00
MCw4ICs0MCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKTsKIAotV29ya2VyT3JXb3JrbGV0R2xv
YmFsU2NvcGU6Oldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFdvcmtlclRocmVhZFR5cGUgdHlw
ZSwgUmVmPEpTQzo6Vk0+JiYgdm0sIFdvcmtlck9yV29ya2xldFRocmVhZCogdGhyZWFkKQotICAg
IDogbV9zY3JpcHQobWFrZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPih0
eXBlLCBXVEZNb3ZlKHZtKSwgdGhpcykpCitXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29y
a2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBSZWY8SlNDOjpW
TT4mJiB2bSwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiB0aHJlYWQsIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQorICAgIDogU2NyaXB0RXhlY3V0aW9u
Q29udGV4dChjb250ZXh0SWRlbnRpZmllcikKKyAgICAsIG1fc2NyaXB0KG1ha2VVbmlxdWU8V29y
a2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlcj4odHlwZSwgV1RGTW92ZSh2bSksIHRoaXMpKQog
ICAgICwgbV9tb2R1bGVMb2FkZXIobWFrZVVuaXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlz
LCBTY3JpcHRNb2R1bGVMb2FkZXI6Ok93bmVyVHlwZTo6V29ya2VyT3JXb3JrbGV0KSkKICAgICAs
IG1fdGhyZWFkKHRocmVhZCkKICAgICAsIG1faW5zcGVjdG9yQ29udHJvbGxlcihtYWtlVW5pcXVl
PFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI+KCp0aGlzKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCBhMGQxNmQ3NDcw
OTk5MzRhOGZlMzE4MGJlMDc3OTMyNzUzNTNiYWMxLi44NzFjZDdjNTFmZmU0ODY1Njg4Njg0NWQw
NWVlZTEyZTk4OTkzYjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck9yV29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb24oKSBjb25zdCA9IDA7
CiAKIHByb3RlY3RlZDoKLSAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJl
YWRUeXBlLCBSZWY8SlNDOjpWTT4mJiwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKik7CisgICAgV29y
a2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSwgUmVmPEpTQzo6Vk0+JiYs
IFdvcmtlck9yV29ya2xldFRocmVhZCosIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
ID0geyB9KTsKIAogICAgIC8vIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCiAgICAgYm9vbCBpc0pT
RXhlY3V0aW9uRm9yYmlkZGVuKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggMGM0MDEwMTk5ZjRiZjI2MjQ5ZTJiZGMw
ZTc4MTBkZjUwOGRmZTFiMC4uMmQ2Mzg3MzYzNDgwNjViMDA4MjA1NzFmNzcyZWFkM2YzYmI5NjA3
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApA
QCAtNDUsMTIgKzQ1LDIyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIEhhc2hN
YXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFdvcmtlclNjcmlwdExvYWRlcio+
JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRvV29ya2VyU2NyaXB0TG9hZGVyTWFw
KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciwgV29ya2VyU2NyaXB0TG9hZGVyKj4+IG1hcDsKKyAgICByZXR1cm4g
bWFwLmdldCgpOworfQorCiBXb3JrZXJTY3JpcHRMb2FkZXI6OldvcmtlclNjcmlwdExvYWRlcigp
CiAgICAgOiBtX3NjcmlwdChTY3JpcHRCdWZmZXI6OmVtcHR5KCkpCiB7CiB9CiAKLVdvcmtlclNj
cmlwdExvYWRlcjo6fldvcmtlclNjcmlwdExvYWRlcigpID0gZGVmYXVsdDsKK1dvcmtlclNjcmlw
dExvYWRlcjo6fldvcmtlclNjcmlwdExvYWRlcigpCit7CisgICAgaWYgKG1fY2xpZW50SWRlbnRp
ZmllcikKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb1dvcmtlclNj
cmlwdExvYWRlck1hcCgpLnJlbW92ZShtX2NsaWVudElkZW50aWZpZXIpOworfQogCiBzdGQ6Om9w
dGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBVUkwm
IHVybCwgU291cmNlIHNvdXJjZSwgRmV0Y2hPcHRpb25zOjpNb2RlIG1vZGUsIEZldGNoT3B0aW9u
czo6Q2FjaGUgY2FjaGVQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklk
ZW50aWZpZXIpCiB7CkBAIC05MywxMSArMTAzLDcgQEAgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+
IFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZFN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ28K
ICAgICBvcHRpb25zLnNlbmRMb2FkQ2FsbGJhY2tzID0gU2VuZENhbGxiYWNrUG9saWN5OjpTZW5k
Q2FsbGJhY2tzOwogICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQg
PSBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDsKICAgICBvcHRpb25zLmRlc3RpbmF0
aW9uID0gbV9kZXN0aW5hdGlvbjsKLSNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgb3B0
aW9ucy5zZXJ2aWNlV29ya2Vyc01vZGUgPSBpc1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSA/IFNl
cnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSA6IFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsOwotICAgIGlm
IChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gd29ya2VyR2xvYmFsU2NvcGUuYWN0aXZlU2Vy
dmljZVdvcmtlcigpKQotICAgICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtlci0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigp
OwotI2VuZGlmCisKICAgICBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KHdvcmtlckdsb2JhbFNjb3BlLCBXVEZNb3ZlKCpyZXF1ZXN0KSwgKnRoaXMsIG9w
dGlvbnMpOwogCiAgICAgLy8gSWYgdGhlIGZldGNoaW5nIGF0dGVtcHQgZmFpbGVkLCB0aHJvdyBh
IE5ldHdvcmtFcnJvciBleGNlcHRpb24gYW5kIGFib3J0IGFsbCB0aGVzZSBzdGVwcy4KQEAgLTEx
NSw3ICsxMjEsNyBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVy
Ojpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25DbwogICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiB9CiAKLXZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHko
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmVzb3VyY2VS
ZXF1ZXN0JiYgc2NyaXB0UmVxdWVzdCwgU291cmNlIHNvdXJjZSwgRmV0Y2hPcHRpb25zJiYgZmV0
Y2hPcHRpb25zLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCBjb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlIHNlcnZpY2VXb3JrZXJNb2Rl
LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgU3RyaW5nJiYgdGFza01vZGUpCit2
b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJlc291cmNlUmVxdWVzdCYmIHNjcmlw
dFJlcXVlc3QsIFNvdXJjZSBzb3VyY2UsIEZldGNoT3B0aW9ucyYmIGZldGNoT3B0aW9ucywgQ29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSBzZXJ2aWNlV29ya2VyTW9kZSwgV29ya2VyU2NyaXB0
TG9hZGVyQ2xpZW50JiBjbGllbnQsIFN0cmluZyYmIHRhc2tNb2RlLCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKQogewogICAgIG1fY2xpZW50ID0gJmNs
aWVudDsKICAgICBtX3VybCA9IHNjcmlwdFJlcXVlc3QudXJsKCk7CkBAIC0xNDIsOCArMTQ4LDE3
IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgLy8gQSBzZXJ2aWNlIHdvcmtlciBqb2Ig
Y2FuIGJlIGV4ZWN1dGVkIGZyb20gYSB3b3JrZXIgY29udGV4dCBvciBhIGRvY3VtZW50IGNvbnRl
eHQuCiAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2Vyc01vZGUgPSBzZXJ2aWNlV29ya2VyTW9kZTsK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKGF1dG8qIGFjdGl2ZVNlcnZpY2VX
b3JrZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKLSAg
ICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2
ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKKyAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIHNoYXJlZCB3b3JrZXIuCisgICAgaWYgKG1fZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSB7CisgICAgICAgIEFTU0VSVChjbGll
bnRJZGVudGlmaWVyKTsKKyAgICAgICAgLy8gSW4gY2FzZSBvZiBibG9iIFVSTHMsIHdlIHJldXNl
IHRoZSBkb2N1bWVudCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KKyAgICAgICAgaWYgKHJl
cXVlc3QtPnVybCgpLnByb3RvY29sSXNCbG9iKCkgJiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5h
Y3RpdmVTZXJ2aWNlV29ya2VyKCkpCisgICAgICAgICAgICBzZXRDb250cm9sbGluZ1NlcnZpY2VX
b3JrZXIoU2VydmljZVdvcmtlckRhdGEgeyBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNl
cnZpY2VXb3JrZXIoKS0+ZGF0YSgpIH0pOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIG9w
dGlvbnMuY2xpZW50SWRlbnRpZmllciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElkZW50
aWZpZXI7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRvV29y
a2VyU2NyaXB0TG9hZGVyTWFwKCkuYWRkKG1fY2xpZW50SWRlbnRpZmllciwgdGhpcyk7CisgICAg
ICAgIH0KKyAgICB9CiAjZW5kaWYKIAogICAgIC8vIER1cmluZyBjcmVhdGUsIGNhbGxiYWNrcyBt
YXkgaGFwcGVuIHdoaWNoIHJlbW92ZSB0aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhpcyBvYmplY3Qu
CkBAIC0yOTgsNCArMzEzLDIwIEBAIFdvcmtlckZldGNoUmVzdWx0IFdvcmtlclNjcmlwdExvYWRl
cjo6ZmV0Y2hSZXN1bHQoKSBjb25zdAogICAgIHJldHVybiB7IHNjcmlwdCgpLCBsYXN0UmVxdWVz
dFVSTCgpLCBjZXJ0aWZpY2F0ZUluZm8oKSwgY29udGVudFNlY3VyaXR5UG9saWN5KCksIGNyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3koKSwgcmVmZXJyZXJQb2xpY3koKSwgeyB9IH07CiB9CiAKK1dv
cmtlclNjcmlwdExvYWRlciogV29ya2VyU2NyaXB0TG9hZGVyOjpmcm9tU2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRp
ZmllcikKK3sKKyAgICByZXR1cm4gc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb1dv
cmtlclNjcmlwdExvYWRlck1hcCgpLmdldChpZGVudGlmaWVyKTsKK30KKworI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKK2Jvb2wgV29ya2VyU2NyaXB0TG9hZGVyOjpzZXRDb250cm9sbGluZ1Nl
cnZpY2VXb3JrZXIoU2VydmljZVdvcmtlckRhdGEmJiBhY3RpdmVTZXJ2aWNlV29ya2VyRGF0YSkK
K3sKKyAgICBpZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2Fj
dGl2ZVNlcnZpY2VXb3JrZXJEYXRhID0gV1RGTW92ZShhY3RpdmVTZXJ2aWNlV29ya2VyRGF0YSk7
CisgICAgcmV0dXJuIHRydWU7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggNTlhY2E5
NjI5MjA0NWM3MjUwZGUyNjM2ZTlhOTI5MTFjNjY1NzAxNS4uYjY4YjAyNGQ2MTNhZTFkZjJlNWE0
OTUxZjUwOTg5YWQ2OTYwZWU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNjcmlwdEJ1ZmZl
ci5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCisjaW5j
bHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaCIKICNpbmNsdWRlICJUaHJlYWRh
YmxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1
ZGUgPG1lbW9yeT4KQEAgLTQ5LDYgKzUxLDcgQEAgY2xhc3MgRXhjZXB0aW9uOwogY2xhc3MgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiBjbGFzcyBX
b3JrZXJTY3JpcHRMb2FkZXJDbGllbnQ7CitzdHJ1Y3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGE7CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CiBlbnVtIGNsYXNzIENlcnRpZmljYXRl
SW5mb1BvbGljeSA6IHVpbnQ4X3Q7CiAKQEAgLTYzLDcgKzY2LDcgQEAgcHVibGljOgogICAgIGVu
dW0gY2xhc3MgU291cmNlIDogdWludDhfdCB7IENsYXNzaWNXb3JrZXJTY3JpcHQsIENsYXNzaWNX
b3JrZXJJbXBvcnQsIE1vZHVsZVNjcmlwdCB9OwogCiAgICAgc3RkOjpvcHRpb25hbDxFeGNlcHRp
b24+IGxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBVUkwm
LCBTb3VyY2UsIEZldGNoT3B0aW9uczo6TW9kZSwgRmV0Y2hPcHRpb25zOjpDYWNoZSwgQ29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9ySWRlbnRp
Zmllcik7Ci0gICAgdm9pZCBsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIFJlc291cmNlUmVxdWVzdCYmLCBTb3VyY2UsIEZldGNoT3B0aW9ucyYmLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlLCBXb3JrZXJTY3JpcHRM
b2FkZXJDbGllbnQmLCBTdHJpbmcmJiB0YXNrTW9kZSk7CisgICAgdm9pZCBsb2FkQXN5bmNocm9u
b3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBTb3VyY2Us
IEZldGNoT3B0aW9ucyYmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2Vydmlj
ZVdvcmtlcnNNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmLCBTdHJpbmcmJiB0YXNrTW9k
ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllciA9IHsg
fSk7CiAKICAgICB2b2lkIG5vdGlmeUVycm9yKCk7CiAKQEAgLTk0LDYgKzk3LDEzIEBAIHB1Ymxp
YzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZXNvdXJjZUVycm9yIHZhbGlkYXRlV29y
a2VyUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIFNvdXJjZSwgRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgV29ya2VyU2NyaXB0
TG9hZGVyKiBmcm9tU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXIpOworCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAg
IFdFQkNPUkVfRVhQT1JUIGJvb2wgc2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFNlcnZpY2VX
b3JrZXJEYXRhJiYpOworICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IHRha2VT
ZXJ2aWNlV29ya2VyRGF0YSgpIHsgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9hY3RpdmVTZXJ2aWNl
V29ya2VyRGF0YSwgeyB9KTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNz
IFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPjsKICAgICBmcmllbmQgc3RydWN0IHN0ZDo6
ZGVmYXVsdF9kZWxldGU8V29ya2VyU2NyaXB0TG9hZGVyPjsKQEAgLTEyNSw2ICsxMzUsMTAgQEAg
cHJpdmF0ZToKICAgICBib29sIG1faXNDT0VQRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgUmVzb3Vy
Y2VSZXNwb25zZTo6U291cmNlIG1fcmVzcG9uc2VTb3VyY2UgeyBSZXNvdXJjZVJlc3BvbnNlOjpT
b3VyY2U6OlVua25vd24gfTsKICAgICBSZXNvdXJjZUVycm9yIG1fZXJyb3I7CisgICAgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgbV9jbGllbnRJZGVudGlmaWVyOworI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiBt
X2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggNWEwZmUx
ODdjNmYxYjU2OTg2YzRkZDkwNzE2NTI4ZGRkOWRiMmI3Zi4uMGU2YzNhMDQ3MjZkNmRmNTE4ZTdh
MjNkNTIzNDkxMGJkZWFkNGZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmNwcApAQCAtNjQsNiArNjQsMTAgQEAgV29ya2VyUGFyYW1ldGVycyBXb3JrZXJQYXJhbWV0ZXJz
Ojppc29sYXRlZENvcHkoKSBjb25zdAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENv
cHkoKSwKICAgICAgICAgd29ya2VyVGhyZWFkTW9kZSwKICAgICAgICAgc2Vzc2lvbklELAorI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNlcnZpY2VX
b3JrZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBjbGllbnRJZAogICAgIH07CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IGRjOTc3NGU5MmU3ZjFlZTY4ZmY0ZGY1
MmZiOTVlZTU0Y2YwNDFjNjcuLjE1NTIxMjg0OTk4MWNhYWI0MTk0NDg0ZWQ0MjY3YTIwNTg2MzQ3
OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtMjksNiArMjksOCBA
QAogI2luY2x1ZGUgIkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaCIKICNpbmNsdWRlICJGZXRj
aFJlcXVlc3RDcmVkZW50aWFscy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb24u
aCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgorI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyT3JX
b3JrbGV0VGhyZWFkLmgiCiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgogI2luY2x1ZGUgIldv
cmtlclR5cGUuaCIKQEAgLTc2LDYgKzc4LDEwIEBAIHB1YmxpYzoKICAgICBTZXR0aW5nczo6VmFs
dWVzIHNldHRpbmdzVmFsdWVzOwogICAgIFdvcmtlclRocmVhZE1vZGUgd29ya2VyVGhyZWFkTW9k
ZSB7IFdvcmtlclRocmVhZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCB9OwogICAgIHN0ZDo6b3B0aW9u
YWw8UEFMOjpTZXNzaW9uSUQ+IHNlc3Npb25JRCB7IHN0ZDo6bnVsbG9wdCB9OworI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiBz
ZXJ2aWNlV29ya2VyRGF0YTsKKyNlbmRpZgorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyIGNsaWVudElkOwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRlZENvcHkoKSBj
b25zdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dD
bGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0Ns
aWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDk4YzE4ODZhZDQyODMwMThmZjUzM2Q0YWRmMGYwNjUw
NTEyZmNlNjcuLjRlMzMzMmY3ZDRiOTU1MGU2ZDQxZDVkZTJlOTI1Zjk5MDkwMjY1MTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rp
b24uY3BwCkBAIC0yMjcsMjAgKzIyNywzMCBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0
UmVnaXN0cmF0aW9uVXBkYXRlVmlhQ2FjaGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbgogICAg
IH0pOwogfQogCitzdGF0aWMgdm9pZCB1cGRhdGVDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJEYXRhJiYgbmV3Q29udHJvbGxlcikKK3sKKyAg
ICBjb250ZXh0LnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcjo6Z2V0T3JDcmVh
dGUoY29udGV4dCwgV1RGTW92ZShuZXdDb250cm9sbGVyKSkpOworICAgIGlmIChhdXRvKiBjb250
YWluZXIgPSBjb250ZXh0LnNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKKyAgICAgICAgY29udGFp
bmVyLT5xdWV1ZVRhc2tUb0Rpc3BhdGNoQ29udHJvbGxlckNoYW5nZUV2ZW50KCk7Cit9CisKIHZv
aWQgU1dDbGllbnRDb25uZWN0aW9uOjpub3RpZnlDbGllbnRzT2ZDb250cm9sbGVyQ2hhbmdlKGNv
bnN0IEhhc2hTZXQ8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+JiBjb250ZXh0SWRl
bnRpZmllcnMsIFNlcnZpY2VXb3JrZXJEYXRhJiYgbmV3Q29udHJvbGxlcikKIHsKICAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVCghY29udGV4dElkZW50aWZpZXJzLmlzRW1w
dHkoKSk7CiAKICAgICBmb3IgKGF1dG8mIGNsaWVudElkZW50aWZpZXIgOiBjb250ZXh0SWRlbnRp
ZmllcnMpIHsKLSAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgd29ya2VyIGNvbnRleHRzLgotICAg
ICAgICBhdXRvKiBjbGllbnQgPSBEb2N1bWVudDo6YWxsRG9jdW1lbnRzTWFwKCkuZ2V0KGNsaWVu
dElkZW50aWZpZXIpOwotICAgICAgICBpZiAoIWNsaWVudCkKKyAgICAgICAgaWYgKGF1dG8qIGRv
Y3VtZW50ID0gRG9jdW1lbnQ6OmFsbERvY3VtZW50c01hcCgpLmdldChjbGllbnRJZGVudGlmaWVy
KSkgeworICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcigqZG9jdW1lbnQsIFdURk1vdmUobmV3
Q29udHJvbGxlcikpOwogICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgY2xpZW50LT5z
ZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKCpjbGllbnQs
IFdURk1vdmUobmV3Q29udHJvbGxlcikpKTsKLSAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9
IGNsaWVudC0+c2VydmljZVdvcmtlckNvbnRhaW5lcigpKQotICAgICAgICAgICAgY29udGFpbmVy
LT5xdWV1ZVRhc2tUb0Rpc3BhdGNoQ29udHJvbGxlckNoYW5nZUV2ZW50KCk7CisgICAgICAgIH0K
KyAgICAgICAgaWYgKGF1dG8qIHdvcmtlciA9IFdvcmtlcjo6d29ya2VyQnlJZGVudGlmaWVyKGNs
aWVudElkZW50aWZpZXIpKSB7CisgICAgICAgICAgICB3b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJH
bG9iYWxTY29wZShbbmV3Q29udHJvbGxlciA9IFdURk1vdmUobmV3Q29udHJvbGxlcikuaXNvbGF0
ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICB1cGRh
dGVDb250cm9sbGVyKGNvbnRleHQsIFdURk1vdmUobmV3Q29udHJvbGxlcikpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICAvLyBGSVhN
RTogU3VwcG9ydCBzaGFyZWQgd29ya2Vycy4KICAgICB9CiB9CiAKQEAgLTI2MSwxMCArMjcxLDEx
IEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpjbGVhclBlbmRpbmdKb2JzKCkKIAogdm9pZCBT
V0NsaWVudENvbm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudHMoKQogewotICAg
IGZvciAoYXV0byogZG9jdW1lbnQgOiBEb2N1bWVudDo6YWxsRG9jdW1lbnRzKCkpIHsKLSAgICAg
ICAgYXV0byBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0g
ZG9jdW1lbnQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRpb25hbDxTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oZG9jdW1lbnQtPmFjdGl2ZVNlcnZpY2VX
b3JrZXIoKS0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpKSA6IHN0ZDo6bnVsbG9wdDsKLSAgICAg
ICAgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGRvY3VtZW50LT50b3BPcmlnaW4oKSwgU2Vy
dmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKmRvY3VtZW50KSwgY29udHJvbGxpbmdTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgZG9jdW1lbnQtPnVzZXJBZ2VudChkb2N1bWVu
dC0+dXJsKCkpKTsKLSAgICB9CisgICAgZm9yIChhdXRvKiBkb2N1bWVudCA6IERvY3VtZW50Ojph
bGxEb2N1bWVudHMoKSkKKyAgICAgICAgZG9jdW1lbnQtPnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGll
bnREYXRhKCk7CisKKyAgICBTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCku
Zm9yRWFjaFNoYXJlZFdvcmtlcihbXSB7IHJldHVybiBbXSAoYXV0byYgY29udGV4dCkgeyBjb250
ZXh0LnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCk7IH07IH0pOworICAgIFdvcmtlcjo6
Zm9yRWFjaFdvcmtlcihbXSB7IHJldHVybiBbXSAoYXV0byYgY29udGV4dCkgeyBjb250ZXh0LnVw
ZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCk7IH07IH0pOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXIuaAppbmRleCA5ZjAxMDNmNTA3MGEwMGNhODE5YzRlNzZhN2NkYmFiOTFhNGQ2MTY1Li5jZTcx
NzQxYTIyNWY0ZDVmOTM2Nzk2YWIzNzQxODhkZGU0YWMyOWEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKQEAgLTcwLDYgKzcwLDggQEAgcHVi
bGljOgogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkOjpk
ZXJlZjsKIAorICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJEYXRhJiBkYXRhKCkgY29uc3QgeyByZXR1
cm4gbV9kYXRhOyB9CisKIHByaXZhdGU6CiAgICAgU2VydmljZVdvcmtlcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgU2VydmljZVdvcmtlckRhdGEmJik7CiAgICAgdm9pZCB1cGRhdGVQZW5kaW5n
QWN0aXZpdHlGb3JFdmVudERpc3BhdGNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcAppbmRleCAxZjFj
YzBmM2Q0OWYxYTAyZjZjZTg4MDU3MGQ3OTM2NTI1YzJiMjBiLi42MjRhYzI5ZGEyZDAzZDI1Nzhi
N2I3NDI0YWM2ZmRhNWY2MmE0MzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKQEAgLTY5LDMwICs2
OSw0NCBAQCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6
aXNvbGF0ZWRDb3B5KCkgJiYKIAogU2VydmljZVdvcmtlckNsaWVudERhdGEgU2VydmljZVdvcmtl
ckNsaWVudERhdGE6OmZyb20oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKIHsKLSAg
ICBib29sIGlzRG9jdW1lbnQgPSBpczxEb2N1bWVudD4oY29udGV4dCk7Ci0gICAgUkVMRUFTRV9B
U1NFUlQoaXNEb2N1bWVudCk7IC8vIFdlIGRvIG5vdCBzdXBwb3J0IGRlZGljYXRlZCB3b3JrZXJz
IGFzIGNsaWVudHMgeWV0LgorICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAg
ICAgYXV0byYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCk7CisgICAgICAg
IGF1dG8gbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQgPSBkb2N1bWVudC5sb2FkZXIoKSAm
JiBkb2N1bWVudC5sb2FkZXIoKS0+bGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQoKSA/IExh
c3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBMYXN0TmF2aWdhdGlvbldhc0FwcElu
aXRpYXRlZDo6Tm87CiAKLSAgICBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50Pihj
b250ZXh0KTsKLSAgICBhdXRvIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkID0gZG9jdW1l
bnQubG9hZGVyKCkgJiYgZG9jdW1lbnQubG9hZGVyKCktPmxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5p
dGlhdGVkKCkgPyBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6WWVzIDogTGFzdE5hdmln
YXRpb25XYXNBcHBJbml0aWF0ZWQ6Ok5vOworICAgICAgICBWZWN0b3I8U3RyaW5nPiBhbmNlc3Rv
ck9yaWdpbnM7CisgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpIHsK
KyAgICAgICAgICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBmcmFtZS0+dHJlZSgpLnBhcmVudCgp
OyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+dHJlZSgpLnBhcmVudCgpKQorICAgICAg
ICAgICAgICAgIGFuY2VzdG9yT3JpZ2lucy5hcHBlbmQoYW5jZXN0b3ItPmRvY3VtZW50KCktPnNl
Y3VyaXR5T3JpZ2luKCkudG9TdHJpbmcoKSk7CisgICAgICAgIH0KIAotICAgIFZlY3RvcjxTdHJp
bmc+IGFuY2VzdG9yT3JpZ2luczsKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFt
ZSgpKSB7Ci0gICAgICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBmcmFtZS0+dHJlZSgpLnBhcmVu
dCgpOyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+dHJlZSgpLnBhcmVudCgpKQotICAg
ICAgICAgICAgYW5jZXN0b3JPcmlnaW5zLmFwcGVuZChhbmNlc3Rvci0+ZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS50b1N0cmluZygpKTsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAg
IGNvbnRleHQuaWRlbnRpZmllcigpLAorICAgICAgICAgICAgU2VydmljZVdvcmtlckNsaWVudFR5
cGU6OldpbmRvdywKKyAgICAgICAgICAgIHRvU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZShj
b250ZXh0KSwKKyAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0aW9uVVJMKCksCisgICAgICAgICAg
ICBkb2N1bWVudC5wYWdlSUQoKSwKKyAgICAgICAgICAgIGRvY3VtZW50LmZyYW1lSUQoKSwKKyAg
ICAgICAgICAgIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLAorICAgICAgICAgICAgIWRv
Y3VtZW50LmhpZGRlbigpLAorICAgICAgICAgICAgZG9jdW1lbnQuaGFzRm9jdXMoKSwKKyAgICAg
ICAgICAgIDAsCisgICAgICAgICAgICBXVEZNb3ZlKGFuY2VzdG9yT3JpZ2lucykKKyAgICAgICAg
fTsKICAgICB9CiAKKyAgICBhdXRvJiBzY29wZSA9IGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3Bl
Pihjb250ZXh0KTsKICAgICByZXR1cm4gewotICAgICAgICBjb250ZXh0LmlkZW50aWZpZXIoKSwK
LSAgICAgICAgaXNEb2N1bWVudCA/IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3cgOiBT
ZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyLAotICAgICAgICB0b1NlcnZpY2VXb3JrZXJD
bGllbnRGcmFtZVR5cGUoY29udGV4dCksCi0gICAgICAgIGRvY3VtZW50LmNyZWF0aW9uVVJMKCks
Ci0gICAgICAgIGRvY3VtZW50LnBhZ2VJRCgpLAotICAgICAgICBkb2N1bWVudC5mcmFtZUlEKCks
Ci0gICAgICAgIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLAotICAgICAgICAhZG9jdW1l
bnQuaGlkZGVuKCksCi0gICAgICAgIGRvY3VtZW50Lmhhc0ZvY3VzKCksCisgICAgICAgIHNjb3Bl
LmlkZW50aWZpZXIoKSwKKyAgICAgICAgc2NvcGUudHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckds
b2JhbFNjb3BlOjpUeXBlOjpTaGFyZWRXb3JrZXIgPyBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6
U2hhcmVkd29ya2VyIDogU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlciwKKyAgICAgICAg
U2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6Tm9uZSwKKyAgICAgICAgc2NvcGUudXJsKCks
CisgICAgICAgIHsgfSwKKyAgICAgICAgeyB9LAorICAgICAgICBMYXN0TmF2aWdhdGlvbldhc0Fw
cEluaXRpYXRlZDo6Tm8sCisgICAgICAgIGZhbHNlLAorICAgICAgICBmYWxzZSwKICAgICAgICAg
MCwKLSAgICAgICAgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpCisgICAgICAgIHsgfQogICAgIH07
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ2xpZW50VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDbGllbnRUeXBlLmgKaW5kZXggODY0NGI4NzJhNjQwMzg5MGNkZTQ1NzNmNGIzNzJi
NzVjMzk4YmJlMC4uNTU5YmIwMzVlOTBjMjI4NDZmMjM5YjZkZjBlNWVmZjRkNGIwNzEwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGll
bnRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJDbGllbnRUeXBlLmgKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1lbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlIHsKK2VudW0gY2xhc3MgU2Vydmlj
ZVdvcmtlckNsaWVudFR5cGUgOiB1aW50OF90IHsKICAgICBXaW5kb3csCiAgICAgV29ya2VyLAog
ICAgIFNoYXJlZHdvcmtlciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBhYjRmNWEyY2YzNTMwMGQy
OTNiNzdlMzk0ZjM4NGY4Yzc4ZWRhYmE2Li5lMDBjNzY0YmVjMTg1MmYyMGRlNGZiNDFiNjNhNzNj
NzgzNzVmNGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNs
dWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJET01Qcm9taXNlUHJveHku
aCIKKyNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudExvb3AuaCIKQEAg
LTEzMiw3ICsxMzMsNyBAQCBhdXRvIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlYWR5KCkgLT4g
UmVhZHlQcm9taXNlJgogU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlckNvbnRhaW5lcjo6Y29u
dHJvbGxlcigpIGNvbnN0CiB7CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKTsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50
PigqY29udGV4dCkgfHwgIWNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9j
dW1lbnRzIGNhbiBoYXZlIGEgY29udHJvbGxlciBhdCB0aGUgbW9tZW50LiIpOworICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoIWNvbnRleHQgfHwgaXM8RG9jdW1lbnQ+KCpjb250ZXh0KSB8fCBpczxE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpIHx8ICFjb250ZXh0LT5hY3RpdmVT
ZXJ2aWNlV29ya2VyKCksICJPbmx5IGRvY3VtZW50cyBhbmJkIGRlZGljYXRlZCB3b3JrZXJzIGNh
biBoYXZlIGEgY29udHJvbGxlciBhdCB0aGUgbW9tZW50LiIpOwogICAgIHJldHVybiBjb250ZXh0
ID8gY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpIDogbnVsbHB0cjsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
clRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2
aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCA5ZjgyZWVkNjMxMjg5ZTUwY2M3YmRlMTliYmZhZDQz
OTU4M2ZmNTc2Li5hMTZkZmM0YTIyZGIwMjM1NjIwYTdiOWY3ZTljNzhkMTk3YmI5MDc2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29y
a2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtOTUsNyArOTUsOSBAQCBzdGF0aWMgV29ya2Vy
UGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgU2VydmljZVdvcmtlckNv
bnRleHREYXRhJgogICAgICAgICBGZXRjaFJlcXVlc3RDcmVkZW50aWFsczo6T21pdCwKICAgICAg
ICAgc2V0dGluZ3NWYWx1ZXMsCiAgICAgICAgIHdvcmtlclRocmVhZE1vZGUsCi0gICAgICAgIHNl
c3Npb25JRAorICAgICAgICBzZXNzaW9uSUQsCisgICAgICAgIHsgfSwKKyAgICAgICAgeyB9CiAg
ICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hh
cmVkV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9T
aGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCBmMjVjNzlkMjgxNTBjOWY1ZWY5ZWEyOGRm
MDM1NTgyNzY0ZDQ1NzFkLi43MWNiNGI2NWJjOTk1YzU1Y2JlZmIwMWEzOWVjMmQxNjEzZjI4MWEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJT
Y3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK3N0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKIGNsYXNzIFNoYXJl
ZFdvcmtlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJl
c3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQv
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFy
ZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKaW5kZXggMzU0N2Q2NzdlOGVh
YWY2Y2NlNTc5ZmMyMGNjY2U5YThmOGE1NTVlMC4uMzM3MTg0MzRiMDk1ZTE4NjQwYjgzNzBkYTVl
YjM2MTc5Y2I3NDJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQv
Y29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKQEAgLTU3
LDcgKzU3LDcgQEAgc3RhdGljIEhhc2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxs
U2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpCiAKIHN0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdl
bmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyRmV0
Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgRG9jdW1lbnQmIGRvY3VtZW50KQogewotICAgIHJldHVybiBXb3JrZXJQYXJhbWV0
ZXJzIHsKKyAgICByZXR1cm4gewogICAgICAgICB3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVz
dFVSTCwKICAgICAgICAgd29ya2VyT3B0aW9ucy5uYW1lLAogICAgICAgICAic2hhcmVkd29ya2Vy
OiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLApA
QCAtNzAsNyArNzAsMTMgQEAgc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQ
YXJhbWV0ZXJzKGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXIKICAgICAgICAgcGFyc2VS
ZWZlcnJlclBvbGljeSh3b3JrZXJGZXRjaFJlc3VsdC5yZWZlcnJlclBvbGljeSwgUmVmZXJyZXJQ
b2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpLnZhbHVlX29yKFJlZmVycmVyUG9saWN5OjpFbXB0eVN0
cmluZyksCiAgICAgICAgIHdvcmtlck9wdGlvbnMudHlwZSwKICAgICAgICAgd29ya2VyT3B0aW9u
cy5jcmVkZW50aWFscywKLSAgICAgICAgZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKQorICAgICAg
ICBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpLAorICAgICAgICBXb3JrZXJUaHJlYWRNb2RlOjpD
cmVhdGVOZXdUaHJlYWQsCisgICAgICAgIHsgfSwKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CisgICAgICAgIHsgfSwKKyNlbmRpZgorICAgICAgICB7IH0KICAgICB9OwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAKaW5kZXggOWRkMjkwN2RjOGEzNmU4ZTQ0MWI4ZDljNmVkMDljZWY4NmE5MGQ5Ny4uZWQ3M2Yw
YTcxMjI2ZjViZWYzODJjMGZjYjZkMWM5ZmRmZmQ4NjQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMTIy
MCw3ICsxMjIwLDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbnRpbnVlV2lsbFNl
bmRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIG5ld1JlcXVlc3QKICAgICBMT0FERVJfUkVMRUFT
RV9MT0coImNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0OiAoaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3Jl
ZGVudGlhbHM9JWQpIiwgaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHMpOwogCiAjaWYg
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIGlmIChwYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2Rl
ID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUpIHsKKyAgICBpZiAocGFyYW1ldGVycygp
Lm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IChwYXJhbWV0
ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpX
b3JrZXIgJiYgbV9zZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKSkgewogICAgICAgICBtX3NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24gPSB7IH07CiAgICAgICAgIGlmIChhdXRvIHNlcnZpY2VXb3JrZXJG
ZXRjaFRhc2sgPSBtX2Nvbm5lY3Rpb24tPmNyZWF0ZUZldGNoVGFzaygqdGhpcywgbmV3UmVxdWVz
dCkpIHsKICAgICAgICAgICAgIExPQURFUl9SRUxFQVNFX0xPRygiY29udGludWVXaWxsU2VuZFJl
cXVlc3Q6IENyZWF0ZWQgYSBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrIHRvIGhhbmRsZSB0aGUgcmVk
aXJlY3QgKGZldGNoSWRlbnRpZmllcj0lIiBQUkl1NjQgIikiLCBzZXJ2aWNlV29ya2VyRmV0Y2hU
YXNrLT5mZXRjaElkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNr
LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrLmNwcAppbmRleCAwYjM0ODlkZGVjYWNkNWViZGI1OTA2ZmIzZjdlZjM5
MjU2ZjRjOTkxLi5hMDEyY2VkOWMzYjY3MzA2NzRlMWMzMmIyY2QwNmM5OTJkZGE2MmFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2Vydmlj
ZVdvcmtlckZldGNoVGFzay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwCkBAIC0xNTMsNyArMTUzLDcg
QEAgdm9pZCBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpzdGFydEZldGNoKCkKICAgICBjbGVhbkhU
VFBSZXF1ZXN0SGVhZGVyc0ZvckFjY2Vzc0NvbnRyb2wocmVxdWVzdCwgbV9sb2FkZXIucGFyYW1l
dGVycygpLmh0dHBIZWFkZXJzVG9LZWVwKTsKIAogICAgIFN0cmluZyBjbGllbnRJZGVudGlmaWVy
OwotICAgIGlmIChtX2xvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlICE9IEZldGNoT3B0
aW9uczo6TW9kZTo6TmF2aWdhdGUpIHsKKyAgICBpZiAobV9sb2FkZXIucGFyYW1ldGVycygpLm9w
dGlvbnMubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlICYmIG1fbG9hZGVyLnBh
cmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uICE9IEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OldvcmtlcikgewogICAgICAgICBpZiAoYXV0byBpZGVudGlmaWVyID0gbV9sb2FkZXIucGFy
YW1ldGVycygpLm9wdGlvbnMuY2xpZW50SWRlbnRpZmllcikKICAgICAgICAgICAgIGNsaWVudElk
ZW50aWZpZXIgPSBpZGVudGlmaWVyLT50b1N0cmluZygpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXggZGI5ZDFiMjc0NDg2OWM3MGM3NmE5MzdkZDQ1
ODBiODMxODlkNjZhOS4uYjNkZDRhNTI4MjA5MjRkOTAxMjQ5MTM3MTdmYmIyMDI1YWY1NTM5YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTE2NiwxOCArMTY2
LDI0IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1cGRhdGVXb3JrZXJTdGF0ZUluQ2xp
ZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvCiAKIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzLCBTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0aW9uLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7CisgICAgU2VydmljZVdvcmtlckNsaWVudFR5cGUgY2xp
ZW50VHlwZTsKKyAgICBpZiAocGFyYW1ldGVycy5vcHRpb25zLmRlc3RpbmF0aW9uICA9PSBGZXRj
aE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpCisgICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2
aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyOworICAgIGVsc2UKKyAgICAgICAgY2xpZW50VHlw
ZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3c7CisKICAgICBhdXRvIGNsaWVudElk
ZW50aWZpZXIgPSAqcGFyYW1ldGVycy5vcHRpb25zLmNsaWVudElkZW50aWZpZXI7CiAgICAgLy8g
QXMgcGVyIHN0ZXAgMTIgb2YgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI29u
LWZldGNoLXJlcXVlc3QtYWxnb3JpdGhtLCB0aGUgYWN0aXZlIHNlcnZpY2Ugd29ya2VyIHNob3Vs
ZCBiZSBjb250cm9sbGluZyB0aGUgZG9jdW1lbnQuCiAgICAgLy8gV2UgcmVnaXN0ZXIgdGhlIHNl
cnZpY2Ugd29ya2VyIGNsaWVudCB1c2luZyB0aGUgaWRlbnRpZmllciBwcm92aWRlZCBieSBEb2N1
bWVudExvYWRlciBhbmQgbm90aWZ5IERvY3VtZW50TG9hZGVyIGFib3V0IGl0LgogICAgIC8vIElm
IG5vdGlmaWNhdGlvbiBpcyBzdWNjZXNzZnVsLCBEb2N1bWVudExvYWRlciBpcyByZXNwb25zaWJs
ZSB0byB1bnJlZ2lzdGVyIHRoZSBzZXJ2aWNlIHdvcmtlciBjbGllbnQgYXMgbmVlZGVkLgotICAg
IHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpTZXRE
b2N1bWVudElzQ29udHJvbGxlZCB7IGNsaWVudElkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRh
KCkgfSwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHRoaXMsIGNsaWVudElkZW50aWZp
ZXJdKGJvb2wgaXNTdWNjZXNzKSB7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpX
ZWJTV0NsaWVudENvbm5lY3Rpb246OlNldFNlcnZpY2VXb3JrZXJDbGllbnRJc0NvbnRyb2xsZWQg
eyBjbGllbnRJZGVudGlmaWVyLCByZWdpc3RyYXRpb24uZGF0YSgpIH0sIFt3ZWFrVGhpcyA9IFdl
YWtQdHIgeyAqdGhpcyB9LCB0aGlzLCBjbGllbnRJZGVudGlmaWVyXShib29sIGlzU3VjY2Vzcykg
ewogICAgICAgICBpZiAoIXdlYWtUaGlzIHx8IGlzU3VjY2VzcykKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY2xpZW50SWRlbnRpZmll
cik7CiAgICAgfSk7CiAKICAgICBhdXRvIGFuY2VzdG9yT3JpZ2lucyA9IG1hcChwYXJhbWV0ZXJz
LmZyYW1lQW5jZXN0b3JPcmlnaW5zLCBbXShhdXRvJiBvcmlnaW4pIHsgcmV0dXJuIG9yaWdpbi0+
dG9TdHJpbmcoKTsgfSk7Ci0gICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgZGF0YSB7IGNsaWVu
dElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3csIFNlcnZpY2VXb3Jr
ZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmUsIHJlcXVlc3QudXJsKCksIHBhcmFtZXRlcnMud2ViUGFn
ZUlELCBwYXJhbWV0ZXJzLndlYkZyYW1lSUQsIHJlcXVlc3QuaXNBcHBJbml0aWF0ZWQoKSA/IFdl
YkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBXZWJDb3JlOjpMYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6Tm8sIGZhbHNlLCBmYWxzZSwgMCwgV1RGTW92ZShh
bmNlc3Rvck9yaWdpbnMpIH07CisgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgZGF0YSB7IGNs
aWVudElkZW50aWZpZXIsIGNsaWVudFR5cGUsIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU6
Ok5vbmUsIHJlcXVlc3QudXJsKCksIHBhcmFtZXRlcnMud2ViUGFnZUlELCBwYXJhbWV0ZXJzLndl
YkZyYW1lSUQsIHJlcXVlc3QuaXNBcHBJbml0aWF0ZWQoKSA/IFdlYkNvcmU6Okxhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBXZWJDb3JlOjpMYXN0TmF2aWdhdGlvbldhc0FwcElu
aXRpYXRlZDo6Tm8sIGZhbHNlLCBmYWxzZSwgMCwgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpIH07
CiAgICAgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNlY3VyaXR5T3JpZ2luRGF0YSB7IHJl
Z2lzdHJhdGlvbi5rZXkoKS50b3BPcmlnaW4oKSB9LCBXVEZNb3ZlKGRhdGEpLCByZWdpc3RyYXRp
b24uaWRlbnRpZmllcigpLCByZXF1ZXN0Lmh0dHBVc2VyQWdlbnQoKSk7CiB9CiAKQEAgLTE5NSw3
ICsyMDEsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8U2VydmljZVdvcmtlckZldGNoVGFzaz4gV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uOjpjcmVhdGVGZXRjaFRhc2soTgogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXI+IHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyOwotICAgIGlmIChsb2FkZXIu
cGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRl
KSB7CisgICAgaWYgKGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0
aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3Rp
bmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikgewogICAgICAgICBh
dXRvIHRvcE9yaWdpbiA9IGxvYWRlci5wYXJhbWV0ZXJzKCkuaXNNYWluRnJhbWVOYXZpZ2F0aW9u
ID8gU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHJlcXVlc3QudXJsKCkpIDogbG9hZGVyLnBh
cmFtZXRlcnMoKS50b3BPcmlnaW4tPmRhdGEoKTsKICAgICAgICAgYXV0byogcmVnaXN0cmF0aW9u
ID0gZG9SZWdpc3RyYXRpb25NYXRjaGluZyh0b3BPcmlnaW4sIHJlcXVlc3QudXJsKCkpOwogICAg
ICAgICBpZiAoIXJlZ2lzdHJhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAppbmRleCAwY2JmZThlNjU5NmMwOTNh
MDNmYWI3NjgzNTcyOTNiZDgwMDJiNGU0Li40NmYyZDk5NjEwZjllNDU5ZmE3ZGZkMGRlMmY5MmY0
YzI5Mzg4ODc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC00NjAsMTMgKzQ2MCw2IEBAIHZvaWQgV2ViTG9h
ZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZyb21OZXR3b3JrUHJvY2VzcyhSZXNvdXJjZUxvYWRl
ciYgcmVzb3VyY2VMCiAgICAgICAgIGZvciAoYXV0byogZnJhbWUgPSByZXNvdXJjZUxvYWRlci5m
cmFtZSgpLT50cmVlKCkucGFyZW50KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkucGFy
ZW50KCkpCiAgICAgICAgICAgICBmcmFtZUFuY2VzdG9yT3JpZ2lucy5hcHBlbmQoJmZyYW1lLT5k
b2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsKICAgICAgICAgbG9hZFBhcmFtZXRlcnMuZnJh
bWVBbmNlc3Rvck9yaWdpbnMgPSBXVEZNb3ZlKGZyYW1lQW5jZXN0b3JPcmlnaW5zKTsKLQotI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAgICAgaWYgKGF1dG8qIGRvY3VtZW50TG9hZGVy
ID0gcmVzb3VyY2VMb2FkZXIuZG9jdW1lbnRMb2FkZXIoKSkgewotICAgICAgICAgICAgaWYgKGF1
dG8gcmVzdWx0aW5nQ2xpZW50SWQgPSBzdGF0aWNfY2FzdDxXZWJEb2N1bWVudExvYWRlciY+KCpk
b2N1bWVudExvYWRlcikucmVzdWx0aW5nQ2xpZW50SWQoKSkKLSAgICAgICAgICAgICAgICBsb2Fk
UGFyYW1ldGVycy5vcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSByZXN1bHRpbmdDbGllbnRJZDsK
LSAgICAgICAgfQotI2VuZGlmCiAgICAgfQogCiAgICAgQVNTRVJUKChsb2FkUGFyYW1ldGVycy53
ZWJQYWdlSUQgJiYgbG9hZFBhcmFtZXRlcnMud2ViRnJhbWVJRCkgfHwgbG9hZFBhcmFtZXRlcnMu
Y2xpZW50Q3JlZGVudGlhbFBvbGljeSA9PSBDbGllbnRDcmVkZW50aWFsUG9saWN5OjpDYW5ub3RB
c2tDbGllbnRGb3JDcmVkZW50aWFscyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCBkOTNiMzRk
NjhmYTk5NWFhNDFiMDdiYzBlZDM1MmI3NmU3OTdjNWYwLi4xNzgwY2FjN2I2YTc3N2JmMTNmODIz
MjQ1N2U1NGQzOTExNWVkYzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTMsNiArNTMsNyBAQAog
I2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1dvcmtlckZldGNoUmVzdWx0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJTY3Jp
cHRMb2FkZXIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgUEFMOwpA
QCAtMTgwLDExICsxODEsMTggQEAgdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OndoZW5SZWdp
c3RyYXRpb25SZWFkeShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE8KICAgICB9KTsKIH0K
IAotdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnNldERvY3VtZW50SXNDb250cm9sbGVkKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllciwgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiBkYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnNl
dFNlcnZpY2VXb3JrZXJDbGllbnRJc0NvbnRyb2xsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiBkYXRh
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewot
ICAgIGF1dG8qIGRvY3VtZW50TG9hZGVyID0gRG9jdW1lbnRMb2FkZXI6OmZyb21TY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllcihkb2N1bWVudElkZW50aWZpZXIpOwotICAgIGJvb2wgcmVz
dWx0ID0gZG9jdW1lbnRMb2FkZXIgPyBkb2N1bWVudExvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uKFdURk1vdmUoZGF0YSkpIDogZmFsc2U7Ci0gICAgY29tcGxl
dGlvbkhhbmRsZXIocmVzdWx0KTsKKyAgICBpZiAoYXV0byogbG9hZGVyID0gRG9jdW1lbnRMb2Fk
ZXI6OmZyb21TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcihpZGVudGlmaWVyKSkgewor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihsb2FkZXItPnNldENvbnRyb2xsaW5nU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbihXVEZNb3ZlKGRhdGEpKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBpZiAoYXV0byogbG9hZGVyID0gV29ya2VyU2NyaXB0TG9hZGVyOjpmcm9tU2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIoaWRlbnRpZmllcikpIHsKKyAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIoZGF0YS5hY3RpdmVXb3JrZXIgPyBsb2FkZXItPnNldENvbnRyb2xsaW5nU2Vy
dmljZVdvcmtlcihXVEZNb3ZlKCpkYXRhLmFjdGl2ZVdvcmtlcikpIDogZmFsc2UpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIH0KIAogdm9p
ZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OmdldFJlZ2lzdHJhdGlvbnMoU2VjdXJpdHlPcmlnaW5E
YXRhJiYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgR2V0UmVnaXN0cmF0aW9uc0Nh
bGxiYWNrJiYgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IDM3NzE5MTI5NjIzY2U3NTg4
NGZjZWJhMjNiMTcwNmQwNmEzMTg0ZmEuLjYyMmZjMDhmMzE0NThkNmUyZjg1NWE5MmJmMTc0YzAy
NjEwNThlOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC04Miw3ICs4Miw4IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRHZXRSZWdpc3RyYXRpb25zKHVpbnQ2NF90IG1hdGNoUmVxdWVzdElkZW50aWZp
ZXIsIFZlY3RvcjxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4mJik7CiAg
ICAgdm9pZCB3aGVuUmVnaXN0cmF0aW9uUmVhZHkoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBXaGVuUmVnaXN0cmF0aW9u
UmVhZHlDYWxsYmFjayYmKSBmaW5hbDsKIAotICAgIHZvaWQgc2V0RG9jdW1lbnRJc0NvbnRyb2xs
ZWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYpOworICAgIHZvaWQgc2V0U2VydmljZVdvcmtlckNsaWVudElzQ29udHJvbGxlZChXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7
CisgICAgdm9pZCBzZXRXb3JrZXJJc0NvbnRyb2xsZWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogCiAgICAgdm9pZCBnZXRSZWdp
c3RyYXRpb25zKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgY29uc3Qg
VVJMJiBjbGllbnRVUkwsIEdldFJlZ2lzdHJhdGlvbnNDYWxsYmFjayYmKSBmaW5hbDsKICAgICB2
b2lkIHdoZW5TZXJ2aWNlV29ya2VySXNUZXJtaW5hdGVkRm9yVGVzdGluZyhXZWJDb3JlOjpTZXJ2
aWNlV29ya2VySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCAyMWRiNTY0YjdjODJiNWRh
ZTc5NTE0MjczMzRhN2NlZDgxODA5NDYxLi45MjVhN2M1Yjg2MjViM2RiMmYwMGZhNjExMWZjZjM4
M2IyMTY2Mzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0zOCw3
ICszOCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlNXQ2xpZW50Q29ubmVjdGlvbiB7CiAgICAgU2V0U1dP
cmlnaW5UYWJsZVNoYXJlZE1lbW9yeShXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIGhh
bmRsZSkKICAgICBQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVy
LCBzdHJ1Y3QgV2ViQ29yZTo6TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMgbWVzc2FnZSwgc3RydWN0
IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhIHNvdXJjZSwgU3RyaW5nIHNvdXJjZU9yaWdpbikK
IAotICAgIFNldERvY3VtZW50SXNDb250cm9sbGVkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyIHRlbXBvcmFyeURvY3VtZW50SWRlbnRpZmllciwgc3RydWN0IFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIGRhdGEpIC0+IChib29sIGlzU3VjY2Vz
cykKKyAgICBTZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250cm9sbGVkKFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIHdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSBkYXRhKSAtPiAoYm9vbCBpc1N1Y2Nl
c3MpCiAKICAgICBGb2N1c1NlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllcikgLT4gKHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGE+IHJlc3VsdCkKIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMWVm
NTRhOThmNGQ0ZGY4M2YyMzM2ZTc0ZWIzNGE1Y2RiNDYwNTQ1Li44OTkyYzVkNGI1NzMxNGViMWU5
NGJjOWRhNzEzYTRhYzUwZDIxZGU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDQtMTEg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSB3b3Jr
ZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3RyYXRpb24g
bWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkwNjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNhdGVkd29ya2VyLmh0dHBzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Nv
bnRyb2xsZWQtZGVkaWNhdGVkd29ya2VyLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC13b3JrZXIuanM6IEFk
ZGVkLgorCiAyMDIyLTA0LTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5j
b20+CiAKICAgICAgICAgTWFrZSBmYXN0L3RleHQvb3RzdmctY2FudmFzLmh0bWwgbW9yZSByb2J1
c3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDZlMTk3NzQyYzNlNmI4ZDliODFl
NzE0NjAxMTJkMmFlYzA5MjI1OWYuLjdjOWFkZDA2ZjE0YTQxMWIwOTU3MWU1ZTU5NzZlNzkzMDE1
ZjgzYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDIyLTA0LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBF
eHBvc2Ugd29ya2VycyBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVn
aXN0cmF0aW9uIG1hdGNoaW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXIu
aHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTA0LTEx
ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIENvbnRh
aW5lciBRdWVyaWVzXSBVcGRhdGUgY29udGFpbmVyIHNob3J0aGFuZCBvcmRlcgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggNDNiOWYyYjVkNGUwY2FlMjVhMWE4Yjc1YmVmMzE5NDA1NzczNDgzOC4uZDFj
YWI2ODFiN2ZkYmI5YjFjZDEwMDc3ZTQ2ZTQ2MThmYzM1ZTFlYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CkBAIC0zNjksNyArMzY5LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW4KIHdlYmtpdC5vcmcv
Yi8yMDE2NjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLXZpZGVvLXdpdGgtcmFuZ2UtcmVx
dWVzdC5odHRwcy5odG1sIFsgU2tpcCBdCiAKICMgTmV3bHkgaW1wb3J0ZWQgc2VydmljZSB3b3Jr
ZXIgdGVzdHMgdGhhdCBhcmUgZmxha3kuCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBzLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLW5vdC1hbGxvd2VkLmh0dHBzLmh0bWwg
WyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcGVyZm9ybWFuY2UtdGltZWxpbmUuaHR0cHMuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0
ZWR3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZWI0YWUzYTRlODc4ZTFj
Y2JmMjUzZTQ0YzRkNjhhMmY3ODE1MWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFJlZ2lzdGVyIHNlcnZpY2Ugd29y
a2VyCitQQVNTIFZlcmlmeSBkZWRpY2F0ZWQgd29ya2VyIGlzIGNvbnRyb2xsZWQKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVk
aWNhdGVkd29ya2VyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdv
cmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
NmUwNmY4MTc1Mzk4Y2JkZWJkODZkNTFiNmU3YzY1N2NlYzQzMjZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNh
dGVkd29ya2VyLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBl
cnMuc3ViLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3Byb21pc2Vf
dGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJza2lwRmV0Y2hFdmVudC13b3JrZXIuanMi
LCB7IHNjb3BlIDogJ3Jlc291cmNlcycgfSk7CisgICAgYWN0aXZlV29ya2VyID0gcmVnaXN0cmF0
aW9uLmFjdGl2ZTsKKyAgICBpZiAoYWN0aXZlV29ya2VyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBhY3RpdmVXb3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgYWN0aXZlV29ya2VyLmFkZEV2ZW50TGlzdGVu
ZXIoJ3N0YXRlY2hhbmdlJywgKCkgPT4geworICAgICAgICAgICAgaWYgKGFjdGl2ZVdvcmtlci5z
dGF0ZSA9PT0gImFjdGl2YXRlZCIpCisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAg
ICB9KTsKKyAgICB9KTsKK30sICJSZWdpc3RlciBzZXJ2aWNlIHdvcmtlciIpOworCitwcm9taXNl
X3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICB3b3JrZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJj
ZXMvY29udHJvbGxlZC13b3JrZXIuanMnKTsKKyAgICBjb25zdCBldmVudCA9IGF3YWl0IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4gd29ya2VyLm9ubWVzc2FnZSA9IHJlc29sdmUpOworICAgIGFzc2Vy
dF90cnVlKGV2ZW50LmRhdGEuaXNDb250cm9sbGVkKTsKK30sICJWZXJpZnkgZGVkaWNhdGVkIHdv
cmtlciBpcyBjb250cm9sbGVkIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29u
dHJvbGxlZC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMv
cmVzb3VyY2VzL2NvbnRyb2xsZWQtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzMTJhYzMzY2UxMzhi
NDE5ZDBmMTNjY2YxOWRjNTY4OGEwMTVlZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL2NvbnRyb2xsZWQtd29ya2VyLmpz
CkBAIC0wLDAgKzEgQEAKK3NlbGYucG9zdE1lc3NhZ2UoeyBpc0NvbnRyb2xsZWQgOiAhIW5hdmln
YXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXIuaHR0cHMtZXhw
ZWN0ZWQudHh0CmluZGV4IDJkNTg0ZTEwZGQwZWNhZjAwOTFiYjhlMGE5NWNmN2M2NmYyYTZmMmYu
LmIzMzlmOTg4NDNkNWNlNDE5Y2E5ZmNkYTc5OGFiZDVjOGRjYWJlMTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXIuaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xs
ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsOSBAQAogCiBQQVNTIFNhbWUtb3JpZ2lu
IGJsb2IgVVJMIGlmcmFtZSBzaG91bGQgaW5oZXJpdCBzZXJ2aWNlIHdvcmtlciBjb250cm9sbGVy
LgogUEFTUyBTYW1lLW9yaWdpbiBibG9iIFVSTCBpZnJhbWUgc2hvdWxkIGludGVyY2VwdCBmZXRj
aCgpLgotRkFJTCBTYW1lLW9yaWdpbiBibG9iIFVSTCB3b3JrZXIgc2hvdWxkIGluaGVyaXQgc2Vy
dmljZSB3b3JrZXIgY29udHJvbGxlci4gYXNzZXJ0X2VxdWFsczogYmxvYiBVUkwgd29ya2VyIHNo
b3VsZCBpbmhlcml0IGNvbnRyb2xsZXIgZXhwZWN0ZWQgKHN0cmluZykgImh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9sb2NhbC11
cmwtaW5oZXJpdC1jb250cm9sbGVyLXdvcmtlci5qcyIgYnV0IGdvdCAob2JqZWN0KSBudWxsCitQ
QVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJMIHdvcmtlciBzaG91bGQgaW5oZXJpdCBzZXJ2aWNlIHdv
cmtlciBjb250cm9sbGVyLgogUEFTUyBTYW1lLW9yaWdpbiBibG9iIFVSTCB3b3JrZXIgc2hvdWxk
IGludGVyY2VwdCBmZXRjaCgpLgogUEFTUyBEYXRhIFVSTCBpZnJhbWUgc2hvdWxkIG5vdCBpbnRl
cmNlcHQgZmV0Y2goKS4KIEZBSUwgRGF0YSBVUkwgd29ya2VyIHNob3VsZCBub3QgaW5oZXJpdCBz
ZXJ2aWNlIHdvcmtlciBjb250cm9sbGVyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ25hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXInKSIKLUZBSUwgRGF0
YSBVUkwgd29ya2VyIHNob3VsZCBub3QgaW50ZXJjZXB0IGZldGNoKCkuIGFzc2VydF9lcXVhbHM6
IGRhdGEgVVJMIHdvcmtlciBzaG91bGQgbm90IGludGVyY2VwdCBmZXRjaCBleHBlY3RlZCAiIiBi
dXQgZ290ICJpbnRlcmNlcHRlZCIKK1BBU1MgRGF0YSBVUkwgd29ya2VyIHNob3VsZCBub3QgaW50
ZXJjZXB0IGZldGNoKCkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1j
bGllbnQtaWQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNs
aWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYTBjOWNhNDQ1ZWEwNzg4Njc0NDcyNGMz
MjE1MmZmNDE5YTg0NTdkNy4uNGU2YmYxNzhmOTA2ZGY4YjVjMTU0NDQyYTNmNTYyZWM3YWE4NWNi
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVmVyaWZ5IHdvcmtlcnMgaGF2
ZSBhIHVuaXF1ZSBjbGllbnQgaWQgc2VwYXJhdGUgZnJvbSB0aGVpciBvd25pbmcgZG9jdW1lbnRz
IHdpbmRvdyBhc3NlcnRfbm90X2VxdWFsczogZnJhbWUgYW5kIHdvcmtlciBjbGllbnQgaWRzIHNo
b3VsZCBiZSBkaWZmZXJlbnQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIjJjNGY3OTM2LTljNzYtNGVk
NC1iOGU1LTBiMTBlYzJiZWE0MiIKK1BBU1MgVmVyaWZ5IHdvcmtlcnMgaGF2ZSBhIHVuaXF1ZSBj
bGllbnQgaWQgc2VwYXJhdGUgZnJvbSB0aGVpciBvd25pbmcgZG9jdW1lbnRzIHdpbmRvdwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRp
b24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDI4M2ZmN2E3YzIwOGMyMGRiMTY5
YmZjZTBlODBiNzVlMWJjYjM0ZjkuLmJhMTRlZGZlMjJjZTA5MmE3ZTk1MjE1N2M1NDhmMDk2NTBk
YTBjZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24t
cmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtl
ci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC04LDIwICs4LDIw
IEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRp
Y2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1v
ZHVsZSBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQt
c2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3Bl
MS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKQotRkFJTCBDYXNlICMzOiBzdyBzY29w
ZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdv
cmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjMzogc3cgc2Nv
cGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdv
cmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjMzogc3cgc2Nv
cGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQorUEFTUyBDYXNlICMzOiBzdyBz
Y29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlcikKIEZBSUwgQ2FzZSAjMzogc3cg
c2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBX
b3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBGQUlMIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3Jr
ZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENhc2UgIzQ6IHN3IHNjb3Bl
MS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDog
V29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBDYXNlICM0OiBzdyBz
Y29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hl
ZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBDYXNlICM0OiBz
dyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCitQQVNTIENhc2Ug
IzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQogRkFJTCBD
YXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2Vy
dF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2Vy
dF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIFBBU1Mg
Y2xlYW51cCBnbG9iYWwgc3RhdGUKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3Bl
MiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9pbXBvcnQtc2NyaXB0
cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIChz
Y29wZTIvKSIKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBE
ZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgp
OiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgp
OiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNTIENhc2UgIzE6IG5ldHdvcmsg
c2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkp
CitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVk
V29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChj
bGFzc2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0
d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0
cygpKQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cx
IHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBz
aW1wbGUgdGV4dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3Bl
MS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMx
OiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKQogRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNo
YXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cx
IHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBn
b3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsgKHNjb3BlMi8pIgogRkFJTCBD
YXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0
Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNo
IGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmls
ZSAoc2NvcGUyLylcbiIKQEAgLTI5LDExICsyOSwxMSBAQCBQQVNTIENhc2UgIzE6IG5ldHdvcmsg
c2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFT
UyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBp
bXBvcnRTY3JpcHRzKCkpCiBGQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1v
ZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRj
aCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRj
aCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCiBQQVNTIENhc2UgIzE6IG5ldHdv
cmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCi1G
QUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3
IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRT
Y3JpcHRzOiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIgotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3Bl
MS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIg
YnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6IG5l
dHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRT
Y3JpcHRzKCkpCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNz
aWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3Bl
MS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBB
U1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdv
cmtlciwgaW1wb3J0U2NyaXB0cygpKQotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290
ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBz
Y29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1Mg
Q2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtl
ciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29w
ZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHki
IGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsiCiBGQUlMIENhc2Ug
IzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRj
aCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2gg
ZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKQEAg
LTQxLDQgKzQxLDE2IEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAo
Y2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzI6IG5ldHdv
cmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMo
KSkKIEZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJl
ZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBz
YXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4
dCBmaWxlXG4iCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVs
ZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+
c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjog
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL2ltcG9ydC1z
Y3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9p
bXBvcnQtc2NyaXB0cy1lY2hvLnB5IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAo
Y2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290
ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgorRkFJTCBD
YXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0
aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
dWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRpbmc9
c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlwdCIg
YnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndv
cmtlci5weSIKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0
ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29w
ZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQg
Z290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgorRkFJ
TCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9j
YXRpb24uaHJlZikgYXNzZXJ0X2VxdWFsczogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3N1YmRpci93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGlu
Zz1zdzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0
IiBidXQgZ290ICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vi
d29ya2VyLnB5IgorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBE
ZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUx
LT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQorUEFTUyBDYXNl
ICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0
aW9uLmhyZWYpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVk
aWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+
b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQorUEFTUyBDYXNlICM0
OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24u
aHJlZikKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlv
bi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0
aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA4ZDRjYTQ5YmQ5M2I0Yzk2OTIyMzFlMmRlZGJl
MzIzNThmNmIwZmM4Li4xNmM0MzkzM2JiYjk3NWVjZjY2MGVlNjdlZDM2M2FlYjRiNGYzODdiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBAQAogCi1GQUlMIFZlcmlmeSBhIGRlZGlj
YXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSB1bmNvbnRyb2xsZWQgZG9j
dW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNlcnZpY2Ugd29ya2VyLiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5kZWZpbmVkCi1GQUlM
IFZlcmlmeSBhbiBvdXQtb2Ytc2NvcGUgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBp
c3N1ZWQgZnJvbSBhIGNvbnRyb2xsZWQgZG9jdW1lbnQgc2hvdWxkIG5vdCBiZSBpbnRlcmNlcHRl
ZCBieSBkb2N1bWVudCdzIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
d29ya2VyIGxvYWRpbmcgd2FzIG5vdCBpbnRlcmNlcHRlZCBieSBzZXJ2aWNlIHdvcmtlciIgYnV0
IGdvdCAid29ya2VyIGxvYWRpbmcgaW50ZXJjZXB0ZWQgYnkgc2VydmljZSB3b3JrZXIiCitQQVNT
IFZlcmlmeSBhIGRlZGljYXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSB1
bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNlcnZp
Y2Ugd29ya2VyLgorUEFTUyBWZXJpZnkgYW4gb3V0LW9mLXNjb3BlIGRlZGljYXRlZCB3b3JrZXIg
c2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSBjb250cm9sbGVkIGRvY3VtZW50IHNob3VsZCBu
b3QgYmUgaW50ZXJjZXB0ZWQgYnkgZG9jdW1lbnQncyBzZXJ2aWNlIHdvcmtlci4KIEZBSUwgVmVy
aWZ5IGEgc2hhcmVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVuY29udHJv
bGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIncyBvd24gc2VydmljZSB3b3Jr
ZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmlu
ZWQKLUZBSUwgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBz
ZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIGRlZGljYXRlZCB3b3JrZXIuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmluZWQKK1BB
U1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNl
IHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIGRlZGljYXRlZCB3b3JrZXIuCiBGQUlMIFZl
cmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3Jr
ZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBzaGFyZWQgd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5kZWZpbmVkCi1QQVNTIFZlcmlmeSBhIGNv
cnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0
ZWQgd29ya2VyIHN0YXJ0LgorRkFJTCBWZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVk
IGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBzdGFydC4gYXNzZXJ0
X2VxdWFsczogRXhwZWN0ZWQgZXJyb3IgZXZlbnQsIGJ1dCBnb3QgbWVzc2FnZSBldmVudCBpbnN0
ZWFkIGV4cGVjdGVkICJlcnJvciIgYnV0IGdvdCAibWVzc2FnZSIKIFBBU1MgVmVyaWZ5IGEgY29y
cyB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNoYXJlZCB3
b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jvc3Mtb3JpZ2luIHdvcmtlciBz
Y3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBz
dGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29ya2VyIHNjcmlwdCBz
ZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2VyIHN0YXJ0LgogUEFT
UyBSZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciB3b3JrZXIgc3VicmVzb3VyY2UgaW50ZXJj
ZXB0aW9uIHRlc3RzLgotRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgY29udHJv
bGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBs
b2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJ7XCJlcnJvclwiOiB7
XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9fSIKK1BBU1MgUmVxdWVzdHMgb24g
YSBkZWRpY2F0ZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci4KIEZBSUwg
UmVxdWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtl
ci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGlu
dGVyY2VwdGVkLiIgYnV0IGdvdCAie1wiZXJyb3JcIjoge1wiY29kZVwiOiA0MDQsIFwibWVzc2Fn
ZVwiOiBcIjQwNFwifX0iCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBuZXN0
ZWQgaW4gYSBkZWRpY2F0ZWQgd29ya2VyIGFuZCBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3Jr
ZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGlu
dGVyY2VwdGVkLiIgYnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogV29ya2VyIgogRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgbmVzdGVkIGlu
IGEgc2hhcmVkIHdvcmtlciBhbmQgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRl
ZC4iIGJ1dCBnb3QgIlVuZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZpbmQgdmFyaWFibGU6IFdvcmtl
ciIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457513</attachid>
            <date>2022-04-13 01:29:25 -0700</date>
            <delta_ts>2022-04-14 00:02:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239066-20220413102922.patch</filename>
            <type>text/plain</type>
            <size>91769</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEzMjkxMDFkOWMwMDZj
NDFhZDBlYmVjNGM3NGJhNzc0NjA3ZTNmMy4uNTg0YzZhNTJlNWMxYTBhMzRlYWM1NWEyZDMxNDc5
NzVmYzI5M2IyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIyLTA0LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2Ugd29ya2VycyBh
cyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNo
aW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGV4cG9zaW5nIHdvcmtlcnMgKGRlZGlj
YXRlZCBhbmQgc2hhcmVkKSBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzLgorICAgICAgICBBZGQg
c3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgY29udHJvbGxpbmcgcmVnaXN0cmF0aW9uIGZvciBkZWRp
Y2F0ZWQgd29ya2VycworICAgICAgICAoYSBmb2xsb3ctdXAgcGF0Y2ggc2hvdWxkIGhhbmRsZSBz
aGFyZWQgd29ya2VycykuCisgICAgICAgIFRvIHByb3Blcmx5IGhhbmRsZSBsb2FkcyBjb21pbmcg
ZnJvbSBhIHdvcmtlciwgd2UgcHJvcGVybHkgc2V0IGNsaWVudElkZW50aWZpZXIgYW5kIHJlZ2lz
dHJhdGlvbiBpZGVudGlmaWVyCisgICAgICAgIGZyb20gdGhlIHdvcmtlciBjb250ZXh0LCBpbnN0
ZWFkIG9mIGZyb20gdGhlIHdvcmtlcidzIGRvY3VtZW50LgorCisgICAgICAgIFNtYWxsIHJlZmFj
dG9yaW5nIHRvIHBhc3MgYWRkaXRpb25hbCBkYXRhIHRvIHdvcmtlciB0aHJvdWdoIFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHNldCB0aGUgY29udGV4
dCBJRCBhbmQgY29udGV4dCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KKworICAgICAgICBB
ZGRpbmcgYSBzcGVjaWZpYyBjaGVjayBpbiBDYWNoZWRSZXNvdXJjZUxvYWRlciB0byBub3QgcmV1
c2UgdGhlIGNhY2hlIGluIGNhc2UgdGhlIHNlcnZpY2Ugd29ya2VyIG1vZGVzIGFyZSBkaWZmZXJl
bnQuCisgICAgICAgIEEgcG90ZW50aWFsIGlzc3VlIGlzIHRoYXQgdGhlIHNlcnZpY2Ugd29ya2Vy
cyBhcmUgdGhlIHNhbWUgKDApIGFzIG9uZSByZXF1ZXN0IGlzIHRoZSBtYWluIHJlcXVlc3QKKyAg
ICAgICAgYW5kIHRoZSBzZWNvbmQgcmVxdWVzdCBpcyB0aGUgcmVxdWVzdCB0cmlnZ2VyZWQgYnkg
c2VydmljZSB3b3JrZXIgdG8gYW5zd2VyIHRoZSBmaXJzdCByZXF1ZXN0LgorCisgICAgICAgIFBy
b3Blcmx5IHN1cHBvcnQgYmxvYiBVUkwgbWF0Y2hpbmcgZGlyZWN0bHkgaW4gV29ya2VyU2NyaXB0
TG9hZGVyIGZvciB3b3JrZXJzLgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy5odG1sCisKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0RvY3VtZW50
Lmg6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBs
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9GZXRjaE9wdGlvbnMu
aDoKKyAgICAgICAgKiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgICogbG9h
ZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3Bw
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
V0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRE
YXRhLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5
cGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5j
cHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVh
ZC5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVy
Lmg6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQ
cm94eS5jcHA6CisKIDIwMjItMDQtMTEgIFR5bGVyIFdpbGNvY2sgIDx0eWxlcl93QGFwcGxlLmNv
bT4KIAogICAgICAgICBBWDogVXBkYXRlIGlzb2xhdGVkIHRyZWUgaW4gcmVzcG9uc2UgdG8gQVhS
ZWFkT25seVN0YXR1c0NoYW5nZWQsIEFYUmVxdWlyZWRTdGF0dXNDaGFuZ2VkLCBhbmQgQVhQcmVz
c2VkU3RhdGVDaGFuZ2VkIG5vdGlmaWNhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNmUwNmQwZDc3N2M3NGFl
ZWUxOGZmOTE5NWVhMjBmODQ0ZjIzOTFiYS4uY2I1OGZiY2QzMzNkZmMxZDE4NGE2YjE3YjA3ZDEw
NzI4ZGU2ZTQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMi0wNC0xMiAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMg
c2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGlu
ZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzOTA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJldXNlIHRoZSBzYW1lIHN0cmF0ZWd5IGZvciBEZWRpY2F0ZWRXb3Jr
ZXJzIGFzIGZvciBEb2N1bWVudHMgdG8gbWF0Y2ggcmVnaXN0cmF0aW9ucyBhbmQgY29udHJvbCB0
aGVuOgorICAgICAgICAtIERvIG1hdGNoaW5nIGluIG5ldHdvcmsgcHJvY2VzcworICAgICAgICAt
IElmIG1hdGNoaW5nLCBzZW5kIGEgbWVzc2FnZSB0byBXZWJQcm9jZXNzIHRvIHNldCB0aGUgbWF0
Y2hpbmcgcmVnaXN0cmF0aW9uIGRhdGEuCisgICAgICAgIEFkZCBzcGVjaWZpYyBoYW5kbGluZyBm
b3Igd29ya2VyIHJlZ2lzdHJhdGlvbiByZW1hdGNoaW5nIGluIGNhc2Ugb2YgcmVkaXJlY3Rpb25z
OgorICAgICAgICAtIElmIHJlZGlyZWN0aW9uIGNvbWVzIGZyb20gc2VydmljZSB3b3JrZXIgKHZp
YSByZXNwb25kV2l0aCksIGRvIHJlbWF0Y2hpbmcuCisgICAgICAgIC0gSWYgcmVkaXJlY3Rpb24g
Y29tZXMgZnJvbSBuZXR3b3JrLCBkbyBub3QgZG8gcmVtYXRjaGluZy4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5j
cHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdl
cy5pbjoKKwogMjAyMi0wNC0xMSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW1dLMl0gU2ltcGxpZnkgSVBDIGVuY29kaW5nLCBkZWNvZGluZyBvZiB0dXBs
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA2N2Q2Y2MxM2QyODJiNWViNzM3MjNiOThmMzZjNTM3YjdlM2EyNjFhLi5hZGMyYmYy
OTRjMmUyOWY2MDlhOTBmMmM3MDM0ZTUxNmI2NjQ5ZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDY1LDYgKzEwNjUsNyBA
QAogCQkzRkY4MTNBNzFEQkE4NjQwMDA5QkYwMDEgLyogUG9pbnRlckxvY2tDb250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0ZDNDM0RjE5
MjQwNkE5MDBBMEQzQjUgLyogUG9pbnRlckxvY2tDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEwNzkwOEMxRkMzRjAzMzAwNjFC
MjdBIC8qIENsaWVudE9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDEwNzkwOEExRkMzRTRGMjAwNjFCMjdBIC8qIENsaWVudE9yaWdpbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMEJDRjU2
MjZGMENEOEMwMDQwQjEyNCAvKiBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMEJDRjUzMjZGMENE
OEIwMDQwQjEyNCAvKiBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaCAqLzsgfTsKKwkJ
NDEwQzQ4QTcyODA0MjBGODAwODREMTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwQzQ4QTYyODA0
MjBGMjAwODREMTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMEU0NDYxMjM0MzczRTkwMDAx
NzNENCAvKiBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTBFNDQ1RjIzNDM3M0FEMDAwMTczRDQgLyogTGli
V2ViUlRDU29ja2V0SWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQxMTAwQzgwMjNGNzQ1ODMwMDFCQzMzQiAvKiBXZWJTb2NrZXRD
aGFubmVsSW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTEwMEM3RTIzRjczOTgyMDAxQkMzM0IgLyogV2ViU29ja2V0Q2hhbm5lbEluc3Bl
Y3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTQxMTAzQUFDMUUzOTc5MTAwMDc2OUYwMyAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTAzQUE4
MUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCAqLzsgfTsK
QEAgLTEzNTMsNyArMTM1NCw3IEBACiAJCTQ2NzJBQTk5MjZCMDk0M0YwMEU2RUMzOCAvKiBDcm9z
c09yaWdpbk9wZW5lclBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDY3MkFBOTcyNkIwOTQyMTAwRTZFQzM4IC8qIENyb3NzT3JpZ2luT3BlbmVy
UG9saWN5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDY3MzAyMDIxQzRFRkU3ODAwQkNCMzU3IC8qIElnbm9yZU9wZW5zRHVyaW5nVW5sb2FkQ291
bnRJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDY3MzAyMDExQzRFRkU2NjAwQkNCMzU3IC8qIElnbm9yZU9wZW5zRHVyaW5nVW5sb2Fk
Q291bnRJbmNyZW1lbnRlci5oICovOyB9OwogCQk0NjdBNjhENzI3NUVBOTkxMDA5QjMxQzUgLyog
U2hhcmVkV29ya2VyVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NjdBNjhENDI3NUVBOThCMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyVGhyZWFk
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDY3
QTY4RDgyNzVFQTk5NTAwOUIzMUM1IC8qIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3QTY4RDUyNzVFQTk4
QzAwOUIzMUM1IC8qIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oICovOyB9OworCQk0NjdBNjhE
ODI3NUVBOTk1MDA5QjMxQzUgLyogU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENTI3NUVBOThDMDA5
QjMxQzUgLyogU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDY3QTY4RDkyNzVFQTk5ODAwOUIzMUM1IC8q
IFNoYXJlZFdvcmtlclRocmVhZFByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENjI3NUVBOThDMDA5QjMxQzUgLyogU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0NjgyRDIwMDFGNzk3ODMwMDBDODYzREIgLyogU3RvcmVkQ3JlZGVudGlhbHNQb2xp
Y3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2ODJE
MUZGMUY3OTc4MjMwMEM4NjNEQiAvKiBTdG9yZWRDcmVkZW50aWFsc1BvbGljeS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2ODM0NEUwMUVEREZB
QUEwMEI3Nzk1QiAvKiBET01SZWN0TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDY4MzQ0REUxRURERkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg1
NjYsNiArODU2Nyw3IEBACiAJCTQxMEJBMTMxMjU3MEZFNTcwMDJFMkY4QSAvKiBMaWJXZWJSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmNwcDsgcGF0aCA9IGxpYndlYnJ0
Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTBCQ0Y1MzI2RjBDRDhCMDA0MEIxMjQgLyogUlRDTG9jYWxTZXNzaW9uRGVz
Y3JpcHRpb25Jbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0xvY2Fs
U2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTBCQ0Y1NTI2RjBDRDhDMDA0MEIxMjQgLyogUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbklu
aXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTBDNDhBNjI4MDQyMEYyMDA4
NEQxMDQgLyogV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTBFNDQ1RjIzNDM3M0FEMDAwMTczRDQgLyogTGliV2ViUlRDU29ja2V0
SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENT
b2NrZXRJZGVudGlmaWVyLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDU29ja2V0SWRlbnRp
Zmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBGNTY1NTI0RkNGNzA1MDBB
MkU1MEMgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxMEY1NjU3MjRGQ0Y3QzcwMEEyRTUwQyAvKiBSVENJY2VDYW5kaWRhdGVJbml0
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENJY2VDYW5kaWRhdGVJbml0LmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwOTQ0LDYgKzIwOTQ2LDcgQEAKIAkJCQkyRTQz
NDYzNzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaCAqLywKIAkJCQkyRTQz
NDYzODBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaWRsICovLAogCQkJCTJF
NDM0NjM5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LmggKi8sCisJ
CQkJNDEwQzQ4QTYyODA0MjBGMjAwODREMTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5o
ICovLAogCQkJCUE1NEEwQzY5MURCODMxRjEwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JQcm94
eS5jcHAgKi8sCiAJCQkJQTU0QTBDNkExREI4MzFGMjAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3Rv
clByb3h5LmggKi8sCiAJCQkJMThGODMxQjcwRkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxvYWRl
clByb3h5LmggKi8sCkBAIC0zODM0Miw2ICszODM0NSw3IEBACiAJCQkJQTdENkIzNDkwRjYxMTA0
NTAwRkY5RkQxIC8qIFdvcmtlckZvbnRMb2FkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MkU0MzQ2NDkwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRTQzNDY0QjBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEwQzQ4QTcyODA0MjBGODAwODREMTA0IC8qIFdv
cmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBDNjIxREI3
RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE1NEEwQzZDMURCODMxRjkwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JQcm94eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMThGODMxQjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtlckxv
YWRlclByb3h5LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYjY4NTI1
ZDljMmI5NzNlZjc1MTVkMDY2ZWIxNmFjMzFkZmRjNDI0Mi4uMTA0MWQxNmJjZDI4M2VhNjhjYTI0
ZGNiZWE4ZTk0Zjk5YWQ2ZWRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1NjgsNyArMTU2
OCw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICB2b2lkIHNl
dFNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKFNXQ2xpZW50Q29ubmVjdGlvbiopOwotICAgIHZvaWQg
dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKKyAgICB2b2lkIHVwZGF0ZVNlcnZpY2VX
b3JrZXJDbGllbnREYXRhKCkgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBuYXZpZ2F0
ZUZyb21TZXJ2aWNlV29ya2VyKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oCmluZGV4IDNmZmM1ZmRlMDViN2QzMGIxMjAyMWM1OTAzN2EwOWQ3YTY0NDE0YWUuLmMy
M2VmZDA0MjViODZmYjQ0NjljYzM0M2EwMzIyOGI4OGNlMjZkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMjg5LDYgKzI4OSw3IEBAIHB1Ymxp
YzoKIAogICAgIFNlcnZpY2VXb3JrZXJDb250YWluZXIqIHNlcnZpY2VXb3JrZXJDb250YWluZXIo
KTsKICAgICBTZXJ2aWNlV29ya2VyQ29udGFpbmVyKiBlbnN1cmVTZXJ2aWNlV29ya2VyQ29udGFp
bmVyKCk7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkg
eyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogI2VuZGlmCiAgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIGJvb2wgcG9zdFRhc2tUbyhTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgVGFz
ayYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBlbnN1cmVPbkNvbnRleHRUaHJl
YWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFRhc2smJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA1NTY4MmQwZTQ3Y2Y4YWFlNzdmNDk3
ODM0MTc5M2EzNWQ1NTQwYWMxLi40MTY5N2Y1MzBmMWVlY2FkMGMyN2YzYTRlZTJkYzkwOTNmNzAy
MjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTIxNDAs
NiArMjE0MCw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmxvYWRNYWluUmVzb3VyY2UoUmVzb3Vy
Y2VSZXF1ZXN0JiYgcmVxdWVzdCkKICAgICAgICAgbV9yZXN1bHRpbmdDbGllbnRJZCA9IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogICAgICAgICBBU1NFUlQo
IXNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Mb2FkZXJNYXAoKS5jb250YWlucyht
X3Jlc3VsdGluZ0NsaWVudElkKSk7CiAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyVG9Mb2FkZXJNYXAoKS5hZGQobV9yZXN1bHRpbmdDbGllbnRJZCwgdGhpcyk7CisgICAg
ICAgIG1haW5SZXNvdXJjZUxvYWRPcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBtX3Jlc3VsdGlu
Z0NsaWVudElkOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRmV0Y2hPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25z
LmgKaW5kZXggNWFjZTAxNWJkNWVmNzI5M2I2MGVhMWU2YTZkZTFlOGNmODFlODlhZS4uMzk1ZGYw
NDZkNDZhNWQ1YmQ4NTY2N2VmMGQ3YjJjZDQ0OTMzNThhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
ZXRjaE9wdGlvbnMuaApAQCAtNDQsOSArNDQsOSBAQCBzdHJ1Y3QgRmV0Y2hPcHRpb25zIHsKICAg
ICBlbnVtIGNsYXNzIFJlZGlyZWN0IDogdWludDhfdCB7IEZvbGxvdywgRXJyb3IsIE1hbnVhbCB9
OwogCiAgICAgRmV0Y2hPcHRpb25zKCkgPSBkZWZhdWx0OwotICAgIEZldGNoT3B0aW9ucyhEZXN0
aW5hdGlvbiwgTW9kZSwgQ3JlZGVudGlhbHMsIENhY2hlLCBSZWRpcmVjdCwgUmVmZXJyZXJQb2xp
Y3ksIFN0cmluZyYmLCBib29sKTsKLSAgICBGZXRjaE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29u
c3QgJiB7IHJldHVybiB7IGRlc3RpbmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJl
ZGlyZWN0LCByZWZlcnJlclBvbGljeSwgaW50ZWdyaXR5Lmlzb2xhdGVkQ29weSgpLCBrZWVwQWxp
dmUgfTsgfQotICAgIEZldGNoT3B0aW9ucyBpc29sYXRlZENvcHkoKSAmJiB7IHJldHVybiB7IGRl
c3RpbmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBv
bGljeSwgV1RGTW92ZShpbnRlZ3JpdHkpLmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUgfTsgfQor
ICAgIEZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiwgTW9kZSwgQ3JlZGVudGlhbHMsIENhY2hlLCBS
ZWRpcmVjdCwgUmVmZXJyZXJQb2xpY3ksIFN0cmluZyYmLCBib29sLCBzdGQ6Om9wdGlvbmFsPFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPik7CisgICAgRmV0Y2hPcHRpb25zIGlzb2xh
dGVkQ29weSgpIGNvbnN0ICYgeyByZXR1cm4geyBkZXN0aW5hdGlvbiwgbW9kZSwgY3JlZGVudGlh
bHMsIGNhY2hlLCByZWRpcmVjdCwgcmVmZXJyZXJQb2xpY3ksIGludGVncml0eS5pc29sYXRlZENv
cHkoKSwga2VlcEFsaXZlLCBjbGllbnRJZGVudGlmaWVyIH07IH0KKyAgICBGZXRjaE9wdGlvbnMg
aXNvbGF0ZWRDb3B5KCkgJiYgeyByZXR1cm4geyBkZXN0aW5hdGlvbiwgbW9kZSwgY3JlZGVudGlh
bHMsIGNhY2hlLCByZWRpcmVjdCwgcmVmZXJyZXJQb2xpY3ksIFdURk1vdmUoaW50ZWdyaXR5KS5p
c29sYXRlZENvcHkoKSwga2VlcEFsaXZlLCBjbGllbnRJZGVudGlmaWVyIH07IH0KIAogICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlUGVyc2lzdGVudChFbmNvZGVyJikgY29u
c3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVS
TiBib29sIGRlY29kZVBlcnNpc3RlbnQoRGVjb2RlciYsIEZldGNoT3B0aW9ucyYpOwpAQCAtNTks
MjAgKzU5LDIxIEBAIHN0cnVjdCBGZXRjaE9wdGlvbnMgewogICAgIENhY2hlIGNhY2hlIHsgQ2Fj
aGU6OkRlZmF1bHQgfTsKICAgICBSZWRpcmVjdCByZWRpcmVjdCB7IFJlZGlyZWN0OjpGb2xsb3cg
fTsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSB7IFJlZmVycmVyUG9saWN5OjpF
bXB0eVN0cmluZyB9OwotICAgIGJvb2wga2VlcEFsaXZlIHsgZmFsc2UgfTsKICAgICBTdHJpbmcg
aW50ZWdyaXR5OworICAgIGJvb2wga2VlcEFsaXZlIHsgZmFsc2UgfTsKICAgICBzdGQ6Om9wdGlv
bmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlmaWVyOwog
fTsKIAotaW5saW5lIEZldGNoT3B0aW9uczo6RmV0Y2hPcHRpb25zKERlc3RpbmF0aW9uIGRlc3Rp
bmF0aW9uLCBNb2RlIG1vZGUsIENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDYWNoZSBjYWNoZSwg
UmVkaXJlY3QgcmVkaXJlY3QsIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBTdHJpbmcm
JiBpbnRlZ3JpdHksIGJvb2wga2VlcEFsaXZlKQoraW5saW5lIEZldGNoT3B0aW9uczo6RmV0Y2hP
cHRpb25zKERlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLCBNb2RlIG1vZGUsIENyZWRlbnRpYWxzIGNy
ZWRlbnRpYWxzLCBDYWNoZSBjYWNoZSwgUmVkaXJlY3QgcmVkaXJlY3QsIFJlZmVycmVyUG9saWN5
IHJlZmVycmVyUG9saWN5LCBTdHJpbmcmJiBpbnRlZ3JpdHksIGJvb2wga2VlcEFsaXZlLCBzdGQ6
Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlm
aWVyKQogICAgIDogZGVzdGluYXRpb24oZGVzdGluYXRpb24pCiAgICAgLCBtb2RlKG1vZGUpCiAg
ICAgLCBjcmVkZW50aWFscyhjcmVkZW50aWFscykKICAgICAsIGNhY2hlKGNhY2hlKQogICAgICwg
cmVkaXJlY3QocmVkaXJlY3QpCiAgICAgLCByZWZlcnJlclBvbGljeShyZWZlcnJlclBvbGljeSkK
LSAgICAsIGtlZXBBbGl2ZShrZWVwQWxpdmUpCiAgICAgLCBpbnRlZ3JpdHkoV1RGTW92ZShpbnRl
Z3JpdHkpKQorICAgICwga2VlcEFsaXZlKGtlZXBBbGl2ZSkKKyAgICAsIGNsaWVudElkZW50aWZp
ZXIoY2xpZW50SWRlbnRpZmllcikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuY3BwCmluZGV4IDU5Y2RjYzJlYzRjNDhjMWFlYmY0ZTdiZjgxZTIyMDFhZDEw
MjUyNDQuLmI1ZGQ0ZWY2YWE5ODFkNjNjNTQ4NGE0MWVhZjU0YzY5ZjFmNGNlZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTc3LDYgKzc3LDggQEAg
VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6Omlzb2xhdGVk
Q29weSgpIGNvbnN0CiAgICAgY29weS5yZWRpcmVjdCA9IHRoaXMtPnJlZGlyZWN0OwogICAgIGNv
cHkucmVmZXJyZXJQb2xpY3kgPSB0aGlzLT5yZWZlcnJlclBvbGljeTsKICAgICBjb3B5LmludGVn
cml0eSA9IHRoaXMtPmludGVncml0eS5pc29sYXRlZENvcHkoKTsKKyAgICBjb3B5LmtlZXBBbGl2
ZSA9IHRoaXMtPmtlZXBBbGl2ZTsKKyAgICBjb3B5LmNsaWVudElkZW50aWZpZXIgPSB0aGlzLT5j
bGllbnRJZGVudGlmaWVyOwogCiAgICAgLy8gUmVzb3VyY2VMb2FkZXJPcHRpb25zCiAgICAgY29w
eS5zZW5kTG9hZENhbGxiYWNrcyA9IHRoaXMtPnNlbmRMb2FkQ2FsbGJhY2tzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IGUyOTU4
OWMyZmYyNDAwNDI1MzVjM2MwMzk2ZmM4YjQ3NjI0NDJhYTAuLjgyZmJmNzBlY2Y1NGYyYWEyMWRl
MmQzYzU2MGYzMzJlZmE0NWU5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9X
b3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJXb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyLmgiCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3ku
aCIKKyNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC0xMzMsMTAgKzEzNCwyMCBAQCBXb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpNYWluVGhyZWFkQnJpZGdlKFRo
cmVhZGFibGVMb2FkZXJDbGllbgogICAgIG9wdGlvbnNDb3B5LT5vcHRpb25zLmluaXRpYXRvckNv
bnRleHQgPSBJbml0aWF0b3JDb250ZXh0OjpXb3JrZXI7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCi0gICAgb3B0aW9uc0NvcHktPm9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gaXM8
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPihnbG9iYWxTY29wZSkgPyBTZXJ2aWNlV29ya2Vyc01v
ZGU6Ok5vbmUgOiBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbDsKLSAgICBpZiAoYXV0byogYWN0aXZl
U2VydmljZVdvcmtlciA9IGdsb2JhbFNjb3BlLmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKLSAgICAg
ICAgb3B0aW9uc0NvcHktPm9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7CisgICAg
aWYgKG9wdGlvbnNDb3B5LT5vcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9PSBTZXJ2aWNlV29y
a2Vyc01vZGU6OkFsbCkgeworICAgICAgICBpZiAoaXM8U2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
PihnbG9iYWxTY29wZSkpCisgICAgICAgICAgICBvcHRpb25zQ29weS0+b3B0aW9ucy5zZXJ2aWNl
V29ya2Vyc01vZGUgPSBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmU7CisgICAgICAgIGVsc2UgaWYg
KGF1dG8qIGFjdGl2ZVNlcnZpY2VXb3JrZXIgPSBnbG9iYWxTY29wZS5hY3RpdmVTZXJ2aWNlV29y
a2VyKCkpIHsKKyAgICAgICAgICAgIG9wdGlvbnNDb3B5LT5vcHRpb25zLnNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtlci0+cmVnaXN0cmF0aW9u
SWRlbnRpZmllcigpOworICAgICAgICAgICAgb3B0aW9uc0NvcHktPm9wdGlvbnMuc2VydmljZVdv
cmtlcnNNb2RlID0gU2VydmljZVdvcmtlcnNNb2RlOjpBbGw7CisgICAgICAgIH0gZWxzZSBpZiAo
aXM8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KGdsb2JhbFNjb3BlKSkKKyAgICAgICAgICAg
IG9wdGlvbnNDb3B5LT5vcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IFNlcnZpY2VXb3JrZXJz
TW9kZTo6Tm9uZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgb3B0aW9uc0NvcHktPm9wdGlv
bnMuc2VydmljZVdvcmtlcnNNb2RlID0gU2VydmljZVdvcmtlcnNNb2RlOjpBbGw7CisgICAgfQog
I2VuZGlmCisgICAgaWYgKCFvcHRpb25zQ29weS0+b3B0aW9ucy5jbGllbnRJZGVudGlmaWVyKQor
ICAgICAgICBvcHRpb25zQ29weS0+b3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gZ2xvYmFsU2Nv
cGUuaWRlbnRpZmllcigpOwogCiAgICAgaWYgKGlzPFdvcmtlckdsb2JhbFNjb3BlPihnbG9iYWxT
Y29wZSkpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFNlbmRSZXF1ZXN0
KGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihnbG9iYWxTY29wZSksIG1fd29ya2VyUmVxdWVz
dElkZW50aWZpZXIsIHJlcXVlc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggN2Q2MWNjYjUyYjdmNTBkN2Y4Yzk2
YjZmMmI1MTRhZmRhZDdjY2Q5Zi4uN2Y2MzhjMWM1ZWE2YTFhMGM0NDcyNjk0YTdmNzM3N2U3MjM4
NDM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwCkBAIC0xMjAyLDggKzEyMDIsOCBAQCBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6UmV2YWxpZGF0aW9uUG9saWN5IENhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZh
bGlkYQogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIC8vIEZJWE1FOiBXZSBzaG91
bGQgdmFsaWRhdGUvc3BlY2lmeSB0aGlzIGJlaGF2aW9yLgotICAgIGlmIChjYWNoZWRSZXNvdXJj
ZVJlcXVlc3Qub3B0aW9ucygpLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyICE9
IGV4aXN0aW5nUmVzb3VyY2UtPm9wdGlvbnMoKS5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllcikgewotICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmRldGVybWluZVJldmFsaWRhdGlvblBvbGljeSByZWxvYWRpbmcgYmVjYXVzZSBzZWxl
Y3RlZCBzZXJ2aWNlIHdvcmtlciBkaWZmZXJzIik7CisgICAgaWYgKGNhY2hlZFJlc291cmNlUmVx
dWVzdC5vcHRpb25zKCkuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgIT0gZXhp
c3RpbmdSZXNvdXJjZS0+b3B0aW9ucygpLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyIHx8IGNhY2hlZFJlc291cmNlUmVxdWVzdC5vcHRpb25zKCkuc2VydmljZVdvcmtlcnNNb2Rl
ICE9IGV4aXN0aW5nUmVzb3VyY2UtPm9wdGlvbnMoKS5zZXJ2aWNlV29ya2Vyc01vZGUpIHsKKyAg
ICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1p
bmVSZXZhbGlkYXRpb25Qb2xpY3kgcmVsb2FkaW5nIGJlY2F1c2Ugc2VsZWN0ZWQgc2VydmljZSB3
b3JrZXIgbWF5IGRpZmZlciIpOwogICAgICAgICByZXR1cm4gUmVsb2FkOwogICAgIH0KICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJl
YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3Bw
CmluZGV4IGI3ZjkxN2Q2ZDhiZGEwNWVkYjU4ZDEyZjc4NWEzYjM5MjA4MTIwOWIuLjc1MDMzMmIz
ZGU1ZWRmZDJlZTc3NTY1MDE1ZjdiODZlMWY1YmM2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKQEAgLTQ4LDcgKzQ4LDEyIEBAIERl
ZGljYXRlZFdvcmtlclRocmVhZDo6fkRlZGljYXRlZFdvcmtlclRocmVhZCgpID0gZGVmYXVsdDsK
IAogUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtcywgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIG9yaWdpbiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbikKIHsK
LSAgICByZXR1cm4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShwYXJhbXMsIFdU
Rk1vdmUob3JpZ2luKSwgKnRoaXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblBy
b3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOworICAgIGF1dG8gc2NvcGUgPSBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHBhcmFtcywgV1RGTW92ZShvcmlnaW4pLCAqdGhpcywgV1RG
TW92ZSh0b3BPcmlnaW4pLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7
CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGlmIChwYXJhbXMuc2VydmljZVdvcmtl
ckRhdGEpCisgICAgICAgIHNjb3BlLT5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3Jr
ZXI6OmdldE9yQ3JlYXRlKHNjb3BlLmdldCgpLCBTZXJ2aWNlV29ya2VyRGF0YSB7ICpwYXJhbXMu
c2VydmljZVdvcmtlckRhdGEgfSkpOworI2VuZGlmCisgICAgcmV0dXJuIHNjb3BlOwogfQogCiB2
b2lkIERlZGljYXRlZFdvcmtlclRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmNwcAppbmRleCA3ZmJhNjI4OTFkZGJhYTZlNjY1YzE0YmY5ZWMyOGEyOGI0NDQxNTQ3
Li44ODNmN2QzZjEyYWM4MjdiZTBjNTlhN2E0MjI3NjI1YjQyY2QwNjk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oIgogI2luY2x1ZGUg
Ildvcmtlckdsb2JhbFNjb3BlUHJveHkuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlICJXb3Jr
ZXJUaHJlYWQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JZGVudGlmaWVyc0ZhY3Rvcnku
aD4KQEAgLTU3LDE1ICs1OCwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lT
T19BTExPQ0FURURfSU1QTChXb3JrZXIpOwogCi1zdGF0aWMgSGFzaFNldDxXb3JrZXIqPiYgYWxs
V29ya2VycygpCitzdGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
ciwgV29ya2VyKj4mIGFsbFdvcmtlcnMoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxI
YXNoU2V0PFdvcmtlcio+PiBzZXQ7Ci0gICAgcmV0dXJuIHNldDsKKyAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8SGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV29ya2Vy
Kj4+IG1hcDsKKyAgICByZXR1cm4gbWFwOwogfQogCiB2b2lkIFdvcmtlcjo6bmV0d29ya1N0YXRl
Q2hhbmdlZChib29sIGlzT25MaW5lKQogewotICAgIGZvciAoYXV0byogd29ya2VyIDogYWxsV29y
a2VycygpKQorICAgIGZvciAoYXV0byogd29ya2VyIDogYWxsV29ya2VycygpLnZhbHVlcygpKQog
ICAgICAgICB3b3JrZXItPm5vdGlmeU5ldHdvcmtTdGF0ZUNoYW5nZShpc09uTGluZSk7CiB9CiAK
QEAgLTc1LDYgKzc2LDcgQEAgV29ya2VyOjpXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzLAogICAgICwgbV9pZGVudGlm
aWVyKCJ3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVu
dGlmaWVyKCkpCiAgICAgLCBtX2NvbnRleHRQcm94eShXb3JrZXJHbG9iYWxTY29wZVByb3h5Ojpj
cmVhdGUoKnRoaXMpKQogICAgICwgbV9ydW50aW1lRmxhZ3MocnVudGltZUZsYWdzKQorICAgICwg
bV9jbGllbnRJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyOjpnZW5l
cmF0ZSgpKQogewogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYgKCFhZGRl
ZExpc3RlbmVyKSB7CkBAIC04Miw3ICs4NCw3IEBAIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncywKICAg
ICAgICAgYWRkZWRMaXN0ZW5lciA9IHRydWU7CiAgICAgfQogCi0gICAgYXV0byBhZGRSZXN1bHQg
PSBhbGxXb3JrZXJzKCkuYWRkKHRoaXMpOworICAgIGF1dG8gYWRkUmVzdWx0ID0gYWxsV29ya2Vy
cygpLmFkZChtX2NsaWVudElkZW50aWZpZXIsIHRoaXMpOwogICAgIEFTU0VSVF9VTlVTRUQoYWRk
UmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CiB9CiAKQEAgLTExNCw3ICsxMTYsNyBAQCBF
eGNlcHRpb25PcjxSZWY8V29ya2VyPj4gV29ya2VyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgSlNDOjpSdQogICAgIHJlcXVlc3Quc2V0SW5pdGlhdG9ySWRlbnRpZmll
cih3b3JrZXItPm1faWRlbnRpZmllcik7CiAKICAgICBhdXRvIHNvdXJjZSA9IG9wdGlvbnMudHlw
ZSA9PSBXb3JrZXJUeXBlOjpNb2R1bGUgPyBXb3JrZXJTY3JpcHRMb2FkZXI6OlNvdXJjZTo6TW9k
dWxlU2NyaXB0IDogV29ya2VyU2NyaXB0TG9hZGVyOjpTb3VyY2U6OkNsYXNzaWNXb3JrZXJTY3Jp
cHQ7Ci0gICAgd29ya2VyLT5tX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRl
eHQsIFdURk1vdmUocmVxdWVzdCksIHNvdXJjZSwgd29ya2VyRmV0Y2hPcHRpb25zKHdvcmtlci0+
bV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5n
ZXQoKSwgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CisgICAgd29ya2VyLT5tX3Njcmlw
dExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIHNv
dXJjZSwgd29ya2VyRmV0Y2hPcHRpb25zKHdvcmtlci0+bV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uOjpXb3JrZXIpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwg
U2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSwgV29ya2VyUnVuTG9vcDo6ZGVm
YXVsdE1vZGUoKSwgd29ya2VyLT5tX2NsaWVudElkZW50aWZpZXIpOwogCiAgICAgcmV0dXJuIHdv
cmtlcjsKIH0KQEAgLTEyMyw3ICsxMjUsNyBAQCBXb3JrZXI6On5Xb3JrZXIoKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSk7IC8vIFRoZSBjb250ZXh0IGlzIHByb3RlY3RlZCBieSB3b3JrZXIgY29udGV4dCBwcm94eSwg
c28gaXQgY2Fubm90IGJlIGRlc3Ryb3llZCB3aGlsZSBhIFdvcmtlciBleGlzdHMuCi0gICAgYWxs
V29ya2VycygpLnJlbW92ZSh0aGlzKTsKKyAgICBhbGxXb3JrZXJzKCkucmVtb3ZlKG1fY2xpZW50
SWRlbnRpZmllcik7CiAgICAgbV9jb250ZXh0UHJveHkud29ya2VyT2JqZWN0RGVzdHJveWVkKCk7
CiB9CiAKQEAgLTIwOCwxMyArMjEwLDE5IEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgp
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBib29sIGlzT25saW5lID0gcGxhdGZvcm1T
dHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCk7CiAgICAgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMgPSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyA/
IG1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgOiBjb250ZXh0
LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVzcG9uc2VIZWFkZXJzKCk7CiAgICAgUmVmZXJy
ZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiAg
ICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRlci0+
cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQogICAg
ICAgICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7CiAKLSAgICBtX2NvbnRleHRQcm94eS5zdGFy
dFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgpLCBtX29w
dGlvbnMubmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVz
dFVSTCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgbV9zY3JpcHRMb2FkZXItPmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ko
KSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBtX29wdGlvbnMudHlwZSwg
bV9vcHRpb25zLmNyZWRlbnRpYWxzLCBtX3J1bnRpbWVGbGFncyk7CisgICAgV29ya2VySW5pdGlh
bGl6YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09S
S0VSKQorICAgICAgICBtX3NjcmlwdExvYWRlci0+dGFrZVNlcnZpY2VXb3JrZXJEYXRhKCksCisj
ZW5kaWYKKyAgICAgICAgbV9jbGllbnRJZGVudGlmaWVyLAorICAgICAgICBjb250ZXh0LT51c2Vy
QWdlbnQobV9zY3JpcHRMb2FkZXItPmxhc3RSZXF1ZXN0VVJMKCkpCisgICAgfTsKKyAgICBtX2Nv
bnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVx
dWVzdFVSTCgpLCBtX29wdGlvbnMubmFtZSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpLCBt
X3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fc2Ny
aXB0TG9hZGVyLT5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KCksIG1fd29ya2VyQ3JlYXRpb25U
aW1lLCByZWZlcnJlclBvbGljeSwgbV9vcHRpb25zLnR5cGUsIG1fb3B0aW9ucy5jcmVkZW50aWFs
cywgbV9ydW50aW1lRmxhZ3MpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0
SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2NyaXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0
TG9hZGVyLT5zY3JpcHQoKS50b1N0cmluZygpKTsKIH0KIApAQCAtMjUxLDggKzI1OSwxMyBAQCB2
b2lkIFdvcmtlcjo6cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpPgogCiB2b2lkIFdvcmtlcjo6Zm9yRWFjaFdvcmtlcihjb25z
dCBGdW5jdGlvbjxGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4oKT4mIGNh
bGxiYWNrKQogewotICAgIGZvciAoYXV0byogd29ya2VyIDogYWxsV29ya2VycygpKQorICAgIGZv
ciAoYXV0byogd29ya2VyIDogYWxsV29ya2VycygpLnZhbHVlcygpKQogICAgICAgICB3b3JrZXIt
PnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShjYWxsYmFjaygpKTsKIH0KIAorV29ya2VyKiBX
b3JrZXI6OndvcmtlckJ5SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
ciBpZGVudGlmaWVyKQoreworICAgIHJldHVybiBhbGxXb3JrZXJzKCkuZ2V0KGlkZW50aWZpZXIp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAppbmRl
eCA0ZDUwZTYxNTA1OTE3NWRjY2E1OGE1MGNlM2U3YjQ4OThhNGY2YjNjLi5jYzJiYjhhYTU5M2Yy
NGE2N2JkMjA1ZDcxOTQyYjA1N2UyOGM5NmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKQEAg
LTgxLDEwICs4MSwxMiBAQCBwdWJsaWM6CiAgICAgV29ya2VyVHlwZSB0eXBlKCkgY29uc3QgeyBy
ZXR1cm4gbV9vcHRpb25zLnR5cGU7IH0KIAogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2Jh
bFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKKwogICAg
IHN0YXRpYyB2b2lkIGZvckVhY2hXb3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Jik+KCk+Jik7CisgICAgc3RhdGljIFdvcmtlciogd29ya2Vy
QnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKIAogcHJpdmF0
ZToKLSAgICBleHBsaWNpdCBXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVu
dGltZUZsYWdzLCBXb3JrZXJPcHRpb25zJiYpOworICAgIFdvcmtlcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIFdvcmtlck9wdGlvbnMmJik7CiAKICAgICBFdmVu
dFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIFdvcmtlckV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQogCkBAIC0xMTYsNiArMTE4LDcg
QEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmluZz4gbV90
cmFuc2Zvcm1lcnM7CiAjZW5kaWYKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
ciBtX2NsaWVudElkZW50aWZpZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDU5MzNlMDc0
ZThiNjMyN2QwNTY2MWIzNDFlMTYyNzIwOTlmZDI5ZmIuLmFjNGRlNGI3YzBlZGQ0OTVmMGMwNDU0
MjY2NmZiODI2MjcwNWU0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuY3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29k
ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW5Qb2xpY3kuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oIgogI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVy
LmgiCiAjaW5jbHVkZSAiV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgpAQCAtOTEsNyAr
OTIsNyBAQCBzdGF0aWMgV29ya1F1ZXVlJiBzaGFyZWRGaWxlU3lzdGVtU3RvcmFnZVF1ZXVlKCkK
IFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXJHbG9iYWxTY29wZSk7CiAKIFdvcmtl
ckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIGNv
bnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtcywgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdp
biwgV29ya2VyVGhyZWFkJiB0aHJlYWQsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4s
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFBy
b3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
KHR5cGUsIGlzTWFpblRocmVhZCgpID8gUmVmIHsgY29tbW9uVk0oKSB9IDogSlNDOjpWTTo6Y3Jl
YXRlKCksICZ0aHJlYWQpCisgICAgOiBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSh0eXBlLCBp
c01haW5UaHJlYWQoKSA/IFJlZiB7IGNvbW1vblZNKCkgfSA6IEpTQzo6Vk06OmNyZWF0ZSgpLCAm
dGhyZWFkLCBwYXJhbXMuY2xpZW50SWRlbnRpZmllcikKICAgICAsIG1fdXJsKHBhcmFtcy5zY3Jp
cHRVUkwpCiAgICAgLCBtX2luc3BlY3RvcklkZW50aWZpZXIocGFyYW1zLmluc3BlY3RvcklkZW50
aWZpZXIpCiAgICAgLCBtX3VzZXJBZ2VudChwYXJhbXMudXNlckFnZW50KQpAQCAtNjUzLDQgKzY1
NCwxNCBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjp1cGRhdGVTb3VyY2VQcm92aWRlckJ1ZmZl
cnMoY29uc3QgU2NyaXB0QnVmZmVyJiBtYWluU2NyaQogICAgIH0KIH0KIAorI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKK3ZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnVwZGF0ZVNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhKCkKK3sKKyAgICBBU1NFUlQodHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckds
b2JhbFNjb3BlOjpUeXBlOjpEZWRpY2F0ZWRXb3JrZXIpOworICAgIGF1dG8gY29udHJvbGxpbmdT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIo
KSA/IHN0ZDo6bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
cj4oYWN0aXZlU2VydmljZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3Rk
OjpudWxsb3B0OworICAgIFNXQ2xpZW50Q29ubmVjdGlvbiYgY29ubmVjdGlvbiA9IHN3Q2xpZW50
Q29ubmVjdGlvbigpOworICAgIGNvbm5lY3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50
KHRvcE9yaWdpbigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRy
b2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7IG1fdXNl
ckFnZW50IH0pOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCBlYWE1ODIwNzRmYWZjNDY0
YzMyOGY4M2U2NTI4YmRhMDdkY2MyZDUyLi41OGJiZDY1NzdmYTQzNzIwN2U5YmE3NmRkZWU3M2Uz
OTY0ZGVkNmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5o
CkBAIC0xOTIsNiArMTkyLDkgQEAgcHJpdmF0ZToKICAgICBib29sIHdyYXBDcnlwdG9LZXkoY29u
c3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSkgZmlu
YWw7CiAgICAgYm9vbCB1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFw
cGVkS2V5LCBWZWN0b3I8dWludDhfdD4mIGtleSkgZmluYWw7CiAjZW5kaWYKKyNpZiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCisgICAgdm9pZCB1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgp
IGZpbmFsOworI2VuZGlmCiAKICAgICB2b2lkIHN0b3BJbmRleGVkRGF0YWJhc2UoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAppbmRleCAy
YmFiMjY3MzVkZTE5YjRiNTExMTA3YTZhY2Q5OWUyOTg2NDU3M2NkLi44YTUwYTcwMDczNzE1NTk0
ZWUxZDRjYzIzZTc5OGMzODE5YTUxNDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CiBjbGFzcyBTY3JpcHRCdWZmZXI7CiBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV29ya2VyOworc3RydWN0IFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YTsKIGVudW0gY2xhc3MgUmVmZXJyZXJQb2xpY3kgOiB1aW50OF90Owog
ZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogYm9vbDsKIApAQCAtNTEsNyArNTIsNyBAQCBjbGFzcyBX
b3JrZXJHbG9iYWxTY29wZVByb3h5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV29ya2VyR2xvYmFs
U2NvcGVQcm94eSYgY3JlYXRlKFdvcmtlciYpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFNjcmlwdEJ1ZmZl
ciYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0
IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJl
ZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpS
dW50aW1lRmxhZ3MpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29w
ZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBXb3JrZXJJbml0aWFs
aXphdGlvbkRhdGEmJiwgY29uc3QgU2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25zdCBDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGlj
eSYsIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUs
IEZldGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBv
cnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3Bl
KEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41Njk3MGQwNGEzYTcwYzE4OTVjZTk3MTk1ODI2ZDA5OWM2NzA4YWVhCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEu
aApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJEYXRhLmgiCisjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFdv
cmtlckluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAg
IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IHNlcnZpY2VXb3JrZXJEYXRhOworI2Vu
ZGlmCisgICAgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4g
Y2xpZW50SWRlbnRpZmllcjsKKyAgICBTdHJpbmcgdXNlckFnZW50OworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmNwcAppbmRleCBjMzExMWEyZjdmNWZmMjkxOGZmZWM1MGJiMzEwM2MwNWUxMjg3NGMz
Li5jYmVkNDljOWY5MDgxYmRlYmNmYmZkYjkyMWUzNGYzMjY1MzVjYzY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtMzgsMTEgKzM4
LDE0IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZldGNoUmVxdWVzdENy
ZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKKyNpbmNsdWRlICJM
b2FkZXJTdHJhdGVneS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJXb3Jr
ZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCIKICNpbmNsdWRlICJX
b3JrZXJJbnNwZWN0b3JQcm94eS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVU
eXBlcy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgpAQCAt
NzUsNyArNzgsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5
KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAK
LXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3Qg
VVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiBjcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJl
ZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRp
YWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdv
cmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGlu
aXRpYWxpemF0aW9uRGF0YSwgY29uc3QgU2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmIGNyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVm
ZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUgd29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3JlZGVudGlh
bHMgY3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKIHsKICAgICAv
LyBGSVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVuIHdlIHN1cHBvcnQgbmVzdGVk
IHdvcmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CkBA
IC04Nyw3ICs5MCwxMiBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0UHJv
dmlkZXIqIHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAotICAg
IFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIs
IHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwg
Y3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCkgfTsKKyAgICBXb3JrZXJQYXJh
bWV0ZXJzIHBhcmFtcyB7IHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgV1RGTW92ZShpbml0
aWFsaXphdGlvbkRhdGEudXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0
cmF0ZWd5KCktPmlzT25MaW5lKCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgd29ya2VyVHlwZSwg
Y3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCksIFdvcmtlclRocmVhZE1vZGU6
OkNyZWF0ZU5ld1RocmVhZCwgeyB9LAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAg
ICAgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEuc2VydmljZVdvcmtlckRhdGEpLAorI2VuZGlm
CisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyLnZhbHVlX29yKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIHsgfSkKKyAgICB9OwogICAgIGF1dG8gdGhy
ZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUocGFyYW1zLCBzb3VyY2VDb2RlLCAq
dGhpcywgKnRoaXMsICp0aGlzLCBzdGFydE1vZGUsIGRvY3VtZW50LnRvcE9yaWdpbigpLCBwcm94
eSwgc29ja2V0UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7CiAKICAgICB3b3JrZXJUaHJlYWRDcmVh
dGVkKHRocmVhZC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmgKaW5kZXggMjI2ZTg2MWM1MTZkNWQyZTZhMzQ1ZWQ3ZGU4NzFjOTI0YzEyODg0
My4uYjI1OTU3MmIzODBjZmYxMDJiNzRjNGFhMjRkNTEwMWM5OGU5NmY0ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNTAsNyArNTAsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3JrZXJHbG9i
YWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5jdGlvbnMgaW4gdGhlIHdv
cmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3kmLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBXb3Jr
ZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFs
OworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiwgY29uc3QgU2Ny
aXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYsIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxz
LCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9i
YWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3Bl
KE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFsOwogICAgIHZvaWQgcG9zdFRhc2tUb1dv
cmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYm
KSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggZmNiNDRlNmNiYzQyOWVlZDAyYWI2M2E4MGM4NDc4ZGJk
M2RiMjhhZi4uNTgzYTU2Zjk3NTQxMTU2NWVmOTczMmFmN2EzNGM0ODEyMDJlMDQ5ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZS5jcHAKQEAgLTQwLDggKzQwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOwogCi1Xb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoV29ya2VyVGhy
ZWFkVHlwZSB0eXBlLCBSZWY8SlNDOjpWTT4mJiB2bSwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiB0
aHJlYWQpCi0gICAgOiBtX3NjcmlwdChtYWtlVW5pcXVlPFdvcmtlck9yV29ya2xldFNjcmlwdENv
bnRyb2xsZXI+KHR5cGUsIFdURk1vdmUodm0pLCB0aGlzKSkKK1dvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUs
IFJlZjxKU0M6OlZNPiYmIHZtLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQqIHRocmVhZCwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCisgICAgOiBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KGNvbnRleHRJZGVudGlmaWVyKQorICAgICwgbV9zY3JpcHQobWFr
ZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPih0eXBlLCBXVEZNb3ZlKHZt
KSwgdGhpcykpCiAgICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1vZHVsZUxv
YWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpXb3JrZXJPcldvcmts
ZXQpKQogICAgICwgbV90aHJlYWQodGhyZWFkKQogICAgICwgbV9pbnNwZWN0b3JDb250cm9sbGVy
KG1ha2VVbmlxdWU8V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcj4oKnRoaXMpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4
IGEwZDE2ZDc0NzA5OTkzNGE4ZmUzMTgwYmUwNzc5MzI3NTM1M2JhYzEuLjg3MWNkN2M1MWZmZTQ4
NjU2ODg2ODQ1ZDA1ZWVlMTJlOTg5OTNiMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigp
IGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgotICAgIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
KFdvcmtlclRocmVhZFR5cGUsIFJlZjxKU0M6OlZNPiYmLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQq
KTsKKyAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlLCBSZWY8
SlNDOjpWTT4mJiwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIgPSB7IH0pOwogCiAgICAgLy8gU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KICAg
ICBib29sIGlzSlNFeGVjdXRpb25Gb3JiaWRkZW4oKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCAwYzQwMTAxOTlmNGJm
MjYyNDllMmJkYzBlNzgxMGRmNTA4ZGZlMWIwLi41OWNlYTEyZGIwZWIzZGUxMzMzZjY4YjEwMjUy
YzVhOGQ4NjlmZDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRM
b2FkZXIuY3BwCkBAIC00NSwxMiArNDUsMjIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitz
dGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV29ya2VyU2Ny
aXB0TG9hZGVyKj4mIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Xb3JrZXJTY3Jp
cHRMb2FkZXJNYXAoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBXb3JrZXJTY3JpcHRMb2FkZXIqPj4gbWFwOwor
ICAgIHJldHVybiBtYXAuZ2V0KCk7Cit9CisKIFdvcmtlclNjcmlwdExvYWRlcjo6V29ya2VyU2Ny
aXB0TG9hZGVyKCkKICAgICA6IG1fc2NyaXB0KFNjcmlwdEJ1ZmZlcjo6ZW1wdHkoKSkKIHsKIH0K
IAotV29ya2VyU2NyaXB0TG9hZGVyOjp+V29ya2VyU2NyaXB0TG9hZGVyKCkgPSBkZWZhdWx0Owor
V29ya2VyU2NyaXB0TG9hZGVyOjp+V29ya2VyU2NyaXB0TG9hZGVyKCkKK3sKKyAgICBpZiAobV9j
bGllbnRJZGVudGlmaWVyKQorICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
clRvV29ya2VyU2NyaXB0TG9hZGVyTWFwKCkucmVtb3ZlKG1fY2xpZW50SWRlbnRpZmllcik7Cit9
CiAKIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5j
aHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IGNvbnN0IFVSTCYgdXJsLCBTb3VyY2Ugc291cmNlLCBGZXRjaE9wdGlvbnM6Ok1vZGUgbW9kZSwg
RmV0Y2hPcHRpb25zOjpDYWNoZSBjYWNoZVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5m
b3JjZW1lbnQgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIGNvbnN0IFN0cmluZyYg
aW5pdGlhdG9ySWRlbnRpZmllcikKIHsKQEAgLTkzLDExICsxMDMsNyBAQCBzdGQ6Om9wdGlvbmFs
PEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRF
eGVjdXRpb25DbwogICAgIG9wdGlvbnMuc2VuZExvYWRDYWxsYmFja3MgPSBTZW5kQ2FsbGJhY2tQ
b2xpY3k6OlNlbmRDYWxsYmFja3M7CiAgICAgb3B0aW9ucy5jb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCA9IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OwogICAgIG9wdGlv
bnMuZGVzdGluYXRpb24gPSBtX2Rlc3RpbmF0aW9uOwotI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKLSAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IGlzU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlID8gU2VydmljZVdvcmtlcnNNb2RlOjpOb25lIDogU2VydmljZVdvcmtlcnNNb2RlOjpB
bGw7Ci0gICAgaWYgKGF1dG8qIGFjdGl2ZVNlcnZpY2VXb3JrZXIgPSB3b3JrZXJHbG9iYWxTY29w
ZS5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCi0gICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25J
ZGVudGlmaWVyKCk7Ci0jZW5kaWYKKwogICAgIFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmxvYWRS
ZXNvdXJjZVN5bmNocm9ub3VzbHkod29ya2VyR2xvYmFsU2NvcGUsIFdURk1vdmUoKnJlcXVlc3Qp
LCAqdGhpcywgb3B0aW9ucyk7CiAKICAgICAvLyBJZiB0aGUgZmV0Y2hpbmcgYXR0ZW1wdCBmYWls
ZWQsIHRocm93IGEgTmV0d29ya0Vycm9yIGV4Y2VwdGlvbiBhbmQgYWJvcnQgYWxsIHRoZXNlIHN0
ZXBzLgpAQCAtMTE1LDcgKzEyMSw3IEBAIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBXb3JrZXJT
Y3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvCiAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3lu
Y2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
LCBSZXNvdXJjZVJlcXVlc3QmJiBzY3JpcHRSZXF1ZXN0LCBTb3VyY2Ugc291cmNlLCBGZXRjaE9w
dGlvbnMmJiBmZXRjaE9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTZXJ2aWNlV29ya2Vyc01vZGUgc2Vydmlj
ZVdvcmtlck1vZGUsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCYgY2xpZW50LCBTdHJpbmcmJiB0
YXNrTW9kZSkKK3ZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmVzb3VyY2VSZXF1
ZXN0JiYgc2NyaXB0UmVxdWVzdCwgU291cmNlIHNvdXJjZSwgRmV0Y2hPcHRpb25zJiYgZmV0Y2hP
cHRpb25zLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCBjb250ZW50U2VjdXJpdHlQ
b2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlIHNlcnZpY2VXb3JrZXJNb2RlLCBX
b3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmIGNsaWVudCwgU3RyaW5nJiYgdGFza01vZGUsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpCiB7CiAgICAgbV9j
bGllbnQgPSAmY2xpZW50OwogICAgIG1fdXJsID0gc2NyaXB0UmVxdWVzdC51cmwoKTsKQEAgLTE0
Miw3ICsxNDgsMTcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNs
eShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICAvLyBBIHNlcnZpY2Ug
d29ya2VyIGpvYiBjYW4gYmUgZXhlY3V0ZWQgZnJvbSBhIHdvcmtlciBjb250ZXh0IG9yIGEgZG9j
dW1lbnQgY29udGV4dC4KICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IHNlcnZpY2VX
b3JrZXJNb2RlOwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICBpZiAoYXV0byogYWN0
aXZlU2VydmljZVdvcmtlciA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZlU2VydmljZVdv
cmtlcigpKQorICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igc2hhcmVkIHdvcmtlci4KKyAg
ICBpZiAobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIg
JiYgaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7CisgICAgICAgIEFTU0VS
VChjbGllbnRJZGVudGlmaWVyKTsKKyAgICAgICAgLy8gSW4gY2FzZSBvZiBibG9iIFVSTHMsIHdl
IHJldXNlIHRoZSBkb2N1bWVudCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KKyAgICAgICAg
aWYgKHJlcXVlc3QtPnVybCgpLnByb3RvY29sSXNCbG9iKCkgJiYgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCisgICAgICAgICAgICBzZXRDb250cm9sbGluZ1Nl
cnZpY2VXb3JrZXIoU2VydmljZVdvcmtlckRhdGEgeyBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFj
dGl2ZVNlcnZpY2VXb3JrZXIoKS0+ZGF0YSgpIH0pOworICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgIG9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVu
dElkZW50aWZpZXI7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
clRvV29ya2VyU2NyaXB0TG9hZGVyTWFwKCkuYWRkKG1fY2xpZW50SWRlbnRpZmllciwgdGhpcyk7
CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGF1dG8qIGFjdGl2ZVNlcnZpY2VXb3JrZXIgPSBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKICAgICAgICAgb3B0
aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VX
b3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKICNlbmRpZgogCkBAIC0yOTgsNCArMzE0
LDIwIEBAIFdvcmtlckZldGNoUmVzdWx0IFdvcmtlclNjcmlwdExvYWRlcjo6ZmV0Y2hSZXN1bHQo
KSBjb25zdAogICAgIHJldHVybiB7IHNjcmlwdCgpLCBsYXN0UmVxdWVzdFVSTCgpLCBjZXJ0aWZp
Y2F0ZUluZm8oKSwgY29udGVudFNlY3VyaXR5UG9saWN5KCksIGNyb3NzT3JpZ2luRW1iZWRkZXJQ
b2xpY3koKSwgcmVmZXJyZXJQb2xpY3koKSwgeyB9IH07CiB9CiAKK1dvcmtlclNjcmlwdExvYWRl
ciogV29ya2VyU2NyaXB0TG9hZGVyOjpmcm9tU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICBy
ZXR1cm4gc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlwdExvYWRl
ck1hcCgpLmdldChpZGVudGlmaWVyKTsKK30KKworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
K2Jvb2wgV29ya2VyU2NyaXB0TG9hZGVyOjpzZXRDb250cm9sbGluZ1NlcnZpY2VXb3JrZXIoU2Vy
dmljZVdvcmtlckRhdGEmJiBhY3RpdmVTZXJ2aWNlV29ya2VyRGF0YSkKK3sKKyAgICBpZiAoIW1f
Y2xpZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2FjdGl2ZVNlcnZpY2VXb3Jr
ZXJEYXRhID0gV1RGTW92ZShhY3RpdmVTZXJ2aWNlV29ya2VyRGF0YSk7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggNTlhY2E5NjI5MjA0NWM3MjUwZGUy
NjM2ZTlhOTI5MTFjNjY1NzAxNS4uYjY4YjAyNGQ2MTNhZTFkZjJlNWE0OTUxZjUwOTg5YWQ2OTYw
ZWU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCkBA
IC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNjcmlwdEJ1ZmZlci5oIgorI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGEuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCiAj
aW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPG1lbW9yeT4KQEAg
LTQ5LDYgKzUxLDcgQEAgY2xhc3MgRXhjZXB0aW9uOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiBjbGFzcyBXb3JrZXJTY3JpcHRMb2Fk
ZXJDbGllbnQ7CitzdHJ1Y3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CiBzdHJ1Y3Qg
V29ya2VyRmV0Y2hSZXN1bHQ7CiBlbnVtIGNsYXNzIENlcnRpZmljYXRlSW5mb1BvbGljeSA6IHVp
bnQ4X3Q7CiAKQEAgLTYzLDcgKzY2LDcgQEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgU291cmNl
IDogdWludDhfdCB7IENsYXNzaWNXb3JrZXJTY3JpcHQsIENsYXNzaWNXb3JrZXJJbXBvcnQsIE1v
ZHVsZVNjcmlwdCB9OwogCiAgICAgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+IGxvYWRTeW5jaHJv
bm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBVUkwmLCBTb3VyY2UsIEZldGNo
T3B0aW9uczo6TW9kZSwgRmV0Y2hPcHRpb25zOjpDYWNoZSwgQ29udGVudFNlY3VyaXR5UG9saWN5
RW5mb3JjZW1lbnQsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9ySWRlbnRpZmllcik7Ci0gICAgdm9p
ZCBsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVx
dWVzdCYmLCBTb3VyY2UsIEZldGNoT3B0aW9ucyYmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZv
cmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmLCBT
dHJpbmcmJiB0YXNrTW9kZSk7CisgICAgdm9pZCBsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYsIFJlc291cmNlUmVxdWVzdCYmLCBTb3VyY2UsIEZldGNoT3B0aW9ucyYm
LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlLCBX
b3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmLCBTdHJpbmcmJiB0YXNrTW9kZSwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllciA9IHsgfSk7CiAKICAgICB2b2lk
IG5vdGlmeUVycm9yKCk7CiAKQEAgLTk0LDYgKzk3LDEzIEBAIHB1YmxpYzoKIAogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyBSZXNvdXJjZUVycm9yIHZhbGlkYXRlV29ya2VyUmVzcG9uc2UoY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYsIFNvdXJjZSwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbik7
CiAKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgV29ya2VyU2NyaXB0TG9hZGVyKiBmcm9tU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIpOworCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgc2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJEYXRhJiYpOwor
ICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IHRha2VTZXJ2aWNlV29ya2VyRGF0
YSgpIHsgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9hY3RpdmVTZXJ2aWNlV29ya2VyRGF0YSwgeyB9
KTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFJlZkNvdW50ZWQ8V29y
a2VyU2NyaXB0TG9hZGVyPjsKICAgICBmcmllbmQgc3RydWN0IHN0ZDo6ZGVmYXVsdF9kZWxldGU8
V29ya2VyU2NyaXB0TG9hZGVyPjsKQEAgLTEyNSw2ICsxMzUsMTAgQEAgcHJpdmF0ZToKICAgICBi
b29sIG1faXNDT0VQRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgUmVzb3VyY2VSZXNwb25zZTo6U291
cmNlIG1fcmVzcG9uc2VTb3VyY2UgeyBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlVua25vd24g
fTsKICAgICBSZXNvdXJjZUVycm9yIG1fZXJyb3I7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIgbV9jbGllbnRJZGVudGlmaWVyOworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiBtX2FjdGl2ZVNlcnZpY2VX
b3JrZXJEYXRhOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggNWEwZmUxODdjNmYxYjU2OTg2YzRk
ZDkwNzE2NTI4ZGRkOWRiMmI3Zi4uMGY5NDFkOTMyZjljZjFjZDUwNGY0YzEyOWQ5Yzg1MTYzOGQ0
MTQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtNjQsNiAr
NjQsMTAgQEAgV29ya2VyUGFyYW1ldGVycyBXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRlZENvcHko
KSBjb25zdAogICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKSwKICAgICAgICAg
d29ya2VyVGhyZWFkTW9kZSwKICAgICAgICAgc2Vzc2lvbklELAorI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNlcnZpY2VXb3JrZXJEYXRhKSwKKyNl
bmRpZgorICAgICAgICBjbGllbnRJZGVudGlmaWVyCiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggZGM5Nzc0ZTkyZTdmMWVlNjhmZjRkZjUyZmI5NWVl
NTRjZjA0MWM2Ny4uMzgxNDhlZjhiMzUwZGY5MTMwNWI3Y2Q3NTU5ZmJkY2I5Mzc2ZjhkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0yOSw2ICsyOSw4IEBACiAjaW5j
bHVkZSAiQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5oIgogI2luY2x1ZGUgIkZldGNoUmVxdWVz
dENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oIgorI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRU
aHJlYWQuaCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVHlw
ZS5oIgpAQCAtNzYsNiArNzgsMTAgQEAgcHVibGljOgogICAgIFNldHRpbmdzOjpWYWx1ZXMgc2V0
dGluZ3NWYWx1ZXM7CiAgICAgV29ya2VyVGhyZWFkTW9kZSB3b3JrZXJUaHJlYWRNb2RlIHsgV29y
a2VyVGhyZWFkTW9kZTo6Q3JlYXRlTmV3VGhyZWFkIH07CiAgICAgc3RkOjpvcHRpb25hbDxQQUw6
OlNlc3Npb25JRD4gc2Vzc2lvbklEIHsgc3RkOjpudWxsb3B0IH07CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IHNlcnZpY2VX
b3JrZXJEYXRhOworI2VuZGlmCisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIg
Y2xpZW50SWRlbnRpZmllcjsKIAogICAgIFdvcmtlclBhcmFtZXRlcnMgaXNvbGF0ZWRDb3B5KCkg
Y29uc3Q7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NX
Q2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dD
bGllbnRDb25uZWN0aW9uLmNwcAppbmRleCA5OGMxODg2YWQ0MjgzMDE4ZmY1MzNkNGFkZjBmMDY1
MDUxMmZjZTY3Li40ZTMzMzJmN2Q0Yjk1NTBlNmQ0MWQ1ZGUyZTkyNWY5OTA5MDI2NTEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0
aW9uLmNwcApAQCAtMjI3LDIwICsyMjcsMzAgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnNl
dFJlZ2lzdHJhdGlvblVwZGF0ZVZpYUNhY2hlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24KICAg
ICB9KTsKIH0KIAorc3RhdGljIHZvaWQgdXBkYXRlQ29udHJvbGxlcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyRGF0YSYmIG5ld0NvbnRyb2xsZXIpCit7Cisg
ICAgY29udGV4dC5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXI6OmdldE9yQ3Jl
YXRlKGNvbnRleHQsIFdURk1vdmUobmV3Q29udHJvbGxlcikpKTsKKyAgICBpZiAoYXV0byogY29u
dGFpbmVyID0gY29udGV4dC5zZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkpCisgICAgICAgIGNvbnRh
aW5lci0+cXVldWVUYXNrVG9EaXNwYXRjaENvbnRyb2xsZXJDaGFuZ2VFdmVudCgpOworfQorCiB2
b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShj
b25zdCBIYXNoU2V0PFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiYgY29udGV4dElk
ZW50aWZpZXJzLCBTZXJ2aWNlV29ya2VyRGF0YSYmIG5ld0NvbnRyb2xsZXIpCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBBU1NFUlQoIWNvbnRleHRJZGVudGlmaWVycy5pc0Vt
cHR5KCkpOwogCiAgICAgZm9yIChhdXRvJiBjbGllbnRJZGVudGlmaWVyIDogY29udGV4dElkZW50
aWZpZXJzKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHdvcmtlciBjb250ZXh0cy4KLSAg
ICAgICAgYXV0byogY2xpZW50ID0gRG9jdW1lbnQ6OmFsbERvY3VtZW50c01hcCgpLmdldChjbGll
bnRJZGVudGlmaWVyKTsKLSAgICAgICAgaWYgKCFjbGllbnQpCisgICAgICAgIGlmIChhdXRvKiBk
b2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS5nZXQoY2xpZW50SWRlbnRpZmll
cikpIHsKKyAgICAgICAgICAgIHVwZGF0ZUNvbnRyb2xsZXIoKmRvY3VtZW50LCBXVEZNb3ZlKG5l
d0NvbnRyb2xsZXIpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGNsaWVudC0+
c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZSgqY2xpZW50
LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKSk7Ci0gICAgICAgIGlmIChhdXRvKiBjb250YWluZXIg
PSBjbGllbnQtPnNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgICAgIGNvbnRhaW5l
ci0+cXVldWVUYXNrVG9EaXNwYXRjaENvbnRyb2xsZXJDaGFuZ2VFdmVudCgpOworICAgICAgICB9
CisgICAgICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6OndvcmtlckJ5SWRlbnRpZmllcihj
bGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICAgICAgd29ya2VyLT5wb3N0VGFza1RvV29ya2Vy
R2xvYmFsU2NvcGUoW25ld0NvbnRyb2xsZXIgPSBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpLmlzb2xh
dGVkQ29weSgpXSAoYXV0byYgY29udGV4dCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgdXBk
YXRlQ29udHJvbGxlcihjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgLy8gRklY
TUU6IFN1cHBvcnQgc2hhcmVkIHdvcmtlcnMuCiAgICAgfQogfQogCkBAIC0yNjEsMTAgKzI3MSwx
MSBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6Y2xlYXJQZW5kaW5nSm9icygpCiAKIHZvaWQg
U1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRzKCkKIHsKLSAg
ICBmb3IgKGF1dG8qIGRvY3VtZW50IDogRG9jdW1lbnQ6OmFsbERvY3VtZW50cygpKSB7Ci0gICAg
ICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9
IGRvY3VtZW50LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgPyBzdGQ6Om1ha2Vfb3B0aW9uYWw8U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+KGRvY3VtZW50LT5hY3RpdmVTZXJ2aWNl
V29ya2VyKCktPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKSkgOiBzdGQ6Om51bGxvcHQ7Ci0gICAg
ICAgIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChkb2N1bWVudC0+dG9wT3JpZ2luKCksIFNl
cnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCpkb2N1bWVudCksIGNvbnRyb2xsaW5nU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIGRvY3VtZW50LT51c2VyQWdlbnQoZG9jdW1l
bnQtPnVybCgpKSk7Ci0gICAgfQorICAgIGZvciAoYXV0byogZG9jdW1lbnQgOiBEb2N1bWVudDo6
YWxsRG9jdW1lbnRzKCkpCisgICAgICAgIGRvY3VtZW50LT51cGRhdGVTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YSgpOworCisgICAgU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigp
LmZvckVhY2hTaGFyZWRXb3JrZXIoW10geyByZXR1cm4gW10gKGF1dG8mIGNvbnRleHQpIHsgY29u
dGV4dC51cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpOyB9OyB9KTsKKyAgICBXb3JrZXI6
OmZvckVhY2hXb3JrZXIoW10geyByZXR1cm4gW10gKGF1dG8mIGNvbnRleHQpIHsgY29udGV4dC51
cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpOyB9OyB9KTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyLmgKaW5kZXggOWYwMTAzZjUwNzBhMDBjYTgxOWM0ZTc2YTdjZGJhYjkxYTRkNjE2NS4uY2U3
MTc0MWEyMjVmNGQ1ZjkzNjc5NmFiMzc0MTg4ZGRlNGFjMjlhMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCkBAIC03MCw2ICs3MCw4IEBAIHB1
YmxpYzoKICAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CiAgICAgdXNpbmcgUmVmQ291bnRlZDo6
ZGVyZWY7CiAKKyAgICBjb25zdCBTZXJ2aWNlV29ya2VyRGF0YSYgZGF0YSgpIGNvbnN0IHsgcmV0
dXJuIG1fZGF0YTsgfQorCiBwcml2YXRlOgogICAgIFNlcnZpY2VXb3JrZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFNlcnZpY2VXb3JrZXJEYXRhJiYpOwogICAgIHZvaWQgdXBkYXRlUGVuZGlu
Z0FjdGl2aXR5Rm9yRXZlbnREaXNwYXRjaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKaW5kZXggMWYx
Y2MwZjNkNDlmMWEwMmY2Y2U4ODA1NzBkNzkzNjUyNWMyYjIwYi4uZDlkODY2NTFiYjNlNzRjYTBk
MTE3Mzc4ODIyODA3NTY3NTI1YWQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwCkBAIC02OSwzMCAr
NjksNDUgQEAgU2VydmljZVdvcmtlckNsaWVudERhdGEgU2VydmljZVdvcmtlckNsaWVudERhdGE6
Omlzb2xhdGVkQ29weSgpICYmCiAKIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIFNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhOjpmcm9tKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0g
ICAgYm9vbCBpc0RvY3VtZW50ID0gaXM8RG9jdW1lbnQ+KGNvbnRleHQpOwotICAgIFJFTEVBU0Vf
QVNTRVJUKGlzRG9jdW1lbnQpOyAvLyBXZSBkbyBub3Qgc3VwcG9ydCBkZWRpY2F0ZWQgd29ya2Vy
cyBhcyBjbGllbnRzIHlldC4KKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CisgICAg
ICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpOworICAgICAg
ICBhdXRvIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkID0gZG9jdW1lbnQubG9hZGVyKCkg
JiYgZG9jdW1lbnQubG9hZGVyKCktPmxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKCkgPyBM
YXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6WWVzIDogTGFzdE5hdmlnYXRpb25XYXNBcHBJ
bml0aWF0ZWQ6Ok5vOwogCi0gICAgYXV0byYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4o
Y29udGV4dCk7Ci0gICAgYXV0byBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCA9IGRvY3Vt
ZW50LmxvYWRlcigpICYmIGRvY3VtZW50LmxvYWRlcigpLT5sYXN0TmF2aWdhdGlvbldhc0FwcElu
aXRpYXRlZCgpID8gTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IExhc3ROYXZp
Z2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpObzsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gYW5jZXN0
b3JPcmlnaW5zOworICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKSB7
CisgICAgICAgICAgICBmb3IgKGF1dG8qIGFuY2VzdG9yID0gZnJhbWUtPnRyZWUoKS5wYXJlbnQo
KTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnRyZWUoKS5wYXJlbnQoKSkKKyAgICAg
ICAgICAgICAgICBhbmNlc3Rvck9yaWdpbnMuYXBwZW5kKGFuY2VzdG9yLT5kb2N1bWVudCgpLT5z
ZWN1cml0eU9yaWdpbigpLnRvU3RyaW5nKCkpOworICAgICAgICB9CiAKLSAgICBWZWN0b3I8U3Ry
aW5nPiBhbmNlc3Rvck9yaWdpbnM7Ci0gICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJh
bWUoKSkgewotICAgICAgICBmb3IgKGF1dG8qIGFuY2VzdG9yID0gZnJhbWUtPnRyZWUoKS5wYXJl
bnQoKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnRyZWUoKS5wYXJlbnQoKSkKLSAg
ICAgICAgICAgIGFuY2VzdG9yT3JpZ2lucy5hcHBlbmQoYW5jZXN0b3ItPmRvY3VtZW50KCktPnNl
Y3VyaXR5T3JpZ2luKCkudG9TdHJpbmcoKSk7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAg
ICBjb250ZXh0LmlkZW50aWZpZXIoKSwKKyAgICAgICAgICAgIFNlcnZpY2VXb3JrZXJDbGllbnRU
eXBlOjpXaW5kb3csCisgICAgICAgICAgICB0b1NlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGUo
Y29udGV4dCksCisgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGlvblVSTCgpLAorICAgICAgICAg
ICAgZG9jdW1lbnQucGFnZUlEKCksCisgICAgICAgICAgICBkb2N1bWVudC5mcmFtZUlEKCksCisg
ICAgICAgICAgICBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwKKyAgICAgICAgICAgICFk
b2N1bWVudC5oaWRkZW4oKSwKKyAgICAgICAgICAgIGRvY3VtZW50Lmhhc0ZvY3VzKCksCisgICAg
ICAgICAgICAwLAorICAgICAgICAgICAgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpCisgICAgICAg
IH07CiAgICAgfQogCisgICAgUkVMRUFTRV9BU1NFUlQoaXM8V29ya2VyR2xvYmFsU2NvcGU+KGNv
bnRleHQpKTsKKyAgICBhdXRvJiBzY29wZSA9IGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihj
b250ZXh0KTsKICAgICByZXR1cm4gewotICAgICAgICBjb250ZXh0LmlkZW50aWZpZXIoKSwKLSAg
ICAgICAgaXNEb2N1bWVudCA/IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3cgOiBTZXJ2
aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyLAotICAgICAgICB0b1NlcnZpY2VXb3JrZXJDbGll
bnRGcmFtZVR5cGUoY29udGV4dCksCi0gICAgICAgIGRvY3VtZW50LmNyZWF0aW9uVVJMKCksCi0g
ICAgICAgIGRvY3VtZW50LnBhZ2VJRCgpLAotICAgICAgICBkb2N1bWVudC5mcmFtZUlEKCksCi0g
ICAgICAgIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLAotICAgICAgICAhZG9jdW1lbnQu
aGlkZGVuKCksCi0gICAgICAgIGRvY3VtZW50Lmhhc0ZvY3VzKCksCisgICAgICAgIHNjb3BlLmlk
ZW50aWZpZXIoKSwKKyAgICAgICAgc2NvcGUudHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2Jh
bFNjb3BlOjpUeXBlOjpTaGFyZWRXb3JrZXIgPyBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6U2hh
cmVkd29ya2VyIDogU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlciwKKyAgICAgICAgU2Vy
dmljZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6Tm9uZSwKKyAgICAgICAgc2NvcGUudXJsKCksCisg
ICAgICAgIHsgfSwKKyAgICAgICAgeyB9LAorICAgICAgICBMYXN0TmF2aWdhdGlvbldhc0FwcElu
aXRpYXRlZDo6Tm8sCisgICAgICAgIGZhbHNlLAorICAgICAgICBmYWxzZSwKICAgICAgICAgMCwK
LSAgICAgICAgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpCisgICAgICAgIHsgfQogICAgIH07CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ2xpZW50VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDbGllbnRUeXBlLmgKaW5kZXggODY0NGI4NzJhNjQwMzg5MGNkZTQ1NzNmNGIzNzJiNzVj
Mzk4YmJlMC4uNTU5YmIwMzVlOTBjMjI4NDZmMjM5YjZkZjBlNWVmZjRkNGIwNzEwOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRU
eXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnRUeXBlLmgKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1l
bnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlIHsKK2VudW0gY2xhc3MgU2VydmljZVdv
cmtlckNsaWVudFR5cGUgOiB1aW50OF90IHsKICAgICBXaW5kb3csCiAgICAgV29ya2VyLAogICAg
IFNoYXJlZHdvcmtlciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBhYjRmNWEyY2YzNTMwMGQyOTNi
NzdlMzk0ZjM4NGY4Yzc4ZWRhYmE2Li5kYjhkNDAwYTM3NTQ0ZGM4YmUyMWRjMTA2YjIzMTYwYjQ4
MWY4YTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRl
ICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIK
KyNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudExvb3AuaCIKQEAgLTEz
Miw3ICsxMzMsNyBAQCBhdXRvIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlYWR5KCkgLT4gUmVh
ZHlQcm9taXNlJgogU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlckNvbnRhaW5lcjo6Y29udHJv
bGxlcigpIGNvbnN0CiB7CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKTsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50Pigq
Y29udGV4dCkgfHwgIWNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9jdW1l
bnRzIGNhbiBoYXZlIGEgY29udHJvbGxlciBhdCB0aGUgbW9tZW50LiIpOworICAgIEFTU0VSVF9X
SVRIX01FU1NBR0UoIWNvbnRleHQgfHwgaXM8RG9jdW1lbnQ+KCpjb250ZXh0KSB8fCBpczxEZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpIHx8ICFjb250ZXh0LT5hY3RpdmVTZXJ2
aWNlV29ya2VyKCksICJPbmx5IGRvY3VtZW50cyBhbmQgZGVkaWNhdGVkIHdvcmtlcnMgY2FuIGhh
dmUgYSBjb250cm9sbGVyIGF0IHRoZSBtb21lbnQuIik7CiAgICAgcmV0dXJuIGNvbnRleHQgPyBj
b250ZXh0LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgOiBudWxscHRyOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhy
ZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuY3BwCmluZGV4IDlmODJlZWQ2MzEyODllNTBjYzdiZGUxOWJiZmFkNDM5NTgz
ZmY1NzYuLmExNmRmYzRhMjJkYjAyMzU2MjBhN2I5ZjdlOWM3OGQxOTdiYjkwNzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1Nl
cnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBAIC05NSw3ICs5NSw5IEBAIHN0YXRpYyBXb3JrZXJQYXJh
bWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGEmCiAgICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpPbWl0LAogICAgICAgICBz
ZXR0aW5nc1ZhbHVlcywKICAgICAgICAgd29ya2VyVGhyZWFkTW9kZSwKLSAgICAgICAgc2Vzc2lv
bklECisgICAgICAgIHNlc3Npb25JRCwKKyAgICAgICAgeyB9LAorICAgICAgICB7IH0KICAgICB9
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IGYyNWM3OWQyODE1MGM5ZjVlZjllYTI4ZGYwMzU1
ODI3NjRkNDU3MWQuLjcxY2I0YjY1YmM5OTVjNTVjYmVmYjAxYTM5ZWMyZDE2MTNmMjgxYTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlw
dExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtl
clNjcmlwdExvYWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOwogY2xhc3MgU2hhcmVkV29y
a2VyOwogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyOwogc3RydWN0IFdvcmtlckZldGNoUmVzdWx0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFy
ZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9j
b250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcAppbmRleCAzNTQ3ZDY3N2U4ZWFhZjZj
Y2U1NzlmYzIwY2NjZTlhOGY4YTU1NWUwLi4zMzcxODQzNGIwOTVlMTg2NDBiODM3MGRhNWViMzYx
NzljYjc0MmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250
ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcApAQCAtNTcsNyAr
NTcsNyBAQCBzdGF0aWMgSGFzaFNldDxTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+JiBhbGxTaGFy
ZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkKIAogc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJh
dGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXJGZXRjaFJl
c3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7Ci0gICAgcmV0dXJuIFdvcmtlclBhcmFtZXRlcnMg
eworICAgIHJldHVybiB7CiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0Lmxhc3RSZXF1ZXN0VVJM
LAogICAgICAgICB3b3JrZXJPcHRpb25zLm5hbWUsCiAgICAgICAgICJzaGFyZWR3b3JrZXI6IiAr
IEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksCkBAIC03
MCw3ICs3MCwxMyBAQCBzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFt
ZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlcgogICAgICAgICBwYXJzZVJlZmVy
cmVyUG9saWN5KHdvcmtlckZldGNoUmVzdWx0LnJlZmVycmVyUG9saWN5LCBSZWZlcnJlclBvbGlj
eVNvdXJjZTo6SFRUUEhlYWRlcikudmFsdWVfb3IoUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5n
KSwKICAgICAgICAgd29ya2VyT3B0aW9ucy50eXBlLAogICAgICAgICB3b3JrZXJPcHRpb25zLmNy
ZWRlbnRpYWxzLAotICAgICAgICBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpCisgICAgICAgIGRv
Y3VtZW50LnNldHRpbmdzVmFsdWVzKCksCisgICAgICAgIFdvcmtlclRocmVhZE1vZGU6OkNyZWF0
ZU5ld1RocmVhZCwKKyAgICAgICAgeyB9LAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAg
ICAgICAgeyB9LAorI2VuZGlmCisgICAgICAgIHsgfQogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApp
bmRleCA5ZGQyOTA3ZGM4YTM2ZThlNDQxYjhkOWM2ZWQwOWNlZjg2YTkwZDk3Li5lZDczZjBhNzEy
MjZmNWJlZjM4MmMwZmNiNmQxYzlmZGZmZDg2NDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMjIwLDcg
KzEyMjAsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJl
cXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdAogICAgIExPQURFUl9SRUxFQVNFX0xP
RygiY29udGludWVXaWxsU2VuZFJlcXVlc3Q6IChpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50
aWFscz0lZCkiLCBpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscyk7CiAKICNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKHBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0g
RmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkgeworICAgIGlmIChwYXJhbWV0ZXJzKCkub3B0
aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgKHBhcmFtZXRlcnMo
KS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246Oldvcmtl
ciAmJiBtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7CiAgICAgICAgIG1fc2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbiA9IHsgfTsKICAgICAgICAgaWYgKGF1dG8gc2VydmljZVdvcmtlckZldGNo
VGFzayA9IG1fY29ubmVjdGlvbi0+Y3JlYXRlRmV0Y2hUYXNrKCp0aGlzLCBuZXdSZXF1ZXN0KSkg
ewogICAgICAgICAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51ZVdpbGxTZW5kUmVxdWVz
dDogQ3JlYXRlZCBhIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgdG8gaGFuZGxlIHRoZSByZWRpcmVj
dCAoZmV0Y2hJZGVudGlmaWVyPSUiIFBSSXU2NCAiKSIsIHNlcnZpY2VXb3JrZXJGZXRjaFRhc2st
PmZldGNoSWRlbnRpZmllcigpLnRvVUludDY0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3Jr
ZXJGZXRjaFRhc2suY3BwCmluZGV4IDBiMzQ4OWRkZWNhY2Q1ZWJkYjU5MDZmYjNmN2VmMzkyNTZm
NGM5OTEuLmEwMTJjZWQ5YzNiNjczMDY3NGUxYzMyYjJjZDA2Yzk5MmRkYTYyYWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29y
a2VyRmV0Y2hUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAKQEAgLTE1Myw3ICsxNTMsNyBAQCB2
b2lkIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OnN0YXJ0RmV0Y2goKQogICAgIGNsZWFuSFRUUFJl
cXVlc3RIZWFkZXJzRm9yQWNjZXNzQ29udHJvbChyZXF1ZXN0LCBtX2xvYWRlci5wYXJhbWV0ZXJz
KCkuaHR0cEhlYWRlcnNUb0tlZXApOwogCiAgICAgU3RyaW5nIGNsaWVudElkZW50aWZpZXI7Ci0g
ICAgaWYgKG1fbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgIT0gRmV0Y2hPcHRpb25z
OjpNb2RlOjpOYXZpZ2F0ZSkgeworICAgIGlmIChtX2xvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9u
cy5tb2RlICE9IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgJiYgbV9sb2FkZXIucGFyYW1l
dGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gIT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6
V29ya2VyKSB7CiAgICAgICAgIGlmIChhdXRvIGlkZW50aWZpZXIgPSBtX2xvYWRlci5wYXJhbWV0
ZXJzKCkub3B0aW9ucy5jbGllbnRJZGVudGlmaWVyKQogICAgICAgICAgICAgY2xpZW50SWRlbnRp
ZmllciA9IGlkZW50aWZpZXItPnRvU3RyaW5nKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBkYjlkMWIyNzQ0ODY5YzcwYzc2YTkzN2RkNDU4MGI4
MzE4OWQ2NmE5Li5iM2RkNGE1MjgyMDkyNGQ5MDEyNDkxMzcxN2ZiYjIwMjVhZjU1MzljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTY2LDE4ICsxNjYsMjQg
QEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVdvcmtlclN0YXRlSW5DbGllbnQo
U2VydmljZVdvcmtlcklkZW50aWZpZXIgd28KIAogdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246
OmNvbnRyb2xDbGllbnQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24sIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCkKIHsKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZSBjbGllbnRU
eXBlOworICAgIGlmIChwYXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24gID09IEZldGNoT3B0
aW9uczo6RGVzdGluYXRpb246OldvcmtlcikKKyAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZpY2VX
b3JrZXJDbGllbnRUeXBlOjpXb3JrZXI7CisgICAgZWxzZQorICAgICAgICBjbGllbnRUeXBlID0g
U2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdzsKKwogICAgIGF1dG8gY2xpZW50SWRlbnRp
ZmllciA9ICpwYXJhbWV0ZXJzLm9wdGlvbnMuY2xpZW50SWRlbnRpZmllcjsKICAgICAvLyBBcyBw
ZXIgc3RlcCAxMiBvZiBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jb24tZmV0
Y2gtcmVxdWVzdC1hbGdvcml0aG0sIHRoZSBhY3RpdmUgc2VydmljZSB3b3JrZXIgc2hvdWxkIGJl
IGNvbnRyb2xsaW5nIHRoZSBkb2N1bWVudC4KICAgICAvLyBXZSByZWdpc3RlciB0aGUgc2Vydmlj
ZSB3b3JrZXIgY2xpZW50IHVzaW5nIHRoZSBpZGVudGlmaWVyIHByb3ZpZGVkIGJ5IERvY3VtZW50
TG9hZGVyIGFuZCBub3RpZnkgRG9jdW1lbnRMb2FkZXIgYWJvdXQgaXQuCiAgICAgLy8gSWYgbm90
aWZpY2F0aW9uIGlzIHN1Y2Nlc3NmdWwsIERvY3VtZW50TG9hZGVyIGlzIHJlc3BvbnNpYmxlIHRv
IHVucmVnaXN0ZXIgdGhlIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBhcyBuZWVkZWQuCi0gICAgc2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OlNldERvY3Vt
ZW50SXNDb250cm9sbGVkIHsgY2xpZW50SWRlbnRpZmllciwgcmVnaXN0cmF0aW9uLmRhdGEoKSB9
LCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgdGhpcywgY2xpZW50SWRlbnRpZmllcl0o
Ym9vbCBpc1N1Y2Nlc3MpIHsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlNX
Q2xpZW50Q29ubmVjdGlvbjo6U2V0U2VydmljZVdvcmtlckNsaWVudElzQ29udHJvbGxlZCB7IGNs
aWVudElkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCkgfSwgW3dlYWtUaGlzID0gV2Vha1B0
ciB7ICp0aGlzIH0sIHRoaXMsIGNsaWVudElkZW50aWZpZXJdKGJvb2wgaXNTdWNjZXNzKSB7CiAg
ICAgICAgIGlmICghd2Vha1RoaXMgfHwgaXNTdWNjZXNzKQogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjbGllbnRJZGVudGlmaWVyKTsK
ICAgICB9KTsKIAogICAgIGF1dG8gYW5jZXN0b3JPcmlnaW5zID0gbWFwKHBhcmFtZXRlcnMuZnJh
bWVBbmNlc3Rvck9yaWdpbnMsIFtdKGF1dG8mIG9yaWdpbikgeyByZXR1cm4gb3JpZ2luLT50b1N0
cmluZygpOyB9KTsKLSAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhIHsgY2xpZW50SWRl
bnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdywgU2VydmljZVdvcmtlckNs
aWVudEZyYW1lVHlwZTo6Tm9uZSwgcmVxdWVzdC51cmwoKSwgcGFyYW1ldGVycy53ZWJQYWdlSUQs
IHBhcmFtZXRlcnMud2ViRnJhbWVJRCwgcmVxdWVzdC5pc0FwcEluaXRpYXRlZCgpID8gV2ViQ29y
ZTo6TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdlYkNvcmU6Okxhc3ROYXZp
Z2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpObywgZmFsc2UsIGZhbHNlLCAwLCBXVEZNb3ZlKGFuY2Vz
dG9yT3JpZ2lucykgfTsKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhIHsgY2xpZW50
SWRlbnRpZmllciwgY2xpZW50VHlwZSwgU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6Tm9u
ZSwgcmVxdWVzdC51cmwoKSwgcGFyYW1ldGVycy53ZWJQYWdlSUQsIHBhcmFtZXRlcnMud2ViRnJh
bWVJRCwgcmVxdWVzdC5pc0FwcEluaXRpYXRlZCgpID8gV2ViQ29yZTo6TGFzdE5hdmlnYXRpb25X
YXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdlYkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlh
dGVkOjpObywgZmFsc2UsIGZhbHNlLCAwLCBXVEZNb3ZlKGFuY2VzdG9yT3JpZ2lucykgfTsKICAg
ICByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2VjdXJpdHlPcmlnaW5EYXRhIHsgcmVnaXN0
cmF0aW9uLmtleSgpLnRvcE9yaWdpbigpIH0sIFdURk1vdmUoZGF0YSksIHJlZ2lzdHJhdGlvbi5p
ZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0cFVzZXJBZ2VudCgpKTsKIH0KIApAQCAtMTk1LDcgKzIw
MSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrPiBXZWJTV1NlcnZl
ckNvbm5lY3Rpb246OmNyZWF0ZUZldGNoVGFzayhOCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
CiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4g
c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI7Ci0gICAgaWYgKGxvYWRlci5wYXJh
bWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUpIHsK
KyAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25z
OjpNb2RlOjpOYXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRp
b24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSB7CiAgICAgICAgIGF1dG8g
dG9wT3JpZ2luID0gbG9hZGVyLnBhcmFtZXRlcnMoKS5pc01haW5GcmFtZU5hdmlnYXRpb24gPyBT
ZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwocmVxdWVzdC51cmwoKSkgOiBsb2FkZXIucGFyYW1l
dGVycygpLnRvcE9yaWdpbi0+ZGF0YSgpOwogICAgICAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBk
b1JlZ2lzdHJhdGlvbk1hdGNoaW5nKHRvcE9yaWdpbiwgcmVxdWVzdC51cmwoKSk7CiAgICAgICAg
IGlmICghcmVnaXN0cmF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IDBjYmZlOGU2NTk2YzA5M2EwM2Zh
Yjc2ODM1NzI5M2JkODAwMmI0ZTQuLjQ2ZjJkOTk2MTBmOWU0NTlmYTdkZmQwZGUyZjkyZjRjMjkz
ODg4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxv
YWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTQ2MCwxMyArNDYwLDYgQEAgdm9pZCBXZWJMb2FkZXJT
dHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5ldHdvcmtQcm9jZXNzKFJlc291cmNlTG9hZGVyJiBy
ZXNvdXJjZUwKICAgICAgICAgZm9yIChhdXRvKiBmcmFtZSA9IHJlc291cmNlTG9hZGVyLmZyYW1l
KCktPnRyZWUoKS5wYXJlbnQoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS5wYXJlbnQo
KSkKICAgICAgICAgICAgIGZyYW1lQW5jZXN0b3JPcmlnaW5zLmFwcGVuZCgmZnJhbWUtPmRvY3Vt
ZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpOwogICAgICAgICBsb2FkUGFyYW1ldGVycy5mcmFtZUFu
Y2VzdG9yT3JpZ2lucyA9IFdURk1vdmUoZnJhbWVBbmNlc3Rvck9yaWdpbnMpOwotCi0jaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQotICAgICAgICBpZiAoYXV0byogZG9jdW1lbnRMb2FkZXIgPSBy
ZXNvdXJjZUxvYWRlci5kb2N1bWVudExvYWRlcigpKSB7Ci0gICAgICAgICAgICBpZiAoYXV0byBy
ZXN1bHRpbmdDbGllbnRJZCA9IHN0YXRpY19jYXN0PFdlYkRvY3VtZW50TG9hZGVyJj4oKmRvY3Vt
ZW50TG9hZGVyKS5yZXN1bHRpbmdDbGllbnRJZCgpKQotICAgICAgICAgICAgICAgIGxvYWRQYXJh
bWV0ZXJzLm9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IHJlc3VsdGluZ0NsaWVudElkOwotICAg
ICAgICB9Ci0jZW5kaWYKICAgICB9CiAKICAgICBBU1NFUlQoKGxvYWRQYXJhbWV0ZXJzLndlYlBh
Z2VJRCAmJiBsb2FkUGFyYW1ldGVycy53ZWJGcmFtZUlEKSB8fCBsb2FkUGFyYW1ldGVycy5jbGll
bnRDcmVkZW50aWFsUG9saWN5ID09IENsaWVudENyZWRlbnRpYWxQb2xpY3k6OkNhbm5vdEFza0Ns
aWVudEZvckNyZWRlbnRpYWxzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IGQ5M2IzNGQ2OGZh
OTk1YWE0MWIwN2JjMGVkMzUyYjc2ZTc5N2M1ZjAuLjE3ODBjYWM3YjZhNzc3YmYxM2Y4MjMyNDU3
ZTU0ZDM5MTE1ZWRjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01Myw2ICs1Myw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvV29ya2VyRmV0Y2hSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlclNjcmlwdExv
YWRlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBQQUw7CkBAIC0x
ODAsMTEgKzE4MSwxOCBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6d2hlblJlZ2lzdHJh
dGlvblJlYWR5KGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wTwogICAgIH0pOwogfQogCi12
b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0RG9jdW1lbnRJc0NvbnRyb2xsZWQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyLCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YSYmIGRhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0U2Vy
dmljZVdvcmtlckNsaWVudElzQ29udHJvbGxlZChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
ZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIGRhdGEsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAg
YXV0byogZG9jdW1lbnRMb2FkZXIgPSBEb2N1bWVudExvYWRlcjo6ZnJvbVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyKGRvY3VtZW50SWRlbnRpZmllcik7Ci0gICAgYm9vbCByZXN1bHQg
PSBkb2N1bWVudExvYWRlciA/IGRvY3VtZW50TG9hZGVyLT5zZXRDb250cm9sbGluZ1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24oV1RGTW92ZShkYXRhKSkgOiBmYWxzZTsKLSAgICBjb21wbGV0aW9u
SGFuZGxlcihyZXN1bHQpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBEb2N1bWVudExvYWRlcjo6
ZnJvbVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKGlkZW50aWZpZXIpKSB7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGxvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uKFdURk1vdmUoZGF0YSkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGlmIChhdXRvKiBsb2FkZXIgPSBXb3JrZXJTY3JpcHRMb2FkZXI6OmZyb21TY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllcihpZGVudGlmaWVyKSkgeworICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcihkYXRhLmFjdGl2ZVdvcmtlciA/IGxvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2aWNl
V29ya2VyKFdURk1vdmUoKmRhdGEuYWN0aXZlV29ya2VyKSkgOiBmYWxzZSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogfQogCiB2b2lkIFdl
YlNXQ2xpZW50Q29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyhTZWN1cml0eU9yaWdpbkRhdGEm
JiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBHZXRSZWdpc3RyYXRpb25zQ2FsbGJh
Y2smJiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggMzc3MTkxMjk2MjNjZTc1ODg0ZmNl
YmEyM2IxNzA2ZDA2YTMxODRmYS4uNjIyZmMwOGYzMTQ1OGQ2ZTJmODU1YTkyYmYxNzRjMDI2MTA1
OGU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTgyLDcgKzgyLDggQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRpZEdldFJlZ2lzdHJhdGlvbnModWludDY0X3QgbWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwg
VmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiYmKTsKICAgICB2
b2lkIHdoZW5SZWdpc3RyYXRpb25SZWFkeShjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIFdoZW5SZWdpc3RyYXRpb25SZWFk
eUNhbGxiYWNrJiYpIGZpbmFsOwogCi0gICAgdm9pZCBzZXREb2N1bWVudElzQ29udHJvbGxlZChX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
Jik7CisgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250cm9sbGVkKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyAg
ICB2b2lkIHNldFdvcmtlcklzQ29udHJvbGxlZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAKICAgICB2b2lkIGdldFJlZ2lzdHJh
dGlvbnMoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9wT3JpZ2luLCBjb25zdCBVUkwm
IGNsaWVudFVSTCwgR2V0UmVnaXN0cmF0aW9uc0NhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQg
d2hlblNlcnZpY2VXb3JrZXJJc1Rlcm1pbmF0ZWRGb3JUZXN0aW5nKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25u
ZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDIxZGI1NjRiN2M4MmI1ZGFlNzk1
MTQyNzMzNGE3Y2VkODE4MDk0NjEuLjkyNWE3YzViODYyNWIzZGIyZjAwZmE2MTExZmNmMzgzYjIx
NjYzODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTM4LDcgKzM4
LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dDbGllbnRDb25uZWN0aW9uIHsKICAgICBTZXRTV09yaWdp
blRhYmxlU2hhcmVkTWVtb3J5KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgaGFuZGxl
KQogICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIsIHN0
cnVjdCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyBtZXNzYWdlLCBzdHJ1Y3QgV2Vi
Q29yZTo6U2VydmljZVdvcmtlckRhdGEgc291cmNlLCBTdHJpbmcgc291cmNlT3JpZ2luKQogCi0g
ICAgU2V0RG9jdW1lbnRJc0NvbnRyb2xsZWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIgdGVtcG9yYXJ5RG9jdW1lbnRJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgZGF0YSkgLT4gKGJvb2wgaXNTdWNjZXNzKQor
ICAgIFNldFNlcnZpY2VXb3JrZXJDbGllbnRJc0NvbnRyb2xsZWQoV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWZpZXIgd29ya2VySWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIGRhdGEpIC0+IChib29sIGlzU3VjY2VzcykK
IAogICAgIEZvY3VzU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKSAtPiAoc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4gcmVzdWx0KQogfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIxZWY1NGE5
OGY0ZDRkZjgzZjIzMzZlNzRlYjM0YTVjZGI0NjA1NDUuLjg5OTJjNWQ0YjU3MzE0ZWIxZTk0YmM5
ZGE3MTNhNGFjNTBkMjFkZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNC0xMSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwb3NlIHdvcmtlcnMg
YXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRj
aGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzOTA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBodHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJv
bGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXdvcmtlci5qczogQWRkZWQu
CisKIDIwMjItMDQtMTEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4K
IAogICAgICAgICBNYWtlIGZhc3QvdGV4dC9vdHN2Zy1jYW52YXMuaHRtbCBtb3JlIHJvYnVzdApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNmUxOTc3NDJjM2U2YjhkOWI4MWU3MTQ2
MDExMmQyYWVjMDkyMjU5Zi4uN2M5YWRkMDZmMTRhNDExYjA5NTcxZTVlNTk3NmU3OTMwMTVmODNj
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjIt
MDQtMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9z
ZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3Ry
YXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkwNjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci5odHRw
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
d29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjItMDQtMTEgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29udGFpbmVy
IFF1ZXJpZXNdIFVwZGF0ZSBjb250YWluZXIgc2hvcnRoYW5kIG9yZGVyCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA0M2I5ZjJiNWQ0ZTBjYWUyNWExYThiNzViZWYzMTk0MDU3NzM0ODM4Li5kMWNhYjY4
MWI3ZmRiYjliMWNkMTAwNzdlNDZlNDYxOGZjMzVlMWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTM2OSw3ICszNjksNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbgogd2Via2l0Lm9yZy9iLzIw
MTY2NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8td2l0aC1yYW5nZS1yZXF1ZXN0
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KIAogIyBOZXdseSBpbXBvcnRlZCBzZXJ2aWNlIHdvcmtlciB0
ZXN0cyB0aGF0IGFyZSBmbGFreS4KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbm90LWFsbG93ZWQuaHR0cHMuaHRtbCBbIFBh
c3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9wZXJmb3JtYW5jZS10aW1lbGluZS5odHRwcy5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13
b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNhdGVkd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdv
cmtlci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVlYjRhZTNhNGU4NzhlMWNjYmYy
NTNlNDRjNGQ2OGEyZjc4MTUxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgUmVnaXN0ZXIgc2VydmljZSB3b3JrZXIK
K1BBU1MgVmVyaWZ5IGRlZGljYXRlZCB3b3JrZXIgaXMgY29udHJvbGxlZAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0
ZWR3b3JrZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vy
cy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2ZTA2
ZjgxNzUzOThjYmRlYmQ4NmQ1MWI2ZTdjNjU3Y2VjNDMyNmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3
b3JrZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5z
dWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0
KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInNraXBGZXRjaEV2ZW50LXdvcmtlci5qcyIsIHsg
c2NvcGUgOiAncmVzb3VyY2VzJyB9KTsKKyAgICBhY3RpdmVXb3JrZXIgPSByZWdpc3RyYXRpb24u
YWN0aXZlOworICAgIGlmIChhY3RpdmVXb3JrZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGFj
dGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgIGF3YWl0IG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4geworICAgICAgICBhY3RpdmVXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcign
c3RhdGVjaGFuZ2UnLCAoKSA9PiB7CisgICAgICAgICAgICBpZiAoYWN0aXZlV29ya2VyLnN0YXRl
ID09PSAiYWN0aXZhdGVkIikKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0p
OworICAgIH0pOworfSwgIlJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIik7CisKK3Byb21pc2VfdGVz
dChhc3luYyAodGVzdCkgPT4geworICAgIHdvcmtlciA9IG5ldyBXb3JrZXIoJ3Jlc291cmNlcy9j
b250cm9sbGVkLXdvcmtlci5qcycpOworICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0gcmVzb2x2ZSk7CisgICAgYXNzZXJ0X3Ry
dWUoZXZlbnQuZGF0YS5pc0NvbnRyb2xsZWQpOworfSwgIlZlcmlmeSBkZWRpY2F0ZWQgd29ya2Vy
IGlzIGNvbnRyb2xsZWQiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9s
bGVkLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNv
dXJjZXMvY29udHJvbGxlZC13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjMxMmFjMzNjZTEzOGI0MTlk
MGYxM2NjZjE5ZGM1Njg4YTAxNWVkMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC13b3JrZXIuanMKQEAg
LTAsMCArMSBAQAorc2VsZi5wb3N0TWVzc2FnZSh7IGlzQ29udHJvbGxlZCA6ICEhbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggMmQ1ODRlMTBkZDBlY2FmMDA5MWJiOGUwYTk1Y2Y3YzY2ZjJhNmYyZi4uYjMz
OWY5ODg0M2Q1Y2U0MTljYTlmY2RhNzk4YWJkNWM4ZGNhYmUxNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci5odHRwcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTEsOSArMSw5IEBACiAKIFBBU1MgU2FtZS1vcmlnaW4gYmxv
YiBVUkwgaWZyYW1lIHNob3VsZCBpbmhlcml0IHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZXIuCiBQ
QVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJMIGlmcmFtZSBzaG91bGQgaW50ZXJjZXB0IGZldGNoKCku
Ci1GQUlMIFNhbWUtb3JpZ2luIGJsb2IgVVJMIHdvcmtlciBzaG91bGQgaW5oZXJpdCBzZXJ2aWNl
IHdvcmtlciBjb250cm9sbGVyLiBhc3NlcnRfZXF1YWxzOiBibG9iIFVSTCB3b3JrZXIgc2hvdWxk
IGluaGVyaXQgY29udHJvbGxlciBleHBlY3RlZCAoc3RyaW5nKSAiaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2xvY2FsLXVybC1p
bmhlcml0LWNvbnRyb2xsZXItd29ya2VyLmpzIiBidXQgZ290IChvYmplY3QpIG51bGwKK1BBU1Mg
U2FtZS1vcmlnaW4gYmxvYiBVUkwgd29ya2VyIHNob3VsZCBpbmhlcml0IHNlcnZpY2Ugd29ya2Vy
IGNvbnRyb2xsZXIuCiBQQVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJMIHdvcmtlciBzaG91bGQgaW50
ZXJjZXB0IGZldGNoKCkuCiBQQVNTIERhdGEgVVJMIGlmcmFtZSBzaG91bGQgbm90IGludGVyY2Vw
dCBmZXRjaCgpLgogRkFJTCBEYXRhIFVSTCB3b3JrZXIgc2hvdWxkIG5vdCBpbmhlcml0IHNlcnZp
Y2Ugd29ya2VyIGNvbnRyb2xsZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlcicpIgotRkFJTCBEYXRhIFVS
TCB3b3JrZXIgc2hvdWxkIG5vdCBpbnRlcmNlcHQgZmV0Y2goKS4gYXNzZXJ0X2VxdWFsczogZGF0
YSBVUkwgd29ya2VyIHNob3VsZCBub3QgaW50ZXJjZXB0IGZldGNoIGV4cGVjdGVkICIiIGJ1dCBn
b3QgImludGVyY2VwdGVkIgorUEFTUyBEYXRhIFVSTCB3b3JrZXIgc2hvdWxkIG5vdCBpbnRlcmNl
cHQgZmV0Y2goKS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNsaWVu
dC1pZC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50
LWlkLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBhMGM5Y2E0NDVlYTA3ODg2NzQ0NzI0YzMyMTUy
ZmY0MTlhODQ1N2Q3Li40ZTZiZjE3OGY5MDZkZjhiNWMxNTQ0NDJhM2Y1NjJlYzdhYTg1Y2JiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBWZXJpZnkgd29ya2VycyBoYXZlIGEg
dW5pcXVlIGNsaWVudCBpZCBzZXBhcmF0ZSBmcm9tIHRoZWlyIG93bmluZyBkb2N1bWVudHMgd2lu
ZG93IGFzc2VydF9ub3RfZXF1YWxzOiBmcmFtZSBhbmQgd29ya2VyIGNsaWVudCBpZHMgc2hvdWxk
IGJlIGRpZmZlcmVudCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiMmM0Zjc5MzYtOWM3Ni00ZWQ0LWI4
ZTUtMGIxMGVjMmJlYTQyIgorUEFTUyBWZXJpZnkgd29ya2VycyBoYXZlIGEgdW5pcXVlIGNsaWVu
dCBpZCBzZXBhcmF0ZSBmcm9tIHRoZWlyIG93bmluZyBkb2N1bWVudHMgd2luZG93CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1y
ZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjgzZmY3YTdjMjA4YzIwZGIxNjliZmNl
MGU4MGI3NWUxYmNiMzRmOS4uYmExNGVkZmUyMmNlMDkyYTdlOTUyMTU3YzU0OGYwOTY1MGRhMGNk
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRp
cmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWlu
dGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTgsMjAgKzgsMjAgQEAg
UEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRl
ZFdvcmtlcikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IERlZGljYXRlZFdvcmtlcikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29w
ZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5v
dXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCi1GQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+
c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2Vy
IGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBDYXNlICMzOiBzdyBzY29wZTEt
PnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2Vy
IGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBDYXNlICMzOiBzdyBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCitQQVNTIENhc2UgIzM6IHN3IHNjb3Bl
MS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQogRkFJTCBDYXNlICMzOiBzdyBzY29w
ZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtl
ciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUx
LT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBl
cnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjNDogc3cgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3Jr
ZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENhc2UgIzQ6IHN3IHNjb3Bl
MS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBX
b3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIENhc2UgIzQ6IHN3IHNj
b3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikKK1BBU1MgQ2FzZSAjNDog
c3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpCiBGQUlMIENhc2Ug
IzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3Vu
cmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBDYXNl
ICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3Vu
cmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogUEFTUyBjbGVh
bnVwIGdsb2JhbCBzdGF0ZQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChj
bGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9ydC1zY3JpcHRzLWVj
aG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsgKHNjb3Bl
Mi8pIgotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGlj
YXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3
MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEg
c2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKK1BBU1MgQ2FzZSAjMTogbmV0d29yayBzY29w
ZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BB
U1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3Jr
ZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNz
aWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMxOiBuZXR3b3Jr
IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkp
Ci1GQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRX
b3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3
IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBs
ZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5z
Y29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5l
dHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhy
ZWYpCiBGQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3
IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAi
aW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20gbmV0d29yayAoc2NvcGUyLykiCiBGQUlMIENhc2Ug
IzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
Y29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlIChz
Y29wZTIvKVxuIgpAQCAtMjksMTEgKzI5LDExIEBAIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29w
ZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENh
c2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkKIEZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxl
IFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6
IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6
IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBz
Y29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwg
Q2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3Jr
ZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1w
b3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlw
dHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsiCi1GQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQg
Z290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKK1BBU1MgQ2FzZSAjMjogbmV0d29y
ayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlw
dHMoKSkKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBE
ZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBD
YXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2Nv
cGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZl
dGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgorUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3Bl
MS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBs
b2NhdGlvbi5ocmVmKQogRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChj
bGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0
IGdvdCAiaW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20gbmV0d29yayIKIEZBSUwgQ2FzZSAjMjog
bmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9t
IHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Np
bXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgpAQCAtNDEs
NCArNDEsMTYgQEAgUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFz
c2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBz
Y29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQog
RkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29y
a2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0
aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZp
bGVcbiIKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNo
YXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29w
ZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvaW1wb3J0LXNjcmlw
dHMtZWNoby5weSIgYnV0IGdvdCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9y
dC1zY3JpcHRzLWVjaG8ucHkiCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFz
c2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZl
dGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZl
dGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiCitGQUlMIENhc2Ug
IzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24u
aHJlZikgYXNzZXJ0X2VxdWFsczogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRp
ci93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIl
MjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQg
Z290ICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2Vy
LnB5IgorUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdv
cmtlciwgaW1wb3J0U2NyaXB0cygpKQorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAo
bW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
ImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3Qg
ImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiCitGQUlMIENh
c2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4cGVjdGVkICJodHRwczovL2xv
Y2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3Vi
ZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5P2dyZWV0aW5nPXN3
MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3b3JrZXIlMjBzY3JpcHQiIGJ1
dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3Jr
ZXIucHkiCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGlj
YXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6
IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24u
aHJlZikKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0
ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQt
c2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3
IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVm
KQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24u
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDhkNGNhNDliZDkzYjRjOTY5MjIzMWUyZGVkYmUzMjM1
OGY2YjBmYzguLjE2YzQzOTMzYmJiOTc1ZWNmNjYwZWU2N2VkMzYzYWViNGI0ZjM4N2IgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDE1ICsxLDE1IEBACiAKLUZBSUwgVmVyaWZ5IGEgZGVkaWNhdGVk
IHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVu
dCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIncyBvd24gc2VydmljZSB3b3JrZXIuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmluZWQKLUZBSUwgVmVy
aWZ5IGFuIG91dC1vZi1zY29wZSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3Vl
ZCBmcm9tIGEgY29udHJvbGxlZCBkb2N1bWVudCBzaG91bGQgbm90IGJlIGludGVyY2VwdGVkIGJ5
IGRvY3VtZW50J3Mgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ3b3Jr
ZXIgbG9hZGluZyB3YXMgbm90IGludGVyY2VwdGVkIGJ5IHNlcnZpY2Ugd29ya2VyIiBidXQgZ290
ICJ3b3JrZXIgbG9hZGluZyBpbnRlcmNlcHRlZCBieSBzZXJ2aWNlIHdvcmtlciIKK1BBU1MgVmVy
aWZ5IGEgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVuY29u
dHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIncyBvd24gc2VydmljZSB3
b3JrZXIuCitQQVNTIFZlcmlmeSBhbiBvdXQtb2Ytc2NvcGUgZGVkaWNhdGVkIHdvcmtlciBzY3Jp
cHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRyb2xsZWQgZG9jdW1lbnQgc2hvdWxkIG5vdCBi
ZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNlcnZpY2Ugd29ya2VyLgogRkFJTCBWZXJpZnkg
YSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVk
IGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IHVuZGVmaW5lZAot
RkFJTCBWZXJpZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZp
Y2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgZGVkaWNhdGVkIHdvcmtlci4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IHVuZGVmaW5lZAorUEFTUyBW
ZXJpZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29y
a2VyIHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgZGVkaWNhdGVkIHdvcmtlci4KIEZBSUwgVmVyaWZ5
IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBz
dWNjZWVkcyBpbiBzdGFydGluZyBhIHNoYXJlZCB3b3JrZXIuIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmluZWQKLVBBU1MgVmVyaWZ5IGEgY29ycyB3
b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIGRlZGljYXRlZCB3
b3JrZXIgc3RhcnQuCitGQUlMIFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkg
YSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LiBhc3NlcnRfZXF1
YWxzOiBFeHBlY3RlZCBlcnJvciBldmVudCwgYnV0IGdvdCBtZXNzYWdlIGV2ZW50IGluc3RlYWQg
ZXhwZWN0ZWQgImVycm9yIiBidXQgZ290ICJtZXNzYWdlIgogUEFTUyBWZXJpZnkgYSBjb3JzIHdv
cmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgc2hhcmVkIHdvcmtl
ciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29ya2VyIHNjcmlw
dCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0
LgogUEFTUyBWZXJpZnkgYSBuby1jb3JzIGNyb3NzLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZl
ZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFJl
Z2lzdGVyIGEgc2VydmljZSB3b3JrZXIgZm9yIHdvcmtlciBzdWJyZXNvdXJjZSBpbnRlcmNlcHRp
b24gdGVzdHMuCi1GQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBjb250cm9sbGVk
IGJ5IGEgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQg
d2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIntcImVycm9yXCI6IHtcImNv
ZGVcIjogNDA0LCBcIm1lc3NhZ2VcIjogXCI0MDRcIn19IgorUEFTUyBSZXF1ZXN0cyBvbiBhIGRl
ZGljYXRlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgogRkFJTCBSZXF1
ZXN0cyBvbiBhIHNoYXJlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJj
ZXB0ZWQuIiBidXQgZ290ICJ7XCJlcnJvclwiOiB7XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6
IFwiNDA0XCJ9fSIKIEZBSUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBp
biBhIGRlZGljYXRlZCB3b3JrZXIgYW5kIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJj
ZXB0ZWQuIiBidXQgZ290ICJVbmV4cGVjdGVkIGVycm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBX
b3JrZXIiCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBuZXN0ZWQgaW4gYSBz
aGFyZWQgd29ya2VyIGFuZCBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIg
YnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV29ya2VyIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457599</attachid>
            <date>2022-04-14 00:03:03 -0700</date>
            <delta_ts>2022-04-14 01:49:32 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-239066-20220414090300.patch</filename>
            <type>text/plain</type>
            <size>91665</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQ5Y2M4OWJlN2NlYmQ4
Y2E5ZWViN2U5ZjJmNDkwYmI4MWU0MTdkOC4uMGI4NGFkYjE3NDRjNDU1ZjllZTJjNDM3YjJjNjZm
NDA0ZDVlNzUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIyLTA0LTEzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2Ugd29ya2VycyBh
cyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNo
aW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVt
ZXouCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGV4cG9zaW5nIHdvcmtlcnMgKGRlZGljYXRl
ZCBhbmQgc2hhcmVkKSBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzLgorICAgICAgICBBZGQgc3Vw
cG9ydCBmb3Igc2V0dGluZyB0aGUgY29udHJvbGxpbmcgcmVnaXN0cmF0aW9uIGZvciBkZWRpY2F0
ZWQgd29ya2VycworICAgICAgICAoYSBmb2xsb3ctdXAgcGF0Y2ggc2hvdWxkIGhhbmRsZSBzaGFy
ZWQgd29ya2VycykuCisgICAgICAgIFRvIHByb3Blcmx5IGhhbmRsZSBsb2FkcyBjb21pbmcgZnJv
bSBhIHdvcmtlciwgd2UgcHJvcGVybHkgc2V0IGNsaWVudElkZW50aWZpZXIgYW5kIHJlZ2lzdHJh
dGlvbiBpZGVudGlmaWVyCisgICAgICAgIGZyb20gdGhlIHdvcmtlciBjb250ZXh0LCBpbnN0ZWFk
IG9mIGZyb20gdGhlIHdvcmtlcidzIGRvY3VtZW50LgorCisgICAgICAgIFNtYWxsIHJlZmFjdG9y
aW5nIHRvIHBhc3MgYWRkaXRpb25hbCBkYXRhIHRvIHdvcmtlciB0aHJvdWdoIFdvcmtlckluaXRp
YWxpemF0aW9uRGF0YS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHNldCB0aGUgY29udGV4dCBJ
RCBhbmQgY29udGV4dCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KKworICAgICAgICBBZGRp
bmcgYSBzcGVjaWZpYyBjaGVjayBpbiBDYWNoZWRSZXNvdXJjZUxvYWRlciB0byBub3QgcmV1c2Ug
dGhlIGNhY2hlIGluIGNhc2UgdGhlIHNlcnZpY2Ugd29ya2VyIG1vZGVzIGFyZSBkaWZmZXJlbnQu
CisgICAgICAgIEEgcG90ZW50aWFsIGlzc3VlIGlzIHRoYXQgdGhlIHNlcnZpY2Ugd29ya2VycyBh
cmUgdGhlIHNhbWUgKDApIGFzIG9uZSByZXF1ZXN0IGlzIHRoZSBtYWluIHJlcXVlc3QKKyAgICAg
ICAgYW5kIHRoZSBzZWNvbmQgcmVxdWVzdCBpcyB0aGUgcmVxdWVzdCB0cmlnZ2VyZWQgYnkgc2Vy
dmljZSB3b3JrZXIgdG8gYW5zd2VyIHRoZSBmaXJzdCByZXF1ZXN0LgorCisgICAgICAgIFByb3Bl
cmx5IHN1cHBvcnQgYmxvYiBVUkwgbWF0Y2hpbmcgZGlyZWN0bHkgaW4gV29ya2VyU2NyaXB0TG9h
ZGVyIGZvciB3b3JrZXJzLgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vy
cy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy5odG1sCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6
CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9GZXRjaE9wdGlvbnMuaDoK
KyAgICAgICAgKiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVy
L1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJU
aHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRp
YWxpemF0aW9uRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TV0Ns
aWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRh
LmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUu
aDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5j
cHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6
CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94
eS5jcHA6CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEEgc2hhcmVkIHdvcmtlciBpbiBhIGNhY2hlZCBwYWdlIHNob3VsZCBub3QgYWxs
b3cgdGhlIHJlbW90ZSBzaGFyZWQgd29ya2VyIHRvIGNvbnRpbnVlIGV4ZWN1dGluZwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCBkMTAxYzZkNDg4MmZiYzdkMGU3ZjY0MjA2NmJhOWUzYmFiYjBkZWRhLi4zMTk2MTBlYzkz
ZjhjMjIwZjBkODNjZGM2ZGI1NTBlNTM2NzIyNmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBA
CisyMDIyLTA0LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQg
cmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDY2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgUmV1c2UgdGhlIHNhbWUgc3RyYXRlZ3kg
Zm9yIERlZGljYXRlZFdvcmtlcnMgYXMgZm9yIERvY3VtZW50cyB0byBtYXRjaCByZWdpc3RyYXRp
b25zIGFuZCBjb250cm9sIHRoZW46CisgICAgICAgIC0gRG8gbWF0Y2hpbmcgaW4gbmV0d29yayBw
cm9jZXNzCisgICAgICAgIC0gSWYgbWF0Y2hpbmcsIHNlbmQgYSBtZXNzYWdlIHRvIFdlYlByb2Nl
c3MgdG8gc2V0IHRoZSBtYXRjaGluZyByZWdpc3RyYXRpb24gZGF0YS4KKyAgICAgICAgQWRkIHNw
ZWNpZmljIGhhbmRsaW5nIGZvciB3b3JrZXIgcmVnaXN0cmF0aW9uIHJlbWF0Y2hpbmcgaW4gY2Fz
ZSBvZiByZWRpcmVjdGlvbnM6CisgICAgICAgIC0gSWYgcmVkaXJlY3Rpb24gY29tZXMgZnJvbSBz
ZXJ2aWNlIHdvcmtlciAodmlhIHJlc3BvbmRXaXRoKSwgZG8gcmVtYXRjaGluZy4KKyAgICAgICAg
LSBJZiByZWRpcmVjdGlvbiBjb21lcyBmcm9tIG5ldHdvcmssIGRvIG5vdCBkbyByZW1hdGNoaW5n
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRj
aFRhc2suY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVu
dENvbm5lY3Rpb24uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVu
dENvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRD
b25uZWN0aW9uLm1lc3NhZ2VzLmluOgorCiAyMDIyLTA0LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBIHNoYXJlZCB3b3JrZXIgaW4gYSBjYWNoZWQgcGFn
ZSBzaG91bGQgbm90IGFsbG93IHRoZSByZW1vdGUgc2hhcmVkIHdvcmtlciB0byBjb250aW51ZSBl
eGVjdXRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA1ZDUxMWI5ZGYwNGJlNjlmOWM1NWY2NTIzNTEzZTE5OTFmN2QzZjFmLi41
YTZiODMyYWIwNWNiMTZjZmJlNmIxNTYzODMyZTA4NTYyM2NjNjAzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDY1LDYgKzEw
NjUsNyBAQAogCQkzRkY4MTNBNzFEQkE4NjQwMDA5QkYwMDEgLyogUG9pbnRlckxvY2tDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0ZD
NDM0RjE5MjQwNkE5MDBBMEQzQjUgLyogUG9pbnRlckxvY2tDb250cm9sbGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEwNzkwOEMxRkMzRjAz
MzAwNjFCMjdBIC8qIENsaWVudE9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEwNzkwOEExRkMzRTRGMjAwNjFCMjdBIC8qIENsaWVudE9yaWdp
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQx
MEJDRjU2MjZGMENEOEMwMDQwQjEyNCAvKiBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMEJDRjUz
MjZGMENEOEIwMDQwQjEyNCAvKiBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQuaCAqLzsg
fTsKKwkJNDEwQzQ4QTcyODA0MjBGODAwODREMTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwQzQ4
QTYyODA0MjBGMjAwODREMTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMEU0NDYxMjM0Mzcz
RTkwMDAxNzNENCAvKiBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTBFNDQ1RjIzNDM3M0FEMDAwMTczRDQg
LyogTGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMTAwQzgwMjNGNzQ1ODMwMDFCQzMzQiAvKiBXZWJT
b2NrZXRDaGFubmVsSW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTEwMEM3RTIzRjczOTgyMDAxQkMzM0IgLyogV2ViU29ja2V0Q2hhbm5l
bEluc3BlY3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQxMTAzQUFDMUUzOTc5MTAwMDc2OUYwMyAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9T
b3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
MTAzQUE4MUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCAq
LzsgfTsKQEAgLTEzNTMsNyArMTM1NCw3IEBACiAJCTQ2NzJBQTk5MjZCMDk0M0YwMEU2RUMzOCAv
KiBDcm9zc09yaWdpbk9wZW5lclBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDY3MkFBOTcyNkIwOTQyMTAwRTZFQzM4IC8qIENyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDY3MzAyMDIxQzRFRkU3ODAwQkNCMzU3IC8qIElnbm9yZU9wZW5zRHVyaW5nVW5s
b2FkQ291bnRJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDY3MzAyMDExQzRFRkU2NjAwQkNCMzU3IC8qIElnbm9yZU9wZW5zRHVyaW5n
VW5sb2FkQ291bnRJbmNyZW1lbnRlci5oICovOyB9OwogCQk0NjdBNjhENzI3NUVBOTkxMDA5QjMx
QzUgLyogU2hhcmVkV29ya2VyVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENDI3NUVBOThCMDA5QjMxQzUgLyogU2hhcmVkV29ya2Vy
VGhyZWFkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJNDY3QTY4RDgyNzVFQTk5NTAwOUIzMUM1IC8qIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3QTY4RDUy
NzVFQTk4QzAwOUIzMUM1IC8qIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oICovOyB9OworCQk0
NjdBNjhEODI3NUVBOTk1MDA5QjMxQzUgLyogU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENTI3NUVB
OThDMDA5QjMxQzUgLyogU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDY3QTY4RDkyNzVFQTk5ODAwOUIz
MUM1IC8qIFNoYXJlZFdvcmtlclRocmVhZFByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdBNjhENjI3NUVBOThDMDA5QjMxQzUgLyogU2hhcmVk
V29ya2VyVGhyZWFkUHJveHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0NjgyRDIwMDFGNzk3ODMwMDBDODYzREIgLyogU3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2ODJEMUZGMUY3OTc4MjMwMEM4NjNEQiAvKiBTdG9yZWRDcmVkZW50aWFsc1BvbGljeS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2ODM0NEUw
MUVEREZBQUEwMEI3Nzk1QiAvKiBET01SZWN0TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY4MzQ0REUxRURERkE1RjAwQjc3OTVCIC8qIERPTVJl
Y3RMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTg1NjcsNiArODU2OCw3IEBACiAJCTQxMEJBMTMxMjU3MEZFNTcwMDJFMkY4QSAvKiBMaWJX
ZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmNwcDsgcGF0aCA9IGxp
YndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTBCQ0Y1MzI2RjBDRDhCMDA0MEIxMjQgLyogUlRDTG9jYWxTZXNz
aW9uRGVzY3JpcHRpb25Jbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJU
Q0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MTBCQ0Y1NTI2RjBDRDhDMDA0MEIxMjQgLyogUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRp
b25Jbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENMb2NhbFNlc3Npb25EZXNjcmlw
dGlvbkluaXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTBDNDhBNjI4MDQy
MEYyMDA4NEQxMDQgLyogV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MTBFNDQ1RjIzNDM3M0FEMDAwMTczRDQgLyogTGliV2ViUlRD
U29ja2V0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJX
ZWJSVENTb2NrZXRJZGVudGlmaWVyLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDU29ja2V0
SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBGNTY1NTI0RkNG
NzA1MDBBMkU1MEMgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxMEY1NjU3MjRGQ0Y3QzcwMEEyRTUwQyAvKiBSVENJY2VDYW5kaWRh
dGVJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENJY2VDYW5kaWRhdGVJbml0Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwOTUwLDYgKzIwOTUyLDcgQEAKIAkJ
CQkyRTQzNDYzNzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaCAqLywKIAkJ
CQkyRTQzNDYzODBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaWRsICovLAog
CQkJCTJFNDM0NjM5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZVByb3h5Lmgg
Ki8sCisJCQkJNDEwQzQ4QTYyODA0MjBGMjAwODREMTA0IC8qIFdvcmtlckluaXRpYWxpemF0aW9u
RGF0YS5oICovLAogCQkJCUE1NEEwQzY5MURCODMxRjEwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0
b3JQcm94eS5jcHAgKi8sCiAJCQkJQTU0QTBDNkExREI4MzFGMjAwMTdBOTBCIC8qIFdvcmtlcklu
c3BlY3RvclByb3h5LmggKi8sCiAJCQkJMThGODMxQjcwRkQ0OEM3ODAwRDhDNTZCIC8qIFdvcmtl
ckxvYWRlclByb3h5LmggKi8sCkBAIC0zODM1MSw2ICszODM1NCw3IEBACiAJCQkJQTdENkIzNDkw
RjYxMTA0NTAwRkY5RkQxIC8qIFdvcmtlckZvbnRMb2FkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMkU0MzQ2NDkwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckdsb2JhbFNjb3BlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkyRTQzNDY0QjBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFs
U2NvcGVQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEwQzQ4QTcyODA0MjBGODAwODREMTA0
IC8qIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBD
NjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE1NEEwQzZDMURCODMxRjkwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMThGODMxQjgwRkQ0OEM3ODAwRDhDNTZCIC8qIFdv
cmtlckxvYWRlclByb3h5LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
YjY4NTczNzZkNGVkODUzYzJkMTViNTAzMTA2MjkwZjBmZTU4ODhjMy4uNjliMjI0NDlhN2I3MGNk
OWZlMzg5YjU3NTcyZDE2ZTIzZTc3MTNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1Njgs
NyArMTU2OCw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICB2
b2lkIHNldFNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKFNXQ2xpZW50Q29ubmVjdGlvbiopOwotICAg
IHZvaWQgdXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKKyAgICB2b2lkIHVwZGF0ZVNl
cnZpY2VXb3JrZXJDbGllbnREYXRhKCkgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBu
YXZpZ2F0ZUZyb21TZXJ2aWNlV29ya2VyKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oCmluZGV4IDEzMDY0YTc2YmY3OGY3ZDZkMjRhOTNkZGVmYjQ2OTg3ZmQxNGU5
NWIuLmRjOGFlOTU5ZGNhZmQ1ZjM4ZTZkYjkzMjU5OTRlMDQxZGFlZTkwMTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMjg5LDYgKzI4OSw3IEBA
IHB1YmxpYzoKIAogICAgIFNlcnZpY2VXb3JrZXJDb250YWluZXIqIHNlcnZpY2VXb3JrZXJDb250
YWluZXIoKTsKICAgICBTZXJ2aWNlV29ya2VyQ29udGFpbmVyKiBlbnN1cmVTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyKCk7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhKCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogI2VuZGlmCiAgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIGJvb2wgcG9zdFRhc2tUbyhTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
ciwgVGFzayYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBlbnN1cmVPbkNvbnRl
eHRUaHJlYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFRhc2smJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA1NTY4MmQwZTQ3Y2Y4YWFl
NzdmNDk3ODM0MTc5M2EzNWQ1NTQwYWMxLi40MTY5N2Y1MzBmMWVlY2FkMGMyN2YzYTRlZTJkYzkw
OTNmNzAyMjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTIxNDAsNiArMjE0MCw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmxvYWRNYWluUmVzb3VyY2Uo
UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkKICAgICAgICAgbV9yZXN1bHRpbmdDbGllbnRJZCA9
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogICAgICAgICBB
U1NFUlQoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Mb2FkZXJNYXAoKS5jb250
YWlucyhtX3Jlc3VsdGluZ0NsaWVudElkKSk7CiAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyVG9Mb2FkZXJNYXAoKS5hZGQobV9yZXN1bHRpbmdDbGllbnRJZCwgdGhpcyk7
CisgICAgICAgIG1haW5SZXNvdXJjZUxvYWRPcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBtX3Jl
c3VsdGluZ0NsaWVudElkOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hP
cHRpb25zLmgKaW5kZXggNWFjZTAxNWJkNWVmNzI5M2I2MGVhMWU2YTZkZTFlOGNmODFlODlhZS4u
Mzk1ZGYwNDZkNDZhNWQ1YmQ4NTY2N2VmMGQ3YjJjZDQ0OTMzNThhMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GZXRjaE9wdGlvbnMuaApAQCAtNDQsOSArNDQsOSBAQCBzdHJ1Y3QgRmV0Y2hPcHRpb25z
IHsKICAgICBlbnVtIGNsYXNzIFJlZGlyZWN0IDogdWludDhfdCB7IEZvbGxvdywgRXJyb3IsIE1h
bnVhbCB9OwogCiAgICAgRmV0Y2hPcHRpb25zKCkgPSBkZWZhdWx0OwotICAgIEZldGNoT3B0aW9u
cyhEZXN0aW5hdGlvbiwgTW9kZSwgQ3JlZGVudGlhbHMsIENhY2hlLCBSZWRpcmVjdCwgUmVmZXJy
ZXJQb2xpY3ksIFN0cmluZyYmLCBib29sKTsKLSAgICBGZXRjaE9wdGlvbnMgaXNvbGF0ZWRDb3B5
KCkgY29uc3QgJiB7IHJldHVybiB7IGRlc3RpbmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2Fj
aGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGljeSwgaW50ZWdyaXR5Lmlzb2xhdGVkQ29weSgpLCBr
ZWVwQWxpdmUgfTsgfQotICAgIEZldGNoT3B0aW9ucyBpc29sYXRlZENvcHkoKSAmJiB7IHJldHVy
biB7IGRlc3RpbmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0LCByZWZl
cnJlclBvbGljeSwgV1RGTW92ZShpbnRlZ3JpdHkpLmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUg
fTsgfQorICAgIEZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiwgTW9kZSwgQ3JlZGVudGlhbHMsIENh
Y2hlLCBSZWRpcmVjdCwgUmVmZXJyZXJQb2xpY3ksIFN0cmluZyYmLCBib29sLCBzdGQ6Om9wdGlv
bmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPik7CisgICAgRmV0Y2hPcHRpb25z
IGlzb2xhdGVkQ29weSgpIGNvbnN0ICYgeyByZXR1cm4geyBkZXN0aW5hdGlvbiwgbW9kZSwgY3Jl
ZGVudGlhbHMsIGNhY2hlLCByZWRpcmVjdCwgcmVmZXJyZXJQb2xpY3ksIGludGVncml0eS5pc29s
YXRlZENvcHkoKSwga2VlcEFsaXZlLCBjbGllbnRJZGVudGlmaWVyIH07IH0KKyAgICBGZXRjaE9w
dGlvbnMgaXNvbGF0ZWRDb3B5KCkgJiYgeyByZXR1cm4geyBkZXN0aW5hdGlvbiwgbW9kZSwgY3Jl
ZGVudGlhbHMsIGNhY2hlLCByZWRpcmVjdCwgcmVmZXJyZXJQb2xpY3ksIFdURk1vdmUoaW50ZWdy
aXR5KS5pc29sYXRlZENvcHkoKSwga2VlcEFsaXZlLCBjbGllbnRJZGVudGlmaWVyIH07IH0KIAog
ICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlUGVyc2lzdGVudChFbmNvZGVy
JikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VE
X1JFVFVSTiBib29sIGRlY29kZVBlcnNpc3RlbnQoRGVjb2RlciYsIEZldGNoT3B0aW9ucyYpOwpA
QCAtNTksMjAgKzU5LDIxIEBAIHN0cnVjdCBGZXRjaE9wdGlvbnMgewogICAgIENhY2hlIGNhY2hl
IHsgQ2FjaGU6OkRlZmF1bHQgfTsKICAgICBSZWRpcmVjdCByZWRpcmVjdCB7IFJlZGlyZWN0OjpG
b2xsb3cgfTsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSB7IFJlZmVycmVyUG9s
aWN5OjpFbXB0eVN0cmluZyB9OwotICAgIGJvb2wga2VlcEFsaXZlIHsgZmFsc2UgfTsKICAgICBT
dHJpbmcgaW50ZWdyaXR5OworICAgIGJvb2wga2VlcEFsaXZlIHsgZmFsc2UgfTsKICAgICBzdGQ6
Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlm
aWVyOwogfTsKIAotaW5saW5lIEZldGNoT3B0aW9uczo6RmV0Y2hPcHRpb25zKERlc3RpbmF0aW9u
IGRlc3RpbmF0aW9uLCBNb2RlIG1vZGUsIENyZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBDYWNoZSBj
YWNoZSwgUmVkaXJlY3QgcmVkaXJlY3QsIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBT
dHJpbmcmJiBpbnRlZ3JpdHksIGJvb2wga2VlcEFsaXZlKQoraW5saW5lIEZldGNoT3B0aW9uczo6
RmV0Y2hPcHRpb25zKERlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLCBNb2RlIG1vZGUsIENyZWRlbnRp
YWxzIGNyZWRlbnRpYWxzLCBDYWNoZSBjYWNoZSwgUmVkaXJlY3QgcmVkaXJlY3QsIFJlZmVycmVy
UG9saWN5IHJlZmVycmVyUG9saWN5LCBTdHJpbmcmJiBpbnRlZ3JpdHksIGJvb2wga2VlcEFsaXZl
LCBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJ
ZGVudGlmaWVyKQogICAgIDogZGVzdGluYXRpb24oZGVzdGluYXRpb24pCiAgICAgLCBtb2RlKG1v
ZGUpCiAgICAgLCBjcmVkZW50aWFscyhjcmVkZW50aWFscykKICAgICAsIGNhY2hlKGNhY2hlKQog
ICAgICwgcmVkaXJlY3QocmVkaXJlY3QpCiAgICAgLCByZWZlcnJlclBvbGljeShyZWZlcnJlclBv
bGljeSkKLSAgICAsIGtlZXBBbGl2ZShrZWVwQWxpdmUpCiAgICAgLCBpbnRlZ3JpdHkoV1RGTW92
ZShpbnRlZ3JpdHkpKQorICAgICwga2VlcEFsaXZlKGtlZXBBbGl2ZSkKKyAgICAsIGNsaWVudElk
ZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDU5Y2RjYzJlYzRjNDhjMWFlYmY0ZTdiZjgxZTIy
MDFhZDEwMjUyNDQuLmI1ZGQ0ZWY2YWE5ODFkNjNjNTQ4NGE0MWVhZjU0YzY5ZjFmNGNlZmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTc3LDYgKzc3
LDggQEAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6Omlz
b2xhdGVkQ29weSgpIGNvbnN0CiAgICAgY29weS5yZWRpcmVjdCA9IHRoaXMtPnJlZGlyZWN0Owog
ICAgIGNvcHkucmVmZXJyZXJQb2xpY3kgPSB0aGlzLT5yZWZlcnJlclBvbGljeTsKICAgICBjb3B5
LmludGVncml0eSA9IHRoaXMtPmludGVncml0eS5pc29sYXRlZENvcHkoKTsKKyAgICBjb3B5Lmtl
ZXBBbGl2ZSA9IHRoaXMtPmtlZXBBbGl2ZTsKKyAgICBjb3B5LmNsaWVudElkZW50aWZpZXIgPSB0
aGlzLT5jbGllbnRJZGVudGlmaWVyOwogCiAgICAgLy8gUmVzb3VyY2VMb2FkZXJPcHRpb25zCiAg
ICAgY29weS5zZW5kTG9hZENhbGxiYWNrcyA9IHRoaXMtPnNlbmRMb2FkQ2FsbGJhY2tzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4
IGUyOTU4OWMyZmYyNDAwNDI1MzVjM2MwMzk2ZmM4YjQ3NjI0NDJhYTAuLjgyZmJmNzBlY2Y1NGYy
YWEyMWRlMmQzYzU2MGYzMzJlZmE0NWU5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJXb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgiCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQ
b2xpY3kuaCIKKyNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC0xMzMsMTAgKzEzNCwyMCBA
QCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpNYWluVGhyZWFkQnJp
ZGdlKFRocmVhZGFibGVMb2FkZXJDbGllbgogICAgIG9wdGlvbnNDb3B5LT5vcHRpb25zLmluaXRp
YXRvckNvbnRleHQgPSBJbml0aWF0b3JDb250ZXh0OjpXb3JrZXI7CiAKICNpZiBFTkFCTEUoU0VS
VklDRV9XT1JLRVIpCi0gICAgb3B0aW9uc0NvcHktPm9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2Rl
ID0gaXM8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPihnbG9iYWxTY29wZSkgPyBTZXJ2aWNlV29y
a2Vyc01vZGU6Ok5vbmUgOiBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbDsKLSAgICBpZiAoYXV0byog
YWN0aXZlU2VydmljZVdvcmtlciA9IGdsb2JhbFNjb3BlLmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkK
LSAgICAgICAgb3B0aW9uc0NvcHktPm9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7
CisgICAgaWYgKG9wdGlvbnNDb3B5LT5vcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9PSBTZXJ2
aWNlV29ya2Vyc01vZGU6OkFsbCkgeworICAgICAgICBpZiAoaXM8U2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlPihnbG9iYWxTY29wZSkpCisgICAgICAgICAgICBvcHRpb25zQ29weS0+b3B0aW9ucy5z
ZXJ2aWNlV29ya2Vyc01vZGUgPSBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmU7CisgICAgICAgIGVs
c2UgaWYgKGF1dG8qIGFjdGl2ZVNlcnZpY2VXb3JrZXIgPSBnbG9iYWxTY29wZS5hY3RpdmVTZXJ2
aWNlV29ya2VyKCkpIHsKKyAgICAgICAgICAgIG9wdGlvbnNDb3B5LT5vcHRpb25zLnNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtlci0+cmVnaXN0
cmF0aW9uSWRlbnRpZmllcigpOworICAgICAgICAgICAgb3B0aW9uc0NvcHktPm9wdGlvbnMuc2Vy
dmljZVdvcmtlcnNNb2RlID0gU2VydmljZVdvcmtlcnNNb2RlOjpBbGw7CisgICAgICAgIH0gZWxz
ZSBpZiAoaXM8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KGdsb2JhbFNjb3BlKSkKKyAgICAg
ICAgICAgIG9wdGlvbnNDb3B5LT5vcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IFNlcnZpY2VX
b3JrZXJzTW9kZTo6Tm9uZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgb3B0aW9uc0NvcHkt
Pm9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gU2VydmljZVdvcmtlcnNNb2RlOjpBbGw7Cisg
ICAgfQogI2VuZGlmCisgICAgaWYgKCFvcHRpb25zQ29weS0+b3B0aW9ucy5jbGllbnRJZGVudGlm
aWVyKQorICAgICAgICBvcHRpb25zQ29weS0+b3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gZ2xv
YmFsU2NvcGUuaWRlbnRpZmllcigpOwogCiAgICAgaWYgKGlzPFdvcmtlckdsb2JhbFNjb3BlPihn
bG9iYWxTY29wZSkpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFNlbmRS
ZXF1ZXN0KGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihnbG9iYWxTY29wZSksIG1fd29ya2Vy
UmVxdWVzdElkZW50aWZpZXIsIHJlcXVlc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOTM4NjJhMjNiNWQ3YTdj
ZDMzZjFkNGRmNjE4ZDc5NjFkNzk5OTg4MC4uZDU1OTA0NjEwMzVkMjY0MTQyYjA5YjhlMDUzYTVi
OTA4MWE3ODM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMjAyLDggKzEyMDIsOCBAQCBDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6UmV2YWxpZGF0aW9uUG9saWN5IENhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1p
bmVSZXZhbGlkYQogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIC8vIEZJWE1FOiBX
ZSBzaG91bGQgdmFsaWRhdGUvc3BlY2lmeSB0aGlzIGJlaGF2aW9yLgotICAgIGlmIChjYWNoZWRS
ZXNvdXJjZVJlcXVlc3Qub3B0aW9ucygpLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyICE9IGV4aXN0aW5nUmVzb3VyY2UtPm9wdGlvbnMoKS5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllcikgewotICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVz
b3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFsaWRhdGlvblBvbGljeSByZWxvYWRpbmcgYmVjYXVz
ZSBzZWxlY3RlZCBzZXJ2aWNlIHdvcmtlciBkaWZmZXJzIik7CisgICAgaWYgKGNhY2hlZFJlc291
cmNlUmVxdWVzdC5vcHRpb25zKCkuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIg
IT0gZXhpc3RpbmdSZXNvdXJjZS0+b3B0aW9ucygpLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyIHx8IGNhY2hlZFJlc291cmNlUmVxdWVzdC5vcHRpb25zKCkuc2VydmljZVdvcmtl
cnNNb2RlICE9IGV4aXN0aW5nUmVzb3VyY2UtPm9wdGlvbnMoKS5zZXJ2aWNlV29ya2Vyc01vZGUp
IHsKKyAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpk
ZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kgcmVsb2FkaW5nIGJlY2F1c2Ugc2VsZWN0ZWQgc2Vy
dmljZSB3b3JrZXIgbWF5IGRpZmZlciIpOwogICAgICAgICByZXR1cm4gUmVsb2FkOwogICAgIH0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJl
YWQuY3BwCmluZGV4IGI3ZjkxN2Q2ZDhiZGEwNWVkYjU4ZDEyZjc4NWEzYjM5MjA4MTIwOWIuLjc1
MDMzMmIzZGU1ZWRmZDJlZTc3NTY1MDE1ZjdiODZlMWY1YmM2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKQEAgLTQ4LDcgKzQ4LDEy
IEBAIERlZGljYXRlZFdvcmtlclRocmVhZDo6fkRlZGljYXRlZFdvcmtlclRocmVhZCgpID0gZGVm
YXVsdDsKIAogUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNy
ZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtcywgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdp
bikKIHsKLSAgICByZXR1cm4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShwYXJh
bXMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVj
dGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOworICAgIGF1dG8gc2NvcGUgPSBEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHBhcmFtcywgV1RGTW92ZShvcmlnaW4pLCAqdGhp
cywgV1RGTW92ZSh0b3BPcmlnaW4pLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlk
ZXIoKSk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGlmIChwYXJhbXMuc2Vydmlj
ZVdvcmtlckRhdGEpCisgICAgICAgIHNjb3BlLT5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZp
Y2VXb3JrZXI6OmdldE9yQ3JlYXRlKHNjb3BlLmdldCgpLCBTZXJ2aWNlV29ya2VyRGF0YSB7ICpw
YXJhbXMuc2VydmljZVdvcmtlckRhdGEgfSkpOworI2VuZGlmCisgICAgcmV0dXJuIHNjb3BlOwog
fQogCiB2b2lkIERlZGljYXRlZFdvcmtlclRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmNwcAppbmRleCA3ZmJhNjI4OTFkZGJhYTZlNjY1YzE0YmY5ZWMyOGEyOGI0
NDQxNTQ3Li44ODNmN2QzZjEyYWM4MjdiZTBjNTlhN2E0MjI3NjI1YjQyY2QwNjk4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiU2VjdXJp
dHlPcmlnaW4uaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oIgogI2lu
Y2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlUHJveHkuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFs
aXphdGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRl
ICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JZGVudGlmaWVyc0Zh
Y3RvcnkuaD4KQEAgLTU3LDE1ICs1OCwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXIpOwogCi1zdGF0aWMgSGFzaFNldDxXb3JrZXIq
PiYgYWxsV29ya2VycygpCitzdGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciwgV29ya2VyKj4mIGFsbFdvcmtlcnMoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxIYXNoU2V0PFdvcmtlcio+PiBzZXQ7Ci0gICAgcmV0dXJuIHNldDsKKyAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwg
V29ya2VyKj4+IG1hcDsKKyAgICByZXR1cm4gbWFwOwogfQogCiB2b2lkIFdvcmtlcjo6bmV0d29y
a1N0YXRlQ2hhbmdlZChib29sIGlzT25MaW5lKQogewotICAgIGZvciAoYXV0byogd29ya2VyIDog
YWxsV29ya2VycygpKQorICAgIGZvciAoYXV0byogd29ya2VyIDogYWxsV29ya2VycygpLnZhbHVl
cygpKQogICAgICAgICB3b3JrZXItPm5vdGlmeU5ldHdvcmtTdGF0ZUNoYW5nZShpc09uTGluZSk7
CiB9CiAKQEAgLTc1LDYgKzc2LDcgQEAgV29ya2VyOjpXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzLAogICAgICwgbV9p
ZGVudGlmaWVyKCJ3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVh
dGVJZGVudGlmaWVyKCkpCiAgICAgLCBtX2NvbnRleHRQcm94eShXb3JrZXJHbG9iYWxTY29wZVBy
b3h5OjpjcmVhdGUoKnRoaXMpKQogICAgICwgbV9ydW50aW1lRmxhZ3MocnVudGltZUZsYWdzKQor
ICAgICwgbV9jbGllbnRJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
OjpnZW5lcmF0ZSgpKQogewogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYg
KCFhZGRlZExpc3RlbmVyKSB7CkBAIC04Miw3ICs4NCw3IEBAIFdvcmtlcjo6V29ya2VyKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFn
cywKICAgICAgICAgYWRkZWRMaXN0ZW5lciA9IHRydWU7CiAgICAgfQogCi0gICAgYXV0byBhZGRS
ZXN1bHQgPSBhbGxXb3JrZXJzKCkuYWRkKHRoaXMpOworICAgIGF1dG8gYWRkUmVzdWx0ID0gYWxs
V29ya2VycygpLmFkZChtX2NsaWVudElkZW50aWZpZXIsIHRoaXMpOwogICAgIEFTU0VSVF9VTlVT
RUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CiB9CiAKQEAgLTExNCw3ICsxMTYs
NyBAQCBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gV29ya2VyOjpjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpSdQogICAgIHJlcXVlc3Quc2V0SW5pdGlhdG9ySWRl
bnRpZmllcih3b3JrZXItPm1faWRlbnRpZmllcik7CiAKICAgICBhdXRvIHNvdXJjZSA9IG9wdGlv
bnMudHlwZSA9PSBXb3JrZXJUeXBlOjpNb2R1bGUgPyBXb3JrZXJTY3JpcHRMb2FkZXI6OlNvdXJj
ZTo6TW9kdWxlU2NyaXB0IDogV29ya2VyU2NyaXB0TG9hZGVyOjpTb3VyY2U6OkNsYXNzaWNXb3Jr
ZXJTY3JpcHQ7Ci0gICAgd29ya2VyLT5tX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5
KGNvbnRleHQsIFdURk1vdmUocmVxdWVzdCksIHNvdXJjZSwgd29ya2VyRmV0Y2hPcHRpb25zKHdv
cmtlci0+bV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpLCBjb250
ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdv
cmtlci5nZXQoKSwgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CisgICAgd29ya2VyLT5t
X3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KGNvbnRleHQsIFdURk1vdmUocmVxdWVz
dCksIHNvdXJjZSwgd29ya2VyRmV0Y2hPcHRpb25zKHdvcmtlci0+bV9vcHRpb25zLCBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNl
bWVudCwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsIHdvcmtlci5nZXQoKSwgV29ya2VyUnVuTG9v
cDo6ZGVmYXVsdE1vZGUoKSwgd29ya2VyLT5tX2NsaWVudElkZW50aWZpZXIpOwogCiAgICAgcmV0
dXJuIHdvcmtlcjsKIH0KQEAgLTEyMyw3ICsxMjUsNyBAQCBXb3JrZXI6On5Xb3JrZXIoKQogewog
ICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSk7IC8vIFRoZSBjb250ZXh0IGlzIHByb3RlY3RlZCBieSB3b3JrZXIgY29udGV4dCBw
cm94eSwgc28gaXQgY2Fubm90IGJlIGRlc3Ryb3llZCB3aGlsZSBhIFdvcmtlciBleGlzdHMuCi0g
ICAgYWxsV29ya2VycygpLnJlbW92ZSh0aGlzKTsKKyAgICBhbGxXb3JrZXJzKCkucmVtb3ZlKG1f
Y2xpZW50SWRlbnRpZmllcik7CiAgICAgbV9jb250ZXh0UHJveHkud29ya2VyT2JqZWN0RGVzdHJv
eWVkKCk7CiB9CiAKQEAgLTIwOCwxMyArMjEwLDE5IEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5p
c2hlZCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBib29sIGlzT25saW5lID0gcGxh
dGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCk7CiAgICAgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMgPSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyA/IG1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgOiBj
b250ZXh0LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVzcG9uc2VIZWFkZXJzKCk7CiAgICAg
UmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJp
bmc7CiAgICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExv
YWRlci0+cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIp
KQogICAgICAgICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7CiAKLSAgICBtX2NvbnRleHRQcm94
eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgp
LCBtX29wdGlvbnMubmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT5sYXN0
UmVxdWVzdFVSTCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgbV9zY3JpcHRMb2FkZXItPmNyb3NzT3JpZ2luRW1iZWRkZXJQ
b2xpY3koKSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJlZmVycmVyUG9saWN5LCBtX29wdGlvbnMu
dHlwZSwgbV9vcHRpb25zLmNyZWRlbnRpYWxzLCBtX3J1bnRpbWVGbGFncyk7CisgICAgV29ya2Vy
SW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgICAgICBtX3NjcmlwdExvYWRlci0+dGFrZVNlcnZpY2VXb3JrZXJEYXRh
KCksCisjZW5kaWYKKyAgICAgICAgbV9jbGllbnRJZGVudGlmaWVyLAorICAgICAgICBjb250ZXh0
LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPmxhc3RSZXF1ZXN0VVJMKCkpCisgICAgfTsKKyAg
ICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT5s
YXN0UmVxdWVzdFVSTCgpLCBtX29wdGlvbnMubmFtZSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRh
dGEpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IG1fc2NyaXB0TG9hZGVyLT5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KCksIG1fd29ya2VyQ3Jl
YXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9vcHRpb25zLnR5cGUsIG1fb3B0aW9ucy5jcmVk
ZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2NyaXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1f
c2NyaXB0TG9hZGVyLT5zY3JpcHQoKS50b1N0cmluZygpKTsKIH0KIApAQCAtMjUxLDggKzI1OSwx
MyBAQCB2b2lkIFdvcmtlcjo6cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZv
aWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPgogCiB2b2lkIFdvcmtlcjo6Zm9yRWFjaFdvcmtl
cihjb25zdCBGdW5jdGlvbjxGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4o
KT4mIGNhbGxiYWNrKQogewotICAgIGZvciAoYXV0byogd29ya2VyIDogYWxsV29ya2VycygpKQor
ICAgIGZvciAoYXV0byogd29ya2VyIDogYWxsV29ya2VycygpLnZhbHVlcygpKQogICAgICAgICB3
b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShjYWxsYmFjaygpKTsKIH0KIAorV29y
a2VyKiBXb3JrZXI6OndvcmtlckJ5SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciBpZGVudGlmaWVyKQoreworICAgIHJldHVybiBhbGxXb3JrZXJzKCkuZ2V0KGlkZW50
aWZpZXIpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
aAppbmRleCA0ZDUwZTYxNTA1OTE3NWRjY2E1OGE1MGNlM2U3YjQ4OThhNGY2YjNjLi5jYzJiYjhh
YTU5M2YyNGE2N2JkMjA1ZDcxOTQyYjA1N2UyOGM5NmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmgKQEAgLTgxLDEwICs4MSwxMiBAQCBwdWJsaWM6CiAgICAgV29ya2VyVHlwZSB0eXBlKCkgY29u
c3QgeyByZXR1cm4gbV9vcHRpb25zLnR5cGU7IH0KIAogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtl
ckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsK
KwogICAgIHN0YXRpYyB2b2lkIGZvckVhY2hXb3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248
dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+KCk+Jik7CisgICAgc3RhdGljIFdvcmtlciog
d29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKIAog
cHJpdmF0ZToKLSAgICBleHBsaWNpdCBXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpT
Qzo6UnVudGltZUZsYWdzLCBXb3JrZXJPcHRpb25zJiYpOworICAgIFdvcmtlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIFdvcmtlck9wdGlvbnMmJik7CiAKICAg
ICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIFdvcmtlckV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQogCkBAIC0xMTYsNiAr
MTE4LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBIYXNoU2V0PFN0cmlu
Zz4gbV90cmFuc2Zvcm1lcnM7CiAjZW5kaWYKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciBtX2NsaWVudElkZW50aWZpZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDU5
MzNlMDc0ZThiNjMyN2QwNTY2MWIzNDFlMTYyNzIwOTlmZDI5ZmIuLmFjNGRlNGI3YzBlZGQ0OTVm
MGMwNDU0MjY2NmZiODI2MjcwNWU0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuY3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiU2NyaXB0U291
cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VjdXJp
dHlPcmlnaW5Qb2xpY3kuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oIgog
I2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlNvY2tldFBy
b3ZpZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgpAQCAt
OTEsNyArOTIsNyBAQCBzdGF0aWMgV29ya1F1ZXVlJiBzaGFyZWRGaWxlU3lzdGVtU3RvcmFnZVF1
ZXVlKCkKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXJHbG9iYWxTY29wZSk7CiAK
IFdvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5
cGUsIGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtcywgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IG9yaWdpbiwgV29ya2VyVGhyZWFkJiB0aHJlYWQsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNv
Y2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlKHR5cGUsIGlzTWFpblRocmVhZCgpID8gUmVmIHsgY29tbW9uVk0oKSB9IDogSlNDOjpW
TTo6Y3JlYXRlKCksICZ0aHJlYWQpCisgICAgOiBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSh0
eXBlLCBpc01haW5UaHJlYWQoKSA/IFJlZiB7IGNvbW1vblZNKCkgfSA6IEpTQzo6Vk06OmNyZWF0
ZSgpLCAmdGhyZWFkLCBwYXJhbXMuY2xpZW50SWRlbnRpZmllcikKICAgICAsIG1fdXJsKHBhcmFt
cy5zY3JpcHRVUkwpCiAgICAgLCBtX2luc3BlY3RvcklkZW50aWZpZXIocGFyYW1zLmluc3BlY3Rv
cklkZW50aWZpZXIpCiAgICAgLCBtX3VzZXJBZ2VudChwYXJhbXMudXNlckFnZW50KQpAQCAtNjUz
LDQgKzY1NCwxNCBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjp1cGRhdGVTb3VyY2VQcm92aWRl
ckJ1ZmZlcnMoY29uc3QgU2NyaXB0QnVmZmVyJiBtYWluU2NyaQogICAgIH0KIH0KIAorI2lmIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKK3ZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnVwZGF0ZVNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhKCkKK3sKKyAgICBBU1NFUlQodHlwZSgpID09IFdlYkNvcmU6Oldv
cmtlckdsb2JhbFNjb3BlOjpUeXBlOjpEZWRpY2F0ZWRXb3JrZXIpOworICAgIGF1dG8gY29udHJv
bGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VX
b3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllcj4oYWN0aXZlU2VydmljZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkp
IDogc3RkOjpudWxsb3B0OworICAgIFNXQ2xpZW50Q29ubmVjdGlvbiYgY29ubmVjdGlvbiA9IHN3
Q2xpZW50Q29ubmVjdGlvbigpOworICAgIGNvbm5lY3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2Vy
Q2xpZW50KHRvcE9yaWdpbigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyks
IGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7
IG1fdXNlckFnZW50IH0pOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCBlYWE1ODIwNzRm
YWZjNDY0YzMyOGY4M2U2NTI4YmRhMDdkY2MyZDUyLi41OGJiZDY1NzdmYTQzNzIwN2U5YmE3NmRk
ZWU3M2UzOTY0ZGVkNmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5oCkBAIC0xOTIsNiArMTkyLDkgQEAgcHJpdmF0ZToKICAgICBib29sIHdyYXBDcnlwdG9L
ZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtl
eSkgZmluYWw7CiAgICAgYm9vbCB1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+
JiB3cmFwcGVkS2V5LCBWZWN0b3I8dWludDhfdD4mIGtleSkgZmluYWw7CiAjZW5kaWYKKyNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgdm9pZCB1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YSgpIGZpbmFsOworI2VuZGlmCiAKICAgICB2b2lkIHN0b3BJbmRleGVkRGF0YWJhc2UoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVBy
b3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApp
bmRleCAyYmFiMjY3MzVkZTE5YjRiNTExMTA3YTZhY2Q5OWUyOTg2NDU3M2NkLi44YTUwYTcwMDcz
NzE1NTk0ZWUxZDRjYzIzZTc5OGMzODE5YTUxNDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CiBjbGFzcyBTY3JpcHRCdWZmZXI7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV29ya2VyOworc3RydWN0IFdv
cmtlckluaXRpYWxpemF0aW9uRGF0YTsKIGVudW0gY2xhc3MgUmVmZXJyZXJQb2xpY3kgOiB1aW50
OF90OwogZW51bSBjbGFzcyBXb3JrZXJUeXBlIDogYm9vbDsKIApAQCAtNTEsNyArNTIsNyBAQCBj
bGFzcyBXb3JrZXJHbG9iYWxTY29wZVByb3h5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV29ya2Vy
R2xvYmFsU2NvcGVQcm94eSYgY3JlYXRlKFdvcmtlciYpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFNjcmlw
dEJ1ZmZlciYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIFJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywg
SlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEmJiwgY29uc3QgU2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeSYsIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtl
clR5cGUsIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2Jh
bFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41Njk3MGQwNGEzYTcwYzE4OTVjZTk3MTk1ODI2ZDA5OWM2NzA4YWVhCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxl
IEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJEYXRhLmgiCisjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Ry
dWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VS
KQorICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IHNlcnZpY2VXb3JrZXJEYXRh
OworI2VuZGlmCisgICAgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
Zmllcj4gY2xpZW50SWRlbnRpZmllcjsKKyAgICBTdHJpbmcgdXNlckFnZW50OworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5LmNwcAppbmRleCBjMzExMWEyZjdmNWZmMjkxOGZmZWM1MGJiMzEwM2MwNWUx
Mjg3NGMzLi5jYmVkNDljOWY5MDgxYmRlYmNmYmZkYjkyMWUzNGYzMjY1MzVjYzY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtMzgs
MTEgKzM4LDE0IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZldGNoUmVx
dWVzdENyZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKKyNpbmNs
dWRlICJMb2FkZXJTdHJhdGVneS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRl
ICJXb3JrZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCIKICNpbmNs
dWRlICJXb3JrZXJJbnNwZWN0b3JQcm94eS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Nv
bnNvbGVUeXBlcy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5o
PgpAQCAtNzUsNyArNzgsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2lu
Z1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7
CiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiBjcm9zc09y
aWdpbkVtYmVkZGVyUG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9s
aWN5IHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENy
ZWRlbnRpYWxzIGNyZWRlbnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2
b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0
YSYmIGluaXRpYWxpemF0aW9uRGF0YSwgY29uc3QgU2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmIGNyb3NzT3Jp
Z2luRW1iZWRkZXJQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xp
Y3kgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUgd29ya2VyVHlwZSwgRmV0Y2hSZXF1ZXN0Q3Jl
ZGVudGlhbHMgY3JlZGVudGlhbHMsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKIHsK
ICAgICAvLyBGSVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVuIHdlIHN1cHBvcnQg
bmVzdGVkIHdvcmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCk7CkBAIC04Nyw3ICs5MCwxMiBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29j
a2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsK
IAotICAgIFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zID0geyBzY3JpcHRVUkwsIG5hbWUsIGlkZW50
aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgd29ya2Vy
VHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCkgfTsKKyAgICBXb3Jr
ZXJQYXJhbWV0ZXJzIHBhcmFtcyB7IHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgV1RGTW92
ZShpbml0aWFsaXphdGlvbkRhdGEudXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxv
YWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5LCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgd29ya2Vy
VHlwZSwgY3JlZGVudGlhbHMsIGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCksIFdvcmtlclRocmVh
ZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCwgeyB9LAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
KyAgICAgICAgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEuc2VydmljZVdvcmtlckRhdGEpLAor
I2VuZGlmCisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyLnZhbHVl
X29yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIHsgfSkKKyAgICB9OwogICAgIGF1
dG8gdGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUocGFyYW1zLCBzb3VyY2VD
b2RlLCAqdGhpcywgKnRoaXMsICp0aGlzLCBzdGFydE1vZGUsIGRvY3VtZW50LnRvcE9yaWdpbigp
LCBwcm94eSwgc29ja2V0UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7CiAKICAgICB3b3JrZXJUaHJl
YWRDcmVhdGVkKHRocmVhZC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggMjI2ZTg2MWM1MTZkNWQyZTZhMzQ1ZWQ3ZGU4NzFjOTI0
YzEyODg0My4uYjI1OTU3MmIzODBjZmYxMDJiNzRjNGFhMjRkNTEwMWM5OGU5NmY0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNTAsNyAr
NTAsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3Jr
ZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5jdGlvbnMgaW4g
dGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2Nv
cGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc291cmNlQ29k
ZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3kmLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5
LCBXb3JrZXJUeXBlLCBGZXRjaFJlcXVlc3RDcmVkZW50aWFscywgSlNDOjpSdW50aW1lRmxhZ3Mp
IGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiwgY29u
c3QgU2NyaXB0QnVmZmVyJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYsIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUsIEZldGNoUmVxdWVzdENyZWRl
bnRpYWxzLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3Jr
ZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2Jh
bFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFsOwogICAgIHZvaWQgcG9zdFRh
c2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYpPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
T3JXb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggYTMwMjhhOWY3ZDI5MTA2NWI0OWNkM2IzNzYz
NGQwODYxYTk4MTI3Ni4uMjhjNWYwMGYxYWQ3M2ExZDZkZjUyNjI3MmQ3NDAwM2M0ZTFjZDFmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9i
YWxTY29wZS5jcHAKQEAgLTQwLDggKzQwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUpOwogCi1X
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoV29y
a2VyVGhyZWFkVHlwZSB0eXBlLCBSZWY8SlNDOjpWTT4mJiB2bSwgV29ya2VyT3JXb3JrbGV0VGhy
ZWFkKiB0aHJlYWQpCi0gICAgOiBtX3NjcmlwdChtYWtlVW5pcXVlPFdvcmtlck9yV29ya2xldFNj
cmlwdENvbnRyb2xsZXI+KHR5cGUsIFdURk1vdmUodm0pLCB0aGlzKSkKK1dvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlOjpXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBl
IHR5cGUsIFJlZjxKU0M6OlZNPiYmIHZtLCBXb3JrZXJPcldvcmtsZXRUaHJlYWQqIHRocmVhZCwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCisgICAg
OiBTY3JpcHRFeGVjdXRpb25Db250ZXh0KGNvbnRleHRJZGVudGlmaWVyKQorICAgICwgbV9zY3Jp
cHQobWFrZVVuaXF1ZTxXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyPih0eXBlLCBXVEZN
b3ZlKHZtKSwgdGhpcykpCiAgICAgLCBtX21vZHVsZUxvYWRlcihtYWtlVW5pcXVlPFNjcmlwdE1v
ZHVsZUxvYWRlcj4oKnRoaXMsIFNjcmlwdE1vZHVsZUxvYWRlcjo6T3duZXJUeXBlOjpXb3JrZXJP
cldvcmtsZXQpKQogICAgICwgbV90aHJlYWQodGhyZWFkKQogICAgICwgbV9pbnNwZWN0b3JDb250
cm9sbGVyKG1ha2VVbmlxdWU8V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcj4oKnRoaXMpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29w
ZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5o
CmluZGV4IDg0ZjJkNDE5ODVlZDM0YWViMjBlMDJlNGM0YmU1Y2FjMTQyMjgwNWYuLjEzOGEzZTM0
NTRkN2IwMWUyMDYwMWRmNmNiNThmODYyNTMwYjc3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTgwLDcgKzgwLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5h
dGlvbigpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgotICAgIFdvcmtlck9yV29ya2xldEdsb2Jh
bFNjb3BlKFdvcmtlclRocmVhZFR5cGUsIFJlZjxKU0M6OlZNPiYmLCBXb3JrZXJPcldvcmtsZXRU
aHJlYWQqKTsKKyAgICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBl
LCBSZWY8SlNDOjpWTT4mJiwgV29ya2VyT3JXb3JrbGV0VGhyZWFkKiwgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIgPSB7IH0pOwogCiAgICAgLy8gU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC4KICAgICBib29sIGlzSlNFeGVjdXRpb25Gb3JiaWRkZW4oKSBjb25zdCBmaW5hbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCBmNmFlYjhm
Zjc5Mjc2ODI3Nzg2ZWRiNzgyNGQ4ODZjMjdkNjE1ZGQyLi45MWFkYzBmMzM3YjljNGIyZGU1NGRm
MjdmMWM2ZjFjMjNmMGQ5NzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuY3BwCkBAIC00NSwxMiArNDUsMjIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitzdGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV29y
a2VyU2NyaXB0TG9hZGVyKj4mIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Xb3Jr
ZXJTY3JpcHRMb2FkZXJNYXAoKQoreworICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95
ZWQ8SGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV29ya2VyU2NyaXB0
TG9hZGVyKj4+IG1hcDsKKyAgICByZXR1cm4gbWFwLmdldCgpOworfQorCiBXb3JrZXJTY3JpcHRM
b2FkZXI6OldvcmtlclNjcmlwdExvYWRlcigpCiAgICAgOiBtX3NjcmlwdChTY3JpcHRCdWZmZXI6
OmVtcHR5KCkpCiB7CiB9CiAKLVdvcmtlclNjcmlwdExvYWRlcjo6fldvcmtlclNjcmlwdExvYWRl
cigpID0gZGVmYXVsdDsKK1dvcmtlclNjcmlwdExvYWRlcjo6fldvcmtlclNjcmlwdExvYWRlcigp
Cit7CisgICAgaWYgKG1fY2xpZW50SWRlbnRpZmllcikKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlwdExvYWRlck1hcCgpLnJlbW92ZShtX2NsaWVu
dElkZW50aWZpZXIpOworfQogCiBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0
TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgU291cmNlIHNvdXJjZSwgRmV0Y2hPcHRp
b25zOjpNb2RlIG1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUgY2FjaGVQb2xpY3ksIENvbnRlbnRT
ZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50
LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpCiB7CkBAIC05MywxMSArMTAzLDcg
QEAgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+IFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZFN5bmNo
cm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ28KICAgICBvcHRpb25zLnNlbmRMb2FkQ2FsbGJhY2tz
ID0gU2VuZENhbGxiYWNrUG9saWN5OjpTZW5kQ2FsbGJhY2tzOwogICAgIG9wdGlvbnMuY29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNl
bWVudDsKICAgICBvcHRpb25zLmRlc3RpbmF0aW9uID0gbV9kZXN0aW5hdGlvbjsKLSNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCi0gICAgb3B0aW9ucy5zZXJ2aWNlV29ya2Vyc01vZGUgPSBpc1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZSA/IFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSA6IFNlcnZp
Y2VXb3JrZXJzTW9kZTo6QWxsOwotICAgIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0g
d29ya2VyR2xvYmFsU2NvcGUuYWN0aXZlU2VydmljZVdvcmtlcigpKQotICAgICAgICBvcHRpb25z
LnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtl
ci0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpOwotI2VuZGlmCisKICAgICBXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KHdvcmtlckdsb2JhbFNjb3BlLCBX
VEZNb3ZlKCpyZXF1ZXN0KSwgKnRoaXMsIG9wdGlvbnMpOwogCiAgICAgLy8gSWYgdGhlIGZldGNo
aW5nIGF0dGVtcHQgZmFpbGVkLCB0aHJvdyBhIE5ldHdvcmtFcnJvciBleGNlcHRpb24gYW5kIGFi
b3J0IGFsbCB0aGVzZSBzdGVwcy4KQEAgLTExNSw3ICsxMjEsNyBAQCBzdGQ6Om9wdGlvbmFsPEV4
Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVj
dXRpb25DbwogICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiB9CiAKLXZvaWQgV29ya2VyU2NyaXB0
TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgUmVzb3VyY2VSZXF1ZXN0JiYgc2NyaXB0UmVxdWVzdCwgU291cmNl
IHNvdXJjZSwgRmV0Y2hPcHRpb25zJiYgZmV0Y2hPcHRpb25zLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU2VydmljZVdv
cmtlcnNNb2RlIHNlcnZpY2VXb3JrZXJNb2RlLCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQmIGNs
aWVudCwgU3RyaW5nJiYgdGFza01vZGUpCit2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFz
eW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsIFJlc291cmNlUmVxdWVzdCYmIHNjcmlwdFJlcXVlc3QsIFNvdXJjZSBzb3VyY2UsIEZldGNo
T3B0aW9ucyYmIGZldGNoT3B0aW9ucywgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQg
Y29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSBzZXJ2
aWNlV29ya2VyTW9kZSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50JiBjbGllbnQsIFN0cmluZyYm
IHRhc2tNb2RlLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlm
aWVyKQogewogICAgIG1fY2xpZW50ID0gJmNsaWVudDsKICAgICBtX3VybCA9IHNjcmlwdFJlcXVl
c3QudXJsKCk7CkBAIC0xNDIsNyArMTQ4LDE3IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjps
b2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAg
ICAgLy8gQSBzZXJ2aWNlIHdvcmtlciBqb2IgY2FuIGJlIGV4ZWN1dGVkIGZyb20gYSB3b3JrZXIg
Y29udGV4dCBvciBhIGRvY3VtZW50IGNvbnRleHQuCiAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2Vy
c01vZGUgPSBzZXJ2aWNlV29ya2VyTW9kZTsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0g
ICAgaWYgKGF1dG8qIGFjdGl2ZVNlcnZpY2VXb3JrZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0
LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKKyAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIHNo
YXJlZCB3b3JrZXIuCisgICAgaWYgKG1fZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0
aW5hdGlvbjo6V29ya2VyICYmIGlzPERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KSkg
eworICAgICAgICBBU1NFUlQoY2xpZW50SWRlbnRpZmllcik7CisgICAgICAgIC8vIEluIGNhc2Ug
b2YgYmxvYiBVUkxzLCB3ZSByZXVzZSB0aGUgZG9jdW1lbnQgY29udHJvbGxpbmcgc2VydmljZSB3
b3JrZXIuCisgICAgICAgIGlmIChyZXF1ZXN0LT51cmwoKS5wcm90b2NvbElzQmxvYigpICYmIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZlU2VydmljZVdvcmtlcigpKQorICAgICAgICAgICAg
c2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJEYXRhIHsgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCktPmRhdGEoKSB9KTsKKyAgICAgICAg
ZWxzZSB7CisgICAgICAgICAgICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBtX2NsaWVudElk
ZW50aWZpZXIgPSBjbGllbnRJZGVudGlmaWVyOworICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlwdExvYWRlck1hcCgpLmFkZChtX2NsaWVudElk
ZW50aWZpZXIsIHRoaXMpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChhdXRvKiBhY3RpdmVT
ZXJ2aWNlV29ya2VyID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2Vy
KCkpCiAgICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIg
PSBhY3RpdmVTZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7CiAjZW5kaWYK
IApAQCAtMzA1LDQgKzMyMSwyMCBAQCBXb3JrZXJGZXRjaFJlc3VsdCBXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmZldGNoUmVzdWx0KCkgY29uc3QKICAgICByZXR1cm4geyBzY3JpcHQoKSwgbGFzdFJlcXVl
c3RVUkwoKSwgY2VydGlmaWNhdGVJbmZvKCksIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLCBjcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5KCksIHJlZmVycmVyUG9saWN5KCksIHsgfSB9OwogfQogCitX
b3JrZXJTY3JpcHRMb2FkZXIqIFdvcmtlclNjcmlwdExvYWRlcjo6ZnJvbVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50
aWZpZXIpCit7CisgICAgcmV0dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9X
b3JrZXJTY3JpcHRMb2FkZXJNYXAoKS5nZXQoaWRlbnRpZmllcik7Cit9CisKKyNpZiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCitib29sIFdvcmtlclNjcmlwdExvYWRlcjo6c2V0Q29udHJvbGxpbmdT
ZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJEYXRhJiYgYWN0aXZlU2VydmljZVdvcmtlckRhdGEp
Cit7CisgICAgaWYgKCFtX2NsaWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgbV9h
Y3RpdmVTZXJ2aWNlV29ya2VyRGF0YSA9IFdURk1vdmUoYWN0aXZlU2VydmljZVdvcmtlckRhdGEp
OworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IDU5YWNh
OTYyOTIwNDVjNzI1MGRlMjYzNmU5YTkyOTExYzY2NTcwMTUuLmI2OGIwMjRkNjEzYWUxZGYyZTVh
NDk1MWY1MDk4OWFkNjk2MGVlNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuaApAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVz
dC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTY3JpcHRCdWZm
ZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgorI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiVGhyZWFk
YWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKICNpbmNs
dWRlIDxtZW1vcnk+CkBAIC00OSw2ICs1MSw3IEBAIGNsYXNzIEV4Y2VwdGlvbjsKIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3Mg
V29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50Oworc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhOwogc3RydWN0IFdvcmtlckZldGNoUmVzdWx0OwogZW51bSBjbGFzcyBDZXJ0aWZpY2F0
ZUluZm9Qb2xpY3kgOiB1aW50OF90OwogCkBAIC02Myw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICBl
bnVtIGNsYXNzIFNvdXJjZSA6IHVpbnQ4X3QgeyBDbGFzc2ljV29ya2VyU2NyaXB0LCBDbGFzc2lj
V29ya2VySW1wb3J0LCBNb2R1bGVTY3JpcHQgfTsKIAogICAgIHN0ZDo6b3B0aW9uYWw8RXhjZXB0
aW9uPiBsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgVVJM
JiwgU291cmNlLCBGZXRjaE9wdGlvbnM6Ok1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUsIENvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50
aWZpZXIpOwotICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgU291cmNlLCBGZXRjaE9wdGlvbnMmJiwgQ29udGVudFNl
Y3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZpY2VXb3JrZXJzTW9kZSwgV29ya2VyU2NyaXB0
TG9hZGVyQ2xpZW50JiwgU3RyaW5nJiYgdGFza01vZGUpOworICAgIHZvaWQgbG9hZEFzeW5jaHJv
bm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZXNvdXJjZVJlcXVlc3QmJiwgU291cmNl
LCBGZXRjaE9wdGlvbnMmJiwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFNlcnZp
Y2VXb3JrZXJzTW9kZSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50JiwgU3RyaW5nJiYgdGFza01v
ZGUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIgPSB7
IH0pOwogCiAgICAgdm9pZCBub3RpZnlFcnJvcigpOwogCkBAIC05NCw2ICs5NywxMyBAQCBwdWJs
aWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVzb3VyY2VFcnJvciB2YWxpZGF0ZVdv
cmtlclJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBTb3VyY2UsIEZldGNoT3B0aW9u
czo6RGVzdGluYXRpb24pOwogCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFdvcmtlclNjcmlw
dExvYWRlciogZnJvbVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAg
ICBXRUJDT1JFX0VYUE9SVCBib29sIHNldENvbnRyb2xsaW5nU2VydmljZVdvcmtlcihTZXJ2aWNl
V29ya2VyRGF0YSYmKTsKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiB0YWtl
U2VydmljZVdvcmtlckRhdGEoKSB7IHJldHVybiBzdGQ6OmV4Y2hhbmdlKG1fYWN0aXZlU2Vydmlj
ZVdvcmtlckRhdGEsIHsgfSk7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj47CiAgICAgZnJpZW5kIHN0cnVjdCBzdGQ6
OmRlZmF1bHRfZGVsZXRlPFdvcmtlclNjcmlwdExvYWRlcj47CkBAIC0xMjUsNiArMTM1LDEwIEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2lzQ09FUEVuYWJsZWQgeyBmYWxzZSB9OwogICAgIFJlc291
cmNlUmVzcG9uc2U6OlNvdXJjZSBtX3Jlc3BvbnNlU291cmNlIHsgUmVzb3VyY2VSZXNwb25zZTo6
U291cmNlOjpVbmtub3duIH07CiAgICAgUmVzb3VyY2VFcnJvciBtX2Vycm9yOworICAgIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIG1fY2xpZW50SWRlbnRpZmllcjsKKyNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4g
bV9hY3RpdmVTZXJ2aWNlV29ya2VyRGF0YTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IDVhMGZl
MTg3YzZmMWI1Njk4NmM0ZGQ5MDcxNjUyOGRkZDlkYjJiN2YuLjBmOTQxZDkzMmY5Y2YxY2Q1MDRm
NGMxMjlkOWM4NTE2MzhkNDE0MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHAKQEAgLTY0LDYgKzY0LDEwIEBAIFdvcmtlclBhcmFtZXRlcnMgV29ya2VyUGFyYW1ldGVy
czo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICAgICAgc2V0dGluZ3NWYWx1ZXMuaXNvbGF0ZWRD
b3B5KCksCiAgICAgICAgIHdvcmtlclRocmVhZE1vZGUsCiAgICAgICAgIHNlc3Npb25JRCwKKyNp
ZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIGNyb3NzVGhyZWFkQ29weShzZXJ2aWNl
V29ya2VyRGF0YSksCisjZW5kaWYKKyAgICAgICAgY2xpZW50SWRlbnRpZmllcgogICAgIH07CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IGRjOTc3NGU5MmU3ZjFl
ZTY4ZmY0ZGY1MmZiOTVlZTU0Y2YwNDFjNjcuLjM4MTQ4ZWY4YjM1MGRmOTEzMDViN2NkNzU1OWZi
ZGNiOTM3NmY4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtMjks
NiArMjksOCBAQAogI2luY2x1ZGUgIkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaCIKICNpbmNs
dWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBl
cm1pc3Npb24uaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5o
IgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCiAjaW5jbHVkZSAi
V29ya2VyT3JXb3JrbGV0VGhyZWFkLmgiCiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgogI2lu
Y2x1ZGUgIldvcmtlclR5cGUuaCIKQEAgLTc2LDYgKzc4LDEwIEBAIHB1YmxpYzoKICAgICBTZXR0
aW5nczo6VmFsdWVzIHNldHRpbmdzVmFsdWVzOwogICAgIFdvcmtlclRocmVhZE1vZGUgd29ya2Vy
VGhyZWFkTW9kZSB7IFdvcmtlclRocmVhZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCB9OwogICAgIHN0
ZDo6b3B0aW9uYWw8UEFMOjpTZXNzaW9uSUQ+IHNlc3Npb25JRCB7IHN0ZDo6bnVsbG9wdCB9Owor
I2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3Jr
ZXJEYXRhPiBzZXJ2aWNlV29ya2VyRGF0YTsKKyNlbmRpZgorICAgIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXI7CiAKICAgICBXb3JrZXJQYXJhbWV0ZXJz
IGlzb2xhdGVkQ29weSgpIGNvbnN0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggOThjMTg4NmFkNDI4MzAx
OGZmNTMzZDRhZGYwZjA2NTA1MTJmY2U2Ny4uODhiNGQ4NGM4OWU5OWMxYzRmMjVhMDgyMzFlNDEx
ZGY1OTA3NGQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NX
Q2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTIyNywyMCArMjI3LDMwIEBAIHZvaWQgU1dDbGll
bnRDb25uZWN0aW9uOjpzZXRSZWdpc3RyYXRpb25VcGRhdGVWaWFDYWNoZShTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uCiAgICAgfSk7CiB9CiAKK3N0YXRpYyB2b2lkIHVwZGF0ZUNvbnRyb2xsZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2VydmljZVdvcmtlckRhdGEmJiBuZXdD
b250cm9sbGVyKQoreworICAgIGNvbnRleHQuc2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNl
V29ya2VyOjpnZXRPckNyZWF0ZShjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKSk7Cisg
ICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuc2VydmljZVdvcmtlckNvbnRhaW5lcigp
KQorICAgICAgICBjb250YWluZXItPnF1ZXVlVGFza1RvRGlzcGF0Y2hDb250cm9sbGVyQ2hhbmdl
RXZlbnQoKTsKK30KKwogdm9pZCBTV0NsaWVudENvbm5lY3Rpb246Om5vdGlmeUNsaWVudHNPZkNv
bnRyb2xsZXJDaGFuZ2UoY29uc3QgSGFzaFNldDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
Zmllcj4mIGNvbnRleHRJZGVudGlmaWVycywgU2VydmljZVdvcmtlckRhdGEmJiBuZXdDb250cm9s
bGVyKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKCFjb250ZXh0
SWRlbnRpZmllcnMuaXNFbXB0eSgpKTsKIAogICAgIGZvciAoYXV0byYgY2xpZW50SWRlbnRpZmll
ciA6IGNvbnRleHRJZGVudGlmaWVycykgewotICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCB3b3Jr
ZXIgY29udGV4dHMuCi0gICAgICAgIGF1dG8qIGNsaWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVu
dHNNYXAoKS5nZXQoY2xpZW50SWRlbnRpZmllcik7Ci0gICAgICAgIGlmICghY2xpZW50KQorICAg
ICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBEb2N1bWVudDo6YWxsRG9jdW1lbnRzTWFwKCkuZ2V0
KGNsaWVudElkZW50aWZpZXIpKSB7CisgICAgICAgICAgICB1cGRhdGVDb250cm9sbGVyKCpkb2N1
bWVudCwgU2VydmljZVdvcmtlckRhdGEgeyBuZXdDb250cm9sbGVyIH0pOwogICAgICAgICAgICAg
Y29udGludWU7Ci0KLSAgICAgICAgY2xpZW50LT5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZp
Y2VXb3JrZXI6OmdldE9yQ3JlYXRlKCpjbGllbnQsIFdURk1vdmUobmV3Q29udHJvbGxlcikpKTsK
LSAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNsaWVudC0+c2VydmljZVdvcmtlckNvbnRh
aW5lcigpKQotICAgICAgICAgICAgY29udGFpbmVyLT5xdWV1ZVRhc2tUb0Rpc3BhdGNoQ29udHJv
bGxlckNoYW5nZUV2ZW50KCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGF1dG8qIHdvcmtlciA9
IFdvcmtlcjo6d29ya2VyQnlJZGVudGlmaWVyKGNsaWVudElkZW50aWZpZXIpKSB7CisgICAgICAg
ICAgICB3b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShbbmV3Q29udHJvbGxlciA9
IG5ld0NvbnRyb2xsZXIuaXNvbGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsK
KyAgICAgICAgICAgICAgICB1cGRhdGVDb250cm9sbGVyKGNvbnRleHQsIFdURk1vdmUobmV3Q29u
dHJvbGxlcikpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgfQorICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBzaGFyZWQgd29ya2Vycy4KICAgICB9CiB9
CiAKQEAgLTI2MSwxMCArMjcxLDExIEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpjbGVhclBl
bmRpbmdKb2JzKCkKIAogdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdv
cmtlckNsaWVudHMoKQogewotICAgIGZvciAoYXV0byogZG9jdW1lbnQgOiBEb2N1bWVudDo6YWxs
RG9jdW1lbnRzKCkpIHsKLSAgICAgICAgYXV0byBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JZGVudGlmaWVyID0gZG9jdW1lbnQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0
ZDo6bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oZG9j
dW1lbnQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKS0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpKSA6
IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGRvY3Vt
ZW50LT50b3BPcmlnaW4oKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKmRvY3VtZW50
KSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgZG9jdW1l
bnQtPnVzZXJBZ2VudChkb2N1bWVudC0+dXJsKCkpKTsKLSAgICB9CisgICAgZm9yIChhdXRvKiBk
b2N1bWVudCA6IERvY3VtZW50OjphbGxEb2N1bWVudHMoKSkKKyAgICAgICAgZG9jdW1lbnQtPnVw
ZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCk7CisKKyAgICBTaGFyZWRXb3JrZXJDb250ZXh0
TWFuYWdlcjo6c2luZ2xldG9uKCkuZm9yRWFjaFNoYXJlZFdvcmtlcihbXSB7IHJldHVybiBbXSAo
YXV0byYgY29udGV4dCkgeyBjb250ZXh0LnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCk7
IH07IH0pOworICAgIFdvcmtlcjo6Zm9yRWFjaFdvcmtlcihbXSB7IHJldHVybiBbXSAoYXV0byYg
Y29udGV4dCkgeyBjb250ZXh0LnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCk7IH07IH0p
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaAppbmRleCA5ZjAxMDNmNTA3MGEwMGNhODE5YzRlNzZh
N2NkYmFiOTFhNGQ2MTY1Li5jZTcxNzQxYTIyNWY0ZDVmOTM2Nzk2YWIzNzQxODhkZGU0YWMyOWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgK
QEAgLTcwLDYgKzcwLDggQEAgcHVibGljOgogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKICAg
ICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKIAorICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJEYXRh
JiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9CisKIHByaXZhdGU6CiAgICAgU2Vydmlj
ZVdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgU2VydmljZVdvcmtlckRhdGEmJik7CiAg
ICAgdm9pZCB1cGRhdGVQZW5kaW5nQWN0aXZpdHlGb3JFdmVudERpc3BhdGNoKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERh
dGEuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGll
bnREYXRhLmNwcAppbmRleCAxZjFjYzBmM2Q0OWYxYTAyZjZjZTg4MDU3MGQ3OTM2NTI1YzJiMjBi
Li5hZDhkNzBlNDk0NDU1ZTAxNTUzOGE1MDNiZDAwY2ZhY2U1MDAxYmExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YS5jcHAKQEAgLTY5LDMwICs2OSw0NCBAQCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YTo6aXNvbGF0ZWRDb3B5KCkgJiYKIAogU2VydmljZVdvcmtlckNs
aWVudERhdGEgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCkKIHsKLSAgICBib29sIGlzRG9jdW1lbnQgPSBpczxEb2N1bWVudD4oY29u
dGV4dCk7Ci0gICAgUkVMRUFTRV9BU1NFUlQoaXNEb2N1bWVudCk7IC8vIFdlIGRvIG5vdCBzdXBw
b3J0IGRlZGljYXRlZCB3b3JrZXJzIGFzIGNsaWVudHMgeWV0LgorICAgIGlmIChhdXRvKiBkb2N1
bWVudCA9IGR5bmFtaWNEb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgYXV0
byBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCA9IGRvY3VtZW50LT5sb2FkZXIoKSAmJiBk
b2N1bWVudC0+bG9hZGVyKCktPmxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKCkgPyBMYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6WWVzIDogTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0
aWF0ZWQ6Ok5vOwogCi0gICAgYXV0byYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4oY29u
dGV4dCk7Ci0gICAgYXV0byBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCA9IGRvY3VtZW50
LmxvYWRlcigpICYmIGRvY3VtZW50LmxvYWRlcigpLT5sYXN0TmF2aWdhdGlvbldhc0FwcEluaXRp
YXRlZCgpID8gTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IExhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkOjpObzsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gYW5jZXN0b3JP
cmlnaW5zOworICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC0+ZnJhbWUoKSkgewor
ICAgICAgICAgICAgZm9yIChhdXRvKiBhbmNlc3RvciA9IGZyYW1lLT50cmVlKCkucGFyZW50KCk7
IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFuY2VzdG9yLT50cmVlKCkucGFyZW50KCkpCisgICAgICAg
ICAgICAgICAgYW5jZXN0b3JPcmlnaW5zLmFwcGVuZChhbmNlc3Rvci0+ZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS50b1N0cmluZygpKTsKKyAgICAgICAgfQogCi0gICAgVmVjdG9yPFN0cmlu
Zz4gYW5jZXN0b3JPcmlnaW5zOwotICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1l
KCkpIHsKLSAgICAgICAgZm9yIChhdXRvKiBhbmNlc3RvciA9IGZyYW1lLT50cmVlKCkucGFyZW50
KCk7IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFuY2VzdG9yLT50cmVlKCkucGFyZW50KCkpCi0gICAg
ICAgICAgICBhbmNlc3Rvck9yaWdpbnMuYXBwZW5kKGFuY2VzdG9yLT5kb2N1bWVudCgpLT5zZWN1
cml0eU9yaWdpbigpLnRvU3RyaW5nKCkpOworICAgICAgICByZXR1cm4geworICAgICAgICAgICAg
Y29udGV4dC5pZGVudGlmaWVyKCksCisgICAgICAgICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50VHlw
ZTo6V2luZG93LAorICAgICAgICAgICAgdG9TZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlKGNv
bnRleHQpLAorICAgICAgICAgICAgZG9jdW1lbnQtPmNyZWF0aW9uVVJMKCksCisgICAgICAgICAg
ICBkb2N1bWVudC0+cGFnZUlEKCksCisgICAgICAgICAgICBkb2N1bWVudC0+ZnJhbWVJRCgpLAor
ICAgICAgICAgICAgbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQsCisgICAgICAgICAgICAh
ZG9jdW1lbnQtPmhpZGRlbigpLAorICAgICAgICAgICAgZG9jdW1lbnQtPmhhc0ZvY3VzKCksCisg
ICAgICAgICAgICAwLAorICAgICAgICAgICAgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpCisgICAg
ICAgIH07CiAgICAgfQogCisgICAgUkVMRUFTRV9BU1NFUlQoaXM8V29ya2VyR2xvYmFsU2NvcGU+
KGNvbnRleHQpKTsKKyAgICBhdXRvJiBzY29wZSA9IGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3Bl
Pihjb250ZXh0KTsKICAgICByZXR1cm4gewotICAgICAgICBjb250ZXh0LmlkZW50aWZpZXIoKSwK
LSAgICAgICAgaXNEb2N1bWVudCA/IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3cgOiBT
ZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyLAotICAgICAgICB0b1NlcnZpY2VXb3JrZXJD
bGllbnRGcmFtZVR5cGUoY29udGV4dCksCi0gICAgICAgIGRvY3VtZW50LmNyZWF0aW9uVVJMKCks
Ci0gICAgICAgIGRvY3VtZW50LnBhZ2VJRCgpLAotICAgICAgICBkb2N1bWVudC5mcmFtZUlEKCks
Ci0gICAgICAgIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLAotICAgICAgICAhZG9jdW1l
bnQuaGlkZGVuKCksCi0gICAgICAgIGRvY3VtZW50Lmhhc0ZvY3VzKCksCisgICAgICAgIHNjb3Bl
LmlkZW50aWZpZXIoKSwKKyAgICAgICAgc2NvcGUudHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckds
b2JhbFNjb3BlOjpUeXBlOjpTaGFyZWRXb3JrZXIgPyBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6
U2hhcmVkd29ya2VyIDogU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlciwKKyAgICAgICAg
U2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6Tm9uZSwKKyAgICAgICAgc2NvcGUudXJsKCks
CisgICAgICAgIHsgfSwKKyAgICAgICAgeyB9LAorICAgICAgICBMYXN0TmF2aWdhdGlvbldhc0Fw
cEluaXRpYXRlZDo6Tm8sCisgICAgICAgIGZhbHNlLAorICAgICAgICBmYWxzZSwKICAgICAgICAg
MCwKLSAgICAgICAgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpCisgICAgICAgIHsgfQogICAgIH07
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ2xpZW50VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDbGllbnRUeXBlLmgKaW5kZXggODY0NGI4NzJhNjQwMzg5MGNkZTQ1NzNmNGIzNzJi
NzVjMzk4YmJlMC4uNTU5YmIwMzVlOTBjMjI4NDZmMjM5YjZkZjBlNWVmZjRkNGIwNzEwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGll
bnRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJDbGllbnRUeXBlLmgKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1lbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlIHsKK2VudW0gY2xhc3MgU2Vydmlj
ZVdvcmtlckNsaWVudFR5cGUgOiB1aW50OF90IHsKICAgICBXaW5kb3csCiAgICAgV29ya2VyLAog
ICAgIFNoYXJlZHdvcmtlciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBhYjRmNWEyY2YzNTMwMGQy
OTNiNzdlMzk0ZjM4NGY4Yzc4ZWRhYmE2Li5kYjhkNDAwYTM3NTQ0ZGM4YmUyMWRjMTA2YjIzMTYw
YjQ4MWY4YTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNs
dWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJET01Qcm9taXNlUHJveHku
aCIKKyNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudExvb3AuaCIKQEAg
LTEzMiw3ICsxMzMsNyBAQCBhdXRvIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlYWR5KCkgLT4g
UmVhZHlQcm9taXNlJgogU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlckNvbnRhaW5lcjo6Y29u
dHJvbGxlcigpIGNvbnN0CiB7CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKTsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50
PigqY29udGV4dCkgfHwgIWNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9j
dW1lbnRzIGNhbiBoYXZlIGEgY29udHJvbGxlciBhdCB0aGUgbW9tZW50LiIpOworICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoIWNvbnRleHQgfHwgaXM8RG9jdW1lbnQ+KCpjb250ZXh0KSB8fCBpczxE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpIHx8ICFjb250ZXh0LT5hY3RpdmVT
ZXJ2aWNlV29ya2VyKCksICJPbmx5IGRvY3VtZW50cyBhbmQgZGVkaWNhdGVkIHdvcmtlcnMgY2Fu
IGhhdmUgYSBjb250cm9sbGVyIGF0IHRoZSBtb21lbnQuIik7CiAgICAgcmV0dXJuIGNvbnRleHQg
PyBjb250ZXh0LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgOiBudWxscHRyOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZp
Y2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDlmODJlZWQ2MzEyODllNTBjYzdiZGUxOWJiZmFkNDM5
NTgzZmY1NzYuLmExNmRmYzRhMjJkYjAyMzU2MjBhN2I5ZjdlOWM3OGQxOTdiYjkwNzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBAIC05NSw3ICs5NSw5IEBAIHN0YXRpYyBXb3JrZXJQ
YXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBTZXJ2aWNlV29ya2VyQ29u
dGV4dERhdGEmCiAgICAgICAgIEZldGNoUmVxdWVzdENyZWRlbnRpYWxzOjpPbWl0LAogICAgICAg
ICBzZXR0aW5nc1ZhbHVlcywKICAgICAgICAgd29ya2VyVGhyZWFkTW9kZSwKLSAgICAgICAgc2Vz
c2lvbklECisgICAgICAgIHNlc3Npb25JRCwKKyAgICAgICAgeyB9LAorICAgICAgICB7IH0KICAg
ICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFy
ZWRXb3JrZXJTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1No
YXJlZFdvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IGYyNWM3OWQyODE1MGM5ZjVlZjllYTI4ZGYw
MzU1ODI3NjRkNDU3MWQuLjcxY2I0YjY1YmM5OTVjNTVjYmVmYjAxYTM5ZWMyZDE2MTNmMjgxYTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNj
cmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdv
cmtlclNjcmlwdExvYWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOwogY2xhc3MgU2hhcmVk
V29ya2VyOwogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyOwogc3RydWN0IFdvcmtlckZldGNoUmVz
dWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9T
aGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJl
ZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcAppbmRleCAzNTQ3ZDY3N2U4ZWFh
ZjZjY2U1NzlmYzIwY2NjZTlhOGY4YTU1NWUwLi4zMzcxODQzNGIwOTVlMTg2NDBiODM3MGRhNWVi
MzYxNzljYjc0MmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9j
b250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcApAQCAtNTcs
NyArNTcsNyBAQCBzdGF0aWMgSGFzaFNldDxTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+JiBhbGxT
aGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkKIAogc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2Vu
ZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXJGZXRj
aFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7Ci0gICAgcmV0dXJuIFdvcmtlclBhcmFtZXRl
cnMgeworICAgIHJldHVybiB7CiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0Lmxhc3RSZXF1ZXN0
VVJMLAogICAgICAgICB3b3JrZXJPcHRpb25zLm5hbWUsCiAgICAgICAgICJzaGFyZWR3b3JrZXI6
IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksCkBA
IC03MCw3ICs3MCwxMyBAQCBzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBh
cmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlcgogICAgICAgICBwYXJzZVJl
ZmVycmVyUG9saWN5KHdvcmtlckZldGNoUmVzdWx0LnJlZmVycmVyUG9saWN5LCBSZWZlcnJlclBv
bGljeVNvdXJjZTo6SFRUUEhlYWRlcikudmFsdWVfb3IoUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3Ry
aW5nKSwKICAgICAgICAgd29ya2VyT3B0aW9ucy50eXBlLAogICAgICAgICB3b3JrZXJPcHRpb25z
LmNyZWRlbnRpYWxzLAotICAgICAgICBkb2N1bWVudC5zZXR0aW5nc1ZhbHVlcygpCisgICAgICAg
IGRvY3VtZW50LnNldHRpbmdzVmFsdWVzKCksCisgICAgICAgIFdvcmtlclRocmVhZE1vZGU6OkNy
ZWF0ZU5ld1RocmVhZCwKKyAgICAgICAgeyB9LAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
KyAgICAgICAgeyB9LAorI2VuZGlmCisgICAgICAgIHsgfQogICAgIH07CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cAppbmRleCA5ZGQyOTA3ZGM4YTM2ZThlNDQxYjhkOWM2ZWQwOWNlZjg2YTkwZDk3Li5lZDczZjBh
NzEyMjZmNWJlZjM4MmMwZmNiNmQxYzlmZGZmZDg2NDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMjIw
LDcgKzEyMjAsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2Vu
ZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdAogICAgIExPQURFUl9SRUxFQVNF
X0xPRygiY29udGludWVXaWxsU2VuZFJlcXVlc3Q6IChpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVk
ZW50aWFscz0lZCkiLCBpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscyk7CiAKICNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKHBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUg
PT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkgeworICAgIGlmIChwYXJhbWV0ZXJzKCku
b3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgKHBhcmFtZXRl
cnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246Oldv
cmtlciAmJiBtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7CiAgICAgICAgIG1fc2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbiA9IHsgfTsKICAgICAgICAgaWYgKGF1dG8gc2VydmljZVdvcmtlckZl
dGNoVGFzayA9IG1fY29ubmVjdGlvbi0+Y3JlYXRlRmV0Y2hUYXNrKCp0aGlzLCBuZXdSZXF1ZXN0
KSkgewogICAgICAgICAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51ZVdpbGxTZW5kUmVx
dWVzdDogQ3JlYXRlZCBhIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgdG8gaGFuZGxlIHRoZSByZWRp
cmVjdCAoZmV0Y2hJZGVudGlmaWVyPSUiIFBSSXU2NCAiKSIsIHNlcnZpY2VXb3JrZXJGZXRjaFRh
c2stPmZldGNoSWRlbnRpZmllcigpLnRvVUludDY0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2su
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VX
b3JrZXJGZXRjaFRhc2suY3BwCmluZGV4IDBiMzQ4OWRkZWNhY2Q1ZWJkYjU5MDZmYjNmN2VmMzky
NTZmNGM5OTEuLmEwMTJjZWQ5YzNiNjczMDY3NGUxYzMyYjJjZDA2Yzk5MmRkYTYyYWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAKQEAgLTE1Myw3ICsxNTMsNyBA
QCB2b2lkIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OnN0YXJ0RmV0Y2goKQogICAgIGNsZWFuSFRU
UFJlcXVlc3RIZWFkZXJzRm9yQWNjZXNzQ29udHJvbChyZXF1ZXN0LCBtX2xvYWRlci5wYXJhbWV0
ZXJzKCkuaHR0cEhlYWRlcnNUb0tlZXApOwogCiAgICAgU3RyaW5nIGNsaWVudElkZW50aWZpZXI7
Ci0gICAgaWYgKG1fbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgIT0gRmV0Y2hPcHRp
b25zOjpNb2RlOjpOYXZpZ2F0ZSkgeworICAgIGlmIChtX2xvYWRlci5wYXJhbWV0ZXJzKCkub3B0
aW9ucy5tb2RlICE9IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgJiYgbV9sb2FkZXIucGFy
YW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gIT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6V29ya2VyKSB7CiAgICAgICAgIGlmIChhdXRvIGlkZW50aWZpZXIgPSBtX2xvYWRlci5wYXJh
bWV0ZXJzKCkub3B0aW9ucy5jbGllbnRJZGVudGlmaWVyKQogICAgICAgICAgICAgY2xpZW50SWRl
bnRpZmllciA9IGlkZW50aWZpZXItPnRvU3RyaW5nKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBkYjlkMWIyNzQ0ODY5YzcwYzc2YTkzN2RkNDU4
MGI4MzE4OWQ2NmE5Li5iM2RkNGE1MjgyMDkyNGQ5MDEyNDkxMzcxN2ZiYjIwMjVhZjU1MzljIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTY2LDE4ICsxNjYs
MjQgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVdvcmtlclN0YXRlSW5DbGll
bnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIgd28KIAogdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rp
b246OmNvbnRyb2xDbGllbnQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHBh
cmFtZXRlcnMsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24sIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZSBjbGll
bnRUeXBlOworICAgIGlmIChwYXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24gID09IEZldGNo
T3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikKKyAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZp
Y2VXb3JrZXJDbGllbnRUeXBlOjpXb3JrZXI7CisgICAgZWxzZQorICAgICAgICBjbGllbnRUeXBl
ID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdzsKKwogICAgIGF1dG8gY2xpZW50SWRl
bnRpZmllciA9ICpwYXJhbWV0ZXJzLm9wdGlvbnMuY2xpZW50SWRlbnRpZmllcjsKICAgICAvLyBB
cyBwZXIgc3RlcCAxMiBvZiBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jb24t
ZmV0Y2gtcmVxdWVzdC1hbGdvcml0aG0sIHRoZSBhY3RpdmUgc2VydmljZSB3b3JrZXIgc2hvdWxk
IGJlIGNvbnRyb2xsaW5nIHRoZSBkb2N1bWVudC4KICAgICAvLyBXZSByZWdpc3RlciB0aGUgc2Vy
dmljZSB3b3JrZXIgY2xpZW50IHVzaW5nIHRoZSBpZGVudGlmaWVyIHByb3ZpZGVkIGJ5IERvY3Vt
ZW50TG9hZGVyIGFuZCBub3RpZnkgRG9jdW1lbnRMb2FkZXIgYWJvdXQgaXQuCiAgICAgLy8gSWYg
bm90aWZpY2F0aW9uIGlzIHN1Y2Nlc3NmdWwsIERvY3VtZW50TG9hZGVyIGlzIHJlc3BvbnNpYmxl
IHRvIHVucmVnaXN0ZXIgdGhlIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBhcyBuZWVkZWQuCi0gICAg
c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OlNldERv
Y3VtZW50SXNDb250cm9sbGVkIHsgY2xpZW50SWRlbnRpZmllciwgcmVnaXN0cmF0aW9uLmRhdGEo
KSB9LCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgdGhpcywgY2xpZW50SWRlbnRpZmll
cl0oYm9vbCBpc1N1Y2Nlc3MpIHsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Oldl
YlNXQ2xpZW50Q29ubmVjdGlvbjo6U2V0U2VydmljZVdvcmtlckNsaWVudElzQ29udHJvbGxlZCB7
IGNsaWVudElkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCkgfSwgW3dlYWtUaGlzID0gV2Vh
a1B0ciB7ICp0aGlzIH0sIHRoaXMsIGNsaWVudElkZW50aWZpZXJdKGJvb2wgaXNTdWNjZXNzKSB7
CiAgICAgICAgIGlmICghd2Vha1RoaXMgfHwgaXNTdWNjZXNzKQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjbGllbnRJZGVudGlmaWVy
KTsKICAgICB9KTsKIAogICAgIGF1dG8gYW5jZXN0b3JPcmlnaW5zID0gbWFwKHBhcmFtZXRlcnMu
ZnJhbWVBbmNlc3Rvck9yaWdpbnMsIFtdKGF1dG8mIG9yaWdpbikgeyByZXR1cm4gb3JpZ2luLT50
b1N0cmluZygpOyB9KTsKLSAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhIHsgY2xpZW50
SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdywgU2VydmljZVdvcmtl
ckNsaWVudEZyYW1lVHlwZTo6Tm9uZSwgcmVxdWVzdC51cmwoKSwgcGFyYW1ldGVycy53ZWJQYWdl
SUQsIHBhcmFtZXRlcnMud2ViRnJhbWVJRCwgcmVxdWVzdC5pc0FwcEluaXRpYXRlZCgpID8gV2Vi
Q29yZTo6TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdlYkNvcmU6Okxhc3RO
YXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpObywgZmFsc2UsIGZhbHNlLCAwLCBXVEZNb3ZlKGFu
Y2VzdG9yT3JpZ2lucykgfTsKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhIHsgY2xp
ZW50SWRlbnRpZmllciwgY2xpZW50VHlwZSwgU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6
Tm9uZSwgcmVxdWVzdC51cmwoKSwgcGFyYW1ldGVycy53ZWJQYWdlSUQsIHBhcmFtZXRlcnMud2Vi
RnJhbWVJRCwgcmVxdWVzdC5pc0FwcEluaXRpYXRlZCgpID8gV2ViQ29yZTo6TGFzdE5hdmlnYXRp
b25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdlYkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5p
dGlhdGVkOjpObywgZmFsc2UsIGZhbHNlLCAwLCBXVEZNb3ZlKGFuY2VzdG9yT3JpZ2lucykgfTsK
ICAgICByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2VjdXJpdHlPcmlnaW5EYXRhIHsgcmVn
aXN0cmF0aW9uLmtleSgpLnRvcE9yaWdpbigpIH0sIFdURk1vdmUoZGF0YSksIHJlZ2lzdHJhdGlv
bi5pZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0cFVzZXJBZ2VudCgpKTsKIH0KIApAQCAtMTk1LDcg
KzIwMSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrPiBXZWJTV1Nl
cnZlckNvbm5lY3Rpb246OmNyZWF0ZUZldGNoVGFzayhOCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
cj4gc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI7Ci0gICAgaWYgKGxvYWRlci5w
YXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUp
IHsKKyAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRp
b25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGlu
YXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSB7CiAgICAgICAgIGF1
dG8gdG9wT3JpZ2luID0gbG9hZGVyLnBhcmFtZXRlcnMoKS5pc01haW5GcmFtZU5hdmlnYXRpb24g
PyBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwocmVxdWVzdC51cmwoKSkgOiBsb2FkZXIucGFy
YW1ldGVycygpLnRvcE9yaWdpbi0+ZGF0YSgpOwogICAgICAgICBhdXRvKiByZWdpc3RyYXRpb24g
PSBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKHRvcE9yaWdpbiwgcmVxdWVzdC51cmwoKSk7CiAgICAg
ICAgIGlmICghcmVnaXN0cmF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IDBjYmZlOGU2NTk2YzA5M2Ew
M2ZhYjc2ODM1NzI5M2JkODAwMmI0ZTQuLjQ2ZjJkOTk2MTBmOWU0NTlmYTdkZmQwZGUyZjkyZjRj
MjkzODg4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTQ2MCwxMyArNDYwLDYgQEAgdm9pZCBXZWJMb2Fk
ZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5ldHdvcmtQcm9jZXNzKFJlc291cmNlTG9hZGVy
JiByZXNvdXJjZUwKICAgICAgICAgZm9yIChhdXRvKiBmcmFtZSA9IHJlc291cmNlTG9hZGVyLmZy
YW1lKCktPnRyZWUoKS5wYXJlbnQoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS5wYXJl
bnQoKSkKICAgICAgICAgICAgIGZyYW1lQW5jZXN0b3JPcmlnaW5zLmFwcGVuZCgmZnJhbWUtPmRv
Y3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpOwogICAgICAgICBsb2FkUGFyYW1ldGVycy5mcmFt
ZUFuY2VzdG9yT3JpZ2lucyA9IFdURk1vdmUoZnJhbWVBbmNlc3Rvck9yaWdpbnMpOwotCi0jaWYg
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgICAgICBpZiAoYXV0byogZG9jdW1lbnRMb2FkZXIg
PSByZXNvdXJjZUxvYWRlci5kb2N1bWVudExvYWRlcigpKSB7Ci0gICAgICAgICAgICBpZiAoYXV0
byByZXN1bHRpbmdDbGllbnRJZCA9IHN0YXRpY19jYXN0PFdlYkRvY3VtZW50TG9hZGVyJj4oKmRv
Y3VtZW50TG9hZGVyKS5yZXN1bHRpbmdDbGllbnRJZCgpKQotICAgICAgICAgICAgICAgIGxvYWRQ
YXJhbWV0ZXJzLm9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IHJlc3VsdGluZ0NsaWVudElkOwot
ICAgICAgICB9Ci0jZW5kaWYKICAgICB9CiAKICAgICBBU1NFUlQoKGxvYWRQYXJhbWV0ZXJzLndl
YlBhZ2VJRCAmJiBsb2FkUGFyYW1ldGVycy53ZWJGcmFtZUlEKSB8fCBsb2FkUGFyYW1ldGVycy5j
bGllbnRDcmVkZW50aWFsUG9saWN5ID09IENsaWVudENyZWRlbnRpYWxQb2xpY3k6OkNhbm5vdEFz
a0NsaWVudEZvckNyZWRlbnRpYWxzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IGQ5M2IzNGQ2
OGZhOTk1YWE0MWIwN2JjMGVkMzUyYjc2ZTc5N2M1ZjAuLjE3ODBjYWM3YjZhNzc3YmYxM2Y4MjMy
NDU3ZTU0ZDM5MTE1ZWRjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01Myw2ICs1Myw3IEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvV29ya2VyRmV0Y2hSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlclNjcmlw
dExvYWRlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBQQUw7CkBA
IC0xODAsMTEgKzE4MSwxOCBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6d2hlblJlZ2lz
dHJhdGlvblJlYWR5KGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wTwogICAgIH0pOwogfQog
Ci12b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0RG9jdW1lbnRJc0NvbnRyb2xsZWQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyLCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIGRhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0
U2VydmljZVdvcmtlckNsaWVudElzQ29udHJvbGxlZChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIGRhdGEs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0g
ICAgYXV0byogZG9jdW1lbnRMb2FkZXIgPSBEb2N1bWVudExvYWRlcjo6ZnJvbVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyKGRvY3VtZW50SWRlbnRpZmllcik7Ci0gICAgYm9vbCByZXN1
bHQgPSBkb2N1bWVudExvYWRlciA/IGRvY3VtZW50TG9hZGVyLT5zZXRDb250cm9sbGluZ1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24oV1RGTW92ZShkYXRhKSkgOiBmYWxzZTsKLSAgICBjb21wbGV0
aW9uSGFuZGxlcihyZXN1bHQpOworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBEb2N1bWVudExvYWRl
cjo6ZnJvbVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKGlkZW50aWZpZXIpKSB7Cisg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGxvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uKFdURk1vdmUoZGF0YSkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGlmIChhdXRvKiBsb2FkZXIgPSBXb3JrZXJTY3JpcHRMb2FkZXI6OmZyb21TY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllcihpZGVudGlmaWVyKSkgeworICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihkYXRhLmFjdGl2ZVdvcmtlciA/IGxvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2
aWNlV29ya2VyKFdURk1vdmUoKmRhdGEuYWN0aXZlV29ya2VyKSkgOiBmYWxzZSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogfQogCiB2b2lk
IFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyhTZWN1cml0eU9yaWdpbkRh
dGEmJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBHZXRSZWdpc3RyYXRpb25zQ2Fs
bGJhY2smJiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggMzc3MTkxMjk2MjNjZTc1ODg0
ZmNlYmEyM2IxNzA2ZDA2YTMxODRmYS4uNjIyZmMwOGYzMTQ1OGQ2ZTJmODU1YTkyYmYxNzRjMDI2
MTA1OGU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTgyLDcgKzgyLDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGRpZEdldFJlZ2lzdHJhdGlvbnModWludDY0X3QgbWF0Y2hSZXF1ZXN0SWRlbnRpZmll
ciwgVmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiYmKTsKICAg
ICB2b2lkIHdoZW5SZWdpc3RyYXRpb25SZWFkeShjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIFdoZW5SZWdpc3RyYXRpb25S
ZWFkeUNhbGxiYWNrJiYpIGZpbmFsOwogCi0gICAgdm9pZCBzZXREb2N1bWVudElzQ29udHJvbGxl
ZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJik7CisgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250cm9sbGVkKFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsK
KyAgICB2b2lkIHNldFdvcmtlcklzQ29udHJvbGxlZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEm
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAKICAgICB2b2lkIGdldFJlZ2lz
dHJhdGlvbnMoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9wT3JpZ2luLCBjb25zdCBV
UkwmIGNsaWVudFVSTCwgR2V0UmVnaXN0cmF0aW9uc0NhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZv
aWQgd2hlblNlcnZpY2VXb3JrZXJJc1Rlcm1pbmF0ZWRGb3JUZXN0aW5nKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRD
b25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDIxZGI1NjRiN2M4MmI1ZGFl
Nzk1MTQyNzMzNGE3Y2VkODE4MDk0NjEuLjkyNWE3YzViODYyNWIzZGIyZjAwZmE2MTExZmNmMzgz
YjIxNjYzODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTM4LDcg
KzM4LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dDbGllbnRDb25uZWN0aW9uIHsKICAgICBTZXRTV09y
aWdpblRhYmxlU2hhcmVkTWVtb3J5KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgaGFu
ZGxlKQogICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIs
IHN0cnVjdCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyBtZXNzYWdlLCBzdHJ1Y3Qg
V2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGEgc291cmNlLCBTdHJpbmcgc291cmNlT3JpZ2luKQog
Ci0gICAgU2V0RG9jdW1lbnRJc0NvbnRyb2xsZWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXIgdGVtcG9yYXJ5RG9jdW1lbnRJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29y
ZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgZGF0YSkgLT4gKGJvb2wgaXNTdWNjZXNz
KQorICAgIFNldFNlcnZpY2VXb3JrZXJDbGllbnRJc0NvbnRyb2xsZWQoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgd29ya2VySWRlbnRpZmllciwgc3RydWN0IFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIGRhdGEpIC0+IChib29sIGlzU3VjY2Vz
cykKIAogICAgIEZvY3VzU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKSAtPiAoc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4gcmVzdWx0KQogfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGEwOTAy
MzZhNzRlYmFlNzg0ZjJkYjhjYzU3ZDk2YzUzMzljNDc2YzkuLmQxYWEzZjg4ZWJiMGIzMDE3NmY1
ZjM4MTJhODIwMDJmZjA5MmNkMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNC0xMyAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwb3NlIHdvcmtl
cnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBt
YXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlz
IER1bWV6LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBodHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJv
bGxlZC1kZWRpY2F0ZWR3b3JrZXIuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXdvcmtlci5qczogQWRkZWQu
CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEEgc2hhcmVkIHdvcmtlciBpbiBhIGNhY2hlZCBwYWdlIHNob3VsZCBub3QgYWxsb3cgdGhl
IHJlbW90ZSBzaGFyZWQgd29ya2VyIHRvIGNvbnRpbnVlIGV4ZWN1dGluZwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggZGM2NGU0ZGJmN2I4ZjQzMzE5ZDJjNjVhM2E5N2VlNDlhZDYz
ZjllMi4uOTI3NmY0N2U5MWFkNjM1YjUyMjUxODk2Mzc3Nzc1Y2RkM2QyMDA4YiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDQtMTMgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSB3b3JrZXJzIGFz
IHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3RyYXRpb24gbWF0Y2hp
bmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzkwNjYKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1l
ei4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci5odHRwcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRl
cmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2Vw
dGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjItMDQtMTMgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWJpcXVhZGZpbHRlcm5vZGUtaW50ZXJmYWNlL25v
LWRlemlwcGVyaW5nLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQwY2VmYmIxYWQ4YWMyODk2
MTA5ZDBiM2ZjODE2MWI2ZWE5NmZlMWQuLmNkMjY0YWFkZTI2ZWVmMjVlZGI4NjQ2NWYyMTY2ZTMx
ZmFkNDhlMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzY5LDcgKzM2OSw2IEBAIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Zl
dGNoLWNhbnZhcy10YWluCiB3ZWJraXQub3JnL2IvMjAxNjY2IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10
YWludGluZy12aWRlby13aXRoLXJhbmdlLXJlcXVlc3QuaHR0cHMuaHRtbCBbIFNraXAgXQogCiAj
IE5ld2x5IGltcG9ydGVkIHNlcnZpY2Ugd29ya2VyIHRlc3RzIHRoYXQgYXJlIGZsYWt5LgotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvd29ya2VyLWNsaWVudC1pZC5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Vw
ZGF0ZS1ub3QtYWxsb3dlZC5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3BlcmZv
cm1hbmNlLXRpbWVsaW5lLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1kZWRpY2F0
ZWR3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNhdGVkd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mNWViNGFlM2E0ZTg3OGUxY2NiZjI1M2U0NGM0ZDY4YTJmNzgxNTFlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRy
b2xsZWQtZGVkaWNhdGVkd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
KworUEFTUyBSZWdpc3RlciBzZXJ2aWNlIHdvcmtlcgorUEFTUyBWZXJpZnkgZGVkaWNhdGVkIHdv
cmtlciBpcyBjb250cm9sbGVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3Nl
cnZpY2Utd29ya2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtZGVkaWNhdGVkd29y
a2VyLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzZlMDZmODE3NTM5OGNiZGViZDg2ZDUxYjZlN2M2
NTdjZWM0MzI2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9jb250cm9sbGVkLWRlZGljYXRlZHdvcmtlci5odHRwcy5odG1sCkBAIC0wLDAg
KzEsMzEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBj
b25zdCByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rl
cigic2tpcEZldGNoRXZlbnQtd29ya2VyLmpzIiwgeyBzY29wZSA6ICdyZXNvdXJjZXMnIH0pOwor
ICAgIGFjdGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5hY3RpdmU7CisgICAgaWYgKGFjdGl2ZVdv
cmtlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgYWN0aXZlV29ya2VyID0gcmVnaXN0cmF0aW9u
Lmluc3RhbGxpbmc7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAg
IGFjdGl2ZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdzdGF0ZWNoYW5nZScsICgpID0+IHsKKyAg
ICAgICAgICAgIGlmIChhY3RpdmVXb3JrZXIuc3RhdGUgPT09ICJhY3RpdmF0ZWQiKQorICAgICAg
ICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAiUmVnaXN0ZXIg
c2VydmljZSB3b3JrZXIiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAg
d29ya2VyID0gbmV3IFdvcmtlcigncmVzb3VyY2VzL2NvbnRyb2xsZWQtd29ya2VyLmpzJyk7Cisg
ICAgY29uc3QgZXZlbnQgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHdvcmtlci5vbm1l
c3NhZ2UgPSByZXNvbHZlKTsKKyAgICBhc3NlcnRfdHJ1ZShldmVudC5kYXRhLmlzQ29udHJvbGxl
ZCk7Cit9LCAiVmVyaWZ5IGRlZGljYXRlZCB3b3JrZXIgaXMgY29udHJvbGxlZCIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9z
ZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL2NvbnRyb2xsZWQtd29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXdvcmtlci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iMzEyYWMzM2NlMTM4YjQxOWQwZjEzY2NmMTlkYzU2ODhhMDE1ZWQyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jl
c291cmNlcy9jb250cm9sbGVkLXdvcmtlci5qcwpAQCAtMCwwICsxIEBACitzZWxmLnBvc3RNZXNz
YWdlKHsgaXNDb250cm9sbGVkIDogISFuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVy
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29u
dHJvbGxlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9sb2NhbC11cmwt
aW5oZXJpdC1jb250cm9sbGVyLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyZDU4NGUxMGRkMGVj
YWYwMDkxYmI4ZTBhOTVjZjdjNjZmMmE2ZjJmLi5iMzM5Zjk4ODQzZDVjZTQxOWNhOWZjZGE3OThh
YmQ1YzhkY2FiZTE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9sb2NhbC11cmwtaW5o
ZXJpdC1jb250cm9sbGVyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw5
ICsxLDkgQEAKIAogUEFTUyBTYW1lLW9yaWdpbiBibG9iIFVSTCBpZnJhbWUgc2hvdWxkIGluaGVy
aXQgc2VydmljZSB3b3JrZXIgY29udHJvbGxlci4KIFBBU1MgU2FtZS1vcmlnaW4gYmxvYiBVUkwg
aWZyYW1lIHNob3VsZCBpbnRlcmNlcHQgZmV0Y2goKS4KLUZBSUwgU2FtZS1vcmlnaW4gYmxvYiBV
Ukwgd29ya2VyIHNob3VsZCBpbmhlcml0IHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZXIuIGFzc2Vy
dF9lcXVhbHM6IGJsb2IgVVJMIHdvcmtlciBzaG91bGQgaW5oZXJpdCBjb250cm9sbGVyIGV4cGVj
dGVkIChzdHJpbmcpICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci13b3JrZXIu
anMiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorUEFTUyBTYW1lLW9yaWdpbiBibG9iIFVSTCB3b3Jr
ZXIgc2hvdWxkIGluaGVyaXQgc2VydmljZSB3b3JrZXIgY29udHJvbGxlci4KIFBBU1MgU2FtZS1v
cmlnaW4gYmxvYiBVUkwgd29ya2VyIHNob3VsZCBpbnRlcmNlcHQgZmV0Y2goKS4KIFBBU1MgRGF0
YSBVUkwgaWZyYW1lIHNob3VsZCBub3QgaW50ZXJjZXB0IGZldGNoKCkuCiBGQUlMIERhdGEgVVJM
IHdvcmtlciBzaG91bGQgbm90IGluaGVyaXQgc2VydmljZSB3b3JrZXIgY29udHJvbGxlci4gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJUeXBlRXJyb3I6IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3Iuc2VydmljZVdv
cmtlci5jb250cm9sbGVyJykiCi1GQUlMIERhdGEgVVJMIHdvcmtlciBzaG91bGQgbm90IGludGVy
Y2VwdCBmZXRjaCgpLiBhc3NlcnRfZXF1YWxzOiBkYXRhIFVSTCB3b3JrZXIgc2hvdWxkIG5vdCBp
bnRlcmNlcHQgZmV0Y2ggZXhwZWN0ZWQgIiIgYnV0IGdvdCAiaW50ZXJjZXB0ZWQiCitQQVNTIERh
dGEgVVJMIHdvcmtlciBzaG91bGQgbm90IGludGVyY2VwdCBmZXRjaCgpLgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGEwYzljYTQ0NWVhMDc4ODY3NDQ3MjRjMzIxNTJmZjQxOWE4NDU3ZDcuLjRlNmJmMTc4Zjkw
NmRmOGI1YzE1NDQ0MmEzZjU2MmVjN2FhODVjYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBA
QAogCi1GQUlMIFZlcmlmeSB3b3JrZXJzIGhhdmUgYSB1bmlxdWUgY2xpZW50IGlkIHNlcGFyYXRl
IGZyb20gdGhlaXIgb3duaW5nIGRvY3VtZW50cyB3aW5kb3cgYXNzZXJ0X25vdF9lcXVhbHM6IGZy
YW1lIGFuZCB3b3JrZXIgY2xpZW50IGlkcyBzaG91bGQgYmUgZGlmZmVyZW50IGdvdCBkaXNhbGxv
d2VkIHZhbHVlICIyYzRmNzkzNi05Yzc2LTRlZDQtYjhlNS0wYjEwZWMyYmVhNDIiCitQQVNTIFZl
cmlmeSB3b3JrZXJzIGhhdmUgYSB1bmlxdWUgY2xpZW50IGlkIHNlcGFyYXRlIGZyb20gdGhlaXIg
b3duaW5nIGRvY3VtZW50cyB3aW5kb3cKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
d29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4
dAppbmRleCAyODNmZjdhN2MyMDhjMjBkYjE2OWJmY2UwZTgwYjc1ZTFiY2IzNGY5Li5iYTE0ZWRm
ZTIyY2UwOTJhN2U5NTIxNTdjNTQ4ZjA5NjUwZGEwY2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtOCwyMCArOCwyMCBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBu
ZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBD
YXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikK
IFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdv
cmtlcikKLUZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVk
V29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCi1GQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVk
V29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRl
ZFdvcmtlcikKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0
ZWRXb3JrZXIpCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJl
ZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdv
cmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQotRkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0
ZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUKLUZBSUwgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRp
Y2F0ZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMg
RGVkaWNhdGVkV29ya2VyKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9k
dWxlIERlZGljYXRlZFdvcmtlcikKIEZBSUwgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBGQUlMIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3Bl
IChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBQQVNTIGNsZWFudXAgZ2xvYmFsIHN0YXRlCi1GQUlMIENh
c2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBp
bXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNj
cmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAiaW1wb3J0U2Ny
aXB0czogc2VydmVkIGZyb20gbmV0d29yayAoc2NvcGUyLykiCi1GQUlMIENhc2UgIzE6IG5ldHdv
cmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUg
d29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIv
c2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlIChzY29wZTIv
KVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGlj
YXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3Bl
MS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAj
MTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0
aW9uLmhyZWYpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBE
ZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBz
Y29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBs
ZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIK
K1BBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdv
cmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9k
dWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAjMTogbmV0d29y
ayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9p
bXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJv
bSBuZXR3b3JrIChzY29wZTIvKSIKIEZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3Bl
MiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290
ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCkBAIC0yOSwxMSArMjks
MTEgQEAgUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJl
ZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNj
b3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogRkFJTCBDYXNlICMx
OiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0
aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29w
ZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlIChzY29w
ZTIvKVxuIgogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hh
cmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+
b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0LXNjcmlw
dHMtZWNoby5weSIgYnV0IGdvdCAiaW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20gbmV0d29yayIK
LUZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0
ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEg
c2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRl
eHQgZmlsZVxuIgorUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFz
c2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICMyOiBuZXR3
b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkK
IFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0
ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5v
dXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKLUZBSUwg
Q2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtl
ciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhl
IGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxl
XG4iCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRp
Y2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQt
c2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBGQUlMIENhc2Ug
IzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBv
cnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNjcmlw
dHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2
ZWQgZnJvbSBuZXR3b3JrIgogRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3Bl
IChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
ImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2go
KTogYSBzaW1wbGUgdGV4dCBmaWxlXG4iCkBAIC00MSw0ICs0MSwxNiBAQCBQQVNTIENhc2UgIzI6
IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUg
U2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBGQUlMIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6
IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS50eHQiIGJ1
dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgogUEFTUyBDYXNlICMyOiBuZXR3
b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVm
KQorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3Jr
ZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1w
b3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3N1YmRpci9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIg
c2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIKK0ZBSUwg
Q2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRj
aCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2gg
ZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2gg
ZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zY29wZTIvc2ltcGxlLnR4dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNs
YXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2Nh
dGlvbi5ocmVmIGV4cGVjdGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVk
aXJlY3Rfd2Vid29ya2VyLnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBm
b3IlMjB0aGUlMjB3b3JrZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2Vy
X2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkiCitQQVNTIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitG
QUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBm
ZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0
Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0
Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIg
KG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxv
Y2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9y
ZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRpbmc9c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUy
MGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlwdCIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3Jr
ZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weSIKK1BBU1MgQ2FzZSAjNDogc3cg
c2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRz
KCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRl
ZFdvcmtlciwgZmV0Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNs
YXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQorUEFTUyBDYXNlICM0OiBzdyBz
Y29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdv
cmtlciwgZmV0Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVs
ZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
OGQ0Y2E0OWJkOTNiNGM5NjkyMjMxZTJkZWRiZTMyMzU4ZjZiMGZjOC4uYWJhMTkwMDY5NGM0ZTQ5
OTRhYTg2ODM5NTI1ODQwYTVkNmY1N2Q4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
d29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTUgKzEs
MTUgQEAKIAotRkFJTCBWZXJpZnkgYSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlz
c3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtl
cidzIG93biBzZXJ2aWNlIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IHVuZGVmaW5lZAotRkFJTCBWZXJpZnkgYW4gb3V0LW9mLXNjb3BlIGRlZGlj
YXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSBjb250cm9sbGVkIGRvY3Vt
ZW50IHNob3VsZCBub3QgYmUgaW50ZXJjZXB0ZWQgYnkgZG9jdW1lbnQncyBzZXJ2aWNlIHdvcmtl
ci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIndvcmtlciBsb2FkaW5nIHdhcyBub3QgaW50ZXJj
ZXB0ZWQgYnkgc2VydmljZSB3b3JrZXIiIGJ1dCBnb3QgIndvcmtlciBsb2FkaW5nIGludGVyY2Vw
dGVkIGJ5IHNlcnZpY2Ugd29ya2VyIgorUEFTUyBWZXJpZnkgYSBkZWRpY2F0ZWQgd29ya2VyIHNj
cmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVy
Y2VwdGVkIGJ5IHdvcmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4KK1BBU1MgVmVyaWZ5IGFuIG91
dC1vZi1zY29wZSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEg
Y29udHJvbGxlZCBkb2N1bWVudCBzaG91bGQgbm90IGJlIGludGVyY2VwdGVkIGJ5IGRvY3VtZW50
J3Mgc2VydmljZSB3b3JrZXIuCiBGQUlMIFZlcmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJl
cXVlc3QgaXNzdWVkIGZyb20gYSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQg
Ynkgd29ya2VyJ3Mgb3duIHNlcnZpY2Ugd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5kZWZpbmVkCi1GQUlMIFZlcmlmeSBhIHNhbWUtb3JpZ2lu
IHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3Rh
cnRpbmcgYSBkZWRpY2F0ZWQgd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogdW5kZWZpbmVkCitQQVNTIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtl
ciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcg
YSBkZWRpY2F0ZWQgd29ya2VyLgogRkFJTCBWZXJpZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2Ny
aXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgc2hh
cmVkIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IHVuZGVmaW5lZAogUEFTUyBWZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEg
c2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5
IGEgY29ycyB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNo
YXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jvc3Mtb3JpZ2luIHdv
cmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdv
cmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29ya2VyIHNj
cmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2VyIHN0YXJ0
LgogUEFTUyBSZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciB3b3JrZXIgc3VicmVzb3VyY2Ug
aW50ZXJjZXB0aW9uIHRlc3RzLgotRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIg
Y29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
VGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJ7XCJlcnJv
clwiOiB7XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9fSIKK1BBU1MgUmVxdWVz
dHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci4K
IEZBSUwgUmVxdWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNl
IHdvcmtlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1
bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAie1wiZXJyb3JcIjoge1wiY29kZVwiOiA0MDQsIFwi
bWVzc2FnZVwiOiBcIjQwNFwifX0iCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtl
ciBuZXN0ZWQgaW4gYSBkZWRpY2F0ZWQgd29ya2VyIGFuZCBjb250cm9sbGVkIGJ5IGEgc2Vydmlj
ZSB3b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1
bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogV29ya2VyIgogRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgbmVz
dGVkIGluIGEgc2hhcmVkIHdvcmtlciBhbmQgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2Vy
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRl
cmNlcHRlZC4iIGJ1dCBnb3QgIlVuZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZpbmQgdmFyaWFibGU6
IFdvcmtlciIK
</data>

          </attachment>
      

    </bug>

</bugzilla>