<?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>226940</bug_id>
          
          <creation_ts>2021-06-11 14:16:21 -0700</creation_ts>
          <short_desc>Enable more release logging in WebCore for ephemeral sessions</short_desc>
          <delta_ts>2021-06-11 16:14:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1769069</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-11 14:16:21 -0700</bug_when>
    <thetext>Enable more release logging in WebCore for ephemeral sessions, to facilitate debugging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769070</commentid>
    <comment_count>1</comment_count>
      <attachid>431231</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-11 14:17:51 -0700</bug_when>
    <thetext>Created attachment 431231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769094</commentid>
    <comment_count>2</comment_count>
      <attachid>431231</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-06-11 15:32:22 -0700</bug_when>
    <thetext>Comment on attachment 431231
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769106</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-11 16:13:12 -0700</bug_when>
    <thetext>Committed r278788 (238745@main): &lt;https://commits.webkit.org/238745@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431231.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769107</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-11 16:14:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/79221265&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431231</attachid>
            <date>2021-06-11 14:17:51 -0700</date>
            <delta_ts>2021-06-11 16:13:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226940-20210611141750.patch</filename>
            <type>text/plain</type>
            <size>37716</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzg0MmRkNWU1OGNiNmVi
ZmQ3ODg5ZjBjMzY1MWI0YmEzNmVjMTIzOC4uNmViNTViNjM3YzZjM2FjNjViODBkZTQ4MzYzNjg1
ZGI1MTc5NDJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIxLTA2LTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIG1vcmUgcmVsZWFz
ZSBsb2dnaW5nIGluIFdlYkNvcmUgZm9yIGVwaGVtZXJhbCBzZXNzaW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2OTQwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIG1vcmUgcmVsZWFzZSBs
b2dnaW5nIGluIFdlYkNvcmUgZm9yIGVwaGVtZXJhbCBzZXNzaW9ucywgdG8gZmFjaWxpYXRlCisg
ICAgICAgIGRlYnVnZ2luZy4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvUG9saWN5Q2hlY2tlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlcjo6UG9saWN5Q2hlY2tlcjo6Y2hlY2tOYXZpZ2F0aW9uUG9saWN5
KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OnNjaGVkdWxlUmVzaXplRXZlbnRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OnBhaW50Q29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpm
aXJlTGF5b3V0UmVsYXRlZE1pbGVzdG9uZXNJZk5lZWRlZCk6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZU1vbml0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VNb25pdG9y
OjptZWFzdXJlUG9zdExvYWRDUFVVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZU1vbml0b3I6Om1lYXN1cmVQb3N0TG9hZE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlTW9uaXRvcjo6bWVhc3VyZVBvc3RCYWNrZ3JvdW5kaW5nTWVtb3J5VXNhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VNb25pdG9yOjptZWFzdXJlUG9zdEJhY2tn
cm91bmRpbmdDUFVVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU1vbml0b3I6
Om1lYXN1cmVDUFVVc2FnZUluQWN0aXZpdHlTdGF0ZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlcjo6
U2VydmljZVdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyOjp1cGRhdGVT
dGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyOjppc0Fsd2F5c09uTG9nZ2lu
Z0FsbG93ZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6YWRk
UmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6
OnVucmVnaXN0ZXJSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
ckNvbnRhaW5lcjo6dXBkYXRlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OmpvYkZhaWxlZFdpdGhFeGNlcHRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVk
V2l0aFVucmVnaXN0cmF0aW9uUmVzdWx0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJDb250YWluZXI6OnN0YXJ0U2NyaXB0RmV0Y2hGb3JKb2IpOgorICAgICAgICAoV2ViQ29yZTo6
U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYkZhaWxlZExvYWRpbmdTY3Jp
cHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6aXNBbHdheXNP
bkxvZ2dpbmdBbGxvd2VkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb246OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlU3RhdGVGcm9tU2VydmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnF1ZXVlVGFz
a1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQpOgorCiAyMDIxLTA2LTExICBKb25hdGhhbiBCZWRhcmQg
IDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbTW9udGVyZXldIFN1cHBvcnQgYnVpbGRp
bmcgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29u
dGV4dC5jcHAKaW5kZXggMDdkMDM3MDhiMDkxY2NiZTFiZTFkZjczMmYzMDdhY2YyYzdlMjUxZS4u
ZWNlYjljNDVhYWI4NzU4YWU1YzQ4NGE2MGQ2YjYzN2VhZDU0NjNkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtNTUsNyArNTUs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYoZG9jdW1lbnQoKSAmJiBkb2N1bWVudCgpLT5w
YWdlKCkgJiYgZG9jdW1lbnQoKS0+cGFnZSgpLT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwg
TWVkaWEsICIlcCAtIEF1ZGlvQ29udGV4dDo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCisj
ZGVmaW5lIEFVRElPQ09OVEVYVF9SRUxFQVNFX0xPRyhmbXQsIC4uLikgUkVMRUFTRV9MT0coTWVk
aWEsICIlcCAtIEF1ZGlvQ29udGV4dDo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCiAKICNp
ZiBPUyhXSU5ET1dTKQogLy8gRG9uJ3QgYWxsb3cgbW9yZSB0aGFuIHRoaXMgbnVtYmVyIG9mIHNp
bXVsdGFuZW91cyBBdWRpb0NvbnRleHRzIHRhbGtpbmcgdG8gaGFyZHdhcmUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5jcHAKaW5kZXggOThlOTYxOTc3NTY3MDgwZTg0ODA5NWZl
MTAyMzY2NmVkZTA1ZDBlYS4uYzA4MmE5ODE1MjZkNDA0MDhjODViYjE2NjgzYWIxNGVmNmRkNmU4
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmNwcApAQCAtNTQsMTAgKzU0
LDkgQEAKICNpbmNsdWRlICJRdWlja0xvb2suaCIKICNlbmRpZgogCi0jZGVmaW5lIElTX0FMTE9X
RUQgKG1fZnJhbWUucGFnZSgpID8gbV9mcmFtZS5wYWdlKCktPnNlc3Npb25JRCgpLmlzQWx3YXlz
T25Mb2dnaW5nQWxsb3dlZCgpIDogZmFsc2UpCiAjZGVmaW5lIFBBR0VfSUQgKG1fZnJhbWUubG9h
ZGVyKCkucGFnZUlEKCkudmFsdWVfb3IoUGFnZUlkZW50aWZpZXIoKSkudG9VSW50NjQoKSkKICNk
ZWZpbmUgRlJBTUVfSUQgKG1fZnJhbWUubG9hZGVyKCkuZnJhbWVJRCgpLnZhbHVlX29yKEZyYW1l
SWRlbnRpZmllcigpKS50b1VJbnQ2NCgpKQotI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihJU19BTExPV0VELCBMb2FkaW5nLCAiJXAgLSBbcGFn
ZUlEPSUiIFBSSXU2NCAiLCBmcmFtZUlEPSUiIFBSSXU2NCAiXSBQb2xpY3lDaGVja2VyOjoiIGZt
dCwgdGhpcywgUEFHRV9JRCwgRlJBTUVfSUQsICMjX19WQV9BUkdTX18pCisjZGVmaW5lIFBPTElD
WUNIRUNLRVJfUkVMRUFTRV9MT0coZm10LCAuLi4pIFJFTEVBU0VfTE9HKExvYWRpbmcsICIlcCAt
IFtwYWdlSUQ9JSIgUFJJdTY0ICIsIGZyYW1lSUQ9JSIgUFJJdTY0ICJdIFBvbGljeUNoZWNrZXI6
OiIgZm10LCB0aGlzLCBQQUdFX0lELCBGUkFNRV9JRCwgIyNfX1ZBX0FSR1NfXykKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC0xMzgsOSArMTM3LDkgQEAgdm9pZCBGcmFtZUxvYWRlcjo6UG9s
aWN5Q2hlY2tlcjo6Y2hlY2tOYXZpZ2F0aW9uUG9saWN5KFJlc291cmNlUmVxdWVzdCYmIHJlcXVl
c3QKICAgICAvLyBUaGlzIGF2b2lkcyBjb25mdXNpb24gb24gdGhlIHBhcnQgb2YgdGhlIGNsaWVu
dC4KICAgICBpZiAoZXF1YWxJZ25vcmluZ0hlYWRlckZpZWxkcyhyZXF1ZXN0LCBsb2FkZXItPmxh
c3RDaGVja2VkUmVxdWVzdCgpKSB8fCAoIXJlcXVlc3QuaXNOdWxsKCkgJiYgcmVxdWVzdC51cmwo
KS5pc0VtcHR5KCkpKSB7CiAgICAgICAgIGlmICghcmVxdWVzdC5pc051bGwoKSAmJiByZXF1ZXN0
LnVybCgpLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNo
ZWNrTmF2aWdhdGlvblBvbGljeTogY29udGludWluZyBiZWNhdXNlIHRoZSBVUkwgaXMgZW1wdHki
KTsKKyAgICAgICAgICAgIFBPTElDWUNIRUNLRVJfUkVMRUFTRV9MT0coImNoZWNrTmF2aWdhdGlv
blBvbGljeTogY29udGludWluZyBiZWNhdXNlIHRoZSBVUkwgaXMgZW1wdHkiKTsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY2hlY2tOYXZpZ2F0aW9u
UG9saWN5OiBjb250aW51aW5nIGJlY2F1c2UgdGhlIFVSTCBpcyB0aGUgc2FtZSBhcyB0aGUgbGFz
dCByZXF1ZXN0Iik7CisgICAgICAgICAgICBQT0xJQ1lDSEVDS0VSX1JFTEVBU0VfTE9HKCJjaGVj
a05hdmlnYXRpb25Qb2xpY3k6IGNvbnRpbnVpbmcgYmVjYXVzZSB0aGUgVVJMIGlzIHRoZSBzYW1l
IGFzIHRoZSBsYXN0IHJlcXVlc3QiKTsKICAgICAgICAgZnVuY3Rpb24oUmVzb3VyY2VSZXF1ZXN0
KHJlcXVlc3QpLCB7IH0sIE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbjo6Q29udGludWVMb2FkKTsK
ICAgICAgICAgbG9hZGVyLT5zZXRMYXN0Q2hlY2tlZFJlcXVlc3QoV1RGTW92ZShyZXF1ZXN0KSk7
CiAgICAgICAgIHJldHVybjsKQEAgLTE1OCw5ICsxNTcsOSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpQ
b2xpY3lDaGVja2VyOjpjaGVja05hdmlnYXRpb25Qb2xpY3koUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdAogICAgICAgICBpZiAoaXNCYWNrRm9yd2FyZExvYWRUeXBlKG1fbG9hZFR5cGUpKQogICAg
ICAgICAgICAgbV9sb2FkVHlwZSA9IEZyYW1lTG9hZFR5cGU6OlJlbG9hZDsKICAgICAgICAgaWYg
KHNob3VsZENvbnRpbnVlKQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY2hl
Y2tOYXZpZ2F0aW9uUG9saWN5OiBjb250aW51aW5nIGJlY2F1c2Ugd2UgaGF2ZSB2YWxpZCBzdWJz
dGl0dXRlIGRhdGEiKTsKKyAgICAgICAgICAgIFBPTElDWUNIRUNLRVJfUkVMRUFTRV9MT0coImNo
ZWNrTmF2aWdhdGlvblBvbGljeTogY29udGludWluZyBiZWNhdXNlIHdlIGhhdmUgdmFsaWQgc3Vi
c3RpdHV0ZSBkYXRhIik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoImNoZWNrTmF2aWdhdGlvblBvbGljeTogbm90IGNvbnRpbnVpbmcgd2l0aCBzdWJz
dGl0dXRlIGRhdGEgYmVjYXVzZSB0aGUgY29udGVudCBmaWx0ZXIgdG9sZCB1cyBub3QgdG8iKTsK
KyAgICAgICAgICAgIFBPTElDWUNIRUNLRVJfUkVMRUFTRV9MT0coImNoZWNrTmF2aWdhdGlvblBv
bGljeTogbm90IGNvbnRpbnVpbmcgd2l0aCBzdWJzdGl0dXRlIGRhdGEgYmVjYXVzZSB0aGUgY29u
dGVudCBmaWx0ZXIgdG9sZCB1cyBub3QgdG8iKTsKIAogICAgICAgICBmdW5jdGlvbihXVEZNb3Zl
KHJlcXVlc3QpLCB7IH0sIHNob3VsZENvbnRpbnVlID8gTmF2aWdhdGlvblBvbGljeURlY2lzaW9u
OjpDb250aW51ZUxvYWQgOiBOYXZpZ2F0aW9uUG9saWN5RGVjaXNpb246Oklnbm9yZUxvYWQpOwog
ICAgICAgICByZXR1cm47CkBAIC0xNzIsNyArMTcxLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6UG9s
aWN5Q2hlY2tlcjo6Y2hlY2tOYXZpZ2F0aW9uUG9saWN5KFJlc291cmNlUmVxdWVzdCYmIHJlcXVl
c3QKICAgICAgICAgICAgIC8vIHJldmVhbCB0aGF0IHRoZSBmcmFtZSB3YXMgYmxvY2tlZC4gVGhp
cyB3YXksIGl0IGxvb2tzIGxpa2UgYW55IG90aGVyIGNyb3NzLW9yaWdpbiBwYWdlIGxvYWQuCiAg
ICAgICAgICAgICBtX2ZyYW1lLm93bmVyRWxlbWVudCgpLT5kaXNwYXRjaEV2ZW50KEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLmxvYWRFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50
OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiAgICAgICAgIH0KLSAgICAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgiY2hlY2tOYXZpZ2F0aW9uUG9saWN5OiBpZ25vcmluZyBiZWNhdXNlIGRpc2FsbG93
ZWQgYnkgY29udGVudCBzZWN1cml0eSBwb2xpY3kiKTsKKyAgICAgICAgUE9MSUNZQ0hFQ0tFUl9S
RUxFQVNFX0xPRygiY2hlY2tOYXZpZ2F0aW9uUG9saWN5OiBpZ25vcmluZyBiZWNhdXNlIGRpc2Fs
bG93ZWQgYnkgY29udGVudCBzZWN1cml0eSBwb2xpY3kiKTsKICAgICAgICAgZnVuY3Rpb24oV1RG
TW92ZShyZXF1ZXN0KSwgeyB9LCBOYXZpZ2F0aW9uUG9saWN5RGVjaXNpb246Oklnbm9yZUxvYWQp
OwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTgyLDcgKzE4MSw3IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OlBvbGljeUNoZWNrZXI6OmNoZWNrTmF2aWdhdGlvblBvbGljeShSZXNvdXJjZVJlcXVl
c3QmJiByZXF1ZXN0CiAjaWYgVVNFKFFVSUNLX0xPT0spCiAgICAgLy8gQWx3YXlzIGFsbG93IFF1
aWNrTG9vay1nZW5lcmF0ZWQgVVJMcyBiYXNlZCBvbiB0aGUgcHJvdG9jb2wgc2NoZW1lLgogICAg
IGlmICghcmVxdWVzdC5pc051bGwoKSAmJiBpc1F1aWNrTG9va1ByZXZpZXdVUkwocmVxdWVzdC51
cmwoKSkpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY2hlY2tOYXZpZ2F0aW9u
UG9saWN5OiBjb250aW51aW5nIGJlY2F1c2UgcXVpY2tsb29rLWdlbmVyYXRlZCBVUkwiKTsKKyAg
ICAgICAgUE9MSUNZQ0hFQ0tFUl9SRUxFQVNFX0xPRygiY2hlY2tOYXZpZ2F0aW9uUG9saWN5OiBj
b250aW51aW5nIGJlY2F1c2UgcXVpY2tsb29rLWdlbmVyYXRlZCBVUkwiKTsKICAgICAgICAgcmV0
dXJuIGZ1bmN0aW9uKFdURk1vdmUocmVxdWVzdCksIG1ha2VXZWFrUHRyKGZvcm1TdGF0ZS5nZXQo
KSksIE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbjo6Q29udGludWVMb2FkKTsKICAgICB9CiAjZW5k
aWYKQEAgLTE5NCw3ICsxOTMsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpQb2xpY3lDaGVja2VyOjpj
aGVja05hdmlnYXRpb25Qb2xpY3koUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdAogICAgICAgICAg
ICAgaWYgKHVuYmxvY2tlZCkKICAgICAgICAgICAgICAgICBmcmFtZS0+bG9hZGVyKCkucmVsb2Fk
KCk7CiAgICAgICAgIH0pOwotICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjaGVja05h
dmlnYXRpb25Qb2xpY3k6IGlnbm9yaW5nIGJlY2F1c2UgQ29udGVudEZpbHRlclVuYmxvY2tIYW5k
bGVyIGNhbiBoYW5kbGUgdGhlIHJlcXVlc3QiKTsKKyAgICAgICAgUE9MSUNZQ0hFQ0tFUl9SRUxF
QVNFX0xPRygiY2hlY2tOYXZpZ2F0aW9uUG9saWN5OiBpZ25vcmluZyBiZWNhdXNlIENvbnRlbnRG
aWx0ZXJVbmJsb2NrSGFuZGxlciBjYW4gaGFuZGxlIHRoZSByZXF1ZXN0Iik7CiAgICAgICAgIHJl
dHVybiBmdW5jdGlvbih7IH0sIG51bGxwdHIsIE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbjo6SWdu
b3JlTG9hZCk7CiAgICAgfQogICAgIG1fY29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyID0geyB9
OwpAQCAtMjExLDcgKzIxMCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OlBvbGljeUNoZWNrZXI6OmNo
ZWNrTmF2aWdhdGlvblBvbGljeShSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0CiAgICAgRnJhbWVQ
b2xpY3lGdW5jdGlvbiBkZWNpc2lvbkhhbmRsZXIgPSBbdGhpcywgZnVuY3Rpb24gPSBXVEZNb3Zl
KGZ1bmN0aW9uKSwgcmVxdWVzdCA9IFJlc291cmNlUmVxdWVzdChyZXF1ZXN0KSwgZm9ybVN0YXRl
ID0gc3RkOjpleGNoYW5nZShmb3JtU3RhdGUsIG51bGxwdHIpLCBzdWdnZXN0ZWRGaWxlbmFtZSA9
IFdURk1vdmUoc3VnZ2VzdGVkRmlsZW5hbWUpLAogICAgICAgICAgYmxvYlVSTExpZmV0aW1lRXh0
ZW5zaW9uID0gV1RGTW92ZShibG9iVVJMTGlmZXRpbWVFeHRlbnNpb24pLCByZXF1ZXN0SWRlbnRp
ZmllciwgaXNJbml0aWFsRW1wdHlEb2N1bWVudExvYWRdIChQb2xpY3lBY3Rpb24gcG9saWN5QWN0
aW9uLCBQb2xpY3lDaGVja0lkZW50aWZpZXIgcmVzcG9uc2VJZGVudGlmaWVyKSBtdXRhYmxlIHsK
ICAgICAgICAgaWYgKCFyZXNwb25zZUlkZW50aWZpZXIuaXNWYWxpZEZvcihyZXF1ZXN0SWRlbnRp
ZmllcikpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNoZWNrTmF2aWdh
dGlvblBvbGljeTogaWdub3JpbmcgYmVjYXVzZSByZXNwb25zZSBpcyBub3QgdmFsaWQgZm9yIHJl
cXVlc3QiKTsKKyAgICAgICAgICAgIFBPTElDWUNIRUNLRVJfUkVMRUFTRV9MT0coImNoZWNrTmF2
aWdhdGlvblBvbGljeTogaWdub3JpbmcgYmVjYXVzZSByZXNwb25zZSBpcyBub3QgdmFsaWQgZm9y
IHJlcXVlc3QiKTsKICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbih7IH0sIG51bGxwdHIsIE5h
dmlnYXRpb25Qb2xpY3lEZWNpc2lvbjo6SWdub3JlTG9hZCk7CiAgICAgICAgIH0KIApAQCAtMjIz
LDIyICsyMjIsMjIgQEAgdm9pZCBGcmFtZUxvYWRlcjo6UG9saWN5Q2hlY2tlcjo6Y2hlY2tOYXZp
Z2F0aW9uUG9saWN5KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QKICAgICAgICAgICAgIG1fZnJh
bWUubG9hZGVyKCkuY2xpZW50KCkuc3RhcnREb3dubG9hZChyZXF1ZXN0LCBzdWdnZXN0ZWRGaWxl
bmFtZSk7CiAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBQb2xpY3lBY3Rp
b246Oklnbm9yZToKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNoZWNrTmF2
aWdhdGlvblBvbGljeTogaWdub3JpbmcgYmVjYXVzZSBwb2xpY3lBY3Rpb24gZnJvbSBkaXNwYXRj
aERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24gaXMgSWdub3JlIik7CisgICAgICAgICAg
ICBQT0xJQ1lDSEVDS0VSX1JFTEVBU0VfTE9HKCJjaGVja05hdmlnYXRpb25Qb2xpY3k6IGlnbm9y
aW5nIGJlY2F1c2UgcG9saWN5QWN0aW9uIGZyb20gZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uIGlzIElnbm9yZSIpOwogICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHsg
fSwgbnVsbHB0ciwgTmF2aWdhdGlvblBvbGljeURlY2lzaW9uOjpJZ25vcmVMb2FkKTsKICAgICAg
ICAgY2FzZSBQb2xpY3lBY3Rpb246OlN0b3BBbGxMb2FkczoKLSAgICAgICAgICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoImNoZWNrTmF2aWdhdGlvblBvbGljeTogc3RvcHBpbmcgYmVjYXVzZSBw
b2xpY3lBY3Rpb24gZnJvbSBkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24g
aXMgU3RvcEFsbExvYWRzIik7CisgICAgICAgICAgICBQT0xJQ1lDSEVDS0VSX1JFTEVBU0VfTE9H
KCJjaGVja05hdmlnYXRpb25Qb2xpY3k6IHN0b3BwaW5nIGJlY2F1c2UgcG9saWN5QWN0aW9uIGZy
b20gZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uIGlzIFN0b3BBbGxMb2Fk
cyIpOwogICAgICAgICAgICAgZnVuY3Rpb24oeyB9LCBudWxscHRyLCBOYXZpZ2F0aW9uUG9saWN5
RGVjaXNpb246OlN0b3BBbGxMb2Fkcyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNh
c2UgUG9saWN5QWN0aW9uOjpVc2U6CiAgICAgICAgICAgICBpZiAoIW1fZnJhbWUubG9hZGVyKCku
Y2xpZW50KCkuY2FuSGFuZGxlUmVxdWVzdChyZXF1ZXN0KSkgewogICAgICAgICAgICAgICAgIGhh
bmRsZVVuaW1wbGVtZW50YWJsZVBvbGljeShtX2ZyYW1lLmxvYWRlcigpLmNsaWVudCgpLmNhbm5v
dFNob3dVUkxFcnJvcihyZXF1ZXN0KSk7Ci0gICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgiY2hlY2tOYXZpZ2F0aW9uUG9saWN5OiBpZ25vcmluZyBiZWNhdXNlIGZyYW1lIGxv
YWRlciBjbGllbnQgY2FuJ3QgaGFuZGxlIHRoZSByZXF1ZXN0Iik7CisgICAgICAgICAgICAgICAg
UE9MSUNZQ0hFQ0tFUl9SRUxFQVNFX0xPRygiY2hlY2tOYXZpZ2F0aW9uUG9saWN5OiBpZ25vcmlu
ZyBiZWNhdXNlIGZyYW1lIGxvYWRlciBjbGllbnQgY2FuJ3QgaGFuZGxlIHRoZSByZXF1ZXN0Iik7
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHsgfSwgeyB9LCBOYXZpZ2F0aW9uUG9s
aWN5RGVjaXNpb246Oklnbm9yZUxvYWQpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYg
KGlzSW5pdGlhbEVtcHR5RG9jdW1lbnRMb2FkKQotICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoImNoZWNrTmF2aWdhdGlvblBvbGljeTogY29udGludWluZyBiZWNhdXNlIHRo
aXMgaXMgYW4gaW5pdGlhbCBlbXB0eSBkb2N1bWVudCIpOworICAgICAgICAgICAgICAgIFBPTElD
WUNIRUNLRVJfUkVMRUFTRV9MT0coImNoZWNrTmF2aWdhdGlvblBvbGljeTogY29udGludWluZyBi
ZWNhdXNlIHRoaXMgaXMgYW4gaW5pdGlhbCBlbXB0eSBkb2N1bWVudCIpOwogICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNoZWNrTmF2aWdh
dGlvblBvbGljeTogY29udGludWluZyBiZWNhdXNlIHRoaXMgcG9saWN5QWN0aW9uIGZyb20gZGlz
cGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uIGlzIFVzZSIpOworICAgICAgICAg
ICAgICAgIFBPTElDWUNIRUNLRVJfUkVMRUFTRV9MT0coImNoZWNrTmF2aWdhdGlvblBvbGljeTog
Y29udGludWluZyBiZWNhdXNlIHRoaXMgcG9saWN5QWN0aW9uIGZyb20gZGlzcGF0Y2hEZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uIGlzIFVzZSIpOwogICAgICAgICAgICAgcmV0dXJuIGZ1
bmN0aW9uKFdURk1vdmUocmVxdWVzdCksIG1ha2VXZWFrUHRyKGZvcm1TdGF0ZS5nZXQoKSksIE5h
dmlnYXRpb25Qb2xpY3lEZWNpc2lvbjo6Q29udGludWVMb2FkKTsKICAgICAgICAgfQogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTMxMSw0ICszMTAsNCBAQCB2b2lkIEZyYW1lTG9h
ZGVyOjpQb2xpY3lDaGVja2VyOjpoYW5kbGVVbmltcGxlbWVudGFibGVQb2xpY3koY29uc3QgUmVz
b3VyY2VFcnJvcgogI3VuZGVmIElTX0FMTE9XRUQKICN1bmRlZiBQQUdFX0lECiAjdW5kZWYgRlJB
TUVfSUQKLSN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECisjdW5kZWYgUE9MSUNZQ0hFQ0tF
Ul9SRUxFQVNFX0xPRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDU4MTA4M2U2ZjM0
YzYyMThjZTA1NGRhOTBlMmJmYmI0MjUyZTdjZGYuLmEyMTI5Zjc3NjlmZDEwZDI5NjBjNzY0ZGQ2
ODQ1Nzg2NzEwNmFiNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEzNyw3ICsx
MzcsNyBAQAogCiAjZGVmaW5lIFBBR0VfSUQgZnJhbWUoKS5wYWdlSUQoKS52YWx1ZV9vcihQYWdl
SWRlbnRpZmllcigpKS50b1VJbnQ2NCgpCiAjZGVmaW5lIEZSQU1FX0lEIGZyYW1lKCkuZnJhbWVJ
RCgpLnZhbHVlX29yKEZyYW1lSWRlbnRpZmllcigpKS50b1VJbnQ2NCgpCi0jZGVmaW5lIEZSQU1F
VklFV19SRUxFQVNFX0xPR19JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xP
R19JRihmcmFtZSgpLnBhZ2UoKSAmJiBmcmFtZSgpLnBhZ2UoKS0+c2Vzc2lvbklEKCkuaXNBbHdh
eXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFtwYWdlSUQ9JSIgUFJJdTY0ICIs
IGZyYW1lSUQ9JSIgUFJJdTY0ICIsIG1haW49JWRdIEZyYW1lVmlldzo6IiBmbXQsIHRoaXMsIFBB
R0VfSUQsIEZSQU1FX0lELCBmcmFtZSgpLmlzTWFpbkZyYW1lKCksICMjX19WQV9BUkdTX18pCisj
ZGVmaW5lIEZSQU1FVklFV19SRUxFQVNFX0xPRyhjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9M
T0coY2hhbm5lbCwgIiVwIC0gW3BhZ2VJRD0lIiBQUkl1NjQgIiwgZnJhbWVJRD0lIiBQUkl1NjQg
IiwgbWFpbj0lZF0gRnJhbWVWaWV3OjoiIGZtdCwgdGhpcywgUEFHRV9JRCwgRlJBTUVfSUQsIGZy
YW1lKCkuaXNNYWluRnJhbWUoKSwgIyNfX1ZBX0FSR1NfXykKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zNDA3LDcgKzM0MDcsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZXNpemVF
dmVudElmTmVlZGVkKCkKIAogICAgIGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgp
OwogICAgIGlmIChkb2N1bWVudC0+cXVpcmtzKCkuc2hvdWxkU2lsZW5jZVdpbmRvd1Jlc2l6ZUV2
ZW50cygpKSB7Ci0gICAgICAgIEZSQU1FVklFV19SRUxFQVNFX0xPR19JRl9BTExPV0VEKEV2ZW50
cywgInNjaGVkdWxlUmVzaXplRXZlbnRJZk5lZWRlZDogTm90IGZpcmluZyByZXNpemUgZXZlbnRz
IGJlY2F1c2UgdGhleSBhcmUgdGVtcG9yYXJpbHkgZGlzYWJsZWQgZm9yIHRoaXMgcGFnZSIpOwor
ICAgICAgICBGUkFNRVZJRVdfUkVMRUFTRV9MT0coRXZlbnRzLCAic2NoZWR1bGVSZXNpemVFdmVu
dElmTmVlZGVkOiBOb3QgZmlyaW5nIHJlc2l6ZSBldmVudHMgYmVjYXVzZSB0aGV5IGFyZSB0ZW1w
b3JhcmlseSBkaXNhYmxlZCBmb3IgdGhpcyBwYWdlIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKQEAgLTQzMDUsNyArNDMwNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwYWludENvbnRlbnRzKEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0CiAKICAgICBB
U1NFUlQoIW5lZWRzTGF5b3V0KCkpOwogICAgIGlmIChuZWVkc0xheW91dCgpKSB7Ci0gICAgICAg
IEZSQU1FVklFV19SRUxFQVNFX0xPR19JRl9BTExPV0VEKExheW91dCwgInBhaW50Q29udGVudHM6
IE5vdCBwYWludGluZyBiZWNhdXNlIHJlbmRlciB0cmVlIG5lZWRzIGxheW91dCIpOworICAgICAg
ICBGUkFNRVZJRVdfUkVMRUFTRV9MT0coTGF5b3V0LCAicGFpbnRDb250ZW50czogTm90IHBhaW50
aW5nIGJlY2F1c2UgcmVuZGVyIHRyZWUgbmVlZHMgbGF5b3V0Iik7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTUzMTksNyArNTMxOSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpmaXJlTGF5b3V0
UmVsYXRlZE1pbGVzdG9uZXNJZk5lZWRlZCgpCiAKICAgICBpZiAobWlsZXN0b25lc0FjaGlldmVk
ICYmIGZyYW1lKCkuaXNNYWluRnJhbWUoKSkgewogICAgICAgICBpZiAobWlsZXN0b25lc0FjaGll
dmVkLmNvbnRhaW5zKERpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dCkpCi0gICAgICAgICAg
ICBGUkFNRVZJRVdfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMYXlvdXQsICJmaXJlTGF5b3V0UmVs
YXRlZE1pbGVzdG9uZXNJZk5lZWRlZDogRmlyaW5nIGZpcnN0IHZpc3VhbGx5IG5vbi1lbXB0eSBs
YXlvdXQgbWlsZXN0b25lIG9uIHRoZSBtYWluIGZyYW1lIik7CisgICAgICAgICAgICBGUkFNRVZJ
RVdfUkVMRUFTRV9MT0coTGF5b3V0LCAiZmlyZUxheW91dFJlbGF0ZWRNaWxlc3RvbmVzSWZOZWVk
ZWQ6IEZpcmluZyBmaXJzdCB2aXN1YWxseSBub24tZW1wdHkgbGF5b3V0IG1pbGVzdG9uZSBvbiB0
aGUgbWFpbiBmcmFtZSIpOwogICAgICAgICBmcmFtZSgpLmxvYWRlcigpLmRpZFJlYWNoTGF5b3V0
TWlsZXN0b25lKG1pbGVzdG9uZXNBY2hpZXZlZCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCmluZGV4IDhlNDljMmZjY2ZjYzRlMWI1OWFkZjUw
NDA4NDNkNWQ1NGI0NDI3NzYuLmU2M2NmMzBjM2IyOGIwZWZlMjNjMTFjNTc4ZjMxN2QwOGQxNzI5
ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5jcHAKQEAgLTM5
LDcgKzM5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jZGVmaW5lIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKG1fcGFnZS5zZXNz
aW9uSUQoKS5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gUGVyZm9y
bWFuY2VNb25pdG9yOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKKyNkZWZpbmUgUEVSRk1P
TklUT1JfUkVMRUFTRV9MT0coY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HKGNoYW5uZWws
ICIlcCAtIFBlcmZvcm1hbmNlTW9uaXRvcjo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCiAK
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgU2Vjb25kcyBjcHVVc2FnZU1lYXN1cmVtZW50RGVsYXkg
eyA1X3MgfTsKIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgU2Vjb25kcyBwb3N0TG9hZENQVVVzYWdl
TWVhc3VyZW1lbnREdXJhdGlvbiB7IDEwX3MgfTsKQEAgLTE4NCw3ICsxODQsNyBAQCB2b2lkIFBl
cmZvcm1hbmNlTW9uaXRvcjo6bWVhc3VyZVBvc3RMb2FkQ1BVVXNhZ2UoKQogICAgICAgICByZXR1
cm47CiAKICAgICBkb3VibGUgY3B1VXNhZ2UgPSBjcHVUaW1lLnZhbHVlKCkucGVyY2VudGFnZUNQ
VVVzYWdlU2luY2UoKm1fcG9zdExvYWRDUFVUaW1lKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKFBlcmZvcm1hbmNlTG9nZ2luZywgIm1lYXN1cmVQb3N0TG9hZENQVVVzYWdlOiBQcm9jZXNz
IHdhcyB1c2luZyAlLjFmJSUgQ1BVIGFmdGVyIHRoZSBwYWdlIGxvYWQuIiwgY3B1VXNhZ2UpOwor
ICAgIFBFUkZNT05JVE9SX1JFTEVBU0VfTE9HKFBlcmZvcm1hbmNlTG9nZ2luZywgIm1lYXN1cmVQ
b3N0TG9hZENQVVVzYWdlOiBQcm9jZXNzIHdhcyB1c2luZyAlLjFmJSUgQ1BVIGFmdGVyIHRoZSBw
YWdlIGxvYWQuIiwgY3B1VXNhZ2UpOwogICAgIG1fcGFnZS5kaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dCgpLmxvZ0RpYWdub3N0aWNNZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6cG9zdFBhZ2VM
b2FkQ1BVVXNhZ2VLZXkoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpmb3JlZ3JvdW5kQ1BVVXNh
Z2VUb0RpYWdub3N0aWNMb2dnaW5nS2V5KGNwdVVzYWdlKSwgU2hvdWxkU2FtcGxlOjpObyk7CiAK
ICAgICBpZiAoY3B1VXNhZ2UgPiBwb3N0UGFnZUxvYWRDUFVVc2FnZURvbWFpblJlcG9ydGluZ1Ro
cmVzaG9sZCkKQEAgLTIwMCw3ICsyMDAsNyBAQCB2b2lkIFBlcmZvcm1hbmNlTW9uaXRvcjo6bWVh
c3VyZVBvc3RMb2FkTWVtb3J5VXNhZ2UoKQogICAgIGlmICghbWVtb3J5VXNhZ2UpCiAgICAgICAg
IHJldHVybjsKIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUGVyZm9ybWFuY2VMb2dnaW5n
LCAibWVhc3VyZVBvc3RMb2FkTWVtb3J5VXNhZ2U6IFByb2Nlc3Mgd2FzIHVzaW5nICVsbHUgYnl0
ZXMgb2YgbWVtb3J5IGFmdGVyIHRoZSBwYWdlIGxvYWQuIiwgbWVtb3J5VXNhZ2UudmFsdWUoKSk7
CisgICAgUEVSRk1PTklUT1JfUkVMRUFTRV9MT0coUGVyZm9ybWFuY2VMb2dnaW5nLCAibWVhc3Vy
ZVBvc3RMb2FkTWVtb3J5VXNhZ2U6IFByb2Nlc3Mgd2FzIHVzaW5nICVsbHUgYnl0ZXMgb2YgbWVt
b3J5IGFmdGVyIHRoZSBwYWdlIGxvYWQuIiwgbWVtb3J5VXNhZ2UudmFsdWUoKSk7CiAgICAgbV9w
YWdlLmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2UoRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpwb3N0UGFnZUxvYWRNZW1vcnlVc2FnZUtleSgpLCBEaWFnbm9zdGlj
TG9nZ2luZ0tleXM6Om1lbW9yeVVzYWdlVG9EaWFnbm9zdGljTG9nZ2luZ0tleShtZW1vcnlVc2Fn
ZS52YWx1ZSgpKSwgU2hvdWxkU2FtcGxlOjpObyk7CiAKICAgICAvLyBPbiBpT1MsIHdlIHJlcG9y
dCBhY3R1YWwgSmV0c2FtcyBpbnN0ZWFkLgpAQCAtMjE5LDcgKzIxOSw3IEBAIHZvaWQgUGVyZm9y
bWFuY2VNb25pdG9yOjptZWFzdXJlUG9zdEJhY2tncm91bmRpbmdNZW1vcnlVc2FnZSgpCiAgICAg
aWYgKCFtZW1vcnlVc2FnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRChQZXJmb3JtYW5jZUxvZ2dpbmcsICJtZWFzdXJlUG9zdEJhY2tncm91bmRpbmdNZW1v
cnlVc2FnZTogUHJvY2VzcyB3YXMgdXNpbmcgJWxsdSBieXRlcyBvZiBtZW1vcnkgYWZ0ZXIgYmVj
b21pbmcgbm9uIHZpc2libGUuIiwgbWVtb3J5VXNhZ2UudmFsdWUoKSk7CisgICAgUEVSRk1PTklU
T1JfUkVMRUFTRV9MT0coUGVyZm9ybWFuY2VMb2dnaW5nLCAibWVhc3VyZVBvc3RCYWNrZ3JvdW5k
aW5nTWVtb3J5VXNhZ2U6IFByb2Nlc3Mgd2FzIHVzaW5nICVsbHUgYnl0ZXMgb2YgbWVtb3J5IGFm
dGVyIGJlY29taW5nIG5vbiB2aXNpYmxlLiIsIG1lbW9yeVVzYWdlLnZhbHVlKCkpOwogICAgIG1f
cGFnZS5kaWFnbm9zdGljTG9nZ2luZ0NsaWVudCgpLmxvZ0RpYWdub3N0aWNNZXNzYWdlKERpYWdu
b3N0aWNMb2dnaW5nS2V5czo6cG9zdFBhZ2VCYWNrZ3JvdW5kaW5nTWVtb3J5VXNhZ2VLZXkoKSwg
RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjptZW1vcnlVc2FnZVRvRGlhZ25vc3RpY0xvZ2dpbmdLZXko
bWVtb3J5VXNhZ2UudmFsdWUoKSksIFNob3VsZFNhbXBsZTo6Tm8pOwogfQogCkBAIC0yNDEsNyAr
MjQxLDcgQEAgdm9pZCBQZXJmb3JtYW5jZU1vbml0b3I6Om1lYXN1cmVQb3N0QmFja2dyb3VuZGlu
Z0NQVVVzYWdlKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZG91YmxlIGNwdVVzYWdlID0gY3B1
VGltZS52YWx1ZSgpLnBlcmNlbnRhZ2VDUFVVc2FnZVNpbmNlKCptX3Bvc3RCYWNrZ3JvdW5kaW5n
Q1BVVGltZSk7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQZXJmb3JtYW5jZUxvZ2dpbmcs
ICJtZWFzdXJlUG9zdEJhY2tncm91bmRpbmdDUFVVc2FnZTogUHJvY2VzcyB3YXMgdXNpbmcgJS4x
ZiUlIENQVSBhZnRlciBiZWNvbWluZyBub24gdmlzaWJsZS4iLCBjcHVVc2FnZSk7CisgICAgUEVS
Rk1PTklUT1JfUkVMRUFTRV9MT0coUGVyZm9ybWFuY2VMb2dnaW5nLCAibWVhc3VyZVBvc3RCYWNr
Z3JvdW5kaW5nQ1BVVXNhZ2U6IFByb2Nlc3Mgd2FzIHVzaW5nICUuMWYlJSBDUFUgYWZ0ZXIgYmVj
b21pbmcgbm9uIHZpc2libGUuIiwgY3B1VXNhZ2UpOwogICAgIG1fcGFnZS5kaWFnbm9zdGljTG9n
Z2luZ0NsaWVudCgpLmxvZ0RpYWdub3N0aWNNZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6
cG9zdFBhZ2VCYWNrZ3JvdW5kaW5nQ1BVVXNhZ2VLZXkoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
OjpiYWNrZ3JvdW5kQ1BVVXNhZ2VUb0RpYWdub3N0aWNMb2dnaW5nS2V5KGNwdVVzYWdlKSwgU2hv
dWxkU2FtcGxlOjpObyk7CiB9CiAKQEAgLTI4OCw3ICsyODgsNyBAQCB2b2lkIFBlcmZvcm1hbmNl
TW9uaXRvcjo6bWVhc3VyZUNQVVVzYWdlSW5BY3Rpdml0eVN0YXRlKEFjdGl2aXR5U3RhdGVGb3JD
UFVTYW1wbAogCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgZG91YmxlIGNwdVVzYWdl
ID0gY3B1VGltZS52YWx1ZSgpLnBlcmNlbnRhZ2VDUFVVc2FnZVNpbmNlKCptX3BlckFjdGl2aXR5
U3RhdGVDUFVUaW1lKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFBlcmZvcm1hbmNlTG9n
Z2luZywgIm1lYXN1cmVDUFVVc2FnZUluQWN0aXZpdHlTdGF0ZTogUHJvY2VzcyBpcyB1c2luZyAl
LjFmJSUgQ1BVIGluIHN0YXRlOiAlcyIsIGNwdVVzYWdlLCBzdHJpbmdGb3JDUFVTYW1wbGluZ0Fj
dGl2aXR5U3RhdGUoYWN0aXZpdHlTdGF0ZSkpOworICAgIFBFUkZNT05JVE9SX1JFTEVBU0VfTE9H
KFBlcmZvcm1hbmNlTG9nZ2luZywgIm1lYXN1cmVDUFVVc2FnZUluQWN0aXZpdHlTdGF0ZTogUHJv
Y2VzcyBpcyB1c2luZyAlLjFmJSUgQ1BVIGluIHN0YXRlOiAlcyIsIGNwdVVzYWdlLCBzdHJpbmdG
b3JDUFVTYW1wbGluZ0FjdGl2aXR5U3RhdGUoYWN0aXZpdHlTdGF0ZSkpOwogI2VuZGlmCiAgICAg
bV9wYWdlLmNocm9tZSgpLmNsaWVudCgpLnJlcG9ydFByb2Nlc3NDUFVUaW1lKChjcHVUaW1lLnZh
bHVlKCkuc3lzdGVtVGltZSArIGNwdVRpbWUudmFsdWUoKS51c2VyVGltZSkgLSAobV9wZXJBY3Rp
dml0eVN0YXRlQ1BVVGltZS52YWx1ZSgpLnN5c3RlbVRpbWUgKyBtX3BlckFjdGl2aXR5U3RhdGVD
UFVUaW1lLnZhbHVlKCkudXNlclRpbWUpLCBhY3Rpdml0eVN0YXRlKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwCmluZGV4IDc5ZGNlNjdj
NjM4MTE0ZDg4ZjVjZjVhYWMwYWIzYTYxYmFjZjI3ODUuLmFhNDIyZjZjZjA2ZTlhN2RmMGRhZmI0
YTk5MmE5NWQyZTVjNGZjYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlci5jcHAKQEAgLTQ1LDggKzQ1LDggQEAKICNpbmNsdWRlIDx3dGYvSXNv
TWFsbG9jSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCi0jZGVm
aW5lIFdPUktFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19J
Rihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgU2VydmljZVdvcmtlciwgIiVwIC0gU2Vydmlj
ZVdvcmtlcjo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCi0jZGVmaW5lIFdPUktFUl9SRUxF
QVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihp
c0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgU2VydmljZVdvcmtlciwgIiVwIC0gU2VydmljZVdv
cmtlcjo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCisjZGVmaW5lIFdPUktFUl9SRUxFQVNF
X0xPRyhmbXQsIC4uLikgUkVMRUFTRV9MT0coU2VydmljZVdvcmtlciwgIiVwIC0gU2VydmljZVdv
cmtlcjo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCisjZGVmaW5lIFdPUktFUl9SRUxFQVNF
X0xPR19FUlJPUihmbXQsIC4uLikgUkVMRUFTRV9MT0dfRVJST1IoU2VydmljZVdvcmtlciwgIiVw
IC0gU2VydmljZVdvcmtlcjo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNzAsNyArNzAsNyBAQCBTZXJ2aWNlV29ya2VyOjpTZXJ2aWNlV29y
a2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJEYXRhJgog
ICAgIHJlbGF4QWRvcHRpb25SZXF1aXJlbWVudCgpOwogICAgIHVwZGF0ZVBlbmRpbmdBY3Rpdml0
eUZvckV2ZW50RGlzcGF0Y2goKTsKIAotICAgIFdPUktFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJzZXJ2aWNlV29ya2VySUQ9JWxsdSwgc3RhdGU9JWhodSIsIGlkZW50aWZpZXIoKS50b1VJbnQ2
NCgpLCBtX2RhdGEuc3RhdGUpOworICAgIFdPUktFUl9SRUxFQVNFX0xPRygic2VydmljZVdvcmtl
cklEPSVsbHUsIHN0YXRlPSVoaHUiLCBpZGVudGlmaWVyKCkudG9VSW50NjQoKSwgbV9kYXRhLnN0
YXRlKTsKIH0KIAogU2VydmljZVdvcmtlcjo6flNlcnZpY2VXb3JrZXIoKQpAQCAtODEsNyArODEs
NyBAQCBTZXJ2aWNlV29ya2VyOjp+U2VydmljZVdvcmtlcigpCiAKIHZvaWQgU2VydmljZVdvcmtl
cjo6dXBkYXRlU3RhdGUoU3RhdGUgc3RhdGUpCiB7Ci0gICAgV09SS0VSX1JFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoInVwZGF0ZVN0YXRlOiBVcGRhdGluZyBzZXJ2aWNlIHdvcmtlciAlbGx1IHN0YXRl
IGZyb20gJWhodSB0byAlaGh1LiByZWdpc3RyYXRpb25JRD0lbGx1IiwgaWRlbnRpZmllcigpLnRv
VUludDY0KCksIG1fZGF0YS5zdGF0ZSwgc3RhdGUsIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKS50
b1VJbnQ2NCgpKTsKKyAgICBXT1JLRVJfUkVMRUFTRV9MT0coInVwZGF0ZVN0YXRlOiBVcGRhdGlu
ZyBzZXJ2aWNlIHdvcmtlciAlbGx1IHN0YXRlIGZyb20gJWhodSB0byAlaGh1LiByZWdpc3RyYXRp
b25JRD0lbGx1IiwgaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1fZGF0YS5zdGF0ZSwgc3RhdGUs
IHJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAgICBtX2RhdGEuc3RhdGUg
PSBzdGF0ZTsKICAgICBpZiAoc3RhdGUgIT0gU3RhdGU6Okluc3RhbGxpbmcgJiYgIW1faXNTdG9w
cGVkKSB7CiAgICAgICAgIEFTU0VSVChtX3BlbmRpbmdBY3Rpdml0eUZvckV2ZW50RGlzcGF0Y2gp
OwpAQCAtMTYzLDE5ICsxNjMsNiBAQCB2b2lkIFNlcnZpY2VXb3JrZXI6OnVwZGF0ZVBlbmRpbmdB
Y3Rpdml0eUZvckV2ZW50RGlzcGF0Y2goKQogICAgIG1fcGVuZGluZ0FjdGl2aXR5Rm9yRXZlbnRE
aXNwYXRjaCA9IG1ha2VQZW5kaW5nQWN0aXZpdHkoKnRoaXMpOwogfQogCi1ib29sIFNlcnZpY2VX
b3JrZXI6OmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0Ci17Ci0gICAgYXV0byogY29u
dGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQtPnNlcnZp
Y2VXb3JrZXJDb250YWluZXIoKTsKLSAgICBpZiAoIWNvbnRhaW5lcikKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgcmV0dXJuIGNvbnRhaW5lci0+aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2Vk
KCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlci5oCmluZGV4IDU4ZDQ0NjI4YWZkYTdmZTIyZGZkNGU5MjM1ZDk5NTQ0ZTI0MTMyMzguLmNi
NTY3ZTJmODBhYjVhNmQwODdkZmQyNzVlYWVlNTU2YWUwY2ZmOGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaApAQCAtODIsOCArODIsNiBAQCBw
cml2YXRlOgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5h
bDsKICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKIAotICAgIGJvb2wgaXNBbHdheXNPbkxvZ2dpbmdB
bGxvd2VkKCkgY29uc3Q7Ci0KICAgICBTV0NsaWVudENvbm5lY3Rpb24mIHN3Q29ubmVjdGlvbigp
OwogCiAgICAgU2VydmljZVdvcmtlckRhdGEgbV9kYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4
IDY4NmI0ZWRhN2M2NjI1OGY1OTI4ZmJhMGIzZGQzMDY4NzdlYzYxN2UuLmU3NDM5ODc5NDgyYjcz
MzNlNGExNjJjYTYxY2I3ZTJhZWQzN2JiMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTU4LDgg
KzU4LDggQEAKICNpbmNsdWRlIDx3dGYvU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAK
LSNkZWZpbmUgQ09OVEFJTkVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVB
U0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBTZXJ2aWNlV29ya2VyLCAiJXAg
LSBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKLSNk
ZWZpbmUgQ09OVEFJTkVSX1JFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJF
TEVBU0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBTZXJ2aWNlV29y
a2VyLCAiJXAgLSBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FS
R1NfXykKKyNkZWZpbmUgQ09OVEFJTkVSX1JFTEVBU0VfTE9HKGZtdCwgLi4uKSBSRUxFQVNFX0xP
RyhTZXJ2aWNlV29ya2VyLCAiJXAgLSBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjoiIGZtdCwgdGhp
cywgIyNfX1ZBX0FSR1NfXykKKyNkZWZpbmUgQ09OVEFJTkVSX1JFTEVBU0VfTE9HX0VSUk9SKGZt
dCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2VyLCAiJXAgLSBTZXJ2aWNlV29y
a2VyQ29udGFpbmVyOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC0xNDIsMjAgKzE0MiwyMCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWlu
ZXI6OmFkZFJlZ2lzdHJhdGlvbihjb25zdCBTdHJpbmcmIHJlbGF0aXZlU2NyaXB0VVJMLCBjbwog
CiAgICAgam9iRGF0YS5zY3JpcHRVUkwgPSBjb250ZXh0LT5jb21wbGV0ZVVSTChyZWxhdGl2ZVNj
cmlwdFVSTCk7CiAgICAgaWYgKCFqb2JEYXRhLnNjcmlwdFVSTC5pc1ZhbGlkKCkpIHsKLSAgICAg
ICAgQ09OVEFJTkVSX1JFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImFkZFJlZ2lzdHJhdGlv
bjogSW52YWxpZCBzY3JpcHRVUkwiKTsKKyAgICAgICAgQ09OVEFJTkVSX1JFTEVBU0VfTE9HX0VS
Uk9SKCJhZGRSZWdpc3RyYXRpb246IEludmFsaWQgc2NyaXB0VVJMIik7CiAgICAgICAgIHByb21p
c2UtPnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsICJzZXJ2aWNlV29ya2VyLnJlZ2lzdGVy
KCkgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHZhbGlkIHJlbGF0aXZlIHNjcmlwdCBVUkwiX3MgfSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoIWpvYkRhdGEuc2NyaXB0VVJMLnBy
b3RvY29sSXNJbkhUVFBGYW1pbHkoKSkgewotICAgICAgICBDT05UQUlORVJfUkVMRUFTRV9MT0df
RVJST1JfSUZfQUxMT1dFRCgiYWRkUmVnaXN0cmF0aW9uOiBJbnZhbGlkIHNjcmlwdFVSTCBzY2hl
bWUgaXMgbm90IEhUVFAgb3IgSFRUUFMiKTsKKyAgICAgICAgQ09OVEFJTkVSX1JFTEVBU0VfTE9H
X0VSUk9SKCJhZGRSZWdpc3RyYXRpb246IEludmFsaWQgc2NyaXB0VVJMIHNjaGVtZSBpcyBub3Qg
SFRUUCBvciBIVFRQUyIpOwogICAgICAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgVHlw
ZUVycm9yLCAic2VydmljZVdvcmtlci5yZWdpc3RlcigpIG11c3QgYmUgY2FsbGVkIHdpdGggYSBz
Y3JpcHQgVVJMIHdob3NlIHByb3RvY29sIGlzIGVpdGhlciBIVFRQIG9yIEhUVFBTIl9zIH0pOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgYXV0byBwYXRoID0gam9iRGF0YS5zY3JpcHRV
UkwucGF0aCgpOwogICAgIGlmIChwYXRoLmNvbnRhaW5zSWdub3JpbmdBU0NJSUNhc2UoIiUyZiIp
IHx8IHBhdGguY29udGFpbnNJZ25vcmluZ0FTQ0lJQ2FzZSgiJTVjIikpIHsKLSAgICAgICAgQ09O
VEFJTkVSX1JFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImFkZFJlZ2lzdHJhdGlvbjogc2Ny
aXB0VVJMIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyIik7CisgICAgICAgIENPTlRBSU5FUl9S
RUxFQVNFX0xPR19FUlJPUigiYWRkUmVnaXN0cmF0aW9uOiBzY3JpcHRVUkwgY29udGFpbnMgaW52
YWxpZCBjaGFyYWN0ZXIiKTsKICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciwgInNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoKSBtdXN0IGJlIGNhbGxlZCB3aXRoIGEg
c2NyaXB0IFVSTCB3aG9zZSBwYXRoIGRvZXMgbm90IGNvbnRhaW4gJyUyZicgb3IgJyU1YyciX3Mg
fSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xNjYsMTkgKzE2NiwxOSBAQCB2b2lkIFNl
cnZpY2VXb3JrZXJDb250YWluZXI6OmFkZFJlZ2lzdHJhdGlvbihjb25zdCBTdHJpbmcmIHJlbGF0
aXZlU2NyaXB0VVJMLCBjbwogICAgICAgICBqb2JEYXRhLnNjb3BlVVJMID0gVVJMKGpvYkRhdGEu
c2NyaXB0VVJMLCAiLi8iKTsKIAogICAgIGlmICgham9iRGF0YS5zY29wZVVSTC5pc051bGwoKSAm
JiAham9iRGF0YS5zY29wZVVSTC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpIHsKLSAgICAgICAg
Q09OVEFJTkVSX1JFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImFkZFJlZ2lzdHJhdGlvbjog
c2NvcGVVUkwgc2NoZW1lIGlzIG5vdCBIVFRQIG9yIEhUVFBTIik7CisgICAgICAgIENPTlRBSU5F
Ul9SRUxFQVNFX0xPR19FUlJPUigiYWRkUmVnaXN0cmF0aW9uOiBzY29wZVVSTCBzY2hlbWUgaXMg
bm90IEhUVFAgb3IgSFRUUFMiKTsKICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciwgIlNjb3BlIFVSTCBwcm92aWRlZCB0byBzZXJ2aWNlV29ya2VyLnJlZ2lzdGVy
KCkgbXVzdCBiZSBlaXRoZXIgSFRUUCBvciBIVFRQUyJfcyB9KTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAogICAgIHBhdGggPSBqb2JEYXRhLnNjb3BlVVJMLnBhdGgoKTsKICAgICBpZiAocGF0
aC5jb250YWluc0lnbm9yaW5nQVNDSUlDYXNlKCIlMmYiKSB8fCBwYXRoLmNvbnRhaW5zSWdub3Jp
bmdBU0NJSUNhc2UoIiU1YyIpKSB7Ci0gICAgICAgIENPTlRBSU5FUl9SRUxFQVNFX0xPR19FUlJP
Ul9JRl9BTExPV0VEKCJhZGRSZWdpc3RyYXRpb246IHNjb3BlVVJMIGNvbnRhaW5zIGludmFsaWQg
Y2hhcmFjdGVyIik7CisgICAgICAgIENPTlRBSU5FUl9SRUxFQVNFX0xPR19FUlJPUigiYWRkUmVn
aXN0cmF0aW9uOiBzY29wZVVSTCBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlciIpOwogICAgICAg
ICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAiU2NvcGUgVVJMIHByb3Zp
ZGVkIHRvIHNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoKSBjYW5ub3QgaGF2ZSBhIHBhdGggdGhhdCBj
b250YWlucyAnJTJmJyBvciAnJTVjJyJfcyB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIENPTlRBSU5FUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJhZGRSZWdpc3RyYXRpb246IFJl
Z2lzdGVyaW5nIHNlcnZpY2Ugd29ya2VyLiBqb2JJRD0lIiBQUkl1NjQsIGpvYkRhdGEuaWRlbnRp
ZmllcigpLmpvYklkZW50aWZpZXIudG9VSW50NjQoKSk7CisgICAgQ09OVEFJTkVSX1JFTEVBU0Vf
TE9HKCJhZGRSZWdpc3RyYXRpb246IFJlZ2lzdGVyaW5nIHNlcnZpY2Ugd29ya2VyLiBqb2JJRD0l
IiBQUkl1NjQsIGpvYkRhdGEuaWRlbnRpZmllcigpLmpvYklkZW50aWZpZXIudG9VSW50NjQoKSk7
CiAKICAgICBqb2JEYXRhLmNsaWVudENyZWF0aW9uVVJMID0gY29udGV4dC0+dXJsKCk7CiAgICAg
am9iRGF0YS50b3BPcmlnaW4gPSBjb250ZXh0LT50b3BPcmlnaW4oKS5kYXRhKCk7CkBAIC0xOTgs
NyArMTk4LDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjp1bnJlZ2lzdGVyUmVnaXN0
cmF0aW9uKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGUKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIENPTlRBSU5FUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJ1bnJlZ2lzdGVyUmVn
aXN0cmF0aW9uOiBVbnJlZ2lzdGVyaW5nIHNlcnZpY2Ugd29ya2VyLiIpOworICAgIENPTlRBSU5F
Ul9SRUxFQVNFX0xPRygidW5yZWdpc3RlclJlZ2lzdHJhdGlvbjogVW5yZWdpc3RlcmluZyBzZXJ2
aWNlIHdvcmtlci4iKTsKICAgICBtX3N3Q29ubmVjdGlvbi0+c2NoZWR1bGVVbnJlZ2lzdGVySm9i
SW5TZXJ2ZXIocmVnaXN0cmF0aW9uSWRlbnRpZmllciwgY29udGV4dElkZW50aWZpZXIoKSwgW3By
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAg
ICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKICAgICB9KTsKQEAgLTIyNSw3ICsy
MjUsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnVwZGF0ZVJlZ2lzdHJhdGlvbihj
b25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmCiAgICAgam9iRGF0YS5zY29wZVVSTCA9IHNj
b3BlVVJMOwogICAgIGpvYkRhdGEuc2NyaXB0VVJMID0gc2NyaXB0VVJMOwogCi0gICAgQ09OVEFJ
TkVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInJlbW92ZVJlZ2lzdHJhdGlvbjogVXBkYXRpbmcg
c2VydmljZSB3b3JrZXIuIGpvYklEPSUiIFBSSXU2NCwgam9iRGF0YS5pZGVudGlmaWVyKCkuam9i
SWRlbnRpZmllci50b1VJbnQ2NCgpKTsKKyAgICBDT05UQUlORVJfUkVMRUFTRV9MT0coInJlbW92
ZVJlZ2lzdHJhdGlvbjogVXBkYXRpbmcgc2VydmljZSB3b3JrZXIuIGpvYklEPSUiIFBSSXU2NCwg
am9iRGF0YS5pZGVudGlmaWVyKCkuam9iSWRlbnRpZmllci50b1VJbnQ2NCgpKTsKIAogICAgIHNj
aGVkdWxlSm9iKG1ha2VVbmlxdWU8U2VydmljZVdvcmtlckpvYj4oKnRoaXMsIFdURk1vdmUocHJv
bWlzZSksIFdURk1vdmUoam9iRGF0YSkpKTsKIH0KQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIFNl
cnZpY2VXb3JrZXJDb250YWluZXI6OmpvYkZhaWxlZFdpdGhFeGNlcHRpb24oU2VydmljZVdvcmtl
ckpvYiYgam9iLCBjb25zdAogICAgICAgICBkZXN0cm95Sm9iKGpvYik7CiAgICAgfSk7CiAKLSAg
ICBDT05UQUlORVJfUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRCgiam9iRmFpbGVkV2l0aEV4
Y2VwdGlvbjogSm9iICUiIFBSSXU2NCAiIGZhaWxlZCB3aXRoIGVycm9yICVzIiwgam9iLmlkZW50
aWZpZXIoKS50b1VJbnQ2NCgpLCBleGNlcHRpb24ubWVzc2FnZSgpLnV0ZjgoKS5kYXRhKCkpOwor
ICAgIENPTlRBSU5FUl9SRUxFQVNFX0xPR19FUlJPUigiam9iRmFpbGVkV2l0aEV4Y2VwdGlvbjog
Sm9iICUiIFBSSXU2NCAiIGZhaWxlZCB3aXRoIGVycm9yICVzIiwgam9iLmlkZW50aWZpZXIoKS50
b1VJbnQ2NCgpLCBleGNlcHRpb24ubWVzc2FnZSgpLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgYXV0
byBwcm9taXNlID0gam9iLnRha2VQcm9taXNlKCk7CiAgICAgaWYgKCFwcm9taXNlKQpAQCAtMzU1
LDEwICszNTUsMTAgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdp
dGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYgam9iLAogICAgIEFTU0VSVF9XSVRIX01F
U1NBR0Uoam9iLmhhc1Byb21pc2UoKSB8fCBqb2IuZGF0YSgpLnR5cGUgPT0gU2VydmljZVdvcmtl
ckpvYlR5cGU6OlVwZGF0ZSwgIk9ubHkgc29mdCB1cGRhdGVzIGhhdmUgbm8gcHJvbWlzZSIpOwog
CiAgICAgaWYgKGpvYi5kYXRhKCkudHlwZSA9PSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6UmVnaXN0
ZXIpCi0gICAgICAgIENPTlRBSU5FUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJqb2JSZXNvbHZl
ZFdpdGhSZWdpc3RyYXRpb246IFJlZ2lzdHJhdGlvbiBqb2IgJSIgUFJJdTY0ICIgc3VjY2VlZGVk
Iiwgam9iLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKKyAgICAgICAgQ09OVEFJTkVSX1JFTEVB
U0VfTE9HKCJqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb246IFJlZ2lzdHJhdGlvbiBqb2IgJSIg
UFJJdTY0ICIgc3VjY2VlZGVkIiwgam9iLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAgICBl
bHNlIHsKICAgICAgICAgQVNTRVJUKGpvYi5kYXRhKCkudHlwZSA9PSBTZXJ2aWNlV29ya2VySm9i
VHlwZTo6VXBkYXRlKTsKLSAgICAgICAgQ09OVEFJTkVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
ImpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbjogVXBkYXRlIGpvYiAlIiBQUkl1NjQgIiBzdWNj
ZWVkZWQiLCBqb2IuaWRlbnRpZmllcigpLnRvVUludDY0KCkpOworICAgICAgICBDT05UQUlORVJf
UkVMRUFTRV9MT0coImpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbjogVXBkYXRlIGpvYiAlIiBQ
Ukl1NjQgIiBzdWNjZWVkZWQiLCBqb2IuaWRlbnRpZmllcigpLnRvVUludDY0KCkpOwogICAgIH0K
IAogICAgIGF1dG8gZ3VhcmQgPSBXVEY6Om1ha2VTY29wZUV4aXQoW3RoaXMsICZqb2JdIHsKQEAg
LTM4Miw3ICszODIsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVk
V2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VySm9iJiBqb2IsCiAKICAgICAgICAgYXV0byBy
ZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgqc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCAqdGhpcywgV1RGTW92ZShkYXRhKSk7CiAKLSAgICAgICAg
Q09OVEFJTkVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImpvYlJlc29sdmVkV2l0aFJlZ2lzdHJh
dGlvbjogUmVzb2x2aW5nIHByb21pc2UgZm9yIGpvYiAlIiBQUkl1NjQgIi4gcmVnaXN0cmF0aW9u
SUQ9JSIgUFJJdTY0LCBqb2JJZGVudGlmaWVyLnRvVUludDY0KCksIHJlZ2lzdHJhdGlvbi0+aWRl
bnRpZmllcigpLnRvVUludDY0KCkpOworICAgICAgICBDT05UQUlORVJfUkVMRUFTRV9MT0coImpv
YlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbjogUmVzb2x2aW5nIHByb21pc2UgZm9yIGpvYiAlIiBQ
Ukl1NjQgIi4gcmVnaXN0cmF0aW9uSUQ9JSIgUFJJdTY0LCBqb2JJZGVudGlmaWVyLnRvVUludDY0
KCksIHJlZ2lzdHJhdGlvbi0+aWRlbnRpZmllcigpLnRvVUludDY0KCkpOwogCiAgICAgICAgIGlm
IChzaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQgPT0gU2hvdWxkTm90aWZ5V2hlblJlc29sdmVkOjpZ
ZXMpIHsKICAgICAgICAgICAgIG1fb25nb2luZ1NldHRsZWRSZWdpc3RyYXRpb25zLmFkZCgrK21f
bGFzdE9uZ29pbmdTZXR0bGVkUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgcmVnaXN0cmF0aW9uLT5k
YXRhKCkua2V5KTsKQEAgLTQyNyw3ICs0MjcsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWlu
ZXI6OmpvYlJlc29sdmVkV2l0aFVucmVnaXN0cmF0aW9uUmVzdWx0KFNlcnZpY2VXb3JrZXJKbwog
ICAgICAgICBkZXN0cm95Sm9iKGpvYik7CiAgICAgfSk7CiAKLSAgICBDT05UQUlORVJfUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRCgiam9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQ6IFVu
cmVnaXN0ZXIgam9iICUiIFBSSXU2NCAiIGZpbmlzaGVkLiBTdWNjZXNzPyAlZCIsIGpvYi5pZGVu
dGlmaWVyKCkudG9VSW50NjQoKSwgdW5yZWdpc3RyYXRpb25SZXN1bHQpOworICAgIENPTlRBSU5F
Ul9SRUxFQVNFX0xPRygiam9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQ6IFVucmVn
aXN0ZXIgam9iICUiIFBSSXU2NCAiIGZpbmlzaGVkLiBTdWNjZXNzPyAlZCIsIGpvYi5pZGVudGlm
aWVyKCkudG9VSW50NjQoKSwgdW5yZWdpc3RyYXRpb25SZXN1bHQpOwogCiAgICAgYXV0byogY29u
dGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpIHsKQEAg
LTQ0NCw3ICs0NDQsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnN0YXJ0U2NyaXB0
RmV0Y2hGb3JKb2IoU2VydmljZVdvcmtlckpvYiYgam9iLCBGZXRjaAogewogICAgIEFTU0VSVCht
X2NyZWF0aW9uVGhyZWFkLnB0cigpID09ICZUaHJlYWQ6OmN1cnJlbnQoKSk7CiAKLSAgICBDT05U
QUlORVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3RhcnRTY3JpcHRGZXRjaEZvckpvYjogU3Rh
cnRpbmcgc2NyaXB0IGZldGNoIGZvciBqb2IgJSIgUFJJdTY0LCBqb2IuaWRlbnRpZmllcigpLnRv
VUludDY0KCkpOworICAgIENPTlRBSU5FUl9SRUxFQVNFX0xPRygic3RhcnRTY3JpcHRGZXRjaEZv
ckpvYjogU3RhcnRpbmcgc2NyaXB0IGZldGNoIGZvciBqb2IgJSIgUFJJdTY0LCBqb2IuaWRlbnRp
ZmllcigpLnRvVUludDY0KCkpOwogCiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpIHsKQEAgLTQ2MSw3ICs0NjEsNyBAQCB2b2lk
IFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNl
V29ya2VySm9iJiBqb2IsIGNvbgogewogICAgIEFTU0VSVChtX2NyZWF0aW9uVGhyZWFkLnB0cigp
ID09ICZUaHJlYWQ6OmN1cnJlbnQoKSk7CiAKLSAgICBDT05UQUlORVJfUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgiam9iRmluaXNoZWRMb2FkaW5nU2NyaXB0OiBTdWNjZXNzZnVseSBmaW5pc2hlZCBm
ZXRjaGluZyBzY3JpcHQgZm9yIGpvYiAlIiBQUkl1NjQsIGpvYi5pZGVudGlmaWVyKCkudG9VSW50
NjQoKSk7CisgICAgQ09OVEFJTkVSX1JFTEVBU0VfTE9HKCJqb2JGaW5pc2hlZExvYWRpbmdTY3Jp
cHQ6IFN1Y2Nlc3NmdWx5IGZpbmlzaGVkIGZldGNoaW5nIHNjcmlwdCBmb3Igam9iICUiIFBSSXU2
NCwgam9iLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKIAogICAgIGVuc3VyZVNXQ2xpZW50Q29u
bmVjdGlvbigpLmZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoU2VydmljZVdvcmtlckZldGNo
UmVzdWx0IHsgam9iLmRhdGEoKS5pZGVudGlmaWVyKCksIGpvYi5kYXRhKCkucmVnaXN0cmF0aW9u
S2V5KCksIHNjcmlwdCwgY2VydGlmaWNhdGVJbmZvLCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIHJl
ZmVycmVyUG9saWN5LCB7IH0gfSk7CiB9CkBAIC00NzEsNyArNDcxLDcgQEAgdm9pZCBTZXJ2aWNl
V29ya2VyQ29udGFpbmVyOjpqb2JGYWlsZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2Im
IGpvYiwgY29uc3QKICAgICBBU1NFUlQobV9jcmVhdGlvblRocmVhZC5wdHIoKSA9PSAmVGhyZWFk
OjpjdXJyZW50KCkpOwogICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uoam9iLmhhc1Byb21pc2UoKSB8
fCBqb2IuZGF0YSgpLnR5cGUgPT0gU2VydmljZVdvcmtlckpvYlR5cGU6OlVwZGF0ZSwgIk9ubHkg
c29mdCB1cGRhdGVzIGhhdmUgbm8gcHJvbWlzZSIpOwogCi0gICAgQ09OVEFJTkVSX1JFTEVBU0Vf
TE9HX0VSUk9SX0lGX0FMTE9XRUQoImpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdDogRmFpbGVkIHRv
IGZldGNoIHNjcmlwdCBmb3Igam9iICUiIFBSSXU2NCAiLCBlcnJvcjogJXMiLCBqb2IuaWRlbnRp
ZmllcigpLnRvVUludDY0KCksIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkudXRmOCgpLmRh
dGEoKSk7CisgICAgQ09OVEFJTkVSX1JFTEVBU0VfTE9HX0VSUk9SKCJqb2JGaW5pc2hlZExvYWRp
bmdTY3JpcHQ6IEZhaWxlZCB0byBmZXRjaCBzY3JpcHQgZm9yIGpvYiAlIiBQUkl1NjQgIiwgZXJy
b3I6ICVzIiwgam9iLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBlcnJvci5sb2NhbGl6ZWREZXNj
cmlwdGlvbigpLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgaWYgKGF1dG8gcHJvbWlzZSA9IGpvYi50
YWtlUHJvbWlzZSgpKSB7CiAgICAgICAgIHF1ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhp
cywgVGFza1NvdXJjZTo6RE9NTWFuaXB1bGF0aW9uLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSksIGV4Y2VwdGlvbiA9IFdURk1vdmUoZXhjZXB0aW9uKV0oKSBtdXRhYmxlIHsKQEAgLTU2OSwy
MSArNTY5LDYgQEAgU2VydmljZVdvcmtlckpvYiogU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9i
KFNlcnZpY2VXb3JrZXJKb2JJZGVudGlmaWVyIGlkZW50aWYKICAgICByZXR1cm4gaXRlcmF0b3It
PnZhbHVlLmpvYi5nZXQoKTsKIH0KIAotYm9vbCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjppc0Fs
d2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdAotewotICAgIGF1dG8qIGNvbnRleHQgPSBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgaWYgKCFjb250ZXh0KQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICBpZiAoaXM8RG9jdW1lbnQ+KCpjb250ZXh0KSkgewotICAgICAgICBhdXRv
KiBwYWdlID0gZG93bmNhc3Q8RG9jdW1lbnQ+KCpjb250ZXh0KS5wYWdlKCk7Ci0gICAgICAgIHJl
dHVybiBwYWdlICYmIHBhZ2UtPnNlc3Npb25JRCgpLmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgp
OwotICAgIH0KLQotICAgIC8vIEZJWE1FOiBObyBsb2dnaW5nIGluc2lkZSBzZXJ2aWNlIHdvcmtl
cnMgZm9yIG5vdy4KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIGJvb2wgU2VydmljZVdvcmtlckNv
bnRhaW5lcjo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJl
ZjxFdmVudExpc3RlbmVyPiYmIGV2ZW50TGlzdGVuZXIsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJP
cHRpb25zJiBvcHRpb25zKQogewogICAgIC8vIFNldHRpbmcgdGhlIG9ubWVzc2FnZSBFdmVudEhh
bmRsZXIgYXR0cmlidXRlIG9uIHRoZSBTZXJ2aWNlV29ya2VyQ29udGFpbmVyIHNob3VsZCBzdGFy
dCB0aGUgbWVzc2FnZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCmluZGV4IDFlMjA1OTg5YjMyNzIwMmE0ZWE2YzVj
MmI4MWVjY2NiZGMyNWQxMmMuLmU3ZWFkMjIyNjA1NmZiZDU5MDBlZDJhNzNmODA2ODdiNmY0YjM3
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuaApAQCAtODksOCArODksNiBAQCBwdWJsaWM6CiAKICAgICBib29s
IGlzU3RvcHBlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNTdG9wcGVkOyB9OwogCi0gICAgYm9vbCBp
c0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsKLQogICAgIE5hdmlnYXRvckJhc2UqIG5h
dmlnYXRvcigpIHsgcmV0dXJuICZtX25hdmlnYXRvcjsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uY3BwCmluZGV4IDc4YzBlMTEwMTBjMWRkYzFhMDQ2OTU2NDQwOTAxZjEwNGNjYmNh
MGIuLjMwZGI4ZDlhYjAzY2QzOTYxMGUyYjExMDQyMTdlOTljZjNlYTI3ODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbi5jcHAKQEAgLTM5LDggKzM5LDggQEAKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxT
Y29wZS5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKLSNkZWZpbmUgUkVH
SVNUUkFUSU9OX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lG
KG1fY29udGFpbmVyLT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgU2VydmljZVdvcmtlciwg
IiVwIC0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdT
X18pCi0jZGVmaW5lIFJFR0lTVFJBVElPTl9SRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGZt
dCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihtX2NvbnRhaW5lci0+aXNBbHdheXNPbkxvZ2dp
bmdBbGxvd2VkKCksIFNlcnZpY2VXb3JrZXIsICIlcCAtIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b246OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQorI2RlZmluZSBSRUdJU1RSQVRJT05fUkVM
RUFTRV9MT0coZm10LCAuLi4pIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICIlcCAtIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb246OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQorI2RlZmlu
ZSBSRUdJU1RSQVRJT05fUkVMRUFTRV9MT0dfRVJST1IoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0VS
Uk9SKFNlcnZpY2VXb3JrZXIsICIlcCAtIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OiIgZm10
LCB0aGlzLCAjI19fVkFfQVJHU19fKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTcxLDcg
KzcxLDcgQEAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb24KICAgICBpZiAobV9yZWdpc3RyYXRpb25E
YXRhLmFjdGl2ZVdvcmtlcikKICAgICAgICAgbV9hY3RpdmVXb3JrZXIgPSBTZXJ2aWNlV29ya2Vy
OjpnZXRPckNyZWF0ZShjb250ZXh0LCBXVEZNb3ZlKCptX3JlZ2lzdHJhdGlvbkRhdGEuYWN0aXZl
V29ya2VyKSk7CiAKLSAgICBSRUdJU1RSQVRJT05fUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjogSUQgJWxsdSwgaW5zdGFsbGluZz0lbGx1LCB3YWl0aW5n
PSVsbHUsIGFjdGl2ZT0lbGx1IiwgaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1faW5zdGFsbGlu
Z1dvcmtlciA/IG1faW5zdGFsbGluZ1dvcmtlci0+aWRlbnRpZmllcigpLnRvVUludDY0KCkgOiAw
LCBtX3dhaXRpbmdXb3JrZXIgPyBtX3dhaXRpbmdXb3JrZXItPmlkZW50aWZpZXIoKS50b1VJbnQ2
NCgpIDogMCwgbV9hY3RpdmVXb3JrZXIgPyBtX2FjdGl2ZVdvcmtlci0+aWRlbnRpZmllcigpLnRv
VUludDY0KCkgOiAwKTsKKyAgICBSRUdJU1RSQVRJT05fUkVMRUFTRV9MT0coIlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246IElEICVsbHUsIGluc3RhbGxpbmc9JWxsdSwgd2FpdGluZz0lbGx1LCBh
Y3RpdmU9JWxsdSIsIGlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBtX2luc3RhbGxpbmdXb3JrZXIg
PyBtX2luc3RhbGxpbmdXb3JrZXItPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpIDogMCwgbV93YWl0
aW5nV29ya2VyID8gbV93YWl0aW5nV29ya2VyLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSA6IDAs
IG1fYWN0aXZlV29ya2VyID8gbV9hY3RpdmVXb3JrZXItPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgp
IDogMCk7CiAKICAgICBtX2NvbnRhaW5lci0+YWRkUmVnaXN0cmF0aW9uKCp0aGlzKTsKIApAQCAt
MTY1LDE1ICsxNjUsMTUgQEAgdm9pZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGVT
dGF0ZUZyb21TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblMKIHsKICAgICBzd2l0Y2gg
KHN0YXRlKSB7CiAgICAgY2FzZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGU6Okluc3Rh
bGxpbmc6Ci0gICAgICAgIFJFR0lTVFJBVElPTl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJ1cGRh
dGVTdGF0ZUZyb21TZXJ2ZXI6IFNldHRpbmcgcmVnaXN0cmF0aW9uICVsbHUgaW5zdGFsbGluZyB3
b3JrZXIgdG8gJWxsdSIsIGlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBzZXJ2aWNlV29ya2VyID8g
c2VydmljZVdvcmtlci0+aWRlbnRpZmllcigpLnRvVUludDY0KCkgOiAwKTsKKyAgICAgICAgUkVH
SVNUUkFUSU9OX1JFTEVBU0VfTE9HKCJ1cGRhdGVTdGF0ZUZyb21TZXJ2ZXI6IFNldHRpbmcgcmVn
aXN0cmF0aW9uICVsbHUgaW5zdGFsbGluZyB3b3JrZXIgdG8gJWxsdSIsIGlkZW50aWZpZXIoKS50
b1VJbnQ2NCgpLCBzZXJ2aWNlV29ya2VyID8gc2VydmljZVdvcmtlci0+aWRlbnRpZmllcigpLnRv
VUludDY0KCkgOiAwKTsKICAgICAgICAgbV9pbnN0YWxsaW5nV29ya2VyID0gV1RGTW92ZShzZXJ2
aWNlV29ya2VyKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uU3RhdGU6OldhaXRpbmc6Ci0gICAgICAgIFJFR0lTVFJBVElPTl9SRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJ1cGRhdGVTdGF0ZUZyb21TZXJ2ZXI6IFNldHRpbmcgcmVnaXN0cmF0aW9uICVs
bHUgd2FpdGluZyB3b3JrZXIgdG8gJWxsdSIsIGlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBzZXJ2
aWNlV29ya2VyID8gc2VydmljZVdvcmtlci0+aWRlbnRpZmllcigpLnRvVUludDY0KCkgOiAwKTsK
KyAgICAgICAgUkVHSVNUUkFUSU9OX1JFTEVBU0VfTE9HKCJ1cGRhdGVTdGF0ZUZyb21TZXJ2ZXI6
IFNldHRpbmcgcmVnaXN0cmF0aW9uICVsbHUgd2FpdGluZyB3b3JrZXIgdG8gJWxsdSIsIGlkZW50
aWZpZXIoKS50b1VJbnQ2NCgpLCBzZXJ2aWNlV29ya2VyID8gc2VydmljZVdvcmtlci0+aWRlbnRp
ZmllcigpLnRvVUludDY0KCkgOiAwKTsKICAgICAgICAgbV93YWl0aW5nV29ya2VyID0gV1RGTW92
ZShzZXJ2aWNlV29ya2VyKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uU3RhdGU6OkFjdGl2ZToKLSAgICAgICAgUkVHSVNUUkFUSU9OX1JFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoInVwZGF0ZVN0YXRlRnJvbVNlcnZlcjogU2V0dGluZyByZWdpc3RyYXRp
b24gJWxsdSBhY3RpdmUgd29ya2VyIHRvICVsbHUiLCBpZGVudGlmaWVyKCkudG9VSW50NjQoKSwg
c2VydmljZVdvcmtlciA/IHNlcnZpY2VXb3JrZXItPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpIDog
MCk7CisgICAgICAgIFJFR0lTVFJBVElPTl9SRUxFQVNFX0xPRygidXBkYXRlU3RhdGVGcm9tU2Vy
dmVyOiBTZXR0aW5nIHJlZ2lzdHJhdGlvbiAlbGx1IGFjdGl2ZSB3b3JrZXIgdG8gJWxsdSIsIGlk
ZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBzZXJ2aWNlV29ya2VyID8gc2VydmljZVdvcmtlci0+aWRl
bnRpZmllcigpLnRvVUludDY0KCkgOiAwKTsKICAgICAgICAgbV9hY3RpdmVXb3JrZXIgPSBXVEZN
b3ZlKHNlcnZpY2VXb3JrZXIpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xODQsNyArMTg0
LDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpxdWV1ZVRhc2tUb0ZpcmVVcGRh
dGVGb3VuZEV2ZW50KCkKICAgICBpZiAoaXNDb250ZXh0U3RvcHBlZCgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBSRUdJU1RSQVRJT05fUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZmlyZVVwZGF0
ZUZvdW5kRXZlbnQ6IEZpcmluZyB1cGRhdGVmb3VuZCBldmVudCBmb3IgcmVnaXN0cmF0aW9uICVs
bHUiLCBpZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CisgICAgUkVHSVNUUkFUSU9OX1JFTEVBU0Vf
TE9HKCJmaXJlVXBkYXRlRm91bmRFdmVudDogRmlyaW5nIHVwZGF0ZWZvdW5kIGV2ZW50IGZvciBy
ZWdpc3RyYXRpb24gJWxsdSIsIGlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKIAogICAgIHF1ZXVl
VGFza1RvRGlzcGF0Y2hFdmVudCgqdGhpcywgVGFza1NvdXJjZTo6RE9NTWFuaXB1bGF0aW9uLCBF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS51cGRhdGVmb3VuZEV2ZW50LCBFdmVudDo6Q2FuQnVi
YmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>