<?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>179709</bug_id>
          
          <creation_ts>2017-11-14 16:44:38 -0800</creation_ts>
          <short_desc>[Service Workers] Implement Client API</short_desc>
          <delta_ts>2017-11-15 11:51:02 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1371656</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 16:44:38 -0800</bug_when>
    <thetext>Implement Client API:
- https://w3c.github.io/ServiceWorker/#client-interface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371705</commentid>
    <comment_count>1</comment_count>
      <attachid>326961</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 19:34:18 -0800</bug_when>
    <thetext>Created attachment 326961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371749</commentid>
    <comment_count>2</comment_count>
      <attachid>326961</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-11-14 23:39:22 -0800</bug_when>
    <thetext>Comment on attachment 326961
Patch

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

&gt; Source/WebKit/Shared/WebCoreArgumentCoders.h:809
&gt; +template &lt;&gt; struct EnumTraits&lt;WebCore::ServiceWorkerClientType&gt; {

Could we just put these in WebCore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371851</commentid>
    <comment_count>3</comment_count>
      <attachid>326990</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-15 09:26:38 -0800</bug_when>
    <thetext>Created attachment 326990
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371996</commentid>
    <comment_count>4</comment_count>
      <attachid>326990</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-15 10:00:29 -0800</bug_when>
    <thetext>Comment on attachment 326990
Patch

Clearing flags on attachment: 326990

Committed r224880: &lt;https://trac.webkit.org/changeset/224880&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371997</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-15 10:00:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371998</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 10:04:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/35562839&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372048</commentid>
    <comment_count>7</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-11-15 11:31:08 -0800</bug_when>
    <thetext>The LayoutTests added with this change are timing out on the bots:

https://build.webkit.org/results/Apple%20High%20Sierra%20Release%20WK2%20(Tests)/r224880%20(1174)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372058</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-15 11:51:02 -0800</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #7)
&gt; The LayoutTests added with this change are timing out on the bots:
&gt; 
&gt; https://build.webkit.org/results/
&gt; Apple%20High%20Sierra%20Release%20WK2%20(Tests)/r224880%20(1174)/results.html

It conflicted with Youenn&apos;s patch that landed right before mine. Should be fixed in &lt;https://trac.webkit.org/changeset/224892&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326961</attachid>
            <date>2017-11-14 19:34:18 -0800</date>
            <delta_ts>2017-11-15 09:26:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179709-20171114193418.patch</filename>
            <type>text/plain</type>
            <size>56649</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjg5ZTkxYjc2OWIzZmE3
ZDc1ZjA5MjUwMzQxODYwMWYzN2M1NjMxNS4uZTU0MjU4ZjViYzEzZWY2NTg2ZGNiMzE3ZTU0YTVl
NzdhMGQ3ZGQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE3LTExLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1NlcnZpY2UgV29ya2Vyc10g
SW1wbGVtZW50IENsaWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3OTcwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudCBDbGllbnQgQVBJIGFzIHBlcjoKKyAgICAgICAgLSBodHRw
czovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jY2xpZW50LWludGVyZmFjZQorCisgICAg
ICAgIFRlc3RzOgorICAgICAgICBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9DbGllbnQtcHJv
cGVydGllcy5odG1sCisgICAgICAgIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1w
cm9wZXJ0aWVzLXN1YmZyYW1lLmh0bWwKKyAgICAgICAgaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZp
Y2UvQ2xpZW50LXByb3BlcnRpZXMtYXV4aWxpYXJ5Lmh0bWwKKworICAgICAgICAqIFNvdXJjZXMu
dHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyOjpwb3N0TWVzc2FnZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
ckNsaWVudDo6U2VydmljZVdvcmtlckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyQ2xpZW50Ojp1cmwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
ckNsaWVudDo6dHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xp
ZW50OjpmcmFtZVR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNs
aWVudDo6aWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudDo6
cG9zdE1lc3NhZ2UpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xp
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50OjpjcmVhdGUpOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2lu
ZG93Q2xpZW50LmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OnRvU2VydmljZVdvcmtlckNsaWVudEZy
YW1lVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6aXNv
bGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhOjpmcm9tKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVu
dERhdGEuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDbGllbnQuaC4KKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dERhdGE6OmRlY29kZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnRJZGVudGlmaWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllcjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJDbGllbnRJZGVudGlmaWVyOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyVHlwZXMuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlcldpbmRvd0NsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyV2lu
ZG93Q2xpZW50OjpTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50KToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oOgorICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1dDb250ZXh0TWFuYWdlcjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSk6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6cG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dDbGllbnRDb25uZWN0aW9uLmg6CisKIDIwMTctMTEtMTQgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbU2VydmljZSBXb3JrZXJzXSBJbXBsZW1lbnQgY29u
dGFpbmVyLmdldFJlZ2lzdHJhdGlvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyNWU1YzI1NTdjNzkxMGQ1OGMx
ZTY2YjBjOTg3MjEyOTI4MTk4OWY1Li5kZjhmZGZlOTYyYTBlZDM5NGVmZGE0MzkwMDcwMWRlMGRk
MTUyOTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTExLTE0ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1NlcnZpY2UgV29ya2Vyc10gSW1wbGVt
ZW50IENsaWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3OTcwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgICogU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlKToKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVy
Q29ubmVjdGlvbi5oOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0Ns
aWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6cG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
OgorCiAyMDE3LTExLTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1NlcnZpY2UgV29ya2Vyc10gSW1wbGVtZW50IGNvbnRhaW5lci5nZXRSZWdpc3RyYXRpb25z
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKaW5kZXggYjMwY2I4MTI2MmY4NDdiNjE2ZGI4ZjAyNDBkNjc3YTMzY2Zl
MzU1Zi4uMjhmZDE4MjAxOGU4MjQzNmEyYmQ0MDcwMDhjMmJkNDIzNGE4OGY1MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKQEAgLTIxNzAsNiArMjE3MCw3IEBAIHdvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlTWVz
c2FnZUV2ZW50LmNwcAogd29ya2Vycy9zZXJ2aWNlL0ZldGNoRXZlbnQuY3BwCiB3b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlci5jcHAKIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xp
ZW50LmNwcAord29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcAogd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmNwcAogd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDb250YWluZXIuY3BwCiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRleHREYXRhLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDJlMzQyODM5ZDRlNzBlMDg0ZTE1Mjc4ZjE2Y2M4NTIyNWQ4YjU5
YTAuLjM3OWU2MDYwODkwMmUyZDM4YmNlNzA0ZWNiYjRhYzhjZjUxZGFjYWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxNzYs
NyArMjE3Niw3IEBACiAJCTgzNjU4OURFMUY1NEE3NjkwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1E
aXJlY3RvcnlSZWFkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDgzNjU4OUQ5MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlS
ZWFkZXIuaCAqLzsgfTsKIAkJODM2NTg5RTAxRjU0QTc2RTAwREMzMUY0IC8qIEpTRmlsZVN5c3Rl
bUVudHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODM2NTg5RDgxRjU0QTc2MjAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXND
YWxsYmFjay5oICovOyB9OwogCQk4MzY3NTg3RjFDNTZFOTlCMDA4QTEwODcgLyogSlNIVE1MRGF0
YUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDgzNEI4NkE4MUM1NkU5M0UwMEYzRjBFMyAvKiBKU0hUTUxEYXRhRWxlbWVudC5oICovOyB9Owot
CQk4MzY5RkRGQzFGQTEwMkUzMDBDMUZGMUYgLyogU2VydmljZVdvcmtlckNsaWVudFR5cGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNjlGREZCMUZB
MTAyQ0IwMEMxRkYxRiAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZS5oICovOyB9OworCQk4MzY5
RkRGQzFGQTEwMkUzMDBDMUZGMUYgLyogU2VydmljZVdvcmtlckNsaWVudFR5cGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNjlGREZCMUZBMTAyQ0Iw
MEMxRkYxRiAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTgzNkFDRUMzMUVDQTYyQzgwMDRCRDAxMiAv
KiBET01NYXRyaXhSZWFkT25seS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODM2QUNFQzAxRUNBNjJCMDAwNEJEMDEyIC8qIERPTU1hdHJpeFJlYWRPbmx5
LmggKi87IH07CiAJCTgzNkFDRUNBMUVDQTk1NjkwMDRCRDAxMiAvKiBET01NYXRyaXguaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNkFDRUM1MUVDQTY2
NTQwMDRCRDAxMiAvKiBET01NYXRyaXguaCAqLzsgfTsKIAkJODM2QUNFQ0IxRUNBOTU2RDAwNEJE
MDEyIC8qIERPTU1hdHJpeEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzNkFDRUM3MUVDQTY2NTQwMDRCRDAxMiAvKiBET01NYXRyaXhJbml0Lmgg
Ki87IH07CkBAIC0yMTkzLDYgKzIxOTMsNyBAQAogCQk4MzcxQUMzQjFGNTA5QkU0MDBGQkYyODQg
LyogRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODM3MUFDMzkxRjUwOUJERDAwRkJGMjg0IC8qIEVycm9yQ2FsbGJhY2suaCAqLzsg
fTsKIAkJODM3MkRCMzExQTY3ODBBODAwQzY5N0M1IC8qIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0
VHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM3
MkRCMzAxQTY3ODBBODAwQzY5N0M1IC8qIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTgzNzY1Rjk1
MURBQzUyMkYwMEMwNjUzNyAvKiBNb3VzZUV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM3NjVGOTQxREFDNTIxODAwQzA2NTM3IC8qIE1v
dXNlRXZlbnRJbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJODM3OTM2M0YxRkJCQjBCNDAwQzgwMjNDIC8qIFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4Mzc5
MzYzRTFGQkJCMEE1MDBDODAyM0MgLyogU2VydmljZVdvcmtlckNsaWVudERhdGEuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4Mzc5NjRDRjFGOERC
NjlEMDAyMThFQTAgLyogR2VvbG9jYXRpb25Qb3NpdGlvbklPUy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNzk2NENFMUY4REI2OUEwMDIxOEVBMCAv
KiBHZW9sb2NhdGlvblBvc2l0aW9uSU9TLm1tICovOyB9OwogCQk4MzdBODAxMzFFMUUxMjczMDAw
MjZCOUYgLyogTG9jYWxpemFibGUuc3RyaW5nc2RpY3QgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzN0E4MDExMUUxRTEyNzMwMDAyNkI5RiAvKiBMb2Nh
bGl6YWJsZS5zdHJpbmdzZGljdCAqLzsgfTsKIAkJODM3QjdEMjAxREMzRjU1MDAwRDA1MUZDIC8q
IFZhbGlkYXRpb25CdWJibGVJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4MzdCN0QxRjFEQzNGNTRDMDBEMDUxRkMgLyogVmFsaWRhdGlvbkJ1YmJs
ZUlPUy5tbSAqLzsgfTsKQEAgLTk0MzksNiArOTQ0MCw4IEBACiAJCTgzNzYwOUM4MUY1NENDMTMw
MDBDMTIyRCAvKiBFcnJvckNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEVycm9yQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4Mzc2NUY5MzFEQUM1MjE4MDBDMDY1MzcgLyogTW91c2VFdmVudEluaXQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IE1vdXNlRXZlbnRJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODM3NjVGOTQxREFDNTIxODAwQzA2NTM3IC8qIE1vdXNlRXZlbnRJbml0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vdXNlRXZlbnRJbml0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNzkzNjNDMUZCQkIwQTQwMEM4MDIzQyAvKiBTZXJ2aWNl
V29ya2VyQ2xpZW50RGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTgzNzkzNjNFMUZCQkIwQTUwMEM4MDIzQyAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4Mzc5NjRDRTFGOERCNjlBMDAyMThF
QTAgLyogR2VvbG9jYXRpb25Qb3NpdGlvbklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgbmFtZSA9IEdlb2xvY2F0aW9uUG9zaXRpb25JT1MubW07IHBhdGggPSBNb2R1bGVz
L2dlb2xvY2F0aW9uL2lvcy9HZW9sb2NhdGlvblBvc2l0aW9uSU9TLm1tOyBzb3VyY2VUcmVlID0g
U09VUkNFX1JPT1Q7IH07CiAJCTgzN0E4MDEyMUUxRTEyNzMwMDAyNkI5RiAvKiBFbmdsaXNoICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlz
dC5zdHJpbmdzZGljdDsgbmFtZSA9IEVuZ2xpc2g7IHBhdGggPSBFbmdsaXNoLmxwcm9qL0xvY2Fs
aXphYmxlLnN0cmluZ3NkaWN0OyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCTgzN0I3
RDFGMURDM0Y1NEMwMEQwNTFGQyAvKiBWYWxpZGF0aW9uQnViYmxlSU9TLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjY1LDYgKzE3MjY4LDggQEAKIAkJCQk0NkVG
MTQyNzFGOTdCN0JBMDBDMkE1MjQgLyogU2VydmljZVdvcmtlckNsaWVudC5jcHAgKi8sCiAJCQkJ
NDZFRjE0MjQxRjk3QjdCQTAwQzJBNTI0IC8qIFNlcnZpY2VXb3JrZXJDbGllbnQuaCAqLywKIAkJ
CQk0NkVGMTQyODFGOTdCN0JBMDBDMkE1MjQgLyogU2VydmljZVdvcmtlckNsaWVudC5pZGwgKi8s
CisJCQkJODM3OTM2M0MxRkJCQjBBNDAwQzgwMjNDIC8qIFNlcnZpY2VXb3JrZXJDbGllbnREYXRh
LmNwcCAqLywKKwkJCQk4Mzc5MzYzRTFGQkJCMEE1MDBDODAyM0MgLyogU2VydmljZVdvcmtlckNs
aWVudERhdGEuaCAqLywKIAkJCQk4MzdENDYyNTFGQTJBOEM1MDA1NEUxRkEgLyogU2VydmljZVdv
cmtlckNsaWVudElkZW50aWZpZXIuaCAqLywKIAkJCQk0NkVGMTQyMTFGOTdCN0JBMDBDMkE1MjQg
LyogU2VydmljZVdvcmtlckNsaWVudHMuY3BwICovLAogCQkJCTQ2RUYxNDIyMUY5N0I3QkEwMEMy
QTUyNCAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50cy5oICovLApAQCAtMjg5MzEsNiArMjg5MzYsNyBA
QAogCQkJCTUxRjE3NTVEMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBNTgxRUQxMzFGQjI4OENGMDBDRUQ0RUMgLyogU2VydmljZVdvcmtlckFn
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkVGMTQyRDFGOTdCN0Q4MDBDMkE1MjQgLyogU2Vy
dmljZVdvcmtlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODM3OTM2M0YxRkJCQjBCNDAw
QzgwMjNDIC8qIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
MzdENDYyNzFGQTJBOENFMDA1NEUxRkEgLyogU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ2RUYxNDJDMUY5N0I3RDgwMEMyQTUyNCAvKiBTZXJ2aWNl
V29ya2VyQ2xpZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2OUZERkMxRkExMDJFMzAwQzFG
RjFGIC8qIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcAppbmRleCAzZjQ5
NDkzMmI4NDE4NGU0ZTczMjI0MDRkYzkzYTFlZDgzZDZmYWJkLi43Nzk2NjI3NjU2M2FjODNjNTFh
NjQwM2VhYjQwY2E4MGI3ZDgxODU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiU1dD
bGllbnRDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgog
I2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclByb3ZpZGVyLmgiCiAjaW5j
bHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgpAQCAtMTI2LDggKzEyNywxNCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBTZXJ2aWNl
V29ya2VyOjpwb3N0TWVzc2FnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKUwog
ICAgIGlmIChjaGFubmVscyAmJiAhY2hhbm5lbHMtPmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIlBhc3NpbmcgTWVz
c2FnZVBvcnQgb2JqZWN0cyB0byBwb3N0TWVzc2FnZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpIH07
CiAKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFkZCBzdXBwb3J0IGZvciB3b3JrZXJzLgorICAg
IGlmICghaXM8RG9jdW1lbnQ+KGNvbnRleHQpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
Tm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgic2VydmljZVdvcmtlckNsaWVudC5wb3N0
TWVzc2FnZSgpIGZyb20gd29ya2VycyBpcyBub3QgeWV0IHN1cHBvcnRlZCIpIH07CisKKyAgICBh
dXRvIHNvdXJjZUNsaWVudERhdGEgPSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbShjb250
ZXh0KTsKKwogICAgIGF1dG8mIHN3Q29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6
c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKGNvbnRleHQuc2Vz
c2lvbklEKCkpOwotICAgIHN3Q29ubmVjdGlvbi5wb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckds
b2JhbFNjb3BlKGlkZW50aWZpZXIoKSwgbWVzc2FnZS5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgY29u
dGV4dCk7CisgICAgc3dDb25uZWN0aW9uLnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUoaWRlbnRpZmllcigpLCBtZXNzYWdlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBXVEZNb3Zl
KHNvdXJjZUNsaWVudERhdGEpKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAKaW5k
ZXggMDJhYjIyNGQ0OTQzNjBkYmY2Y2RkYTQzMDMzNGM2MjZhYTliODA0NS4uMzYwMmUzNGI0NDA5
NTUzMjY2OTZkNDE3NjY2NDViMjI5ODQwMmE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcApAQCAtMzcsMzAgKzM3
LDM2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU2VydmljZVdvcmtlckNsaWVudDo6U2Vy
dmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBJ
ZGVudGlmaWVyJiBpZGVudGlmaWVyLCBUeXBlIHR5cGUpCitTZXJ2aWNlV29ya2VyQ2xpZW50OjpT
ZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQotICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCi0gICAgLCBtX3R5
cGUodHlwZSkKKyAgICAsIG1fZGF0YShXVEZNb3ZlKGRhdGEpKQogeworICAgIEFTU0VSVChtX2Rh
dGEuaWRlbnRpZmllci5zZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcik7CisgICAgQVNTRVJUKG1f
ZGF0YS5pZGVudGlmaWVyLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKIH0KIAog
U2VydmljZVdvcmtlckNsaWVudDo6flNlcnZpY2VXb3JrZXJDbGllbnQoKQogewogfQogCi1TdHJp
bmcgU2VydmljZVdvcmtlckNsaWVudDo6dXJsKCkgY29uc3QKK2NvbnN0IFVSTCYgU2VydmljZVdv
cmtlckNsaWVudDo6dXJsKCkgY29uc3QKIHsKLSAgICByZXR1cm4geyB9OworICAgIHJldHVybiBt
X2RhdGEudXJsOworfQorCithdXRvIFNlcnZpY2VXb3JrZXJDbGllbnQ6OnR5cGUoKSBjb25zdCAt
PiBUeXBlCit7CisgICAgcmV0dXJuIG1fZGF0YS50eXBlOwogfQogCiBhdXRvIFNlcnZpY2VXb3Jr
ZXJDbGllbnQ6OmZyYW1lVHlwZSgpIGNvbnN0IC0+IEZyYW1lVHlwZQogewotICAgIHJldHVybiBG
cmFtZVR5cGU6Ok5vbmU7CisgICAgcmV0dXJuIG1fZGF0YS5mcmFtZVR5cGU7CiB9CiAKIFN0cmlu
ZyBTZXJ2aWNlV29ya2VyQ2xpZW50OjppZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1faWRlbnRp
Zmllci50b1N0cmluZygpOworICAgIHJldHVybiBtX2RhdGEuaWRlbnRpZmllci50b1N0cmluZygp
OwogfQogCiBFeGNlcHRpb25Pcjx2b2lkPiBTZXJ2aWNlV29ya2VyQ2xpZW50Ojpwb3N0TWVzc2Fn
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OkpTVmFsdWUgbWVzc2FnZVZh
bHVlLCBWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYgdHJhbnNmZXIpCkBAIC04
NCw3ICs5MCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNlcnZpY2VXb3JrZXJDbGllbnQ6OnBvc3RN
ZXNzYWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRlCiAgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJQYXNzaW5nIE1lc3NhZ2VQ
b3J0IG9iamVjdHMgdG8gcG9zdE1lc3NhZ2UgaXMgbm90IHlldCBzdXBwb3J0ZWQiKSB9OwogCiAg
ICAgYXV0byBzb3VyY2VJZGVudGlmaWVyID0gZG93bmNhc3Q8U2VydmljZVdvcmtlckdsb2JhbFNj
b3BlPihjb250ZXh0KS50aHJlYWQoKS5pZGVudGlmaWVyKCk7Ci0gICAgY2FsbE9uTWFpblRocmVh
ZChbbWVzc2FnZSA9IG1lc3NhZ2UucmVsZWFzZVJldHVyblZhbHVlKCksIGRlc3RpbmF0aW9uSWRl
bnRpZmllciA9IG1faWRlbnRpZmllciwgc291cmNlSWRlbnRpZmllciwgc291cmNlT3JpZ2luID0g
Y29udGV4dC5vcmlnaW4oKS5pc29sYXRlZENvcHkoKV0gKCkgbXV0YWJsZSB7CisgICAgY2FsbE9u
TWFpblRocmVhZChbbWVzc2FnZSA9IG1lc3NhZ2UucmVsZWFzZVJldHVyblZhbHVlKCksIGRlc3Rp
bmF0aW9uSWRlbnRpZmllciA9IG1fZGF0YS5pZGVudGlmaWVyLCBzb3VyY2VJZGVudGlmaWVyLCBz
b3VyY2VPcmlnaW4gPSBjb250ZXh0Lm9yaWdpbigpLmlzb2xhdGVkQ29weSgpXSAoKSBtdXRhYmxl
IHsKICAgICAgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBTV0NvbnRleHRNYW5hZ2VyOjpzaW5n
bGV0b24oKS5jb25uZWN0aW9uKCkpCiAgICAgICAgICAgICBjb25uZWN0aW9uLT5wb3N0TWVzc2Fn
ZVRvU2VydmljZVdvcmtlckNsaWVudChkZXN0aW5hdGlvbklkZW50aWZpZXIsIFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZUlkZW50aWZpZXIsIHNvdXJjZU9yaWdpbik7CiAgICAgfSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaApp
bmRleCA1MzhjMGIyZjZjYjM4NjA4NmE3ODEwYTlhOTQ0MDM0OTdiYTYyYTczLi5jZWMzNzVkOTUx
ZmM1YjRlOTI4OGRkY2M1NTk4MzlkMjY1ZjZmODJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmgKQEAgLTI5LDggKzI5LDcg
QEAKIAogI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAi
RXhjZXB0aW9uT3IuaCIKLSNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5o
IgotI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnRUeXBlLmgiCisjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEuaCIKICNpbmNsdWRlIDxoZWFwL1N0cm9uZy5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTQ1LDMyICs0NCwyNiBAQCBwdWJsaWM6CiAgICAgdXNp
bmcgSWRlbnRpZmllciA9IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOwogCiAgICAgdXNp
bmcgVHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOwotICAgIGVudW0gY2xhc3MgRnJhbWVU
eXBlIHsKLSAgICAgICAgQXV4aWxpYXJ5LAotICAgICAgICBUb3BMZXZlbCwKLSAgICAgICAgTmVz
dGVkLAotICAgICAgICBOb25lCi0gICAgfTsKKyAgICB1c2luZyBGcmFtZVR5cGUgPSBTZXJ2aWNl
V29ya2VyQ2xpZW50RnJhbWVUeXBlOwogCi0gICAgc3RhdGljIFJlZjxTZXJ2aWNlV29ya2VyQ2xp
ZW50PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgSWRlbnRp
ZmllciYgaWRlbnRpZmllciwgVHlwZSB0eXBlKQorICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtl
ckNsaWVudD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VX
b3JrZXJDbGllbnREYXRhJiYgZGF0YSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNlcnZpY2VXb3JrZXJDbGllbnQoY29udGV4dCwgaWRlbnRpZmllciwgdHlwZSkpOworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnRleHQsIFdU
Rk1vdmUoZGF0YSkpKTsKICAgICB9CiAKICAgICB+U2VydmljZVdvcmtlckNsaWVudCgpOwogCi0g
ICAgU3RyaW5nIHVybCgpIGNvbnN0OworICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3Q7CiAgICAg
RnJhbWVUeXBlIGZyYW1lVHlwZSgpIGNvbnN0OwotICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdHlwZTsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0OwogICAgIFN0cmluZyBpZCgpIGNv
bnN0OwogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3NhZ2UoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpK
U09iamVjdD4+JiYgdHJhbnNmZXIpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgU2VydmljZVdvcmtlckNs
aWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgSWRlbnRpZmllciYsIFR5cGUpOwor
ICAgIFNlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFNlcnZpY2VX
b3JrZXJDbGllbnREYXRhJiYpOwogCi0gICAgSWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci0gICAg
VHlwZSBtX3R5cGU7CisgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgbV9kYXRhOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWM5
OWQ3OTE3OWY4ZWJmODE5ZmNkOGQ4YWQzMjZjZWZjODYxZGMzNgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5j
cHAKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKwor
I2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YS5oIgorCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
KyNpbmNsdWRlICJGcmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBTZXJ2
aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlIHRvU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQoreworICAgIGlmICghaXM8RG9jdW1lbnQ+
KGNvbnRleHQpKQorICAgICAgICByZXR1cm4gU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6
Tm9uZTsKKworICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQp
OworICAgIGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lKQor
ICAgICAgICByZXR1cm4gU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6Tm9uZTsKKworICAg
IGlmIChmcmFtZS0+aXNNYWluRnJhbWUoKSkgeworICAgICAgICBpZiAoYXV0byogd2luZG93ID0g
ZG9jdW1lbnQuZG9tV2luZG93KCkpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3ctPm9wZW5lcigp
KQorICAgICAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlOjpB
dXhpbGlhcnk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJDbGllbnRG
cmFtZVR5cGU6OlRvcExldmVsOworICAgIH0KKyAgICByZXR1cm4gU2VydmljZVdvcmtlckNsaWVu
dEZyYW1lVHlwZTo6TmVzdGVkOworfQorCitTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNl
V29ya2VyQ2xpZW50RGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyBp
ZGVudGlmaWVyLCB0eXBlLCBmcmFtZVR5cGUsIHVybC5pc29sYXRlZENvcHkoKSB9OworfQorCitT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQoreworICAgIGJvb2wgaXNEb2N1bWVudCA9IGlz
PERvY3VtZW50Pihjb250ZXh0KTsKKworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoaXNEb2N1bWVu
dCwgIk9ubHkgZG9jdW1lbnRzIGhhdmUgaWRlbnRpZmllcnMgYXQgdGhlIG1vbWVudCIpOworCisg
ICAgcmV0dXJuIHsKKyAgICAgICAgeyAwLCBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkuaWRl
bnRpZmllcigpIH0sCisgICAgICAgIGlzRG9jdW1lbnQgPyBTZXJ2aWNlV29ya2VyQ2xpZW50VHlw
ZTo6V2luZG93IDogU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlciwKKyAgICAgICAgdG9T
ZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlKGNvbnRleHQpLAorICAgICAgICBjb250ZXh0LnVy
bCgpCisgICAgfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTE4NjdjNjBl
OWMyMmQ4MTNkMWI1Yzc3Njg5MzAzMzhmNGYwMDBhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmgKQEAgLTAs
MCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorCisjaW5jbHVkZSAiU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaCIK
KyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZS5oIgorI2luY2x1ZGUgIlNlcnZpY2VX
b3JrZXJUeXBlcy5oIgorI2luY2x1ZGUgIlVSTC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK3N0cnVjdCBTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YSB7CisgICAgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllcjsK
KyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZSB0eXBlOworICAgIFNlcnZpY2VXb3JrZXJDbGll
bnRGcmFtZVR5cGUgZnJhbWVUeXBlOworICAgIFVSTCB1cmw7CisKKyAgICBTZXJ2aWNlV29ya2Vy
Q2xpZW50RGF0YSBpc29sYXRlZENvcHkoKSBjb25zdDsKKworICAgIHN0YXRpYyBTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSBmcm9tKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKworICAgIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YT4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+
Cit2b2lkIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IGlkZW50aWZpZXIgPDwgdHlwZSA8PCBmcmFtZVR5cGUg
PDwgdXJsOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorc3RkOjpvcHRpb25hbDxTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YT4gU2VydmljZVdvcmtlckNsaWVudERhdGE6OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudElk
ZW50aWZpZXI+IGlkZW50aWZpZXI7CisgICAgZGVjb2RlciA+PiBpZGVudGlmaWVyOworICAgIGlm
ICghaWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6
b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudFR5cGU+IHR5cGU7CisgICAgZGVjb2RlciA+PiB0
eXBlOworICAgIGlmICghdHlwZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAg
IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZT4gZnJhbWVUeXBlOwor
ICAgIGRlY29kZXIgPj4gZnJhbWVUeXBlOworICAgIGlmICghZnJhbWVUeXBlKQorICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxVUkw+IHVybDsKKyAgICBk
ZWNvZGVyID4+IHVybDsKKyAgICBpZiAoIXVybCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKworICAgIHJldHVybiB7IHsgV1RGTW92ZSgqaWRlbnRpZmllciksIFdURk1vdmUoKnR5cGUp
LCBXVEZNb3ZlKCpmcmFtZVR5cGUpLCBXVEZNb3ZlKCp1cmwpIH0gfTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJ
ZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNsaWVudElkZW50aWZpZXIuaAppbmRleCAxNDY0ODUyOGUxNzg5ZmVlZmYwZTlkYjAwOTllNzEy
ZDczODA1YjdhLi5hMTUyYmUxNzRhODk4YzU0NWEzY2YyMDhhZDEyZTg0NzE5YzM4ZWU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXIuaApAQCAtMzQsNiArMzQsMzEgQEAgc3RydWN0IFNlcnZp
Y2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIHsKICAgICB1aW50NjRfdCBzY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllcjsKIAogICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0IHsgcmV0dXJu
IFN0cmluZzo6bnVtYmVyKHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKSArICItIiArICBTdHJp
bmc6Om51bWJlcihzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7IH0KKworICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2Vy
Q2xpZW50SWRlbnRpZmllcj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNz
IEVuY29kZXI+Cit2b2lkIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOjplbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHNlcnZlckNvbm5lY3Rpb25J
ZGVudGlmaWVyIDw8IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyOworfQorCit0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPgorc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRl
bnRpZmllcj4gU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI6OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IHNlcnZlckNvbm5lY3Rpb25J
ZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXI7Cisg
ICAgaWYgKCFzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gc2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXI7CisgICAgaWYgKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcikKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiB7IHsgV1RGTW92ZSgqc2Vy
dmVyQ29ubmVjdGlvbklkZW50aWZpZXIpLCBXVEZNb3ZlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllcikgfSB9OworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclR5cGVzLmgKaW5kZXggYzcwYWUwOGFhNDU3YmYzNDAwZDE5
MTY2ZmU4ZTI3OGI1YjEzM2FkYy4uMDFiYzVmMzk5YmQ3ZWMyMDZhODFkNjRiNjc4NmUyZDNhNjAx
MGNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyVHlwZXMuaApAQCAtNDUsNiArNDUsMTMgQEAgZW51bSBjbGFzcyBTZXJ2aWNlV29ya2Vy
U3RhdGUgewogICAgIFJlZHVuZGFudCwKIH07CiAKK2VudW0gY2xhc3MgU2VydmljZVdvcmtlckNs
aWVudEZyYW1lVHlwZSB7CisgICAgQXV4aWxpYXJ5LAorICAgIFRvcExldmVsLAorICAgIE5lc3Rl
ZCwKKyAgICBOb25lCit9OworCiBlbnVtIGNsYXNzIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCB7
IE5vLCBZZXMgfTsKIAogZW51bSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllclR5
cGUgeyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJXaW5kb3dDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuY3BwCmluZGV4IGU3MTQ0M2IwMDJlMjFiMDJlM2Vl
OGMwM2FiNGViYjBmZWY0MWI0MGQuLmFiM2M3NWI4NTEzMTZkOWQzZWVmOTI4OTI5NmRhNzljMTkz
YTIwMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyV2luZG93Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5jcHAKQEAgLTMyLDggKzMyLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50OjpTZXJ2aWNlV29y
a2VyV2luZG93Q2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IElk
ZW50aWZpZXImIGlkZW50aWZpZXIpCi0gICAgOiBTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnRleHQs
IGlkZW50aWZpZXIsIFR5cGU6OldpbmRvdykKK1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ6OlNl
cnZpY2VXb3JrZXJXaW5kb3dDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhKQorICAgIDogU2VydmljZVdvcmtlckNsaWVu
dChjb250ZXh0LCBXVEZNb3ZlKGRhdGEpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaAppbmRl
eCAzZTJmMzk1NmE3ZDgyZDdmYzRhYjAyYjE2ODg1ZWJkMTJiZjZhNjVkLi41NTVlZTc5YzMwMTlh
YTAxNDhiYmMyN2M0NjAxMWRjYWJlOWRjOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmgKQEAgLTM2
LDkgKzM2LDkgQEAgY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogCiBjbGFzcyBTZXJ2aWNlV29ya2Vy
V2luZG93Q2xpZW50IGZpbmFsIDogcHVibGljIFNlcnZpY2VXb3JrZXJDbGllbnQgewogcHVibGlj
OgotICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlcldpbmRvd0NsaWVudD4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIp
CisgICAgc3RhdGljIFJlZjxTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50PiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRh
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtlcldpbmRv
d0NsaWVudChjb250ZXh0LCBpZGVudGlmaWVyKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQoY29udGV4dCwgV1RGTW92ZShkYXRhKSkpOwog
ICAgIH0KIAogICAgIFZpc2liaWxpdHlTdGF0ZSB2aXNpYmlsaXR5U3RhdGUoKSBjb25zdDsKQEAg
LTQ4LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIHZvaWQgbmF2aWdhdGUoY29uc3QgU3RyaW5nJiB1
cmwsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCiBwcml2YXRlOgotICAgIFNlcnZpY2VXb3Jr
ZXJXaW5kb3dDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IElkZW50aWZpZXIm
KTsKKyAgICBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NX
Q29udGV4dE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU1dDb250ZXh0TWFuYWdlci5jcHAKaW5kZXggYTg4OTYwN2NkNmIwMjNhM2M1MjJlYWM3MDdl
MGY2YzJlZjJjNWNhZC4uYjNjY2I2M2MwZTk2MmUwZmZjYjM4NjE5YmU4N2MxYjgyZDk0YTRjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dDb250
ZXh0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU1dDb250ZXh0TWFuYWdlci5jcHAKQEAgLTY0LDE0ICs2NCwxNCBAQCBTZXJ2aWNlV29ya2Vy
VGhyZWFkUHJveHkqIFNXQ29udGV4dE1hbmFnZXI6OnNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eShT
ZXJ2aWNlV29yawogICAgIHJldHVybiBtX3dvcmtlck1hcC5nZXQoaWRlbnRpZmllcik7CiB9CiAK
LXZvaWQgU1dDb250ZXh0TWFuYWdlcjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbiwgUmVmPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBjb25zdCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmll
ciYgc291cmNlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pCit2b2lkIFNX
Q29udGV4dE1hbmFnZXI6OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoU2Vy
dmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24sIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFs
dWU+JiYgbWVzc2FnZSwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpCiB7CiAgICAg
YXV0byogc2VydmljZVdvcmtlciA9IG1fd29ya2VyTWFwLmdldChkZXN0aW5hdGlvbik7CiAgICAg
aWYgKCFzZXJ2aWNlV29ya2VyKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBGSVhNRTogV2Ug
c2hvdWxkIHBhc3MgdmFsaWQgTWVzc2FnZVBvcnRDaGFubmVscy4KLSAgICBzZXJ2aWNlV29ya2Vy
LT50aHJlYWQoKS5wb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFdURk1vdmUo
bWVzc2FnZSksIG51bGxwdHIsIHNvdXJjZUlkZW50aWZpZXIsIHNvdXJjZU9yaWdpbik7CisgICAg
c2VydmljZVdvcmtlci0+dGhyZWFkKCkucG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZShXVEZNb3ZlKG1lc3NhZ2UpLCBudWxscHRyLCBXVEZNb3ZlKHNvdXJjZSkpOwogfQogCiB2
b2lkIFNXQ29udGV4dE1hbmFnZXI6OmZpcmVJbnN0YWxsRXZlbnQoU2VydmljZVdvcmtlcklkZW50
aWZpZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIuaAppbmRleCBmNjFmMmZjOWJkMDU0MTU3
ZWU0MWJkYTg4NzBlODQyNDcwNDJhYjhlLi42ZjI5MWRjYzg1OTEwZjk5Yjk1NWFjM2VjNmZlN2Rm
ZTZkODk0OWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29u
dGV4dC9TV0NvbnRleHRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5oCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoK
IAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyVGhyZWFkRm9y
SW5zdGFsbChSZWY8U2VydmljZVdvcmtlclRocmVhZFByb3h5PiYmKTsKICAgICBXRUJDT1JFX0VY
UE9SVCBTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkqIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eShT
ZXJ2aWNlV29ya2VySWRlbnRpZmllcikgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBw
b3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyIGRlc3RpbmF0aW9uLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIGNv
bnN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBzb3VyY2VJZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZU9yaWdpbik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwb3N0TWVz
c2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRl
c3RpbmF0aW9uLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIFNlcnZpY2VX
b3JrZXJDbGllbnREYXRhJiYgc291cmNlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZpcmVJ
bnN0YWxsRXZlbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgZmlyZUFjdGl2YXRlRXZlbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29y
a2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1Nl
cnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDIzYzZiYjZmOGVjZjJjODJlZDg1ZTkxNWRmNGE5
ODU3MTI3Nzc5YzcuLjFiZWFlOWZhYjE0ODE2MmM2M2VhNzcyODlmM2Q1YzlmMGZmNGE1MWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBAIC0xMDQsMTMgKzEwNCwxNCBAQCB2b2lkIFNl
cnZpY2VXb3JrZXJUaHJlYWQ6OnBvc3RGZXRjaFRhc2soUmVmPFNlcnZpY2VXb3JrZXJGZXRjaDo6
Q2xpZW50PiYmIGNsaWVudAogICAgIH0sIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOwog
fQogCi12b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUoUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBzdGQ6OnVu
aXF1ZV9wdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+JiYgY2hhbm5lbHMsIGNvbnN0IFNlcnZp
Y2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBzb3VyY2VJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHNvdXJjZU9yaWdpbikKK3ZvaWQgU2VydmljZVdvcmtlclRocmVhZDo6cG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZShSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3Nh
Z2UsIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4mJiBjaGFubmVscywg
U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpCiB7Ci0gICAgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6VGFzayB0YXNrKFt0aGlzLCBjaGFubmVscyA9IFdURk1vdmUoY2hhbm5lbHMpLCBt
ZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlSWRlbnRpZmllciwgc291cmNlT3JpZ2lu
ID0gc291cmNlT3JpZ2luLmlzb2xhdGVkQ29weSgpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCkgbXV0YWJsZSB7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB0YXNr
KFt0aGlzLCBjaGFubmVscyA9IFdURk1vdmUoY2hhbm5lbHMpLCBtZXNzYWdlID0gV1RGTW92ZSht
ZXNzYWdlKSwgc291cmNlRGF0YSA9IHNvdXJjZS5pc29sYXRlZENvcHkoKV0gKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUgewogICAgICAgICBhdXRvJiBzZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUgPSBkb3duY2FzdDxTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU+KGNvbnRl
eHQpOwogICAgICAgICBhdXRvIHBvcnRzID0gTWVzc2FnZVBvcnQ6OmVudGFuZ2xlUG9ydHMoc2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlLCBXVEZNb3ZlKGNoYW5uZWxzKSk7Ci0gICAgICAgIEV4dGVu
ZGFibGVNZXNzYWdlRXZlbnRTb3VyY2Ugc291cmNlID0gUmVmUHRyPFNlcnZpY2VXb3JrZXJDbGll
bnQ+IHsgU2VydmljZVdvcmtlcldpbmRvd0NsaWVudDo6Y3JlYXRlKGNvbnRleHQsIHNvdXJjZUlk
ZW50aWZpZXIpIH07Ci0gICAgICAgIGF1dG8gbWVzc2FnZUV2ZW50ID0gRXh0ZW5kYWJsZU1lc3Nh
Z2VFdmVudDo6Y3JlYXRlKFdURk1vdmUocG9ydHMpLCBXVEZNb3ZlKG1lc3NhZ2UpLCBzb3VyY2VP
cmlnaW4sIHsgfSwgV1RGTW92ZShzb3VyY2UpKTsKKyAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3Jr
ZXJDbGllbnQ+IHNvdXJjZSA9IFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ6OmNyZWF0ZShjb250
ZXh0LCBXVEZNb3ZlKHNvdXJjZURhdGEpKTsKKyAgICAgICAgYXV0byBzb3VyY2VPcmlnaW4gPSBT
ZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHNvdXJjZS0+dXJsKCkpOworICAgICAgICBhdXRvIG1lc3Nh
Z2VFdmVudCA9IEV4dGVuZGFibGVNZXNzYWdlRXZlbnQ6OmNyZWF0ZShXVEZNb3ZlKHBvcnRzKSwg
V1RGTW92ZShtZXNzYWdlKSwgc291cmNlT3JpZ2luLT50b1N0cmluZygpLCB7IH0sIEV4dGVuZGFi
bGVNZXNzYWdlRXZlbnRTb3VyY2UgeyBzb3VyY2UgfSk7CiAgICAgICAgIHNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZS5kaXNwYXRjaEV2ZW50KG1lc3NhZ2VFdmVudCk7CiAgICAgICAgIHNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS50aHJlYWQoKS53b3JrZXJPYmplY3RQcm94eSgpLmNvbmZpcm1NZXNz
YWdlRnJvbVdvcmtlck9iamVjdChzZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaGFzUGVuZGluZ0Fj
dGl2aXR5KCkpOwogICAgICAgICB1cGRhdGVFeHRlbmRlZEV2ZW50c1NldChtZXNzYWdlRXZlbnQu
cHRyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oCmluZGV4IDg0YThlM2I0NzYzMmNiODUwMjJi
YmZiNjAwNDRhYzU1MWFhZGVmMzUuLjZhMTA4MDY0ZDkwODc2MzAwNjZkMDE1YWZhOTI4NTAwNTI0
YjU1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NlcnZpY2VXb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3Mg
RXh0ZW5kYWJsZUV2ZW50OwogY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsOwogY2xhc3MgU2VyaWFs
aXplZFNjcmlwdFZhbHVlOwogY2xhc3MgV29ya2VyT2JqZWN0UHJveHk7CitzdHJ1Y3QgU2Vydmlj
ZVdvcmtlckNsaWVudERhdGE7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI7
CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhOwogCkBAIC01Niw3ICs1Nyw3IEBAIHB1
YmxpYzoKICAgICBXb3JrZXJPYmplY3RQcm94eSYgd29ya2VyT2JqZWN0UHJveHkoKSBjb25zdCB7
IHJldHVybiBtX3dvcmtlck9iamVjdFByb3h5OyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHBvc3RGZXRjaFRhc2soUmVmPFNlcnZpY2VXb3JrZXJGZXRjaDo6Q2xpZW50PiYmLCBSZXNvdXJj
ZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShSZWY8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+JiYsIGNvbnN0
IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBzb3VyY2VJZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHNvdXJjZU9yaWdpbik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwb3N0TWVzc2Fn
ZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYs
IHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4mJiwgU2VydmljZVdvcmtl
ckNsaWVudERhdGEmJiBzb3VyY2UpOwogICAgIHZvaWQgZmlyZUluc3RhbGxFdmVudCgpOwogICAg
IHZvaWQgZmlyZUFjdGl2YXRlRXZlbnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggOGY3
NzQ1ZWQ1NzQxZTEyOWQxMDc4YWNkMWUwMTdiMTIyYTRlZjZlZS4uY2IwM2QwMTI1ZDA5ZmMxN2Rj
ZTEyYzJjN2QwYWM0ZDNmM2Q1M2ZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC00NCw2ICs0
NCw3IEBAIGVudW0gY2xhc3MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlOwogZW51bSBj
bGFzcyBTZXJ2aWNlV29ya2VyU3RhdGU7CiBlbnVtIGNsYXNzIFNob3VsZE5vdGlmeVdoZW5SZXNv
bHZlZDsKIHN0cnVjdCBFeGNlcHRpb25EYXRhOworc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhOwogc3RydWN0IFNlcnZpY2VXb3JrZXJEYXRhOwogc3RydWN0IFNlcnZpY2VXb3JrZXJGZXRj
aFJlc3VsdDsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKQEAgLTY3LDcg
KzY4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlc29sdmVSZWdpc3RyYXRp
b25Qcm9taXNlKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKSA9IDA7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIFJlZjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+JiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNvdXJjZSkgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgUmVmPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4mJiwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpID0gMDsKICAg
ICB2aXJ0dWFsIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBi
b29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1cml0
eU9yaWdpbiYpIGNvbnN0ID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAKaW5kZXggMzllMGY4OTVkYmU0NTFlOWFlZjE5MTZjMGQ3OTZhNDI2
NGRiOGU1Yi4uNGFmZTdlN2UyMWMyMGZlMDEyZWU0ZGQ3ZTAzZjk2NjdjOTBmZTM0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC02NSw3
ICs2NSw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxpbmdDb25zdHJhaW50cy5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NlYXJjaFBvcHVwTWVudS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RleHRDaGVja2VyQ2xpZW50Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9UZXh0SW5kaWNhdG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UaW1p
bmdGdW5jdGlvbi5oPgpAQCAtMTkwMiwyNyArMTkwMSw2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxU
ZXh0Q2hlY2tpbmdSZXF1ZXN0RGF0YT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBUZXh0Q2hl
Y2tpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi12
b2lkIEFyZ3VtZW50Q29kZXI8U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+OjplbmNvZGUo
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIGlk
ZW50aWZpZXIpCi17Ci0gICAgZW5jb2RlciA8PCBpZGVudGlmaWVyLnNlcnZlckNvbm5lY3Rpb25J
ZGVudGlmaWVyIDw8IGlkZW50aWZpZXIuc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI7
Ci19Ci0KLWJvb2wgQXJndW1lbnRDb2RlcjxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj46
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYg
aWRlbnRpZmllcikKLXsKLSAgICB1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcjsK
LSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgdWludDY0X3Qgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXI7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShzY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllcikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlkZW50aWZpZXIg
PSB7IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciB9OwotICAgIHJldHVybiB0cnVlOwotfQotI2VuZGlmCi0KIHZvaWQgQXJndW1lbnRD
b2RlcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
VGV4dENoZWNraW5nUmVzdWx0JiByZXN1bHQpCiB7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKHJl
c3VsdC50eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgKaW5kZXggZTk5Y2I2ZGQ4MWZhNjM5YzZhY2FkNjI1YTNkZDJlOWZmZDBlN2MyYi4uYTU3MmYw
MDFjOGEzZWJkYjgwYjI4OGYyYzBkYjk3MmIyNWI4YTM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL1BheW1lbnRIZWFkZXJzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1l
ZGlhU291cmNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJDbGllbnRUeXBlLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VX
b3JrZXJVcGRhdGVWaWFDYWNoZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3kuaD4KQEAgLTE1OSwxMCArMTYwLDYgQEAgc3RydWN0IE1lZGlhQ29uc3RyYWludHM7
CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiB1c2luZyBJREJLZXlQYXRoID0gVmFyaWFu
dDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+PjsKICNlbmRpZgotCi0jaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQotc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOwotI2VuZGlmCiB9
CiAKIG5hbWVzcGFjZSBJUEMgewpAQCAtNDgzLDEzICs0ODAsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVj
dCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRleHRDaGVja2luZ1JlcXVlc3REYXRhPiB7CiAgICAg
c3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXF1ZXN0
RGF0YSYpOwogfTsKIAotI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLXRlbXBsYXRlPD4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+
IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJik7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29k
ZXImLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYpOwotfTsKLSNlbmRp
ZgotCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRleHRDaGVja2lu
Z1Jlc3VsdD4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29y
ZTo6VGV4dENoZWNraW5nUmVzdWx0Jik7CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6VGV4dENoZWNraW5nUmVzdWx0PiBkZWNvZGUoRGVjb2RlciYpOwpAQCAtODE2LDYgKzgwNiwy
NiBAQCB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
VXBkYXRlVmlhQ2FjaGU+IHsKICAgICA+OwogfTsKIAordGVtcGxhdGUgPD4gc3RydWN0IEVudW1U
cmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudFR5cGU+IHsKKyAgICB1c2luZyB2YWx1
ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50VHlw
ZSwKKyAgICAgICAgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdywKKyAg
ICAgICAgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlciwKKyAgICAgICAg
V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudFR5cGU6OlNoYXJlZHdvcmtlciwKKyAgICAgICAg
V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudFR5cGU6OkFsbAorICAgID47Cit9OworCit0ZW1w
bGF0ZSA8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RnJh
bWVUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29y
ZTo6U2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZSwKKyAgICAgICAgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6QXV4aWxpYXJ5LAorICAgICAgICBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlOjpUb3BMZXZlbCwKKyAgICAgICAgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6TmVzdGVkLAorICAgICAgICBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlOjpOb25lCisgICAgPjsKK307CisKIHRlbXBsYXRlIDw+
IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0
ZT4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CiAgICAgICAgIFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAKaW5kZXggMzg1YTEwMjk1NWY3YjY2N2EyOGRjZGE1NDhlNDlmNzcxNWQ4YzAx
OC4uNzk2MzJjY2YxYTlmYjIxYWNiZTM1MThlMzE0YzRmMzJlZjFhNmNiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TV1NlcnZlclJl
Z2lzdHJhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2Vy
Sm9iRGF0YS5oPgpAQCAtMTExLDEwICsxMTIsMTAgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rp
b246OnN0YXJ0RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFMK
ICAgICBzZW5kVG9Db250ZXh0UHJvY2VzcyhNZXNzYWdlczo6V2ViU1dDb250ZXh0TWFuYWdlckNv
bm5lY3Rpb246OlN0YXJ0RmV0Y2goaWRlbnRpZmllcigpLCBmZXRjaElkZW50aWZpZXIsIHNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyLCByZXF1ZXN0LCBvcHRpb25zKSk7CiB9CiAKLXZvaWQgV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uU2VydmljZVdvcmtlcklkZW50aWZpZXIs
IGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZSwgdWludDY0X3Qgc291cmNlU2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlT3JpZ2luKQor
dm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25TZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCBTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSYmIHNvdXJjZSkKIHsKLSAgICBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
ZmllciBzb3VyY2VJZGVudGlmaWVyIHsgaWRlbnRpZmllcigpLCBzb3VyY2VTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciB9OwotICAgIHNlbmRUb0NvbnRleHRQcm9jZXNzKE1lc3NhZ2Vz
OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZSB7IGRlc3RpbmF0aW9uU2VydmljZVdvcmtlcklkZW50aWZpZXIsIG1lc3Nh
Z2UsIHNvdXJjZUlkZW50aWZpZXIsIHNvdXJjZU9yaWdpbiB9KTsKKyAgICBzb3VyY2UuaWRlbnRp
Zmllci5zZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciA9IGlkZW50aWZpZXIoKTsKKyAgICBzZW5k
VG9Db250ZXh0UHJvY2VzcyhNZXNzYWdlczo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246
OlBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgeyBkZXN0aW5hdGlvblNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyLCBtZXNzYWdlLCBXVEZNb3ZlKHNvdXJjZSkgfSk7CiB9CiAKIHZv
aWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpkaWRSZWNlaXZlRmV0Y2hSZXNwb25zZSh1aW50NjRf
dCBmZXRjaElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNX
U2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IGY4NGYzNzViZDk4ZGMxMTgxYTU0
MzU3ZmJlMTUyMDI3OTE1YmZlZDcuLmI1ZjRiOTY3ZjBlYzg3YTE4MDgzNDE1OTMyYzM5NWRjZTk0
NGQ2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQ
cm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTM0LDYgKzM0
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IEV4Y2VwdGlvbkRhdGE7CitzdHJ1
Y3QgU2VydmljZVdvcmtlckNsaWVudERhdGE7CiBjbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5OwogfQogCkBAIC03MCw3ICs3MSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHN0YXJ0
RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyPiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zJik7CiAKLSAgICB2b2lkIHBvc3RNZXNzYWdlVG9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIg
ZGVzdGluYXRpb25JZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2Us
IHVpbnQ2NF90IHNvdXJjZVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHNvdXJjZU9yaWdpbik7CisgICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9u
SWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCBXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIHNvdXJjZSk7CiAKICAgICB2b2lkIG1hdGNoUmVnaXN0
cmF0aW9uKHVpbnQ2NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIGNvbnN0
IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpV
UkwmIGNsaWVudFVSTCk7CiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb25zKHVpbnQ2NF90IHJlZ2lz
dHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpVUkwmIGNsaWVudFVSTCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCBl
YzQ0YzA4NzQ5N2RhZWI4OGI5YjNkNTQ5OTI3NTY2NGNmMTg1NmRkLi4wYThhNDhlZTUwYmNiMmM5
YjJmYTI1Y2YxZTU2NmFiM2EwZWYxMTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTMwLDcgKzMwLDcgQEAgbWVzc2FnZXMgLT4g
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uIHsKICAgICBSZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSW5TZXJ2ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBrZXksIFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiAK
ICAgICBTdGFydEZldGNoKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgc3RydWN0IFdlYkNvcmU6OkZldGNoT3B0aW9u
cyBvcHRpb25zKQotICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2Vi
Q29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25TZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIHVpbnQ2NF90IHNvdXJjZVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBTdHJpbmcgc291cmNlT3JpZ2luKQorICAgIFBv
c3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtl
cklkZW50aWZpZXIgZGVzdGluYXRpb25TZXJ2aWNlV29ya2VySWRlbnRpZmllciwgSVBDOjpEYXRh
UmVmZXJlbmNlIG1lc3NhZ2UsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YSBzb3VyY2UpCiAKICAgICBEaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5k
ZXggYjA4Mjg1YWY0MjEzYTE0MzBjYTAzMDJhYjVmNGE1MzliYjdmNjcwYS4uNDNjNTc2OWJmNjQw
YWMzMDA5Yzk1NTlhMzc0ZTkyOTMwY2I2YzM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0z
Nyw2ICszNyw3IEBACiAjaW5jbHVkZSAiV2ViU1dTZXJ2ZXJDb25uZWN0aW9uTWVzc2FnZXMuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJDbGllbnRE
YXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oPgpAQCAtODAsMTMgKzgxLDkgQEAgdm9p
ZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
blNlcnZlcihjb25zdCBTZXJ2aWMKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5l
Y3Rpb246OlJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihrZXksIGlkZW50
aWZpZXIpKTsKIH0KIAotdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRp
b25JZGVudGlmaWVyLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIHNjcmlwdFZhbHVlLCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBzb3VyY2UpCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlv
bjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2VySWRl
bnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
JiYgc2NyaXB0VmFsdWUsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNlKQogewotICAg
IC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgcG9zdGluZyBtZXNzYWdlcyBmcm9tIHdvcmtlcnMu
Ci0gICAgaWYgKCFpczxEb2N1bWVudD4oc291cmNlKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
c2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpQb3N0TWVzc2FnZVRvU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlKGRlc3RpbmF0aW9uSWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJl
bmNlIHsgc2NyaXB0VmFsdWUtPmRhdGEoKSB9LCBkb3duY2FzdDxEb2N1bWVudD4oc291cmNlKS5p
ZGVudGlmaWVyKCksIHNvdXJjZS5vcmlnaW4oKSkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlNX
U2VydmVyQ29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShk
ZXN0aW5hdGlvbklkZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSB7IHNjcmlwdFZhbHVlLT5k
YXRhKCkgfSwgV1RGTW92ZShzb3VyY2UpKSk7CiB9CiAKIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0
aW9uOjpkaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShjb25zdCBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5JiBrZXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IDYwMjBmMDYxNWQ5ZTc0ZTNm
OTA0MjZhZDc4OWEwOThkNjU5MDJlMGIuLmJiZDBlZmRhNWM1MGRmM2U5ZDVmYjQyZTE0NjYzNWJj
YTNjNzM5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZUpvYkluU2VydmVyKGNvbnN0IFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJKb2JEYXRhJikgZmluYWw7CiAgICAgdm9pZCBmaW5pc2hGZXRjaGluZ1NjcmlwdElu
U2VydmVyKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdCYpIGZpbmFsOwot
ICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIFJlZjxXZWJDb3Jl
OjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIHNvdXJjZSkgZmluYWw7CisgICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckds
b2JhbFNjb3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRl
bnRpZmllciwgUmVmPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgV2ViQ29yZTo6
U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpIGZpbmFsOwogCiAgICAgdm9pZCBtYXRj
aFJlZ2lzdHJhdGlvbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBj
b25zdCBXZWJDb3JlOjpVUkwmIGNsaWVudFVSTCwgUmVnaXN0cmF0aW9uQ2FsbGJhY2smJikgZmlu
YWw7CiAgICAgdm9pZCBkaWRNYXRjaFJlZ2lzdHJhdGlvbih1aW50NjRfdCBtYXRjaFJlcXVlc3RJ
ZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAppbmRleCBkZmRj
NjJmODZkNmY2ODkzZGRiMDRhM2RhYTJjMjRlOTQ4YTI2ZTliLi5jZGQ5NWQ4MDQ2ZGY3MDFhMTcw
YTdmMGYxYzRhNzBiMTc3NTAyMWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
Y3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlQ29uZmlndXJhdGlv
bi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9T
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQu
aD4KIAogI2lmIFVTRShRVUlDS19MT09LKQpAQCAtMTQyLDkgKzE0Myw5IEBAIHZvaWQgV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2godWludDY0X3Qgc2VydmVyQ29ubmVj
dGlvbklkZW50aWZpCiAgICAgc2VydmljZVdvcmtlclRocmVhZFByb3h5LT50aHJlYWQoKS5wb3N0
RmV0Y2hUYXNrKFdURk1vdmUoY2xpZW50KSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRp
b25zKSk7CiB9CiAKLXZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnBvc3RNZXNz
YWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVz
dGluYXRpb25JZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2UsIGNv
bnN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBzb3VyY2VJZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZU9yaWdpbikKK3ZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoU2VydmljZVdvcmtlcklk
ZW50aWZpZXIgZGVzdGluYXRpb25JZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2Um
IG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNlKQogewotICAgIFNXQ29u
dGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUoZGVzdGluYXRpb25JZGVudGlmaWVyLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmFkb3B0
KG1lc3NhZ2UudmVjdG9yKCkpLCBzb3VyY2VJZGVudGlmaWVyLCBzb3VyY2VPcmlnaW4pOworICAg
IFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUoZGVzdGluYXRpb25JZGVudGlmaWVyLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6
OmFkb3B0KG1lc3NhZ2UudmVjdG9yKCkpLCBXVEZNb3ZlKHNvdXJjZSkpOwogfQogCiB2b2lkIFdl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpmaXJlSW5zdGFsbEV2ZW50KFNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApp
bmRleCBmYTJhYzgzOTJiZGM0ODM5Y2EwMTFmZTYwNDQyNDgyNTBjZDAwOGQwLi44ZTRkNTZiZTc1
NDg4MDExNTQ5YmI1N2E4YjQyZmRmMjJkMzFiYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmgKQEAgLTYwLDcgKzYwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNlcnZpY2VXb3Jr
ZXJTdGFydGVkV2l0aE1lc3NhZ2UoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgZXhjZXB0aW9uTWVzc2FnZSkgZmluYWw7CiAgICAgdm9pZCBpbnN0YWxsU2Vy
dmljZVdvcmtlcihjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmKTsKICAg
ICB2b2lkIHN0YXJ0RmV0Y2godWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIHVp
bnQ2NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29y
a2VySWRlbnRpZmllcj4sIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpGZXRj
aE9wdGlvbnMmJik7Ci0gICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmll
ciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCBjb25zdCBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYgc291cmNlSWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VPcmlnaW4pOworICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50
aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZSwgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpOwogICAgIHZvaWQgZmlyZUluc3RhbGxFdmVudChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAgICAgdm9pZCBmaXJlQWN0aXZhdGVF
dmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggMTQ5OGQyNzIxOWYwNzQ2
MjViMjE1MjQzNzMxNTYzMWVkNTJhMTgwYS4uNzMzMWE4ZGVkODBhYzBiMWE1MDNjYzhlYzM0OWYw
YmI1YmU3OTQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVz
c2FnZXMuaW4KQEAgLTI1LDcgKzI1LDcgQEAKIG1lc3NhZ2VzIC0+IFdlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uIHsKICAgICBJbnN0YWxsU2VydmljZVdvcmtlcihzdHJ1Y3QgV2ViQ29yZTo6
U2VydmljZVdvcmtlckNvbnRleHREYXRhIGNvbnRleHREYXRhKQogICAgIFN0YXJ0RmV0Y2godWlu
dDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IGZldGNoSWRlbnRpZmll
ciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBzdHJ1
Y3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG9wdGlvbnMpCi0gICAgUG9zdE1lc3NhZ2VUb1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0
aW5hdGlvbklkZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSBtZXNzYWdlLCBzdHJ1Y3QgV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwgU3Ry
aW5nIHNvdXJjZU9yaWdpbikKKyAgICBQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmll
ciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSBzb3VyY2UpCiAgICAgRmlyZUluc3RhbGxFdmVudChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIEZpcmVBY3RpdmF0ZUV2ZW50KFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzg3
Mzk1MDZjMDRlYTEwNGEzOGU1YzAzMjVkNDUxYjU5ODMyN2VjOS4uMTVlMTE2MTE4ZDM0YjdiNjFi
YWQ4NDYyZTAyZmU2Mzg1MGQ0ODU4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTExLTE0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1NlcnZpY2UgV29y
a2Vyc10gSW1wbGVtZW50IENsaWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3OTcwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAq
IGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLWF1eGlsaWFyeS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNl
L0NsaWVudC1wcm9wZXJ0aWVzLWF1eGlsaWFyeS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dvcmtlcnMvc2VydmljZS9DbGllbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0
aWVzLXN1YmZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMtc3ViZnJhbWUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2Vz
L0NsaWVudC1wcm9wZXJ0aWVzLXdvcmtlci5qczogQWRkZWQuCisKIDIwMTctMTEtMTQgIFJ5YW4g
SGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFyayBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy5odG1sIGFzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMtYXV4aWxpYXJ5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0Ns
aWVudC1wcm9wZXJ0aWVzLWF1eGlsaWFyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWQwZjJl
M2JkYmRhODQxNTk5ZTRiNzhmOWI3OTQyYzllZTc1MjRlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLWF1
eGlsaWFyeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitjbGllbnQudXJsOiBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLmh0bWwKK2Ns
aWVudC5mcmFtZVR5cGU6IGF1eGlsaWFyeQorY2xpZW50LnR5cGU6IHdpbmRvdworY2xpZW50Lmlk
IGlzIG5vbiBlbXB0eTogWUVTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLWF1eGlsaWFyeS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMtYXV4aWxp
YXJ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQzZTlmYTNlNWI4ZDMzMWIxODM2ZTk1MGIzYmFkYjRjZWE4
MGVhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9z
ZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLWF1eGlsaWFyeS5odG1sCkBAIC0wLDAgKzEsMTIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
c3ctdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKHRydWUpOworCit3aW5kb3cub3Bl
bigiQ2xpZW50LXByb3BlcnRpZXMuaHRtbCIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9DbGll
bnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9DbGllbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmMx
ODNlODA0Mjk1NjJjMTM3NTBiNDU0MDhlNGVlYzZmN2QyYjliMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK2NsaWVudC51cmw6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC93b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMuaHRtbAorY2xpZW50LmZy
YW1lVHlwZTogdG9wLWxldmVsCitjbGllbnQudHlwZTogd2luZG93CitjbGllbnQuaWQgaXMgbm9u
IGVtcHR5OiBZRVMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMtc3ViZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMtc3ViZnJh
bWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmOTlkNjZiZTA0YmNiNGMwNjRiNTIyYWY4NjJm
OTQ5ZmQwMTBhNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dv
cmtlcnMvc2VydmljZS9DbGllbnQtcHJvcGVydGllcy1zdWJmcmFtZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw2IEBACisKK2NsaWVudC51cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC93b3JrZXJz
L3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMuaHRtbAorY2xpZW50LmZyYW1lVHlwZTogbmVzdGVk
CitjbGllbnQudHlwZTogd2luZG93CitjbGllbnQuaWQgaXMgbm9uIGVtcHR5OiBZRVMKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXBy
b3BlcnRpZXMtc3ViZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9z
ZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLXN1YmZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNmNDhl
ZjA5NWJiMDFhYWYzYWEwNGM5YjViMmU0ZWEwYzc0ZTM3YgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLXN1
YmZyYW1lLmh0bWwKQEAgLTAsMCArMSw4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3N3LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxp
ZnJhbWUgc3JjPSJDbGllbnQtcHJvcGVydGllcy5odG1sIj48L2lmcmFtZT4KKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQ0
NDk3YTEyYmNmYTUxMDkxYTY1Y2RlNGU3Y2VlOTIyZDkxNmVmYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVz
Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9zdy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCitsb2dXaW5kb3cgPSB3aW5kb3c7CitpZiAod2luZG93Lm9wZW5lcikKKyAgICBsb2dXaW5k
b3cgPSB3aW5kb3cub3BlbmVyOworZWxzZSBpZiAod2luZG93LnBhcmVudCkKKyAgICBsb2dXaW5k
b3cgPSB3aW5kb3cucGFyZW50OworCituYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVudExp
c3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBpZiAoZXZlbnQuZGF0YSA9
PT0gIkRPTkUiKSB7CisgICAgICAgIGZpbmlzaFNXVGVzdCgpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgICAgICBsb2dXaW5kb3cubG9nKGV2ZW50LmRhdGEpOworfSk7CisKK25hdmlnYXRv
ci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJyZXNvdXJjZXMvQ2xpZW50LXByb3BlcnRpZXMtd29y
a2VyLmpzIiwgeyB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIG5hdmlnYXRvci5zZXJ2aWNlV29y
a2VyLmNvbnRyb2xsZXIucG9zdE1lc3NhZ2UoIlRFU1QiKTsKK30pOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMv
c2VydmljZS9yZXNvdXJjZXMvQ2xpZW50LXByb3BlcnRpZXMtd29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL0NsaWVudC1wcm9wZXJ0aWVz
LXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTZjNTdmNWZiZTY0YWY2N2Q1YzJlZTBkYWRiMzk2MmI3
NmMyM2I1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2UvcmVzb3VyY2VzL0NsaWVudC1wcm9wZXJ0aWVzLXdvcmtlci5qcwpAQCAtMCwwICsx
LDEwIEBACitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihlKSB7Cisg
ICAgbGV0IGNsaWVudCA9IGUuc291cmNlOworCisgICAgY2xpZW50LnBvc3RNZXNzYWdlKCJjbGll
bnQudXJsOiAiICsgY2xpZW50LnVybCk7CisgICAgY2xpZW50LnBvc3RNZXNzYWdlKCJjbGllbnQu
ZnJhbWVUeXBlOiAiICsgY2xpZW50LmZyYW1lVHlwZSk7CisgICAgY2xpZW50LnBvc3RNZXNzYWdl
KCJjbGllbnQudHlwZTogIiArIGNsaWVudC50eXBlKTsKKyAgICBjbGllbnQucG9zdE1lc3NhZ2Uo
ImNsaWVudC5pZCBpcyBub24gZW1wdHk6ICIgKyAoY2xpZW50LmlkLmxlbmd0aCA/ICJZRVMiIDog
Ik5PIikpOworCisgICAgY2xpZW50LnBvc3RNZXNzYWdlKCJET05FIik7Cit9KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326990</attachid>
            <date>2017-11-15 09:26:38 -0800</date>
            <delta_ts>2017-11-15 10:00:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179709-20171115092637.patch</filename>
            <type>text/plain</type>
            <size>61399</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjg5ZTkxYjc2OWIzZmE3
ZDc1ZjA5MjUwMzQxODYwMWYzN2M1NjMxNS4uYjA1NThkODhlYjFhM2QwYjMxZmNjNDI0ZmZkOTc4
Njg1NDczZWY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE3LTExLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1NlcnZpY2UgV29ya2Vyc10g
SW1wbGVtZW50IENsaWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3OTcwOQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5z
ZW4uCisKKyAgICAgICAgSW1wbGVtZW50IENsaWVudCBBUEkgYXMgcGVyOgorICAgICAgICAtIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNjbGllbnQtaW50ZXJmYWNlCisKKyAg
ICAgICAgVGVzdHM6CisgICAgICAgIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1w
cm9wZXJ0aWVzLmh0bWwKKyAgICAgICAgaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvQ2xpZW50
LXByb3BlcnRpZXMtc3ViZnJhbWUuaHRtbAorICAgICAgICBodHRwL3Rlc3RzL3dvcmtlcnMvc2Vy
dmljZS9DbGllbnQtcHJvcGVydGllcy1hdXhpbGlhcnkuaHRtbAorCisgICAgICAgICogU291cmNl
cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXI6OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ2xpZW50OjpTZXJ2aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDbGllbnQ6OnVybCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ2xpZW50Ojp0eXBlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJD
bGllbnQ6OmZyYW1lVHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
Q2xpZW50OjppZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnQ6OmNyZWF0ZSk6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJX
aW5kb3dDbGllbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6dG9TZXJ2aWNlV29ya2VyQ2xpZW50
RnJhbWVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpp
c29sYXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dERhdGE6OmZyb20pOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNsaWVudC5oLgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dERhdGE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNsaWVudElkZW50aWZpZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGll
bnRJZGVudGlmaWVyOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdv
cmtlckNsaWVudElkZW50aWZpZXI6OmRlY29kZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJUeXBlcy5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyV2luZG93Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJX
aW5kb3dDbGllbnQ6OlNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQpOgorICAgICAgICAqIHdvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50Lmg6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTV0NvbnRleHRNYW5hZ2VyOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmg6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpwb3N0TWVzc2FnZVRv
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29u
dGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV0NsaWVudENvbm5lY3Rpb24uaDoKKwogMjAxNy0xMS0xNCAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtTZXJ2aWNlIFdvcmtlcnNdIEltcGxlbWVudCBj
b250YWluZXIuZ2V0UmVnaXN0cmF0aW9ucygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI1ZTVjMjU1N2M3OTEwZDU4
YzFlNjZiMGM5ODcyMTI5MjgxOTg5ZjUuLmYyOTBjNGFmZDgzNGIzYTBjMzJmNzE3ZWE4ZjA4YWU0
YmIzNDg0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTctMTEtMTQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbU2VydmljZSBXb3JrZXJzXSBJbXBs
ZW1lbnQgQ2xpZW50IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc5NzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4K
KworICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAq
IFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZSk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
U1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246
OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdl
cy5pbjoKKwogMjAxNy0xMS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtTZXJ2aWNlIFdvcmtlcnNdIEltcGxlbWVudCBjb250YWluZXIuZ2V0UmVnaXN0cmF0
aW9ucygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGIzMGNiODEyNjJmODQ3YjYxNmRiOGYwMjQwZDY3N2Ez
M2NmZTM1NWYuLjI4ZmQxODIwMThlODI0MzZhMmJkNDA3MDA4YzJiZDQyMzRhODhmNTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0yMTcwLDYgKzIxNzAsNyBAQCB3b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJs
ZU1lc3NhZ2VFdmVudC5jcHAKIHdvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmNwcAogd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwCiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNsaWVudC5jcHAKK3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAK
IHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5jcHAKIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJDb250ZXh0RGF0YS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAyZTM0MjgzOWQ0ZTcwZTA4NGUxNTI3OGYxNmNjODUyMjVk
OGI1OWEwLi4zNzllNjA2MDg5MDJlMmQzOGJjZTcwNGVjYmI0YWM4Y2Y1MWRhY2FlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0y
MTc2LDcgKzIxNzYsNyBAQAogCQk4MzY1ODlERTFGNTRBNzY5MDBEQzMxRjQgLyogSlNGaWxlU3lz
dGVtRGlyZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4MzY1ODlEOTFGNTRBNzYyMDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRGlyZWN0
b3J5UmVhZGVyLmggKi87IH07CiAJCTgzNjU4OUUwMUY1NEE3NkUwMERDMzFGNCAvKiBKU0ZpbGVT
eXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzNjU4OUQ4MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRy
aWVzQ2FsbGJhY2suaCAqLzsgfTsKIAkJODM2NzU4N0YxQzU2RTk5QjAwOEExMDg3IC8qIEpTSFRN
TERhdGFFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4MzRCODZBODFDNTZFOTNFMDBGM0YwRTMgLyogSlNIVE1MRGF0YUVsZW1lbnQuaCAqLzsg
fTsKLQkJODM2OUZERkMxRkExMDJFMzAwQzFGRjFGIC8qIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzY5RkRG
QjFGQTEwMkNCMDBDMUZGMUYgLyogU2VydmljZVdvcmtlckNsaWVudFR5cGUuaCAqLzsgfTsKKwkJ
ODM2OUZERkMxRkExMDJFMzAwQzFGRjFGIC8qIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzY5RkRGQjFGQTEw
MkNCMDBDMUZGMUYgLyogU2VydmljZVdvcmtlckNsaWVudFR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4MzZBQ0VDMzFFQ0E2MkM4MDA0QkQw
MTIgLyogRE9NTWF0cml4UmVhZE9ubHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDgzNkFDRUMwMUVDQTYyQjAwMDRCRDAxMiAvKiBET01NYXRyaXhSZWFk
T25seS5oICovOyB9OwogCQk4MzZBQ0VDQTFFQ0E5NTY5MDA0QkQwMTIgLyogRE9NTWF0cml4Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzZBQ0VDNTFF
Q0E2NjU0MDA0QkQwMTIgLyogRE9NTWF0cml4LmggKi87IH07CiAJCTgzNkFDRUNCMUVDQTk1NkQw
MDRCRDAxMiAvKiBET01NYXRyaXhJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4MzZBQ0VDNzFFQ0E2NjU0MDA0QkQwMTIgLyogRE9NTWF0cml4SW5p
dC5oICovOyB9OwpAQCAtMjE5Myw2ICsyMTkzLDcgQEAKIAkJODM3MUFDM0IxRjUwOUJFNDAwRkJG
Mjg0IC8qIEVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzNzFBQzM5MUY1MDlCREQwMEZCRjI4NCAvKiBFcnJvckNhbGxiYWNrLmgg
Ki87IH07CiAJCTgzNzJEQjMxMUE2NzgwQTgwMEM2OTdDNSAvKiBEaWFnbm9zdGljTG9nZ2luZ1Jl
c3VsdFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDgzNzJEQjMwMUE2NzgwQTgwMEM2OTdDNSAvKiBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4Mzc2
NUY5NTFEQUM1MjJGMDBDMDY1MzcgLyogTW91c2VFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNzY1Rjk0MURBQzUyMTgwMEMwNjUzNyAv
KiBNb3VzZUV2ZW50SW5pdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTgzNzkzNjNGMUZCQkIwQjQwMEM4MDIzQyAvKiBTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODM3OTM2M0UxRkJCQjBBNTAwQzgwMjNDIC8qIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODM3OTY0Q0Yx
RjhEQjY5RDAwMjE4RUEwIC8qIEdlb2xvY2F0aW9uUG9zaXRpb25JT1MubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4Mzc5NjRDRTFGOERCNjlBMDAyMThF
QTAgLyogR2VvbG9jYXRpb25Qb3NpdGlvbklPUy5tbSAqLzsgfTsKIAkJODM3QTgwMTMxRTFFMTI3
MzAwMDI2QjlGIC8qIExvY2FsaXphYmxlLnN0cmluZ3NkaWN0IGluIFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzdBODAxMTFFMUUxMjczMDAwMjZCOUYgLyog
TG9jYWxpemFibGUuc3RyaW5nc2RpY3QgKi87IH07CiAJCTgzN0I3RDIwMURDM0Y1NTAwMEQwNTFG
QyAvKiBWYWxpZGF0aW9uQnViYmxlSU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODM3QjdEMUYxREMzRjU0QzAwRDA1MUZDIC8qIFZhbGlkYXRpb25C
dWJibGVJT1MubW0gKi87IH07CkBAIC05NDM5LDYgKzk0NDAsOCBAQAogCQk4Mzc2MDlDODFGNTRD
QzEzMDAwQzEyMkQgLyogRXJyb3JDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODM3NjVGOTMxREFDNTIxODAwQzA2NTM3IC8qIE1vdXNlRXZlbnRJbml0LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBNb3VzZUV2ZW50SW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTgzNzY1Rjk0MURBQzUyMTgwMEMwNjUzNyAvKiBNb3VzZUV2ZW50SW5pdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb3VzZUV2ZW50SW5pdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4Mzc5MzYzQzFGQkJCMEE0MDBDODAyM0MgLyogU2Vy
dmljZVdvcmtlckNsaWVudERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4Mzc5MzYzRTFGQkJCMEE1MDBDODAyM0MgLyogU2VydmljZVdvcmtlckNsaWVudERh
dGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZVdvcmtlckNsaWVu
dERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3OTY0Q0UxRjhEQjY5QTAw
MjE4RUEwIC8qIEdlb2xvY2F0aW9uUG9zaXRpb25JT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IG5hbWUgPSBHZW9sb2NhdGlvblBvc2l0aW9uSU9TLm1tOyBwYXRoID0gTW9k
dWxlcy9nZW9sb2NhdGlvbi9pb3MvR2VvbG9jYXRpb25Qb3NpdGlvbklPUy5tbTsgc291cmNlVHJl
ZSA9IFNPVVJDRV9ST09UOyB9OwogCQk4MzdBODAxMjFFMUUxMjczMDAwMjZCOUYgLyogRW5nbGlz
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
cGxpc3Quc3RyaW5nc2RpY3Q7IG5hbWUgPSBFbmdsaXNoOyBwYXRoID0gRW5nbGlzaC5scHJvai9M
b2NhbGl6YWJsZS5zdHJpbmdzZGljdDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQk4
MzdCN0QxRjFEQzNGNTRDMDBEMDUxRkMgLyogVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFZhbGlkYXRpb25CdWJibGVJT1MubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzI2NSw2ICsxNzI2OCw4IEBACiAJCQkJ
NDZFRjE0MjcxRjk3QjdCQTAwQzJBNTI0IC8qIFNlcnZpY2VXb3JrZXJDbGllbnQuY3BwICovLAog
CQkJCTQ2RUYxNDI0MUY5N0I3QkEwMEMyQTUyNCAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50LmggKi8s
CiAJCQkJNDZFRjE0MjgxRjk3QjdCQTAwQzJBNTI0IC8qIFNlcnZpY2VXb3JrZXJDbGllbnQuaWRs
ICovLAorCQkJCTgzNzkzNjNDMUZCQkIwQTQwMEM4MDIzQyAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YS5jcHAgKi8sCisJCQkJODM3OTM2M0UxRkJCQjBBNTAwQzgwMjNDIC8qIFNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhLmggKi8sCiAJCQkJODM3RDQ2MjUxRkEyQThDNTAwNTRFMUZBIC8qIFNlcnZp
Y2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmggKi8sCiAJCQkJNDZFRjE0MjExRjk3QjdCQTAwQzJB
NTI0IC8qIFNlcnZpY2VXb3JrZXJDbGllbnRzLmNwcCAqLywKIAkJCQk0NkVGMTQyMjFGOTdCN0JB
MDBDMkE1MjQgLyogU2VydmljZVdvcmtlckNsaWVudHMuaCAqLywKQEAgLTI4OTMxLDYgKzI4OTM2
LDcgQEAKIAkJCQk1MUYxNzU1RDFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTU4MUVEMTMxRkIyODhDRjAwQ0VENEVDIC8qIFNlcnZpY2VXb3Jr
ZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDZFRjE0MkQxRjk3QjdEODAwQzJBNTI0IC8q
IFNlcnZpY2VXb3JrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzNzkzNjNGMUZCQkIw
QjQwMEM4MDIzQyAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODM3RDQ2MjcxRkEyQThDRTAwNTRFMUZBIC8qIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlm
aWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkVGMTQyQzFGOTdCN0Q4MDBDMkE1MjQgLyogU2Vy
dmljZVdvcmtlckNsaWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNjlGREZDMUZBMTAyRTMw
MEMxRkYxRiAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAKaW5kZXgg
M2Y0OTQ5MzJiODQxODRlNGU3MzIyNDA0ZGM5M2ExZWQ4M2Q2ZmFiZC4uNzc5NjYyNzY1NjNhYzgz
YzUxYTY0MDNlYWI0MGNhODBiN2Q4MTg1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IlNXQ2xpZW50Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJTZXJ2aWNl
V29ya2VyQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIgog
I2luY2x1ZGUgPHJ1bnRpbWUvSlNDSlNWYWx1ZUlubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KQEAgLTEyNiw4ICsxMjcsMTQgQEAgRXhjZXB0aW9uT3I8dm9pZD4gU2Vy
dmljZVdvcmtlcjo6cG9zdE1lc3NhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
SlMKICAgICBpZiAoY2hhbm5lbHMgJiYgIWNoYW5uZWxzLT5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJQYXNzaW5n
IE1lc3NhZ2VQb3J0IG9iamVjdHMgdG8gcG9zdE1lc3NhZ2UgaXMgbm90IHlldCBzdXBwb3J0ZWQi
KSB9OwogCisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhZGQgc3VwcG9ydCBmb3Igd29ya2Vycy4K
KyAgICBpZiAoIWlzPERvY3VtZW50Pihjb250ZXh0KSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoInNlcnZpY2VXb3JrZXJDbGllbnQu
cG9zdE1lc3NhZ2UoKSBmcm9tIHdvcmtlcnMgaXMgbm90IHlldCBzdXBwb3J0ZWQiKSB9OworCisg
ICAgYXV0byBzb3VyY2VDbGllbnREYXRhID0gU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20o
Y29udGV4dCk7CisKICAgICBhdXRvJiBzd0Nvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlk
ZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihjb250ZXh0
LnNlc3Npb25JRCgpKTsKLSAgICBzd0Nvbm5lY3Rpb24ucG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZShpZGVudGlmaWVyKCksIG1lc3NhZ2UucmVsZWFzZVJldHVyblZhbHVlKCks
IGNvbnRleHQpOworICAgIHN3Q29ubmVjdGlvbi5wb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckds
b2JhbFNjb3BlKGlkZW50aWZpZXIoKSwgbWVzc2FnZS5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgV1RG
TW92ZShzb3VyY2VDbGllbnREYXRhKSk7CiAKICAgICByZXR1cm4geyB9OwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuY3Bw
CmluZGV4IDAyYWIyMjRkNDk0MzYwZGJmNmNkZGE0MzAzMzRjNjI2YWE5YjgwNDUuLjM2MDJlMzRi
NDQwOTU1MzI2Njk2ZDQxNzY2NjQ1YjIyOTg0MDJhNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAKQEAgLTM3LDMw
ICszNywzNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNlcnZpY2VXb3JrZXJDbGllbnQ6
OlNlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29u
c3QgSWRlbnRpZmllciYgaWRlbnRpZmllciwgVHlwZSB0eXBlKQorU2VydmljZVdvcmtlckNsaWVu
dDo6U2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25P
YnNlcnZlcigmY29udGV4dCkKLSAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgICwg
bV90eXBlKHR5cGUpCisgICAgLCBtX2RhdGEoV1RGTW92ZShkYXRhKSkKIHsKKyAgICBBU1NFUlQo
bV9kYXRhLmlkZW50aWZpZXIuc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIpOworICAgIEFTU0VS
VChtX2RhdGEuaWRlbnRpZmllci5zY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CiB9
CiAKIFNlcnZpY2VXb3JrZXJDbGllbnQ6On5TZXJ2aWNlV29ya2VyQ2xpZW50KCkKIHsKIH0KIAot
U3RyaW5nIFNlcnZpY2VXb3JrZXJDbGllbnQ6OnVybCgpIGNvbnN0Citjb25zdCBVUkwmIFNlcnZp
Y2VXb3JrZXJDbGllbnQ6OnVybCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHsgfTsKKyAgICByZXR1
cm4gbV9kYXRhLnVybDsKK30KKworYXV0byBTZXJ2aWNlV29ya2VyQ2xpZW50Ojp0eXBlKCkgY29u
c3QgLT4gVHlwZQoreworICAgIHJldHVybiBtX2RhdGEudHlwZTsKIH0KIAogYXV0byBTZXJ2aWNl
V29ya2VyQ2xpZW50OjpmcmFtZVR5cGUoKSBjb25zdCAtPiBGcmFtZVR5cGUKIHsKLSAgICByZXR1
cm4gRnJhbWVUeXBlOjpOb25lOworICAgIHJldHVybiBtX2RhdGEuZnJhbWVUeXBlOwogfQogCiBT
dHJpbmcgU2VydmljZVdvcmtlckNsaWVudDo6aWQoKSBjb25zdAogewotICAgIHJldHVybiBtX2lk
ZW50aWZpZXIudG9TdHJpbmcoKTsKKyAgICByZXR1cm4gbV9kYXRhLmlkZW50aWZpZXIudG9TdHJp
bmcoKTsKIH0KIAogRXhjZXB0aW9uT3I8dm9pZD4gU2VydmljZVdvcmtlckNsaWVudDo6cG9zdE1l
c3NhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpKU1ZhbHVlIG1lc3Nh
Z2VWYWx1ZSwgVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiYmIHRyYW5zZmVyKQpA
QCAtODQsNyArOTAsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBTZXJ2aWNlV29ya2VyQ2xpZW50Ojpw
b3N0TWVzc2FnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZQogICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUGFzc2luZyBNZXNz
YWdlUG9ydCBvYmplY3RzIHRvIHBvc3RNZXNzYWdlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfTsK
IAogICAgIGF1dG8gc291cmNlSWRlbnRpZmllciA9IGRvd25jYXN0PFNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZT4oY29udGV4dCkudGhyZWFkKCkuaWRlbnRpZmllcigpOwotICAgIGNhbGxPbk1haW5U
aHJlYWQoW21lc3NhZ2UgPSBtZXNzYWdlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBkZXN0aW5hdGlv
bklkZW50aWZpZXIgPSBtX2lkZW50aWZpZXIsIHNvdXJjZUlkZW50aWZpZXIsIHNvdXJjZU9yaWdp
biA9IGNvbnRleHQub3JpZ2luKCkuaXNvbGF0ZWRDb3B5KCldICgpIG11dGFibGUgeworICAgIGNh
bGxPbk1haW5UaHJlYWQoW21lc3NhZ2UgPSBtZXNzYWdlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBk
ZXN0aW5hdGlvbklkZW50aWZpZXIgPSBtX2RhdGEuaWRlbnRpZmllciwgc291cmNlSWRlbnRpZmll
ciwgc291cmNlT3JpZ2luID0gY29udGV4dC5vcmlnaW4oKS5pc29sYXRlZENvcHkoKV0gKCkgbXV0
YWJsZSB7CiAgICAgICAgIGlmIChhdXRvKiBjb25uZWN0aW9uID0gU1dDb250ZXh0TWFuYWdlcjo6
c2luZ2xldG9uKCkuY29ubmVjdGlvbigpKQogICAgICAgICAgICAgY29ubmVjdGlvbi0+cG9zdE1l
c3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoZGVzdGluYXRpb25JZGVudGlmaWVyLCBXVEZNb3Zl
KG1lc3NhZ2UpLCBzb3VyY2VJZGVudGlmaWVyLCBzb3VyY2VPcmlnaW4pOwogICAgIH0pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50
LmgKaW5kZXggNTM4YzBiMmY2Y2IzODYwODZhNzgxMGE5YTk0NDAzNDk3YmE2MmE3My4uY2VjMzc1
ZDk1MWZjNWI0ZTkyODhkZGNjNTU5ODM5ZDI2NWY2ZjgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5oCkBAIC0yOSw4ICsy
OSw3IEBACiAKICNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1
ZGUgIkV4Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiU2VydmljZVdvcmtlckNsaWVudElkZW50aWZp
ZXIuaCIKLSNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZS5oIgorI2luY2x1ZGUgIlNl
cnZpY2VXb3JrZXJDbGllbnREYXRhLmgiCiAjaW5jbHVkZSA8aGVhcC9TdHJvbmcuaD4KICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC00NSwzMiArNDQsMjYgQEAgcHVibGljOgogICAg
IHVzaW5nIElkZW50aWZpZXIgPSBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsKIAogICAg
IHVzaW5nIFR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTsKLSAgICBlbnVtIGNsYXNzIEZy
YW1lVHlwZSB7Ci0gICAgICAgIEF1eGlsaWFyeSwKLSAgICAgICAgVG9wTGV2ZWwsCi0gICAgICAg
IE5lc3RlZCwKLSAgICAgICAgTm9uZQotICAgIH07CisgICAgdXNpbmcgRnJhbWVUeXBlID0gU2Vy
dmljZVdvcmtlckNsaWVudEZyYW1lVHlwZTsKIAotICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtl
ckNsaWVudD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IElk
ZW50aWZpZXImIGlkZW50aWZpZXIsIFR5cGUgdHlwZSkKKyAgICBzdGF0aWMgUmVmPFNlcnZpY2VX
b3JrZXJDbGllbnQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnRleHQsIGlkZW50aWZpZXIsIHR5cGUpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtlckNsaWVudChjb250ZXh0
LCBXVEZNb3ZlKGRhdGEpKSk7CiAgICAgfQogCiAgICAgflNlcnZpY2VXb3JrZXJDbGllbnQoKTsK
IAotICAgIFN0cmluZyB1cmwoKSBjb25zdDsKKyAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0Owog
ICAgIEZyYW1lVHlwZSBmcmFtZVR5cGUoKSBjb25zdDsKLSAgICBUeXBlIHR5cGUoKSBjb25zdCB7
IHJldHVybiBtX3R5cGU7IH0KKyAgICBUeXBlIHR5cGUoKSBjb25zdDsKICAgICBTdHJpbmcgaWQo
KSBjb25zdDsKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBKU0M6OkpTVmFsdWUgbWVzc2FnZSwgVmVjdG9yPEpTQzo6U3Ryb25nPEpT
Qzo6SlNPYmplY3Q+PiYmIHRyYW5zZmVyKTsKIAogcHJvdGVjdGVkOgotICAgIFNlcnZpY2VXb3Jr
ZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IElkZW50aWZpZXImLCBUeXBl
KTsKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YSYmKTsKIAotICAgIElkZW50aWZpZXIgbV9pZGVudGlmaWVyOwot
ICAgIFR5cGUgbV90eXBlOworICAgIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIG1fZGF0YTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVjOTlkNzkxNzlmOGViZjgxOWZjZDhkOGFkMzI2Y2VmYzg2MWRjMzYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERh
dGEuY3BwCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisjaW5jbHVkZSAiU2VydmljZVdvcmtlckNs
aWVudERhdGEuaCIKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3VtZW50
LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMg
U2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZSB0b1NlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5
cGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBpZiAoIWlzPERvY3Vt
ZW50Pihjb250ZXh0KSkKKyAgICAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5
cGU6Ok5vbmU7CisKKyAgICBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250
ZXh0KTsKKyAgICBhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCk7CisgICAgaWYgKCFmcmFt
ZSkKKyAgICAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmU7CisK
KyAgICBpZiAoZnJhbWUtPmlzTWFpbkZyYW1lKCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIHdpbmRv
dyA9IGRvY3VtZW50LmRvbVdpbmRvdygpKSB7CisgICAgICAgICAgICBpZiAod2luZG93LT5vcGVu
ZXIoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlw
ZTo6QXV4aWxpYXJ5OworICAgICAgICB9CisgICAgICAgIHJldHVybiBTZXJ2aWNlV29ya2VyQ2xp
ZW50RnJhbWVUeXBlOjpUb3BMZXZlbDsKKyAgICB9CisgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJD
bGllbnRGcmFtZVR5cGU6Ok5lc3RlZDsKK30KKworU2VydmljZVdvcmtlckNsaWVudERhdGEgU2Vy
dmljZVdvcmtlckNsaWVudERhdGE6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IHsgaWRlbnRpZmllciwgdHlwZSwgZnJhbWVUeXBlLCB1cmwuaXNvbGF0ZWRDb3B5KCkgfTsKK30K
KworU2VydmljZVdvcmtlckNsaWVudERhdGEgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBib29sIGlzRG9jdW1lbnQg
PSBpczxEb2N1bWVudD4oY29udGV4dCk7CisKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGlzRG9j
dW1lbnQsICJPbmx5IGRvY3VtZW50cyBoYXZlIGlkZW50aWZpZXJzIGF0IHRoZSBtb21lbnQiKTsK
KworICAgIHJldHVybiB7CisgICAgICAgIHsgMCwgZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQp
LmlkZW50aWZpZXIoKSB9LAorICAgICAgICBpc0RvY3VtZW50ID8gU2VydmljZVdvcmtlckNsaWVu
dFR5cGU6OldpbmRvdyA6IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXb3JrZXIsCisgICAgICAg
IHRvU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZShjb250ZXh0KSwKKyAgICAgICAgY29udGV4
dC51cmwoKQorICAgIH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODUxODY3
YzYwZTljMjJkODEzZDFiNWM3NzY4OTMwMzM4ZjRmMDAwYQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oCkBA
IC0wLDAgKzEsODcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKKworI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVy
LmgiCisjaW5jbHVkZSAiU2VydmljZVdvcmtlckNsaWVudFR5cGUuaCIKKyNpbmNsdWRlICJTZXJ2
aWNlV29ya2VyVHlwZXMuaCIKKyNpbmNsdWRlICJVUkwuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworCitzdHJ1Y3QgU2VydmljZVdvcmtl
ckNsaWVudERhdGEgeworICAgIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGlkZW50aWZp
ZXI7CisgICAgU2VydmljZVdvcmtlckNsaWVudFR5cGUgdHlwZTsKKyAgICBTZXJ2aWNlV29ya2Vy
Q2xpZW50RnJhbWVUeXBlIGZyYW1lVHlwZTsKKyAgICBVUkwgdXJsOworCisgICAgU2VydmljZVdv
cmtlckNsaWVudERhdGEgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKKyAgICBzdGF0aWMgU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEgZnJvbShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisKKyAgICB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAg
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtl
ckNsaWVudERhdGE+IGRlY29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPgordm9pZCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBpZGVudGlmaWVyIDw8IHR5cGUgPDwgZnJhbWVU
eXBlIDw8IHVybDsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0aW9uYWw8
U2VydmljZVdvcmtlckNsaWVudERhdGE+IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpkZWNvZGUo
RGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDbGll
bnRJZGVudGlmaWVyPiBpZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gaWRlbnRpZmllcjsKKyAg
ICBpZiAoIWlkZW50aWZpZXIpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBz
dGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlPiB0eXBlOworICAgIGRlY29kZXIg
Pj4gdHlwZTsKKyAgICBpZiAoIXR5cGUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
KyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU+IGZyYW1lVHlw
ZTsKKyAgICBkZWNvZGVyID4+IGZyYW1lVHlwZTsKKyAgICBpZiAoIWZyYW1lVHlwZSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8VVJMPiB1cmw7Cisg
ICAgZGVjb2RlciA+PiB1cmw7CisgICAgaWYgKCF1cmwpCisgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CisKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmlkZW50aWZpZXIpLCBXVEZNb3ZlKCp0
eXBlKSwgV1RGTW92ZSgqZnJhbWVUeXBlKSwgV1RGTW92ZSgqdXJsKSB9IH07Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xp
ZW50SWRlbnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyLmgKaW5kZXggMTQ2NDg1MjhlMTc4OWZlZWZmMGU5ZGIwMDk5
ZTcxMmQ3MzgwNWI3YS4uYTE1MmJlMTc0YTg5OGM1NDVhM2NmMjA4YWQxMmU4NDcxOWMzOGVlNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnRJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmgKQEAgLTM0LDYgKzM0LDMxIEBAIHN0cnVjdCBT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciB7CiAgICAgdWludDY0X3Qgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXI7CiAKICAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdCB7IHJl
dHVybiBTdHJpbmc6Om51bWJlcihzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcikgKyAiLSIgKyAg
U3RyaW5nOjpudW1iZXIoc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOyB9CisKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Cisg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdv
cmtlckNsaWVudElkZW50aWZpZXI+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPgordm9pZCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBzZXJ2ZXJDb25uZWN0
aW9uSWRlbnRpZmllciA8PCBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjsKK30KKwor
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXI+IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBzZXJ2ZXJDb25uZWN0
aW9uSWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVy
OworICAgIGlmICghc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIpCisgICAgICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyOworICAgIGlmICghc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIp
CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4geyB7IFdURk1vdmUo
KnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKSwgV1RGTW92ZSgqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXIpIH0gfTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRUeXBlLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUuaAppbmRleCA0MDY5YWE1
OWQwYmU5ODhhNTczYzA4MWZkMzE5NmU3ODAzOGMxZmExLi5hYWU5Y2YwNWIxN2IwMzhlYjBhZTQ2
NjY2YzM2YTQ3YWQxMGNmMGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFR5cGUuaApAQCAtMjcsNiArMjcsOCBAQAog
CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMu
aD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJDbGll
bnRUeXBlIHsKQEAgLTM2LDYgKzM4LDIwIEBAIGVudW0gY2xhc3MgU2VydmljZVdvcmtlckNsaWVu
dFR5cGUgewogICAgIEFsbAogfTsKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1l
c3BhY2UgV1RGIHsKKwordGVtcGxhdGUgPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNsaWVudFR5cGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAor
ICAgICAgICBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZSwKKyAgICAgICAgV2ViQ29y
ZTo6U2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdywKKyAgICAgICAgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlciwKKyAgICAgICAgV2ViQ29yZTo6U2VydmljZVdv
cmtlckNsaWVudFR5cGU6OlNoYXJlZHdvcmtlciwKKyAgICAgICAgV2ViQ29yZTo6U2VydmljZVdv
cmtlckNsaWVudFR5cGU6OkFsbAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oCmluZGV4IGU4MDYzMGFkZDY5MjFmMTMz
YmU5Nzc2M2ZiMjk4NTRlMzc3MDk2M2IuLjM2NjkzNjlmOWEwZDEyNGQ2NTRhMTIwYmQ1MDZhM2Qz
ZTViYmFlODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oCkBAIC0zMSw2ICszMSw3IEBA
CiAjaW5jbHVkZSAiU2VydmljZVdvcmtlcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclR5cGVzLmgi
CisjaW5jbHVkZSAiU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJUeXBlcy5oCmluZGV4IGM3MGFlMDhhYTQ1N2JmMzQwMGQxOTE2NmZlOGUyNzhiNWIx
MzNhZGMuLmIzMjNiODllNjdlY2E0OTdiMDdmN2Y3MGFmOGFhZWMxN2MzZGMxNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyVHlwZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclR5cGVzLmgK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAorI2luY2x1
ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+CiAjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDUsNiArNDYsMTMgQEAgZW51bSBjbGFzcyBTZXJ2
aWNlV29ya2VyU3RhdGUgewogICAgIFJlZHVuZGFudCwKIH07CiAKK2VudW0gY2xhc3MgU2Vydmlj
ZVdvcmtlckNsaWVudEZyYW1lVHlwZSB7CisgICAgQXV4aWxpYXJ5LAorICAgIFRvcExldmVsLAor
ICAgIE5lc3RlZCwKKyAgICBOb25lCit9OworCiBlbnVtIGNsYXNzIFNob3VsZE5vdGlmeVdoZW5S
ZXNvbHZlZCB7IE5vLCBZZXMgfTsKIAogZW51bSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllclR5cGUgeyB9OwpAQCAtNTUsNCArNjMsNDYgQEAgdXNpbmcgU1dTZXJ2ZXJUb0NvbnRl
eHRDb25uZWN0aW9uSWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8U1dTZXJ2ZXJUb0NvbnRl
eHQKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxh
dGUgPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudEZyYW1l
VHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGUsCisgICAgICAgIFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJDbGllbnRGcmFtZVR5cGU6OkF1eGlsaWFyeSwKKyAgICAgICAgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6VG9wTGV2ZWwsCisgICAgICAgIFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDbGllbnRGcmFtZVR5cGU6Ok5lc3RlZCwKKyAgICAgICAgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlckNsaWVudEZyYW1lVHlwZTo6Tm9uZQorICAgID47Cit9OworCit0ZW1wbGF0ZSA8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGU+
IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUsCisgICAgICAgIFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25TdGF0ZTo6SW5zdGFsbGluZywKKyAgICAgICAgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlOjpXYWl0aW5nLAorICAgICAgICBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGU6OkFjdGl2ZQorICAgID47Cit9OworCit0ZW1wbGF0
ZSA8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGU+IHsKKyAg
ICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyU3RhdGUsCisgICAgICAgIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJTdGF0ZTo6SW5zdGFsbGlu
ZywKKyAgICAgICAgV2ViQ29yZTo6U2VydmljZVdvcmtlclN0YXRlOjpJbnN0YWxsZWQsCisgICAg
ICAgIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJTdGF0ZTo6QWN0aXZhdGluZywKKyAgICAgICAgV2Vi
Q29yZTo6U2VydmljZVdvcmtlclN0YXRlOjpBY3RpdmF0ZWQsCisgICAgICAgIFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJTdGF0ZTo6UmVkdW5kYW50CisgICAgPjsKK307CisKK3RlbXBsYXRlIDw+IHN0
cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZD4geworICAg
IHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlNob3VsZE5vdGlm
eVdoZW5SZXNvbHZlZCwKKyAgICAgICAgV2ViQ29yZTo6U2hvdWxkTm90aWZ5V2hlblJlc29sdmVk
OjpObywKKyAgICAgICAgV2ViQ29yZTo6U2hvdWxkTm90aWZ5V2hlblJlc29sdmVkOjpZZXMKKyAg
ICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKICNlbmRpZiAvLyBFTkFCTEUoU0VSVklD
RV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmgKaW5kZXggYTAzMjFhYjI0ZWM5ZjllZTZi
NTExNDBlZTViNGNhMGY2NzVhM2I5MC4uMjNiMmRjNzgwNmRhOTA4NzU3OWE5NmI1ZWZhM2Y1MjY1
MGMwYWI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaApAQCAtMjcsNiArMjcsOCBAQAogCiAj
aWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4K
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVW
aWFDYWNoZSB7CkBAIC0zNyw0ICszOSwxNyBAQCBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRh
dGVWaWFDYWNoZSB7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorbmFtZXNwYWNlIFdURiB7
CisKK3RlbXBsYXRlIDw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJV
cGRhdGVWaWFDYWNoZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAg
IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSwKKyAgICAgICAgV2ViQ29yZTo6
U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlOjpJbXBvcnRzLAorICAgICAgICBXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGU6OkFsbCwKKyAgICAgICAgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclVwZGF0ZVZpYUNhY2hlOjpOb25lCisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdURgorCiAjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGll
bnQuY3BwCmluZGV4IGU3MTQ0M2IwMDJlMjFiMDJlM2VlOGMwM2FiNGViYjBmZWY0MWI0MGQuLmFi
M2M3NWI4NTEzMTZkOWQzZWVmOTI4OTI5NmRhNzljMTkzYTIwMmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0Ns
aWVudC5jcHAKQEAgLTMyLDggKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TZXJ2
aWNlV29ya2VyV2luZG93Q2xpZW50OjpTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCi0g
ICAgOiBTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnRleHQsIGlkZW50aWZpZXIsIFR5cGU6OldpbmRv
dykKK1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ6OlNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2VydmljZVdvcmtlckNsaWVudERhdGEm
JiBkYXRhKQorICAgIDogU2VydmljZVdvcmtlckNsaWVudChjb250ZXh0LCBXVEZNb3ZlKGRhdGEp
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlcldpbmRvd0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaAppbmRleCAzZTJmMzk1NmE3ZDgyZDdmYzRhYjAy
YjE2ODg1ZWJkMTJiZjZhNjVkLi41NTVlZTc5YzMwMTlhYTAxNDhiYmMyN2M0NjAxMWRjYWJlOWRj
OGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlcldpbmRvd0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmgKQEAgLTM2LDkgKzM2LDkgQEAgY2xhc3MgRGVmZXJy
ZWRQcm9taXNlOwogCiBjbGFzcyBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50IGZpbmFsIDogcHVi
bGljIFNlcnZpY2VXb3JrZXJDbGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U2Vydmlj
ZVdvcmtlcldpbmRvd0NsaWVudD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCisgICAgc3RhdGljIFJlZjxTZXJ2aWNl
V29ya2VyV2luZG93Q2xpZW50PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtlcldpbmRvd0NsaWVudChjb250ZXh0LCBpZGVudGlm
aWVyKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJXaW5kb3dD
bGllbnQoY29udGV4dCwgV1RGTW92ZShkYXRhKSkpOwogICAgIH0KIAogICAgIFZpc2liaWxpdHlT
dGF0ZSB2aXNpYmlsaXR5U3RhdGUoKSBjb25zdDsKQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgbmF2aWdhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFJlZjxEZWZlcnJlZFByb21pc2U+
JiYpOwogCiBwcml2YXRlOgotICAgIFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYsIGNvbnN0IElkZW50aWZpZXImKTsKKyAgICBTZXJ2aWNlV29ya2VyV2lu
ZG93Q2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YSYmKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5jcHAK
aW5kZXggYTg4OTYwN2NkNmIwMjNhM2M1MjJlYWM3MDdlMGY2YzJlZjJjNWNhZC4uYjNjY2I2M2Mw
ZTk2MmUwZmZjYjM4NjE5YmU4N2MxYjgyZDk0YTRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5jcHAK
QEAgLTY0LDE0ICs2NCwxNCBAQCBTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkqIFNXQ29udGV4dE1h
bmFnZXI6OnNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eShTZXJ2aWNlV29yawogICAgIHJldHVybiBt
X3dvcmtlck1hcC5nZXQoaWRlbnRpZmllcik7CiB9CiAKLXZvaWQgU1dDb250ZXh0TWFuYWdlcjo6
cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciBkZXN0aW5hdGlvbiwgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBj
b25zdCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYgc291cmNlSWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pCit2b2lkIFNXQ29udGV4dE1hbmFnZXI6OnBvc3RNZXNz
YWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVz
dGluYXRpb24sIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgU2VydmljZVdv
cmtlckNsaWVudERhdGEmJiBzb3VyY2UpCiB7CiAgICAgYXV0byogc2VydmljZVdvcmtlciA9IG1f
d29ya2VyTWFwLmdldChkZXN0aW5hdGlvbik7CiAgICAgaWYgKCFzZXJ2aWNlV29ya2VyKQogICAg
ICAgICByZXR1cm47CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHBhc3MgdmFsaWQgTWVzc2Fn
ZVBvcnRDaGFubmVscy4KLSAgICBzZXJ2aWNlV29ya2VyLT50aHJlYWQoKS5wb3N0TWVzc2FnZVRv
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFdURk1vdmUobWVzc2FnZSksIG51bGxwdHIsIHNvdXJj
ZUlkZW50aWZpZXIsIHNvdXJjZU9yaWdpbik7CisgICAgc2VydmljZVdvcmtlci0+dGhyZWFkKCku
cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShXVEZNb3ZlKG1lc3NhZ2UpLCBu
dWxscHRyLCBXVEZNb3ZlKHNvdXJjZSkpOwogfQogCiB2b2lkIFNXQ29udGV4dE1hbmFnZXI6OmZp
cmVJbnN0YWxsRXZlbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1h
bmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NXQ29udGV4
dE1hbmFnZXIuaAppbmRleCBmNjFmMmZjOWJkMDU0MTU3ZWU0MWJkYTg4NzBlODQyNDcwNDJhYjhl
Li42ZjI5MWRjYzg1OTEwZjk5Yjk1NWFjM2VjNmZlN2RmZTZkODk0OWI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFu
YWdlci5oCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyVGhyZWFkRm9ySW5zdGFsbChSZWY8U2VydmljZVdvcmtl
clRocmVhZFByb3h5PiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBTZXJ2aWNlV29ya2VyVGhyZWFk
UHJveHkqIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eShTZXJ2aWNlV29ya2VySWRlbnRpZmllcikg
Y29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uLCBSZWY8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRJ
ZGVudGlmaWVyJiBzb3VyY2VJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbik7
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uLCBSZWY8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNl
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZpcmVJbnN0YWxsRXZlbnQoU2VydmljZVdvcmtl
cklkZW50aWZpZXIpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmlyZUFjdGl2YXRlRXZlbnQo
U2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmlu
ZGV4IDIzYzZiYjZmOGVjZjJjODJlZDg1ZTkxNWRmNGE5ODU3MTI3Nzc5YzcuLjFiZWFlOWZhYjE0
ODE2MmM2M2VhNzcyODlmM2Q1YzlmMGZmNGE1MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQu
Y3BwCkBAIC0xMDQsMTMgKzEwNCwxNCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnBvc3RG
ZXRjaFRhc2soUmVmPFNlcnZpY2VXb3JrZXJGZXRjaDo6Q2xpZW50PiYmIGNsaWVudAogICAgIH0s
IFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOwogfQogCi12b2lkIFNlcnZpY2VXb3JrZXJU
aHJlYWQ6OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoUmVmPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZVBvcnRDaGFu
bmVsQXJyYXk+JiYgY2hhbm5lbHMsIGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVy
JiBzb3VyY2VJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbikKK3ZvaWQgU2Vy
dmljZVdvcmtlclRocmVhZDo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShS
ZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIHN0ZDo6dW5pcXVlX3B0cjxNZXNz
YWdlUG9ydENoYW5uZWxBcnJheT4mJiBjaGFubmVscywgU2VydmljZVdvcmtlckNsaWVudERhdGEm
JiBzb3VyY2UpCiB7Ci0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB0YXNrKFt0aGlz
LCBjaGFubmVscyA9IFdURk1vdmUoY2hhbm5lbHMpLCBtZXNzYWdlID0gV1RGTW92ZShtZXNzYWdl
KSwgc291cmNlSWRlbnRpZmllciwgc291cmNlT3JpZ2luID0gc291cmNlT3JpZ2luLmlzb2xhdGVk
Q29weSgpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJsZSB7CisgICAg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB0YXNrKFt0aGlzLCBjaGFubmVscyA9IFdURk1v
dmUoY2hhbm5lbHMpLCBtZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlRGF0YSA9IHNv
dXJjZS5pc29sYXRlZENvcHkoKV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIG11
dGFibGUgewogICAgICAgICBhdXRvJiBzZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgPSBkb3duY2Fz
dDxTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpOwogICAgICAgICBhdXRvIHBvcnRz
ID0gTWVzc2FnZVBvcnQ6OmVudGFuZ2xlUG9ydHMoc2VydmljZVdvcmtlckdsb2JhbFNjb3BlLCBX
VEZNb3ZlKGNoYW5uZWxzKSk7Ci0gICAgICAgIEV4dGVuZGFibGVNZXNzYWdlRXZlbnRTb3VyY2Ug
c291cmNlID0gUmVmUHRyPFNlcnZpY2VXb3JrZXJDbGllbnQ+IHsgU2VydmljZVdvcmtlcldpbmRv
d0NsaWVudDo6Y3JlYXRlKGNvbnRleHQsIHNvdXJjZUlkZW50aWZpZXIpIH07Ci0gICAgICAgIGF1
dG8gbWVzc2FnZUV2ZW50ID0gRXh0ZW5kYWJsZU1lc3NhZ2VFdmVudDo6Y3JlYXRlKFdURk1vdmUo
cG9ydHMpLCBXVEZNb3ZlKG1lc3NhZ2UpLCBzb3VyY2VPcmlnaW4sIHsgfSwgV1RGTW92ZShzb3Vy
Y2UpKTsKKyAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJDbGllbnQ+IHNvdXJjZSA9IFNlcnZp
Y2VXb3JrZXJXaW5kb3dDbGllbnQ6OmNyZWF0ZShjb250ZXh0LCBXVEZNb3ZlKHNvdXJjZURhdGEp
KTsKKyAgICAgICAgYXV0byBzb3VyY2VPcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHNv
dXJjZS0+dXJsKCkpOworICAgICAgICBhdXRvIG1lc3NhZ2VFdmVudCA9IEV4dGVuZGFibGVNZXNz
YWdlRXZlbnQ6OmNyZWF0ZShXVEZNb3ZlKHBvcnRzKSwgV1RGTW92ZShtZXNzYWdlKSwgc291cmNl
T3JpZ2luLT50b1N0cmluZygpLCB7IH0sIEV4dGVuZGFibGVNZXNzYWdlRXZlbnRTb3VyY2UgeyBz
b3VyY2UgfSk7CiAgICAgICAgIHNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5kaXNwYXRjaEV2ZW50
KG1lc3NhZ2VFdmVudCk7CiAgICAgICAgIHNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS50aHJlYWQo
KS53b3JrZXJPYmplY3RQcm94eSgpLmNvbmZpcm1NZXNzYWdlRnJvbVdvcmtlck9iamVjdChzZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUuaGFzUGVuZGluZ0FjdGl2aXR5KCkpOwogICAgICAgICB1cGRh
dGVFeHRlbmRlZEV2ZW50c1NldChtZXNzYWdlRXZlbnQucHRyKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRo
cmVhZC5oCmluZGV4IDg0YThlM2I0NzYzMmNiODUwMjJiYmZiNjAwNDRhYzU1MWFhZGVmMzUuLjZh
MTA4MDY0ZDkwODc2MzAwNjZkMDE1YWZhOTI4NTAwNTI0YjU1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
VGhyZWFkLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgRXh0ZW5kYWJsZUV2ZW50OwogY2xhc3Mg
TWVzc2FnZVBvcnRDaGFubmVsOwogY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogY2xhc3Mg
V29ya2VyT2JqZWN0UHJveHk7CitzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudERhdGE7CiBzdHJ1
Y3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNv
bnRleHREYXRhOwogCkBAIC01Niw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICBXb3JrZXJPYmplY3RQ
cm94eSYgd29ya2VyT2JqZWN0UHJveHkoKSBjb25zdCB7IHJldHVybiBtX3dvcmtlck9iamVjdFBy
b3h5OyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RGZXRjaFRhc2soUmVmPFNlcnZp
Y2VXb3JrZXJGZXRjaDo6Q2xpZW50PiYmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25z
JiYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZShSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8
TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+JiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyJiBzb3VyY2VJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbik7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlKFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdl
UG9ydENoYW5uZWxBcnJheT4mJiwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpOwog
ICAgIHZvaWQgZmlyZUluc3RhbGxFdmVudCgpOwogICAgIHZvaWQgZmlyZUFjdGl2YXRlRXZlbnQo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggOGY3NzQ1ZWQ1NzQxZTEyOWQxMDc4YWNkMWUw
MTdiMTIyYTRlZjZlZS4uY2IwM2QwMTI1ZDA5ZmMxN2RjZTEyYzJjN2QwYWM0ZDNmM2Q1M2ZjYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVu
dENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC00NCw2ICs0NCw3IEBAIGVudW0gY2xhc3MgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlOwogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyU3RhdGU7
CiBlbnVtIGNsYXNzIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZDsKIHN0cnVjdCBFeGNlcHRpb25E
YXRhOworc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOwogc3RydWN0IFNlcnZpY2VXb3Jr
ZXJEYXRhOwogc3RydWN0IFNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdDsKIHN0cnVjdCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKQEAgLTY3LDcgKzY4LDcgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCB2b2lkIGRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKGNvbnN0IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25LZXkmKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3Nh
Z2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0
aW5hdGlvbklkZW50aWZpZXIsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIHNvdXJjZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2Fn
ZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3Rp
bmF0aW9uSWRlbnRpZmllciwgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgU2VydmljZVdv
cmtlckNsaWVudERhdGEmJiBzb3VyY2UpID0gMDsKICAgICB2aXJ0dWFsIHVpbnQ2NF90IGlkZW50
aWZpZXIoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIG1heUhhdmVTZXJ2aWNlV29ya2Vy
UmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbiYpIGNvbnN0ID0gMDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXgg
MzllMGY4OTVkYmU0NTFlOWFlZjE5MTZjMGQ3OTZhNDI2NGRiOGU1Yi4uNGFmZTdlN2UyMWMyMGZl
MDEyZWU0ZGQ3ZTAzZjk2NjdjOTBmZTM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC02NSw3ICs2NSw2IEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9TY3JvbGxpbmdDb25zdHJhaW50cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlYXJjaFBvcHVwTWVudS5oPgotI2lu
Y2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1RleHRDaGVja2VyQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0SW5k
aWNhdG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UaW1pbmdGdW5jdGlvbi5oPgpAQCAtMTkwMiwy
NyArMTkwMSw2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxUZXh0Q2hlY2tpbmdSZXF1ZXN0RGF0YT46
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBUZXh0Q2hlY2tpCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLSNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi12b2lkIEFyZ3VtZW50Q29kZXI8U2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXI+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIGlkZW50aWZpZXIpCi17Ci0gICAgZW5jb2Rl
ciA8PCBpZGVudGlmaWVyLnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIDw8IGlkZW50aWZpZXIu
c2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI7Ci19Ci0KLWJvb2wgQXJndW1lbnRDb2Rl
cjxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVy
LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYgaWRlbnRpZmllcikKLXsKLSAgICB1aW50
NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcjsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgdWludDY0X3Qgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI7Ci0gICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcikpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIGlkZW50aWZpZXIgPSB7IHNlcnZlckNvbm5lY3Rpb25JZGVu
dGlmaWVyLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciB9OwotICAgIHJldHVybiB0
cnVlOwotfQotI2VuZGlmCi0KIHZvaWQgQXJndW1lbnRDb2RlcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+
OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgVGV4dENoZWNraW5nUmVzdWx0JiByZXN1
bHQpCiB7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKHJlc3VsdC50eXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggZTk5Y2I2ZGQ4MWZhNjM5
YzZhY2FkNjI1YTNkZDJlOWZmZDBlN2MyYi4uYTFlN2EzOTcyYjI3ZjA1MWU2ZjE5ODQ1ZGZhYTE0
NDQ3ZDg1NzdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgKQEAgLTM5LDggKzM5LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BheW1lbnRIZWFkZXJz
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1NlcnZp
Y2VXb3JrZXJUeXBlcy5oPgotI2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlclVwZGF0ZVZp
YUNhY2hlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TdG9yZWRDcmVkZW50aWFsc1BvbGljeS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvV29ya2VyVHlwZS5oPgogCkBAIC0xNTksMTAgKzE1Nyw2IEBAIHN0
cnVjdCBNZWRpYUNvbnN0cmFpbnRzOwogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogdXNp
bmcgSURCS2V5UGF0aCA9IFZhcmlhbnQ8U3RyaW5nLCBWZWN0b3I8U3RyaW5nPj47CiAjZW5kaWYK
LQotI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLXN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllcjsKLSNlbmRpZgogfQogCiBuYW1lc3BhY2UgSVBDIHsKQEAgLTQ4MywxMyArNDc3
LDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUZXh0Q2hlY2tp
bmdSZXF1ZXN0RGF0YT4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV2ViQ29y
ZTo6VGV4dENoZWNraW5nUmVxdWVzdERhdGEmKTsKIH07CiAKLSNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXIm
LCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYpOwotICAgIHN0
YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElk
ZW50aWZpZXImKTsKLX07Ci0jZW5kaWYKLQogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2Rl
cjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUo
RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3VsdCYpOwogICAgIHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3VsdD4gZGVjb2RlKERlY29k
ZXImKTsKQEAgLTgwNiw0MyArNzkzLDQgQEAgdGVtcGxhdGUgPD4gc3RydWN0IEVudW1UcmFpdHM8
V2ViQ29yZTo6V29ya2VyVHlwZT4gewogICAgID47CiB9OwogCi0jaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQotdGVtcGxhdGUgPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlPiB7Ci0gICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKLSAg
ICAgICAgV2ViQ29yZTo6U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLAotICAgICAgICBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGU6OkltcG9ydHMsCi0gICAgICAgIFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZTo6QWxsLAotICAgICAgICBXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGU6Ok5vbmUKLSAgICA+OwotfTsKLQotdGVtcGxhdGUg
PD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0
YXRlPiB7Ci0gICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKLSAgICAgICAgV2ViQ29yZTo6
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLAotICAgICAgICBXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uU3RhdGU6Okluc3RhbGxpbmcsCi0gICAgICAgIFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZTo6V2FpdGluZywKLSAgICAgICAgV2ViQ29yZTo6
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlOjpBY3RpdmUKLSAgICA+OwotfTsKLSAgICAK
LXRlbXBsYXRlIDw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJTdGF0
ZT4gewotICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Ci0gICAgICAgIFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJTdGF0ZSwKLSAgICAgICAgV2ViQ29yZTo6U2VydmljZVdvcmtlclN0YXRlOjpJ
bnN0YWxsaW5nLAotICAgICAgICBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGU6Okluc3RhbGxl
ZCwKLSAgICAgICAgV2ViQ29yZTo6U2VydmljZVdvcmtlclN0YXRlOjpBY3RpdmF0aW5nLAotICAg
ICAgICBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGU6OkFjdGl2YXRlZCwKLSAgICAgICAgV2Vi
Q29yZTo6U2VydmljZVdvcmtlclN0YXRlOjpSZWR1bmRhbnQKLSAgICA+OwotfTsKLQotdGVtcGxh
dGUgPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2hvdWxkTm90aWZ5V2hlblJlc29sdmVk
PiB7Ci0gICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKLSAgICAgICAgV2ViQ29yZTo6U2hv
dWxkTm90aWZ5V2hlblJlc29sdmVkLAotICAgICAgICBXZWJDb3JlOjpTaG91bGROb3RpZnlXaGVu
UmVzb2x2ZWQ6Ok5vLAotICAgICAgICBXZWJDb3JlOjpTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQ6
OlllcwotICAgID47Ci19OwotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVy
Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCAzODVhMTAyOTU1ZjdiNjY3YTI4ZGNk
YTU0OGU0OWY3NzE1ZDhjMDE4Li43OTYzMmNjZjFhOWZiMjFhY2JlMzUxOGUzMTRjNGYzMmVmMWE2
Y2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQ
cm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtNDUsNiAr
NDUsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1NXU2VydmVyUmVnaXN0cmF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0
eU9yaWdpbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlckNsaWVudERhdGEuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmg+CkBAIC0xMTEsMTAgKzExMiwxMCBAQCB2b2lkIFdl
YlNXU2VydmVyQ29ubmVjdGlvbjo6c3RhcnRGZXRjaCh1aW50NjRfdCBmZXRjaElkZW50aWZpZXIs
IHN0ZDo6b3B0aW9uYWw8UwogICAgIHNlbmRUb0NvbnRleHRQcm9jZXNzKE1lc3NhZ2VzOjpXZWJT
V0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6U3RhcnRGZXRjaChpZGVudGlmaWVyKCksIGZldGNo
SWRlbnRpZmllciwgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHJlcXVlc3QsIG9wdGlvbnMpKTsK
IH0KIAotdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25TZXJ2aWNl
V29ya2VySWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCB1aW50
NjRfdCBzb3VyY2VTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VPcmlnaW4pCit2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VU
b1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5h
dGlvblNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1l
c3NhZ2UsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNlKQogewotICAgIFNlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIgeyBpZGVudGlmaWVyKCksIHNv
dXJjZVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIH07Ci0gICAgc2VuZFRvQ29udGV4
dFByb2Nlc3MoTWVzc2FnZXM6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpQb3N0TWVz
c2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIHsgZGVzdGluYXRpb25TZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciwgbWVzc2FnZSwgc291cmNlSWRlbnRpZmllciwgc291cmNlT3JpZ2luIH0pOwor
ICAgIHNvdXJjZS5pZGVudGlmaWVyLnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyID0gaWRlbnRp
ZmllcigpOworICAgIHNlbmRUb0NvbnRleHRQcm9jZXNzKE1lc3NhZ2VzOjpXZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSB7
IGRlc3RpbmF0aW9uU2VydmljZVdvcmtlcklkZW50aWZpZXIsIG1lc3NhZ2UsIFdURk1vdmUoc291
cmNlKSB9KTsKIH0KIAogdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmRpZFJlY2VpdmVGZXRj
aFJlc3BvbnNlKHVpbnQ2NF90IGZldGNoSWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggZjg0
ZjM3NWJkOThkYzExODFhNTQzNTdmYmUxNTIwMjc5MTViZmVkNy4uYjVmNGI5NjdmMGVjODdhMTgw
ODM0MTU5MzJjMzk1ZGNlOTQ0ZDYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdl
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uaApAQCAtMzQsNiArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgRXhj
ZXB0aW9uRGF0YTsKK3N0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTsKIGNsYXNzIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25LZXk7CiB9CiAKQEAgLTcwLDcgKzcxLDcgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgc3RhcnRGZXRjaCh1aW50NjRfdCBmZXRjaElkZW50aWZpZXIsIHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+LCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMmKTsKIAotICAgIHZv
aWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2aWNl
V29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJl
ZmVyZW5jZSYgbWVzc2FnZSwgdWludDY0X3Qgc291cmNlU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlT3JpZ2luKTsKKyAgICB2b2lkIHBvc3RNZXNz
YWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50
aWZpZXIgZGVzdGluYXRpb25JZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1l
c3NhZ2UsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNlKTsKIAogICAg
IHZvaWQgbWF0Y2hSZWdpc3RyYXRpb24odWludDY0X3QgcmVnaXN0cmF0aW9uTWF0Y2hSZXF1ZXN0
SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4s
IGNvbnN0IFdlYkNvcmU6OlVSTCYgY2xpZW50VVJMKTsKICAgICB2b2lkIGdldFJlZ2lzdHJhdGlv
bnModWludDY0X3QgcmVnaXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlVSTCYg
Y2xpZW50VVJMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1l
c3NhZ2VzLmluCmluZGV4IGVjNDRjMDg3NDk3ZGFlYjg4YjliM2Q1NDk5Mjc1NjY0Y2YxODU2ZGQu
LjBhOGE0OGVlNTBiY2IyYzliMmZhMjVjZjFlNTY2YWIzYTBlZjExM2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMzAsNyArMzAs
NyBAQCBtZXNzYWdlcyAtPiBXZWJTV1NlcnZlckNvbm5lY3Rpb24gewogICAgIFJlbW92ZVNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5IGtleSwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIgaWRlbnRpZmllcikKIAogICAgIFN0YXJ0RmV0Y2godWludDY0X3QgaWRlbnRpZmllciwgc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtl
cklkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBzdHJ1Y3QgV2Vi
Q29yZTo6RmV0Y2hPcHRpb25zIG9wdGlvbnMpCi0gICAgUG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlv
blNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgbWVzc2FnZSwgdWlu
dDY0X3Qgc291cmNlU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFN0cmluZyBzb3Vy
Y2VPcmlnaW4pCisgICAgUG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShXZWJD
b3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvblNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgbWVzc2FnZSwgc3RydWN0IFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhIHNvdXJjZSkKIAogICAgIERpZFJlc29sdmVSZWdpc3RyYXRpb25Q
cm9taXNlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkga2V5KQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5l
Y3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRD
b25uZWN0aW9uLmNwcAppbmRleCBiMDgyODVhZjQyMTNhMTQzMGNhMDMwMmFiNWY0YTUzOWJiN2Y2
NzBhLi40M2M1NzY5YmY2NDBhYzMwMDljOTU1OWEzNzRlOTI5MzBjYjZjMzUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29u
bmVjdGlvbi5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJXZWJTV1NlcnZlckNvbm5l
Y3Rpb25NZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnQuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2Vy
dmljZVdvcmtlckNsaWVudERhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJG
ZXRjaFJlc3VsdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlckpvYkRhdGEuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmg+CkBAIC04
MCwxMyArODEsOSBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cmVtb3ZlU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpYwogICAgIHNlbmQoTWVzc2FnZXM6
OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklu
U2VydmVyKGtleSwgaWRlbnRpZmllcikpOwogfQogCi12b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlv
bjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2VySWRl
bnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
JiYgc2NyaXB0VmFsdWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNvdXJjZSkKK3ZvaWQgV2Vi
U1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgUmVmPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4mJiBzY3JpcHRWYWx1ZSwgU2VydmljZVdvcmtlckNsaWVudERhdGEm
JiBzb3VyY2UpCiB7Ci0gICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBwb3N0aW5nIG1lc3Nh
Z2VzIGZyb20gd29ya2Vycy4KLSAgICBpZiAoIWlzPERvY3VtZW50Pihzb3VyY2UpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlBv
c3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoZGVzdGluYXRpb25JZGVudGlmaWVy
LCBJUEM6OkRhdGFSZWZlcmVuY2UgeyBzY3JpcHRWYWx1ZS0+ZGF0YSgpIH0sIGRvd25jYXN0PERv
Y3VtZW50Pihzb3VyY2UpLmlkZW50aWZpZXIoKSwgc291cmNlLm9yaWdpbigpKSk7CisgICAgc2Vu
ZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpQb3N0TWVzc2FnZVRvU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlKGRlc3RpbmF0aW9uSWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNl
IHsgc2NyaXB0VmFsdWUtPmRhdGEoKSB9LCBXVEZNb3ZlKHNvdXJjZSkpKTsKIH0KIAogdm9pZCBX
ZWJTV0NsaWVudENvbm5lY3Rpb246OmRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKGNvbnN0
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXgg
NjAyMGYwNjE1ZDllNzRlM2Y5MDQyNmFkNzg5YTA5OGQ2NTkwMmUwYi4uYmJkMGVmZGE1YzUwZGYz
ZTlkNWZiNDJlMTQ2NjM1YmNhM2M3MzkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTY4LDcgKzY4
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoY29u
c3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYkRhdGEmKSBmaW5hbDsKICAgICB2b2lkIGZpbmlz
aEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckZldGNo
UmVzdWx0JikgZmluYWw7Ci0gICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRp
ZmllciwgUmVmPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgV2ViQ29yZTo6U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgc291cmNlKSBmaW5hbDsKKyAgICB2b2lkIHBvc3RNZXNzYWdl
VG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZp
ZXIgZGVzdGluYXRpb25JZGVudGlmaWVyLCBSZWY8V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiYmLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIHNvdXJjZSkgZmluYWw7
CiAKICAgICB2b2lkIG1hdGNoUmVnaXN0cmF0aW9uKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luJiB0b3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlVSTCYgY2xpZW50VVJMLCBSZWdpc3RyYXRp
b25DYWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIGRpZE1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2
NF90IG1hdGNoUmVxdWVzdElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24uY3BwCmluZGV4IGRmZGM2MmY4NmQ2ZjY4OTNkZGIwNGEzZGFhMmMyNGU5NDhhMjZlOWIuLmNk
ZDk1ZDgwNDZkZjcwMWExNzBhN2YwZjFjNGE3MGIxNzc1MDIxZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L1BhZ2VDb25maWd1cmF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmg+CiAjaW5jbHVk
ZSA8cGFsL1Nlc3Npb25JRC5oPgogCiAjaWYgVVNFKFFVSUNLX0xPT0spCkBAIC0xNDIsOSArMTQz
LDkgQEAgdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6c3RhcnRGZXRjaCh1aW50
NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmkKICAgICBzZXJ2aWNlV29ya2VyVGhyZWFkUHJv
eHktPnRocmVhZCgpLnBvc3RGZXRjaFRhc2soV1RGTW92ZShjbGllbnQpLCBXVEZNb3ZlKHJlcXVl
c3QpLCBXVEZNb3ZlKG9wdGlvbnMpKTsKIH0KIAotdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29y
a2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgbWVzc2FnZSwgY29uc3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIHNvdXJj
ZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlT3JpZ2luKQordm9pZCBXZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIGNvbnN0IElQ
Qzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZSwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3Vy
Y2UpCiB7Ci0gICAgU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkucG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZShkZXN0aW5hdGlvbklkZW50aWZpZXIsIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6YWRvcHQobWVzc2FnZS52ZWN0b3IoKSksIHNvdXJjZUlkZW50aWZpZXIsIHNv
dXJjZU9yaWdpbik7CisgICAgU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkucG9zdE1lc3Nh
Z2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShkZXN0aW5hdGlvbklkZW50aWZpZXIsIFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZTo6YWRvcHQobWVzc2FnZS52ZWN0b3IoKSksIFdURk1vdmUoc291cmNl
KSk7CiB9CiAKIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmZpcmVJbnN0YWxs
RXZlbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5oCmluZGV4IGZhMmFjODM5MmJkYzQ4MzljYTAxMWZlNjA0NDI0ODI1MGNk
MDA4ZDAuLjhlNGQ1NmJlNzU0ODgwMTE1NDliYjU3YThiNDJmZGYyMmQzMWJiMGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtNjAsNyArNjAsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgc2VydmljZVdvcmtlclN0YXJ0ZWRXaXRoTWVzc2FnZShXZWJDb3JlOjpTZXJ2aWNlV29y
a2VySWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKSBmaW5hbDsKICAg
ICB2b2lkIGluc3RhbGxTZXJ2aWNlV29ya2VyKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJD
b250ZXh0RGF0YSYpOwogICAgIHZvaWQgc3RhcnRGZXRjaCh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0
aW9uSWRlbnRpZmllciwgdWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiYsIFdlYkNvcmU6OkZldGNoT3B0aW9ucyYmKTsKLSAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVz
dGluYXRpb25JZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2UsIGNv
bnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBzb3VyY2VJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbik7CisgICAgdm9pZCBwb3N0TWVzc2FnZVRv
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
IGRlc3RpbmF0aW9uSWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdl
LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIHNvdXJjZSk7CiAgICAgdm9pZCBm
aXJlSW5zdGFsbEV2ZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKICAgICB2
b2lkIGZpcmVBY3RpdmF0ZUV2ZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRl
eCAxNDk4ZDI3MjE5ZjA3NDYyNWIyMTUyNDM3MzE1NjMxZWQ1MmExODBhLi43MzMxYThkZWQ4MGFj
MGIxYTUwM2NjOGVjMzQ5ZjBiYjViZTc5NDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjUsNyArMjUsNyBAQAogbWVzc2FnZXMgLT4g
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24gewogICAgIEluc3RhbGxTZXJ2aWNlV29ya2Vy
KHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgY29udGV4dERhdGEpCiAg
ICAgU3RhcnRGZXRjaCh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0
X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0IHJlcXVlc3QsIHN0cnVjdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMgb3B0aW9ucykKLSAgICBQ
b3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1l
c3NhZ2UsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBzb3Vy
Y2VJZGVudGlmaWVyLCBTdHJpbmcgc291cmNlT3JpZ2luKQorICAgIFBvc3RNZXNzYWdlVG9TZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVz
dGluYXRpb25JZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgbWVzc2FnZSwgc3RydWN0IFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhIHNvdXJjZSkKICAgICBGaXJlSW5zdGFsbEV2
ZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiAgICAgRmly
ZUFjdGl2YXRlRXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmll
cikKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAzODczOTUwNmMwNGVhMTA0YTM4ZTVjMDMyNWQ0NTFiNTk4MzI3ZWM5Li5i
YjMyYjgzY2ZiZjQ3NDVmODVlYzZmZWI2Njk1M2Y3NjJmYjczNmQ2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMTctMTEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAg
ICAgICBbU2VydmljZSBXb3JrZXJzXSBJbXBsZW1lbnQgQ2xpZW50IEFQSQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NzA5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292
ZXJhZ2UuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9DbGllbnQtcHJv
cGVydGllcy1hdXhpbGlhcnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3dvcmtlcnMvc2VydmljZS9DbGllbnQtcHJvcGVydGllcy1hdXhpbGlhcnkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRp
ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvc2Vy
dmljZS9DbGllbnQtcHJvcGVydGllcy1zdWJmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLXN1YmZy
YW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0Ns
aWVudC1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3Jlc291cmNlcy9DbGllbnQtcHJvcGVydGllcy13b3JrZXIuanM6IEFkZGVkLgor
CiAyMDE3LTExLTE0ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAg
ICAgIE1hcmsgZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMuaHRtbCBhcyBmbGFreS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1w
cm9wZXJ0aWVzLWF1eGlsaWFyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dvcmtlcnMvc2VydmljZS9DbGllbnQtcHJvcGVydGllcy1hdXhpbGlhcnktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVkMGYyZTNiZGJkYTg0MTU5OWU0Yjc4ZjliNzk0MmM5ZWU3NTI0ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9D
bGllbnQtcHJvcGVydGllcy1hdXhpbGlhcnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
Y2xpZW50LnVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL3dvcmtlcnMvc2VydmljZS9DbGllbnQt
cHJvcGVydGllcy5odG1sCitjbGllbnQuZnJhbWVUeXBlOiBhdXhpbGlhcnkKK2NsaWVudC50eXBl
OiB3aW5kb3cKK2NsaWVudC5pZCBpcyBub24gZW1wdHk6IFlFUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9DbGllbnQtcHJvcGVydGllcy1hdXhp
bGlhcnkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVu
dC1wcm9wZXJ0aWVzLWF1eGlsaWFyeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0M2U5ZmEzZTViOGQzMzFi
MTgzNmU5NTBiM2JhZGI0Y2VhODBlYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9DbGllbnQtcHJvcGVydGllcy1hdXhpbGlhcnkuaHRt
bApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3N3LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cyh0
cnVlKTsKKword2luZG93Lm9wZW4oIkNsaWVudC1wcm9wZXJ0aWVzLmh0bWwiKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJjMTgzZTgwNDI5NTYyYzEzNzUwYjQ1NDA4ZTRlZWM2ZjdkMmI5YjMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vydmlj
ZS9DbGllbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitjbGllbnQu
dXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0
aWVzLmh0bWwKK2NsaWVudC5mcmFtZVR5cGU6IHRvcC1sZXZlbAorY2xpZW50LnR5cGU6IHdpbmRv
dworY2xpZW50LmlkIGlzIG5vbiBlbXB0eTogWUVTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLXN1YmZyYW1lLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVu
dC1wcm9wZXJ0aWVzLXN1YmZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZjk5ZDY2YmUw
NGJjYjRjMDY0YjUyMmFmODYyZjk0OWZkMDEwYTU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvQ2xpZW50LXByb3BlcnRpZXMtc3ViZnJh
bWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitjbGllbnQudXJsOiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLmh0bWwKK2NsaWVu
dC5mcmFtZVR5cGU6IG5lc3RlZAorY2xpZW50LnR5cGU6IHdpbmRvdworY2xpZW50LmlkIGlzIG5v
biBlbXB0eTogWUVTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLXN1YmZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9DbGllbnQtcHJvcGVydGllcy1zdWJmcmFtZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQzZjQ4ZWYwOTViYjAxYWFmM2FhMDRjOWI1YjJlNGVhMGM3NGUzN2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9D
bGllbnQtcHJvcGVydGllcy1zdWJmcmFtZS5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zdy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8aWZyYW1lIHNyYz0iQ2xpZW50LXByb3BlcnRpZXMuaHRtbCI+PC9p
ZnJhbWU+Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL0NsaWVudC1wcm9wZXJ0aWVzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9DbGllbnQtcHJvcGVydGllcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjI0NDQ5N2ExMmJjZmE1MTA5MWE2NWNkZTRlN2NlZTkyMmQ5MTZlZmEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vydmlj
ZS9DbGllbnQtcHJvcGVydGllcy5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc3ctdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KKworbG9nV2luZG93ID0gd2luZG93OworaWYgKHdpbmRvdy5v
cGVuZXIpCisgICAgbG9nV2luZG93ID0gd2luZG93Lm9wZW5lcjsKK2Vsc2UgaWYgKHdpbmRvdy5w
YXJlbnQpCisgICAgbG9nV2luZG93ID0gd2luZG93LnBhcmVudDsKKworbmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKGV2ZW50KSB7Cisg
ICAgaWYgKGV2ZW50LmRhdGEgPT09ICJET05FIikgeworICAgICAgICBmaW5pc2hTV1Rlc3QoKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAgICAgbG9nV2luZG93LmxvZyhldmVudC5kYXRh
KTsKK30pOworCituYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigicmVzb3VyY2VzL0Ns
aWVudC1wcm9wZXJ0aWVzLXdvcmtlci5qcyIsIHsgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLnBvc3RNZXNzYWdlKCJURVNUIik7Cit9
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL0NsaWVudC1wcm9wZXJ0aWVzLXdv
cmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNl
cy9DbGllbnQtcHJvcGVydGllcy13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE2YzU3ZjVmYmU2NGFm
NjdkNWMyZWUwZGFkYjM5NjJiNzZjMjNiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9DbGllbnQtcHJvcGVydGllcy13
b3JrZXIuanMKQEAgLTAsMCArMSwxMCBAQAorc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdl
IiwgZnVuY3Rpb24oZSkgeworICAgIGxldCBjbGllbnQgPSBlLnNvdXJjZTsKKworICAgIGNsaWVu
dC5wb3N0TWVzc2FnZSgiY2xpZW50LnVybDogIiArIGNsaWVudC51cmwpOworICAgIGNsaWVudC5w
b3N0TWVzc2FnZSgiY2xpZW50LmZyYW1lVHlwZTogIiArIGNsaWVudC5mcmFtZVR5cGUpOworICAg
IGNsaWVudC5wb3N0TWVzc2FnZSgiY2xpZW50LnR5cGU6ICIgKyBjbGllbnQudHlwZSk7CisgICAg
Y2xpZW50LnBvc3RNZXNzYWdlKCJjbGllbnQuaWQgaXMgbm9uIGVtcHR5OiAiICsgKGNsaWVudC5p
ZC5sZW5ndGggPyAiWUVTIiA6ICJOTyIpKTsKKworICAgIGNsaWVudC5wb3N0TWVzc2FnZSgiRE9O
RSIpOworfSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>