<?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>227374</bug_id>
          
          <creation_ts>2021-06-24 13:02:20 -0700</creation_ts>
          <short_desc>Improve release logging in WebProcessProxy</short_desc>
          <delta_ts>2021-06-24 17:01:03 -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>WebKit2</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>
          <dependson>227380</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1772425</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-24 13:02:20 -0700</bug_when>
    <thetext>Improve release logging in WebProcessProxy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772427</commentid>
    <comment_count>1</comment_count>
      <attachid>432204</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-24 13:07:17 -0700</bug_when>
    <thetext>Created attachment 432204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772428</commentid>
    <comment_count>2</comment_count>
      <attachid>432204</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-06-24 13:10:14 -0700</bug_when>
    <thetext>Comment on attachment 432204
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772459</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-24 14:39:00 -0700</bug_when>
    <thetext>Committed r279244 (239129@main): &lt;https://commits.webkit.org/239129@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432204.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772460</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-24 14:39:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/79743103&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772489</commentid>
    <comment_count>5</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-06-24 16:52:13 -0700</bug_when>
    <thetext>It looks like the changes in https://trac.webkit.org/changeset/279244/webkit

has caused http/tests/workers/service/postmessage-after-terminate.https.html

to timeout on Mac, tracking in https://bugs.webkit.org/show_bug.cgi?id=227380</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432204</attachid>
            <date>2021-06-24 13:07:17 -0700</date>
            <delta_ts>2021-06-24 14:39:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227374-20210624130716.patch</filename>
            <type>text/plain</type>
            <size>36829</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVhZTczZjRmYmYwZjQ1NWJh
