<?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>235179</bug_id>
          
          <creation_ts>2022-01-13 05:01:51 -0800</creation_ts>
          <short_desc>Transmit network load metrics when service worker is using one of its network load to respond to FetchEvents</short_desc>
          <delta_ts>2022-01-17 00:15:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>pangle</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1830519</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-13 05:01:51 -0800</bug_when>
    <thetext>Transmit network load metrics when service worker is using one of its network load to respond to FetchEvents</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830521</commentid>
    <comment_count>1</comment_count>
      <attachid>449049</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-13 05:06:01 -0800</bug_when>
    <thetext>Created attachment 449049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830637</commentid>
    <comment_count>2</comment_count>
      <attachid>449086</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-13 11:08:12 -0800</bug_when>
    <thetext>Created attachment 449086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830954</commentid>
    <comment_count>3</comment_count>
      <attachid>449086</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-14 10:24:08 -0800</bug_when>
    <thetext>Comment on attachment 449086
Patch

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

Assuming there is no performance problem with this additional IPC

&gt; Source/WebCore/Modules/fetch/FetchResponse.h:123
&gt; +    void setNetworkLoadMetrics(const NetworkLoadMetrics&amp; networkLoadMetrics) { m_networkLoadMetrics = networkLoadMetrics; }

Would have named the argument just metrics.

&gt; Source/WebCore/loader/WorkerThreadableLoader.cpp:243
&gt; +void WorkerThreadableLoader::MainThreadBridge::didFinishLoading(ResourceLoaderIdentifier identifier, const NetworkLoadMetrics&amp; networkLoadMetrics)

Here too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831396</commentid>
    <comment_count>4</comment_count>
      <attachid>449306</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-16 22:26:35 -0800</bug_when>
    <thetext>Created attachment 449306
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831397</commentid>
    <comment_count>5</comment_count>
      <attachid>449307</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-16 22:27:47 -0800</bug_when>
    <thetext>Created attachment 449307
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831414</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-17 00:05:40 -0800</bug_when>
    <thetext>Committed r288088 (246102@main): &lt;https://commits.webkit.org/246102@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449307.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831415</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-17 00:06:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/87668830&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449049</attachid>
            <date>2022-01-13 05:06:01 -0800</date>
            <delta_ts>2022-01-13 11:08:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235179-20220113140559.patch</filename>
            <type>text/plain</type>
            <size>41011</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTAwMTMxZjYzN2NlZWMz
ZmVjMDU4ZDY5MTg2ZDc0MjJkZDZhZWQ1OS4uNDZjMzFhMWRlNWM0ZTk4NWYwY2Q0MmExNTE4OTI4
YTk2MmJkMDBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIyLTAxLTEzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUcmFuc21pdCBuZXR3b3Jr
IGxvYWQgbWV0cmljcyB3aGVuIHNlcnZpY2Ugd29ya2VyIGlzIHVzaW5nIG9uZSBvZiBpdHMgbmV0
d29yayBsb2FkIHRvIHJlc3BvbmQgdG8gRmV0Y2hFdmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IEZldGNoUmVzcG9uc2VzIHRvIGdldCB0
aGVpciBuZXR3b3JrIG1ldHJpY3MuCisgICAgICAgIFRoaXMgcmVxdWlyZXMgYWxsIFRocmVhZGFi
bGVMb2FkZXJDbGllbnRzIHRvIHJlY2VpdmUgdGhlc2UgbWV0cmljcy4KKyAgICAgICAgU2Vydmlj
ZVdvcmtlckZldGNoIGlzIHRoZW4gYWJsZSB0byBnZXQgdGhlIG1ldHJpY3MgZnJvbSBpdHMgRmV0
Y2hSZXNwb25zZSB0byBzZW5kIGl0IHRvIHRoZSBzZXJ2aWNlIHdvcmtlciBsb2FkIGNsaWVudC4K
KworICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy12
aWEtc2VydmljZS13b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHlPd25lci5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaDoKKyAgICAgICAgKiBNb2R1
bGVzL2ZldGNoL0ZldGNoTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2Uu
aDoKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwOgorICAgICAgICAqIGZp
bGVhcGkvRmlsZVJlYWRlckxvYWRlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yTmV0d29ya0FnZW50LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAg
KiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRo
cmVhZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAg
ICAgKiBwYWdlL0V2ZW50U291cmNlLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNwcDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5oOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJGZXRjaC5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vydmlj
ZVdvcmtlckZldGNoLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwogMjAyMi0wMS0xMyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBTZXJ2aWNlV29ya2VyQ2xpZW50Lmlk
IGEgVVVJRCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGRlcml2ZWQgZnJvbSBhIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRmNzExNTNlODQxNWQwZWRkM2I0M2RlMDE1
ZDUwMTk0ZGI3M2IxYTMuLjJkNDljOTc1NTAyMzY5YmI1MmZhNjk4Yjg5NDczODgwMjBkYWIyYWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjItMDEtMTMgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFRyYW5zbWl0IG5ldHdvcmsgbG9hZCBtZXRyaWNz
IHdoZW4gc2VydmljZSB3b3JrZXIgaXMgdXNpbmcgb25lIG9mIGl0cyBuZXR3b3JrIGxvYWQgdG8g
cmVzcG9uZCB0byBGZXRjaEV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM1MTc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUGlwZSBuZXR3b3JrIG1ldHJpY3MgZG93biB0byBXZWJQcm9jZXNzLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0
Y2hUYXNrLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZp
Y2VXb3JrZXJGZXRjaFRhc2suaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2subWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuY3BwOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50Lmg6
CisKIDIwMjItMDEtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1ha2UgU2VydmljZVdvcmtlckNsaWVudC5pZCBhIFVVSUQgaW5zdGVhZCBvZiBhIHN0cmlu
ZyBkZXJpdmVkIGZyb20gYSBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCmluZGV4IDcxMGVkY2Zk
NjY1MjdmMDRjMWZhOTE1NDg4NjRmODA0YTIyZTY0ZjcuLjY4NTVhM2MyMmI4MTVjYTVjOTFjYjhm
ZGI2MjJlMzY5YTcwNDFmNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hCb2R5T3duZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoQm9keU93bmVyLmgKQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lk
IGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAg
ICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJiBidWZmZXIpIGZpbmFs
IHsgb3duZXIuYmxvYkNodW5rKGJ1ZmZlcik7IH0KICAgICAgICAgdm9pZCBkaWRGYWlsKGNvbnN0
IFJlc291cmNlRXJyb3ImKSBmaW5hbDsKLSAgICAgICAgdm9pZCBkaWRTdWNjZWVkKCkgZmluYWwg
eyBvd25lci5ibG9iTG9hZGluZ1N1Y2NlZWRlZCgpOyB9CisgICAgICAgIHZvaWQgZGlkU3VjY2Vl
ZChjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbCB7IG93bmVyLmJsb2JMb2FkaW5nU3Vj
Y2VlZGVkKCk7IH0KIAogICAgICAgICBGZXRjaEJvZHlPd25lciYgb3duZXI7CiAgICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxGZXRjaExvYWRlcj4gbG9hZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCBiMjZjMmFkMTUwNGYzZjc0ZDA4YWZhNjUx
ZTA1MDEyZDZlMzZiOTQ2Li43Y2VhMzJhOTU4ZjE0YmQ4Yzg3OGJjNTFmNDljMWQxYWRhNmQ2YTM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApAQCAt
MTU3LDkgKzE1Nyw5IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IFNo
YXJlZEJ1ZmZlciYgYnVmZmVyKQogICAgIG1fY29uc3VtZXItPmFwcGVuZChidWZmZXIpOwogfQog
Ci12b2lkIEZldGNoTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRp
ZmllcikKK3ZvaWQgRmV0Y2hMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJ
ZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpCiB7Ci0gICAgbV9j
bGllbnQuZGlkU3VjY2VlZCgpOworICAgIG1fY2xpZW50LmRpZFN1Y2NlZWQobWV0cmljcyk7CiB9
CiAKIHZvaWQgRmV0Y2hMb2FkZXI6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3Ip
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmgKaW5kZXggNzJiMjcy
ZWJlNjU0ODBmOGEyYjBlZWFiZTcyNzU1MzFjN2Y1YjZhNy4uZmM1NDExZmQ5Y2FlODNmYjVjMWIy
OTg4MDg1MGY1ZTEwODg0YTBkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hMb2FkZXIuaApAQCAtNTksNyArNTksNyBAQCBwcml2YXRlOgogICAgIC8vIFRocmVhZGFibGVM
b2FkZXJDbGllbnQgQVBJLgogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9h
ZGVySWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsOwogICAgIHZvaWQg
ZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJikgZmluYWw7Ci0gICAgdm9pZCBkaWRG
aW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllcikgZmluYWw7CisgICAgdm9pZCBk
aWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgTmV0d29ya0xv
YWRNZXRyaWNzJikgZmluYWw7CiAgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3Im
KSBmaW5hbDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hMb2FkZXJDbGllbnQuaAppbmRleCAxMDllMDhlY2Y3YTQ3ZTdjMDM3ZTMyZGNhYWNhYjg2
YzgxYzE4ZDNkLi4zZmIyNDdmNzRkMjk0MWI5NGUxODMxYTQ3N2M3ZGM4MTlkM2U1OWM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlckNsaWVudC5oCkBA
IC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0
YShjb25zdCBTaGFyZWRCdWZmZXImKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVk
KCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVkKGNvbnN0IE5ldHdvcmtMb2FkTWV0
cmljcyYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9y
JikgPSAwOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNw
b25zZS5jcHAKaW5kZXggMGQ0ZmYxYTc4NTMzZGY0NTFhOTEwMmEyNGJkODhlMTA4NmNiZWJlMC4u
Y2UxZjdkNTk3YWRjN2NkZGU0N2JiNzBlZmJhMzQxNTM5YjYzYzM1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBAIC0yNzksMTEgKzI3OSwx
MSBAQCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBGZXRjaFJlc3BvbnNlOjpmaWx0ZXJlZFJlc3Bv
bnNlKCkgY29uc3QKICAgICByZXR1cm4gbV9pbnRlcm5hbFJlc3BvbnNlOwogfQogCi12b2lkIEZl
dGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6OmRpZFN1Y2NlZWQoKQordm9pZCBGZXRjaFJlc3BvbnNl
OjpCb2R5TG9hZGVyOjpkaWRTdWNjZWVkKGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgbWV0cmlj
cykKIHsKICAgICBBU1NFUlQobV9yZXNwb25zZS5oYXNQZW5kaW5nQWN0aXZpdHkoKSk7CiAgICAg
bV9yZXNwb25zZS5tX2JvZHktPmxvYWRpbmdTdWNjZWVkZWQobV9yZXNwb25zZS5jb250ZW50VHlw
ZSgpKTsKLQorICAgIG1fcmVzcG9uc2Uuc2V0TmV0d29ya0xvYWRNZXRyaWNzKG1ldHJpY3MpOwog
ICAgIGlmIChtX3Jlc3BvbnNlLm1fcmVhZGFibGVTdHJlYW1Tb3VyY2UpIHsKICAgICAgICAgaWYg
KG1fcmVzcG9uc2UuYm9keSgpLmNvbnN1bWVyKCkuaGFzRGF0YSgpKQogICAgICAgICAgICAgbV9y
ZXNwb25zZS5tX3JlYWRhYmxlU3RyZWFtU291cmNlLT5lbnF1ZXVlKG1fcmVzcG9uc2UuYm9keSgp
LmNvbnN1bWVyKCkudGFrZUFzQXJyYXlCdWZmZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCmluZGV4IDI3NDY4MDdjYThiYmIxODNiMDM0MTFhOTk0
OWMyZjRkNWQ1NDdhYjUuLmM2YzczYTY5ZmJhMDdlM2JmZTM5MmRjMDVlZTA1NTkyMjg5MmRlYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCkBAIC0x
MTEsNiArMTExLDggQEAgcHVibGljOgogICAgIGJvb2wgaXNDT1JTU2FtZU9yaWdpbigpIGNvbnN0
OwogICAgIGJvb2wgaGFzV2FzbU1JTUVUeXBlKCkgY29uc3Q7CiAKKyAgICBjb25zdCBOZXR3b3Jr
TG9hZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIG1fbmV0d29y
a0xvYWRNZXRyaWNzOyB9CisKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXNwb25zZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kiwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYsIFJlZjxGZXRjaEhlYWRl
cnM+JiYsIFJlc291cmNlUmVzcG9uc2UmJik7CiAKQEAgLTExOCw3ICsxMjAsNyBAQCBwcml2YXRl
OgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKIAog
ICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGZpbHRlcmVkUmVzcG9uc2UoKSBjb25zdDsKLQor
ICAgIHZvaWQgc2V0TmV0d29ya0xvYWRNZXRyaWNzKGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYg
bmV0d29ya0xvYWRNZXRyaWNzKSB7IG1fbmV0d29ya0xvYWRNZXRyaWNzID0gbmV0d29ya0xvYWRN
ZXRyaWNzOyB9CiAgICAgdm9pZCBjbG9zZVN0cmVhbSgpOwogCiAgICAgdm9pZCBhZGRBYm9ydFN0
ZXBzKFJlZjxBYm9ydFNpZ25hbD4mJik7CkBAIC0xNDAsNyArMTQyLDcgQEAgcHJpdmF0ZToKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIC8vIEZldGNoTG9hZGVyQ2xpZW50IEFQSQotICAgICAgICB2
b2lkIGRpZFN1Y2NlZWQoKSBmaW5hbDsKKyAgICAgICAgdm9pZCBkaWRTdWNjZWVkKGNvbnN0IE5l
dHdvcmtMb2FkTWV0cmljcyYpIGZpbmFsOwogICAgICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVz
b3VyY2VFcnJvciYpIGZpbmFsOwogICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEo
Y29uc3QgU2hhcmVkQnVmZmVyJikgZmluYWw7CkBAIC0xNjEsNiArMTYzLDcgQEAgcHJpdmF0ZToK
ICAgICB1aW50NjRfdCBtX2JvZHlTaXplV2l0aFBhZGRpbmcgeyAwIH07CiAgICAgdWludDY0X3Qg
bV9vcGFxdWVMb2FkSWRlbnRpZmllciB7IDAgfTsKICAgICBSZWZQdHI8QWJvcnRTaWduYWw+IG1f
YWJvcnRTaWduYWw7CisgICAgTmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRyaWNz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVJlYWRlckxvYWRlci5jcHAKaW5kZXggMDdhYmNhYTgxZGRmNDBhZDlmYzY5OTA3MzRmYjhj
NTI4NGFhN2E4Yy4uOGUwMzBlZDkxMjBjMTJmNDZkMGU1ZTA5ZDFiYzIwNGIwNWEzYjU1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwCkBAIC0yMjAsNyAr
MjIwLDcgQEAgdm9pZCBGaWxlUmVhZGVyTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFy
ZWRCdWZmZXImIGJ1ZmZlcikKICAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVEYXRhKCk7CiB9
CiAKLXZvaWQgRmlsZVJlYWRlckxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRl
cklkZW50aWZpZXIpCit2b2lkIEZpbGVSZWFkZXJMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoUmVz
b3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKQogewogICAg
IGlmIChtX3ZhcmlhYmxlTGVuZ3RoICYmIG1fdG90YWxCeXRlcyA+IG1fYnl0ZXNMb2FkZWQpIHsK
ICAgICAgICAgbV9yYXdEYXRhID0gbV9yYXdEYXRhLT5zbGljZSgwLCBtX2J5dGVzTG9hZGVkKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5oIGIv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmgKaW5kZXggNjMxNmM0MDA0
ZGVmYjRhNzZjZDAzMjNmYzQ4NjUxZDM5ZGExMTUzOC4uMzgyYjIwNjkxNzQ1NDViMTk5NDA0NmU1
YWJlYzc2MzVkYzk0M2EyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxl
UmVhZGVyTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9h
ZGVyLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogICAgIC8vIFRocmVhZGFibGVMb2FkZXJD
bGllbnQKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2Vp
dmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIG92ZXJyaWRlOwotICAgIHZvaWQgZGlkRmluaXNo
TG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpIG92ZXJyaWRlOworICAgIHZvaWQgZGlk
RmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2Fk
TWV0cmljcyYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9y
Jikgb3ZlcnJpZGU7CiAKICAgICBTdHJpbmcgc3RyaW5nUmVzdWx0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5j
cHAKaW5kZXggMGMyOTcwZTgzOGE3MDE1Y2M5ZWM2NWJiNWNkOGVkNDgwNDY5MDJjYS4uYzA4N2Y3
NTA4YzE4Mjk1NzE0ZGM3NWZiYmU3ZmFmYjZjYmQ5N2RiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApA
QCAtMTMyLDcgKzEzMiw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9yZXNwb25zZVRleHQuYXBwZW5k
KG1fZGVjb2Rlci0+ZGVjb2RlKGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpKTsKICAgICB9
CiAKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKSBv
dmVycmlkZQorICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBp
ZiAobV9kZWNvZGVyKQogICAgICAgICAgICAgbV9yZXNwb25zZVRleHQuYXBwZW5kKG1fZGVjb2Rl
ci0+Zmx1c2goKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwCmluZGV4IDI5MTJlM2Q1NjIxNTMxYzllZGQyODliMjM3MWFhMTA3NmEy
Y2VmZWMuLjVkMzlhNDk1NzE3ZjdkZjM2NTc3YjI4OGI1NGQzYTg4Y2U3NGUyMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBA
IC00MjksNyArNDI5LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmRpZFJlY2Vp
dmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnQKICAgICAgICAgaWYgKHJl
c3BvbnNlLnRhaW50aW5nKCkgPT0gUmVzb3VyY2VSZXNwb25zZTo6VGFpbnRpbmc6Ok9wYXF1ZSkg
ewogICAgICAgICAgICAgY2xlYXJSZXNvdXJjZSgpOwogICAgICAgICAgICAgaWYgKG1fY2xpZW50
KQotICAgICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZpZXIp
OworICAgICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZpZXIs
IHsgfSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQ2OCw3ICs0Njgs
NyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6ZmluaXNoZWRUaW1pbmdGb3JXb3Jr
ZXJMb2FkKGNvbnN0IFJlc291cmNlVGltaW5nJgogICAgIG1fY2xpZW50LT5kaWRGaW5pc2hUaW1p
bmcocmVzb3VyY2VUaW1pbmcpOwogfQogCi12b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6
bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZXR3b3JrTG9h
ZE1ldHJpY3MmKQordm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVk
KENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRy
aWNzKQogewogICAgIEFTU0VSVChtX2NsaWVudCk7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJj
ZSwgJnJlc291cmNlID09IG1fcmVzb3VyY2UpOwpAQCAtNDc2LDEwICs0NzYsMTAgQEAgdm9pZCBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiBy
ZXNvdXJjZSwgY29uc3QgTmUKICAgICBpZiAobV9yZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgpKQog
ICAgICAgICBkaWRGYWlsKG1fcmVzb3VyY2UtPmlkZW50aWZpZXIoKSwgbV9yZXNvdXJjZS0+cmVz
b3VyY2VFcnJvcigpKTsKICAgICBlbHNlCi0gICAgICAgIGRpZEZpbmlzaExvYWRpbmcobV9yZXNv
dXJjZS0+aWRlbnRpZmllcigpKTsKKyAgICAgICAgZGlkRmluaXNoTG9hZGluZyhtX3Jlc291cmNl
LT5pZGVudGlmaWVyKCksIG1ldHJpY3MpOwogfQogCi12b2lkIERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRpZmll
cikKK3ZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291
cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3Mm
IG1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKG1fY2xpZW50KTsKIApAQCAtNTA0LDcgKzUwNCw3IEBA
IHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNl
TG9hZGVySWRlbnRpZmllciBpZGVudGlmCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2NsaWVu
dC0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKKyAgICBtX2NsaWVudC0+ZGlkRmluaXNo
TG9hZGluZyhpZGVudGlmaWVyLCBtZXRyaWNzKTsKIH0KIAogdm9pZCBEb2N1bWVudFRocmVhZGFi
bGVMb2FkZXI6OmRpZEZhaWwoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJj
ZUVycm9yJiBlcnJvcikKQEAgLTYxNyw3ICs2MTcsNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcjo6bG9hZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2VjdXJpdHlD
aAogICAgICAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCBYTUxIdHRwUmVxdWVzdCB0byByYWlzZSBh
biBleGNlcHRpb24gZm9yIGZpbGU6Ly8gcmVzb3VyY2VzLCBzZWUgPHJkYXI6Ly9wcm9ibGVtLzQ5
NjIyOTg+LgogICAgICAgICAgICAgLy8gRklYTUU6IFhNTEh0dHBSZXF1ZXN0IHF1aXJrcyBzaG91
bGQgYmUgaW4gWE1MSHR0cFJlcXVlc3QgY29kZSwgbm90IGluIERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlci5jcHAuCiAgICAgICAgICAgICBkaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgcmVz
cG9uc2UpOwotICAgICAgICAgICAgZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKKyAgICAg
ICAgICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwgeyB9KTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogICAgICAgICBsb2dFcnJvckFuZEZhaWwoZXJyb3IpOwpAQCAtNjcz
LDcgKzY3Myw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVxdWVzdChS
ZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBTZWN1cml0eUNoCiAgICAgICAgICAgICB3aW5kb3ct
PnBlcmZvcm1hbmNlKCkuYWRkUmVzb3VyY2VUaW1pbmcoV1RGTW92ZShyZXNvdXJjZVRpbWluZykp
OwogICAgIH0KIAotICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllcik7CisgICAgZGlkRmlu
aXNoTG9hZGluZyhpZGVudGlmaWVyLCB7IH0pOwogfQogCiBib29sIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcjo6aXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgVVJMJiB1cmws
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGlyZWN0
UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBjODZiYTdm
NDUzODNiNmMyODYwMDMyZDNhZWJmYmEzZTA4NjA3NjkwLi4yNTNkMjZkYzgyNmEwOTYzNDdkNjhl
N2I3MDQ3MzFhMzZkZDRhZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC05NCw3ICs5NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICAgICAgdm9pZCBkaWRSZWNlaXZl
RGF0YShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFNoYXJlZEJ1ZmZlciYpOwotICAg
ICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKTsKKyAg
ICAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29u
c3QgTmV0d29ya0xvYWRNZXRyaWNzJik7CiAgICAgICAgIHZvaWQgZGlkRmFpbChSZXNvdXJjZUxv
YWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICAgICAgdm9pZCBtYWtl
Q3Jvc3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmKTsKICAgICAgICAgdm9p
ZCBtYWtlU2ltcGxlQ3Jvc3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmluZGV4
IGY5YzZiNWM0YTAyYWYwYmRhMTQyMGIwYWU4ZTU4ZTcxOWQzZmE0YzcuLmM4ZWU0YzJkMDVmOThm
NDhlZDlhZWVkYTY5ODFmNjliZThjYzI1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAtMzQsNiArMzQsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIE5ldHdvcmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNlRXJy
b3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBAIC00
Niw3ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9u
c2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIHsg
fQotICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRp
ZmllcikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2Fk
ZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgeyB9CiAgICAgdmlydHVhbCB2b2lk
IGRpZEZpbmlzaFRpbWluZyhjb25zdCBSZXNvdXJjZVRpbWluZyYpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBub3RpZnlJc0RvbmUoYm9vbCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIu
aAppbmRleCBiYWM2NmI0NTI4OTM4OGQ0YjY2MDdiYzA1ZjM0ZTAzN2NhMmQzNmEwLi5hMTdiMDcz
ODI3OTFhYWM0NmQyMDM1ZDMzMDUyNWUzYjFiNDdkMjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaApAQCAtNzIsMTEg
KzcyLDExIEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlRGF0YShi
dWZmZXIpOwogICAgIH0KIAotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRl
cklkZW50aWZpZXIgaWRlbnRpZmllcikKKyAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3Vy
Y2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYg
bWV0cmljcykKICAgICB7CiAgICAgICAgIG1fZG9uZSA9IHRydWU7CiAgICAgICAgIGlmIChtX2Ns
aWVudCkKLSAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZpZXIp
OworICAgICAgICAgICAgbV9jbGllbnQtPmRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwgbWV0
cmljcyk7CiAgICAgfQogCiAgICAgdm9pZCBub3RpZnlJc0RvbmUoYm9vbCBpc0RvbmUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXgg
Yjc3MWU2MDYyZGJhZDA3ZmVmMzg4MTA5YjA2YzZjZTEyOWM3MDRjMy4uMGIyNDMzYThkYzljNmZh
NTdmNDdlNjJhZDUwNThjMzkyNWUxYmU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMjQwLDEyICsyNDAsMTIgQEAgdm9pZCBX
b3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRSZWNlaXZlRGF0YShj
b25zdCBTaGFyZWRCdWZmZXIKICAgICB9LCBtX3Rhc2tNb2RlKTsKIH0KIAotdm9pZCBXb3JrZXJU
aHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291
cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyKQordm9pZCBXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRl
bnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2Fk
TWV0cmljcykKIHsKICAgICBtX2xvYWRpbmdGaW5pc2hlZCA9IHRydWU7Ci0gICAgbV9sb2FkZXJQ
cm94eS5wb3N0VGFza0Zvck1vZGVUb1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFtwcm90ZWN0
ZWRXb3JrZXJDbGllbnRXcmFwcGVyID0gUmVmIHsgKm1fd29ya2VyQ2xpZW50V3JhcHBlciB9LCB3
b3JrZXJSZXF1ZXN0SWRlbnRpZmllciA9IG1fd29ya2VyUmVxdWVzdElkZW50aWZpZXIsIG5ldHdv
cmtMb2FkTWV0cmljcyA9IG1fbmV0d29ya0xvYWRNZXRyaWNzLmlzb2xhdGVkQ29weSgpLCBpZGVu
dGlmaWVyXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJsZSB7CisgICAg
bV9sb2FkZXJQcm94eS5wb3N0VGFza0Zvck1vZGVUb1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
KFtwcm90ZWN0ZWRXb3JrZXJDbGllbnRXcmFwcGVyID0gUmVmIHsgKm1fd29ya2VyQ2xpZW50V3Jh
cHBlciB9LCB3b3JrZXJSZXF1ZXN0SWRlbnRpZmllciA9IG1fd29ya2VyUmVxdWVzdElkZW50aWZp
ZXIsIG5ldHdvcmtMb2FkTWV0cmljcyA9IG5ldHdvcmtMb2FkTWV0cmljcy5pc29sYXRlZENvcHko
KSwgaWRlbnRpZmllcl0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUg
ewogICAgICAgICBBU1NFUlQoY29udGV4dC5pc1dvcmtlckdsb2JhbFNjb3BlKCkgfHwgY29udGV4
dC5pc1dvcmtsZXRHbG9iYWxTY29wZSgpKTsKLSAgICAgICAgcHJvdGVjdGVkV29ya2VyQ2xpZW50
V3JhcHBlci0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKKyAgICAgICAgcHJvdGVjdGVk
V29ya2VyQ2xpZW50V3JhcHBlci0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyLCBuZXR3b3Jr
TG9hZE1ldHJpY3MpOwogICAgICAgICBpZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQp
KQogICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hMb2FkaW5n
KGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KSwgd29ya2VyUmVxdWVzdElkZW50
aWZpZXIsIG5ldHdvcmtMb2FkTWV0cmljcyk7CiAgICAgfSwgbV90YXNrTW9kZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAppbmRleCA5ZWY0ZTU4
MjYzNjkxN2E4MzBhZjJkZThiMGFiNDYwN2ZhNWQ4OTNlLi5jYTQ5NWU2MTVmODU0N2Q1YjY3NTky
NmI2Y2M0N2Q0MDNiNTEwYTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJU
aHJlYWRhYmxlTG9hZGVyLmgKQEAgLTEwNiw3ICsxMDYsNyBAQCBwcml2YXRlOgogICAgICAgICB2
b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxv
bmcgbG9uZyB0b3RhbEJ5dGVzVG9CZVNlbnQpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZFJl
Y2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmKSBvdmVycmlkZTsKICAgICAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFy
ZWRCdWZmZXImKSBvdmVycmlkZTsKLSAgICAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291
cmNlTG9hZGVySWRlbnRpZmllcikgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgZGlkRmluaXNoTG9h
ZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYp
IG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIG92
ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZEZpbmlzaFRpbWluZyhjb25zdCBSZXNvdXJjZVRpbWlu
ZyYpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIG5vdGlmeUlzRG9uZShib29sIGlzRG9uZSkgZmlu
YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IDNjNDk1NzFlNDE5ZGQwYWU5
ZTZiNzY2MmQyMTI5YWI1OGI1ZTc0ZDAuLjhjYzhkZjFhYzI2Y2QzNDc5MjRkNzZiZGJmZWM5MmFm
OTEwZTEzNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0yMjEsNyArMjIx
LDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVy
JiBidWZmZXIpCiAgICAgcGFyc2VFdmVudFN0cmVhbSgpOwogfQogCi12b2lkIEV2ZW50U291cmNl
OjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllcikKK3ZvaWQgRXZlbnRT
b3VyY2U6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBO
ZXR3b3JrTG9hZE1ldHJpY3MmKQogewogICAgIEFTU0VSVChtX3N0YXRlID09IE9QRU4pOwogICAg
IEFTU0VSVChtX3JlcXVlc3RJbkZsaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5k
ZXggNzNmZWU3OTI3MzQyNzViZmFlODc1MGNkMTgwMTBmM2ZhMTFlMjM1Mi4uYjI5Y2I1M2Q0YTM2
YWY2NDIyMGIyZDZkNjZjMzkyNGNlZTIzMWNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aApAQCAtODUsNyArODUsNyBAQCBwcml2YXRlOgogICAgIC8vIFRocmVhZGFibGVMb2FkZXJDbGll
bnQKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRh
KGNvbnN0IFNoYXJlZEJ1ZmZlciYpIGZpbmFsOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhS
ZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpIGZpbmFsOworICAgIHZvaWQgZGlkRmluaXNoTG9hZGlu
ZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZp
bmFsOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgZmluYWw7CiAKICAg
ICAvLyBBY3RpdmVET01PYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCAxMzk4ZjVkZGFkZWQxMzcwZGFjZmQwZmM3YWRhOGU5MzM1NWRhN2Y5Li4zNDhmYzM3ZjZkNDY2
YTZiNzQ4YzNhOGFlZDc0MzhkYWVkYzcxMGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC01NzEzLDYgKzU3MTMsMTEgQEAgdWludDY0X3QgSW50ZXJuYWxzOjpyZXNwb25z
ZVNpemVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNlJiByZXNwb25zZSkgY29uc3QKICAgICByZXR1
cm4gcmVzcG9uc2UuYm9keVNpemVXaXRoUGFkZGluZygpOwogfQogCitjb25zdCBTdHJpbmcmIElu
dGVybmFsczo6cmVzcG9uc2VOZXR3b3JrTG9hZE1ldHJpY3NQcm90b2NvbChjb25zdCBGZXRjaFJl
c3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gcmVzcG9uc2UubmV0d29ya0xvYWRNZXRy
aWNzKCkucHJvdG9jb2w7Cit9CisKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiB2b2lkIElu
dGVybmFsczo6aGFzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihjb25zdCBTdHJpbmcmIGNsaWVu
dFVSTCwgSGFzUmVnaXN0cmF0aW9uUHJvbWlzZSYmIHByb21pc2UpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAppbmRleCBmZjFjZWY5NmQ3ODRiYWEwZWVlNTEwNTE1OTg1Y2JhZGQ5NzM0
OGY0Li5hMWMzOWY3YmE0ZDAxYWExMDdkYjViNGYyZGM2ZWE0MzA4NWExYjExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTg4OSw2ICs4ODksNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBjYWNoZVN0b3JhZ2VFbmdpbmVSZXByZXNlbnRhdGlvbihET01Qcm9taXNlRGVmZXJyZWQ8SURM
RE9NU3RyaW5nPiYmKTsKICAgICB2b2lkIHNldFJlc3BvbnNlU2l6ZVdpdGhQYWRkaW5nKEZldGNo
UmVzcG9uc2UmLCB1aW50NjRfdCBzaXplKTsKICAgICB1aW50NjRfdCByZXNwb25zZVNpemVXaXRo
UGFkZGluZyhGZXRjaFJlc3BvbnNlJikgY29uc3Q7CisgICAgY29uc3QgU3RyaW5nJiByZXNwb25z
ZU5ldHdvcmtMb2FkTWV0cmljc1Byb3RvY29sKGNvbnN0IEZldGNoUmVzcG9uc2UmKTsKIAogICAg
IHZvaWQgdXBkYXRlUXVvdGFCYXNlZE9uU3BhY2VVc2FnZSgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggZWQ0NDMxOWY1NWJkYjAyMmJlOGIxM2UwMzkwNDVjMWMyOGM4
ZjIxMC4uMDI4MmMyOWU3MGEzNjMwMzA5MTdkNTU5ZWQ2NWJkMDE0OWM4NzYzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtOTQxLDYgKzk0MSw3IEBAIHR5cGVkZWYgKEZl
dGNoUmVxdWVzdCBvciBGZXRjaFJlc3BvbnNlKSBGZXRjaE9iamVjdDsKICAgICBQcm9taXNlPERP
TVN0cmluZz4gY2FjaGVTdG9yYWdlRW5naW5lUmVwcmVzZW50YXRpb24oKTsKICAgICB1bmRlZmlu
ZWQgc2V0UmVzcG9uc2VTaXplV2l0aFBhZGRpbmcoRmV0Y2hSZXNwb25zZSByZXNwb25zZSwgdW5z
aWduZWQgbG9uZyBsb25nIHNpemUpOwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZVNp
emVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNlIHJlc3BvbnNlKTsKKyAgICBET01TdHJpbmcgcmVz
cG9uc2VOZXR3b3JrTG9hZE1ldHJpY3NQcm90b2NvbChGZXRjaFJlc3BvbnNlIHJlc3BvbnNlKTsK
IAogICAgIERPTVN0cmluZyBibG9iSW50ZXJuYWxVUkwoQmxvYiBibG9iKTsKICAgICBQcm9taXNl
PGJvb2xlYW4+IGlzQmxvYkludGVybmFsVVJMUmVnaXN0ZXJlZChET01TdHJpbmcgdXJsKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNwcAppbmRl
eCA0M2MzYTNiNDY2ZWZjNzlkMGQ1ZTkxZDIyNTAwZjAwYzM1ZGE4Y2FjLi5iM2QwM2VmZTI2YmVi
MzZlYzA3OTY2Y2FkNDIxMGQ3NzRhNTZiY2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJGb250TG9hZFJlcXVlc3QuY3BwCkBAIC0xMjMsNyArMTIzLDcgQEAgdm9pZCBX
b3JrZXJGb250TG9hZFJlcXVlc3Q6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYg
YnVmZmVyKQogICAgIG1fZGF0YS5hcHBlbmQoYnVmZmVyKTsKIH0KIAotdm9pZCBXb3JrZXJGb250
TG9hZFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKQor
dm9pZCBXb3JrZXJGb250TG9hZFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2Fk
ZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKQogewogICAgIG1faXNMb2Fk
aW5nID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Rm9udExvYWRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckZvbnRMb2Fk
UmVxdWVzdC5oCmluZGV4IGQ4YzE4OTk3MmYxODE5MWQ4MDY4YTVmNDUyOTYxYTRjZjQxNTUwMGIu
LmRhYWQ1NWE1ZjNhYTA2YTI4MDBkOWZmMTg5NWU1OGY5NTJmYWQyNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJGb250TG9hZFJlcXVlc3QuaApAQCAtNjQsNyArNjQsNyBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJ
ZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAgdm9pZCBkaWRS
ZWNlaXZlRGF0YShjb25zdCBTaGFyZWRCdWZmZXImKSBmaW5hbDsKLSAgICB2b2lkIGRpZEZpbmlz
aExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKSBmaW5hbDsKKyAgICB2b2lkIGRpZEZp
bmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1l
dHJpY3MmKSBmaW5hbDsKICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIGZp
bmFsOwogCiAgICAgVVJMIG1fdXJsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuY3BwCmluZGV4IDkwMDJiNTgzOGIyZTJiMGQzOWFhYTBiNDNjMmE2YjIyYjky
OWQxY2IuLjlkZmI0Yzk5MWE4Y2I1OTFlMTI4Nzg1ZTZhNmYxNGNkMmExNTI2MjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTIxOCw3ICsy
MTgsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hh
cmVkQnVmZmVyJiBidWZmZXIpCiAgICAgbV9zY3JpcHQuYXBwZW5kKG1fZGVjb2Rlci0+ZGVjb2Rl
KGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpKTsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRM
b2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZp
ZXIpCit2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxv
YWRlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikKIHsK
ICAgICBpZiAobV9mYWlsZWQpIHsKICAgICAgICAgbm90aWZ5RXJyb3IoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IDE1OTkyNmE5NTlmOWY4NzFm
MTgwM2FhMzNiNjY4ODQzNTE5MzU3MzIuLjY5NGEwNjc2NGQzN2NhNzMwZmQxZTBiMWQyYjg3YjY1
ZDAwZmMwYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIu
aApAQCAtODAsNyArODAsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25z
ZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVy
cmlkZTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIG92ZXJy
aWRlOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIp
IG92ZXJyaWRlOworICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlk
RmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGNhbmNlbCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlckZldGNoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAKaW5kZXggNGM5ZjJkZTRlN2QzNDkxOTU1MjFiMjI1
NzFlNTkyODU3M2JiMDA5OC4uOTVlZWE5MTcxOWE4ZWVjMmI1ZDZiYzRkODRlMTJiZGE4NWJlNDYy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlckZldGNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
Y29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guY3BwCkBAIC0xMjAsNyArMTIwLDcgQEAgc3RhdGlj
IHZvaWQgcHJvY2Vzc1Jlc3BvbnNlKFJlZjxDbGllbnQ+JiYgY2xpZW50LCBFeHBlY3RlZDxSZWY8
RmV0Y2hSZXNwb25zZT4sIHMKICAgICBjbGllbnQtPmRpZFJlY2VpdmVSZXNwb25zZShyZXNvdXJj
ZVJlc3BvbnNlKTsKIAogICAgIGlmIChyZXNwb25zZS0+aXNCb2R5UmVjZWl2ZWRCeUNodW5rKCkp
IHsKLSAgICAgICAgcmVzcG9uc2UtPmNvbnN1bWVCb2R5UmVjZWl2ZWRCeUNodW5rKFtjbGllbnQg
PSBXVEZNb3ZlKGNsaWVudCldIChhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgcmVz
cG9uc2UtPmNvbnN1bWVCb2R5UmVjZWl2ZWRCeUNodW5rKFtjbGllbnQgPSBXVEZNb3ZlKGNsaWVu
dCksIHJlc3BvbnNlID0gV2Vha1B0ciB7IHJlc3BvbnNlLmdldCgpIH1dIChhdXRvJiYgcmVzdWx0
KSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKICAg
ICAgICAgICAgICAgICBhdXRvIGVycm9yID0gRmV0Y2hFdmVudDo6Y3JlYXRlUmVzcG9uc2VFcnJv
cihVUkwgeyB9LCByZXN1bHQuZXhjZXB0aW9uKCkubWVzc2FnZSgpLCBSZXNvdXJjZUVycm9yOjpJ
c1Nhbml0aXplZDo6WWVzKTsKICAgICAgICAgICAgICAgICBjbGllbnQtPmRpZEZhaWwoZXJyb3Ip
OwpAQCAtMTMwLDcgKzEzMCw3IEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NSZXNwb25zZShSZWY8Q2xp
ZW50PiYmIGNsaWVudCwgRXhwZWN0ZWQ8UmVmPEZldGNoUmVzcG9uc2U+LCBzCiAgICAgICAgICAg
ICBpZiAoYXV0byogY2h1bmsgPSByZXN1bHQucmV0dXJuVmFsdWUoKSkKICAgICAgICAgICAgICAg
ICBjbGllbnQtPmRpZFJlY2VpdmVEYXRhKFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGNodW5rLT5kYXRh
KCksIGNodW5rLT5zaXplKCkpKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBj
bGllbnQtPmRpZEZpbmlzaCgpOworICAgICAgICAgICAgICAgIGNsaWVudC0+ZGlkRmluaXNoKHJl
c3BvbnNlID8gcmVzcG9uc2UtPm5ldHdvcmtMb2FkTWV0cmljcygpIDogTmV0d29ya0xvYWRNZXRy
aWNzIHsgfSk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTQwLDkg
KzE0MCw5IEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NSZXNwb25zZShSZWY8Q2xpZW50PiYmIGNsaWVu
dCwgRXhwZWN0ZWQ8UmVmPEZldGNoUmVzcG9uc2U+LCBzCiAgICAgICAgIGNsaWVudC0+ZGlkUmVj
ZWl2ZUZvcm1EYXRhQW5kRmluaXNoKFdURk1vdmUoZm9ybURhdGEpKTsKICAgICB9LCBbJl0gKFJl
ZjxTaGFyZWRCdWZmZXI+JiBidWZmZXIpIHsKICAgICAgICAgY2xpZW50LT5kaWRSZWNlaXZlRGF0
YShXVEZNb3ZlKGJ1ZmZlcikpOwotICAgICAgICBjbGllbnQtPmRpZEZpbmlzaCgpOworICAgICAg
ICBjbGllbnQtPmRpZEZpbmlzaChyZXNwb25zZS0+bmV0d29ya0xvYWRNZXRyaWNzKCkpOwogICAg
IH0sIFsmXSAoc3RkOjpudWxscHRyX3QmKSB7Ci0gICAgICAgIGNsaWVudC0+ZGlkRmluaXNoKCk7
CisgICAgICAgIGNsaWVudC0+ZGlkRmluaXNoKHJlc3BvbnNlLT5uZXR3b3JrTG9hZE1ldHJpY3Mo
KSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmgKaW5kZXggMTRhNjI5OTk0MDk3
ODY2Zjg4YzMyNTRmMzhmMDM0Yzg0M2VhN2RhNS4uYjczM2JiZmE0MzFmZGZlNmUzYzA2NWYyMzk3
Yzk3OWQ5ZTBlYjVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmgKQEAgLTM3LDYgKzM3LDcgQEAg
Y2xhc3MgRmV0Y2hFdmVudDsKIHN0cnVjdCBGZXRjaE9wdGlvbnM7CiBjbGFzcyBGZXRjaFJlc3Bv
bnNlOwogY2xhc3MgRm9ybURhdGE7CitjbGFzcyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBS
ZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNw
b25zZTsKQEAgLTU0LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlRGF0YShjb25zdCBTaGFyZWRCdWZmZXImKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVGb3JtRGF0YUFuZEZpbmlzaChSZWY8Rm9ybURhdGE+JiYpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCBkaWRGaW5pc2goKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaChjb25zdCBOZXR3
b3JrTG9hZE1ldHJpY3MmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZSgpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb250
aW51ZURpZFJlY2VpdmVSZXNwb25zZSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCmluZGV4IDg0NzEwMzEwMzIxMWIyMTA1NTkxZDk3NGZlYmFlOGUwMjU3NGU5NmUuLmVi
MzUyMDdlN2E5MmJmOWI2ODJmYzExMGQ0OTQ2OWY0Y2YzNmFkMGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtOTIzLDcgKzkyMyw3IEBAIHZvaWQgWE1MSHR0cFJlcXVl
c3Q6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAgbmV0d29ya0Vycm9y
KCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VM
b2FkZXJJZGVudGlmaWVyKQordm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmluaXNoTG9hZGluZyhS
ZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpCiB7CiAg
ICAgUmVmIHByb3RlY3RlZFRoaXMgeyAqdGhpcyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5oCmluZGV4IGVkNmYzNjA5MWJmYzI1OThjY2MwMTQzZjcxOGQ0YzJiMWVkZTNjYTUuLmI3
NDkwNDRhOTJiZTY3YTFlNzBlZGNlOGUxN2QzNjEyMGZkM2MxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5oCkBAIC0xNjMsNyArMTYzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRp
ZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9u
ZyB0b3RhbEJ5dGVzVG9CZVNlbnQpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3Bv
bnNlKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92
ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJikgb3Zl
cnJpZGU7Ci0gICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmll
cikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRl
bnRpZmllciwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBk
aWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmeUlz
RG9uZShib29sKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2su
Y3BwCmluZGV4IDcwNjFjMWYwMTkwODlmMDY0NDE5MGU2ZmMzOGRkNmY1MTU5ZWJkZDQuLjQ1YTI5
MDBkYTY5MjA2NjE1YTFmMWUyMWVhNGM1YjY3MDJhN2E4MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNr
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2Vy
dmljZVdvcmtlckZldGNoVGFzay5jcHAKQEAgLTI0MywxNSArMjQzLDEwIEBAIHZvaWQgU2Vydmlj
ZVdvcmtlckZldGNoVGFzazo6ZGlkUmVjZWl2ZUZvcm1EYXRhKGNvbnN0IElQQzo6Rm9ybURhdGFS
ZWZlcmVuY2UmIGZvCiAgICAgLy8gRklYTUU6IEFsbG93IFdlYlJlc291cmNlTG9hZGVyIHRvIHJl
Y2VpdmUgZm9ybSBkYXRhLgogfQogCi12b2lkIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OmRpZEZp
bmlzaCgpCi17Ci0gICAgZGlkRmluaXNoV2l0aE1ldHJpY3MoeyB9KTsKLX0KLQotdm9pZCBTZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrOjpkaWRGaW5pc2hXaXRoTWV0cmljcyhjb25zdCBOZXR3b3JrTG9h
ZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWV0cmljcykKK3ZvaWQgU2VydmljZVdvcmtlckZldGNoVGFz
azo6ZGlkRmluaXNoKGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgbmV0d29ya0xvYWRNZXRyaWNz
KQogewogICAgIEFTU0VSVCghbV90aW1lb3V0VGltZXIgfHwgIW1fdGltZW91dFRpbWVyLT5pc0Fj
dGl2ZSgpKTsKLSAgICBTV0ZFVENIX1JFTEVBU0VfTE9HKCJkaWRGaW5pc2hXaXRoTWV0cmljczoi
KTsKKyAgICBTV0ZFVENIX1JFTEVBU0VfTE9HKCJkaWRGaW5pc2g6Iik7CiAKICAgICBtX2lzRG9u
ZSA9IHRydWU7CiAgICAgaWYgKG1fdGltZW91dFRpbWVyKQpAQCAtMzk4LDcgKzM5Myw3IEBAIHZv
aWQgU2VydmljZVdvcmtlckZldGNoVGFzazo6bG9hZEJvZHlGcm9tUHJlbG9hZGVyKCkKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAoIWNodW5rKSB7Ci0gICAgICAg
ICAgICBkaWRGaW5pc2hXaXRoTWV0cmljcyhtX3ByZWxvYWRlci0+bmV0d29ya0xvYWRNZXRyaWNz
KCkpOworICAgICAgICAgICAgZGlkRmluaXNoKG1fcHJlbG9hZGVyLT5uZXR3b3JrTG9hZE1ldHJp
Y3MoKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgZGlkUmVjZWl2
ZURhdGEoSVBDOjpTaGFyZWRCdWZmZXJDb3B5KGNvbnN0X2Nhc3Q8V2ViQ29yZTo6RnJhZ21lbnRl
ZFNoYXJlZEJ1ZmZlciY+KCpjaHVuaykpLCBsZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2su
aCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29y
a2VyRmV0Y2hUYXNrLmgKaW5kZXggNTIyNWU1NDU5OTk1MWQ4ZjgxYzcwYWY4MmViYmEyNjg5ZTM1
MDA2Ni4uM2E2NzM5ZjBkNTk4MDNlYWFmYmZiYWU3MmFkYjIyMjFhMmEzZDIyOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3Jr
ZXJGZXRjaFRhc2suaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5oCkBAIC05Niw4ICs5Niw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYm
LCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVEYXRhKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29weSYsIGludDY0X3QgZW5j
b2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkUmVjZWl2ZUZvcm1EYXRhKGNvbnN0IElQQzo6
Rm9ybURhdGFSZWZlcmVuY2UmKTsKLSAgICB2b2lkIGRpZEZpbmlzaCgpOwotICAgIHZvaWQgZGlk
RmluaXNoV2l0aE1ldHJpY3MoY29uc3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJik7Cisg
ICAgdm9pZCBkaWRGaW5pc2goY29uc3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJik7CiAg
ICAgdm9pZCBkaWRGYWlsKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICB2b2lk
IGRpZE5vdEhhbmRsZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0
Y2hUYXNrLm1lc3NhZ2VzLmluCmluZGV4IDdkYjUzZTliZDAzODA0NTQ3M2EyNWFmMzdkNDdjMTk1
Nzk1ZTIzMjAuLjZlMDY4ZGRlN2ZmNDM1MTY3MDFkNWE2ZjU5YWNlNjE3ZDRhZjYzNjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLm1lc3NhZ2VzLmluCkBA
IC0yOSw3ICsyOSw3IEBAIG1lc3NhZ2VzIC0+IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgTm90UmVm
Q291bnRlZCB7CiAgICAgRGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UgcmVzcG9uc2UsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2Up
CiAgICAgRGlkUmVjZWl2ZURhdGEoSVBDOjpTaGFyZWRCdWZmZXJDb3B5IGRhdGEsIGludDY0X3Qg
ZW5jb2RlZERhdGFMZW5ndGgpCiAgICAgRGlkUmVjZWl2ZUZvcm1EYXRhKElQQzo6Rm9ybURhdGFS
ZWZlcmVuY2UgZGF0YSkKLSAgICBEaWRGaW5pc2goKQorICAgIERpZEZpbmlzaChXZWJDb3JlOjpO
ZXR3b3JrTG9hZE1ldHJpY3MgbWV0cmljcykKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAKaW5kZXggN2Vi
Zjk4MGE4OTRkOTI2MzM3NDAxNDFhZjhjMTQ4ZmYyYjVlYzRhZS4uYjM3NTlhMmZkNjJkMDNhOGRi
ODc5NGJhNThmNjU2MGEwMjNlZmFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0Ns
aWVudC5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNr
Q2xpZW50OjpkaWRSZWNlaXZlRm9ybURhdGFBbmRGaW5pc2goUmVmPEZvcm1EYXRhPiYKIHsKICAg
ICBpZiAoYXV0byBzaGFyZWRCdWZmZXIgPSBmb3JtRGF0YS0+YXNTaGFyZWRCdWZmZXIoKSkgewog
ICAgICAgICBkaWRSZWNlaXZlRGF0YShzaGFyZWRCdWZmZXIucmVsZWFzZU5vbk51bGwoKSk7Ci0g
ICAgICAgIGRpZEZpbmlzaCgpOworICAgICAgICBkaWRGaW5pc2goeyB9KTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIApAQCAtMTQ5LDcgKzE0OSw3IEBAIHZvaWQgV2ViU2VydmljZVdvcmtlckZl
dGNoVGFza0NsaWVudDo6ZGlkUmVjZWl2ZUJsb2JDaHVuayhjb25zdCBTaGFyZWRCdWZmZXImIGJ1
CiAKIHZvaWQgV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6ZGlkRmluaXNoQmxvYkxv
YWRpbmcoKQogewotICAgIGRpZEZpbmlzaCgpOworICAgIGRpZEZpbmlzaCh7IH0pOwogCiAgICAg
c3RkOjpleGNoYW5nZShtX2Jsb2JMb2FkZXIsIHN0ZDo6bnVsbG9wdCk7CiB9CkBAIC0xNzQsNyAr
MTc0LDcgQEAgdm9pZCBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50OjpkaWRGYWlsKGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogICAgIGNsZWFudXAoKTsKIH0KIAotdm9pZCBXZWJT
ZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50OjpkaWRGaW5pc2goKQordm9pZCBXZWJTZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrQ2xpZW50OjpkaWRGaW5pc2goY29uc3QgTmV0d29ya0xvYWRNZXRyaWNz
JiBtZXRyaWNzKQogewogICAgIGlmICghbV9jb25uZWN0aW9uKQogICAgICAgICByZXR1cm47CkBA
IC0xODMsMTMgKzE4MywxNCBAQCB2b2lkIFdlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6
OmRpZEZpbmlzaCgpCiAgICAgICAgIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICJTZXJ2aWNl
V29ya2VyRnJhbWVMb2FkZXJDbGllbnQ6OmRpZEZpbmlzaCB3aGlsZSB3YWl0aW5nLCBmZXRjaCBp
ZGVudGlmaWVyICVsbHUiLCBtX2ZldGNoSWRlbnRpZmllci50b1VJbnQ2NCgpKTsKIAogICAgICAg
ICBtX2RpZEZpbmlzaCA9IHRydWU7CisgICAgICAgIG1fbmV0d29ya0xvYWRNZXRyaWNzID0gbWV0
cmljczsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChtX2lzRG93bmxvYWQpCiAg
ICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6U2VydmljZVdvcmtlckRvd25sb2Fk
VGFzazo6RGlkRmluaXNoIHsgfSwgbV9mZXRjaElkZW50aWZpZXIpOwogICAgIGVsc2UKLSAgICAg
ICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpE
aWRGaW5pc2ggeyB9LCBtX2ZldGNoSWRlbnRpZmllcik7CisgICAgICAgIG1fY29ubmVjdGlvbi0+
c2VuZChNZXNzYWdlczo6U2VydmljZVdvcmtlckZldGNoVGFzazo6RGlkRmluaXNoIHsgbWV0cmlj
cyB9LCBtX2ZldGNoSWRlbnRpZmllcik7CiAKICAgICBjbGVhbnVwKCk7CiB9CkBAIC0yMjYsMTEg
KzIyNywxMSBAQCB2b2lkIFdlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OmNvbnRpbnVl
RGlkUmVjZWl2ZVJlc3BvbnNlKCkKIAogICAgIHN3aXRjaE9uKG1fcmVzcG9uc2VEYXRhLCBbdGhp
c10oc3RkOjpudWxscHRyX3QmKSB7CiAgICAgICAgIGlmIChtX2RpZEZpbmlzaCkKLSAgICAgICAg
ICAgIGRpZEZpbmlzaCgpOworICAgICAgICAgICAgZGlkRmluaXNoKG1fbmV0d29ya0xvYWRNZXRy
aWNzKTsKICAgICB9LCBbdGhpc10oY29uc3QgU2hhcmVkQnVmZmVyQnVpbGRlciYgYnVmZmVyKSB7
CiAgICAgICAgIGRpZFJlY2VpdmVEYXRhKGJ1ZmZlci5jb3B5KCktPm1ha2VDb250aWd1b3VzKCkp
OwogICAgICAgICBpZiAobV9kaWRGaW5pc2gpCi0gICAgICAgICAgICBkaWRGaW5pc2goKTsKKyAg
ICAgICAgICAgIGRpZEZpbmlzaChtX25ldHdvcmtMb2FkTWV0cmljcyk7CiAgICAgfSwgW3RoaXNd
KFJlZjxGb3JtRGF0YT4mIGZvcm1EYXRhKSB7CiAgICAgICAgIGRpZFJlY2VpdmVGb3JtRGF0YUFu
ZEZpbmlzaChXVEZNb3ZlKGZvcm1EYXRhKSk7CiAgICAgfSwgW3RoaXNdKFVuaXF1ZVJlZjxSZXNv
dXJjZUVycm9yPiYgZXJyb3IpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaApp
bmRleCAwOTQwMGRmMGNlNzI1ZjM5YThiMTFkOTM1ZTE0NTRlMzk5ZjVhMjYzLi5lNTBiN2U5YmU0
OTFkOWJmN2Y0MWY2ZDkxODUxMGI5YWRjNGNkYTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNo
VGFza0NsaWVudC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GZXRjaElk
ZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZldGNoTG9hZGVyLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9GZXRjaExvYWRlckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya0xv
YWRNZXRyaWNzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyRmV0Y2guaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
U2hhcmVkQnVmZmVyLmg+CkBAIC01Myw3ICs1NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRS
ZWNlaXZlRGF0YShjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImKSBmaW5hbDsKICAgICB2b2lk
IGRpZFJlY2VpdmVGb3JtRGF0YUFuZEZpbmlzaChSZWY8V2ViQ29yZTo6Rm9ybURhdGE+JiYpIGZp
bmFsOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJikgZmlu
YWw7Ci0gICAgdm9pZCBkaWRGaW5pc2goKSBmaW5hbDsKKyAgICB2b2lkIGRpZEZpbmlzaChjb25z
dCBXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbDsKICAgICB2b2lkIGRpZE5vdEhh
bmRsZSgpIGZpbmFsOwogICAgIHZvaWQgY2FuY2VsKCkgZmluYWw7CiAgICAgdm9pZCBjb250aW51
ZURpZFJlY2VpdmVSZXNwb25zZSgpIGZpbmFsOwpAQCAtNzEsNyArNzIsNyBAQCBwcml2YXRlOgog
ICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJikgZmluYWwgeyB9CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgV2Vi
Q29yZTo6U2hhcmVkQnVmZmVyJiBkYXRhKSBmaW5hbCB7IGNsaWVudC0+ZGlkUmVjZWl2ZUJsb2JD
aHVuayhkYXRhKTsgfQogICAgICAgICB2b2lkIGRpZEZhaWwoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYgZXJyb3IpIGZpbmFsIHsgY2xpZW50LT5kaWRGYWlsKGVycm9yKTsgfQotICAgICAg
ICB2b2lkIGRpZFN1Y2NlZWQoKSBmaW5hbCB7IGNsaWVudC0+ZGlkRmluaXNoQmxvYkxvYWRpbmco
KTsgfQorICAgICAgICB2b2lkIGRpZFN1Y2NlZWQoY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikg
ZmluYWwgeyBjbGllbnQtPmRpZEZpbmlzaEJsb2JMb2FkaW5nKCk7IH0KIAogICAgICAgICBSZWY8
V2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudD4gY2xpZW50OwogICAgICAgICBzdGQ6OnVu
aXF1ZV9wdHI8V2ViQ29yZTo6RmV0Y2hMb2FkZXI+IGxvYWRlcjsKQEAgLTg1LDYgKzg2LDcgQEAg
cHJpdmF0ZToKICAgICBib29sIG1fbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3Nh
Z2UgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93YWl0aW5nRm9yQ29udGludWVEaWRSZWNlaXZlUmVz
cG9uc2VNZXNzYWdlIHsgZmFsc2UgfTsKICAgICBzdGQ6OnZhcmlhbnQ8c3RkOjpudWxscHRyX3Qs
IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlckJ1aWxkZXIsIFJlZjxXZWJDb3JlOjpGb3JtRGF0YT4sIFVu
aXF1ZVJlZjxXZWJDb3JlOjpSZXNvdXJjZUVycm9yPj4gbV9yZXNwb25zZURhdGE7CisgICAgV2Vi
Q29yZTo6TmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRyaWNzOwogICAgIGJvb2wg
bV9kaWRGaW5pc2ggeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0Rvd25sb2FkIHsgZmFsc2UgfTsK
IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMTQxNjQ3OWU2OTUwYjQ5NTk0NjkzNWJlNmQxOTEwMzg1MGZjNjE1Ny4uZjhh
NWQwNWNmMTRlZDAzZTQwZWY5YWRkZGUwNzQ2ZDIzYTkyMWI5NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDIyLTAxLTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBUcmFuc21pdCBuZXR3b3JrIGxvYWQgbWV0cmljcyB3aGVuIHNlcnZpY2Ugd29ya2VyIGlz
IHVzaW5nIG9uZSBvZiBpdHMgbmV0d29yayBsb2FkIHRvIHJlc3BvbmQgdG8gRmV0Y2hFdmVudHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTE3OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC93
cHQvc2VydmljZS13b3JrZXJzL2ZldGNoLW1ldHJpY3MtdmlhLXNlcnZpY2Utd29ya2VyLmh0dHBz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJz
L2ZldGNoLW1ldHJpY3MtdmlhLXNlcnZpY2Utd29ya2VyLmh0dHBzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXdvcmtlci5qczog
QWRkZWQuCisKIDIwMjItMDEtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIE1ha2UgU2VydmljZVdvcmtlckNsaWVudC5pZCBhIFVVSUQgaW5zdGVhZCBvZiBh
IHN0cmluZyBkZXJpdmVkIGZyb20gYSBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNoLW1l
dHJpY3MtdmlhLXNlcnZpY2Utd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXZpYS1zZXJ2aWNlLXdvcmtl
ci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTYzNDU2M2ZkZWFmNWM0Yjg3OWJiNjNj
YWFhMTc2YzA0MmU2YmNiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXZpYS1zZXJ2aWNlLXdvcmtlci5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKKworUEFTUyBTZXR1cCB3b3JrZXIKK1BBU1Mg
VmFsaWRhdGUgbWV0cmljcyBvZiBhIGZldGNoIHZpYSBzZXJ2aWNlIHdvcmtlcgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy12
aWEtc2VydmljZS13b3JrZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXZpYS1zZXJ2aWNlLXdvcmtlci5odHRwcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmUwZWE2NTU1YWY4ZTkwYzM4ODJhZjA5NWJmNGYyZDM1ZmI4OTI5MTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gt
bWV0cmljcy12aWEtc2VydmljZS13b3JrZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDQzIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgordmFyIHNjb3BlID0gInJlc291cmNlcyI7Cit2YXIgYWN0aXZlV29ya2VyOworCitw
cm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICB2YXIgcmVnaXN0cmF0aW9uID0gYXdh
aXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoImZldGNoLW1ldHJpY3Mtd29ya2Vy
LmpzIiwgeyBzY29wZSA6IHNjb3BlIH0pOworICAgIGFjdGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlv
bi5hY3RpdmU7CisgICAgaWYgKGFjdGl2ZVdvcmtlcikKKyAgICAgICAgcmV0dXJuOworICAgIGFj
dGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgIHJldHVybiBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgYWN0aXZlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIo
J3N0YXRlY2hhbmdlJywgKCkgPT4geworICAgICAgICAgICAgaWYgKGFjdGl2ZVdvcmtlci5zdGF0
ZSA9PT0gImFjdGl2YXRlZCIpCisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9
KTsKKyAgICB9KTsKK30sICJTZXR1cCB3b3JrZXIiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0
ZXN0KSA9PiB7CisgICAgY29uc3QgaWZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUoc2NvcGUpOwor
CisgICAgY29uc3QgcmVzcG9uc2UxID0gYXdhaXQgaWZyYW1lLmNvbnRlbnRXaW5kb3cuZmV0Y2go
Ii8/aW50ZXJjZXB0Iik7CisgICAgY29uc3QgcmVzcG9uc2UyID0gYXdhaXQgaWZyYW1lLmNvbnRl
bnRXaW5kb3cuZmV0Y2goIi8/ZG8tbm90LWludGVyY2VwdCIpOworCisgICAgYXNzZXJ0X2VxdWFs
cyhyZXNwb25zZTEuc3RhdHVzLCAyMDApOworICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2UyLnN0
YXR1cywgMjAwKTsKKworICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgcmV0dXJu
OworCisgICAgYXNzZXJ0X3RydWUoaW50ZXJuYWxzLnJlc3BvbnNlTmV0d29ya0xvYWRNZXRyaWNz
UHJvdG9jb2wocmVzcG9uc2UxKS5sZW5ndGggPiAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGludGVy
bmFscy5yZXNwb25zZU5ldHdvcmtMb2FkTWV0cmljc1Byb3RvY29sKHJlc3BvbnNlMSksIGludGVy
bmFscy5yZXNwb25zZU5ldHdvcmtMb2FkTWV0cmljc1Byb3RvY29sKHJlc3BvbnNlMikpOworfSwg
IlZhbGlkYXRlIG1ldHJpY3Mgb2YgYSBmZXRjaCB2aWEgc2VydmljZSB3b3JrZXIiKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL2ZldGNoLW1ldHJpY3Mtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNoLW1ldHJpY3Mtd29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdkOTY5ZGUyNzg1ZGQ4NzNkZDZhYzJmYTMzNzRhYzFlMGExMWJjNGYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy13
b3JrZXIuanMKQEAgLTAsMCArMSw3IEBACitmdW5jdGlvbiBkb1Rlc3QoZXZlbnQpCit7CisgICAg
aWYgKGV2ZW50LnJlcXVlc3QudXJsLmluY2x1ZGVzKCc/aW50ZXJjZXB0JykpCisgICAgICAgIGV2
ZW50LnJlc3BvbmRXaXRoKGZldGNoKGV2ZW50LnJlcXVlc3QpKTsKK30KKworc2VsZi5hZGRFdmVu
dExpc3RlbmVyKCJmZXRjaCIsIGRvVGVzdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449086</attachid>
            <date>2022-01-13 11:08:12 -0800</date>
            <delta_ts>2022-01-16 22:26:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235179-20220113200810.patch</filename>
            <type>text/plain</type>
            <size>43084</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTAwMTMxZjYzN2NlZWMz