Y2JjYjNmOWQzMjYzNDZlNjg3YTE2NWYuLmFmOTgxYTlkNjkxNjQyMmQ5MjYxMGZkMWJlYjdiNTBl
ZWUyNWE1ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjUgQEAKKzIwMjEtMDYtMjQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBJbXByb3ZlIHJlbGVhc2UgbG9nZ2lu
ZyBpbiBXZWJQcm9jZXNzUHJveHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzM3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcHJvdmUgcmVsZWFzZSBsb2dnaW5nIGluIFdlYlByb2Nlc3NQcm94eToK
KyAgICAgICAgLSBBZGQgbW9yZSBsb2dnaW5nCisgICAgICAgIC0gVXNlIG1vcmUgY29uc2lzdGVu
dCBsb2dnaW5nIGZvcm1hdCB0byBmYWNpbGlhdGUgZ3JlcCdpbmcKKyAgICAgICAgLSBBbHdheXMg
aW5jbHVkZSBwb2ludGVyIGFuZCBQSUQgaW4gdGhlIGxvZ2dpbmcKKworICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29s
OjplbmFibGVQcm9jZXNzVGVybWluYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6ZGlzYWJsZVByb2Nlc3NUZXJtaW5hdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6fldlYlByb2Nlc3NQcm94eSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2V0SXNJblByb2Nlc3NDYWNoZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2V0V2Vic2l0ZURhdGFTdG9yZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6YWRkUHJvdmlzaW9uYWxQYWdlUHJveHkp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnJlbW92ZVByb3Zpc2lvbmFsUGFn
ZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2lsbFNo
dXREb3duKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzaHV0RG93bik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6YWRkRXhpc3RpbmdXZWJQYWdlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjptYXJrSXNOb0xvbmdlckluUHJld2FybWVk
UG9vbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cmVtb3ZlV2ViUGFnZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6Y2hlY2tVUkxSZWNlaXZlZEZyb21X
ZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpncHVQcm9jZXNz
RXhpdGVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc0RpZFRlcm1pbmF0ZU9yRmFp
bGVkVG9MYXVuY2gpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpZEJlY29t
ZVVucmVzcG9uc2l2ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkQmVj
b21lUmVzcG9uc2l2ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkRmlu
aXNoTGF1bmNoaW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpjYW5CZUFk
ZGVkVG9XZWJQcm9jZXNzQ2FjaGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UHJveHk6OmNhblRlcm1pbmF0ZUF1eGlsaWFyeVByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUHJveHk6OnJlcXVlc3RUZXJtaW5hdGlvbik6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQcm94eTo6c2VuZFByZXBhcmVUb1N1c3BlbmQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUHJveHk6OnNlbmRQcm9jZXNzRGlkUmVzdW1lKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRTZXRBc3NlcnRpb25UeXBlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5Ojp1cGRhdGVBdWRpYmxlTWVkaWFBc3NlcnRpb25zKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1Rlcm1pbmF0ZWQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpZEV4Y2VlZEFjdGl2ZU1lbW9yeUxpbWl0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRFeGNlZWRJbmFjdGl2ZU1l
bW9yeUxpbWl0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRFeGNlZWRD
UFVMaW1pdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkU3RhcnRQcm92
aXNpb25hbExvYWRGb3JNYWluRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJv
eHk6OmluY3JlbWVudFN1c3BlbmRlZFBhZ2VDb3VudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NQcm94eTo6ZGVjcmVtZW50U3VzcGVuZGVkUGFnZUNvdW50KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzUG9vbElmRXhpc3RzIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzdGFydEJhY2tncm91bmRBY3Rpdml0eUZvckZ1bGxz
Y3JlZW5JbnB1dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZW5kQmFja2dy
b3VuZEFjdGl2aXR5Rm9yRnVsbHNjcmVlbklucHV0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Byb3h5Ojplc3RhYmxpc2hTZXJ2aWNlV29ya2VyQ29udGV4dCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQcm94eTo6dXBkYXRlU2VydmljZVdvcmtlclByb2Nlc3NBc3NlcnRpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnJlZ2lzdGVyU2VydmljZVdvcmtl
ckNsaWVudFByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnVucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50UHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NQcm94eTo6ZGlzYWJsZVNlcnZpY2VXb3JrZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Byb3h5OjplbmFibGVTZXJ2aWNlV29ya2Vycyk6CisKIDIwMjEtMDYtMjQgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcmVsZWFzZSBsb2dnaW5n
IGluIHRoZSBXZWJQYWdlIGNvbnN0cnVjdG9yIC8gZGVzdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDliNWI2YTQ4NDc3ZDA1MzQ4MjZlN2I4
OTg1NjZmOGJlMGMyOGIyZTQuLjEwMTRhMjY3Y2Y2OWJmYmI0ZTNiNTQwMjZhNzQ1MDM3ZTkxZjdk
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTgz
Nyw2ICs4MzcsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwcmV3YXJtUHJvY2VzcygpCiAKIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OmVuYWJsZVByb2Nlc3NUZXJtaW5hdGlvbigpCiB7CisgICAgV0VC
UFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0coUHJvY2VzcywgImVuYWJsZVByb2Nlc3NUZXJtaW5hdGlv
bjoiKTsKICAgICBtX3Byb2Nlc3NUZXJtaW5hdGlvbkVuYWJsZWQgPSB0cnVlOwogICAgIFZlY3Rv
cjxSZWY8V2ViUHJvY2Vzc1Byb3h5Pj4gcHJvY2Vzc2VzID0gbV9wcm9jZXNzZXM7CiAgICAgZm9y
IChhdXRvJiBwcm9jZXNzIDogcHJvY2Vzc2VzKSB7CkBAIC04NDUsNiArODQ2LDE1IEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmVuYWJsZVByb2Nlc3NUZXJtaW5hdGlvbigpCiAgICAgfQogfQogCit2
b2lkIFdlYlByb2Nlc3NQb29sOjpkaXNhYmxlUHJvY2Vzc1Rlcm1pbmF0aW9uKCkKK3sKKyAgICBp
ZiAoIW1fcHJvY2Vzc1Rlcm1pbmF0aW9uRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
V0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0coUHJvY2VzcywgImRpc2FibGVQcm9jZXNzVGVybWlu
YXRpb246Iik7CisgICAgbV9wcm9jZXNzVGVybWluYXRpb25FbmFibGVkID0gZmFsc2U7Cit9CisK
IGJvb2wgV2ViUHJvY2Vzc1Bvb2w6OnNob3VsZFRlcm1pbmF0ZShXZWJQcm9jZXNzUHJveHkmIHBy
b2Nlc3MpCiB7CiAgICAgQVNTRVJUKG1fcHJvY2Vzc2VzLmNvbnRhaW5zKHByb2Nlc3MpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDU3YzA4ZWZlYzg2OWQ1
M2EyZjgxMmVhODRhYjZkZjZlZjIwZDgxOWIuLmQ1M2U3YWI2MTkyYzBiM2Y1MGMwNmFmM2ZkZDFh
NmFlMWI0Y2JkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApA
QCAtMzE1LDcgKzMxNSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkVGVybWluYXRlKFdl
YlByb2Nlc3NQcm94eSYpOwogCi0gICAgdm9pZCBkaXNhYmxlUHJvY2Vzc1Rlcm1pbmF0aW9uKCkg
eyBtX3Byb2Nlc3NUZXJtaW5hdGlvbkVuYWJsZWQgPSBmYWxzZTsgfQorICAgIHZvaWQgZGlzYWJs
ZVByb2Nlc3NUZXJtaW5hdGlvbigpOwogICAgIHZvaWQgZW5hYmxlUHJvY2Vzc1Rlcm1pbmF0aW9u
KCk7CiAKICAgICB2b2lkIHVwZGF0ZUF1dG9tYXRpb25DYXBhYmlsaXRpZXMoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IDI3NTMwN2M0
OWNkZTU3M2NmZDMwZDRjZDAxMjFkYTA4N2RlYjE2NjIuLjM3NGY0Mjg1YmZjMTc2NDFiZTIwMTg0
ZWM4ZmI0N2JmYzhiMzQ1ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcApAQCAtMTAyLDYgKzEwMiw5IEBACiAjZGVmaW5lIE1FU1NBR0VfQ0hFQ0tfVVJM
KHVybCkgTUVTU0FHRV9DSEVDS19CQVNFKGNoZWNrVVJMUmVjZWl2ZWRGcm9tV2ViUHJvY2Vzcyh1
cmwpLCBjb25uZWN0aW9uKCkpCiAjZGVmaW5lIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTihhc3Nl
cnRpb24sIGNvbXBsZXRpb24pIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTl9CQVNFKGFzc2VydGlv
biwgY29ubmVjdGlvbigpLCBjb21wbGV0aW9uKQogCisjZGVmaW5lIFdFQlBST0NFU1NQUk9YWV9S
RUxFQVNFX0xPRyhjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0coY2hhbm5lbCwgIiVwIC0g
W1BJRD0laV0gV2ViUHJvY2Vzc1Byb3h5OjoiIGZtdCwgdGhpcywgcHJvY2Vzc0lkZW50aWZpZXIo
KSwgIyNfX1ZBX0FSR1NfXykKKyNkZWZpbmUgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HX0VS
Uk9SKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUihjaGFubmVsLCAiJXAgLSBb
UElEPSVpXSBXZWJQcm9jZXNzUHJveHk6OiIgZm10LCB0aGlzLCBwcm9jZXNzSWRlbnRpZmllcigp
LCAjI19fVkFfQVJHU19fKQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCkBAIC0yMTEsNiArMjE0LDcgQEAgV2ViUHJvY2Vzc1Byb3h5OjpXZWJQcm9jZXNz
UHJveHkoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sLCBXZWJzaXRlRGF0YVN0b3JlKgogICAg
ICwgbV9zaHV0ZG93blByZXZlbnRpbmdTY29wZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVu
dCBldmVudCkgeyBpZiAoZXZlbnQgPT0gUmVmQ291bnRlckV2ZW50OjpEZWNyZW1lbnQpIG1heWJl
U2h1dERvd24oKTsgfSkKIHsKICAgICBSRUxFQVNFX0FTU0VSVChpc01haW5UaHJlYWRPckNoZWNr
RGlzYWJsZWQoKSk7CisgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3MsICJj
b25zdHJ1Y3RvcjoiKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gYWxsUHJvY2Vzc2VzKCkuYWRkKGNv
cmVQcm9jZXNzSWRlbnRpZmllcigpLCB0aGlzKTsKICAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwg
cmVzdWx0LmlzTmV3RW50cnkpOwpAQCAtMjMwLDYgKzIzNCw3IEBAIFdlYlByb2Nlc3NQcm94eTo6
fldlYlByb2Nlc3NQcm94eSgpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoaXNNYWluVGhyZWFkT3JD
aGVja0Rpc2FibGVkKCkpOwogICAgIEFTU0VSVChtX3BhZ2VVUkxSZXRhaW5Db3VudE1hcC5pc0Vt
cHR5KCkpOworICAgIFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzLCAiZGVzdHJ1
Y3RvcjoiKTsKIAogICAgIGZvciAoYXV0byBpZGVudGlmaWVyIDogbV9zcGVlY2hSZWNvZ25pdGlv
blNlcnZlck1hcC5rZXlzKCkpCiAgICAgICAgIHJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdl
czo6U3BlZWNoUmVjb2duaXRpb25TZXJ2ZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgaWRlbnRp
Zmllcik7CkBAIC0yNzQsNiArMjc5LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnBsYXRmb3Jt
RGVzdHJveSgpCiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZXRJc0luUHJvY2Vzc0NhY2hlKGJv
b2wgdmFsdWUpCiB7CisgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3MsICJz
ZXRJc0luUHJvY2Vzc0NhY2hlKCVkKSIsIHZhbHVlKTsKICAgICBpZiAodmFsdWUpIHsKICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQobV9wYWdlTWFwLmlzRW1wdHkoKSk7CiAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKCFtX3N1c3BlbmRlZFBhZ2VDb3VudCk7CkBAIC0zMDQsNiArMzEwLDcgQEAgdm9pZCBX
ZWJQcm9jZXNzUHJveHk6OnNldElzSW5Qcm9jZXNzQ2FjaGUoYm9vbCB2YWx1ZSkKIHZvaWQgV2Vi
UHJvY2Vzc1Byb3h5OjpzZXRXZWJzaXRlRGF0YVN0b3JlKFdlYnNpdGVEYXRhU3RvcmUmIGRhdGFT
dG9yZSkKIHsKICAgICBBU1NFUlQoIW1fd2Vic2l0ZURhdGFTdG9yZSk7CisgICAgV0VCUFJPQ0VT
U1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3MsICJzZXRXZWJzaXRlRGF0YVN0b3JlKCkgZGF0YVN0
b3JlPSVwLCBzZXNzaW9uSUQ9JSIgUFJJdTY0LCAmZGF0YVN0b3JlLCBkYXRhU3RvcmUuc2Vzc2lv
bklEKCkudG9VSW50NjQoKSk7CiAgICAgbV93ZWJzaXRlRGF0YVN0b3JlID0gJmRhdGFTdG9yZTsK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICBkYXRhU3RvcmUuc2VuZE5ldHdvcmtQcm9jZXNzWFBD
RW5kcG9pbnRUb1dlYlByb2Nlc3MoKnRoaXMpOwpAQCAtMzMxLDYgKzMzOCw4IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Byb3h5Ojp1cGRhdGVSZWdpc3RyYXRpb25XaXRoRGF0YVN0b3JlKCkKIAogdm9pZCBX
ZWJQcm9jZXNzUHJveHk6OmFkZFByb3Zpc2lvbmFsUGFnZVByb3h5KFByb3Zpc2lvbmFsUGFnZVBy
b3h5JiBwcm92aXNpb25hbFBhZ2UpCiB7CisgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9H
KExvYWRpbmcsICJhZGRQcm92aXNpb25hbFBhZ2VQcm94eTogcHJvdmlzaW9uYWxQYWdlPSVwLCBw
YWdlUHJveHlJRD0lIiBQUkl1NjQgIiwgd2ViUGFnZUlEPSUiIFBSSXU2NCwgJnByb3Zpc2lvbmFs
UGFnZSwgcHJvdmlzaW9uYWxQYWdlLnBhZ2UoKS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgcHJv
dmlzaW9uYWxQYWdlLndlYlBhZ2VJRCgpLnRvVUludDY0KCkpOworCiAgICAgQVNTRVJUKCFtX2lz
SW5Qcm9jZXNzQ2FjaGUpOwogICAgIEFTU0VSVCghbV9wcm92aXNpb25hbFBhZ2VzLmNvbnRhaW5z
KCZwcm92aXNpb25hbFBhZ2UpKTsKICAgICBtX3Byb3Zpc2lvbmFsUGFnZXMuYWRkKCZwcm92aXNp
b25hbFBhZ2UpOwpAQCAtMzM5LDYgKzM0OCw4IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjphZGRQ
cm92aXNpb25hbFBhZ2VQcm94eShQcm92aXNpb25hbFBhZ2VQcm94eSYgcHJvdmlzaW9uYWxQCiAK
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpyZW1vdmVQcm92aXNpb25hbFBhZ2VQcm94eShQcm92aXNp
b25hbFBhZ2VQcm94eSYgcHJvdmlzaW9uYWxQYWdlKQogeworICAgIFdFQlBST0NFU1NQUk9YWV9S
RUxFQVNFX0xPRyhMb2FkaW5nLCAicmVtb3ZlUHJvdmlzaW9uYWxQYWdlUHJveHk6IHByb3Zpc2lv
bmFsUGFnZT0lcCwgcGFnZVByb3h5SUQ9JSIgUFJJdTY0ICIsIHdlYlBhZ2VJRD0lIiBQUkl1NjQs
ICZwcm92aXNpb25hbFBhZ2UsIHByb3Zpc2lvbmFsUGFnZS5wYWdlKCkuaWRlbnRpZmllcigpLnRv
VUludDY0KCksIHByb3Zpc2lvbmFsUGFnZS53ZWJQYWdlSUQoKS50b1VJbnQ2NCgpKTsKKwogICAg
IEFTU0VSVChtX3Byb3Zpc2lvbmFsUGFnZXMuY29udGFpbnMoJnByb3Zpc2lvbmFsUGFnZSkpOwog
ICAgIG1fcHJvdmlzaW9uYWxQYWdlcy5yZW1vdmUoJnByb3Zpc2lvbmFsUGFnZSk7CiAgICAgdXBk
YXRlUmVnaXN0cmF0aW9uV2l0aERhdGFTdG9yZSgpOwpAQCAtNDQzLDYgKzQ1NCw3IEBAIHZvaWQg
V2ViUHJvY2Vzc1Byb3h5Ojpjb25uZWN0aW9uV2lsbE9wZW4oSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uKQogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dpbGxTaHV0RG93bihJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CisgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0Vf
TE9HKFByb2Nlc3MsICJwcm9jZXNzV2lsbFNodXREb3duOiIpOwogICAgIEFTU0VSVF9VTlVTRUQo
Y29ubmVjdGlvbiwgdGhpcy0+Y29ubmVjdGlvbigpID09ICZjb25uZWN0aW9uKTsKIAogI2lmIEhB
VkUoQ1ZESVNQTEFZTElOSykKQEAgLTQ1Myw2ICs0NjUsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94
eTo6cHJvY2Vzc1dpbGxTaHV0RG93bihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB2b2lk
IFdlYlByb2Nlc3NQcm94eTo6c2h1dERvd24oKQogewogICAgIFJFTEVBU0VfQVNTRVJUKGlzTWFp
blRocmVhZE9yQ2hlY2tEaXNhYmxlZCgpKTsKKyAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9M
T0coUHJvY2VzcywgInNodXREb3duOiIpOwogCiAgICAgaWYgKG1faXNJblByb2Nlc3NDYWNoZSkg
ewogICAgICAgICBwcm9jZXNzUG9vbCgpLndlYlByb2Nlc3NDYWNoZSgpLnJlbW92ZVByb2Nlc3Mo
KnRoaXMsIFdlYlByb2Nlc3NDYWNoZTo6U2hvdWxkU2h1dERvd25Qcm9jZXNzOjpObyk7CkBAIC01
MzMsNiArNTQ2LDggQEAgUmVmPFdlYlBhZ2VQcm94eT4gV2ViUHJvY2Vzc1Byb3h5OjpjcmVhdGVX
ZWJQYWdlKFBhZ2VDbGllbnQmIHBhZ2VDbGllbnQsIFJlZjxBUEkKIAogdm9pZCBXZWJQcm9jZXNz
UHJveHk6OmFkZEV4aXN0aW5nV2ViUGFnZShXZWJQYWdlUHJveHkmIHdlYlBhZ2UsIEJlZ2luc1Vz
aW5nRGF0YVN0b3JlIGJlZ2luc1VzaW5nRGF0YVN0b3JlKQogeworICAgIFdFQlBST0NFU1NQUk9Y
WV9SRUxFQVNFX0xPRyhQcm9jZXNzLCAiYWRkRXhpc3RpbmdXZWJQYWdlOiB3ZWJQYWdlPSVwLCBw
YWdlUHJveHlJRD0lIiBQUkl1NjQgIiwgd2ViUGFnZUlEPSUiIFBSSXU2NCwgJndlYlBhZ2UsIHdl
YlBhZ2UuaWRlbnRpZmllcigpLnRvVUludDY0KCksIHdlYlBhZ2Uud2ViUGFnZUlEKCkudG9VSW50
NjQoKSk7CisKICAgICBBU1NFUlQoIW1fcGFnZU1hcC5jb250YWlucyh3ZWJQYWdlLmlkZW50aWZp
ZXIoKSkpOwogICAgIEFTU0VSVCghZ2xvYmFsUGFnZU1hcCgpLmNvbnRhaW5zKHdlYlBhZ2UuaWRl
bnRpZmllcigpKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQoIW1faXNJblByb2Nlc3NDYWNoZSk7CkBA
IC01NTMsNiArNTY4LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmFkZEV4aXN0aW5nV2ViUGFn
ZShXZWJQYWdlUHJveHkmIHdlYlBhZ2UsIEJlZ2luc1VzaW5nRGF0YVMKIHZvaWQgV2ViUHJvY2Vz
c1Byb3h5OjptYXJrSXNOb0xvbmdlckluUHJld2FybWVkUG9vbCgpCiB7CiAgICAgQVNTRVJUKG1f
aXNQcmV3YXJtZWQpOworICAgIFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzLCAi
bWFya0lzTm9Mb25nZXJJblByZXdhcm1lZFBvb2w6Iik7CiAKICAgICBtX2lzUHJld2FybWVkID0g
ZmFsc2U7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9wcm9jZXNzUG9vbCk7CkBAIC01NjMsNiArNTc5
LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6Om1hcmtJc05vTG9uZ2VySW5QcmV3YXJtZWRQb29s
KCkKIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OnJlbW92ZVdlYlBhZ2UoV2ViUGFnZVByb3h5JiB3
ZWJQYWdlLCBFbmRzVXNpbmdEYXRhU3RvcmUgZW5kc1VzaW5nRGF0YVN0b3JlKQogeworICAgIFdF
QlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzLCAicmVtb3ZlV2ViUGFnZTogd2ViUGFn
ZT0lcCwgcGFnZVByb3h5SUQ9JSIgUFJJdTY0ICIsIHdlYlBhZ2VJRD0lIiBQUkl1NjQsICZ3ZWJQ
YWdlLCB3ZWJQYWdlLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCB3ZWJQYWdlLndlYlBhZ2VJRCgp
LnRvVUludDY0KCkpOwogICAgIGF1dG8qIHJlbW92ZWRQYWdlID0gbV9wYWdlTWFwLnRha2Uod2Vi
UGFnZS5pZGVudGlmaWVyKCkpOwogICAgIEFTU0VSVF9VTlVTRUQocmVtb3ZlZFBhZ2UsIHJlbW92
ZWRQYWdlID09ICZ3ZWJQYWdlKTsKICAgICByZW1vdmVkUGFnZSA9IGdsb2JhbFBhZ2VNYXAoKS50
YWtlKHdlYlBhZ2UuaWRlbnRpZmllcigpKTsKQEAgLTY5NSw3ICs3MTIsNyBAQCBib29sIFdlYlBy
b2Nlc3NQcm94eTo6Y2hlY2tVUkxSZWNlaXZlZEZyb21XZWJQcm9jZXNzKGNvbnN0IFVSTCYgdXJs
LCBDaGVja0JhY2tGbwogICAgIH0KIAogICAgIC8vIEEgV2ViIHByb2Nlc3MgdGhhdCB3YXMgbmV2
ZXIgYXNrZWQgdG8gbG9hZCBhIGZpbGUgVVJMIHNob3VsZCBub3QgZXZlciBhc2sgdXMgdG8gZG8g
YW55dGhpbmcgd2l0aCBhIGZpbGUgVVJMLgotICAgIFJFTEVBU0VfTE9HX0VSUk9SKExvYWRpbmcs
ICJSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIFVSTCBmcm9tIHRoZSB3ZWIgcHJvY2VzcyIpOworICAg
IFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPR19FUlJPUihMb2FkaW5nLCAiY2hlY2tVUkxSZWNl
aXZlZEZyb21XZWJQcm9jZXNzOiBSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIFVSTCBmcm9tIHRoZSB3
ZWIgcHJvY2VzcyIpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtNzk3LDYgKzgxNCwxMSBA
QCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oR1BVUHJvY2Vz
c0Nvbm5lY3Rpb25QYXJhbWV0ZXJzJiYgcAogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z3B1UHJv
Y2Vzc0V4aXRlZChHUFVQcm9jZXNzVGVybWluYXRpb25SZWFzb24gcmVhc29uKQogeworICAgIGlm
IChyZWFzb24gPT0gR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpJZGxlRXhpdCkKKyAgICAg
ICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3MsICJncHVQcm9jZXNzRXhpdGVk
OiByZWFzb249aWRsZS1leGl0Iik7CisgICAgZWxzZQorICAgICAgICBXRUJQUk9DRVNTUFJPWFlf
UkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgImdwdVByb2Nlc3NFeGl0ZWQ6IHJlYXNvbj0ldSIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyZWFzb24pKTsKKwogICAgIGZvciAoYXV0byYgcGFnZSA6
IGNvcHlUb1ZlY3Rvck9mPFJlZlB0cjxXZWJQYWdlUHJveHk+PihtX3BhZ2VNYXAudmFsdWVzKCkp
KQogICAgICAgICBwYWdlLT5ncHVQcm9jZXNzRXhpdGVkKHJlYXNvbik7CiAKQEAgLTg1NSw5ICs4
NzcsOSBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZQogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRp
ZENsb3NlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKIHsKICNpZiBPUyhEQVJXSU4pCi0g
ICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5IGRpZENsb3NlICh3
ZWIgcHJvY2VzcyAlZCBjcmFzaCkiLCB0aGlzLCBjb25uZWN0aW9uLnJlbW90ZVByb2Nlc3NJRCgp
KTsKKyAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgImRpZENs
b3NlOiAod2ViIHByb2Nlc3MgJWQgY3Jhc2gpIiwgY29ubmVjdGlvbi5yZW1vdGVQcm9jZXNzSUQo
KSk7CiAjZWxzZQotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICIlcCAtIFdlYlByb2Nlc3NQcm94
eSBkaWRDbG9zZSAod2ViIHByb2Nlc3MgY3Jhc2gpIiwgdGhpcyk7CisgICAgV0VCUFJPQ0VTU1BS
T1hZX1JFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJkaWRDbG9zZSAod2ViIHByb2Nlc3MgY3Jh
c2gpIik7CiAjZW5kaWYKIAogICAgIHByb2Nlc3NEaWRUZXJtaW5hdGVPckZhaWxlZFRvTGF1bmNo
KFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6Q3Jhc2gpOwpAQCAtODY1LDYgKzg4Nyw4IEBAIHZv
aWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24p
CiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzRGlkVGVybWluYXRlT3JGYWlsZWRUb0xh
dW5jaChQcm9jZXNzVGVybWluYXRpb25SZWFzb24gcmVhc29uKQogeworICAgIFdFQlBST0NFU1NQ
Uk9YWV9SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAicHJvY2Vzc0RpZFRlcm1pbmF0ZU9yRmFp
bGVkVG9MYXVuY2g6IHJlYXNvbj0ldSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihyZWFzb24pKTsK
KwogICAgIC8vIFByb3RlY3Qgb3Vyc2VsdmVzLCBhcyB0aGUgY2FsbCB0byBzaHV0RG93bigpIGJl
bG93IG1heSBvdGhlcndpc2UgY2F1c2UgdXMKICAgICAvLyB0byBiZSBkZWxldGVkIGJlZm9yZSB3
ZSBjYW4gZmluaXNoIG91ciB3b3JrLgogICAgIGF1dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpOwpAQCAtOTQ0LDYgKzk2OCw4IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNl
aXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6CiAKIHZv
aWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRCZWNvbWVVbnJlc3BvbnNpdmUoKQogeworICAgIFdFQlBS
T0NFU1NQUk9YWV9SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiZGlkQmVjb21lVW5yZXNwb25z
aXZlOiIpOworCiAgICAgYXV0byBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyk7CiAKICAg
ICBtX2lzUmVzcG9uc2l2ZSA9IE5vT3JNYXliZTo6Tm87CkBAIC05NTksNyArOTg1LDcgQEAgdm9p
ZCBXZWJQcm9jZXNzUHJveHk6OmRpZEJlY29tZVVucmVzcG9uc2l2ZSgpCiAKICAgICAvLyBJZiB0
aGUgd2ViIHByb2Nlc3MgYmVjb21lcyB1bnJlc3BvbnNpdmUgYW5kIG9ubHkgcnVucyBzZXJ2aWNl
IHdvcmtlcnMsIGtpbGwgaXQgb3Vyc2VsdmVzIHNpbmNlIHRoZXJlIGFyZSBubyBuYXRpdmUgY2xp
ZW50cyB0byBkbyBpdC4KICAgICBpZiAoaXNSdW5uaW5nU2VydmljZVdvcmtlcnMoKSAmJiBtX3Bh
Z2VNYXAuaXNFbXB0eSgpKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFBlcmZvcm1hbmNl
TG9nZ2luZywgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5OjpkaWRCZWNvbWVVbnJlc3BvbnNpdmUoKSBU
ZXJtaW5hdGluZyBzZXJ2aWNlIHdvcmtlci1vbmx5IHdlYiBwcm9jZXNzIHdpdGggcGlkICVkIGJl
Y2F1c2UgaXQgaXMgdW5yZXNwb25zaXZlIiwgdGhpcywgcHJvY2Vzc0lkZW50aWZpZXIoKSk7Cisg
ICAgICAgIFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPR19FUlJPUihQZXJmb3JtYW5jZUxvZ2dp
bmcsICJkaWRCZWNvbWVVbnJlc3BvbnNpdmU6IFRlcm1pbmF0aW5nIHNlcnZpY2Ugd29ya2VyLW9u
bHkgd2ViIHByb2Nlc3MgYmVjYXVzZSBpdCBpcyB1bnJlc3BvbnNpdmUiKTsKICAgICAgICAgZGlz
YWJsZVNlcnZpY2VXb3JrZXJzKCk7CiAgICAgICAgIHRlcm1pbmF0ZSgpOwogICAgIH0KQEAgLTk2
Nyw2ICs5OTMsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkQmVjb21lVW5yZXNwb25zaXZl
KCkKIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZEJlY29tZVJlc3BvbnNpdmUoKQogeworICAg
IFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzLCAiZGlkQmVjb21lUmVzcG9uc2l2
ZToiKTsKICAgICBtX2lzUmVzcG9uc2l2ZSA9IE5vT3JNYXliZTo6TWF5YmU7CiAKICAgICBmb3Ig
KGF1dG8mIHBhZ2UgOiBjb3B5VG9WZWN0b3JPZjxSZWZQdHI8V2ViUGFnZVByb3h5Pj4obV9wYWdl
TWFwLnZhbHVlcygpKSkKQEAgLTk5NiwxMyArMTAyMywxNCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94
eTo6c2V0SWdub3JlSW52YWxpZE1lc3NhZ2VGb3JUZXN0aW5nKCkKIAogdm9pZCBXZWJQcm9jZXNz
UHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyhQcm9jZXNzTGF1bmNoZXIqIGxhdW5jaGVyLCBJUEM6
OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCiB7CisgICAgV0VC
UFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3MsICJkaWRGaW5pc2hMYXVuY2hpbmc6Iik7
CiAgICAgUkVMRUFTRV9BU1NFUlQoaXNNYWluVGhyZWFkT3JDaGVja0Rpc2FibGVkKCkpOwogCiAg
ICAgYXV0byBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyk7CiAgICAgQXV4aWxpYXJ5UHJv
Y2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcobGF1bmNoZXIsIGNvbm5lY3Rpb25JZGVudGlm
aWVyKTsKIAogICAgIGlmICghSVBDOjpDb25uZWN0aW9uOjppZGVudGlmaWVySXNWYWxpZChjb25u
ZWN0aW9uSWRlbnRpZmllcikpIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIiVwIC0g
V2ViUHJvY2Vzc1Byb3h5IGRpZEZpbmlzaExhdW5jaGluZyAtIGludmFsaWQgY29ubmVjdGlvbiBp
ZGVudGlmaWVyICh3ZWIgcHJvY2VzcyBmYWlsZWQgdG8gbGF1bmNoKSIsIHRoaXMpOworICAgICAg
ICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgImRpZEZpbmlzaExh
dW5jaGluZzogSW52YWxpZCBjb25uZWN0aW9uIGlkZW50aWZpZXIgKHdlYiBwcm9jZXNzIGZhaWxl
ZCB0byBsYXVuY2gpIik7CiAgICAgICAgIHByb2Nlc3NEaWRUZXJtaW5hdGVPckZhaWxlZFRvTGF1
bmNoKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6Q3Jhc2gpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQpAQCAtMTExOCw4ICsxMTQ2LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWREZXN0
cm95VXNlckdlc3R1cmVUb2tlbih1aW50NjRfdCBpZGVudGlmaWVyKQogCiBib29sIFdlYlByb2Nl
c3NQcm94eTo6Y2FuQmVBZGRlZFRvV2ViUHJvY2Vzc0NhY2hlKCkgY29uc3QKIHsKLSAgICBpZiAo
aXNSdW5uaW5nU2VydmljZVdvcmtlcnMoKSkKKyAgICBpZiAoaXNSdW5uaW5nU2VydmljZVdvcmtl
cnMoKSkgeworICAgICAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0coUHJvY2VzcywgImNh
bkJlQWRkZWRUb1dlYlByb2Nlc3NDYWNoZTogTm90IGFkZGluZyB0byBwcm9jZXNzIGNhY2hlIGJl
Y2F1c2UgdGhlIHByb2Nlc3MgaXMgcnVubmluZyB3b3JrZXJzIik7CiAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CiAKICAgICBpZiAoV2ViS2l0Ojppc0luc3BlY3RvclByb2Nlc3NQb29sKHBy
b2Nlc3NQb29sKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMTQ2LDE1ICsxMTc2LDIy
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjptYXliZVNodXREb3duKCkKIAogYm9vbCBXZWJQcm9j
ZXNzUHJveHk6OmNhblRlcm1pbmF0ZUF1eGlsaWFyeVByb2Nlc3MoKQogewotICAgIGlmICghbV9w
YWdlTWFwLmlzRW1wdHkoKSB8fCBtX3N1c3BlbmRlZFBhZ2VDb3VudCB8fCAhbV9wcm92aXNpb25h
bFBhZ2VzLmlzRW1wdHkoKSB8fCBtX2lzSW5Qcm9jZXNzQ2FjaGUgfHwgbV9zaHV0ZG93blByZXZl
bnRpbmdTY29wZUNvdW50ZXIudmFsdWUoKSkKKyAgICBpZiAoIW1fcGFnZU1hcC5pc0VtcHR5KCkg
fHwgbV9zdXNwZW5kZWRQYWdlQ291bnQgfHwgIW1fcHJvdmlzaW9uYWxQYWdlcy5pc0VtcHR5KCkg
fHwgbV9pc0luUHJvY2Vzc0NhY2hlIHx8IG1fc2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVy
LnZhbHVlKCkpIHsKKyAgICAgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3Ms
ICJjYW5UZXJtaW5hdGVBdXhpbGlhcnlQcm9jZXNzOiByZXR1cm5zIGZhbHNlIChwYWdlQ291bnQ9
JXUsIHByb3Zpc2lvbmFsUGFnZUNvdW50PSV1LCBtX3N1c3BlbmRlZFBhZ2VDb3VudD0ldSwgbV9p
c0luUHJvY2Vzc0NhY2hlPSVkLCBtX3NodXRkb3duUHJldmVudGluZ1Njb3BlQ291bnRlcj0lbHUp
IiwgbV9wYWdlTWFwLnNpemUoKSwgbV9wcm92aXNpb25hbFBhZ2VzLnNpemUoKSwgbV9zdXNwZW5k
ZWRQYWdlQ291bnQsIG1faXNJblByb2Nlc3NDYWNoZSwgbV9zaHV0ZG93blByZXZlbnRpbmdTY29w
ZUNvdW50ZXIudmFsdWUoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKLSAgICBp
ZiAoaXNSdW5uaW5nU2VydmljZVdvcmtlcnMoKSkKKyAgICBpZiAoaXNSdW5uaW5nU2VydmljZVdv
cmtlcnMoKSkgeworICAgICAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0coUHJvY2Vzcywg
ImNhblRlcm1pbmF0ZUF1eGlsaWFyeVByb2Nlc3M6IHJldHVybnMgZmFsc2UgYmVjYXVzZSBwcm9j
ZXNzIGlzIHJ1bm5pbmcgc2VydmljZSB3b3JrZXJzIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CiAKLSAgICBpZiAoIW1fcHJvY2Vzc1Bvb2wtPnNob3VsZFRlcm1pbmF0ZSgqdGhpcykp
CisgICAgaWYgKCFtX3Byb2Nlc3NQb29sLT5zaG91bGRUZXJtaW5hdGUoKnRoaXMpKSB7CisgICAg
ICAgIFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzLCAiY2FuVGVybWluYXRlQXV4
aWxpYXJ5UHJvY2VzczogcmV0dXJucyBmYWxzZSBiZWNhdXNlIHByb2Nlc3MgdGVybWluYXRpb24g
aXMgZGlzYWJsZWQiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAorICAgIFdFQlBS
T0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzLCAiY2FuVGVybWluYXRlQXV4aWxpYXJ5UHJv
Y2VzczogcmV0dXJucyB0cnVlIik7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTEyMDcsMTQg
KzEyNDQsMTQgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2kKICAgICBBU1NFUlQoY2FuU2VuZE1l
c3NhZ2UoKSk7CiAgICAgQVNTRVJUX1VOVVNFRChzZXNzaW9uSUQsIHNlc3Npb25JRCA9PSB0aGlz
LT5zZXNzaW9uSUQoKSk7CiAKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVw
IC0gV2ViUHJvY2Vzc1Byb3h5IGlzIHRha2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1
c2UgdGhlIFdlYiBwcm9jZXNzIGlzIGZldGNoaW5nIFdlYnNpdGUgZGF0YSIsIHRoaXMpOworICAg
IFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgImZldGNoV2Vi
c2l0ZURhdGE6IFRha2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYiBw
cm9jZXNzIGlzIGZldGNoaW5nIFdlYnNpdGUgZGF0YSIpOwogCiAgICAgc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpGZXRjaFdlYnNpdGVEYXRhKGRhdGFUeXBlcyksIFt0
aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0g
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChhdXRvIHJlcGx5KSBtdXRhYmxlIHsKICNpZiBS
RUxFQVNFX0xPR19ESVNBQkxFRAogICAgICAgICBVTlVTRURfUEFSQU0odGhpcyk7CiAjZW5kaWYK
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZXBseSkpOwotICAgICAgICBSRUxF
QVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5IGlzIHJlbGVh
c2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYiBwcm9jZXNzIGlzIGRv
bmUgZmV0Y2hpbmcgV2Vic2l0ZSBkYXRhIiwgdGhpcyk7CisgICAgICAgIFdFQlBST0NFU1NQUk9Y
WV9SRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgImZldGNoV2Vic2l0ZURhdGE6IFRlbGVh
c2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYiBwcm9jZXNzIGlzIGRv
bmUgZmV0Y2hpbmcgV2Vic2l0ZSBkYXRhIik7CiAgICAgfSk7CiB9CiAKQEAgLTEyMjMsMTQgKzEy
NjAsMTQgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnMKICAgICBBU1NFUlQoY2FuU2VuZE1lc3Nh
Z2UoKSk7CiAgICAgQVNTRVJUX1VOVVNFRChzZXNzaW9uSUQsIHNlc3Npb25JRCA9PSB0aGlzLT5z
ZXNzaW9uSUQoKSk7CiAKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0g
V2ViUHJvY2Vzc1Byb3h5IGlzIHRha2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2Ug
dGhlIFdlYiBwcm9jZXNzIGlzIGRlbGV0aW5nIFdlYnNpdGUgZGF0YSIsIHRoaXMpOworICAgIFdF
QlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgImRlbGV0ZVdlYnNp
dGVEYXRhOiBUYWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIHRoZSBXZWIgcHJv
Y2VzcyBpcyBkZWxldGluZyBXZWJzaXRlIGRhdGEiKTsKIAogICAgIHNlbmRXaXRoQXN5bmNSZXBs
eShNZXNzYWdlczo6V2ViUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoZGF0YVR5cGVzLCBtb2Rp
ZmllZFNpbmNlKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxl
dGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CiAj
aWYgUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAgICAgVU5VU0VEX1BBUkFNKHRoaXMpOwogI2Vu
ZGlmCiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFBy
b2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHkgaXMgcmVsZWFzaW5nIGEgYmFj
a2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgV2ViIHByb2Nlc3MgaXMgZG9uZSBkZWxldGlu
ZyBXZWJzaXRlIGRhdGEiLCB0aGlzKTsKKyAgICAgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0Vf
TE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiZGVsZXRlV2Vic2l0ZURhdGE6IFRlbGVhc2luZyBhIGJh
Y2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYiBwcm9jZXNzIGlzIGRvbmUgZGVsZXRp
bmcgV2Vic2l0ZSBkYXRhIik7CiAgICAgfSk7CiB9CiAKQEAgLTEyMzksMTQgKzEyNzYsMTQgQEAg
dm9pZCBXZWJQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIE9wdGkKICAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAg
ICAgQVNTRVJUX1VOVVNFRChzZXNzaW9uSUQsIHNlc3Npb25JRCA9PSB0aGlzLT5zZXNzaW9uSUQo
KSk7CiAKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vz
c1Byb3h5IGlzIHRha2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYiBw
cm9jZXNzIGlzIGRlbGV0aW5nIFdlYnNpdGUgZGF0YSBmb3Igc2V2ZXJhbCBvcmlnaW5zIiwgdGhp
cyk7CisgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAi
ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zOiBUYWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlv
biBiZWNhdXNlIHRoZSBXZWIgcHJvY2VzcyBpcyBkZWxldGluZyBXZWJzaXRlIGRhdGEgZm9yIHNl
dmVyYWwgb3JpZ2lucyIpOwogCiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoZGF0YVR5cGVzLCBvcmlnaW5zKSwg
W3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIg
PSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CiAjaWYgUkVMRUFTRV9M
T0dfRElTQUJMRUQKICAgICAgICAgVU5VU0VEX1BBUkFNKHRoaXMpOwogI2VuZGlmCiAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5z
aW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHkgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3Nl
cnRpb24gYmVjYXVzZSB0aGUgV2ViIHByb2Nlc3MgaXMgZG9uZSBkZWxldGluZyBXZWJzaXRlIGRh
dGEgZm9yIHNldmVyYWwgb3JpZ2lucyIsIHRoaXMpOworICAgICAgICBXRUJQUk9DRVNTUFJPWFlf
UkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICJkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdp
bnM6IFJlbGVhc2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYiBwcm9j
ZXNzIGlzIGRvbmUgZGVsZXRpbmcgV2Vic2l0ZSBkYXRhIGZvciBzZXZlcmFsIG9yaWdpbnMiKTsK
ICAgICB9KTsKIH0KIApAQCAtMTI1Niw3ICsxMjkzLDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6
OnJlcXVlc3RUZXJtaW5hdGlvbihQcm9jZXNzVGVybWluYXRpb25SZWFzb24gcmVhc29uKQogICAg
ICAgICByZXR1cm47CiAKICAgICBhdXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsK
LSAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OnJl
cXVlc3RUZXJtaW5hdGlvbiAtIFBJRCAlZCAtIHJlYXNvbiAlZCIsIHRoaXMsIHByb2Nlc3NJZGVu
dGlmaWVyKCksIHJlYXNvbik7CisgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HX0VSUk9S
KFByb2Nlc3MsICJyZXF1ZXN0VGVybWluYXRpb246IHJlYXNvbj0lZCIsIHJlYXNvbik7CiAKICAg
ICBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OnRlcm1pbmF0ZSgpOwogCkBAIC0xMzg2LDIxICsxNDIz
LDIzIEBAIFJlZlB0cjxBUEk6Ok9iamVjdD4gV2ViUHJvY2Vzc1Byb3h5Ojp0cmFuc2Zvcm1PYmpl
Y3RzVG9IYW5kbGVzKEFQSTo6T2JqZWN0KiBvYmplCiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpz
ZW5kUHJlcGFyZVRvU3VzcGVuZChJc1N1c3BlbnNpb25JbW1pbmVudCBpc1N1c3BlbnNpb25JbW1p
bmVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewor
ICAgIFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgInNlbmRQ
cmVwYXJlVG9TdXNwZW5kOiBpc1N1c3BlbnNpb25JbW1pbmVudD0lZCIsIGlzU3VzcGVuc2lvbklt
bWluZW50ID09IElzU3VzcGVuc2lvbkltbWluZW50OjpZZXMpOwogICAgIHNlbmRXaXRoQXN5bmNS
ZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzczo6UHJlcGFyZVRvU3VzcGVuZChpc1N1c3BlbnNpb25J
bW1pbmVudCA9PSBJc1N1c3BlbnNpb25JbW1pbmVudDo6WWVzKSwgV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlciksIDAsIHsgfSwgU2hvdWxkU3RhcnRQcm9jZXNzVGhyb3R0bGVyQWN0aXZpdHk6Ok5v
KTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRQcm9jZXNzRGlkUmVzdW1lKCkKIHsK
KyAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICJzZW5k
UHJvY2Vzc0RpZFJlc3VtZToiKTsKICAgICBpZiAoY2FuU2VuZE1lc3NhZ2UoKSkKICAgICAgICAg
c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6UHJvY2Vzc0RpZFJlc3VtZSgpLCAwKTsKIH0KIAog
dm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFNldEFzc2VydGlvblR5cGUoUHJvY2Vzc0Fzc2VydGlv
blR5cGUgdHlwZSkKIHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0g
V2ViUHJvY2Vzc1Byb3h5OjpkaWRTZXRBc3NlcnRpb25UeXBlKCV1KSIsIHRoaXMsIHR5cGUpOwor
ICAgIFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgImRpZFNl
dEFzc2VydGlvblR5cGU6IHR5cGU9JXUiLCB0eXBlKTsKIAogICAgIGlmIChpc1N0YW5kYWxvbmVT
ZXJ2aWNlV29ya2VyUHJvY2VzcygpKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNw
ZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OmRpZFNldEFzc2VydGlvblR5cGUoKSByZWxl
YXNlIGFsbCBhc3NlcnRpb25zIGZvciBuZXR3b3JrIHByb2Nlc3MgYmVjYXVzZSB0aGlzIGlzIGEg
c2VydmljZSB3b3JrZXIgcHJvY2VzcyB3aXRob3V0IHBhZ2UiLCB0aGlzKTsKKyAgICAgICAgV0VC
UFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiZGlkU2V0QXNzZXJ0
aW9uVHlwZTogUmVsZWFzZSBhbGwgYXNzZXJ0aW9ucyBmb3IgbmV0d29yayBwcm9jZXNzIGJlY2F1
c2UgdGhpcyBpcyBhIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3Mgd2l0aG91dCBwYWdlIik7CiAgICAg
ICAgIG1fZm9yZWdyb3VuZFRva2VuID0gbnVsbHB0cjsKICAgICAgICAgbV9iYWNrZ3JvdW5kVG9r
ZW4gPSBudWxscHRyOwogICAgICAgICByZXR1cm47CkBAIC0xNDEwLDcgKzE0NDksNyBAQCB2b2lk
IFdlYlByb2Nlc3NQcm94eTo6ZGlkU2V0QXNzZXJ0aW9uVHlwZShQcm9jZXNzQXNzZXJ0aW9uVHlw
ZSB0eXBlKQogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBQcm9jZXNzQXNzZXJ0aW9u
VHlwZTo6U3VzcGVuZGVkOgotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwg
IiVwIC0gV2ViUHJvY2Vzc1Byb3h5OjpkaWRTZXRBc3NlcnRpb25UeXBlKFN1c3BlbmRlZCkgcmVs
ZWFzZSBhbGwgYXNzZXJ0aW9ucyBmb3IgbmV0d29yayBwcm9jZXNzIiwgdGhpcyk7CisgICAgICAg
IFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgImRpZFNldEFz
c2VydGlvblR5cGUoU3VzcGVuZGVkKSBSZWxlYXNlIGFsbCBhc3NlcnRpb25zIGZvciBuZXR3b3Jr
IHByb2Nlc3MiKTsKICAgICAgICAgbV9mb3JlZ3JvdW5kVG9rZW4gPSBudWxscHRyOwogICAgICAg
ICBtX2JhY2tncm91bmRUb2tlbiA9IG51bGxwdHI7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
QEAgLTE0MjAsMTMgKzE0NTksMTMgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFNldEFzc2Vy
dGlvblR5cGUoUHJvY2Vzc0Fzc2VydGlvblR5cGUgdHlwZSkKICAgICAgICAgYnJlYWs7CiAKICAg
ICBjYXNlIFByb2Nlc3NBc3NlcnRpb25UeXBlOjpCYWNrZ3JvdW5kOgotICAgICAgICBSRUxFQVNF
X0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5OjpkaWRTZXRBc3Nl
cnRpb25UeXBlKEJhY2tncm91bmQpIHRha2luZyBiYWNrZ3JvdW5kIGFzc2VydGlvbiBmb3IgbmV0
d29yayBwcm9jZXNzIiwgdGhpcyk7CisgICAgICAgIFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xP
RyhQcm9jZXNzU3VzcGVuc2lvbiwgImRpZFNldEFzc2VydGlvblR5cGUoQmFja2dyb3VuZCkgVGFr
aW5nIGJhY2tncm91bmQgYXNzZXJ0aW9uIGZvciBuZXR3b3JrIHByb2Nlc3MiKTsKICAgICAgICAg
bV9iYWNrZ3JvdW5kVG9rZW4gPSBwcm9jZXNzUG9vbCgpLmJhY2tncm91bmRXZWJQcm9jZXNzVG9r
ZW4oKTsKICAgICAgICAgbV9mb3JlZ3JvdW5kVG9rZW4gPSBudWxscHRyOwogICAgICAgICBicmVh
azsKICAgICAKICAgICBjYXNlIFByb2Nlc3NBc3NlcnRpb25UeXBlOjpGb3JlZ3JvdW5kOgotICAg
ICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5
OjpkaWRTZXRBc3NlcnRpb25UeXBlKEZvcmVncm91bmQpIHRha2luZyBmb3JlZ3JvdW5kIGFzc2Vy
dGlvbiBmb3IgbmV0d29yayBwcm9jZXNzIiwgdGhpcyk7CisgICAgICAgIFdFQlBST0NFU1NQUk9Y
WV9SRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgImRpZFNldEFzc2VydGlvblR5cGUoRm9y
ZWdyb3VuZCkgVGFraW5nIGZvcmVncm91bmQgYXNzZXJ0aW9uIGZvciBuZXR3b3JrIHByb2Nlc3Mi
KTsKICAgICAgICAgbV9mb3JlZ3JvdW5kVG9rZW4gPSBwcm9jZXNzUG9vbCgpLmZvcmVncm91bmRX
ZWJQcm9jZXNzVG9rZW4oKTsKICAgICAgICAgbV9iYWNrZ3JvdW5kVG9rZW4gPSBudWxscHRyOwog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xNDUyLDEzICsxNDkxLDEzIEBAIHZvaWQgV2Vi
UHJvY2Vzc1Byb3h5Ojp1cGRhdGVBdWRpYmxlTWVkaWFBc3NlcnRpb25zKCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgaWYgKG5ld0hhc0F1ZGlibGVXZWJQYWdlKSB7Ci0gICAgICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBUYWtpbmcgTWVkaWFQbGF5YmFjayBhc3NlcnRp
b24gZm9yIFdlYlByb2Nlc3Mgd2l0aCBQSUQgJWQiLCB0aGlzLCBwcm9jZXNzSWRlbnRpZmllcigp
KTsKKyAgICAgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9u
LCAidXBkYXRlQXVkaWJsZU1lZGlhQXNzZXJ0aW9uczogVGFraW5nIE1lZGlhUGxheWJhY2sgYXNz
ZXJ0aW9uIGZvciBXZWJQcm9jZXNzIik7CiAgICAgICAgIG1fYXVkaWJsZU1lZGlhQWN0aXZpdHkg
PSBBdWRpYmxlTWVkaWFBY3Rpdml0eSB7CiAgICAgICAgICAgICBtYWtlVW5pcXVlUmVmPFByb2Nl
c3NBc3NlcnRpb24+KHByb2Nlc3NJZGVudGlmaWVyKCksICJXZWJLaXQgTWVkaWEgUGxheWJhY2si
X3MsIFByb2Nlc3NBc3NlcnRpb25UeXBlOjpNZWRpYVBsYXliYWNrKSwKICAgICAgICAgICAgIHBy
b2Nlc3NQb29sKCkud2ViUHJvY2Vzc1dpdGhBdWRpYmxlTWVkaWFUb2tlbigpCiAgICAgICAgIH07
CiAgICAgfSBlbHNlIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIl
cCAtIFJlbGVhc2luZyBNZWRpYVBsYXliYWNrIGFzc2VydGlvbiBmb3IgV2ViUHJvY2VzcyB3aXRo
IFBJRCAlZCIsIHRoaXMsIHByb2Nlc3NJZGVudGlmaWVyKCkpOworICAgICAgICBXRUJQUk9DRVNT
UFJPWFlfUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRhdGVBdWRpYmxlTWVkaWFB
c3NlcnRpb25zOiBSZWxlYXNpbmcgTWVkaWFQbGF5YmFjayBhc3NlcnRpb24gZm9yIFdlYlByb2Nl
c3MiKTsKICAgICAgICAgbV9hdWRpYmxlTWVkaWFBY3Rpdml0eSA9IHN0ZDo6bnVsbG9wdDsKICAg
ICB9CiB9CkBAIC0xNDY2LDEyICsxNTA1LDEyIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojp1cGRh
dGVBdWRpYmxlTWVkaWFBc3NlcnRpb25zKCkKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZXRJc0hv
bGRpbmdMb2NrZWRGaWxlcyhib29sIGlzSG9sZGluZ0xvY2tlZEZpbGVzKQogewogICAgIGlmICgh
aXNIb2xkaW5nTG9ja2VkRmlsZXMpIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3Bl
bnNpb24sICJVSVByb2Nlc3MgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVj
YXVzZSB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIG5vIGxvbmdlciBob2xkaW5nIGxvY2tlZCBm
aWxlcyIpOworICAgICAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3Bl
bnNpb24sICJzZXRJc0hvbGRpbmdMb2NrZWRGaWxlczogVUlQcm9jZXNzIGlzIHJlbGVhc2luZyBh
IGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcyBu
byBsb25nZXIgaG9sZGluZyBsb2NrZWQgZmlsZXMiKTsKICAgICAgICAgbV9hY3Rpdml0eUZvckhv
bGRpbmdMb2NrZWRGaWxlcyA9IG51bGxwdHI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
aWYgKCFtX2FjdGl2aXR5Rm9ySG9sZGluZ0xvY2tlZEZpbGVzKSB7Ci0gICAgICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiVUlQcm9jZXNzIGlzIHRha2luZyBhIGJhY2tncm91bmQg
YXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcyBob2xkaW5nIGxvY2tl
ZCBmaWxlcyIpOworICAgICAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0coUHJvY2Vzc1N1
c3BlbnNpb24sICJzZXRJc0hvbGRpbmdMb2NrZWRGaWxlczogVUlQcm9jZXNzIGlzIHRha2luZyBh
IGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcyBo
b2xkaW5nIGxvY2tlZCBmaWxlcyIpOwogICAgICAgICBtX2FjdGl2aXR5Rm9ySG9sZGluZ0xvY2tl
ZEZpbGVzID0gbV90aHJvdHRsZXIuYmFja2dyb3VuZEFjdGl2aXR5KCJIb2xkaW5nIGxvY2tlZCBm
aWxlcyJfcykubW92ZVRvVW5pcXVlUHRyKCk7CiAgICAgfQogfQpAQCAtMTUzNSw2ICsxNTc0LDcg
QEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFJlY2VpdmVCYWNrZ3JvdW5kUmVzcG9uc2l2ZW5l
c3NQaW5nKCkKIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NUZXJtaW5hdGVkKCkKIHsK
KyAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0coUHJvY2VzcywgInByb2Nlc3NUZXJtaW5h
dGVkOiIpOwogICAgIG1fYmFja2dyb3VuZFJlc3BvbnNpdmVuZXNzVGltZXIucHJvY2Vzc1Rlcm1p
bmF0ZWQoKTsKIH0KIApAQCAtMTU1MiwxNCArMTU5MiwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94
eTo6ZGlkRXhjZWVkSW5hY3RpdmVNZW1vcnlMaW1pdFdoaWxlQWN0aXZlKCkKIAogdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmRpZEV4Y2VlZEFjdGl2ZU1lbW9yeUxpbWl0KCkKIHsKLSAgICBSRUxFQVNF
X0xPR19FUlJPUihQZXJmb3JtYW5jZUxvZ2dpbmcsICIlcCAtIFdlYlByb2Nlc3NQcm94eTo6ZGlk
RXhjZWVkQWN0aXZlTWVtb3J5TGltaXQoKSBUZXJtaW5hdGluZyBXZWJQcm9jZXNzIHdpdGggcGlk
ICVkIHRoYXQgaGFzIGV4Y2VlZGVkIHRoZSBhY3RpdmUgbWVtb3J5IGxpbWl0IiwgdGhpcywgcHJv
Y2Vzc0lkZW50aWZpZXIoKSk7CisgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HX0VSUk9S
KFBlcmZvcm1hbmNlTG9nZ2luZywgImRpZEV4Y2VlZEFjdGl2ZU1lbW9yeUxpbWl0OiBUZXJtaW5h
dGluZyBXZWJQcm9jZXNzIGJlY2F1c2UgaXQgaGFzIGV4Y2VlZGVkIHRoZSBhY3RpdmUgbWVtb3J5
IGxpbWl0Iik7CiAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VGb3JSZXNvdXJjZUxpbWl0VGVybWlu
YXRpb24oRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpleGNlZWRlZEFjdGl2ZU1lbW9yeUxpbWl0S2V5
KCkpOwogICAgIHJlcXVlc3RUZXJtaW5hdGlvbihQcm9jZXNzVGVybWluYXRpb25SZWFzb246OkV4
Y2VlZGVkTWVtb3J5TGltaXQpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkRXhjZWVk
SW5hY3RpdmVNZW1vcnlMaW1pdCgpCiB7Ci0gICAgUkVMRUFTRV9MT0dfRVJST1IoUGVyZm9ybWFu
Y2VMb2dnaW5nLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OmRpZEV4Y2VlZEluYWN0aXZlTWVtb3J5
TGltaXQoKSBUZXJtaW5hdGluZyBXZWJQcm9jZXNzIHdpdGggcGlkICVkIHRoYXQgaGFzIGV4Y2Vl
ZGVkIHRoZSBpbmFjdGl2ZSBtZW1vcnkgbGltaXQiLCB0aGlzLCBwcm9jZXNzSWRlbnRpZmllcigp
KTsKKyAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0dfRVJST1IoUGVyZm9ybWFuY2VMb2dn
aW5nLCAiZGlkRXhjZWVkSW5hY3RpdmVNZW1vcnlMaW1pdDogVGVybWluYXRpbmcgV2ViUHJvY2Vz
cyBiZWNhdXNlIGl0IGhhcyBleGNlZWRlZCB0aGUgaW5hY3RpdmUgbWVtb3J5IGxpbWl0Iik7CiAg
ICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VGb3JSZXNvdXJjZUxpbWl0VGVybWluYXRpb24oRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpleGNlZWRlZEluYWN0aXZlTWVtb3J5TGltaXRLZXkoKSk7CiAgICAg
cmVxdWVzdFRlcm1pbmF0aW9uKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6RXhjZWVkZWRNZW1v
cnlMaW1pdCk7CiB9CkBAIC0xNTcwLDEyICsxNjEwLDEyIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5
OjpkaWRFeGNlZWRDUFVMaW1pdCgpCiAKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBwYWdlcygpKSB7
CiAgICAgICAgIGlmIChwYWdlLT5pc1BsYXlpbmdBdWRpbygpKSB7Ci0gICAgICAgICAgICBSRUxF
QVNFX0xPRyhQZXJmb3JtYW5jZUxvZ2dpbmcsICIlcCAtIFdlYlByb2Nlc3NQcm94eTo6ZGlkRXhj
ZWVkQ1BVTGltaXQoKSBXZWJQcm9jZXNzIHdpdGggcGlkICVkIGhhcyBleGNlZWRlZCB0aGUgYmFj
a2dyb3VuZCBDUFUgbGltaXQgYnV0IHdlIGFyZSBub3QgdGVybWluYXRpbmcgaXQgYmVjYXVzZSB0
aGVyZSBpcyBhdWRpbyBwbGF5aW5nIiwgdGhpcywgcHJvY2Vzc0lkZW50aWZpZXIoKSk7CisgICAg
ICAgICAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0coUGVyZm9ybWFuY2VMb2dnaW5nLCAi
ZGlkRXhjZWVkQ1BVTGltaXQ6IFdlYlByb2Nlc3MgaGFzIGV4Y2VlZGVkIHRoZSBiYWNrZ3JvdW5k
IENQVSBsaW1pdCBidXQgd2UgYXJlIG5vdCB0ZXJtaW5hdGluZyBpdCBiZWNhdXNlIHRoZXJlIGlz
IGF1ZGlvIHBsYXlpbmciKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAg
ICAgIGlmIChwYWdlLT5oYXNBY3RpdmVBdWRpb1N0cmVhbSgpIHx8IHBhZ2UtPmhhc0FjdGl2ZVZp
ZGVvU3RyZWFtKCkpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HKFBlcmZvcm1hbmNlTG9nZ2lu
ZywgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5OjpkaWRFeGNlZWRDUFVMaW1pdCgpIFdlYlByb2Nlc3Mg
d2l0aCBwaWQgJWQgaGFzIGV4Y2VlZGVkIHRoZSBiYWNrZ3JvdW5kIENQVSBsaW1pdCBidXQgd2Ug
YXJlIG5vdCB0ZXJtaW5hdGluZyBpdCBiZWNhdXNlIGl0IGlzIGNhcHR1cmluZyBhdWRpbyAvIHZp
ZGVvIiwgdGhpcywgcHJvY2Vzc0lkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBXRUJQUk9DRVNT
UFJPWFlfUkVMRUFTRV9MT0coUGVyZm9ybWFuY2VMb2dnaW5nLCAiZGlkRXhjZWVkQ1BVTGltaXQ6
IFdlYlByb2Nlc3MgaGFzIGV4Y2VlZGVkIHRoZSBiYWNrZ3JvdW5kIENQVSBsaW1pdCBidXQgd2Ug
YXJlIG5vdCB0ZXJtaW5hdGluZyBpdCBiZWNhdXNlIGl0IGlzIGNhcHR1cmluZyBhdWRpbyAvIHZp
ZGVvIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC0xNTkyLDcg
KzE2MzIsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkRXhjZWVkQ1BVTGltaXQoKQogICAg
IGlmIChoYXNWaXNpYmxlUGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUkVMRUFTRV9MT0df
RVJST1IoUGVyZm9ybWFuY2VMb2dnaW5nLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OmRpZEV4Y2Vl
ZENQVUxpbWl0KCkgVGVybWluYXRpbmcgYmFja2dyb3VuZCBXZWJQcm9jZXNzIHdpdGggcGlkICVk
IHRoYXQgaGFzIGV4Y2VlZGVkIHRoZSBiYWNrZ3JvdW5kIENQVSBsaW1pdCIsIHRoaXMsIHByb2Nl
c3NJZGVudGlmaWVyKCkpOworICAgIFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPR19FUlJPUihQ
ZXJmb3JtYW5jZUxvZ2dpbmcsICJkaWRFeGNlZWRDUFVMaW1pdDogVGVybWluYXRpbmcgYmFja2dy
b3VuZCBXZWJQcm9jZXNzIHRoYXQgaGFzIGV4Y2VlZGVkIHRoZSBiYWNrZ3JvdW5kIENQVSBsaW1p
dCIpOwogICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlRm9yUmVzb3VyY2VMaW1pdFRlcm1pbmF0aW9u
KERpYWdub3N0aWNMb2dnaW5nS2V5czo6ZXhjZWVkZWRCYWNrZ3JvdW5kQ1BVTGltaXRLZXkoKSk7
CiAgICAgcmVxdWVzdFRlcm1pbmF0aW9uKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6RXhjZWVk
ZWRDUFVMaW1pdCk7CiB9CkBAIC0xNjI0LDYgKzE2NjQsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94
eTo6YWN0aXZlUGFnZXNEb21haW5zRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZl
Y3Rvcgogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yTWFp
bkZyYW1lKGNvbnN0IFVSTCYgdXJsKQogewogICAgIFJFTEVBU0VfQVNTRVJUKCFpc0luUHJvY2Vz
c0NhY2hlKCkpOworICAgIFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhMb2FkaW5nLCAiZGlk
U3RhcnRQcm92aXNpb25hbExvYWRGb3JNYWluRnJhbWU6Iik7CiAKICAgICAvLyBUaGlzIHByb2Nl
c3MgaGFzIGJlZW4gdXNlZCBmb3Igc2V2ZXJhbCByZWdpc3RyYWJsZSBkb21haW5zIGFscmVhZHku
CiAgICAgaWYgKG1fcmVnaXN0cmFibGVEb21haW4gJiYgbV9yZWdpc3RyYWJsZURvbWFpbi0+aXNF
bXB0eSgpKQpAQCAtMTY1Niw2ICsxNjk3LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFN0
YXJ0UHJvdmlzaW9uYWxMb2FkRm9yTWFpbkZyYW1lKGNvbnN0IFVSTCYgdXJsKQogdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmluY3JlbWVudFN1c3BlbmRlZFBhZ2VDb3VudCgpCiB7CiAgICAgKyttX3N1
c3BlbmRlZFBhZ2VDb3VudDsKKyAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0coUHJvY2Vz
cywgImluY3JlbWVudFN1c3BlbmRlZFBhZ2VDb3VudDogbV9zdXNwZW5kZWRQYWdlQ291bnQ9JXUi
LCBtX3N1c3BlbmRlZFBhZ2VDb3VudCk7CiAgICAgaWYgKG1fc3VzcGVuZGVkUGFnZUNvdW50ID09
IDEpCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldEhhc1N1c3BlbmRlZFBh
Z2VQcm94eSh0cnVlKSwgMCk7CiB9CkBAIC0xNjY0LDYgKzE3MDYsNyBAQCB2b2lkIFdlYlByb2Nl
c3NQcm94eTo6ZGVjcmVtZW50U3VzcGVuZGVkUGFnZUNvdW50KCkKIHsKICAgICBBU1NFUlQobV9z
dXNwZW5kZWRQYWdlQ291bnQpOwogICAgIC0tbV9zdXNwZW5kZWRQYWdlQ291bnQ7CisgICAgV0VC
UFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3MsICJkZWNyZW1lbnRTdXNwZW5kZWRQYWdl
Q291bnQ6IG1fc3VzcGVuZGVkUGFnZUNvdW50PSV1IiwgbV9zdXNwZW5kZWRQYWdlQ291bnQpOwog
ICAgIGlmICghbV9zdXNwZW5kZWRQYWdlQ291bnQpIHsKICAgICAgICAgc2VuZChNZXNzYWdlczo6
V2ViUHJvY2Vzczo6U2V0SGFzU3VzcGVuZGVkUGFnZVByb3h5KGZhbHNlKSwgMCk7CiAgICAgICAg
IG1heWJlU2h1dERvd24oKTsKQEAgLTE2NzMsNyArMTcxNiw3IEBAIHZvaWQgV2ViUHJvY2Vzc1By
b3h5OjpkZWNyZW1lbnRTdXNwZW5kZWRQYWdlQ291bnQoKQogV2ViUHJvY2Vzc1Bvb2wqIFdlYlBy
b2Nlc3NQcm94eTo6cHJvY2Vzc1Bvb2xJZkV4aXN0cygpIGNvbnN0CiB7CiAgICAgaWYgKG1faXNQ
cmV3YXJtZWQgfHwgbV9pc0luUHJvY2Vzc0NhY2hlKQotICAgICAgICBSRUxFQVNFX0xPR19FUlJP
UihQcm9jZXNzLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NQb29sSWZFeGlzdHM6IHRy
eWluZyB0byBnZXQgV2ViUHJvY2Vzc1Bvb2wgZnJvbSBhbiBpbmFjdGl2ZSBXZWJQcm9jZXNzUHJv
eHkgJWkiLCB0aGlzLCBwcm9jZXNzSWRlbnRpZmllcigpKTsKKyAgICAgICAgV0VCUFJPQ0VTU1BS
T1hZX1JFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJwcm9jZXNzUG9vbElmRXhpc3RzOiB0cnlp
bmcgdG8gZ2V0IFdlYlByb2Nlc3NQb29sIGZyb20gYW4gaW5hY3RpdmUgV2ViUHJvY2Vzc1Byb3h5
Iik7CiAgICAgZWxzZQogICAgICAgICBBU1NFUlQobV9wcm9jZXNzUG9vbCk7CiAgICAgcmV0dXJu
IG1fcHJvY2Vzc1Bvb2wuZ2V0KCk7CkBAIC0xNzkzLDcgKzE4MzYsNyBAQCB2b2lkIFdlYlByb2Nl
c3NQcm94eTo6c3RhcnRCYWNrZ3JvdW5kQWN0aXZpdHlGb3JGdWxsc2NyZWVuSW5wdXQoKQogICAg
ICAgICByZXR1cm47CiAKICAgICBtX2JhY2tncm91bmRBY3Rpdml0eUZvckZ1bGxzY3JlZW5Gb3Jt
Q29udHJvbHMgPSBtX3Rocm90dGxlci5iYWNrZ3JvdW5kQWN0aXZpdHkoIkZ1bGxzY3JlZW4gaW5w
dXQiX3MpLm1vdmVUb1VuaXF1ZVB0cigpOwotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5z
aW9uLCAiVUlQcm9jZXNzIGlzIHRha2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2Ug
aXQgaXMgcHJlc2VudGluZyBmdWxsc2NyZWVuIFVJIGZvciBmb3JtIGNvbnRyb2xzLiIpOworICAg
IFdFQlBST0NFU1NQUk9YWV9SRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgInN0YXJ0QmFj
a2dyb3VuZEFjdGl2aXR5Rm9yRnVsbHNjcmVlbklucHV0OiBVSVByb2Nlc3MgaXMgdGFraW5nIGEg
YmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSBpdCBpcyBwcmVzZW50aW5nIGZ1bGxzY3JlZW4g
VUkgZm9yIGZvcm0gY29udHJvbHMuIik7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjplbmRC
YWNrZ3JvdW5kQWN0aXZpdHlGb3JGdWxsc2NyZWVuSW5wdXQoKQpAQCAtMTgwMiw3ICsxODQ1LDcg
QEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmVuZEJhY2tncm91bmRBY3Rpdml0eUZvckZ1bGxzY3Jl
ZW5JbnB1dCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fYmFja2dyb3VuZEFjdGl2aXR5Rm9y
RnVsbHNjcmVlbkZvcm1Db250cm9scyA9IG51bGxwdHI7Ci0gICAgUkVMRUFTRV9MT0coUHJvY2Vz
c1N1c3BlbnNpb24sICJVSVByb2Nlc3MgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRp
b24gYmVjYXVzZSBpdCBoYXMgZGlzbWlzc2VkIGZ1bGxzY3JlZW4gVUkgZm9yIGZvcm0gY29udHJv
bHMuIik7CisgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9u
LCAiZW5kQmFja2dyb3VuZEFjdGl2aXR5Rm9yRnVsbHNjcmVlbklucHV0OiBVSVByb2Nlc3MgaXMg
cmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSBpdCBoYXMgZGlzbWlzc2Vk
IGZ1bGxzY3JlZW4gVUkgZm9yIGZvcm0gY29udHJvbHMuIik7CiB9CiAKICNlbmRpZgpAQCAtMTgx
MCw4ICsxODUzLDkgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmVuZEJhY2tncm91bmRBY3Rpdml0
eUZvckZ1bGxzY3JlZW5JbnB1dCgpCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogdm9pZCBX
ZWJQcm9jZXNzUHJveHk6OmVzdGFibGlzaFNlcnZpY2VXb3JrZXJDb250ZXh0KGNvbnN0IFdlYlBy
ZWZlcmVuY2VzU3RvcmUmIHN0b3JlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7Ci0gICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzOjpFc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MgeyBw
cm9jZXNzUG9vbCgpLmRlZmF1bHRQYWdlR3JvdXAoKS5wYWdlR3JvdXBJRCgpLCBtX3NlcnZpY2VX
b3JrZXJJbmZvcm1hdGlvbi0+c2VydmljZVdvcmtlclBhZ2VQcm94eUlELCBtX3NlcnZpY2VXb3Jr
ZXJJbmZvcm1hdGlvbi0+c2VydmljZVdvcmtlclBhZ2VJRCwgc3RvcmUsICptX3JlZ2lzdHJhYmxl
RG9tYWluLCBtX3NlcnZpY2VXb3JrZXJJbmZvcm1hdGlvbi0+aW5pdGlhbGl6YXRpb25EYXRhIH0s
IFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgpIG11dGFi
bGUgewotICAgICAgICBSRUxFQVNFX0xPRyhMb2FkaW5nLCAiV2ViUHJvY2Vzc1Byb3h5Ojplc3Rh
Ymxpc2hTZXJ2aWNlV29ya2VyQ29udGV4dCBmaW5pc2hlZCIpOworICAgIFdFQlBST0NFU1NQUk9Y
WV9SRUxFQVNFX0xPRyhMb2FkaW5nLCAiZXN0YWJsaXNoU2VydmljZVdvcmtlckNvbnRleHQ6IFN0
YXJ0ZWQiKTsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkVz
dGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyB7IHByb2Nlc3NQ
b29sKCkuZGVmYXVsdFBhZ2VHcm91cCgpLnBhZ2VHcm91cElEKCksIG1fc2VydmljZVdvcmtlcklu
Zm9ybWF0aW9uLT5zZXJ2aWNlV29ya2VyUGFnZVByb3h5SUQsIG1fc2VydmljZVdvcmtlckluZm9y
bWF0aW9uLT5zZXJ2aWNlV29ya2VyUGFnZUlELCBzdG9yZSwgKm1fcmVnaXN0cmFibGVEb21haW4s
IG1fc2VydmljZVdvcmtlckluZm9ybWF0aW9uLT5pbml0aWFsaXphdGlvbkRhdGEgfSwgW3RoaXMs
IHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgV0VCUFJPQ0VTU1BS
T1hZX1JFTEVBU0VfTE9HKExvYWRpbmcsICJlc3RhYmxpc2hTZXJ2aWNlV29ya2VyQ29udGV4dDog
RmluaXNoZWQiKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9LCAwKTsKIH0K
QEAgLTE4MzAsNyArMTg3NCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojp1cGRhdGVTZXJ2aWNl
V29ya2VyUHJlZmVyZW5jZXNTdG9yZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0CiAKIHZvaWQgV2Vi
UHJvY2Vzc1Byb3h5Ojp1cGRhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzc0Fzc2VydGlvbigpCiB7Ci0g
ICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3NQcm94eTo6
dXBkYXRlU2VydmljZVdvcmtlclByb2Nlc3NBc3NlcnRpb24oKSBQSUQ9JWQiLCB0aGlzLCBwcm9j
ZXNzSWRlbnRpZmllcigpKTsKKyAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0coUHJvY2Vz
c1N1c3BlbnNpb24sICJ1cGRhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzc0Fzc2VydGlvbjoiKTsKICAg
ICBBU1NFUlQobV9zZXJ2aWNlV29ya2VySW5mb3JtYXRpb24pOwogICAgIGlmICghbV9zZXJ2aWNl
V29ya2VySW5mb3JtYXRpb24pCiAgICAgICAgIHJldHVybjsKQEAgLTE4NjAsNiArMTkwNCw3IEBA
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRQcm9jZXNz
KFdlYlByb2Nlc3NQcm94eSYgcHJveHkpCiAgICAgaWYgKCFtX3NlcnZpY2VXb3JrZXJJbmZvcm1h
dGlvbikKICAgICAgICAgcmV0dXJuOwogCisgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9H
KFNlcnZpY2VXb3JrZXIsICJyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRQcm9jZXNzOiBjbGll
bnRQcm9jZXNzPSVwLCBjbGllbnRQSUQ9JWQiLCAmcHJveHksIHByb3h5LnByb2Nlc3NJZGVudGlm
aWVyKCkpOwogICAgIG1fc2VydmljZVdvcmtlckluZm9ybWF0aW9uLT5jbGllbnRQcm9jZXNzZXMu
YWRkKHByb3h5KTsKICAgICB1cGRhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzc0Fzc2VydGlvbigpOwog
fQpAQCAtMTg2OSw2ICsxOTE0LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnVucmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50UHJvY2VzcyhXZWJQcm9jZXNzUHJveHkmIHByb3gKICAgICBpZiAo
IW1fc2VydmljZVdvcmtlckluZm9ybWF0aW9uKQogICAgICAgICByZXR1cm47CiAKKyAgICBXRUJQ
Uk9DRVNTUFJPWFlfUkVMRUFTRV9MT0coU2VydmljZVdvcmtlciwgInVucmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50UHJvY2VzczogY2xpZW50UHJvY2Vzcz0lcCwgY2xpZW50UElEPSVkIiwgJnBy
b3h5LCBwcm94eS5wcm9jZXNzSWRlbnRpZmllcigpKTsKICAgICBtX3NlcnZpY2VXb3JrZXJJbmZv
cm1hdGlvbi0+Y2xpZW50UHJvY2Vzc2VzLnJlbW92ZShwcm94eSk7CiAgICAgdXBkYXRlU2Vydmlj
ZVdvcmtlclByb2Nlc3NBc3NlcnRpb24oKTsKIH0KQEAgLTE4ODksNiArMTkzNSw3IEBAIHZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjpkaXNhYmxlU2VydmljZVdvcmtlcnMoKQogICAgIGlmICghbV9zZXJ2
aWNlV29ya2VySW5mb3JtYXRpb24pCiAgICAgICAgIHJldHVybjsKIAorICAgIFdFQlBST0NFU1NQ
Uk9YWV9SRUxFQVNFX0xPRyhTZXJ2aWNlV29ya2VyLCAiZGlzYWJsZVNlcnZpY2VXb3JrZXJzOiIp
OwogICAgIG1fc2VydmljZVdvcmtlckluZm9ybWF0aW9uID0geyB9OwogICAgIHVwZGF0ZUJhY2tn
cm91bmRSZXNwb25zaXZlbmVzc1RpbWVyKCk7CiAKQEAgLTE5MjAsNiArMTk2Nyw3IEBAIHZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjplbmFibGVTZXJ2aWNlV29ya2Vycyhjb25zdCBVc2VyQ29udGVudENv
bnRyb2xsZXJJZGVudGlmaWVyCiB7CiAgICAgQVNTRVJUKG1fcmVnaXN0cmFibGVEb21haW4gJiYg
IW1fcmVnaXN0cmFibGVEb21haW4tPmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUKCFtX3NlcnZpY2VX
b3JrZXJJbmZvcm1hdGlvbik7CisgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9HKFNlcnZp
Y2VXb3JrZXIsICJlbmFibGVTZXJ2aWNlV29ya2VyczoiKTsKICAgICBtX3NlcnZpY2VXb3JrZXJJ
bmZvcm1hdGlvbiA9IFNlcnZpY2VXb3JrZXJJbmZvcm1hdGlvbiB7CiAgICAgICAgIFdlYlBhZ2VQ
cm94eUlkZW50aWZpZXI6OmdlbmVyYXRlKCksCiAgICAgICAgIFBhZ2VJZGVudGlmaWVyOjpnZW5l
cmF0ZSgpLApAQCAtMTk3NSwzICsyMDIzLDUgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnBsYXRm
b3JtUmVzdW1lUHJvY2VzcygpCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwogI3VuZGVmIE1FU1NBR0Vf
Q0hFQ0tfVVJMCiAjdW5kZWYgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OCisjdW5kZWYgV0VCUFJP
Q0VTU1BST1hZX1JFTEVBU0VfTE9HCisjdW5kZWYgV0VCUFJPQ0VTU1BST1hZX1JFTEVBU0VfTE9H
X0VSUk9SCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>