ZmVjMDU4ZDY5MTg2ZDc0MjJkZDZhZWQ1OS4uNDZjMzFhMWRlNWM0ZTk4NWYwY2Q0MmExNTE4OTI4
YTk2MmJkMDBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIyLTAxLTEzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUcmFuc21pdCBuZXR3b3Jr
IGxvYWQgbWV0cmljcyB3aGVuIHNlcnZpY2Ugd29ya2VyIGlzIHVzaW5nIG9uZSBvZiBpdHMgbmV0
d29yayBsb2FkIHRvIHJlc3BvbmQgdG8gRmV0Y2hFdmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IEZldGNoUmVzcG9uc2VzIHRvIGdldCB0
aGVpciBuZXR3b3JrIG1ldHJpY3MuCisgICAgICAgIFRoaXMgcmVxdWlyZXMgYWxsIFRocmVhZGFi
bGVMb2FkZXJDbGllbnRzIHRvIHJlY2VpdmUgdGhlc2UgbWV0cmljcy4KKyAgICAgICAgU2Vydmlj
ZVdvcmtlckZldGNoIGlzIHRoZW4gYWJsZSB0byBnZXQgdGhlIG1ldHJpY3MgZnJvbSBpdHMgRmV0
Y2hSZXNwb25zZSB0byBzZW5kIGl0IHRvIHRoZSBzZXJ2aWNlIHdvcmtlciBsb2FkIGNsaWVudC4K
KworICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy12
aWEtc2VydmljZS13b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHlPd25lci5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaDoKKyAgICAgICAgKiBNb2R1
bGVzL2ZldGNoL0ZldGNoTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2Uu
aDoKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwOgorICAgICAgICAqIGZp
bGVhcGkvRmlsZVJlYWRlckxvYWRlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yTmV0d29ya0FnZW50LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAg
KiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRo
cmVhZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAg
ICAgKiBwYWdlL0V2ZW50U291cmNlLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNwcDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5oOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJGZXRjaC5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vydmlj
ZVdvcmtlckZldGNoLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwogMjAyMi0wMS0xMyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBTZXJ2aWNlV29ya2VyQ2xpZW50Lmlk
IGEgVVVJRCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGRlcml2ZWQgZnJvbSBhIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRmNzExNTNlODQxNWQwZWRkM2I0M2RlMDE1
ZDUwMTk0ZGI3M2IxYTMuLjJkNDljOTc1NTAyMzY5YmI1MmZhNjk4Yjg5NDczODgwMjBkYWIyYWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjItMDEtMTMgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFRyYW5zbWl0IG5ldHdvcmsgbG9hZCBtZXRyaWNz
IHdoZW4gc2VydmljZSB3b3JrZXIgaXMgdXNpbmcgb25lIG9mIGl0cyBuZXR3b3JrIGxvYWQgdG8g
cmVzcG9uZCB0byBGZXRjaEV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM1MTc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUGlwZSBuZXR3b3JrIG1ldHJpY3MgZG93biB0byBXZWJQcm9jZXNzLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0
Y2hUYXNrLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZp
Y2VXb3JrZXJGZXRjaFRhc2suaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2subWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuY3BwOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50Lmg6
CisKIDIwMjItMDEtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1ha2UgU2VydmljZVdvcmtlckNsaWVudC5pZCBhIFVVSUQgaW5zdGVhZCBvZiBhIHN0cmlu
ZyBkZXJpdmVkIGZyb20gYSBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCmluZGV4IDcxMGVkY2Zk
NjY1MjdmMDRjMWZhOTE1NDg4NjRmODA0YTIyZTY0ZjcuLjY4NTVhM2MyMmI4MTVjYTVjOTFjYjhm
ZGI2MjJlMzY5YTcwNDFmNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hCb2R5T3duZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoQm9keU93bmVyLmgKQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lk
IGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAg
ICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJiBidWZmZXIpIGZpbmFs
IHsgb3duZXIuYmxvYkNodW5rKGJ1ZmZlcik7IH0KICAgICAgICAgdm9pZCBkaWRGYWlsKGNvbnN0
IFJlc291cmNlRXJyb3ImKSBmaW5hbDsKLSAgICAgICAgdm9pZCBkaWRTdWNjZWVkKCkgZmluYWwg
eyBvd25lci5ibG9iTG9hZGluZ1N1Y2NlZWRlZCgpOyB9CisgICAgICAgIHZvaWQgZGlkU3VjY2Vl
ZChjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbCB7IG93bmVyLmJsb2JMb2FkaW5nU3Vj
Y2VlZGVkKCk7IH0KIAogICAgICAgICBGZXRjaEJvZHlPd25lciYgb3duZXI7CiAgICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxGZXRjaExvYWRlcj4gbG9hZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCBiMjZjMmFkMTUwNGYzZjc0ZDA4YWZhNjUx
ZTA1MDEyZDZlMzZiOTQ2Li43Y2VhMzJhOTU4ZjE0YmQ4Yzg3OGJjNTFmNDljMWQxYWRhNmQ2YTM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApAQCAt
MTU3LDkgKzE1Nyw5IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IFNo
YXJlZEJ1ZmZlciYgYnVmZmVyKQogICAgIG1fY29uc3VtZXItPmFwcGVuZChidWZmZXIpOwogfQog
Ci12b2lkIEZldGNoTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRp
ZmllcikKK3ZvaWQgRmV0Y2hMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJ
ZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpCiB7Ci0gICAgbV9j
bGllbnQuZGlkU3VjY2VlZCgpOworICAgIG1fY2xpZW50LmRpZFN1Y2NlZWQobWV0cmljcyk7CiB9
CiAKIHZvaWQgRmV0Y2hMb2FkZXI6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3Ip
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmgKaW5kZXggNzJiMjcy
ZWJlNjU0ODBmOGEyYjBlZWFiZTcyNzU1MzFjN2Y1YjZhNy4uZmM1NDExZmQ5Y2FlODNmYjVjMWIy
OTg4MDg1MGY1ZTEwODg0YTBkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hMb2FkZXIuaApAQCAtNTksNyArNTksNyBAQCBwcml2YXRlOgogICAgIC8vIFRocmVhZGFibGVM
b2FkZXJDbGllbnQgQVBJLgogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9h
ZGVySWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsOwogICAgIHZvaWQg
ZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJikgZmluYWw7Ci0gICAgdm9pZCBkaWRG
aW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllcikgZmluYWw7CisgICAgdm9pZCBk
aWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgTmV0d29ya0xv
YWRNZXRyaWNzJikgZmluYWw7CiAgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3Im
KSBmaW5hbDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hMb2FkZXJDbGllbnQuaAppbmRleCAxMDllMDhlY2Y3YTQ3ZTdjMDM3ZTMyZGNhYWNhYjg2
YzgxYzE4ZDNkLi4zZmIyNDdmNzRkMjk0MWI5NGUxODMxYTQ3N2M3ZGM4MTlkM2U1OWM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlckNsaWVudC5oCkBA
IC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0
YShjb25zdCBTaGFyZWRCdWZmZXImKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVk
KCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVkKGNvbnN0IE5ldHdvcmtMb2FkTWV0
cmljcyYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9y
JikgPSAwOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNw
b25zZS5jcHAKaW5kZXggMGQ0ZmYxYTc4NTMzZGY0NTFhOTEwMmEyNGJkODhlMTA4NmNiZWJlMC4u
Y2UxZjdkNTk3YWRjN2NkZGU0N2JiNzBlZmJhMzQxNTM5YjYzYzM1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBAIC0yNzksMTEgKzI3OSwx
MSBAQCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBGZXRjaFJlc3BvbnNlOjpmaWx0ZXJlZFJlc3Bv
bnNlKCkgY29uc3QKICAgICByZXR1cm4gbV9pbnRlcm5hbFJlc3BvbnNlOwogfQogCi12b2lkIEZl
dGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6OmRpZFN1Y2NlZWQoKQordm9pZCBGZXRjaFJlc3BvbnNl
OjpCb2R5TG9hZGVyOjpkaWRTdWNjZWVkKGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgbWV0cmlj
cykKIHsKICAgICBBU1NFUlQobV9yZXNwb25zZS5oYXNQZW5kaW5nQWN0aXZpdHkoKSk7CiAgICAg
bV9yZXNwb25zZS5tX2JvZHktPmxvYWRpbmdTdWNjZWVkZWQobV9yZXNwb25zZS5jb250ZW50VHlw
ZSgpKTsKLQorICAgIG1fcmVzcG9uc2Uuc2V0TmV0d29ya0xvYWRNZXRyaWNzKG1ldHJpY3MpOwog
ICAgIGlmIChtX3Jlc3BvbnNlLm1fcmVhZGFibGVTdHJlYW1Tb3VyY2UpIHsKICAgICAgICAgaWYg
KG1fcmVzcG9uc2UuYm9keSgpLmNvbnN1bWVyKCkuaGFzRGF0YSgpKQogICAgICAgICAgICAgbV9y
ZXNwb25zZS5tX3JlYWRhYmxlU3RyZWFtU291cmNlLT5lbnF1ZXVlKG1fcmVzcG9uc2UuYm9keSgp
LmNvbnN1bWVyKCkudGFrZUFzQXJyYXlCdWZmZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCmluZGV4IDI3NDY4MDdjYThiYmIxODNiMDM0MTFhOTk0
OWMyZjRkNWQ1NDdhYjUuLmM2YzczYTY5ZmJhMDdlM2JmZTM5MmRjMDVlZTA1NTkyMjg5MmRlYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCkBAIC0x
MTEsNiArMTExLDggQEAgcHVibGljOgogICAgIGJvb2wgaXNDT1JTU2FtZU9yaWdpbigpIGNvbnN0
OwogICAgIGJvb2wgaGFzV2FzbU1JTUVUeXBlKCkgY29uc3Q7CiAKKyAgICBjb25zdCBOZXR3b3Jr
TG9hZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIG1fbmV0d29y
a0xvYWRNZXRyaWNzOyB9CisKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXNwb25zZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kiwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYsIFJlZjxGZXRjaEhlYWRl
cnM+JiYsIFJlc291cmNlUmVzcG9uc2UmJik7CiAKQEAgLTExOCw3ICsxMjAsNyBAQCBwcml2YXRl
OgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKIAog
ICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGZpbHRlcmVkUmVzcG9uc2UoKSBjb25zdDsKLQor
ICAgIHZvaWQgc2V0TmV0d29ya0xvYWRNZXRyaWNzKGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYg
bmV0d29ya0xvYWRNZXRyaWNzKSB7IG1fbmV0d29ya0xvYWRNZXRyaWNzID0gbmV0d29ya0xvYWRN
ZXRyaWNzOyB9CiAgICAgdm9pZCBjbG9zZVN0cmVhbSgpOwogCiAgICAgdm9pZCBhZGRBYm9ydFN0
ZXBzKFJlZjxBYm9ydFNpZ25hbD4mJik7CkBAIC0xNDAsNyArMTQyLDcgQEAgcHJpdmF0ZToKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIC8vIEZldGNoTG9hZGVyQ2xpZW50IEFQSQotICAgICAgICB2
b2lkIGRpZFN1Y2NlZWQoKSBmaW5hbDsKKyAgICAgICAgdm9pZCBkaWRTdWNjZWVkKGNvbnN0IE5l
dHdvcmtMb2FkTWV0cmljcyYpIGZpbmFsOwogICAgICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVz
b3VyY2VFcnJvciYpIGZpbmFsOwogICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEo
Y29uc3QgU2hhcmVkQnVmZmVyJikgZmluYWw7CkBAIC0xNjEsNiArMTYzLDcgQEAgcHJpdmF0ZToK
ICAgICB1aW50NjRfdCBtX2JvZHlTaXplV2l0aFBhZGRpbmcgeyAwIH07CiAgICAgdWludDY0X3Qg
bV9vcGFxdWVMb2FkSWRlbnRpZmllciB7IDAgfTsKICAgICBSZWZQdHI8QWJvcnRTaWduYWw+IG1f
YWJvcnRTaWduYWw7CisgICAgTmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRyaWNz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVJlYWRlckxvYWRlci5jcHAKaW5kZXggMDdhYmNhYTgxZGRmNDBhZDlmYzY5OTA3MzRmYjhj
NTI4NGFhN2E4Yy4uOGUwMzBlZDkxMjBjMTJmNDZkMGU1ZTA5ZDFiYzIwNGIwNWEzYjU1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwCkBAIC0yMjAsNyAr
MjIwLDcgQEAgdm9pZCBGaWxlUmVhZGVyTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFy
ZWRCdWZmZXImIGJ1ZmZlcikKICAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVEYXRhKCk7CiB9
CiAKLXZvaWQgRmlsZVJlYWRlckxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRl
cklkZW50aWZpZXIpCit2b2lkIEZpbGVSZWFkZXJMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoUmVz
b3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKQogewogICAg
IGlmIChtX3ZhcmlhYmxlTGVuZ3RoICYmIG1fdG90YWxCeXRlcyA+IG1fYnl0ZXNMb2FkZWQpIHsK
ICAgICAgICAgbV9yYXdEYXRhID0gbV9yYXdEYXRhLT5zbGljZSgwLCBtX2J5dGVzTG9hZGVkKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5oIGIv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmgKaW5kZXggNjMxNmM0MDA0
ZGVmYjRhNzZjZDAzMjNmYzQ4NjUxZDM5ZGExMTUzOC4uMzgyYjIwNjkxNzQ1NDViMTk5NDA0NmU1
YWJlYzc2MzVkYzk0M2EyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxl
UmVhZGVyTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9h
ZGVyLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogICAgIC8vIFRocmVhZGFibGVMb2FkZXJD
bGllbnQKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2Vp
dmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIG92ZXJyaWRlOwotICAgIHZvaWQgZGlkRmluaXNo
TG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpIG92ZXJyaWRlOworICAgIHZvaWQgZGlk
RmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2Fk
TWV0cmljcyYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9y
Jikgb3ZlcnJpZGU7CiAKICAgICBTdHJpbmcgc3RyaW5nUmVzdWx0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5j
cHAKaW5kZXggMGMyOTcwZTgzOGE3MDE1Y2M5ZWM2NWJiNWNkOGVkNDgwNDY5MDJjYS4uYzA4N2Y3
NTA4YzE4Mjk1NzE0ZGM3NWZiYmU3ZmFmYjZjYmQ5N2RiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApA
QCAtMTMyLDcgKzEzMiw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9yZXNwb25zZVRleHQuYXBwZW5k
KG1fZGVjb2Rlci0+ZGVjb2RlKGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpKTsKICAgICB9
CiAKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKSBv
dmVycmlkZQorICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBp
ZiAobV9kZWNvZGVyKQogICAgICAgICAgICAgbV9yZXNwb25zZVRleHQuYXBwZW5kKG1fZGVjb2Rl
ci0+Zmx1c2goKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwCmluZGV4IDI5MTJlM2Q1NjIxNTMxYzllZGQyODliMjM3MWFhMTA3NmEy
Y2VmZWMuLjVkMzlhNDk1NzE3ZjdkZjM2NTc3YjI4OGI1NGQzYTg4Y2U3NGUyMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBA
IC00MjksNyArNDI5LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmRpZFJlY2Vp
dmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnQKICAgICAgICAgaWYgKHJl
c3BvbnNlLnRhaW50aW5nKCkgPT0gUmVzb3VyY2VSZXNwb25zZTo6VGFpbnRpbmc6Ok9wYXF1ZSkg
ewogICAgICAgICAgICAgY2xlYXJSZXNvdXJjZSgpOwogICAgICAgICAgICAgaWYgKG1fY2xpZW50
KQotICAgICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZpZXIp
OworICAgICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZpZXIs
IHsgfSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQ2OCw3ICs0Njgs
NyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6ZmluaXNoZWRUaW1pbmdGb3JXb3Jr
ZXJMb2FkKGNvbnN0IFJlc291cmNlVGltaW5nJgogICAgIG1fY2xpZW50LT5kaWRGaW5pc2hUaW1p
bmcocmVzb3VyY2VUaW1pbmcpOwogfQogCi12b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6
bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZXR3b3JrTG9h
ZE1ldHJpY3MmKQordm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVk
KENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRy
aWNzKQogewogICAgIEFTU0VSVChtX2NsaWVudCk7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJj
ZSwgJnJlc291cmNlID09IG1fcmVzb3VyY2UpOwpAQCAtNDc2LDEwICs0NzYsMTAgQEAgdm9pZCBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiBy
ZXNvdXJjZSwgY29uc3QgTmUKICAgICBpZiAobV9yZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgpKQog
ICAgICAgICBkaWRGYWlsKG1fcmVzb3VyY2UtPmlkZW50aWZpZXIoKSwgbV9yZXNvdXJjZS0+cmVz
b3VyY2VFcnJvcigpKTsKICAgICBlbHNlCi0gICAgICAgIGRpZEZpbmlzaExvYWRpbmcobV9yZXNv
dXJjZS0+aWRlbnRpZmllcigpKTsKKyAgICAgICAgZGlkRmluaXNoTG9hZGluZyhtX3Jlc291cmNl
LT5pZGVudGlmaWVyKCksIG1ldHJpY3MpOwogfQogCi12b2lkIERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRpZmll
cikKK3ZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291
cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3Mm
IG1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKG1fY2xpZW50KTsKIApAQCAtNTA0LDcgKzUwNCw3IEBA
IHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNl
TG9hZGVySWRlbnRpZmllciBpZGVudGlmCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2NsaWVu
dC0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKKyAgICBtX2NsaWVudC0+ZGlkRmluaXNo
TG9hZGluZyhpZGVudGlmaWVyLCBtZXRyaWNzKTsKIH0KIAogdm9pZCBEb2N1bWVudFRocmVhZGFi
bGVMb2FkZXI6OmRpZEZhaWwoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJj
ZUVycm9yJiBlcnJvcikKQEAgLTYxNyw3ICs2MTcsNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcjo6bG9hZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2VjdXJpdHlD
aAogICAgICAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCBYTUxIdHRwUmVxdWVzdCB0byByYWlzZSBh
biBleGNlcHRpb24gZm9yIGZpbGU6Ly8gcmVzb3VyY2VzLCBzZWUgPHJkYXI6Ly9wcm9ibGVtLzQ5
NjIyOTg+LgogICAgICAgICAgICAgLy8gRklYTUU6IFhNTEh0dHBSZXF1ZXN0IHF1aXJrcyBzaG91
bGQgYmUgaW4gWE1MSHR0cFJlcXVlc3QgY29kZSwgbm90IGluIERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlci5jcHAuCiAgICAgICAgICAgICBkaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgcmVz
cG9uc2UpOwotICAgICAgICAgICAgZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKKyAgICAg
ICAgICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwgeyB9KTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogICAgICAgICBsb2dFcnJvckFuZEZhaWwoZXJyb3IpOwpAQCAtNjcz
LDcgKzY3Myw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVxdWVzdChS
ZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBTZWN1cml0eUNoCiAgICAgICAgICAgICB3aW5kb3ct
PnBlcmZvcm1hbmNlKCkuYWRkUmVzb3VyY2VUaW1pbmcoV1RGTW92ZShyZXNvdXJjZVRpbWluZykp
OwogICAgIH0KIAotICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllcik7CisgICAgZGlkRmlu
aXNoTG9hZGluZyhpZGVudGlmaWVyLCB7IH0pOwogfQogCiBib29sIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcjo6aXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgVVJMJiB1cmws
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGlyZWN0
UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBjODZiYTdm
NDUzODNiNmMyODYwMDMyZDNhZWJmYmEzZTA4NjA3NjkwLi4yNTNkMjZkYzgyNmEwOTYzNDdkNjhl
N2I3MDQ3MzFhMzZkZDRhZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC05NCw3ICs5NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICAgICAgdm9pZCBkaWRSZWNlaXZl
RGF0YShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFNoYXJlZEJ1ZmZlciYpOwotICAg
ICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKTsKKyAg
ICAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29u
c3QgTmV0d29ya0xvYWRNZXRyaWNzJik7CiAgICAgICAgIHZvaWQgZGlkRmFpbChSZXNvdXJjZUxv
YWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICAgICAgdm9pZCBtYWtl
Q3Jvc3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmKTsKICAgICAgICAgdm9p
ZCBtYWtlU2ltcGxlQ3Jvc3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmluZGV4
IGY5YzZiNWM0YTAyYWYwYmRhMTQyMGIwYWU4ZTU4ZTcxOWQzZmE0YzcuLmM4ZWU0YzJkMDVmOThm
NDhlZDlhZWVkYTY5ODFmNjliZThjYzI1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAtMzQsNiArMzQsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIE5ldHdvcmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNlRXJy
b3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBAIC00
Niw3ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9u
c2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIHsg
fQotICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRp
ZmllcikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2Fk
ZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgeyB9CiAgICAgdmlydHVhbCB2b2lk
IGRpZEZpbmlzaFRpbWluZyhjb25zdCBSZXNvdXJjZVRpbWluZyYpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBub3RpZnlJc0RvbmUoYm9vbCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIu
aAppbmRleCBiYWM2NmI0NTI4OTM4OGQ0YjY2MDdiYzA1ZjM0ZTAzN2NhMmQzNmEwLi5hMTdiMDcz
ODI3OTFhYWM0NmQyMDM1ZDMzMDUyNWUzYjFiNDdkMjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaApAQCAtNzIsMTEg
KzcyLDExIEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlRGF0YShi
dWZmZXIpOwogICAgIH0KIAotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRl
cklkZW50aWZpZXIgaWRlbnRpZmllcikKKyAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3Vy
Y2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYg
bWV0cmljcykKICAgICB7CiAgICAgICAgIG1fZG9uZSA9IHRydWU7CiAgICAgICAgIGlmIChtX2Ns
aWVudCkKLSAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZpZXIp
OworICAgICAgICAgICAgbV9jbGllbnQtPmRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwgbWV0
cmljcyk7CiAgICAgfQogCiAgICAgdm9pZCBub3RpZnlJc0RvbmUoYm9vbCBpc0RvbmUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXgg
Yjc3MWU2MDYyZGJhZDA3ZmVmMzg4MTA5YjA2YzZjZTEyOWM3MDRjMy4uMGIyNDMzYThkYzljNmZh
NTdmNDdlNjJhZDUwNThjMzkyNWUxYmU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMjQwLDEyICsyNDAsMTIgQEAgdm9pZCBX
b3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRSZWNlaXZlRGF0YShj
b25zdCBTaGFyZWRCdWZmZXIKICAgICB9LCBtX3Rhc2tNb2RlKTsKIH0KIAotdm9pZCBXb3JrZXJU
aHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291
cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyKQordm9pZCBXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRl
bnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2Fk
TWV0cmljcykKIHsKICAgICBtX2xvYWRpbmdGaW5pc2hlZCA9IHRydWU7Ci0gICAgbV9sb2FkZXJQ
cm94eS5wb3N0VGFza0Zvck1vZGVUb1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFtwcm90ZWN0
ZWRXb3JrZXJDbGllbnRXcmFwcGVyID0gUmVmIHsgKm1fd29ya2VyQ2xpZW50V3JhcHBlciB9LCB3
b3JrZXJSZXF1ZXN0SWRlbnRpZmllciA9IG1fd29ya2VyUmVxdWVzdElkZW50aWZpZXIsIG5ldHdv
cmtMb2FkTWV0cmljcyA9IG1fbmV0d29ya0xvYWRNZXRyaWNzLmlzb2xhdGVkQ29weSgpLCBpZGVu
dGlmaWVyXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJsZSB7CisgICAg
bV9sb2FkZXJQcm94eS5wb3N0VGFza0Zvck1vZGVUb1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3Bl
KFtwcm90ZWN0ZWRXb3JrZXJDbGllbnRXcmFwcGVyID0gUmVmIHsgKm1fd29ya2VyQ2xpZW50V3Jh
cHBlciB9LCB3b3JrZXJSZXF1ZXN0SWRlbnRpZmllciA9IG1fd29ya2VyUmVxdWVzdElkZW50aWZp
ZXIsIG5ldHdvcmtMb2FkTWV0cmljcyA9IG5ldHdvcmtMb2FkTWV0cmljcy5pc29sYXRlZENvcHko
KSwgaWRlbnRpZmllcl0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUg
ewogICAgICAgICBBU1NFUlQoY29udGV4dC5pc1dvcmtlckdsb2JhbFNjb3BlKCkgfHwgY29udGV4
dC5pc1dvcmtsZXRHbG9iYWxTY29wZSgpKTsKLSAgICAgICAgcHJvdGVjdGVkV29ya2VyQ2xpZW50
V3JhcHBlci0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKKyAgICAgICAgcHJvdGVjdGVk
V29ya2VyQ2xpZW50V3JhcHBlci0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyLCBuZXR3b3Jr
TG9hZE1ldHJpY3MpOwogICAgICAgICBpZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQp
KQogICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hMb2FkaW5n
KGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KSwgd29ya2VyUmVxdWVzdElkZW50
aWZpZXIsIG5ldHdvcmtMb2FkTWV0cmljcyk7CiAgICAgfSwgbV90YXNrTW9kZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAppbmRleCA5ZWY0ZTU4
MjYzNjkxN2E4MzBhZjJkZThiMGFiNDYwN2ZhNWQ4OTNlLi5jYTQ5NWU2MTVmODU0N2Q1YjY3NTky
NmI2Y2M0N2Q0MDNiNTEwYTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJU
aHJlYWRhYmxlTG9hZGVyLmgKQEAgLTEwNiw3ICsxMDYsNyBAQCBwcml2YXRlOgogICAgICAgICB2
b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxv
bmcgbG9uZyB0b3RhbEJ5dGVzVG9CZVNlbnQpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZFJl
Y2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmKSBvdmVycmlkZTsKICAgICAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFy
ZWRCdWZmZXImKSBvdmVycmlkZTsKLSAgICAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291
cmNlTG9hZGVySWRlbnRpZmllcikgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgZGlkRmluaXNoTG9h
ZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYp
IG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIG92
ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZEZpbmlzaFRpbWluZyhjb25zdCBSZXNvdXJjZVRpbWlu
ZyYpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIG5vdGlmeUlzRG9uZShib29sIGlzRG9uZSkgZmlu
YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IDNjNDk1NzFlNDE5ZGQwYWU5
ZTZiNzY2MmQyMTI5YWI1OGI1ZTc0ZDAuLjhjYzhkZjFhYzI2Y2QzNDc5MjRkNzZiZGJmZWM5MmFm
OTEwZTEzNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0yMjEsNyArMjIx
LDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVy
JiBidWZmZXIpCiAgICAgcGFyc2VFdmVudFN0cmVhbSgpOwogfQogCi12b2lkIEV2ZW50U291cmNl
OjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllcikKK3ZvaWQgRXZlbnRT
b3VyY2U6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBO
ZXR3b3JrTG9hZE1ldHJpY3MmKQogewogICAgIEFTU0VSVChtX3N0YXRlID09IE9QRU4pOwogICAg
IEFTU0VSVChtX3JlcXVlc3RJbkZsaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5k
ZXggNzNmZWU3OTI3MzQyNzViZmFlODc1MGNkMTgwMTBmM2ZhMTFlMjM1Mi4uYjI5Y2I1M2Q0YTM2
YWY2NDIyMGIyZDZkNjZjMzkyNGNlZTIzMWNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aApAQCAtODUsNyArODUsNyBAQCBwcml2YXRlOgogICAgIC8vIFRocmVhZGFibGVMb2FkZXJDbGll
bnQKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRh
KGNvbnN0IFNoYXJlZEJ1ZmZlciYpIGZpbmFsOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhS
ZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpIGZpbmFsOworICAgIHZvaWQgZGlkRmluaXNoTG9hZGlu
ZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZp
bmFsOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgZmluYWw7CiAKICAg
ICAvLyBBY3RpdmVET01PYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCAxMzk4ZjVkZGFkZWQxMzcwZGFjZmQwZmM3YWRhOGU5MzM1NWRhN2Y5Li4zNDhmYzM3ZjZkNDY2
YTZiNzQ4YzNhOGFlZDc0MzhkYWVkYzcxMGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC01NzEzLDYgKzU3MTMsMTEgQEAgdWludDY0X3QgSW50ZXJuYWxzOjpyZXNwb25z
ZVNpemVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNlJiByZXNwb25zZSkgY29uc3QKICAgICByZXR1
cm4gcmVzcG9uc2UuYm9keVNpemVXaXRoUGFkZGluZygpOwogfQogCitjb25zdCBTdHJpbmcmIElu
dGVybmFsczo6cmVzcG9uc2VOZXR3b3JrTG9hZE1ldHJpY3NQcm90b2NvbChjb25zdCBGZXRjaFJl
c3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gcmVzcG9uc2UubmV0d29ya0xvYWRNZXRy
aWNzKCkucHJvdG9jb2w7Cit9CisKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiB2b2lkIElu
dGVybmFsczo6aGFzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihjb25zdCBTdHJpbmcmIGNsaWVu
dFVSTCwgSGFzUmVnaXN0cmF0aW9uUHJvbWlzZSYmIHByb21pc2UpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAppbmRleCBmZjFjZWY5NmQ3ODRiYWEwZWVlNTEwNTE1OTg1Y2JhZGQ5NzM0
OGY0Li5hMWMzOWY3YmE0ZDAxYWExMDdkYjViNGYyZGM2ZWE0MzA4NWExYjExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTg4OSw2ICs4ODksNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBjYWNoZVN0b3JhZ2VFbmdpbmVSZXByZXNlbnRhdGlvbihET01Qcm9taXNlRGVmZXJyZWQ8SURM
RE9NU3RyaW5nPiYmKTsKICAgICB2b2lkIHNldFJlc3BvbnNlU2l6ZVdpdGhQYWRkaW5nKEZldGNo
UmVzcG9uc2UmLCB1aW50NjRfdCBzaXplKTsKICAgICB1aW50NjRfdCByZXNwb25zZVNpemVXaXRo
UGFkZGluZyhGZXRjaFJlc3BvbnNlJikgY29uc3Q7CisgICAgY29uc3QgU3RyaW5nJiByZXNwb25z
ZU5ldHdvcmtMb2FkTWV0cmljc1Byb3RvY29sKGNvbnN0IEZldGNoUmVzcG9uc2UmKTsKIAogICAg
IHZvaWQgdXBkYXRlUXVvdGFCYXNlZE9uU3BhY2VVc2FnZSgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggZWQ0NDMxOWY1NWJkYjAyMmJlOGIxM2UwMzkwNDVjMWMyOGM4
ZjIxMC4uMDI4MmMyOWU3MGEzNjMwMzA5MTdkNTU5ZWQ2NWJkMDE0OWM4NzYzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtOTQxLDYgKzk0MSw3IEBAIHR5cGVkZWYgKEZl
dGNoUmVxdWVzdCBvciBGZXRjaFJlc3BvbnNlKSBGZXRjaE9iamVjdDsKICAgICBQcm9taXNlPERP
TVN0cmluZz4gY2FjaGVTdG9yYWdlRW5naW5lUmVwcmVzZW50YXRpb24oKTsKICAgICB1bmRlZmlu
ZWQgc2V0UmVzcG9uc2VTaXplV2l0aFBhZGRpbmcoRmV0Y2hSZXNwb25zZSByZXNwb25zZSwgdW5z
aWduZWQgbG9uZyBsb25nIHNpemUpOwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZVNp
emVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNlIHJlc3BvbnNlKTsKKyAgICBET01TdHJpbmcgcmVz
cG9uc2VOZXR3b3JrTG9hZE1ldHJpY3NQcm90b2NvbChGZXRjaFJlc3BvbnNlIHJlc3BvbnNlKTsK
IAogICAgIERPTVN0cmluZyBibG9iSW50ZXJuYWxVUkwoQmxvYiBibG9iKTsKICAgICBQcm9taXNl
PGJvb2xlYW4+IGlzQmxvYkludGVybmFsVVJMUmVnaXN0ZXJlZChET01TdHJpbmcgdXJsKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNwcAppbmRl
eCA0M2MzYTNiNDY2ZWZjNzlkMGQ1ZTkxZDIyNTAwZjAwYzM1ZGE4Y2FjLi5iM2QwM2VmZTI2YmVi
MzZlYzA3OTY2Y2FkNDIxMGQ3NzRhNTZiY2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJGb250TG9hZFJlcXVlc3QuY3BwCkBAIC0xMjMsNyArMTIzLDcgQEAgdm9pZCBX
b3JrZXJGb250TG9hZFJlcXVlc3Q6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYg
YnVmZmVyKQogICAgIG1fZGF0YS5hcHBlbmQoYnVmZmVyKTsKIH0KIAotdm9pZCBXb3JrZXJGb250
TG9hZFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKQor
dm9pZCBXb3JrZXJGb250TG9hZFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2Fk
ZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKQogewogICAgIG1faXNMb2Fk
aW5nID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Rm9udExvYWRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckZvbnRMb2Fk
UmVxdWVzdC5oCmluZGV4IGQ4YzE4OTk3MmYxODE5MWQ4MDY4YTVmNDUyOTYxYTRjZjQxNTUwMGIu
LmRhYWQ1NWE1ZjNhYTA2YTI4MDBkOWZmMTg5NWU1OGY5NTJmYWQyNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJGb250TG9hZFJlcXVlc3QuaApAQCAtNjQsNyArNjQsNyBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJ
ZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAgdm9pZCBkaWRS
ZWNlaXZlRGF0YShjb25zdCBTaGFyZWRCdWZmZXImKSBmaW5hbDsKLSAgICB2b2lkIGRpZEZpbmlz
aExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKSBmaW5hbDsKKyAgICB2b2lkIGRpZEZp
bmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1l
dHJpY3MmKSBmaW5hbDsKICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIGZp
bmFsOwogCiAgICAgVVJMIG1fdXJsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuY3BwCmluZGV4IDkwMDJiNTgzOGIyZTJiMGQzOWFhYTBiNDNjMmE2YjIyYjky
OWQxY2IuLjlkZmI0Yzk5MWE4Y2I1OTFlMTI4Nzg1ZTZhNmYxNGNkMmExNTI2MjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTIxOCw3ICsy
MTgsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hh
cmVkQnVmZmVyJiBidWZmZXIpCiAgICAgbV9zY3JpcHQuYXBwZW5kKG1fZGVjb2Rlci0+ZGVjb2Rl
KGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpKTsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRM
b2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZp
ZXIpCit2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxv
YWRlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikKIHsK
ICAgICBpZiAobV9mYWlsZWQpIHsKICAgICAgICAgbm90aWZ5RXJyb3IoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IDE1OTkyNmE5NTlmOWY4NzFm
MTgwM2FhMzNiNjY4ODQzNTE5MzU3MzIuLjY5NGEwNjc2NGQzN2NhNzMwZmQxZTBiMWQyYjg3YjY1
ZDAwZmMwYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIu
aApAQCAtODAsNyArODAsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25z
ZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVy
cmlkZTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIG92ZXJy
aWRlOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIp
IG92ZXJyaWRlOworICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlk
RmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGNhbmNlbCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlckZldGNoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAKaW5kZXggNGM5ZjJkZTRlN2QzNDkxOTU1MjFiMjI1
NzFlNTkyODU3M2JiMDA5OC4uOTVlZWE5MTcxOWE4ZWVjMmI1ZDZiYzRkODRlMTJiZGE4NWJlNDYy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlckZldGNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
Y29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guY3BwCkBAIC0xMjAsNyArMTIwLDcgQEAgc3RhdGlj
IHZvaWQgcHJvY2Vzc1Jlc3BvbnNlKFJlZjxDbGllbnQ+JiYgY2xpZW50LCBFeHBlY3RlZDxSZWY8
RmV0Y2hSZXNwb25zZT4sIHMKICAgICBjbGllbnQtPmRpZFJlY2VpdmVSZXNwb25zZShyZXNvdXJj
ZVJlc3BvbnNlKTsKIAogICAgIGlmIChyZXNwb25zZS0+aXNCb2R5UmVjZWl2ZWRCeUNodW5rKCkp
IHsKLSAgICAgICAgcmVzcG9uc2UtPmNvbnN1bWVCb2R5UmVjZWl2ZWRCeUNodW5rKFtjbGllbnQg
PSBXVEZNb3ZlKGNsaWVudCldIChhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgcmVz
cG9uc2UtPmNvbnN1bWVCb2R5UmVjZWl2ZWRCeUNodW5rKFtjbGllbnQgPSBXVEZNb3ZlKGNsaWVu
dCksIHJlc3BvbnNlID0gV2Vha1B0ciB7IHJlc3BvbnNlLmdldCgpIH1dIChhdXRvJiYgcmVzdWx0
KSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKICAg
ICAgICAgICAgICAgICBhdXRvIGVycm9yID0gRmV0Y2hFdmVudDo6Y3JlYXRlUmVzcG9uc2VFcnJv
cihVUkwgeyB9LCByZXN1bHQuZXhjZXB0aW9uKCkubWVzc2FnZSgpLCBSZXNvdXJjZUVycm9yOjpJ
c1Nhbml0aXplZDo6WWVzKTsKICAgICAgICAgICAgICAgICBjbGllbnQtPmRpZEZhaWwoZXJyb3Ip
OwpAQCAtMTMwLDcgKzEzMCw3IEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NSZXNwb25zZShSZWY8Q2xp
ZW50PiYmIGNsaWVudCwgRXhwZWN0ZWQ8UmVmPEZldGNoUmVzcG9uc2U+LCBzCiAgICAgICAgICAg
ICBpZiAoYXV0byogY2h1bmsgPSByZXN1bHQucmV0dXJuVmFsdWUoKSkKICAgICAgICAgICAgICAg
ICBjbGllbnQtPmRpZFJlY2VpdmVEYXRhKFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGNodW5rLT5kYXRh
KCksIGNodW5rLT5zaXplKCkpKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBj
bGllbnQtPmRpZEZpbmlzaCgpOworICAgICAgICAgICAgICAgIGNsaWVudC0+ZGlkRmluaXNoKHJl
c3BvbnNlID8gcmVzcG9uc2UtPm5ldHdvcmtMb2FkTWV0cmljcygpIDogTmV0d29ya0xvYWRNZXRy
aWNzIHsgfSk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTQwLDkg
KzE0MCw5IEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NSZXNwb25zZShSZWY8Q2xpZW50PiYmIGNsaWVu
dCwgRXhwZWN0ZWQ8UmVmPEZldGNoUmVzcG9uc2U+LCBzCiAgICAgICAgIGNsaWVudC0+ZGlkUmVj
ZWl2ZUZvcm1EYXRhQW5kRmluaXNoKFdURk1vdmUoZm9ybURhdGEpKTsKICAgICB9LCBbJl0gKFJl
ZjxTaGFyZWRCdWZmZXI+JiBidWZmZXIpIHsKICAgICAgICAgY2xpZW50LT5kaWRSZWNlaXZlRGF0
YShXVEZNb3ZlKGJ1ZmZlcikpOwotICAgICAgICBjbGllbnQtPmRpZEZpbmlzaCgpOworICAgICAg
ICBjbGllbnQtPmRpZEZpbmlzaChyZXNwb25zZS0+bmV0d29ya0xvYWRNZXRyaWNzKCkpOwogICAg
IH0sIFsmXSAoc3RkOjpudWxscHRyX3QmKSB7Ci0gICAgICAgIGNsaWVudC0+ZGlkRmluaXNoKCk7
CisgICAgICAgIGNsaWVudC0+ZGlkRmluaXNoKHJlc3BvbnNlLT5uZXR3b3JrTG9hZE1ldHJpY3Mo
KSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmgKaW5kZXggMTRhNjI5OTk0MDk3
ODY2Zjg4YzMyNTRmMzhmMDM0Yzg0M2VhN2RhNS4uYjczM2JiZmE0MzFmZGZlNmUzYzA2NWYyMzk3
Yzk3OWQ5ZTBlYjVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmgKQEAgLTM3LDYgKzM3LDcgQEAg
Y2xhc3MgRmV0Y2hFdmVudDsKIHN0cnVjdCBGZXRjaE9wdGlvbnM7CiBjbGFzcyBGZXRjaFJlc3Bv
bnNlOwogY2xhc3MgRm9ybURhdGE7CitjbGFzcyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBS
ZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNw
b25zZTsKQEAgLTU0LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlRGF0YShjb25zdCBTaGFyZWRCdWZmZXImKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVGb3JtRGF0YUFuZEZpbmlzaChSZWY8Rm9ybURhdGE+JiYpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCBkaWRGaW5pc2goKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaChjb25zdCBOZXR3
b3JrTG9hZE1ldHJpY3MmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZSgpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb250
aW51ZURpZFJlY2VpdmVSZXNwb25zZSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCmluZGV4IDg0NzEwMzEwMzIxMWIyMTA1NTkxZDk3NGZlYmFlOGUwMjU3NGU5NmUuLmVi
MzUyMDdlN2E5MmJmOWI2ODJmYzExMGQ0OTQ2OWY0Y2YzNmFkMGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtOTIzLDcgKzkyMyw3IEBAIHZvaWQgWE1MSHR0cFJlcXVl
c3Q6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAgbmV0d29ya0Vycm9y
KCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VM
b2FkZXJJZGVudGlmaWVyKQordm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmluaXNoTG9hZGluZyhS
ZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpCiB7CiAg
ICAgUmVmIHByb3RlY3RlZFRoaXMgeyAqdGhpcyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5oCmluZGV4IGVkNmYzNjA5MWJmYzI1OThjY2MwMTQzZjcxOGQ0YzJiMWVkZTNjYTUuLmI3
NDkwNDRhOTJiZTY3YTFlNzBlZGNlOGUxN2QzNjEyMGZkM2MxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5oCkBAIC0xNjMsNyArMTYzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRp
ZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9u
ZyB0b3RhbEJ5dGVzVG9CZVNlbnQpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3Bv
bnNlKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92
ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJikgb3Zl
cnJpZGU7Ci0gICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmll
cikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRl
bnRpZmllciwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBk
aWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmeUlz
RG9uZShib29sKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2su
Y3BwCmluZGV4IDcwNjFjMWYwMTkwODlmMDY0NDE5MGU2ZmMzOGRkNmY1MTU5ZWJkZDQuLjQ1YTI5
MDBkYTY5MjA2NjE1YTFmMWUyMWVhNGM1YjY3MDJhN2E4MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNr
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2Vy
dmljZVdvcmtlckZldGNoVGFzay5jcHAKQEAgLTI0MywxNSArMjQzLDEwIEBAIHZvaWQgU2Vydmlj
ZVdvcmtlckZldGNoVGFzazo6ZGlkUmVjZWl2ZUZvcm1EYXRhKGNvbnN0IElQQzo6Rm9ybURhdGFS
ZWZlcmVuY2UmIGZvCiAgICAgLy8gRklYTUU6IEFsbG93IFdlYlJlc291cmNlTG9hZGVyIHRvIHJl
Y2VpdmUgZm9ybSBkYXRhLgogfQogCi12b2lkIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OmRpZEZp
bmlzaCgpCi17Ci0gICAgZGlkRmluaXNoV2l0aE1ldHJpY3MoeyB9KTsKLX0KLQotdm9pZCBTZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrOjpkaWRGaW5pc2hXaXRoTWV0cmljcyhjb25zdCBOZXR3b3JrTG9h
ZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWV0cmljcykKK3ZvaWQgU2VydmljZVdvcmtlckZldGNoVGFz
azo6ZGlkRmluaXNoKGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgbmV0d29ya0xvYWRNZXRyaWNz
KQogewogICAgIEFTU0VSVCghbV90aW1lb3V0VGltZXIgfHwgIW1fdGltZW91dFRpbWVyLT5pc0Fj
dGl2ZSgpKTsKLSAgICBTV0ZFVENIX1JFTEVBU0VfTE9HKCJkaWRGaW5pc2hXaXRoTWV0cmljczoi
KTsKKyAgICBTV0ZFVENIX1JFTEVBU0VfTE9HKCJkaWRGaW5pc2g6Iik7CiAKICAgICBtX2lzRG9u
ZSA9IHRydWU7CiAgICAgaWYgKG1fdGltZW91dFRpbWVyKQpAQCAtMzk4LDcgKzM5Myw3IEBAIHZv
aWQgU2VydmljZVdvcmtlckZldGNoVGFzazo6bG9hZEJvZHlGcm9tUHJlbG9hZGVyKCkKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAoIWNodW5rKSB7Ci0gICAgICAg
ICAgICBkaWRGaW5pc2hXaXRoTWV0cmljcyhtX3ByZWxvYWRlci0+bmV0d29ya0xvYWRNZXRyaWNz
KCkpOworICAgICAgICAgICAgZGlkRmluaXNoKG1fcHJlbG9hZGVyLT5uZXR3b3JrTG9hZE1ldHJp
Y3MoKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgZGlkUmVjZWl2
ZURhdGEoSVBDOjpTaGFyZWRCdWZmZXJDb3B5KGNvbnN0X2Nhc3Q8V2ViQ29yZTo6RnJhZ21lbnRl
ZFNoYXJlZEJ1ZmZlciY+KCpjaHVuaykpLCBsZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2su
aCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29y
a2VyRmV0Y2hUYXNrLmgKaW5kZXggNTIyNWU1NDU5OTk1MWQ4ZjgxYzcwYWY4MmViYmEyNjg5ZTM1
MDA2Ni4uM2E2NzM5ZjBkNTk4MDNlYWFmYmZiYWU3MmFkYjIyMjFhMmEzZDIyOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3Jr
ZXJGZXRjaFRhc2suaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5oCkBAIC05Niw4ICs5Niw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYm
LCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVEYXRhKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29weSYsIGludDY0X3QgZW5j
b2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkUmVjZWl2ZUZvcm1EYXRhKGNvbnN0IElQQzo6
Rm9ybURhdGFSZWZlcmVuY2UmKTsKLSAgICB2b2lkIGRpZEZpbmlzaCgpOwotICAgIHZvaWQgZGlk
RmluaXNoV2l0aE1ldHJpY3MoY29uc3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJik7Cisg
ICAgdm9pZCBkaWRGaW5pc2goY29uc3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJik7CiAg
ICAgdm9pZCBkaWRGYWlsKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICB2b2lk
IGRpZE5vdEhhbmRsZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0
Y2hUYXNrLm1lc3NhZ2VzLmluCmluZGV4IDdkYjUzZTliZDAzODA0NTQ3M2EyNWFmMzdkNDdjMTk1
Nzk1ZTIzMjAuLjZlMDY4ZGRlN2ZmNDM1MTY3MDFkNWE2ZjU5YWNlNjE3ZDRhZjYzNjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLm1lc3NhZ2VzLmluCkBA
IC0yOSw3ICsyOSw3IEBAIG1lc3NhZ2VzIC0+IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgTm90UmVm
Q291bnRlZCB7CiAgICAgRGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UgcmVzcG9uc2UsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2Up
CiAgICAgRGlkUmVjZWl2ZURhdGEoSVBDOjpTaGFyZWRCdWZmZXJDb3B5IGRhdGEsIGludDY0X3Qg
ZW5jb2RlZERhdGFMZW5ndGgpCiAgICAgRGlkUmVjZWl2ZUZvcm1EYXRhKElQQzo6Rm9ybURhdGFS
ZWZlcmVuY2UgZGF0YSkKLSAgICBEaWRGaW5pc2goKQorICAgIERpZEZpbmlzaChXZWJDb3JlOjpO
ZXR3b3JrTG9hZE1ldHJpY3MgbWV0cmljcykKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAKaW5kZXggN2Vi
Zjk4MGE4OTRkOTI2MzM3NDAxNDFhZjhjMTQ4ZmYyYjVlYzRhZS4uYjM3NTlhMmZkNjJkMDNhOGRi
ODc5NGJhNThmNjU2MGEwMjNlZmFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0Ns
aWVudC5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNr
Q2xpZW50OjpkaWRSZWNlaXZlRm9ybURhdGFBbmRGaW5pc2goUmVmPEZvcm1EYXRhPiYKIHsKICAg
ICBpZiAoYXV0byBzaGFyZWRCdWZmZXIgPSBmb3JtRGF0YS0+YXNTaGFyZWRCdWZmZXIoKSkgewog
ICAgICAgICBkaWRSZWNlaXZlRGF0YShzaGFyZWRCdWZmZXIucmVsZWFzZU5vbk51bGwoKSk7Ci0g
ICAgICAgIGRpZEZpbmlzaCgpOworICAgICAgICBkaWRGaW5pc2goeyB9KTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIApAQCAtMTQ5LDcgKzE0OSw3IEBAIHZvaWQgV2ViU2VydmljZVdvcmtlckZl
dGNoVGFza0NsaWVudDo6ZGlkUmVjZWl2ZUJsb2JDaHVuayhjb25zdCBTaGFyZWRCdWZmZXImIGJ1
CiAKIHZvaWQgV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6ZGlkRmluaXNoQmxvYkxv
YWRpbmcoKQogewotICAgIGRpZEZpbmlzaCgpOworICAgIGRpZEZpbmlzaCh7IH0pOwogCiAgICAg
c3RkOjpleGNoYW5nZShtX2Jsb2JMb2FkZXIsIHN0ZDo6bnVsbG9wdCk7CiB9CkBAIC0xNzQsNyAr
MTc0LDcgQEAgdm9pZCBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50OjpkaWRGYWlsKGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogICAgIGNsZWFudXAoKTsKIH0KIAotdm9pZCBXZWJT
ZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50OjpkaWRGaW5pc2goKQordm9pZCBXZWJTZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrQ2xpZW50OjpkaWRGaW5pc2goY29uc3QgTmV0d29ya0xvYWRNZXRyaWNz
JiBtZXRyaWNzKQogewogICAgIGlmICghbV9jb25uZWN0aW9uKQogICAgICAgICByZXR1cm47CkBA
IC0xODMsMTMgKzE4MywxNCBAQCB2b2lkIFdlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6
OmRpZEZpbmlzaCgpCiAgICAgICAgIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICJTZXJ2aWNl
V29ya2VyRnJhbWVMb2FkZXJDbGllbnQ6OmRpZEZpbmlzaCB3aGlsZSB3YWl0aW5nLCBmZXRjaCBp
ZGVudGlmaWVyICVsbHUiLCBtX2ZldGNoSWRlbnRpZmllci50b1VJbnQ2NCgpKTsKIAogICAgICAg
ICBtX2RpZEZpbmlzaCA9IHRydWU7CisgICAgICAgIG1fbmV0d29ya0xvYWRNZXRyaWNzID0gbWV0
cmljczsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChtX2lzRG93bmxvYWQpCiAg
ICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6U2VydmljZVdvcmtlckRvd25sb2Fk
VGFzazo6RGlkRmluaXNoIHsgfSwgbV9mZXRjaElkZW50aWZpZXIpOwogICAgIGVsc2UKLSAgICAg
ICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpE
aWRGaW5pc2ggeyB9LCBtX2ZldGNoSWRlbnRpZmllcik7CisgICAgICAgIG1fY29ubmVjdGlvbi0+
c2VuZChNZXNzYWdlczo6U2VydmljZVdvcmtlckZldGNoVGFzazo6RGlkRmluaXNoIHsgbWV0cmlj
cyB9LCBtX2ZldGNoSWRlbnRpZmllcik7CiAKICAgICBjbGVhbnVwKCk7CiB9CkBAIC0yMjYsMTEg
KzIyNywxMSBAQCB2b2lkIFdlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OmNvbnRpbnVl
RGlkUmVjZWl2ZVJlc3BvbnNlKCkKIAogICAgIHN3aXRjaE9uKG1fcmVzcG9uc2VEYXRhLCBbdGhp
c10oc3RkOjpudWxscHRyX3QmKSB7CiAgICAgICAgIGlmIChtX2RpZEZpbmlzaCkKLSAgICAgICAg
ICAgIGRpZEZpbmlzaCgpOworICAgICAgICAgICAgZGlkRmluaXNoKG1fbmV0d29ya0xvYWRNZXRy
aWNzKTsKICAgICB9LCBbdGhpc10oY29uc3QgU2hhcmVkQnVmZmVyQnVpbGRlciYgYnVmZmVyKSB7
CiAgICAgICAgIGRpZFJlY2VpdmVEYXRhKGJ1ZmZlci5jb3B5KCktPm1ha2VDb250aWd1b3VzKCkp
OwogICAgICAgICBpZiAobV9kaWRGaW5pc2gpCi0gICAgICAgICAgICBkaWRGaW5pc2goKTsKKyAg
ICAgICAgICAgIGRpZEZpbmlzaChtX25ldHdvcmtMb2FkTWV0cmljcyk7CiAgICAgfSwgW3RoaXNd
KFJlZjxGb3JtRGF0YT4mIGZvcm1EYXRhKSB7CiAgICAgICAgIGRpZFJlY2VpdmVGb3JtRGF0YUFu
ZEZpbmlzaChXVEZNb3ZlKGZvcm1EYXRhKSk7CiAgICAgfSwgW3RoaXNdKFVuaXF1ZVJlZjxSZXNv
dXJjZUVycm9yPiYgZXJyb3IpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaApp
bmRleCAwOTQwMGRmMGNlNzI1ZjM5YThiMTFkOTM1ZTE0NTRlMzk5ZjVhMjYzLi40MTBhYzI1NGQ5
NzA5NDI5ODIxNDQ2ZTQ2ZmE2ZDI4Njg5OTY5ZDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNo
VGFza0NsaWVudC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GZXRjaElk
ZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZldGNoTG9hZGVyLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9GZXRjaExvYWRlckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya0xv
YWRNZXRyaWNzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyRmV0Y2guaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
U2hhcmVkQnVmZmVyLmg+CkBAIC01Myw3ICs1NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRS
ZWNlaXZlRGF0YShjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImKSBmaW5hbDsKICAgICB2b2lk
IGRpZFJlY2VpdmVGb3JtRGF0YUFuZEZpbmlzaChSZWY8V2ViQ29yZTo6Rm9ybURhdGE+JiYpIGZp
bmFsOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJikgZmlu
YWw7Ci0gICAgdm9pZCBkaWRGaW5pc2goKSBmaW5hbDsKKyAgICB2b2lkIGRpZEZpbmlzaChjb25z
dCBXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbDsKICAgICB2b2lkIGRpZE5vdEhh
bmRsZSgpIGZpbmFsOwogICAgIHZvaWQgY2FuY2VsKCkgZmluYWw7CiAgICAgdm9pZCBjb250aW51
ZURpZFJlY2VpdmVSZXNwb25zZSgpIGZpbmFsOwpAQCAtNzEsNyArNzIsNyBAQCBwcml2YXRlOgog
ICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJikgZmluYWwgeyB9CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgV2Vi
Q29yZTo6U2hhcmVkQnVmZmVyJiBkYXRhKSBmaW5hbCB7IGNsaWVudC0+ZGlkUmVjZWl2ZUJsb2JD
aHVuayhkYXRhKTsgfQogICAgICAgICB2b2lkIGRpZEZhaWwoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYgZXJyb3IpIGZpbmFsIHsgY2xpZW50LT5kaWRGYWlsKGVycm9yKTsgfQotICAgICAg
ICB2b2lkIGRpZFN1Y2NlZWQoKSBmaW5hbCB7IGNsaWVudC0+ZGlkRmluaXNoQmxvYkxvYWRpbmco
KTsgfQorICAgICAgICB2b2lkIGRpZFN1Y2NlZWQoY29uc3QgV2ViQ29yZTo6TmV0d29ya0xvYWRN
ZXRyaWNzJikgZmluYWwgeyBjbGllbnQtPmRpZEZpbmlzaEJsb2JMb2FkaW5nKCk7IH0KIAogICAg
ICAgICBSZWY8V2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudD4gY2xpZW50OwogICAgICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6RmV0Y2hMb2FkZXI+IGxvYWRlcjsKQEAgLTg1LDYg
Kzg2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNw
b25zZU1lc3NhZ2UgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93YWl0aW5nRm9yQ29udGludWVEaWRS
ZWNlaXZlUmVzcG9uc2VNZXNzYWdlIHsgZmFsc2UgfTsKICAgICBzdGQ6OnZhcmlhbnQ8c3RkOjpu
dWxscHRyX3QsIFdlYkNvcmU6OlNoYXJlZEJ1ZmZlckJ1aWxkZXIsIFJlZjxXZWJDb3JlOjpGb3Jt
RGF0YT4sIFVuaXF1ZVJlZjxXZWJDb3JlOjpSZXNvdXJjZUVycm9yPj4gbV9yZXNwb25zZURhdGE7
CisgICAgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRyaWNzOwog
ICAgIGJvb2wgbV9kaWRGaW5pc2ggeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0Rvd25sb2FkIHsg
ZmFsc2UgfTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTQxNjQ3OWU2OTUwYjQ5NTk0NjkzNWJlNmQxOTEwMzg1MGZj
NjE1Ny4uZjhhNWQwNWNmMTRlZDAzZTQwZWY5YWRkZGUwNzQ2ZDIzYTkyMWI5NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDIyLTAxLTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBUcmFuc21pdCBuZXR3b3JrIGxvYWQgbWV0cmljcyB3aGVuIHNlcnZpY2Ug
d29ya2VyIGlzIHVzaW5nIG9uZSBvZiBpdHMgbmV0d29yayBsb2FkIHRvIHJlc3BvbmQgdG8gRmV0
Y2hFdmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNoLW1ldHJpY3MtdmlhLXNlcnZpY2Utd29y
a2VyLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL2ZldGNoLW1ldHJpY3MtdmlhLXNlcnZpY2Utd29ya2VyLmh0dHBzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXdv
cmtlci5qczogQWRkZWQuCisKIDIwMjItMDEtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIE1ha2UgU2VydmljZVdvcmtlckNsaWVudC5pZCBhIFVVSUQgaW5z
dGVhZCBvZiBhIHN0cmluZyBkZXJpdmVkIGZyb20gYSBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMjA3ZjI2ZGFjMmE3OGVk
OTEwMDVmMTc4NGUyYjViMzlkZGM1N2I3NC4uOTNiZjFmMTJmMTg2NDE2NmUxMjE3OTE2MWM5NWQy
NTdlODljOWQ1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMjItMDEtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAg
ICAgIFRyYW5zbWl0IG5ldHdvcmsgbG9hZCBtZXRyaWNzIHdoZW4gc2VydmljZSB3b3JrZXIgaXMg
dXNpbmcgb25lIG9mIGl0cyBuZXR3b3JrIGxvYWQgdG8gcmVzcG9uZCB0byBGZXRjaEV2ZW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTc5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25leHQtaG9wLXByb3Rv
Y29sLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVGVzdCBpcyBwcm9ncmVzc2luZyBmdXJ0
aGVyIGJ1dCBpcyBmYWlsaW5nIGFzIHRoZSB0ZXN0IGNoZWNrcyBjYWNoZWQgcmVzcG9uc2VzIGZv
ciB3aGljaCB3ZSBkbyBub3Qgc3RvcmUgbWV0cmljcy4KKwogMjAyMi0wMS0xMyAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBTZXJ2aWNlV29ya2VyQ2xp
ZW50LmlkIGEgVVVJRCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGRlcml2ZWQgZnJvbSBhIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy12aWEtc2VydmljZS13b3JrZXIuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNo
LW1ldHJpY3MtdmlhLXNlcnZpY2Utd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NjM0NTYzZmRlYWY1YzRiODc5YmI2M2NhYWExNzZjMDQyZTZiY2JkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNoLW1ldHJpY3Mt
dmlhLXNlcnZpY2Utd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKwor
CitQQVNTIFNldHVwIHdvcmtlcgorUEFTUyBWYWxpZGF0ZSBtZXRyaWNzIG9mIGEgZmV0Y2ggdmlh
IHNlcnZpY2Ugd29ya2VyCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXZpYS1zZXJ2aWNlLXdvcmtlci5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNoLW1ldHJpY3MtdmlhLXNl
cnZpY2Utd29ya2VyLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmZlNzc4MjE2Y2UxZDBmYzZjYzFm
NzIxNmQ3ODAxNGFlMGMzYmNiOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3NlcnZpY2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXZpYS1zZXJ2aWNlLXdvcmtlci5odHRw
cy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit2YXIgc2NvcGUgPSAicmVzb3VyY2Vz
IjsKK3ZhciBhY3RpdmVXb3JrZXI7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewor
ICAgIHZhciByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdp
c3RlcigiZmV0Y2gtbWV0cmljcy13b3JrZXIuanMiLCB7IHNjb3BlIDogc2NvcGUgfSk7CisgICAg
YWN0aXZlV29ya2VyID0gcmVnaXN0cmF0aW9uLmFjdGl2ZTsKKyAgICBpZiAoYWN0aXZlV29ya2Vy
KQorICAgICAgICByZXR1cm47CisgICAgYWN0aXZlV29ya2VyID0gcmVnaXN0cmF0aW9uLmluc3Rh
bGxpbmc7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBhY3Rp
dmVXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVjaGFuZ2UnLCAoKSA9PiB7CisgICAgICAg
ICAgICBpZiAoYWN0aXZlV29ya2VyLnN0YXRlID09PSAiYWN0aXZhdGVkIikKKyAgICAgICAgICAg
ICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworICAgIH0pOworfSwgIlNldHVwIHdvcmtlciIp
OworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBjb25zdCBpZnJhbWUgPSBh
d2FpdCB3aXRoX2lmcmFtZShzY29wZSk7CisKKyAgICBjb25zdCByZXNwb25zZTEgPSBhd2FpdCBp
ZnJhbWUuY29udGVudFdpbmRvdy5mZXRjaCgiLz9pbnRlcmNlcHQiKTsKKyAgICBjb25zdCByZXNw
b25zZTIgPSBhd2FpdCBpZnJhbWUuY29udGVudFdpbmRvdy5mZXRjaCgiLz9kby1ub3QtaW50ZXJj
ZXB0Iik7CisKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlMS5zdGF0dXMsIDIwMCk7CisgICAg
YXNzZXJ0X2VxdWFscyhyZXNwb25zZTIuc3RhdHVzLCAyMDApOworCisgICAgYXdhaXQgcmVzcG9u
c2UyLnRleHQoKTsKKyAgICBhd2FpdCByZXNwb25zZTEudGV4dCgpOworCisgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKKyAgICAgICAgYXNzZXJ0X3RydWUoaW50ZXJuYWxzLnJlc3BvbnNlTmV0
d29ya0xvYWRNZXRyaWNzUHJvdG9jb2wocmVzcG9uc2UxKS5sZW5ndGggPiAwKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMucmVzcG9uc2VOZXR3b3JrTG9hZE1ldHJpY3NQcm90b2Nv
bChyZXNwb25zZTEpLCBpbnRlcm5hbHMucmVzcG9uc2VOZXR3b3JrTG9hZE1ldHJpY3NQcm90b2Nv
bChyZXNwb25zZTIpKTsKKyAgICB9Cit9LCAiVmFsaWRhdGUgbWV0cmljcyBvZiBhIGZldGNoIHZp
YSBzZXJ2aWNlIHdvcmtlciIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy13
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0
cmljcy13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Q5NjlkZTI3ODVkZDg3M2RkNmFjMmZhMzM3NGFj
MWUwYTExYmM0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXdvcmtlci5qcwpAQCAtMCwwICsxLDcgQEAKK2Z1bmN0
aW9uIGRvVGVzdChldmVudCkKK3sKKyAgICBpZiAoZXZlbnQucmVxdWVzdC51cmwuaW5jbHVkZXMo
Jz9pbnRlcmNlcHQnKSkKKyAgICAgICAgZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2goZXZlbnQucmVx
dWVzdCkpOworfQorCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoImZldGNoIiwgZG9UZXN0KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25leHQtaG9wLXByb3RvY29sLmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25leHQtaG9wLXByb3RvY29sLmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCBjNjQwMjY1MmFlYmZkZjc0MzFlZDQ2MjljZTY1NmQyMjNiY2U4ZWNkLi45
ZTk1NDUxNzYwN2E3YzU4MzcyN2QxODIwNGM4ZTcxMjk3NjhmMTJmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9uZXh0LWhvcC1wcm90b2NvbC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvbmV4dC1ob3AtcHJvdG9jb2wuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAogCi1GQUlMIG5leHRIb3BQcm90b2NvbCByZXBvcnRzIEgxIGNvcnJlY3Rs
eSB3aGVuIHJvdXRlZCB2aWEgYSBzZXJ2aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFsczogbmV4dEhv
cFByb3RvY29sIGlzIHNldCBvbiBwYXNzLXRocm91Z2ggZXhwZWN0ZWQgImh0dHAvMS4xIiBidXQg
Z290ICIiCitGQUlMIG5leHRIb3BQcm90b2NvbCByZXBvcnRzIEgxIGNvcnJlY3RseSB3aGVuIHJv
dXRlZCB2aWEgYSBzZXJ2aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFsczogbmV4dEhvcFByb3RvY29s
IGlzIHNldCBvbiBjYWNoZWQgcmVzcG9uc2UgZXhwZWN0ZWQgImh0dHAvMS4xIiBidXQgZ290ICIi
CiBGQUlMIG5leHRIb3BQcm90b2NvbCByZXBvcnRzIEgyIGNvcnJlY3RseSB3aGVuIHJvdXRlZCB2
aWEgYSBzZXJ2aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFsczogbmV4dEhvcFByb3RvY29sIGlzIHNl
dCBvbiBmYWxsYmFjayBleHBlY3RlZCAiaDIiIGJ1dCBnb3QgImh0dHAvMS4xIgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449306</attachid>
            <date>2022-01-16 22:26:35 -0800</date>
            <delta_ts>2022-01-16 22:27:41 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235179-20220117072630.patch</filename>
            <type>text/plain</type>
            <size>42989</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmM4M2I3MWMzYjRlMTg3
ZTIzNTlhNjM0MjZjOGRkOTk3OGEyN2IyMC4uYzE5OTViZjEyZWIyZTQzODMwYzA0ZTc1MDkwMWM3
YzJkYzQ4YTQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIyLTAxLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUcmFuc21pdCBuZXR3b3Jr
IGxvYWQgbWV0cmljcyB3aGVuIHNlcnZpY2Ugd29ya2VyIGlzIHVzaW5nIG9uZSBvZiBpdHMgbmV0
d29yayBsb2FkIHRvIHJlc3BvbmQgdG8gRmV0Y2hFdmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIEFsbG93IEZldGNoUmVzcG9uc2VzIHRvIGdldCB0aGVp
ciBuZXR3b3JrIG1ldHJpY3MuCisgICAgICAgIFRoaXMgcmVxdWlyZXMgYWxsIFRocmVhZGFibGVM
b2FkZXJDbGllbnRzIHRvIHJlY2VpdmUgdGhlc2UgbWV0cmljcy4KKyAgICAgICAgU2VydmljZVdv
cmtlckZldGNoIGlzIHRoZW4gYWJsZSB0byBnZXQgdGhlIG1ldHJpY3MgZnJvbSBpdHMgRmV0Y2hS
ZXNwb25zZSB0byBzZW5kIGl0IHRvIHRoZSBzZXJ2aWNlIHdvcmtlciBsb2FkIGNsaWVudC4KKwor
ICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy12aWEt
c2VydmljZS13b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHlPd25lci5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwOgor
ICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaDoKKyAgICAgICAgKiBNb2R1bGVz
L2ZldGNoL0ZldGNoTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaDoK
KyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwOgorICAgICAgICAqIGZpbGVh
cGkvRmlsZVJlYWRlckxvYWRlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yTmV0d29ya0FnZW50LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmg6
CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKiBs
b2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaDoKKyAgICAgICAgKiBsb2FkZXIv
V29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAg
KiBwYWdlL0V2ZW50U291cmNlLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNwcDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5oOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJGZXRjaC5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdv
cmtlckZldGNoLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwogMjAyMi0wMS0xNiAgTGF1cm8gTW91cmEgIDxsbW91
cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggQysrMjAgYnVpbGQgd2FybmluZ3Mgd2l0aCBH
Q0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggMzQzMDIyOTU1YjIzMDY0NGU1Mjg5ZjA3ODQ3YjYxZmJkNzI4YTZjZC4u
ZDc2ZDdmY2NiNzE1ZTg0ZDRiMmI5ZGI5ZGIwNzM1YmFiOGQyZmJlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAyMi0wMS0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgVHJhbnNtaXQgbmV0d29yayBsb2FkIG1ldHJpY3Mgd2hlbiBzZXJ2aWNlIHdv
cmtlciBpcyB1c2luZyBvbmUgb2YgaXRzIG5ldHdvcmsgbG9hZCB0byByZXNwb25kIHRvIEZldGNo
RXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzUxNzkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBQaXBl
IG5ldHdvcmsgbWV0cmljcyBkb3duIHRvIFdlYlByb2Nlc3MuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5o
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZl
dGNoVGFzay5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2Vy
dmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaDoKKwogMjAyMi0wMS0xNiAgTGF1
cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggQysrMjAgYnVpbGQg
d2FybmluZ3Mgd2l0aCBHQ0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hCb2R5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hC
b2R5T3duZXIuaAppbmRleCA3MTBlZGNmZDY2NTI3ZjA0YzFmYTkxNTQ4ODY0ZjgwNGEyMmU2NGY3
Li42ODU1YTNjMjJiODE1Y2E1YzkxY2I4ZmRiNjIyZTM2OWE3MDQxZjQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCkBAIC0xMTcsNyArMTE3LDcg
QEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYpIGZpbmFsOwogICAgICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNo
YXJlZEJ1ZmZlciYgYnVmZmVyKSBmaW5hbCB7IG93bmVyLmJsb2JDaHVuayhidWZmZXIpOyB9CiAg
ICAgICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgZmluYWw7Ci0gICAgICAg
IHZvaWQgZGlkU3VjY2VlZCgpIGZpbmFsIHsgb3duZXIuYmxvYkxvYWRpbmdTdWNjZWVkZWQoKTsg
fQorICAgICAgICB2b2lkIGRpZFN1Y2NlZWQoY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikgZmlu
YWwgeyBvd25lci5ibG9iTG9hZGluZ1N1Y2NlZWRlZCgpOyB9CiAKICAgICAgICAgRmV0Y2hCb2R5
T3duZXImIG93bmVyOwogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RmV0Y2hMb2FkZXI+IGxvYWRl
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXgg
YjI2YzJhZDE1MDRmM2Y3NGQwOGFmYTY1MWUwNTAxMmQ2ZTM2Yjk0Ni4uN2NlYTMyYTk1OGYxNGJk
OGM4NzhiYzUxZjQ5YzFkMWFkYTZkNmEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTE1Nyw5ICsxNTcsOSBAQCB2b2lkIEZldGNoTG9hZGVy
OjpkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFyZWRCdWZmZXImIGJ1ZmZlcikKICAgICBtX2NvbnN1
bWVyLT5hcHBlbmQoYnVmZmVyKTsKIH0KIAotdm9pZCBGZXRjaExvYWRlcjo6ZGlkRmluaXNoTG9h
ZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpCit2b2lkIEZldGNoTG9hZGVyOjpkaWRGaW5p
c2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgTmV0d29ya0xvYWRNZXRy
aWNzJiBtZXRyaWNzKQogewotICAgIG1fY2xpZW50LmRpZFN1Y2NlZWQoKTsKKyAgICBtX2NsaWVu
dC5kaWRTdWNjZWVkKG1ldHJpY3MpOwogfQogCiB2b2lkIEZldGNoTG9hZGVyOjpkaWRGYWlsKGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaExvYWRlci5oCmluZGV4IDcyYjI3MmViZTY1NDgwZjhhMmIwZWVhYmU3Mjc1NTMxYzdmNWI2
YTcuLmZjNTQxMWZkOWNhZTgzZmI1YzFiMjk4ODA4NTBmNWUxMDg4NGEwZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHJp
dmF0ZToKICAgICAvLyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IEFQSS4KICAgICB2b2lkIGRpZFJl
Y2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZl
ciYpIGZpbmFsOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIpIGZpbmFsOworICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklk
ZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZpbmFsOwogICAgIHZvaWQgZGlk
RmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgZmluYWw7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyQ2xpZW50LmgKaW5kZXggMTA5ZTA4
ZWNmN2E0N2U3YzAzN2UzMmRjYWFjYWI4NmM4MWMxOGQzZC4uM2ZiMjQ3Zjc0ZDI5NDFiOTRlMTgz
MWE0NzdjN2RjODE5ZDNlNTljOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hMb2FkZXJDbGllbnQuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJikgeyB9CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2VlZCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkU3Vj
Y2VlZChjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCmluZGV4IDBkNGZmMWE3ODUzM2RmNDUx
YTkxMDJhMjRiZDg4ZTEwODZjYmViZTAuLmNlMWY3ZDU5N2FkYzdjZGRlNDdiYjcwZWZiYTM0MTUz
OWI2M2MzNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmNwcApAQCAtMjc5LDExICsyNzksMTEgQEAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgRmV0
Y2hSZXNwb25zZTo6ZmlsdGVyZWRSZXNwb25zZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1faW50ZXJu
YWxSZXNwb25zZTsKIH0KIAotdm9pZCBGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRTdWNj
ZWVkKCkKK3ZvaWQgRmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRlcjo6ZGlkU3VjY2VlZChjb25zdCBO
ZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKG1fcmVzcG9uc2UuaGFz
UGVuZGluZ0FjdGl2aXR5KCkpOwogICAgIG1fcmVzcG9uc2UubV9ib2R5LT5sb2FkaW5nU3VjY2Vl
ZGVkKG1fcmVzcG9uc2UuY29udGVudFR5cGUoKSk7Ci0KKyAgICBtX3Jlc3BvbnNlLnNldE5ldHdv
cmtMb2FkTWV0cmljcyhtZXRyaWNzKTsKICAgICBpZiAobV9yZXNwb25zZS5tX3JlYWRhYmxlU3Ry
ZWFtU291cmNlKSB7CiAgICAgICAgIGlmIChtX3Jlc3BvbnNlLmJvZHkoKS5jb25zdW1lcigpLmhh
c0RhdGEoKSkKICAgICAgICAgICAgIG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+
ZW5xdWV1ZShtX3Jlc3BvbnNlLmJvZHkoKS5jb25zdW1lcigpLnRha2VBc0FycmF5QnVmZmVyKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAppbmRleCAy
NzQ2ODA3Y2E4YmJiMTgzYjAzNDExYTk5NDljMmY0ZDVkNTQ3YWI1Li5lZmNjMGMzMTNkOWEwNGJm
ZTM1M2JlMGNhMmJkYmYwZjFkMWU1MjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtMTExLDYgKzExMSw4IEBAIHB1YmxpYzoKICAgICBib29s
IGlzQ09SU1NhbWVPcmlnaW4oKSBjb25zdDsKICAgICBib29sIGhhc1dhc21NSU1FVHlwZSgpIGNv
bnN0OwogCisgICAgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3Mo
KSBjb25zdCB7IHJldHVybiBtX25ldHdvcmtMb2FkTWV0cmljczsgfQorCiBwcml2YXRlOgogICAg
IEZldGNoUmVzcG9uc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHN0ZDo6b3B0aW9uYWw8RmV0
Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBSZXNvdXJjZVJlc3BvbnNlJiYpOwogCkBA
IC0xMTgsNyArMTIwLDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QgZmluYWw7CiAKICAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBmaWx0
ZXJlZFJlc3BvbnNlKCkgY29uc3Q7Ci0KKyAgICB2b2lkIHNldE5ldHdvcmtMb2FkTWV0cmljcyhj
b25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpIHsgbV9uZXR3b3JrTG9hZE1ldHJpY3Mg
PSBtZXRyaWNzOyB9CiAgICAgdm9pZCBjbG9zZVN0cmVhbSgpOwogCiAgICAgdm9pZCBhZGRBYm9y
dFN0ZXBzKFJlZjxBYm9ydFNpZ25hbD4mJik7CkBAIC0xNDAsNyArMTQyLDcgQEAgcHJpdmF0ZToK
IAogICAgIHByaXZhdGU6CiAgICAgICAgIC8vIEZldGNoTG9hZGVyQ2xpZW50IEFQSQotICAgICAg
ICB2b2lkIGRpZFN1Y2NlZWQoKSBmaW5hbDsKKyAgICAgICAgdm9pZCBkaWRTdWNjZWVkKGNvbnN0
IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZpbmFsOwogICAgICAgICB2b2lkIGRpZEZhaWwoY29uc3Qg
UmVzb3VyY2VFcnJvciYpIGZpbmFsOwogICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURh
dGEoY29uc3QgU2hhcmVkQnVmZmVyJikgZmluYWw7CkBAIC0xNjEsNiArMTYzLDcgQEAgcHJpdmF0
ZToKICAgICB1aW50NjRfdCBtX2JvZHlTaXplV2l0aFBhZGRpbmcgeyAwIH07CiAgICAgdWludDY0
X3QgbV9vcGFxdWVMb2FkSWRlbnRpZmllciB7IDAgfTsKICAgICBSZWZQdHI8QWJvcnRTaWduYWw+
IG1fYWJvcnRTaWduYWw7CisgICAgTmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRy
aWNzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVJlYWRlckxvYWRlci5jcHAKaW5kZXggMDdhYmNhYTgxZGRmNDBhZDlmYzY5OTA3MzRm
YjhjNTI4NGFhN2E4Yy4uOGUwMzBlZDkxMjBjMTJmNDZkMGU1ZTA5ZDFiYzIwNGIwNWEzYjU1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwCkBAIC0yMjAs
NyArMjIwLDcgQEAgdm9pZCBGaWxlUmVhZGVyTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShjb25zdCBT
aGFyZWRCdWZmZXImIGJ1ZmZlcikKICAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVEYXRhKCk7
CiB9CiAKLXZvaWQgRmlsZVJlYWRlckxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxv
YWRlcklkZW50aWZpZXIpCit2b2lkIEZpbGVSZWFkZXJMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmco
UmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKQogewog
ICAgIGlmIChtX3ZhcmlhYmxlTGVuZ3RoICYmIG1fdG90YWxCeXRlcyA+IG1fYnl0ZXNMb2FkZWQp
IHsKICAgICAgICAgbV9yYXdEYXRhID0gbV9yYXdEYXRhLT5zbGljZSgwLCBtX2J5dGVzTG9hZGVk
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5o
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmgKaW5kZXggNjMxNmM0
MDA0ZGVmYjRhNzZjZDAzMjNmYzQ4NjUxZDM5ZGExMTUzOC4uMzgyYjIwNjkxNzQ1NDViMTk5NDA0
NmU1YWJlYzc2MzVkYzk0M2EyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVy
TG9hZGVyLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogICAgIC8vIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJl
Y2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIG92ZXJyaWRlOwotICAgIHZvaWQgZGlkRmlu
aXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpIG92ZXJyaWRlOworICAgIHZvaWQg
ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtM
b2FkTWV0cmljcyYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVy
cm9yJikgb3ZlcnJpZGU7CiAKICAgICBTdHJpbmcgc3RyaW5nUmVzdWx0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2Vu
dC5jcHAKaW5kZXggMGMyOTcwZTgzOGE3MDE1Y2M5ZWM2NWJiNWNkOGVkNDgwNDY5MDJjYS4uYzA4
N2Y3NTA4YzE4Mjk1NzE0ZGM3NWZiYmU3ZmFmYjZjYmQ5N2RiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNw
cApAQCAtMTMyLDcgKzEzMiw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9yZXNwb25zZVRleHQuYXBw
ZW5kKG1fZGVjb2Rlci0+ZGVjb2RlKGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpKTsKICAg
ICB9CiAKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVy
KSBvdmVycmlkZQorICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlCiAgICAgewogICAgICAg
ICBpZiAobV9kZWNvZGVyKQogICAgICAgICAgICAgbV9yZXNwb25zZVRleHQuYXBwZW5kKG1fZGVj
b2Rlci0+Zmx1c2goKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDI5MTJlM2Q1NjIxNTMxYzllZGQyODliMjM3MWFhMTA3
NmEyY2VmZWMuLjVkMzlhNDk1NzE3ZjdkZjM2NTc3YjI4OGI1NGQzYTg4Y2U3NGUyMDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CkBAIC00MjksNyArNDI5LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnQKICAgICAgICAgaWYg
KHJlc3BvbnNlLnRhaW50aW5nKCkgPT0gUmVzb3VyY2VSZXNwb25zZTo6VGFpbnRpbmc6Ok9wYXF1
ZSkgewogICAgICAgICAgICAgY2xlYXJSZXNvdXJjZSgpOwogICAgICAgICAgICAgaWYgKG1fY2xp
ZW50KQotICAgICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZp
ZXIpOworICAgICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZp
ZXIsIHsgfSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQ2OCw3ICs0
NjgsNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6ZmluaXNoZWRUaW1pbmdGb3JX
b3JrZXJMb2FkKGNvbnN0IFJlc291cmNlVGltaW5nJgogICAgIG1fY2xpZW50LT5kaWRGaW5pc2hU
aW1pbmcocmVzb3VyY2VUaW1pbmcpOwogfQogCi12b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRl
cjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZXR3b3Jr
TG9hZE1ldHJpY3MmKQordm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZpbmlz
aGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBt
ZXRyaWNzKQogewogICAgIEFTU0VSVChtX2NsaWVudCk7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNv
dXJjZSwgJnJlc291cmNlID09IG1fcmVzb3VyY2UpOwpAQCAtNDc2LDEwICs0NzYsMTAgQEAgdm9p
ZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNl
JiByZXNvdXJjZSwgY29uc3QgTmUKICAgICBpZiAobV9yZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgp
KQogICAgICAgICBkaWRGYWlsKG1fcmVzb3VyY2UtPmlkZW50aWZpZXIoKSwgbV9yZXNvdXJjZS0+
cmVzb3VyY2VFcnJvcigpKTsKICAgICBlbHNlCi0gICAgICAgIGRpZEZpbmlzaExvYWRpbmcobV9y
ZXNvdXJjZS0+aWRlbnRpZmllcigpKTsKKyAgICAgICAgZGlkRmluaXNoTG9hZGluZyhtX3Jlc291
cmNlLT5pZGVudGlmaWVyKCksIG1ldHJpY3MpOwogfQogCi12b2lkIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRp
ZmllcikKK3ZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJl
c291cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJp
Y3MmIG1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKG1fY2xpZW50KTsKIApAQCAtNTA0LDcgKzUwNCw3
IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291
cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2Ns
aWVudC0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKKyAgICBtX2NsaWVudC0+ZGlkRmlu
aXNoTG9hZGluZyhpZGVudGlmaWVyLCBtZXRyaWNzKTsKIH0KIAogdm9pZCBEb2N1bWVudFRocmVh
ZGFibGVMb2FkZXI6OmRpZEZhaWwoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNv
dXJjZUVycm9yJiBlcnJvcikKQEAgLTYxNyw3ICs2MTcsNyBAQCB2b2lkIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6bG9hZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2VjdXJp
dHlDaAogICAgICAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCBYTUxIdHRwUmVxdWVzdCB0byByYWlz
ZSBhbiBleGNlcHRpb24gZm9yIGZpbGU6Ly8gcmVzb3VyY2VzLCBzZWUgPHJkYXI6Ly9wcm9ibGVt
LzQ5NjIyOTg+LgogICAgICAgICAgICAgLy8gRklYTUU6IFhNTEh0dHBSZXF1ZXN0IHF1aXJrcyBz
aG91bGQgYmUgaW4gWE1MSHR0cFJlcXVlc3QgY29kZSwgbm90IGluIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlci5jcHAuCiAgICAgICAgICAgICBkaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwg
cmVzcG9uc2UpOwotICAgICAgICAgICAgZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKKyAg
ICAgICAgICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwgeyB9KTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgICAgICBsb2dFcnJvckFuZEZhaWwoZXJyb3IpOwpAQCAt
NjczLDcgKzY3Myw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVxdWVz
dChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBTZWN1cml0eUNoCiAgICAgICAgICAgICB3aW5k
b3ctPnBlcmZvcm1hbmNlKCkuYWRkUmVzb3VyY2VUaW1pbmcoV1RGTW92ZShyZXNvdXJjZVRpbWlu
ZykpOwogICAgIH0KIAotICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllcik7CisgICAgZGlk
RmluaXNoTG9hZGluZyhpZGVudGlmaWVyLCB7IH0pOwogfQogCiBib29sIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6aXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgVVJMJiB1
cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGly
ZWN0UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBjODZi
YTdmNDUzODNiNmMyODYwMDMyZDNhZWJmYmEzZTA4NjA3NjkwLi4yNTNkMjZkYzgyNmEwOTYzNDdk
NjhlN2I3MDQ3MzFhMzZkZDRhZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC05NCw3ICs5NCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklk
ZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICAgICAgdm9pZCBkaWRSZWNl
aXZlRGF0YShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFNoYXJlZEJ1ZmZlciYpOwot
ICAgICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKTsK
KyAgICAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwg
Y29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJik7CiAgICAgICAgIHZvaWQgZGlkRmFpbChSZXNvdXJj
ZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICAgICAgdm9pZCBt
YWtlQ3Jvc3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmKTsKICAgICAgICAg
dm9pZCBtYWtlU2ltcGxlQ3Jvc3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmlu
ZGV4IGY5YzZiNWM0YTAyYWYwYmRhMTQyMGIwYWU4ZTU4ZTcxOWQzZmE0YzcuLmM4ZWU0YzJkMDVm
OThmNDhlZDlhZWVkYTY5ODFmNjliZThjYzI1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAtMzQsNiArMzQsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK2NsYXNzIE5ldHdvcmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNl
RXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBA
IC00Niw3ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVz
cG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYp
IHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRl
bnRpZmllcikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VM
b2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgeyB9CiAgICAgdmlydHVhbCB2
b2lkIGRpZEZpbmlzaFRpbWluZyhjb25zdCBSZXNvdXJjZVRpbWluZyYpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBub3RpZnlJc0RvbmUoYm9vbCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFw
cGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBw
ZXIuaAppbmRleCBiYWM2NmI0NTI4OTM4OGQ0YjY2MDdiYzA1ZjM0ZTAzN2NhMmQzNmEwLi5hMTdi
MDczODI3OTFhYWM0NmQyMDM1ZDMzMDUyNWUzYjFiNDdkMjk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaApAQCAtNzIs
MTEgKzcyLDExIEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlRGF0
YShidWZmZXIpOwogICAgIH0KIAotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxv
YWRlcklkZW50aWZpZXIgaWRlbnRpZmllcikKKyAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVz
b3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmlj
cyYgbWV0cmljcykKICAgICB7CiAgICAgICAgIG1fZG9uZSA9IHRydWU7CiAgICAgICAgIGlmICht
X2NsaWVudCkKLSAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZp
ZXIpOworICAgICAgICAgICAgbV9jbGllbnQtPmRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwg
bWV0cmljcyk7CiAgICAgfQogCiAgICAgdm9pZCBub3RpZnlJc0RvbmUoYm9vbCBpc0RvbmUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5k
ZXggYjc3MWU2MDYyZGJhZDA3ZmVmMzg4MTA5YjA2YzZjZTEyOWM3MDRjMy4uY2MzYWQzNTkwNDM1
NDIwMmNjNTZkMjJmNDQxOTcyOGY3MTdhYWJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMjQwLDE0ICsyNDAsMTQgQEAgdm9p
ZCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRSZWNlaXZlRGF0
YShjb25zdCBTaGFyZWRCdWZmZXIKICAgICB9LCBtX3Rhc2tNb2RlKTsKIH0KIAotdm9pZCBXb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGaW5pc2hMb2FkaW5nKFJl
c291cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyKQordm9pZCBXb3JrZXJUaHJlYWRhYmxl
TG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVy
SWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3Mp
CiB7CiAgICAgbV9sb2FkaW5nRmluaXNoZWQgPSB0cnVlOwotICAgIG1fbG9hZGVyUHJveHkucG9z
dFRhc2tGb3JNb2RlVG9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShbcHJvdGVjdGVkV29ya2Vy
Q2xpZW50V3JhcHBlciA9IFJlZiB7ICptX3dvcmtlckNsaWVudFdyYXBwZXIgfSwgd29ya2VyUmVx
dWVzdElkZW50aWZpZXIgPSBtX3dvcmtlclJlcXVlc3RJZGVudGlmaWVyLCBuZXR3b3JrTG9hZE1l
dHJpY3MgPSBtX25ldHdvcmtMb2FkTWV0cmljcy5pc29sYXRlZENvcHkoKSwgaWRlbnRpZmllcl0g
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUgeworICAgIG1fbG9hZGVy
UHJveHkucG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShbcHJvdGVj
dGVkV29ya2VyQ2xpZW50V3JhcHBlciA9IFJlZiB7ICptX3dvcmtlckNsaWVudFdyYXBwZXIgfSwg
d29ya2VyUmVxdWVzdElkZW50aWZpZXIgPSBtX3dvcmtlclJlcXVlc3RJZGVudGlmaWVyLCBtZXRy
aWNzID0gbWV0cmljcy5pc29sYXRlZENvcHkoKSwgaWRlbnRpZmllcl0gKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUgewogICAgICAgICBBU1NFUlQoY29udGV4dC5pc1dv
cmtlckdsb2JhbFNjb3BlKCkgfHwgY29udGV4dC5pc1dvcmtsZXRHbG9iYWxTY29wZSgpKTsKLSAg
ICAgICAgcHJvdGVjdGVkV29ya2VyQ2xpZW50V3JhcHBlci0+ZGlkRmluaXNoTG9hZGluZyhpZGVu
dGlmaWVyKTsKKyAgICAgICAgcHJvdGVjdGVkV29ya2VyQ2xpZW50V3JhcHBlci0+ZGlkRmluaXNo
TG9hZGluZyhpZGVudGlmaWVyLCBtZXRyaWNzKTsKICAgICAgICAgaWYgKGlzPFdvcmtlckdsb2Jh
bFNjb3BlPihjb250ZXh0KSkKLSAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRmluaXNoTG9hZGluZyhkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCksIHdv
cmtlclJlcXVlc3RJZGVudGlmaWVyLCBuZXR3b3JrTG9hZE1ldHJpY3MpOworICAgICAgICAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hMb2FkaW5nKGRvd25jYXN0PFdvcmtl
ckdsb2JhbFNjb3BlPihjb250ZXh0KSwgd29ya2VyUmVxdWVzdElkZW50aWZpZXIsIG1ldHJpY3Mp
OwogICAgIH0sIG1fdGFza01vZGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dv
cmtlclRocmVhZGFibGVMb2FkZXIuaAppbmRleCA5ZWY0ZTU4MjYzNjkxN2E4MzBhZjJkZThiMGFi
NDYwN2ZhNWQ4OTNlLi5jYTQ5NWU2MTVmODU0N2Q1YjY3NTkyNmI2Y2M0N2Q0MDNiNTEwYTU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAg
LTEwNiw3ICsxMDYsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGRpZFNlbmREYXRhKHVuc2ln
bmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzVG9C
ZVNlbnQpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJj
ZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKICAg
ICAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFyZWRCdWZmZXImKSBvdmVycmlkZTsK
LSAgICAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllcikg
b3ZlcnJpZGU7CisgICAgICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklk
ZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlOwogICAgICAgICB2
b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIG92ZXJyaWRlOwogICAgICAgICB2b2lk
IGRpZEZpbmlzaFRpbWluZyhjb25zdCBSZXNvdXJjZVRpbWluZyYpIG92ZXJyaWRlOwogICAgICAg
ICB2b2lkIG5vdGlmeUlzRG9uZShib29sIGlzRG9uZSkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRTb3VyY2UuY3BwCmluZGV4IDNjNDk1NzFlNDE5ZGQwYWU5ZTZiNzY2MmQyMTI5YWI1OGI1ZTc0
ZDAuLjhjYzhkZjFhYzI2Y2QzNDc5MjRkNzZiZGJmZWM5MmFmOTEwZTEzNjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0yMjEsNyArMjIxLDcgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJiBidWZmZXIpCiAgICAgcGFyc2VF
dmVudFN0cmVhbSgpOwogfQogCi12b2lkIEV2ZW50U291cmNlOjpkaWRGaW5pc2hMb2FkaW5nKFJl
c291cmNlTG9hZGVySWRlbnRpZmllcikKK3ZvaWQgRXZlbnRTb3VyY2U6OmRpZEZpbmlzaExvYWRp
bmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKQog
ewogICAgIEFTU0VSVChtX3N0YXRlID09IE9QRU4pOwogICAgIEFTU0VSVChtX3JlcXVlc3RJbkZs
aWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggNzNmZWU3OTI3MzQyNzViZmFl
ODc1MGNkMTgwMTBmM2ZhMTFlMjM1Mi4uYjI5Y2I1M2Q0YTM2YWY2NDIyMGIyZDZkNjZjMzkyNGNl
ZTIzMWNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtODUsNyArODUsNyBAQCBw
cml2YXRlOgogICAgIC8vIFRocmVhZGFibGVMb2FkZXJDbGllbnQKICAgICB2b2lkIGRpZFJlY2Vp
dmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYp
IGZpbmFsOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXIpIGZpbmFsOworICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZpbmFsOwogICAgIHZvaWQgZGlkRmFp
bChjb25zdCBSZXNvdXJjZUVycm9yJikgZmluYWw7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA3ZDhhZDc5ZjhlNTQ4ZWZmNjkz
MDA4YmRhNTZhOWIyNDI1OTNhYWU1Li5iOWVhYThiZjc4NmZhNDM1OGE4ZTJlMTJlYzkwMzgxYzk2
NDdlMjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01NzA5LDYgKzU3
MDksMTEgQEAgdWludDY0X3QgSW50ZXJuYWxzOjpyZXNwb25zZVNpemVXaXRoUGFkZGluZyhGZXRj
aFJlc3BvbnNlJiByZXNwb25zZSkgY29uc3QKICAgICByZXR1cm4gcmVzcG9uc2UuYm9keVNpemVX
aXRoUGFkZGluZygpOwogfQogCitjb25zdCBTdHJpbmcmIEludGVybmFsczo6cmVzcG9uc2VOZXR3
b3JrTG9hZE1ldHJpY3NQcm90b2NvbChjb25zdCBGZXRjaFJlc3BvbnNlJiByZXNwb25zZSkKK3sK
KyAgICByZXR1cm4gcmVzcG9uc2UubmV0d29ya0xvYWRNZXRyaWNzKCkucHJvdG9jb2w7Cit9CisK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiB2b2lkIEludGVybmFsczo6aGFzU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbihjb25zdCBTdHJpbmcmIGNsaWVudFVSTCwgSGFzUmVnaXN0cmF0aW9u
UHJvbWlzZSYmIHByb21pc2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA4
OGQxZjlmYzY3ZGEwYzNjNTg3OTY1OTY5NWM3NGRkNTcyYmQ5MWE2Li4zNzVkYTE5MWVjYWMzMmNk
NTYyODNjMDQ0YTJlOTgxZWJmOWMwMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
QEAgLTg4OSw2ICs4ODksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjYWNoZVN0b3JhZ2VFbmdpbmVS
ZXByZXNlbnRhdGlvbihET01Qcm9taXNlRGVmZXJyZWQ8SURMRE9NU3RyaW5nPiYmKTsKICAgICB2
b2lkIHNldFJlc3BvbnNlU2l6ZVdpdGhQYWRkaW5nKEZldGNoUmVzcG9uc2UmLCB1aW50NjRfdCBz
aXplKTsKICAgICB1aW50NjRfdCByZXNwb25zZVNpemVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNl
JikgY29uc3Q7CisgICAgY29uc3QgU3RyaW5nJiByZXNwb25zZU5ldHdvcmtMb2FkTWV0cmljc1By
b3RvY29sKGNvbnN0IEZldGNoUmVzcG9uc2UmKTsKIAogICAgIHZvaWQgdXBkYXRlUXVvdGFCYXNl
ZE9uU3BhY2VVc2FnZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXgg
ZjlhNWJiODIwOTYwYzQwYWQyNDNmZTdkMjIwZTFlYTczYWViOTI0NS4uOGM2YzMzN2Q3MWEzYWJi
OWUzYmRhOWVmOTgyNTgyNGVjYjk5ZGIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbApAQCAtOTQxLDYgKzk0MSw3IEBAIHR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBGZXRjaFJl
c3BvbnNlKSBGZXRjaE9iamVjdDsKICAgICBQcm9taXNlPERPTVN0cmluZz4gY2FjaGVTdG9yYWdl
RW5naW5lUmVwcmVzZW50YXRpb24oKTsKICAgICB1bmRlZmluZWQgc2V0UmVzcG9uc2VTaXplV2l0
aFBhZGRpbmcoRmV0Y2hSZXNwb25zZSByZXNwb25zZSwgdW5zaWduZWQgbG9uZyBsb25nIHNpemUp
OwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZVNpemVXaXRoUGFkZGluZyhGZXRjaFJl
c3BvbnNlIHJlc3BvbnNlKTsKKyAgICBET01TdHJpbmcgcmVzcG9uc2VOZXR3b3JrTG9hZE1ldHJp
Y3NQcm90b2NvbChGZXRjaFJlc3BvbnNlIHJlc3BvbnNlKTsKIAogICAgIERPTVN0cmluZyBibG9i
SW50ZXJuYWxVUkwoQmxvYiBibG9iKTsKICAgICBQcm9taXNlPGJvb2xlYW4+IGlzQmxvYkludGVy
bmFsVVJMUmVnaXN0ZXJlZChET01TdHJpbmcgdXJsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNwcAppbmRleCA0M2MzYTNiNDY2ZWZjNzlkMGQ1
ZTkxZDIyNTAwZjAwYzM1ZGE4Y2FjLi5iM2QwM2VmZTI2YmViMzZlYzA3OTY2Y2FkNDIxMGQ3NzRh
NTZiY2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckZvbnRMb2Fk
UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJGb250TG9hZFJl
cXVlc3QuY3BwCkBAIC0xMjMsNyArMTIzLDcgQEAgdm9pZCBXb3JrZXJGb250TG9hZFJlcXVlc3Q6
OmRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYgYnVmZmVyKQogICAgIG1fZGF0YS5h
cHBlbmQoYnVmZmVyKTsKIH0KIAotdm9pZCBXb3JrZXJGb250TG9hZFJlcXVlc3Q6OmRpZEZpbmlz
aExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKQordm9pZCBXb3JrZXJGb250TG9hZFJl
cXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBO
ZXR3b3JrTG9hZE1ldHJpY3MmKQogewogICAgIG1faXNMb2FkaW5nID0gZmFsc2U7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5oCmluZGV4IGQ4YzE4
OTk3MmYxODE5MWQ4MDY4YTVmNDUyOTYxYTRjZjQxNTUwMGIuLmRhYWQ1NWE1ZjNhYTA2YTI4MDBk
OWZmMTg5NWU1OGY5NTJmYWQyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyRm9udExvYWRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJGb250TG9hZFJlcXVlc3QuaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogCiAgICAgdm9p
ZCBkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFy
ZWRCdWZmZXImKSBmaW5hbDsKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2Fk
ZXJJZGVudGlmaWVyKSBmaW5hbDsKKyAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VM
b2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbDsKICAgICB2
b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIGZpbmFsOwogCiAgICAgVVJMIG1fdXJs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4
IDkwMDJiNTgzOGIyZTJiMGQzOWFhYTBiNDNjMmE2YjIyYjkyOWQxY2IuLjlkZmI0Yzk5MWE4Y2I1
OTFlMTI4Nzg1ZTZhNmYxNGNkMmExNTI2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFdvcmtlclNj
cmlwdExvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJiBidWZmZXIpCiAg
ICAgbV9zY3JpcHQuYXBwZW5kKG1fZGVjb2Rlci0+ZGVjb2RlKGJ1ZmZlci5kYXRhKCksIGJ1ZmZl
ci5zaXplKCkpKTsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZEZpbmlzaExvYWRp
bmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCit2b2lkIFdvcmtlclNjcmlw
dExvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRp
ZmllciwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikKIHsKICAgICBpZiAobV9mYWlsZWQpIHsK
ICAgICAgICAgbm90aWZ5RXJyb3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oCmluZGV4IDE1OTkyNmE5NTlmOWY4NzFmMTgwM2FhMzNiNjY4ODQzNTE5MzU3
MzIuLjY5NGEwNjc2NGQzN2NhNzMwZmQxZTBiMWQyYjg3YjY1ZDAwZmMwYWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtODAsNyArODAsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJl
Y2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIG92ZXJyaWRlOwotICAgIHZvaWQgZGlkRmlu
aXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpIG92ZXJyaWRlOworICAgIHZvaWQg
ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtM
b2FkTWV0cmljcyYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVy
cm9yJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGNhbmNlbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRj
aC5jcHAKaW5kZXggNmQyZjFlNmE2ZGQxOTE1ZGVlNTFhZmFhYWM1NmU5MWUxMTkzNjI3Yi4uN2Rh
NTJlNDE5MWQ1ODM1NDY0ODZmYjRmZmQ0YTRjOGIxM2IwZjgxNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
RmV0Y2guY3BwCkBAIC0xMjAsNyArMTIwLDcgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc1Jlc3BvbnNl
KFJlZjxDbGllbnQ+JiYgY2xpZW50LCBFeHBlY3RlZDxSZWY8RmV0Y2hSZXNwb25zZT4sIHMKICAg
ICBjbGllbnQtPmRpZFJlY2VpdmVSZXNwb25zZShyZXNvdXJjZVJlc3BvbnNlKTsKIAogICAgIGlm
IChyZXNwb25zZS0+aXNCb2R5UmVjZWl2ZWRCeUNodW5rKCkpIHsKLSAgICAgICAgcmVzcG9uc2Ut
PmNvbnN1bWVCb2R5UmVjZWl2ZWRCeUNodW5rKFtjbGllbnQgPSBXVEZNb3ZlKGNsaWVudCldIChh
dXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgcmVzcG9uc2UtPmNvbnN1bWVCb2R5UmVj
ZWl2ZWRCeUNodW5rKFtjbGllbnQgPSBXVEZNb3ZlKGNsaWVudCksIHJlc3BvbnNlID0gV2Vha1B0
ciB7IHJlc3BvbnNlLmdldCgpIH1dIChhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAg
ICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKICAgICAgICAgICAgICAgICBhdXRvIGVy
cm9yID0gRmV0Y2hFdmVudDo6Y3JlYXRlUmVzcG9uc2VFcnJvcihVUkwgeyB9LCByZXN1bHQuZXhj
ZXB0aW9uKCkubWVzc2FnZSgpLCBSZXNvdXJjZUVycm9yOjpJc1Nhbml0aXplZDo6WWVzKTsKICAg
ICAgICAgICAgICAgICBjbGllbnQtPmRpZEZhaWwoZXJyb3IpOwpAQCAtMTMwLDcgKzEzMCw3IEBA
IHN0YXRpYyB2b2lkIHByb2Nlc3NSZXNwb25zZShSZWY8Q2xpZW50PiYmIGNsaWVudCwgRXhwZWN0
ZWQ8UmVmPEZldGNoUmVzcG9uc2U+LCBzCiAgICAgICAgICAgICBpZiAoYXV0byogY2h1bmsgPSBy
ZXN1bHQucmV0dXJuVmFsdWUoKSkKICAgICAgICAgICAgICAgICBjbGllbnQtPmRpZFJlY2VpdmVE
YXRhKFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGNodW5rLT5kYXRhKCksIGNodW5rLT5zaXplKCkpKTsK
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBjbGllbnQtPmRpZEZpbmlzaCgpOwor
ICAgICAgICAgICAgICAgIGNsaWVudC0+ZGlkRmluaXNoKHJlc3BvbnNlID8gcmVzcG9uc2UtPm5l
dHdvcmtMb2FkTWV0cmljcygpIDogTmV0d29ya0xvYWRNZXRyaWNzIHsgfSk7CiAgICAgICAgIH0p
OwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTQwLDkgKzE0MCw5IEBAIHN0YXRpYyB2b2lk
IHByb2Nlc3NSZXNwb25zZShSZWY8Q2xpZW50PiYmIGNsaWVudCwgRXhwZWN0ZWQ8UmVmPEZldGNo
UmVzcG9uc2U+LCBzCiAgICAgICAgIGNsaWVudC0+ZGlkUmVjZWl2ZUZvcm1EYXRhQW5kRmluaXNo
KFdURk1vdmUoZm9ybURhdGEpKTsKICAgICB9LCBbJl0gKFJlZjxTaGFyZWRCdWZmZXI+JiBidWZm
ZXIpIHsKICAgICAgICAgY2xpZW50LT5kaWRSZWNlaXZlRGF0YShXVEZNb3ZlKGJ1ZmZlcikpOwot
ICAgICAgICBjbGllbnQtPmRpZEZpbmlzaCgpOworICAgICAgICBjbGllbnQtPmRpZEZpbmlzaChy
ZXNwb25zZS0+bmV0d29ya0xvYWRNZXRyaWNzKCkpOwogICAgIH0sIFsmXSAoc3RkOjpudWxscHRy
X3QmKSB7Ci0gICAgICAgIGNsaWVudC0+ZGlkRmluaXNoKCk7CisgICAgICAgIGNsaWVudC0+ZGlk
RmluaXNoKHJlc3BvbnNlLT5uZXR3b3JrTG9hZE1ldHJpY3MoKSk7CiAgICAgfSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJGZXRjaC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlckZldGNoLmgKaW5kZXggMmM5ZjdhMTZkMjczYmQ3MTVlZTExZWMwN2E0ZjljNWRk
ODQyYWU1Ni4uNTY4ZTYyZDBmNDQwNjkxNjI5ZjhlMmFjMGMwOGY0Y2I3Nzc4MmM0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
ckZldGNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlckZldGNoLmgKQEAgLTM3LDYgKzM3LDcgQEAgY2xhc3MgRmV0Y2hFdmVudDsKIHN0
cnVjdCBGZXRjaE9wdGlvbnM7CiBjbGFzcyBGZXRjaFJlc3BvbnNlOwogY2xhc3MgRm9ybURhdGE7
CitjbGFzcyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3Mg
UmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKQEAgLTU0LDcgKzU1LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFyZWRC
dWZmZXImKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVGb3JtRGF0YUFuZEZpbmlz
aChSZWY8Rm9ybURhdGE+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChjb25zdCBS
ZXNvdXJjZUVycm9yJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2goKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaChjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
Y2FuY2VsKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb250aW51ZURpZFJlY2VpdmVSZXNwb25z
ZSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDg0NzEwMzEw
MzIxMWIyMTA1NTkxZDk3NGZlYmFlOGUwMjU3NGU5NmUuLmViMzUyMDdlN2E5MmJmOWI2ODJmYzEx
MGQ0OTQ2OWY0Y2YzNmFkMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApA
QCAtOTIzLDcgKzkyMyw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwoY29uc3QgUmVz
b3VyY2VFcnJvciYgZXJyb3IpCiAgICAgbmV0d29ya0Vycm9yKCk7CiB9CiAKLXZvaWQgWE1MSHR0
cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKQordm9p
ZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpCiB7CiAgICAgUmVmIHByb3RlY3RlZFRoaXMg
eyAqdGhpcyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IGVkNmYzNjA5
MWJmYzI1OThjY2MwMTQzZjcxOGQ0YzJiMWVkZTNjYTUuLmI3NDkwNDRhOTJiZTY3YTFlNzBlZGNl
OGUxN2QzNjEyMGZkM2MxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCkBAIC0x
NjMsNyArMTYzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxv
bmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzVG9CZVNlbnQp
IG92ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9hZGVySWRl
bnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlk
UmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkaWRG
aW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllcikgb3ZlcnJpZGU7CisgICAgdm9p
ZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgTmV0d29y
a0xvYWRNZXRyaWNzJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNl
RXJyb3ImKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmeUlzRG9uZShib29sKSBmaW5hbDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1Nl
cnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwCmluZGV4IGNkMmQ2YTIwNzNm
Yjk3YWJhMDE2ZDNjN2VmMzFjNzcxYTEyNzAyYzkuLjIwMWUzNDhiNTk4MjA2YWY4YTA2YmViMDIz
MTgxZTZiNTY2MWUzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5j
cHAKQEAgLTI0MywxNSArMjQzLDEwIEBAIHZvaWQgU2VydmljZVdvcmtlckZldGNoVGFzazo6ZGlk
UmVjZWl2ZUZvcm1EYXRhKGNvbnN0IElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmIGZvCiAgICAgLy8g
RklYTUU6IEFsbG93IFdlYlJlc291cmNlTG9hZGVyIHRvIHJlY2VpdmUgZm9ybSBkYXRhLgogfQog
Ci12b2lkIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OmRpZEZpbmlzaCgpCi17Ci0gICAgZGlkRmlu
aXNoV2l0aE1ldHJpY3MoeyB9KTsKLX0KLQotdm9pZCBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpk
aWRGaW5pc2hXaXRoTWV0cmljcyhjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2Fk
TWV0cmljcykKK3ZvaWQgU2VydmljZVdvcmtlckZldGNoVGFzazo6ZGlkRmluaXNoKGNvbnN0IE5l
dHdvcmtMb2FkTWV0cmljcyYgbmV0d29ya0xvYWRNZXRyaWNzKQogewogICAgIEFTU0VSVCghbV90
aW1lb3V0VGltZXIgfHwgIW1fdGltZW91dFRpbWVyLT5pc0FjdGl2ZSgpKTsKLSAgICBTV0ZFVENI
X1JFTEVBU0VfTE9HKCJkaWRGaW5pc2hXaXRoTWV0cmljczoiKTsKKyAgICBTV0ZFVENIX1JFTEVB
U0VfTE9HKCJkaWRGaW5pc2g6Iik7CiAKICAgICBtX2lzRG9uZSA9IHRydWU7CiAgICAgaWYgKG1f
dGltZW91dFRpbWVyKQpAQCAtMzk4LDcgKzM5Myw3IEBAIHZvaWQgU2VydmljZVdvcmtlckZldGNo
VGFzazo6bG9hZEJvZHlGcm9tUHJlbG9hZGVyKCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogICAgICAgICBpZiAoIWNodW5rKSB7Ci0gICAgICAgICAgICBkaWRGaW5pc2hXaXRoTWV0
cmljcyhtX3ByZWxvYWRlci0+bmV0d29ya0xvYWRNZXRyaWNzKCkpOworICAgICAgICAgICAgZGlk
RmluaXNoKG1fcHJlbG9hZGVyLT5uZXR3b3JrTG9hZE1ldHJpY3MoKSk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgZGlkUmVjZWl2ZURhdGEoSVBDOjpTaGFyZWRCdWZm
ZXJDb3B5KGNvbnN0X2Nhc3Q8V2ViQ29yZTo6RnJhZ21lbnRlZFNoYXJlZEJ1ZmZlciY+KCpjaHVu
aykpLCBsZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suaCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmgKaW5kZXgg
NTIyNWU1NDU5OTk1MWQ4ZjgxYzcwYWY4MmViYmEyNjg5ZTM1MDA2Ni4uM2E2NzM5ZjBkNTk4MDNl
YWFmYmZiYWU3MmFkYjIyMjFhMmEzZDIyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suaAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZl
dGNoVGFzay5oCkBAIC05Niw4ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNlaXZl
UmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmLCBib29sIG5lZWRzQ29udGludWVE
aWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0
IElQQzo6U2hhcmVkQnVmZmVyQ29weSYsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAg
IHZvaWQgZGlkUmVjZWl2ZUZvcm1EYXRhKGNvbnN0IElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmKTsK
LSAgICB2b2lkIGRpZEZpbmlzaCgpOwotICAgIHZvaWQgZGlkRmluaXNoV2l0aE1ldHJpY3MoY29u
c3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJik7CisgICAgdm9pZCBkaWRGaW5pc2goY29u
c3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJik7CiAgICAgdm9pZCBkaWRGYWlsKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICB2b2lkIGRpZE5vdEhhbmRsZSgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2Vy
dmljZVdvcmtlckZldGNoVGFzay5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLm1lc3NhZ2VzLmluCmlu
ZGV4IDdkYjUzZTliZDAzODA0NTQ3M2EyNWFmMzdkNDdjMTk1Nzk1ZTIzMjAuLjZlMDY4ZGRlN2Zm
NDM1MTY3MDFkNWE2ZjU5YWNlNjE3ZDRhZjYzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9T
ZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLm1lc3NhZ2VzLmluCkBAIC0yOSw3ICsyOSw3IEBAIG1lc3Nh
Z2VzIC0+IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgTm90UmVmQ291bnRlZCB7CiAgICAgRGlkUmVj
ZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIGJvb2wgbmVl
ZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiAgICAgRGlkUmVjZWl2ZURhdGEo
SVBDOjpTaGFyZWRCdWZmZXJDb3B5IGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAg
ICAgRGlkUmVjZWl2ZUZvcm1EYXRhKElQQzo6Rm9ybURhdGFSZWZlcmVuY2UgZGF0YSkKLSAgICBE
aWRGaW5pc2goKQorICAgIERpZEZpbmlzaChXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MgbWV0
cmljcykKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRh
c2tDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2Vydmlj
ZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAKaW5kZXggN2ViZjk4MGE4OTRkOTI2MzM3NDAxNDFh
ZjhjMTQ4ZmYyYjVlYzRhZS4uYWQxOTNiYjBlNGQwZjZhNDgyMzc4ODRkZWYxZDQyMjM2MTcxZTdk
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2Vydmlj
ZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAKQEAgLTk0LDcgKzk0
LDcgQEAgdm9pZCBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50OjpkaWRSZWNlaXZlRm9y
bURhdGFBbmRGaW5pc2goUmVmPEZvcm1EYXRhPiYKIHsKICAgICBpZiAoYXV0byBzaGFyZWRCdWZm
ZXIgPSBmb3JtRGF0YS0+YXNTaGFyZWRCdWZmZXIoKSkgewogICAgICAgICBkaWRSZWNlaXZlRGF0
YShzaGFyZWRCdWZmZXIucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgICAgIGRpZEZpbmlzaCgpOwor
ICAgICAgICBkaWRGaW5pc2goeyB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTQ5
LDcgKzE0OSw3IEBAIHZvaWQgV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6ZGlkUmVj
ZWl2ZUJsb2JDaHVuayhjb25zdCBTaGFyZWRCdWZmZXImIGJ1CiAKIHZvaWQgV2ViU2VydmljZVdv
cmtlckZldGNoVGFza0NsaWVudDo6ZGlkRmluaXNoQmxvYkxvYWRpbmcoKQogewotICAgIGRpZEZp
bmlzaCgpOworICAgIGRpZEZpbmlzaCh7IH0pOwogCiAgICAgc3RkOjpleGNoYW5nZShtX2Jsb2JM
b2FkZXIsIHN0ZDo6bnVsbG9wdCk7CiB9CkBAIC0xNzQsNyArMTc0LDcgQEAgdm9pZCBXZWJTZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50OjpkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKQogICAgIGNsZWFudXAoKTsKIH0KIAotdm9pZCBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNr
Q2xpZW50OjpkaWRGaW5pc2goKQordm9pZCBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50
OjpkaWRGaW5pc2goY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRyaWNzKQogewogICAgIGlm
ICghbV9jb25uZWN0aW9uKQogICAgICAgICByZXR1cm47CkBAIC0xODMsMTMgKzE4MywxNCBAQCB2
b2lkIFdlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OmRpZEZpbmlzaCgpCiAgICAgICAg
IFJFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICJTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGll
bnQ6OmRpZEZpbmlzaCB3aGlsZSB3YWl0aW5nLCBmZXRjaCBpZGVudGlmaWVyICVsbHUiLCBtX2Zl
dGNoSWRlbnRpZmllci50b1VJbnQ2NCgpKTsKIAogICAgICAgICBtX2RpZEZpbmlzaCA9IHRydWU7
CisgICAgICAgIG1fbmV0d29ya0xvYWRNZXRyaWNzID0gbWV0cmljcy5pc29sYXRlZENvcHkoKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChtX2lzRG93bmxvYWQpCiAgICAgICAg
IG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6U2VydmljZVdvcmtlckRvd25sb2FkVGFzazo6
RGlkRmluaXNoIHsgfSwgbV9mZXRjaElkZW50aWZpZXIpOwogICAgIGVsc2UKLSAgICAgICAgbV9j
b25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpEaWRGaW5p
c2ggeyB9LCBtX2ZldGNoSWRlbnRpZmllcik7CisgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChN
ZXNzYWdlczo6U2VydmljZVdvcmtlckZldGNoVGFzazo6RGlkRmluaXNoIHsgbWV0cmljcyB9LCBt
X2ZldGNoSWRlbnRpZmllcik7CiAKICAgICBjbGVhbnVwKCk7CiB9CkBAIC0yMjYsMTEgKzIyNywx
MSBAQCB2b2lkIFdlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OmNvbnRpbnVlRGlkUmVj
ZWl2ZVJlc3BvbnNlKCkKIAogICAgIHN3aXRjaE9uKG1fcmVzcG9uc2VEYXRhLCBbdGhpc10oc3Rk
OjpudWxscHRyX3QmKSB7CiAgICAgICAgIGlmIChtX2RpZEZpbmlzaCkKLSAgICAgICAgICAgIGRp
ZEZpbmlzaCgpOworICAgICAgICAgICAgZGlkRmluaXNoKG1fbmV0d29ya0xvYWRNZXRyaWNzKTsK
ICAgICB9LCBbdGhpc10oY29uc3QgU2hhcmVkQnVmZmVyQnVpbGRlciYgYnVmZmVyKSB7CiAgICAg
ICAgIGRpZFJlY2VpdmVEYXRhKGJ1ZmZlci5jb3B5KCktPm1ha2VDb250aWd1b3VzKCkpOwogICAg
ICAgICBpZiAobV9kaWRGaW5pc2gpCi0gICAgICAgICAgICBkaWRGaW5pc2goKTsKKyAgICAgICAg
ICAgIGRpZEZpbmlzaChtX25ldHdvcmtMb2FkTWV0cmljcyk7CiAgICAgfSwgW3RoaXNdKFJlZjxG
b3JtRGF0YT4mIGZvcm1EYXRhKSB7CiAgICAgICAgIGRpZFJlY2VpdmVGb3JtRGF0YUFuZEZpbmlz
aChXVEZNb3ZlKGZvcm1EYXRhKSk7CiAgICAgfSwgW3RoaXNdKFVuaXF1ZVJlZjxSZXNvdXJjZUVy
cm9yPiYgZXJyb3IpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaAppbmRleCAw
OTQwMGRmMGNlNzI1ZjM5YThiMTFkOTM1ZTE0NTRlMzk5ZjVhMjYzLi40MTBhYzI1NGQ5NzA5NDI5
ODIxNDQ2ZTQ2ZmE2ZDI4Njg5OTY5ZDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0Ns
aWVudC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GZXRjaElkZW50aWZp
ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZldGNoTG9hZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9GZXRjaExvYWRlckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya0xvYWRNZXRy
aWNzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyRmV0Y2guaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVk
QnVmZmVyLmg+CkBAIC01Myw3ICs1NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNlaXZl
RGF0YShjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImKSBmaW5hbDsKICAgICB2b2lkIGRpZFJl
Y2VpdmVGb3JtRGF0YUFuZEZpbmlzaChSZWY8V2ViQ29yZTo6Rm9ybURhdGE+JiYpIGZpbmFsOwog
ICAgIHZvaWQgZGlkRmFpbChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJikgZmluYWw7Ci0g
ICAgdm9pZCBkaWRGaW5pc2goKSBmaW5hbDsKKyAgICB2b2lkIGRpZEZpbmlzaChjb25zdCBXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbDsKICAgICB2b2lkIGRpZE5vdEhhbmRsZSgp
IGZpbmFsOwogICAgIHZvaWQgY2FuY2VsKCkgZmluYWw7CiAgICAgdm9pZCBjb250aW51ZURpZFJl
Y2VpdmVSZXNwb25zZSgpIGZpbmFsOwpAQCAtNzEsNyArNzIsNyBAQCBwcml2YXRlOgogICAgICAg
ICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
JikgZmluYWwgeyB9CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgV2ViQ29yZTo6
U2hhcmVkQnVmZmVyJiBkYXRhKSBmaW5hbCB7IGNsaWVudC0+ZGlkUmVjZWl2ZUJsb2JDaHVuayhk
YXRhKTsgfQogICAgICAgICB2b2lkIGRpZEZhaWwoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciYgZXJyb3IpIGZpbmFsIHsgY2xpZW50LT5kaWRGYWlsKGVycm9yKTsgfQotICAgICAgICB2b2lk
IGRpZFN1Y2NlZWQoKSBmaW5hbCB7IGNsaWVudC0+ZGlkRmluaXNoQmxvYkxvYWRpbmcoKTsgfQor
ICAgICAgICB2b2lkIGRpZFN1Y2NlZWQoY29uc3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNz
JikgZmluYWwgeyBjbGllbnQtPmRpZEZpbmlzaEJsb2JMb2FkaW5nKCk7IH0KIAogICAgICAgICBS
ZWY8V2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudD4gY2xpZW50OwogICAgICAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6RmV0Y2hMb2FkZXI+IGxvYWRlcjsKQEAgLTg1LDYgKzg2LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1l
c3NhZ2UgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93YWl0aW5nRm9yQ29udGludWVEaWRSZWNlaXZl
UmVzcG9uc2VNZXNzYWdlIHsgZmFsc2UgfTsKICAgICBzdGQ6OnZhcmlhbnQ8c3RkOjpudWxscHRy
X3QsIFdlYkNvcmU6OlNoYXJlZEJ1ZmZlckJ1aWxkZXIsIFJlZjxXZWJDb3JlOjpGb3JtRGF0YT4s
IFVuaXF1ZVJlZjxXZWJDb3JlOjpSZXNvdXJjZUVycm9yPj4gbV9yZXNwb25zZURhdGE7CisgICAg
V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRyaWNzOwogICAgIGJv
b2wgbV9kaWRGaW5pc2ggeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0Rvd25sb2FkIHsgZmFsc2Ug
fTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggOGVhMTEzYmM3Yzc4MzAxOTFkNGI2YzVhMjEyMjc0OTg3YTViNmJjMi4u
ZDNlOGU5ZGYxZTNhMWNiYmZlMDhiMmNhZTRiMjllYmFhYzVhNjBjNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDIyLTAxLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBUcmFuc21pdCBuZXR3b3JrIGxvYWQgbWV0cmljcyB3aGVuIHNlcnZpY2Ugd29ya2Vy
IGlzIHVzaW5nIG9uZSBvZiBpdHMgbmV0d29yayBsb2FkIHRvIHJlc3BvbmQgdG8gRmV0Y2hFdmVu
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTE3
OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogaHR0cC93
cHQvc2VydmljZS13b3JrZXJzL2ZldGNoLW1ldHJpY3MtdmlhLXNlcnZpY2Utd29ya2VyLmh0dHBz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJz
L2ZldGNoLW1ldHJpY3MtdmlhLXNlcnZpY2Utd29ya2VyLmh0dHBzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXdvcmtlci5qczog
QWRkZWQuCisKIDIwMjItMDEtMTYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgog
CiAgICAgICAgIGRhdGFiYXNlIG5hbWVzIGxlYWsgY3Jvc3Mtb3JpZ2luIHdpdGhpbiB0aGUgc2Ft
ZSBicm93c2VyIHNlc3Npb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGVmODQ4
NWJlZTJiZDM3Y2QyYjdlN2QyZjgzODZlNTc3M2ZlNmY2ZWIuLjljZTM2NjhmYTZjMjdkMjdjNTc5
NTM4NWU5ZTc2ZDZkMzhmZjgxZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDIyLTAxLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBUcmFuc21pdCBuZXR3b3JrIGxvYWQgbWV0cmljcyB3aGVuIHNlcnZpY2Ug
d29ya2VyIGlzIHVzaW5nIG9uZSBvZiBpdHMgbmV0d29yayBsb2FkIHRvIHJlc3BvbmQgdG8gRmV0
Y2hFdmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uZXh0LWhv
cC1wcm90b2NvbC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgIFRlc3QgaXMgcHJvZ3Jlc3Np
bmcgZnVydGhlciBidXQgaXMgZmFpbGluZyBhcyB0aGUgdGVzdCBjaGVja3MgY2FjaGVkIHJlc3Bv
bnNlcyBmb3Igd2hpY2ggd2UgZG8gbm90IHN0b3JlIG1ldHJpY3MuCisKIDIwMjItMDEtMTUgIFNh
bSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIENTUyBHcmFkaWVudHM6IGlu
dGVycG9sYXRpb24gbW9kZSBzaG91bGQgZGVmYXVsdCB0byBPS0xhYiBpZiBhbnkgbm9uLWxlZ2Fj
eSBjb2xvciBzeW50YXggY29sb3JzIGFyZSB1c2VkIGluIHRoZSBzdG9wcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNoLW1ldHJpY3MtdmlhLXNl
cnZpY2Utd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3Nl
cnZpY2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXZpYS1zZXJ2aWNlLXdvcmtlci5odHRwcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTYzNDU2M2ZkZWFmNWM0Yjg3OWJiNjNjYWFhMTc2YzA0MmU2
YmNiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9mZXRjaC1tZXRyaWNzLXZpYS1zZXJ2aWNlLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACisKKworUEFTUyBTZXR1cCB3b3JrZXIKK1BBU1MgVmFsaWRhdGUgbWV0
cmljcyBvZiBhIGZldGNoIHZpYSBzZXJ2aWNlIHdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy12aWEtc2VydmljZS13
b3JrZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9m
ZXRjaC1tZXRyaWNzLXZpYS1zZXJ2aWNlLXdvcmtlci5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJm
ZTc3ODIxNmNlMWQwZmM2Y2MxZjcyMTZkNzgwMTRhZTBjM2JjYjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy12aWEt
c2VydmljZS13b3JrZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3Qt
aGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgordmFy
IHNjb3BlID0gInJlc291cmNlcyI7Cit2YXIgYWN0aXZlV29ya2VyOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKHRlc3QpID0+IHsKKyAgICB2YXIgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoImZldGNoLW1ldHJpY3Mtd29ya2VyLmpzIiwgeyBzY29w
ZSA6IHNjb3BlIH0pOworICAgIGFjdGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5hY3RpdmU7Cisg
ICAgaWYgKGFjdGl2ZVdvcmtlcikKKyAgICAgICAgcmV0dXJuOworICAgIGFjdGl2ZVdvcmtlciA9
IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHsKKyAgICAgICAgYWN0aXZlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXRlY2hhbmdl
JywgKCkgPT4geworICAgICAgICAgICAgaWYgKGFjdGl2ZVdvcmtlci5zdGF0ZSA9PT0gImFjdGl2
YXRlZCIpCisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9KTsKKyAgICB9KTsK
K30sICJTZXR1cCB3b3JrZXIiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7Cisg
ICAgY29uc3QgaWZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUoc2NvcGUpOworCisgICAgY29uc3Qg
cmVzcG9uc2UxID0gYXdhaXQgaWZyYW1lLmNvbnRlbnRXaW5kb3cuZmV0Y2goIi8/aW50ZXJjZXB0
Iik7CisgICAgY29uc3QgcmVzcG9uc2UyID0gYXdhaXQgaWZyYW1lLmNvbnRlbnRXaW5kb3cuZmV0
Y2goIi8/ZG8tbm90LWludGVyY2VwdCIpOworCisgICAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZTEu
c3RhdHVzLCAyMDApOworICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2UyLnN0YXR1cywgMjAwKTsK
KworICAgIGF3YWl0IHJlc3BvbnNlMi50ZXh0KCk7CisgICAgYXdhaXQgcmVzcG9uc2UxLnRleHQo
KTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIGFzc2VydF90cnVlKGlu
dGVybmFscy5yZXNwb25zZU5ldHdvcmtMb2FkTWV0cmljc1Byb3RvY29sKHJlc3BvbnNlMSkubGVu
Z3RoID4gMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxzLnJlc3BvbnNlTmV0d29y
a0xvYWRNZXRyaWNzUHJvdG9jb2wocmVzcG9uc2UxKSwgaW50ZXJuYWxzLnJlc3BvbnNlTmV0d29y
a0xvYWRNZXRyaWNzUHJvdG9jb2wocmVzcG9uc2UyKSk7CisgICAgfQorfSwgIlZhbGlkYXRlIG1l
dHJpY3Mgb2YgYSBmZXRjaCB2aWEgc2VydmljZSB3b3JrZXIiKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3Jr
ZXJzL2ZldGNoLW1ldHJpY3Mtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL2ZldGNoLW1ldHJpY3Mtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkOTY5ZGUyNzg1
ZGQ4NzNkZDZhYzJmYTMzNzRhYzFlMGExMWJjNGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy13b3JrZXIuanMKQEAg
LTAsMCArMSw3IEBACitmdW5jdGlvbiBkb1Rlc3QoZXZlbnQpCit7CisgICAgaWYgKGV2ZW50LnJl
cXVlc3QudXJsLmluY2x1ZGVzKCc/aW50ZXJjZXB0JykpCisgICAgICAgIGV2ZW50LnJlc3BvbmRX
aXRoKGZldGNoKGV2ZW50LnJlcXVlc3QpKTsKK30KKworc2VsZi5hZGRFdmVudExpc3RlbmVyKCJm
ZXRjaCIsIGRvVGVzdCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uZXh0LWhvcC1w
cm90b2NvbC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uZXh0LWhvcC1w
cm90b2NvbC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYzY0MDI2NTJhZWJmZGY3NDMxZWQ0NjI5
Y2U2NTZkMjIzYmNlOGVjZC4uOWU5NTQ1MTc2MDdhN2M1ODM3MjdkMTgyMDRjOGU3MTI5NzY4ZjEy
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmV4dC1ob3AtcHJvdG9jb2wuaHR0cHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25leHQtaG9wLXByb3RvY29sLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBuZXh0SG9wUHJvdG9jb2wg
cmVwb3J0cyBIMSBjb3JyZWN0bHkgd2hlbiByb3V0ZWQgdmlhIGEgc2VydmljZSB3b3JrZXIuIGFz
c2VydF9lcXVhbHM6IG5leHRIb3BQcm90b2NvbCBpcyBzZXQgb24gcGFzcy10aHJvdWdoIGV4cGVj
dGVkICJodHRwLzEuMSIgYnV0IGdvdCAiIgorRkFJTCBuZXh0SG9wUHJvdG9jb2wgcmVwb3J0cyBI
MSBjb3JyZWN0bHkgd2hlbiByb3V0ZWQgdmlhIGEgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVh
bHM6IG5leHRIb3BQcm90b2NvbCBpcyBzZXQgb24gY2FjaGVkIHJlc3BvbnNlIGV4cGVjdGVkICJo
dHRwLzEuMSIgYnV0IGdvdCAiIgogRkFJTCBuZXh0SG9wUHJvdG9jb2wgcmVwb3J0cyBIMiBjb3Jy
ZWN0bHkgd2hlbiByb3V0ZWQgdmlhIGEgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVhbHM6IG5l
eHRIb3BQcm90b2NvbCBpcyBzZXQgb24gZmFsbGJhY2sgZXhwZWN0ZWQgImgyIiBidXQgZ290ICJo
dHRwLzEuMSIKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449307</attachid>
            <date>2022-01-16 22:27:47 -0800</date>
            <delta_ts>2022-01-17 00:15:53 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235179-20220117072744.patch</filename>
            <type>text/plain</type>
            <size>43663</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmM4M2I3MWMzYjRlMTg3
ZTIzNTlhNjM0MjZjOGRkOTk3OGEyN2IyMC4uYzE5OTViZjEyZWIyZTQzODMwYzA0ZTc1MDkwMWM3
YzJkYzQ4YTQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIyLTAxLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUcmFuc21pdCBuZXR3b3Jr
IGxvYWQgbWV0cmljcyB3aGVuIHNlcnZpY2Ugd29ya2VyIGlzIHVzaW5nIG9uZSBvZiBpdHMgbmV0
d29yayBsb2FkIHRvIHJlc3BvbmQgdG8gRmV0Y2hFdmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIEFsbG93IEZldGNoUmVzcG9uc2VzIHRvIGdldCB0aGVp
ciBuZXR3b3JrIG1ldHJpY3MuCisgICAgICAgIFRoaXMgcmVxdWlyZXMgYWxsIFRocmVhZGFibGVM
b2FkZXJDbGllbnRzIHRvIHJlY2VpdmUgdGhlc2UgbWV0cmljcy4KKyAgICAgICAgU2VydmljZVdv
cmtlckZldGNoIGlzIHRoZW4gYWJsZSB0byBnZXQgdGhlIG1ldHJpY3MgZnJvbSBpdHMgRmV0Y2hS
ZXNwb25zZSB0byBzZW5kIGl0IHRvIHRoZSBzZXJ2aWNlIHdvcmtlciBsb2FkIGNsaWVudC4KKwor
ICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy12aWEt
c2VydmljZS13b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHlPd25lci5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwOgor
ICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaDoKKyAgICAgICAgKiBNb2R1bGVz
L2ZldGNoL0ZldGNoTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaDoK
KyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwOgorICAgICAgICAqIGZpbGVh
cGkvRmlsZVJlYWRlckxvYWRlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yTmV0d29ya0FnZW50LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmg6
CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKiBs
b2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaDoKKyAgICAgICAgKiBsb2FkZXIv
V29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAg
KiBwYWdlL0V2ZW50U291cmNlLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNwcDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5oOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJGZXRjaC5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdv
cmtlckZldGNoLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwogMjAyMi0wMS0xNiAgTGF1cm8gTW91cmEgIDxsbW91
cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggQysrMjAgYnVpbGQgd2FybmluZ3Mgd2l0aCBH
Q0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggMzQzMDIyOTU1YjIzMDY0NGU1Mjg5ZjA3ODQ3YjYxZmJkNzI4YTZjZC4u
ZDc2ZDdmY2NiNzE1ZTg0ZDRiMmI5ZGI5ZGIwNzM1YmFiOGQyZmJlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAyMi0wMS0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgVHJhbnNtaXQgbmV0d29yayBsb2FkIG1ldHJpY3Mgd2hlbiBzZXJ2aWNlIHdv
cmtlciBpcyB1c2luZyBvbmUgb2YgaXRzIG5ldHdvcmsgbG9hZCB0byByZXNwb25kIHRvIEZldGNo
RXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzUxNzkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBQaXBl
IG5ldHdvcmsgbWV0cmljcyBkb3duIHRvIFdlYlByb2Nlc3MuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5o
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZl
dGNoVGFzay5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2Vy
dmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaDoKKwogMjAyMi0wMS0xNiAgTGF1
cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggQysrMjAgYnVpbGQg
d2FybmluZ3Mgd2l0aCBHQ0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hCb2R5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hC
b2R5T3duZXIuaAppbmRleCA3MTBlZGNmZDY2NTI3ZjA0YzFmYTkxNTQ4ODY0ZjgwNGEyMmU2NGY3
Li42ODU1YTNjMjJiODE1Y2E1YzkxY2I4ZmRiNjIyZTM2OWE3MDQxZjQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCkBAIC0xMTcsNyArMTE3LDcg
QEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYpIGZpbmFsOwogICAgICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNo
YXJlZEJ1ZmZlciYgYnVmZmVyKSBmaW5hbCB7IG93bmVyLmJsb2JDaHVuayhidWZmZXIpOyB9CiAg
ICAgICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgZmluYWw7Ci0gICAgICAg
IHZvaWQgZGlkU3VjY2VlZCgpIGZpbmFsIHsgb3duZXIuYmxvYkxvYWRpbmdTdWNjZWVkZWQoKTsg
fQorICAgICAgICB2b2lkIGRpZFN1Y2NlZWQoY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikgZmlu
YWwgeyBvd25lci5ibG9iTG9hZGluZ1N1Y2NlZWRlZCgpOyB9CiAKICAgICAgICAgRmV0Y2hCb2R5
T3duZXImIG93bmVyOwogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RmV0Y2hMb2FkZXI+IGxvYWRl
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXgg
YjI2YzJhZDE1MDRmM2Y3NGQwOGFmYTY1MWUwNTAxMmQ2ZTM2Yjk0Ni4uN2NlYTMyYTk1OGYxNGJk
OGM4NzhiYzUxZjQ5YzFkMWFkYTZkNmEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTE1Nyw5ICsxNTcsOSBAQCB2b2lkIEZldGNoTG9hZGVy
OjpkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFyZWRCdWZmZXImIGJ1ZmZlcikKICAgICBtX2NvbnN1
bWVyLT5hcHBlbmQoYnVmZmVyKTsKIH0KIAotdm9pZCBGZXRjaExvYWRlcjo6ZGlkRmluaXNoTG9h
ZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpCit2b2lkIEZldGNoTG9hZGVyOjpkaWRGaW5p
c2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgTmV0d29ya0xvYWRNZXRy
aWNzJiBtZXRyaWNzKQogewotICAgIG1fY2xpZW50LmRpZFN1Y2NlZWQoKTsKKyAgICBtX2NsaWVu
dC5kaWRTdWNjZWVkKG1ldHJpY3MpOwogfQogCiB2b2lkIEZldGNoTG9hZGVyOjpkaWRGYWlsKGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaExvYWRlci5oCmluZGV4IDcyYjI3MmViZTY1NDgwZjhhMmIwZWVhYmU3Mjc1NTMxYzdmNWI2
YTcuLmZjNTQxMWZkOWNhZTgzZmI1YzFiMjk4ODA4NTBmNWUxMDg4NGEwZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHJp
dmF0ZToKICAgICAvLyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IEFQSS4KICAgICB2b2lkIGRpZFJl
Y2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZl
ciYpIGZpbmFsOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIpIGZpbmFsOworICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklk
ZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZpbmFsOwogICAgIHZvaWQgZGlk
RmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgZmluYWw7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyQ2xpZW50LmgKaW5kZXggMTA5ZTA4
ZWNmN2E0N2U3YzAzN2UzMmRjYWFjYWI4NmM4MWMxOGQzZC4uM2ZiMjQ3Zjc0ZDI5NDFiOTRlMTgz
MWE0NzdjN2RjODE5ZDNlNTljOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hMb2FkZXJDbGllbnQuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJikgeyB9CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2VlZCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkU3Vj
Y2VlZChjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCmluZGV4IDBkNGZmMWE3ODUzM2RmNDUx
YTkxMDJhMjRiZDg4ZTEwODZjYmViZTAuLmNlMWY3ZDU5N2FkYzdjZGRlNDdiYjcwZWZiYTM0MTUz
OWI2M2MzNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmNwcApAQCAtMjc5LDExICsyNzksMTEgQEAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgRmV0
Y2hSZXNwb25zZTo6ZmlsdGVyZWRSZXNwb25zZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1faW50ZXJu
YWxSZXNwb25zZTsKIH0KIAotdm9pZCBGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRTdWNj
ZWVkKCkKK3ZvaWQgRmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRlcjo6ZGlkU3VjY2VlZChjb25zdCBO
ZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKG1fcmVzcG9uc2UuaGFz
UGVuZGluZ0FjdGl2aXR5KCkpOwogICAgIG1fcmVzcG9uc2UubV9ib2R5LT5sb2FkaW5nU3VjY2Vl
ZGVkKG1fcmVzcG9uc2UuY29udGVudFR5cGUoKSk7Ci0KKyAgICBtX3Jlc3BvbnNlLnNldE5ldHdv
cmtMb2FkTWV0cmljcyhtZXRyaWNzKTsKICAgICBpZiAobV9yZXNwb25zZS5tX3JlYWRhYmxlU3Ry
ZWFtU291cmNlKSB7CiAgICAgICAgIGlmIChtX3Jlc3BvbnNlLmJvZHkoKS5jb25zdW1lcigpLmhh
c0RhdGEoKSkKICAgICAgICAgICAgIG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+
ZW5xdWV1ZShtX3Jlc3BvbnNlLmJvZHkoKS5jb25zdW1lcigpLnRha2VBc0FycmF5QnVmZmVyKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAppbmRleCAy
NzQ2ODA3Y2E4YmJiMTgzYjAzNDExYTk5NDljMmY0ZDVkNTQ3YWI1Li5lZmNjMGMzMTNkOWEwNGJm
ZTM1M2JlMGNhMmJkYmYwZjFkMWU1MjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtMTExLDYgKzExMSw4IEBAIHB1YmxpYzoKICAgICBib29s
IGlzQ09SU1NhbWVPcmlnaW4oKSBjb25zdDsKICAgICBib29sIGhhc1dhc21NSU1FVHlwZSgpIGNv
bnN0OwogCisgICAgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3Mo
KSBjb25zdCB7IHJldHVybiBtX25ldHdvcmtMb2FkTWV0cmljczsgfQorCiBwcml2YXRlOgogICAg
IEZldGNoUmVzcG9uc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHN0ZDo6b3B0aW9uYWw8RmV0
Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBSZXNvdXJjZVJlc3BvbnNlJiYpOwogCkBA
IC0xMTgsNyArMTIwLDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QgZmluYWw7CiAKICAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBmaWx0
ZXJlZFJlc3BvbnNlKCkgY29uc3Q7Ci0KKyAgICB2b2lkIHNldE5ldHdvcmtMb2FkTWV0cmljcyhj
b25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpIHsgbV9uZXR3b3JrTG9hZE1ldHJpY3Mg
PSBtZXRyaWNzOyB9CiAgICAgdm9pZCBjbG9zZVN0cmVhbSgpOwogCiAgICAgdm9pZCBhZGRBYm9y
dFN0ZXBzKFJlZjxBYm9ydFNpZ25hbD4mJik7CkBAIC0xNDAsNyArMTQyLDcgQEAgcHJpdmF0ZToK
IAogICAgIHByaXZhdGU6CiAgICAgICAgIC8vIEZldGNoTG9hZGVyQ2xpZW50IEFQSQotICAgICAg
ICB2b2lkIGRpZFN1Y2NlZWQoKSBmaW5hbDsKKyAgICAgICAgdm9pZCBkaWRTdWNjZWVkKGNvbnN0
IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZpbmFsOwogICAgICAgICB2b2lkIGRpZEZhaWwoY29uc3Qg
UmVzb3VyY2VFcnJvciYpIGZpbmFsOwogICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURh
dGEoY29uc3QgU2hhcmVkQnVmZmVyJikgZmluYWw7CkBAIC0xNjEsNiArMTYzLDcgQEAgcHJpdmF0
ZToKICAgICB1aW50NjRfdCBtX2JvZHlTaXplV2l0aFBhZGRpbmcgeyAwIH07CiAgICAgdWludDY0
X3QgbV9vcGFxdWVMb2FkSWRlbnRpZmllciB7IDAgfTsKICAgICBSZWZQdHI8QWJvcnRTaWduYWw+
IG1fYWJvcnRTaWduYWw7CisgICAgTmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRy
aWNzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVJlYWRlckxvYWRlci5jcHAKaW5kZXggMDdhYmNhYTgxZGRmNDBhZDlmYzY5OTA3MzRm
YjhjNTI4NGFhN2E4Yy4uOGUwMzBlZDkxMjBjMTJmNDZkMGU1ZTA5ZDFiYzIwNGIwNWEzYjU1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwCkBAIC0yMjAs
NyArMjIwLDcgQEAgdm9pZCBGaWxlUmVhZGVyTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShjb25zdCBT
aGFyZWRCdWZmZXImIGJ1ZmZlcikKICAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVEYXRhKCk7
CiB9CiAKLXZvaWQgRmlsZVJlYWRlckxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxv
YWRlcklkZW50aWZpZXIpCit2b2lkIEZpbGVSZWFkZXJMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmco
UmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKQogewog
ICAgIGlmIChtX3ZhcmlhYmxlTGVuZ3RoICYmIG1fdG90YWxCeXRlcyA+IG1fYnl0ZXNMb2FkZWQp
IHsKICAgICAgICAgbV9yYXdEYXRhID0gbV9yYXdEYXRhLT5zbGljZSgwLCBtX2J5dGVzTG9hZGVk
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5o
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmgKaW5kZXggNjMxNmM0
MDA0ZGVmYjRhNzZjZDAzMjNmYzQ4NjUxZDM5ZGExMTUzOC4uMzgyYjIwNjkxNzQ1NDViMTk5NDA0
NmU1YWJlYzc2MzVkYzk0M2EyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVy
TG9hZGVyLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogICAgIC8vIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJl
Y2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIG92ZXJyaWRlOwotICAgIHZvaWQgZGlkRmlu
aXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpIG92ZXJyaWRlOworICAgIHZvaWQg
ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtM
b2FkTWV0cmljcyYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVy
cm9yJikgb3ZlcnJpZGU7CiAKICAgICBTdHJpbmcgc3RyaW5nUmVzdWx0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2Vu
dC5jcHAKaW5kZXggMGMyOTcwZTgzOGE3MDE1Y2M5ZWM2NWJiNWNkOGVkNDgwNDY5MDJjYS4uYzA4
N2Y3NTA4YzE4Mjk1NzE0ZGM3NWZiYmU3ZmFmYjZjYmQ5N2RiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNw
cApAQCAtMTMyLDcgKzEzMiw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9yZXNwb25zZVRleHQuYXBw
ZW5kKG1fZGVjb2Rlci0+ZGVjb2RlKGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpKTsKICAg
ICB9CiAKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVy
KSBvdmVycmlkZQorICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlCiAgICAgewogICAgICAg
ICBpZiAobV9kZWNvZGVyKQogICAgICAgICAgICAgbV9yZXNwb25zZVRleHQuYXBwZW5kKG1fZGVj
b2Rlci0+Zmx1c2goKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDI5MTJlM2Q1NjIxNTMxYzllZGQyODliMjM3MWFhMTA3
NmEyY2VmZWMuLjVkMzlhNDk1NzE3ZjdkZjM2NTc3YjI4OGI1NGQzYTg4Y2U3NGUyMDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CkBAIC00MjksNyArNDI5LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnQKICAgICAgICAgaWYg
KHJlc3BvbnNlLnRhaW50aW5nKCkgPT0gUmVzb3VyY2VSZXNwb25zZTo6VGFpbnRpbmc6Ok9wYXF1
ZSkgewogICAgICAgICAgICAgY2xlYXJSZXNvdXJjZSgpOwogICAgICAgICAgICAgaWYgKG1fY2xp
ZW50KQotICAgICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZp
ZXIpOworICAgICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZp
ZXIsIHsgfSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQ2OCw3ICs0
NjgsNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6ZmluaXNoZWRUaW1pbmdGb3JX
b3JrZXJMb2FkKGNvbnN0IFJlc291cmNlVGltaW5nJgogICAgIG1fY2xpZW50LT5kaWRGaW5pc2hU
aW1pbmcocmVzb3VyY2VUaW1pbmcpOwogfQogCi12b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRl
cjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZXR3b3Jr
TG9hZE1ldHJpY3MmKQordm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZpbmlz
aGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBt
ZXRyaWNzKQogewogICAgIEFTU0VSVChtX2NsaWVudCk7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNv
dXJjZSwgJnJlc291cmNlID09IG1fcmVzb3VyY2UpOwpAQCAtNDc2LDEwICs0NzYsMTAgQEAgdm9p
ZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNl
JiByZXNvdXJjZSwgY29uc3QgTmUKICAgICBpZiAobV9yZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgp
KQogICAgICAgICBkaWRGYWlsKG1fcmVzb3VyY2UtPmlkZW50aWZpZXIoKSwgbV9yZXNvdXJjZS0+
cmVzb3VyY2VFcnJvcigpKTsKICAgICBlbHNlCi0gICAgICAgIGRpZEZpbmlzaExvYWRpbmcobV9y
ZXNvdXJjZS0+aWRlbnRpZmllcigpKTsKKyAgICAgICAgZGlkRmluaXNoTG9hZGluZyhtX3Jlc291
cmNlLT5pZGVudGlmaWVyKCksIG1ldHJpY3MpOwogfQogCi12b2lkIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRp
ZmllcikKK3ZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJl
c291cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJp
Y3MmIG1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKG1fY2xpZW50KTsKIApAQCAtNTA0LDcgKzUwNCw3
IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291
cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2Ns
aWVudC0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKKyAgICBtX2NsaWVudC0+ZGlkRmlu
aXNoTG9hZGluZyhpZGVudGlmaWVyLCBtZXRyaWNzKTsKIH0KIAogdm9pZCBEb2N1bWVudFRocmVh
ZGFibGVMb2FkZXI6OmRpZEZhaWwoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNv
dXJjZUVycm9yJiBlcnJvcikKQEAgLTYxNyw3ICs2MTcsNyBAQCB2b2lkIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6bG9hZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2VjdXJp
dHlDaAogICAgICAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCBYTUxIdHRwUmVxdWVzdCB0byByYWlz
ZSBhbiBleGNlcHRpb24gZm9yIGZpbGU6Ly8gcmVzb3VyY2VzLCBzZWUgPHJkYXI6Ly9wcm9ibGVt
LzQ5NjIyOTg+LgogICAgICAgICAgICAgLy8gRklYTUU6IFhNTEh0dHBSZXF1ZXN0IHF1aXJrcyBz
aG91bGQgYmUgaW4gWE1MSHR0cFJlcXVlc3QgY29kZSwgbm90IGluIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlci5jcHAuCiAgICAgICAgICAgICBkaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwg
cmVzcG9uc2UpOwotICAgICAgICAgICAgZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKKyAg
ICAgICAgICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwgeyB9KTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgICAgICBsb2dFcnJvckFuZEZhaWwoZXJyb3IpOwpAQCAt
NjczLDcgKzY3Myw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVxdWVz
dChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBTZWN1cml0eUNoCiAgICAgICAgICAgICB3aW5k
b3ctPnBlcmZvcm1hbmNlKCkuYWRkUmVzb3VyY2VUaW1pbmcoV1RGTW92ZShyZXNvdXJjZVRpbWlu
ZykpOwogICAgIH0KIAotICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllcik7CisgICAgZGlk
RmluaXNoTG9hZGluZyhpZGVudGlmaWVyLCB7IH0pOwogfQogCiBib29sIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6aXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgVVJMJiB1
cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGly
ZWN0UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBjODZi
YTdmNDUzODNiNmMyODYwMDMyZDNhZWJmYmEzZTA4NjA3NjkwLi4yNTNkMjZkYzgyNmEwOTYzNDdk
NjhlN2I3MDQ3MzFhMzZkZDRhZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC05NCw3ICs5NCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklk
ZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICAgICAgdm9pZCBkaWRSZWNl
aXZlRGF0YShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFNoYXJlZEJ1ZmZlciYpOwot
ICAgICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKTsK
KyAgICAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwg
Y29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJik7CiAgICAgICAgIHZvaWQgZGlkRmFpbChSZXNvdXJj
ZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICAgICAgdm9pZCBt
YWtlQ3Jvc3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmKTsKICAgICAgICAg
dm9pZCBtYWtlU2ltcGxlQ3Jvc3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmlu
ZGV4IGY5YzZiNWM0YTAyYWYwYmRhMTQyMGIwYWU4ZTU4ZTcxOWQzZmE0YzcuLmM4ZWU0YzJkMDVm
OThmNDhlZDlhZWVkYTY5ODFmNjliZThjYzI1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAtMzQsNiArMzQsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK2NsYXNzIE5ldHdvcmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNl
RXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBA
IC00Niw3ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVz
cG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYp
IHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRl
bnRpZmllcikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VM
b2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgeyB9CiAgICAgdmlydHVhbCB2
b2lkIGRpZEZpbmlzaFRpbWluZyhjb25zdCBSZXNvdXJjZVRpbWluZyYpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBub3RpZnlJc0RvbmUoYm9vbCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFw
cGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBw
ZXIuaAppbmRleCBiYWM2NmI0NTI4OTM4OGQ0YjY2MDdiYzA1ZjM0ZTAzN2NhMmQzNmEwLi5hMTdi
MDczODI3OTFhYWM0NmQyMDM1ZDMzMDUyNWUzYjFiNDdkMjk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaApAQCAtNzIs
MTEgKzcyLDExIEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlRGF0
YShidWZmZXIpOwogICAgIH0KIAotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxv
YWRlcklkZW50aWZpZXIgaWRlbnRpZmllcikKKyAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVz
b3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmlj
cyYgbWV0cmljcykKICAgICB7CiAgICAgICAgIG1fZG9uZSA9IHRydWU7CiAgICAgICAgIGlmICht
X2NsaWVudCkKLSAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZp
ZXIpOworICAgICAgICAgICAgbV9jbGllbnQtPmRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwg
bWV0cmljcyk7CiAgICAgfQogCiAgICAgdm9pZCBub3RpZnlJc0RvbmUoYm9vbCBpc0RvbmUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5k
ZXggYjc3MWU2MDYyZGJhZDA3ZmVmMzg4MTA5YjA2YzZjZTEyOWM3MDRjMy4uY2MzYWQzNTkwNDM1
NDIwMmNjNTZkMjJmNDQxOTcyOGY3MTdhYWJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMjQwLDE0ICsyNDAsMTQgQEAgdm9p
ZCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRSZWNlaXZlRGF0
YShjb25zdCBTaGFyZWRCdWZmZXIKICAgICB9LCBtX3Rhc2tNb2RlKTsKIH0KIAotdm9pZCBXb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGaW5pc2hMb2FkaW5nKFJl
c291cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyKQordm9pZCBXb3JrZXJUaHJlYWRhYmxl
TG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVy
SWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3Mp
CiB7CiAgICAgbV9sb2FkaW5nRmluaXNoZWQgPSB0cnVlOwotICAgIG1fbG9hZGVyUHJveHkucG9z
dFRhc2tGb3JNb2RlVG9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShbcHJvdGVjdGVkV29ya2Vy
Q2xpZW50V3JhcHBlciA9IFJlZiB7ICptX3dvcmtlckNsaWVudFdyYXBwZXIgfSwgd29ya2VyUmVx
dWVzdElkZW50aWZpZXIgPSBtX3dvcmtlclJlcXVlc3RJZGVudGlmaWVyLCBuZXR3b3JrTG9hZE1l
dHJpY3MgPSBtX25ldHdvcmtMb2FkTWV0cmljcy5pc29sYXRlZENvcHkoKSwgaWRlbnRpZmllcl0g
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUgeworICAgIG1fbG9hZGVy
UHJveHkucG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShbcHJvdGVj
dGVkV29ya2VyQ2xpZW50V3JhcHBlciA9IFJlZiB7ICptX3dvcmtlckNsaWVudFdyYXBwZXIgfSwg
d29ya2VyUmVxdWVzdElkZW50aWZpZXIgPSBtX3dvcmtlclJlcXVlc3RJZGVudGlmaWVyLCBtZXRy
aWNzID0gbWV0cmljcy5pc29sYXRlZENvcHkoKSwgaWRlbnRpZmllcl0gKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUgewogICAgICAgICBBU1NFUlQoY29udGV4dC5pc1dv
cmtlckdsb2JhbFNjb3BlKCkgfHwgY29udGV4dC5pc1dvcmtsZXRHbG9iYWxTY29wZSgpKTsKLSAg
ICAgICAgcHJvdGVjdGVkV29ya2VyQ2xpZW50V3JhcHBlci0+ZGlkRmluaXNoTG9hZGluZyhpZGVu
dGlmaWVyKTsKKyAgICAgICAgcHJvdGVjdGVkV29ya2VyQ2xpZW50V3JhcHBlci0+ZGlkRmluaXNo
TG9hZGluZyhpZGVudGlmaWVyLCBtZXRyaWNzKTsKICAgICAgICAgaWYgKGlzPFdvcmtlckdsb2Jh
bFNjb3BlPihjb250ZXh0KSkKLSAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRmluaXNoTG9hZGluZyhkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCksIHdv
cmtlclJlcXVlc3RJZGVudGlmaWVyLCBuZXR3b3JrTG9hZE1ldHJpY3MpOworICAgICAgICAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hMb2FkaW5nKGRvd25jYXN0PFdvcmtl
ckdsb2JhbFNjb3BlPihjb250ZXh0KSwgd29ya2VyUmVxdWVzdElkZW50aWZpZXIsIG1ldHJpY3Mp
OwogICAgIH0sIG1fdGFza01vZGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dv
cmtlclRocmVhZGFibGVMb2FkZXIuaAppbmRleCA5ZWY0ZTU4MjYzNjkxN2E4MzBhZjJkZThiMGFi
NDYwN2ZhNWQ4OTNlLi5jYTQ5NWU2MTVmODU0N2Q1YjY3NTkyNmI2Y2M0N2Q0MDNiNTEwYTU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAg
LTEwNiw3ICsxMDYsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGRpZFNlbmREYXRhKHVuc2ln
bmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzVG9C
ZVNlbnQpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJj
ZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKICAg
ICAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFyZWRCdWZmZXImKSBvdmVycmlkZTsK
LSAgICAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllcikg
b3ZlcnJpZGU7CisgICAgICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklk
ZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlOwogICAgICAgICB2
b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIG92ZXJyaWRlOwogICAgICAgICB2b2lk
IGRpZEZpbmlzaFRpbWluZyhjb25zdCBSZXNvdXJjZVRpbWluZyYpIG92ZXJyaWRlOwogICAgICAg
ICB2b2lkIG5vdGlmeUlzRG9uZShib29sIGlzRG9uZSkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRTb3VyY2UuY3BwCmluZGV4IDNjNDk1NzFlNDE5ZGQwYWU5ZTZiNzY2MmQyMTI5YWI1OGI1ZTc0
ZDAuLjhjYzhkZjFhYzI2Y2QzNDc5MjRkNzZiZGJmZWM5MmFmOTEwZTEzNjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0yMjEsNyArMjIxLDcgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJiBidWZmZXIpCiAgICAgcGFyc2VF
dmVudFN0cmVhbSgpOwogfQogCi12b2lkIEV2ZW50U291cmNlOjpkaWRGaW5pc2hMb2FkaW5nKFJl
c291cmNlTG9hZGVySWRlbnRpZmllcikKK3ZvaWQgRXZlbnRTb3VyY2U6OmRpZEZpbmlzaExvYWRp
bmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKQog
ewogICAgIEFTU0VSVChtX3N0YXRlID09IE9QRU4pOwogICAgIEFTU0VSVChtX3JlcXVlc3RJbkZs
aWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggNzNmZWU3OTI3MzQyNzViZmFl
ODc1MGNkMTgwMTBmM2ZhMTFlMjM1Mi4uYjI5Y2I1M2Q0YTM2YWY2NDIyMGIyZDZkNjZjMzkyNGNl
ZTIzMWNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtODUsNyArODUsNyBAQCBw
cml2YXRlOgogICAgIC8vIFRocmVhZGFibGVMb2FkZXJDbGllbnQKICAgICB2b2lkIGRpZFJlY2Vp
dmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYp
IGZpbmFsOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXIpIGZpbmFsOworICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZpbmFsOwogICAgIHZvaWQgZGlkRmFp
bChjb25zdCBSZXNvdXJjZUVycm9yJikgZmluYWw7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRN
ZXRyaWNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0
cmljcy5oCmluZGV4IGNiMGQ4YjNhYWM0ZDZiMWZlZTliOWVhMjI0NTM0Y2EyMzIwNDg4MWUuLjM0
ZGJmNGE3NDM2NDVhOTgwOGE1MTdlMWE0NDI1OWEyYzU3ODBkYWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaApAQCAtNjcs
NyArNjcsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNz
JiBlbXB0eU1ldHJpY3MoKTsKIAotICAgIE5ldHdvcmtMb2FkTWV0cmljcyBpc29sYXRlZENvcHko
KSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBOZXR3b3JrTG9hZE1ldHJpY3MgaXNvbGF0ZWRD
b3B5KCkgY29uc3Q7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShF
bmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6
b3B0aW9uYWw8TmV0d29ya0xvYWRNZXRyaWNzPiBkZWNvZGUoRGVjb2RlciYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDdkOGFkNzlmOGU1NDhlZmY2OTMwMDhiZGE1NmE5
YjI0MjU5M2FhZTUuLmI5ZWFhOGJmNzg2ZmE0MzU4YThlMmUxMmVjOTAzODFjOTY0N2UyNGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTU3MDksNiArNTcwOSwxMSBAQCB1
aW50NjRfdCBJbnRlcm5hbHM6OnJlc3BvbnNlU2l6ZVdpdGhQYWRkaW5nKEZldGNoUmVzcG9uc2Um
IHJlc3BvbnNlKSBjb25zdAogICAgIHJldHVybiByZXNwb25zZS5ib2R5U2l6ZVdpdGhQYWRkaW5n
KCk7CiB9CiAKK2NvbnN0IFN0cmluZyYgSW50ZXJuYWxzOjpyZXNwb25zZU5ldHdvcmtMb2FkTWV0
cmljc1Byb3RvY29sKGNvbnN0IEZldGNoUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIHJldHVy
biByZXNwb25zZS5uZXR3b3JrTG9hZE1ldHJpY3MoKS5wcm90b2NvbDsKK30KKwogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKIHZvaWQgSW50ZXJuYWxzOjpoYXNTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uKGNvbnN0IFN0cmluZyYgY2xpZW50VVJMLCBIYXNSZWdpc3RyYXRpb25Qcm9taXNlJiYg
cHJvbWlzZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDg4ZDFmOWZjNjdk
YTBjM2M1ODc5NjU5Njk1Yzc0ZGQ1NzJiZDkxYTYuLjM3NWRhMTkxZWNhYzMyY2Q1NjI4M2MwNDRh
MmU5ODFlYmY5YzAwZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtODg5LDYg
Kzg4OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhY2hlU3RvcmFnZUVuZ2luZVJlcHJlc2VudGF0
aW9uKERPTVByb21pc2VEZWZlcnJlZDxJRExET01TdHJpbmc+JiYpOwogICAgIHZvaWQgc2V0UmVz
cG9uc2VTaXplV2l0aFBhZGRpbmcoRmV0Y2hSZXNwb25zZSYsIHVpbnQ2NF90IHNpemUpOwogICAg
IHVpbnQ2NF90IHJlc3BvbnNlU2l6ZVdpdGhQYWRkaW5nKEZldGNoUmVzcG9uc2UmKSBjb25zdDsK
KyAgICBjb25zdCBTdHJpbmcmIHJlc3BvbnNlTmV0d29ya0xvYWRNZXRyaWNzUHJvdG9jb2woY29u
c3QgRmV0Y2hSZXNwb25zZSYpOwogCiAgICAgdm9pZCB1cGRhdGVRdW90YUJhc2VkT25TcGFjZVVz
YWdlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBmOWE1YmI4MjA5
NjBjNDBhZDI0M2ZlN2QyMjBlMWVhNzNhZWI5MjQ1Li44YzZjMzM3ZDcxYTNhYmI5ZTNiZGE5ZWY5
ODI1ODI0ZWNiOTlkYjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC05
NDEsNiArOTQxLDcgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIEZldGNoUmVzcG9uc2UpIEZl
dGNoT2JqZWN0OwogICAgIFByb21pc2U8RE9NU3RyaW5nPiBjYWNoZVN0b3JhZ2VFbmdpbmVSZXBy
ZXNlbnRhdGlvbigpOwogICAgIHVuZGVmaW5lZCBzZXRSZXNwb25zZVNpemVXaXRoUGFkZGluZyhG
ZXRjaFJlc3BvbnNlIHJlc3BvbnNlLCB1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSk7CiAgICAgdW5z
aWduZWQgbG9uZyBsb25nIHJlc3BvbnNlU2l6ZVdpdGhQYWRkaW5nKEZldGNoUmVzcG9uc2UgcmVz
cG9uc2UpOworICAgIERPTVN0cmluZyByZXNwb25zZU5ldHdvcmtMb2FkTWV0cmljc1Byb3RvY29s
KEZldGNoUmVzcG9uc2UgcmVzcG9uc2UpOwogCiAgICAgRE9NU3RyaW5nIGJsb2JJbnRlcm5hbFVS
TChCbG9iIGJsb2IpOwogICAgIFByb21pc2U8Ym9vbGVhbj4gaXNCbG9iSW50ZXJuYWxVUkxSZWdp
c3RlcmVkKERPTVN0cmluZyB1cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJGb250TG9hZFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJGb250TG9hZFJlcXVlc3QuY3BwCmluZGV4IDQzYzNhM2I0NjZlZmM3OWQwZDVlOTFkMjI1MDBm
MDBjMzVkYThjYWMuLmIzZDAzZWZlMjZiZWIzNmVjMDc5NjZjYWQ0MjEwZDc3NGE1NmJjZjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5jcHAK
QEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFdvcmtlckZvbnRMb2FkUmVxdWVzdDo6ZGlkUmVjZWl2
ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJiBidWZmZXIpCiAgICAgbV9kYXRhLmFwcGVuZChidWZm
ZXIpOwogfQogCi12b2lkIFdvcmtlckZvbnRMb2FkUmVxdWVzdDo6ZGlkRmluaXNoTG9hZGluZyhS
ZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpCit2b2lkIFdvcmtlckZvbnRMb2FkUmVxdWVzdDo6ZGlk
RmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2Fk
TWV0cmljcyYpCiB7CiAgICAgbV9pc0xvYWRpbmcgPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJGb250TG9hZFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0LmgKaW5kZXggZDhjMTg5OTcyZjE4MTkx
ZDgwNjhhNWY0NTI5NjFhNGNmNDE1NTAwYi4uZGFhZDU1YTVmM2FhMDZhMjgwMGQ5ZmYxODk1ZTU4
Zjk1MmZhZDI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJGb250
TG9hZFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckZvbnRMb2Fk
UmVxdWVzdC5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpZFJlY2Vp
dmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYp
IGZpbmFsOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXIpIGZpbmFsOworICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIGZpbmFsOwogICAgIHZvaWQgZGlkRmFp
bChjb25zdCBSZXNvdXJjZUVycm9yJikgZmluYWw7CiAKICAgICBVUkwgbV91cmw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggOTAwMmI1ODM4
YjJlMmIwZDM5YWFhMGI0M2MyYTZiMjJiOTI5ZDFjYi4uOWRmYjRjOTkxYThjYjU5MWUxMjg3ODVl
NmE2ZjE0Y2QyYTE1MjYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2Ny
aXB0TG9hZGVyLmNwcApAQCAtMjE4LDcgKzIxOCw3IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVy
OjpkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFyZWRCdWZmZXImIGJ1ZmZlcikKICAgICBtX3Njcmlw
dC5hcHBlbmQobV9kZWNvZGVyLT5kZWNvZGUoYnVmZmVyLmRhdGEoKSwgYnVmZmVyLnNpemUoKSkp
OwogfQogCi12b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJj
ZUxvYWRlcklkZW50aWZpZXIgaWRlbnRpZmllcikKK3ZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpk
aWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25z
dCBOZXR3b3JrTG9hZE1ldHJpY3MmKQogewogICAgIGlmIChtX2ZhaWxlZCkgewogICAgICAgICBu
b3RpZnlFcnJvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVy
LmgKaW5kZXggMTU5OTI2YTk1OWY5Zjg3MWYxODAzYWEzM2I2Njg4NDM1MTkzNTczMi4uNjk0YTA2
NzY0ZDM3Y2E3MzBmZDFlMGIxZDJiODdiNjVkMDBmYzBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCkBAIC04MCw3ICs4MCw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEo
Y29uc3QgU2hhcmVkQnVmZmVyJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5n
KFJlc291cmNlTG9hZGVySWRlbnRpZmllcikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRGaW5pc2hM
b2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNz
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKSBvdmVy
cmlkZTsKIAogICAgIHZvaWQgY2FuY2VsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcAppbmRl
eCA2ZDJmMWU2YTZkZDE5MTVkZWU1MWFmYWFhYzU2ZTkxZTExOTM2MjdiLi43ZGE1MmU0MTkxZDU4
MzU0NjQ4NmZiNGZmZDRhNGM4YjEzYjBmODE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAK
QEAgLTEyMCw3ICsxMjAsNyBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzUmVzcG9uc2UoUmVmPENsaWVu
dD4mJiBjbGllbnQsIEV4cGVjdGVkPFJlZjxGZXRjaFJlc3BvbnNlPiwgcwogICAgIGNsaWVudC0+
ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc291cmNlUmVzcG9uc2UpOwogCiAgICAgaWYgKHJlc3BvbnNl
LT5pc0JvZHlSZWNlaXZlZEJ5Q2h1bmsoKSkgewotICAgICAgICByZXNwb25zZS0+Y29uc3VtZUJv
ZHlSZWNlaXZlZEJ5Q2h1bmsoW2NsaWVudCA9IFdURk1vdmUoY2xpZW50KV0gKGF1dG8mJiByZXN1
bHQpIG11dGFibGUgeworICAgICAgICByZXNwb25zZS0+Y29uc3VtZUJvZHlSZWNlaXZlZEJ5Q2h1
bmsoW2NsaWVudCA9IFdURk1vdmUoY2xpZW50KSwgcmVzcG9uc2UgPSBXZWFrUHRyIHsgcmVzcG9u
c2UuZ2V0KCkgfV0gKGF1dG8mJiByZXN1bHQpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKHJl
c3VsdC5oYXNFeGNlcHRpb24oKSkgewogICAgICAgICAgICAgICAgIGF1dG8gZXJyb3IgPSBGZXRj
aEV2ZW50OjpjcmVhdGVSZXNwb25zZUVycm9yKFVSTCB7IH0sIHJlc3VsdC5leGNlcHRpb24oKS5t
ZXNzYWdlKCksIFJlc291cmNlRXJyb3I6OklzU2FuaXRpemVkOjpZZXMpOwogICAgICAgICAgICAg
ICAgIGNsaWVudC0+ZGlkRmFpbChlcnJvcik7CkBAIC0xMzAsNyArMTMwLDcgQEAgc3RhdGljIHZv
aWQgcHJvY2Vzc1Jlc3BvbnNlKFJlZjxDbGllbnQ+JiYgY2xpZW50LCBFeHBlY3RlZDxSZWY8RmV0
Y2hSZXNwb25zZT4sIHMKICAgICAgICAgICAgIGlmIChhdXRvKiBjaHVuayA9IHJlc3VsdC5yZXR1
cm5WYWx1ZSgpKQogICAgICAgICAgICAgICAgIGNsaWVudC0+ZGlkUmVjZWl2ZURhdGEoU2hhcmVk
QnVmZmVyOjpjcmVhdGUoY2h1bmstPmRhdGEoKSwgY2h1bmstPnNpemUoKSkpOwogICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgIGNsaWVudC0+ZGlkRmluaXNoKCk7CisgICAgICAgICAg
ICAgICAgY2xpZW50LT5kaWRGaW5pc2gocmVzcG9uc2UgPyByZXNwb25zZS0+bmV0d29ya0xvYWRN
ZXRyaWNzKCkgOiBOZXR3b3JrTG9hZE1ldHJpY3MgeyB9KTsKICAgICAgICAgfSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CkBAIC0xNDAsOSArMTQwLDkgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc1Jl
c3BvbnNlKFJlZjxDbGllbnQ+JiYgY2xpZW50LCBFeHBlY3RlZDxSZWY8RmV0Y2hSZXNwb25zZT4s
IHMKICAgICAgICAgY2xpZW50LT5kaWRSZWNlaXZlRm9ybURhdGFBbmRGaW5pc2goV1RGTW92ZShm
b3JtRGF0YSkpOwogICAgIH0sIFsmXSAoUmVmPFNoYXJlZEJ1ZmZlcj4mIGJ1ZmZlcikgewogICAg
ICAgICBjbGllbnQtPmRpZFJlY2VpdmVEYXRhKFdURk1vdmUoYnVmZmVyKSk7Ci0gICAgICAgIGNs
aWVudC0+ZGlkRmluaXNoKCk7CisgICAgICAgIGNsaWVudC0+ZGlkRmluaXNoKHJlc3BvbnNlLT5u
ZXR3b3JrTG9hZE1ldHJpY3MoKSk7CiAgICAgfSwgWyZdIChzdGQ6Om51bGxwdHJfdCYpIHsKLSAg
ICAgICAgY2xpZW50LT5kaWRGaW5pc2goKTsKKyAgICAgICAgY2xpZW50LT5kaWRGaW5pc2gocmVz
cG9uc2UtPm5ldHdvcmtMb2FkTWV0cmljcygpKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNo
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
RmV0Y2guaAppbmRleCAyYzlmN2ExNmQyNzNiZDcxNWVlMTFlYzA3YTRmOWM1ZGQ4NDJhZTU2Li41
NjhlNjJkMGY0NDA2OTE2MjlmOGUyYWMwYzA4ZjRjYjc3NzgyYzRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
RmV0Y2guaApAQCAtMzcsNiArMzcsNyBAQCBjbGFzcyBGZXRjaEV2ZW50Owogc3RydWN0IEZldGNo
T3B0aW9uczsKIGNsYXNzIEZldGNoUmVzcG9uc2U7CiBjbGFzcyBGb3JtRGF0YTsKK2NsYXNzIE5l
dHdvcmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJl
cXVlc3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwpAQCAtNTQsNyArNTUsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUZvcm1EYXRhQW5kRmluaXNoKFJlZjxGb3Jt
RGF0YT4mJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJy
b3ImKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaCgpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkRmluaXNoKGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkTm90SGFuZGxlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlKCkgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggODQ3MTAzMTAzMjExYjIxMDU1
OTFkOTc0ZmViYWU4ZTAyNTc0ZTk2ZS4uZWIzNTIwN2U3YTkyYmY5YjY4MmZjMTEwZDQ5NDY5ZjRj
ZjM2YWQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC05MjMsNyAr
OTIzLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9y
JiBlcnJvcikKICAgICBuZXR3b3JrRXJyb3IoKTsKIH0KIAotdm9pZCBYTUxIdHRwUmVxdWVzdDo6
ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIpCit2b2lkIFhNTEh0dHBS
ZXF1ZXN0OjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3Qg
TmV0d29ya0xvYWRNZXRyaWNzJikKIHsKICAgICBSZWYgcHJvdGVjdGVkVGhpcyB7ICp0aGlzIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggZWQ2ZjM2MDkxYmZjMjU5OGNj
YzAxNDNmNzE4ZDRjMmIxZWRlM2NhNS4uYjc0OTA0NGE5MmJlNjdhMWU3MGVkY2U4ZTE3ZDM2MTIw
ZmQzYzEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTE2Myw3ICsxNjMs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIGJ5
dGVzU2VudCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCkgb3ZlcnJpZGU7
CiAgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0
YShjb25zdCBTaGFyZWRCdWZmZXImKSBvdmVycmlkZTsKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRp
bmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZEZpbmlz
aExvYWRpbmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJp
Y3MmKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIG92
ZXJyaWRlOwogICAgIHZvaWQgbm90aWZ5SXNEb25lKGJvb2wpIGZpbmFsOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtl
ckZldGNoVGFzay5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAKaW5kZXggY2QyZDZhMjA3M2ZiOTdhYmEwMTZk
M2M3ZWYzMWM3NzFhMTI3MDJjOS4uMjAxZTM0OGI1OTgyMDZhZjhhMDZiZWIwMjMxODFlNmI1NjYx
ZTNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcApAQCAtMjQz
LDE1ICsyNDMsMTAgQEAgdm9pZCBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpkaWRSZWNlaXZlRm9y
bURhdGEoY29uc3QgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSYgZm8KICAgICAvLyBGSVhNRTogQWxs
b3cgV2ViUmVzb3VyY2VMb2FkZXIgdG8gcmVjZWl2ZSBmb3JtIGRhdGEuCiB9CiAKLXZvaWQgU2Vy
dmljZVdvcmtlckZldGNoVGFzazo6ZGlkRmluaXNoKCkKLXsKLSAgICBkaWRGaW5pc2hXaXRoTWV0
cmljcyh7IH0pOwotfQotCi12b2lkIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OmRpZEZpbmlzaFdp
dGhNZXRyaWNzKGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgbmV0d29ya0xvYWRNZXRyaWNzKQor
dm9pZCBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpkaWRGaW5pc2goY29uc3QgTmV0d29ya0xvYWRN
ZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKCFtX3RpbWVvdXRUaW1l
ciB8fCAhbV90aW1lb3V0VGltZXItPmlzQWN0aXZlKCkpOwotICAgIFNXRkVUQ0hfUkVMRUFTRV9M
T0coImRpZEZpbmlzaFdpdGhNZXRyaWNzOiIpOworICAgIFNXRkVUQ0hfUkVMRUFTRV9MT0coImRp
ZEZpbmlzaDoiKTsKIAogICAgIG1faXNEb25lID0gdHJ1ZTsKICAgICBpZiAobV90aW1lb3V0VGlt
ZXIpCkBAIC0zOTgsNyArMzkzLDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpsb2Fk
Qm9keUZyb21QcmVsb2FkZXIoKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
ICAgIGlmICghY2h1bmspIHsKLSAgICAgICAgICAgIGRpZEZpbmlzaFdpdGhNZXRyaWNzKG1fcHJl
bG9hZGVyLT5uZXR3b3JrTG9hZE1ldHJpY3MoKSk7CisgICAgICAgICAgICBkaWRGaW5pc2gobV9w
cmVsb2FkZXItPm5ldHdvcmtMb2FkTWV0cmljcygpKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogICAgICAgICBkaWRSZWNlaXZlRGF0YShJUEM6OlNoYXJlZEJ1ZmZlckNvcHkoY29u
c3RfY2FzdDxXZWJDb3JlOjpGcmFnbWVudGVkU2hhcmVkQnVmZmVyJj4oKmNodW5rKSksIGxlbmd0
aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suaAppbmRleCA1MjI1ZTU0NTk5
OTUxZDhmODFjNzBhZjgyZWJiYTI2ODllMzUwMDY2Li4zYTY3MzlmMGQ1OTgwM2VhYWZiZmJhZTcy
YWRiMjIyMWEyYTNkMjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmgK
QEAgLTk2LDggKzk2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVS
ZXNwb25zZU1lc3NhZ2UpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgSVBDOjpTaGFy
ZWRCdWZmZXJDb3B5JiwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAgICAgdm9pZCBkaWRS
ZWNlaXZlRm9ybURhdGEoY29uc3QgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSYpOwotICAgIHZvaWQg
ZGlkRmluaXNoKCk7Ci0gICAgdm9pZCBkaWRGaW5pc2hXaXRoTWV0cmljcyhjb25zdCBXZWJDb3Jl
OjpOZXR3b3JrTG9hZE1ldHJpY3MmKTsKKyAgICB2b2lkIGRpZEZpbmlzaChjb25zdCBXZWJDb3Jl
OjpOZXR3b3JrTG9hZE1ldHJpY3MmKTsKICAgICB2b2lkIGRpZEZhaWwoY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYpOwogICAgIHZvaWQgZGlkTm90SGFuZGxlKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2Vy
RmV0Y2hUYXNrLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2subWVzc2FnZXMuaW4KaW5kZXggN2RiNTNl
OWJkMDM4MDQ1NDczYTI1YWYzN2Q0N2MxOTU3OTVlMjMyMC4uNmUwNjhkZGU3ZmY0MzUxNjcwMWQ1
YTZmNTlhY2U2MTdkNGFmNjM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2subWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3Jr
ZXJGZXRjaFRhc2subWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gU2Vy
dmljZVdvcmtlckZldGNoVGFzayBOb3RSZWZDb3VudGVkIHsKICAgICBEaWRSZWNlaXZlUmVzcG9u
c2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgYm9vbCBuZWVkc0NvbnRpbnVl
RGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0YShJUEM6OlNoYXJl
ZEJ1ZmZlckNvcHkgZGF0YSwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCkKICAgICBEaWRSZWNl
aXZlRm9ybURhdGEoSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSBkYXRhKQotICAgIERpZEZpbmlzaCgp
CisgICAgRGlkRmluaXNoKFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyBtZXRyaWNzKQogfQog
CiAjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0
Y2hUYXNrQ2xpZW50LmNwcAppbmRleCA3ZWJmOTgwYTg5NGQ5MjYzMzc0MDE0MWFmOGMxNDhmZjJi
NWVjNGFlLi5hZDE5M2JiMGU0ZDBmNmE0ODIzNzg4NGRlZjFkNDIyMzYxNzFlN2Q5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0
Y2hUYXNrQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50LmNwcApAQCAtOTQsNyArOTQsNyBAQCB2b2lk
IFdlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OmRpZFJlY2VpdmVGb3JtRGF0YUFuZEZp
bmlzaChSZWY8Rm9ybURhdGE+JgogewogICAgIGlmIChhdXRvIHNoYXJlZEJ1ZmZlciA9IGZvcm1E
YXRhLT5hc1NoYXJlZEJ1ZmZlcigpKSB7CiAgICAgICAgIGRpZFJlY2VpdmVEYXRhKHNoYXJlZEJ1
ZmZlci5yZWxlYXNlTm9uTnVsbCgpKTsKLSAgICAgICAgZGlkRmluaXNoKCk7CisgICAgICAgIGRp
ZEZpbmlzaCh7IH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNDksNyArMTQ5LDcg
QEAgdm9pZCBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50OjpkaWRSZWNlaXZlQmxvYkNo
dW5rKGNvbnN0IFNoYXJlZEJ1ZmZlciYgYnUKIAogdm9pZCBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hU
YXNrQ2xpZW50OjpkaWRGaW5pc2hCbG9iTG9hZGluZygpCiB7Ci0gICAgZGlkRmluaXNoKCk7Cisg
ICAgZGlkRmluaXNoKHsgfSk7CiAKICAgICBzdGQ6OmV4Y2hhbmdlKG1fYmxvYkxvYWRlciwgc3Rk
OjpudWxsb3B0KTsKIH0KQEAgLTE3NCw3ICsxNzQsNyBAQCB2b2lkIFdlYlNlcnZpY2VXb3JrZXJG
ZXRjaFRhc2tDbGllbnQ6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAg
Y2xlYW51cCgpOwogfQogCi12b2lkIFdlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OmRp
ZEZpbmlzaCgpCit2b2lkIFdlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OmRpZEZpbmlz
aChjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpCiB7CiAgICAgaWYgKCFtX2Nvbm5l
Y3Rpb24pCiAgICAgICAgIHJldHVybjsKQEAgLTE4MywxMyArMTgzLDE0IEBAIHZvaWQgV2ViU2Vy
dmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6ZGlkRmluaXNoKCkKICAgICAgICAgUkVMRUFTRV9M
T0coU2VydmljZVdvcmtlciwgIlNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudDo6ZGlkRmlu
aXNoIHdoaWxlIHdhaXRpbmcsIGZldGNoIGlkZW50aWZpZXIgJWxsdSIsIG1fZmV0Y2hJZGVudGlm
aWVyLnRvVUludDY0KCkpOwogCiAgICAgICAgIG1fZGlkRmluaXNoID0gdHJ1ZTsKKyAgICAgICAg
bV9uZXR3b3JrTG9hZE1ldHJpY3MgPSBtZXRyaWNzLmlzb2xhdGVkQ29weSgpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG1faXNEb3dubG9hZCkKICAgICAgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpTZXJ2aWNlV29ya2VyRG93bmxvYWRUYXNrOjpEaWRGaW5pc2gg
eyB9LCBtX2ZldGNoSWRlbnRpZmllcik7CiAgICAgZWxzZQotICAgICAgICBtX2Nvbm5lY3Rpb24t
PnNlbmQoTWVzc2FnZXM6OlNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OkRpZEZpbmlzaCB7IH0sIG1f
ZmV0Y2hJZGVudGlmaWVyKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpT
ZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpEaWRGaW5pc2ggeyBtZXRyaWNzIH0sIG1fZmV0Y2hJZGVu
dGlmaWVyKTsKIAogICAgIGNsZWFudXAoKTsKIH0KQEAgLTIyNiwxMSArMjI3LDExIEBAIHZvaWQg
V2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6Y29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2UoKQogCiAgICAgc3dpdGNoT24obV9yZXNwb25zZURhdGEsIFt0aGlzXShzdGQ6Om51bGxwdHJf
dCYpIHsKICAgICAgICAgaWYgKG1fZGlkRmluaXNoKQotICAgICAgICAgICAgZGlkRmluaXNoKCk7
CisgICAgICAgICAgICBkaWRGaW5pc2gobV9uZXR3b3JrTG9hZE1ldHJpY3MpOwogICAgIH0sIFt0
aGlzXShjb25zdCBTaGFyZWRCdWZmZXJCdWlsZGVyJiBidWZmZXIpIHsKICAgICAgICAgZGlkUmVj
ZWl2ZURhdGEoYnVmZmVyLmNvcHkoKS0+bWFrZUNvbnRpZ3VvdXMoKSk7CiAgICAgICAgIGlmICht
X2RpZEZpbmlzaCkKLSAgICAgICAgICAgIGRpZEZpbmlzaCgpOworICAgICAgICAgICAgZGlkRmlu
aXNoKG1fbmV0d29ya0xvYWRNZXRyaWNzKTsKICAgICB9LCBbdGhpc10oUmVmPEZvcm1EYXRhPiYg
Zm9ybURhdGEpIHsKICAgICAgICAgZGlkUmVjZWl2ZUZvcm1EYXRhQW5kRmluaXNoKFdURk1vdmUo
Zm9ybURhdGEpKTsKICAgICB9LCBbdGhpc10oVW5pcXVlUmVmPFJlc291cmNlRXJyb3I+JiBlcnJv
cikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2Vy
dmljZVdvcmtlckZldGNoVGFza0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5oCmluZGV4IDA5NDAwZGYwY2U3
MjVmMzlhOGIxMWQ5MzVlMTQ1NGUzOTlmNWEyNjMuLjQxMGFjMjU0ZDk3MDk0Mjk4MjE0NDZlNDZm
YTZkMjg2ODk5NjlkMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50LmgKQEAg
LTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0ZldGNoSWRlbnRpZmllci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvRmV0Y2hMb2FkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZldGNoTG9h
ZGVyQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9OZXR3b3JrTG9hZE1ldHJpY3MuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJGZXRjaC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
U2VydmljZVdvcmtlclR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4K
QEAgLTUzLDcgKzU0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0
IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlciYpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVjZWl2ZUZvcm1E
YXRhQW5kRmluaXNoKFJlZjxXZWJDb3JlOjpGb3JtRGF0YT4mJikgZmluYWw7CiAgICAgdm9pZCBk
aWRGYWlsKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKSBmaW5hbDsKLSAgICB2b2lkIGRp
ZEZpbmlzaCgpIGZpbmFsOworICAgIHZvaWQgZGlkRmluaXNoKGNvbnN0IFdlYkNvcmU6Ok5ldHdv
cmtMb2FkTWV0cmljcyYpIGZpbmFsOwogICAgIHZvaWQgZGlkTm90SGFuZGxlKCkgZmluYWw7CiAg
ICAgdm9pZCBjYW5jZWwoKSBmaW5hbDsKICAgICB2b2lkIGNvbnRpbnVlRGlkUmVjZWl2ZVJlc3Bv
bnNlKCkgZmluYWw7CkBAIC03MSw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgICAgIHZvaWQgZGlk
UmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKSBmaW5hbCB7
IH0KICAgICAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZm
ZXImIGRhdGEpIGZpbmFsIHsgY2xpZW50LT5kaWRSZWNlaXZlQmxvYkNodW5rKGRhdGEpOyB9CiAg
ICAgICAgIHZvaWQgZGlkRmFpbChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiBlcnJvcikg
ZmluYWwgeyBjbGllbnQtPmRpZEZhaWwoZXJyb3IpOyB9Ci0gICAgICAgIHZvaWQgZGlkU3VjY2Vl
ZCgpIGZpbmFsIHsgY2xpZW50LT5kaWRGaW5pc2hCbG9iTG9hZGluZygpOyB9CisgICAgICAgIHZv
aWQgZGlkU3VjY2VlZChjb25zdCBXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MmKSBmaW5hbCB7
IGNsaWVudC0+ZGlkRmluaXNoQmxvYkxvYWRpbmcoKTsgfQogCiAgICAgICAgIFJlZjxXZWJTZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50PiBjbGllbnQ7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJDb3JlOjpGZXRjaExvYWRlcj4gbG9hZGVyOwpAQCAtODUsNiArODYsNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9uZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX3dhaXRpbmdGb3JDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1l
c3NhZ2UgeyBmYWxzZSB9OwogICAgIHN0ZDo6dmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgV2ViQ29y
ZTo6U2hhcmVkQnVmZmVyQnVpbGRlciwgUmVmPFdlYkNvcmU6OkZvcm1EYXRhPiwgVW5pcXVlUmVm
PFdlYkNvcmU6OlJlc291cmNlRXJyb3I+PiBtX3Jlc3BvbnNlRGF0YTsKKyAgICBXZWJDb3JlOjpO
ZXR3b3JrTG9hZE1ldHJpY3MgbV9uZXR3b3JrTG9hZE1ldHJpY3M7CiAgICAgYm9vbCBtX2RpZEZp
bmlzaCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzRG93bmxvYWQgeyBmYWxzZSB9OwogfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA4ZWExMTNiYzdjNzgzMDE5MWQ0YjZjNWEyMTIyNzQ5ODdhNWI2YmMyLi5kM2U4ZTlkZjFl
M2ExY2JiZmUwOGIyY2FlNGIyOWViYWFjNWE2MGM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjItMDEtMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFRy
YW5zbWl0IG5ldHdvcmsgbG9hZCBtZXRyaWNzIHdoZW4gc2VydmljZSB3b3JrZXIgaXMgdXNpbmcg
b25lIG9mIGl0cyBuZXR3b3JrIGxvYWQgdG8gcmVzcG9uZCB0byBGZXRjaEV2ZW50cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTc5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvZmV0Y2gtbWV0cmljcy12aWEtc2VydmljZS13b3JrZXIuaHR0cHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0
cmljcy12aWEtc2VydmljZS13b3JrZXIuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNoLW1ldHJpY3Mtd29ya2VyLmpzOiBBZGRlZC4KKwog
MjAyMi0wMS0xNiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
ZGF0YWJhc2UgbmFtZXMgbGVhayBjcm9zcy1vcmlnaW4gd2l0aGluIHRoZSBzYW1lIGJyb3dzZXIg
c2Vzc2lvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZWY4NDg1YmVlMmJkMzdj
ZDJiN2U3ZDJmODM4NmU1NzczZmU2ZjZlYi4uOWNlMzY2OGZhNmMyN2QyN2M1Nzk1Mzg1ZTllNzZk
NmQzOGZmODFlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMjItMDEtMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAg
ICAgIFRyYW5zbWl0IG5ldHdvcmsgbG9hZCBtZXRyaWNzIHdoZW4gc2VydmljZSB3b3JrZXIgaXMg
dXNpbmcgb25lIG9mIGl0cyBuZXR3b3JrIGxvYWQgdG8gcmVzcG9uZCB0byBGZXRjaEV2ZW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTc5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25leHQtaG9wLXByb3RvY29s
Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVGVzdCBpcyBwcm9ncmVzc2luZyBmdXJ0aGVy
IGJ1dCBpcyBmYWlsaW5nIGFzIHRoZSB0ZXN0IGNoZWNrcyBjYWNoZWQgcmVzcG9uc2VzIGZvciB3
aGljaCB3ZSBkbyBub3Qgc3RvcmUgbWV0cmljcy4KKwogMjAyMi0wMS0xNSAgU2FtIFdlaW5pZyAg
PHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQ1NTIEdyYWRpZW50czogaW50ZXJwb2xhdGlv
biBtb2RlIHNob3VsZCBkZWZhdWx0IHRvIE9LTGFiIGlmIGFueSBub24tbGVnYWN5IGNvbG9yIHN5
bnRheCBjb2xvcnMgYXJlIHVzZWQgaW4gdGhlIHN0b3BzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gtbWV0cmljcy12aWEtc2VydmljZS13b3Jr
ZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3Jr
ZXJzL2ZldGNoLW1ldHJpY3MtdmlhLXNlcnZpY2Utd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NjM0NTYzZmRlYWY1YzRiODc5YmI2M2NhYWExNzZjMDQyZTZiY2JkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNo
LW1ldHJpY3MtdmlhLXNlcnZpY2Utd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKKworCitQQVNTIFNldHVwIHdvcmtlcgorUEFTUyBWYWxpZGF0ZSBtZXRyaWNzIG9mIGEg
ZmV0Y2ggdmlhIHNlcnZpY2Ugd29ya2VyCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3NlcnZpY2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXZpYS1zZXJ2aWNlLXdvcmtlci5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNoLW1ldHJp
Y3MtdmlhLXNlcnZpY2Utd29ya2VyLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmZlNzc4MjE2Y2Ux
ZDBmYzZjYzFmNzIxNmQ3ODAxNGFlMGMzYmNiOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXZpYS1zZXJ2aWNlLXdv
cmtlci5odHRwcy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1
Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit2YXIgc2NvcGUgPSAi
cmVzb3VyY2VzIjsKK3ZhciBhY3RpdmVXb3JrZXI7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVz
dCkgPT4geworICAgIHZhciByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdv
cmtlci5yZWdpc3RlcigiZmV0Y2gtbWV0cmljcy13b3JrZXIuanMiLCB7IHNjb3BlIDogc2NvcGUg
fSk7CisgICAgYWN0aXZlV29ya2VyID0gcmVnaXN0cmF0aW9uLmFjdGl2ZTsKKyAgICBpZiAoYWN0
aXZlV29ya2VyKQorICAgICAgICByZXR1cm47CisgICAgYWN0aXZlV29ya2VyID0gcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmc7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAg
ICAgICBhY3RpdmVXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVjaGFuZ2UnLCAoKSA9PiB7
CisgICAgICAgICAgICBpZiAoYWN0aXZlV29ya2VyLnN0YXRlID09PSAiYWN0aXZhdGVkIikKKyAg
ICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworICAgIH0pOworfSwgIlNldHVw
IHdvcmtlciIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBjb25zdCBp
ZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShzY29wZSk7CisKKyAgICBjb25zdCByZXNwb25zZTEg
PSBhd2FpdCBpZnJhbWUuY29udGVudFdpbmRvdy5mZXRjaCgiLz9pbnRlcmNlcHQiKTsKKyAgICBj
b25zdCByZXNwb25zZTIgPSBhd2FpdCBpZnJhbWUuY29udGVudFdpbmRvdy5mZXRjaCgiLz9kby1u
b3QtaW50ZXJjZXB0Iik7CisKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlMS5zdGF0dXMsIDIw
MCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZTIuc3RhdHVzLCAyMDApOworCisgICAgYXdh
aXQgcmVzcG9uc2UyLnRleHQoKTsKKyAgICBhd2FpdCByZXNwb25zZTEudGV4dCgpOworCisgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgYXNzZXJ0X3RydWUoaW50ZXJuYWxzLnJl
c3BvbnNlTmV0d29ya0xvYWRNZXRyaWNzUHJvdG9jb2wocmVzcG9uc2UxKS5sZW5ndGggPiAwKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMucmVzcG9uc2VOZXR3b3JrTG9hZE1ldHJp
Y3NQcm90b2NvbChyZXNwb25zZTEpLCBpbnRlcm5hbHMucmVzcG9uc2VOZXR3b3JrTG9hZE1ldHJp
Y3NQcm90b2NvbChyZXNwb25zZTIpKTsKKyAgICB9Cit9LCAiVmFsaWRhdGUgbWV0cmljcyBvZiBh
IGZldGNoIHZpYSBzZXJ2aWNlIHdvcmtlciIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2gt
bWV0cmljcy13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMv
ZmV0Y2gtbWV0cmljcy13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Q5NjlkZTI3ODVkZDg3M2RkNmFj
MmZhMzM3NGFjMWUwYTExYmM0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3NlcnZpY2Utd29ya2Vycy9mZXRjaC1tZXRyaWNzLXdvcmtlci5qcwpAQCAtMCwwICsxLDcg
QEAKK2Z1bmN0aW9uIGRvVGVzdChldmVudCkKK3sKKyAgICBpZiAoZXZlbnQucmVxdWVzdC51cmwu
aW5jbHVkZXMoJz9pbnRlcmNlcHQnKSkKKyAgICAgICAgZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2go
ZXZlbnQucmVxdWVzdCkpOworfQorCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoImZldGNoIiwgZG9U
ZXN0KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25leHQtaG9wLXByb3RvY29sLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25leHQtaG9wLXByb3RvY29sLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCBjNjQwMjY1MmFlYmZkZjc0MzFlZDQ2MjljZTY1NmQyMjNi
Y2U4ZWNkLi45ZTk1NDUxNzYwN2E3YzU4MzcyN2QxODIwNGM4ZTcxMjk3NjhmMTJmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uZXh0LWhvcC1wcm90b2NvbC5odHRwcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmV4dC1ob3AtcHJvdG9jb2wuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIG5leHRIb3BQcm90b2NvbCByZXBvcnRzIEgx
IGNvcnJlY3RseSB3aGVuIHJvdXRlZCB2aWEgYSBzZXJ2aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFs
czogbmV4dEhvcFByb3RvY29sIGlzIHNldCBvbiBwYXNzLXRocm91Z2ggZXhwZWN0ZWQgImh0dHAv
MS4xIiBidXQgZ290ICIiCitGQUlMIG5leHRIb3BQcm90b2NvbCByZXBvcnRzIEgxIGNvcnJlY3Rs
eSB3aGVuIHJvdXRlZCB2aWEgYSBzZXJ2aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFsczogbmV4dEhv
cFByb3RvY29sIGlzIHNldCBvbiBjYWNoZWQgcmVzcG9uc2UgZXhwZWN0ZWQgImh0dHAvMS4xIiBi
dXQgZ290ICIiCiBGQUlMIG5leHRIb3BQcm90b2NvbCByZXBvcnRzIEgyIGNvcnJlY3RseSB3aGVu
IHJvdXRlZCB2aWEgYSBzZXJ2aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFsczogbmV4dEhvcFByb3Rv
Y29sIGlzIHNldCBvbiBmYWxsYmFjayBleHBlY3RlZCAiaDIiIGJ1dCBnb3QgImh0dHAvMS4xIgog
Cg==
</data>
<flag name="commit-queue"
          id="475355"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>