<?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>226477</bug_id>
          
          <creation_ts>2021-05-31 18:14:29 -0700</creation_ts>
          <short_desc>REGRESSION(r278261): Broke windows build</short_desc>
          <delta_ts>2021-05-31 18:35:37 -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>New Bugs</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>
          
          <blocked>226272</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1765478</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-05-31 18:14:29 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/278261 broke the build:
Broke windows build

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765480</commentid>
    <comment_count>1</comment_count>
      <attachid>430220</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-05-31 18:14:36 -0700</bug_when>
    <thetext>Created attachment 430220
REVERT of r278261

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765481</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-31 18:17:21 -0700</bug_when>
    <thetext>Committed r278290 (238327@main): &lt;https://commits.webkit.org/238327@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430220.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765482</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-31 18:18:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/78696494&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765483</commentid>
    <comment_count>4</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-05-31 18:25:03 -0700</bug_when>
    <thetext>Revert wasn&apos;t complete as there was a subsequent commit (r278283) which used the file (CSSCalcSymbolTable.h) added in r278261.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765484</commentid>
    <comment_count>5</comment_count>
      <attachid>430221</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-05-31 18:26:07 -0700</bug_when>
    <thetext>Created attachment 430221
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765485</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-31 18:35:35 -0700</bug_when>
    <thetext>Committed r278291 (238328@main): &lt;https://commits.webkit.org/238328@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430221.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430220</attachid>
            <date>2021-05-31 18:14:36 -0700</date>
            <delta_ts>2021-05-31 18:31:37 -0700</delta_ts>
            <desc>REVERT of r278261</desc>
            <filename>bug-226477-20210601011435.patch</filename>
            <type>text/plain</type>
            <size>91149</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4Mjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIzNmYwODIwZTI0NmZh
YmVkZDFhM2Y5NjAwYjg4MDlhODZlOWE0Zi4uMzA2ZjM0YTM2OTRhOGUxZTUwYjJkZTZhMmMxZTU1
MzIzNjlkNDEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA1LTMxICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByZXZlcnRpbmcgcjI3ODI2MS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjQ3NworCisgICAgICAgIEJyb2tlIHdpbmRvd3MgYnVpbGQKKworICAg
ICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIlN1cHBvcnQgY2FsYygpIG9uIGNv
bXBvbmVudHMgaW5zaWRlIHJlbGF0aXZlIGNvbG9yIHN5bnRheAorICAgICAgICBjb2xvcnMiCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYyNzIKKyAg
ICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI3ODI2MQorCiAyMDIxLTA1
LTMxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRocmVh
ZCBzYWZldHkgaXNzdWVzIGluIENvbnZvbHZlck5vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggYTM2ZDIw
NjgyY2Q3NTAwMjZmZjY3NDY0Yzg2MjU4YTIzMTU3ZjYyOS4uZWE5MGYyN2ViMTg2N2I0ZWJiNzQw
MjQ5YzBlYjEyYTdmNDcwMDBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTgzMSw3ICs4MzEsNiBAQCBj
c3MvY2FsYy9DU1NDYWxjSW52ZXJ0Tm9kZS5jcHAKIGNzcy9jYWxjL0NTU0NhbGNOZWdhdGVOb2Rl
LmNwcAogY3NzL2NhbGMvQ1NTQ2FsY09wZXJhdGlvbk5vZGUuY3BwCiBjc3MvY2FsYy9DU1NDYWxj
UHJpbWl0aXZlVmFsdWVOb2RlLmNwcAotY3NzL2NhbGMvQ1NTQ2FsY1N5bWJvbFRhYmxlLmNwcAog
Y3NzL2NhbGMvQ1NTQ2FsY1ZhbHVlLmNwcAogY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKIGNz
cy9wYXJzZXIvQ1NTRGVmZXJyZWRQYXJzZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTkyMmUyYmMxNmJkNjJmZjgzZmY5
YzgyOTI2M2NiMzNlZjQ3ZGI5ZS4uNWMzZjMwNDhiNjlhMzFjZDExYjkzZTY4Y2ExMzZkOWEyNTRl
YjI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNDA3Nyw3ICs0MDc3LDYgQEAKIAkJQkM2OTMyNzQwRDdFMjkzOTAwQUU0NEQx
IC8qIEpTRE9NV2luZG93QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM2OTMyNzIwRDdFMjkzOTAwQUU0NEQxIC8qIEpTRE9NV2luZG93QmFzZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNkQ0
NEVEMEMwN0YyRUQwMDcyRDJDOSAvKiBKU0hUTUxFbWJlZEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNkQ0NEVCMEMwN0YyRUQwMDcyRDJD
OSAvKiBKU0hUTUxFbWJlZEVsZW1lbnQuaCAqLzsgfTsKIAkJQkM2RDZFMjYwOUFGOTQzNTAwRjU5
NzU5IC8qIFNjcm9sbFZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDNkQ2RTI1MDlBRjk0MzUwMEY1OTc1OSAvKiBTY3JvbGxWaWV3LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkM3MDlERTAyNjYz
MjNDRjAwQjlBMjFDIC8qIENTU0NhbGNTeW1ib2xUYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3MDlEREUyNjYzMjNDRTAwQjlBMjFDIC8qIENT
U0NhbGNTeW1ib2xUYWJsZS5oICovOyB9OwogCQlCQzc3MkIzQzBDNEVBOTFFMDA4MzI4NUYgLyog
Q1NTSGVscGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzc3MkIzNjBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTSGVscGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM3NzJDNDcwQzRFQjJDNjAwODMy
ODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzc3MkM0NTBDNEVCMkM2MDA4MzI4NUYgLyogWE1MSHR0cFJlcXVlc3Qu
aCAqLzsgfTsKIAkJQkM3NzJDNEYwQzRFQjMwNDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0cnku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcyQzRE
MEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE0MzA1LDggKzE0MzA0LDYgQEAKIAkJ
QkM2RDQ0RUIwQzA3RjJFRDAwNzJEMkM5IC8qIEpTSFRNTEVtYmVkRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MRW1iZWRFbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNkQ2RTI1MDlBRjk0MzUwMEY1OTc1OSAvKiBTY3JvbGxW
aWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxWaWV3Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNkVCODQ1MjYyNjZCNjEwMDMyMjVBNyAvKiBD
b2xvckx1bWluYW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb2xvckx1bWluYW5jZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDNzA5RERFMjY2MzIzQ0UwMEI5QTIxQyAv
KiBDU1NDYWxjU3ltYm9sVGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ2FsY1N5bWJvbFRhYmxl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDNzA5RERGMjY2MzIzQ0UwMEI5QTIx
QyAvKiBDU1NDYWxjU3ltYm9sVGFibGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTQ2FsY1N5
bWJvbFRhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM3NzJCMzYwQzRF
QTkxRTAwODMyODVGIC8qIENTU0hlbHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ1NTSGVscGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNzcyQzQ0
MEM0RUIyQzYwMDgzMjg1RiAvKiBYTUxIdHRwUmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gWE1MSHR0cFJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQzc3MkM0NTBDNEVCMkM2MDA4MzI4NUYgLyogWE1MSHR0cFJlcXVlc3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhNTEh0dHBSZXF1ZXN0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzk1OSw4ICsyNzk1Niw2IEBACiAJCQkJQkNG
MTY0NUYyNjYyQTI4RDAwMDJGN0VGIC8qIENTU0NhbGNPcGVyYXRpb25Ob2RlLmggKi8sCiAJCQkJ
QkNGMTY0NTQyNjYyQTEyMjAwMDJGN0VGIC8qIENTU0NhbGNQcmltaXRpdmVWYWx1ZU5vZGUuY3Bw
ICovLAogCQkJCUJDRjE2NDUzMjY2MkExMjIwMDAyRjdFRiAvKiBDU1NDYWxjUHJpbWl0aXZlVmFs
dWVOb2RlLmggKi8sCi0JCQkJQkM3MDlEREYyNjYzMjNDRTAwQjlBMjFDIC8qIENTU0NhbGNTeW1i
b2xUYWJsZS5jcHAgKi8sCi0JCQkJQkM3MDlEREUyNjYzMjNDRTAwQjlBMjFDIC8qIENTU0NhbGNT
eW1ib2xUYWJsZS5oICovLAogCQkJCTQ5QUUyRDhDMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxj
VmFsdWUuY3BwICovLAogCQkJCTQ5QUUyRDhEMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFs
dWUuaCAqLywKIAkJCSk7CkBAIC0zNDY3NCw3ICszNDY2OSw2IEBACiAJCQkJMjY2MDFFQkYxNEIz
QjlBRDAwMTJDMEZFIC8qIFBsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQ0FBNDg3MDE0QTA1MjUzMDA4OEZBQzQgLyogUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE3MjNGNzdCMTQ4NENBNEMwMDhDNkRCRSAvKiBQbGF0Zm9y
bUV4cG9ydE1hY3Jvcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkM3MDlERTAyNjYzMjNDRjAwQjlB
MjFDIC8qIENTU0NhbGNTeW1ib2xUYWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1QkUxOTUx
RDU0RjVGQjAwREQ3QzY4IC8qIFBsYXRmb3JtR2FtZXBhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NzI2RDU2RTIyNTNBRTI4RDAwMDJFRjkwIC8qIFBsYXRmb3JtSW1hZ2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJENzcwNUM3MjU1Mjc2Q0QwMDFEMEM5NCAvKiBQbGF0Zm9ybUltYWdlQnVmZmVyLmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9jYWxjL0NTU0Nh
bGNFeHByZXNzaW9uTm9kZVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvY2FsYy9DU1ND
YWxjRXhwcmVzc2lvbk5vZGVQYXJzZXIuY3BwCmluZGV4IDcwYWU5ZTZkYzIyM2IwMmZmZjZjMTg0
OGQzZThhZGRjMzdkZDk2YTcuLjYxMDBiZGM4MmIzNDA4ZTQ0N2IzZTNkMTA4ZTM4Y2E2YjRjMTJh
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9jYWxjL0NTU0NhbGNFeHByZXNzaW9u
Tm9kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL2NhbGMvQ1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyLmNwcApAQCAtMzEsMTEgKzMxLDkgQEAKICNpbmNsdWRlICJDU1NDYWxj
TmVnYXRlTm9kZS5oIgogI2luY2x1ZGUgIkNTU0NhbGNPcGVyYXRpb25Ob2RlLmgiCiAjaW5jbHVk
ZSAiQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZS5oIgotI2luY2x1ZGUgIkNTU0NhbGNTeW1ib2xU
YWJsZS5oIgogI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlclRv
a2VuLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyVG9rZW5SYW5nZS5oIgotI2luY2x1ZGUgIkNTU1Zh
bHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTE4MiwzNSArMTgwLDE5IEBAIGJvb2wgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2Vy
OjpwYXJzZUNhbGNGdW5jdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlJiB0b2tlbnMsCiAKIGJvb2wg
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVlKENTU1BhcnNlclRva2VuUmFu
Z2UmIHRva2VucywgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4mIHJlc3VsdCkKIHsKLSAg
ICBhdXRvIG1ha2VDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlID0gWyZdIChDU1NVbml0VHlwZSB0
eXBlLCBkb3VibGUgdmFsdWUpIC0+IGJvb2wgewotICAgICAgICBpZiAoY2FsY1VuaXRDYXRlZ29y
eSh0eXBlKSA9PSBDYWxjdWxhdGlvbkNhdGVnb3J5OjpPdGhlcikKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIHJlc3VsdCA9IENTU0NhbGNQcmltaXRpdmVWYWx1
ZU5vZGU6OmNyZWF0ZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhbHVlLCB0eXBlKSk7Ci0g
ICAgICAgIHJldHVybiB0cnVlOwotICAgIH07Ci0KLSAgICBhdXRvIHRva2VuID0gdG9rZW5zLmNv
bnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7Ci0KLSAgICBzd2l0Y2ggKHRva2VuLnR5cGUoKSkg
ewotICAgIGNhc2UgSWRlbnRUb2tlbjogewotICAgICAgICBhdXRvIHZhbHVlID0gbV9zeW1ib2xU
YWJsZS5nZXQodG9rZW4uaWQoKSk7Ci0gICAgICAgIGlmICghdmFsdWUpCi0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJldHVybiBtYWtlQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9k
ZSh2YWx1ZS0+dHlwZSwgdmFsdWUtPnZhbHVlKTsKLSAgICB9Ci0KLSAgICBjYXNlIE51bWJlclRv
a2VuOgotICAgIGNhc2UgUGVyY2VudGFnZVRva2VuOgotICAgIGNhc2UgRGltZW5zaW9uVG9rZW46
Ci0gICAgICAgIHJldHVybiBtYWtlQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZSh0b2tlbi51bml0
VHlwZSgpLCB0b2tlbi5udW1lcmljVmFsdWUoKSk7CisgICAgLy8gRklYTUU6IEFkZCBjb2RlIGhl
cmUgdG8gcGFyc2UgQ1NTVmFsaWRJRCBmb3IgbmFtZWQgY29uc3RhbnRzLgogCi0gICAgZGVmYXVs
dDoKKyAgICBDU1NQYXJzZXJUb2tlbiB0b2tlbiA9IHRva2Vucy5jb25zdW1lSW5jbHVkaW5nV2hp
dGVzcGFjZSgpOworICAgIGlmICghKHRva2VuLnR5cGUoKSA9PSBOdW1iZXJUb2tlbiB8fCB0b2tl
bi50eXBlKCkgPT0gUGVyY2VudGFnZVRva2VuIHx8IHRva2VuLnR5cGUoKSA9PSBEaW1lbnNpb25U
b2tlbikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgYXV0byB0eXBlID0gdG9rZW4u
dW5pdFR5cGUoKTsKKyAgICBpZiAoY2FsY1VuaXRDYXRlZ29yeSh0eXBlKSA9PSBDYWxjdWxhdGlv
bkNhdGVnb3J5OjpPdGhlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAorICAgIHJlc3Vs
dCA9IENTU0NhbGNQcmltaXRpdmVWYWx1ZU5vZGU6OmNyZWF0ZShDU1NQcmltaXRpdmVWYWx1ZTo6
Y3JlYXRlKHRva2VuLm51bWVyaWNWYWx1ZSgpLCB0eXBlKSk7CisgICAgCisgICAgcmV0dXJuIHRy
dWU7CiB9CiAKIGJvb2wgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZUNhbGNWYWx1
ZShDU1NQYXJzZXJUb2tlblJhbmdlJiB0b2tlbnMsIGludCBkZXB0aCwgUmVmUHRyPENTU0NhbGNF
eHByZXNzaW9uTm9kZT4mIHJlc3VsdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9j
YWxjL0NTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL2Nh
bGMvQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyLmgKaW5kZXggM2ZjM2ViMDA2NTYwMGJhNWQ5
NzEzYmU2MzllYmVlMWU3NGE3YzcwMi4uNTllNzAwOTRkNWQyNmU2ZmUzNDc2ZWZiZDE5YzA2M2I4
MzM4ZDk2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2NhbGMvQ1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL2NhbGMvQ1NTQ2FsY0V4
cHJlc3Npb25Ob2RlUGFyc2VyLmgKQEAgLTI1LDIzICsyNSwyMCBAQAogCiAjcHJhZ21hIG9uY2UK
IAorI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJDYWxjT3BlcmF0b3Iu
aCIKICNpbmNsdWRlICJDYWxjdWxhdGlvbkNhdGVnb3J5LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlOwotY2xhc3MgQ1NTQ2FsY1N5bWJvbFRh
YmxlOwogY2xhc3MgQ1NTUGFyc2VyVG9rZW47CiBjbGFzcyBDU1NQYXJzZXJUb2tlblJhbmdlOwog
Ci1lbnVtIENTU1ZhbHVlSUQgOiB1aW50MTZfdDsKLQogY2xhc3MgQ1NTQ2FsY0V4cHJlc3Npb25O
b2RlUGFyc2VyIHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBDU1NDYWxjRXhwcmVzc2lvbk5vZGVQ
YXJzZXIoQ2FsY3VsYXRpb25DYXRlZ29yeSBkZXN0aW5hdGlvbkNhdGVnb3J5LCBjb25zdCBDU1ND
YWxjU3ltYm9sVGFibGUmIHN5bWJvbFRhYmxlKQorICAgIGV4cGxpY2l0IENTU0NhbGNFeHByZXNz
aW9uTm9kZVBhcnNlcihDYWxjdWxhdGlvbkNhdGVnb3J5IGRlc3RpbmF0aW9uQ2F0ZWdvcnkpCiAg
ICAgICAgIDogbV9kZXN0aW5hdGlvbkNhdGVnb3J5KGRlc3RpbmF0aW9uQ2F0ZWdvcnkpCi0gICAg
ICAgICwgbV9zeW1ib2xUYWJsZShzeW1ib2xUYWJsZSkKICAgICB7CiAgICAgfQogCkBAIC01OCw3
ICs1NSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwYXJzZUNhbGNWYWx1ZShDU1NQYXJzZXJUb2tl
blJhbmdlJiwgaW50IGRlcHRoLCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiYpOwogCiAg
ICAgQ2FsY3VsYXRpb25DYXRlZ29yeSBtX2Rlc3RpbmF0aW9uQ2F0ZWdvcnk7Ci0gICAgY29uc3Qg
Q1NTQ2FsY1N5bWJvbFRhYmxlJiBtX3N5bWJvbFRhYmxlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL2NhbGMvQ1NTQ2FsY1N5bWJvbFRhYmxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9jYWxjL0NTU0NhbGNTeW1ib2xUYWJsZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDQ3ZjlkNTExNWMzMTM0YWY4NWFmNWIwMDNiMjU2NmFkMGJiMmRlMDYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL2NhbGMvQ1NTQ2FsY1N5bWJvbFRhYmxlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ4
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQ1NT
Q2FsY1N5bWJvbFRhYmxlLmgiCi0KLSNpbmNsdWRlICJDU1NVbml0cy5oIgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLUNTU0NhbGNTeW1ib2xUYWJsZTo6Q1NTQ2FsY1N5bWJvbFRhYmxlKHN0ZDo6
aW5pdGlhbGl6ZXJfbGlzdDxzdGQ6OnR1cGxlPENTU1ZhbHVlSUQsIENTU1VuaXRUeXBlLCBkb3Vi
bGU+PiBpbml0aWFsaXplcikKLXsKLSAgICBmb3IgKGF1dG8mIFtpZGVudGlmaWVyLCB0eXBlLCB2
YWx1ZV0gOiBpbml0aWFsaXplcikKLSAgICAgICAgbV90YWJsZS5hZGQoaWRlbnRpZmllciwgc3Rk
OjptYWtlX3BhaXIodHlwZSwgdmFsdWUpKTsKLX0KLQotc3RkOjpvcHRpb25hbDxDU1NDYWxjU3lt
Ym9sVGFibGU6OlZhbHVlPiBDU1NDYWxjU3ltYm9sVGFibGU6OmdldChDU1NWYWx1ZUlEIHZhbHVl
SUQpIGNvbnN0Ci17Ci0gICAgYXV0byBpdCA9IG1fdGFibGUuZmluZCh2YWx1ZUlEKTsKLSAgICBp
ZiAoaXQgPT0gbV90YWJsZS5lbmQoKSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLQot
ICAgIHJldHVybiB7eyBpdC0+dmFsdWUuZmlyc3QsIGl0LT52YWx1ZS5zZWNvbmQgfX07Ci19Ci0K
LX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9jYWxjL0NTU0NhbGNTeW1ib2xUYWJs
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL2NhbGMvQ1NTQ2FsY1N5bWJvbFRhYmxlLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4ZTE1ZDk0NDNjNjQ0MzBkNjdhMzQwYTBjYjNlNDE3
ZDAwY2QyYTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL2NhbGMvQ1NTQ2FsY1N5bWJvbFRhYmxlLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRl
ICJDU1NWYWx1ZUtleXdvcmRzLmgiCi0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRl
IDx3dGYvT3B0aW9uYWwuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1lbnVtIGNsYXNzIENT
U1VuaXRUeXBlIDogdWludDhfdDsKLQotY2xhc3MgQ1NTQ2FsY1N5bWJvbFRhYmxlIHsKLXB1Ymxp
YzoKLSAgICBzdHJ1Y3QgVmFsdWUgewotICAgICAgICBDU1NVbml0VHlwZSB0eXBlOwotICAgICAg
ICBkb3VibGUgdmFsdWU7Ci0gICAgfTsKLQotICAgIENTU0NhbGNTeW1ib2xUYWJsZSgpID0gZGVm
YXVsdDsKLSAgICBDU1NDYWxjU3ltYm9sVGFibGUoc3RkOjppbml0aWFsaXplcl9saXN0PHN0ZDo6
dHVwbGU8Q1NTVmFsdWVJRCwgQ1NTVW5pdFR5cGUsIGRvdWJsZT4+KTsKLQotICAgIHN0ZDo6b3B0
aW9uYWw8VmFsdWU+IGdldChDU1NWYWx1ZUlEKSBjb25zdDsKLQotcHJpdmF0ZToKLSAgICBIYXNo
TWFwPENTU1ZhbHVlSUQsIHN0ZDo6cGFpcjxDU1NVbml0VHlwZSwgZG91YmxlPj4gbV90YWJsZTsK
LX07Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvY2FsYy9DU1NDYWxjVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL2NhbGMvQ1NTQ2FsY1ZhbHVlLmNwcAppbmRleCBl
MWY3M2IwMzNmOWM3MWFkMWE4ODc5MWY5OTFiNTcwZDFhM2Y4YzVlLi5hN2ViYTkzZmQ2YWI2YTRj
MzBlMWZiZTIzNDZjOTdiMDk5NTkwOWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Y2FsYy9DU1NDYWxjVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9jYWxjL0NTU0Nh
bGNWYWx1ZS5jcHAKQEAgLTQxLDcgKzQxLDYgQEAKICNpbmNsdWRlICJDU1NQYXJzZXIuaCIKICNp
bmNsdWRlICJDU1NQYXJzZXJUb2tlblJhbmdlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oIgotI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJD
YWxjRXhwcmVzc2lvbkJsZW5kTGVuZ3RoLmgiCiAjaW5jbHVkZSAiQ2FsY0V4cHJlc3Npb25JbnZl
cnNpb24uaCIKICNpbmNsdWRlICJDYWxjRXhwcmVzc2lvbkxlbmd0aC5oIgpAQCAtMzA1LDkgKzMw
NCw5IEBAIHZvaWQgQ1NTQ2FsY1ZhbHVlOjpkdW1wKFRleHRTdHJlYW0mIHRzKSBjb25zdAogICAg
IHRzIDw8ICIpXG4iOwogfQogCi1SZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBDU1NDYWxjVmFsdWU6OmNy
ZWF0ZShDU1NWYWx1ZUlEIGZ1bmN0aW9uLCBjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiB0b2tl
bnMsIENhbGN1bGF0aW9uQ2F0ZWdvcnkgZGVzdGluYXRpb25DYXRlZ29yeSwgVmFsdWVSYW5nZSBy
YW5nZSwgY29uc3QgQ1NTQ2FsY1N5bWJvbFRhYmxlJiBzeW1ib2xUYWJsZSkKK1JlZlB0cjxDU1ND
YWxjVmFsdWU+IENTU0NhbGNWYWx1ZTo6Y3JlYXRlKENTU1ZhbHVlSUQgZnVuY3Rpb24sIGNvbnN0
IENTU1BhcnNlclRva2VuUmFuZ2UmIHRva2VucywgQ2FsY3VsYXRpb25DYXRlZ29yeSBkZXN0aW5h
dGlvbkNhdGVnb3J5LCBWYWx1ZVJhbmdlIHJhbmdlKQogewotICAgIENTU0NhbGNFeHByZXNzaW9u
Tm9kZVBhcnNlciBwYXJzZXIoZGVzdGluYXRpb25DYXRlZ29yeSwgc3ltYm9sVGFibGUpOworICAg
IENTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlciBwYXJzZXIoZGVzdGluYXRpb25DYXRlZ29yeSk7
CiAgICAgYXV0byBleHByZXNzaW9uID0gcGFyc2VyLnBhcnNlQ2FsYyh0b2tlbnMsIGZ1bmN0aW9u
KTsKICAgICBpZiAoIWV4cHJlc3Npb24pCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMzE1
LDEyICszMTQsNyBAQCBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBDU1NDYWxjVmFsdWU6OmNyZWF0ZShD
U1NWYWx1ZUlEIGZ1bmN0aW9uLCBjb25zdCBDU1NQYXJzZXJUbwogICAgIExPR19XSVRIX1NUUkVB
TShDYWxjLCBzdHJlYW0gPDwgIkNTU0NhbGNWYWx1ZTo6Y3JlYXRlICIgPDwgKnJlc3VsdCk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotUmVmUHRyPENTU0NhbGNWYWx1ZT4gQ1NTQ2FsY1ZhbHVl
OjpjcmVhdGUoQ1NTVmFsdWVJRCBmdW5jdGlvbiwgY29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
dG9rZW5zLCBDYWxjdWxhdGlvbkNhdGVnb3J5IGRlc3RpbmF0aW9uQ2F0ZWdvcnksIFZhbHVlUmFu
Z2UgcmFuZ2UpCi17Ci0gICAgcmV0dXJuIGNyZWF0ZShmdW5jdGlvbiwgdG9rZW5zLCBkZXN0aW5h
dGlvbkNhdGVnb3J5LCByYW5nZSwgeyB9KTsKLX0KLQorICAgIAogUmVmUHRyPENTU0NhbGNWYWx1
ZT4gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUoY29uc3QgQ2FsY3VsYXRpb25WYWx1ZSYgdmFsdWUsIGNv
bnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKICAgICBhdXRvIGV4cHJlc3Npb24gPSBjcmVhdGVD
U1ModmFsdWUuZXhwcmVzc2lvbigpLCBzdHlsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvY2FsYy9DU1NDYWxjVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9jYWxjL0NTU0Nh
bGNWYWx1ZS5oCmluZGV4IDYyYmU5MDNhZmQ0ZDBkOTQ5YzBmOWQ3MmQ5ZjMzNzQ1OWZhYzUyYTUu
LmJiY2JhODRmOTEwYTA5Y2U5ZjNkYzUwZmQ1MTU3OWZkNzJiNmNjMDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9jYWxjL0NTU0NhbGNWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9jYWxjL0NTU0NhbGNWYWx1ZS5oCkBAIC0zMSw2ICszMSw3IEBACiAjcHJhZ21hIG9uY2UK
IAogI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgog
I2luY2x1ZGUgIkNhbGN1bGF0aW9uVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgog
I2luY2x1ZGUgPHd0Zi9SZWYuaD4KQEAgLTM4LDcgKzM5LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlOwotY2xhc3MgQ1NTQ2FsY1N5bWJvbFRh
YmxlOwogY2xhc3MgQ1NTUGFyc2VyVG9rZW5SYW5nZTsKIGNsYXNzIENTU1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGE7CiBjbGFzcyBSZW5kZXJTdHlsZTsKQEAgLTQ3LDExICs0Nyw4IEBAIGVudW0gY2xh
c3MgQ1NTVW5pdFR5cGUgOiB1aW50OF90OwogZW51bSBjbGFzcyBDYWxjdWxhdGlvbkNhdGVnb3J5
IDogdWludDhfdDsKIGVudW0gY2xhc3MgVmFsdWVSYW5nZSA6IHVpbnQ4X3Q7CiAKLWVudW0gQ1NT
VmFsdWVJRCA6IHVpbnQxNl90OwotCiBjbGFzcyBDU1NDYWxjVmFsdWUgZmluYWwgOiBwdWJsaWMg
Q1NTVmFsdWUgewogcHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBjcmVh
dGUoQ1NTVmFsdWVJRCBmdW5jdGlvbiwgY29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIENhbGN1
bGF0aW9uQ2F0ZWdvcnkgZGVzdGluYXRpb25DYXRlZ29yeSwgVmFsdWVSYW5nZSwgY29uc3QgQ1NT
Q2FsY1N5bWJvbFRhYmxlJik7CiAgICAgc3RhdGljIFJlZlB0cjxDU1NDYWxjVmFsdWU+IGNyZWF0
ZShDU1NWYWx1ZUlEIGZ1bmN0aW9uLCBjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiwgQ2FsY3Vs
YXRpb25DYXRlZ29yeSBkZXN0aW5hdGlvbkNhdGVnb3J5LCBWYWx1ZVJhbmdlKTsKICAgICBzdGF0
aWMgUmVmUHRyPENTU0NhbGNWYWx1ZT4gY3JlYXRlKGNvbnN0IENhbGN1bGF0aW9uVmFsdWUmLCBj
b25zdCBSZW5kZXJTdHlsZSYpOwogICAgIH5DU1NDYWxjVmFsdWUoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9tYWtldmFsdWVzLnBsIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2V2
YWx1ZXMucGwKaW5kZXggNTQzMDdmZTdjNjM5YWY2NjA3ODZlMzcwYmIxMGE5YzAzN2Q0MjE5NC4u
YWJkYjFlYzYzNzZhZWQ3NzZmOTRlZjFiNDE1ZWVlOTgzMTBiZjlhZSAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL21ha2V2YWx1ZXMucGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21h
a2V2YWx1ZXMucGwKQEAgLTE2NCwxMiArMTY0LDEwIEBAIHByaW50IEhFQURFUiA8PCAiRU9GIjsK
IAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL0hhc2hGdW5jdGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gQ1NTVmFsdWVJRCA6IHVpbnQxNl90IHsKK2VudW0g
Q1NTVmFsdWVJRCB7CiAgICAgQ1NTVmFsdWVJbnZhbGlkID0gMCwKIEVPRgogCkBAIC0yMDYsMTIg
KzIwNCw2IEBAIGlubGluZSBDU1NWYWx1ZUlEIGNvbnZlcnRUb0NTU1ZhbHVlSUQoaW50IHZhbHVl
KQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLW5hbWVzcGFjZSBXVEYgewotdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q1NTVmFsdWVJRD4gOiBJbnRIYXNoPHVu
c2lnbmVkPiB7IH07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNTU1Zh
bHVlSUQ+IDogU3Ryb25nRW51bUhhc2hUcmFpdHM8V2ViQ29yZTo6Q1NTVmFsdWVJRD4geyB9Owot
fSAvLyBuYW1lc3BhY2UgV1RGCi0KIEVPRgogY2xvc2UgSEVBREVSOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKaW5k
ZXggMzFhMWRlNWUyODY4MTZkNDZjNTg0YmNiOWM0YzI0YzdjOThhMzc1NC4uYjVhYzAyYmZkODky
ZDYzNzkwMzg0YTZhZjAzM2I3ZTk1NDEzNjRlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcApAQCAtMzAsNyArMzAs
NiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5UGFyc2VySGVs
cGVycy5oIgogCi0jaW5jbHVkZSAiQ1NTQ2FsY1N5bWJvbFRhYmxlLmgiCiAjaW5jbHVkZSAiQ1NT
Q2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2FudmFzVmFsdWUuaCIKICNpbmNsdWRlICJDU1ND
cm9zc2ZhZGVWYWx1ZS5oIgpAQCAtMTAwLDcgKzk5LDcgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8
ZG91YmxlPiBjb25zdW1lTnVtYmVyT3JQZXJjZW50RGl2aWRlZEJ5MTAwUmF3KENTU1BhcnNlclRv
a2UKIC8vIEZJWE1FOiBjb25zaWRlciBwdWxsaW5nIGluIHRoZSBwYXJzaW5nIGxvZ2ljIGZyb20g
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyLgogY2xhc3MgQ2FsY1BhcnNlciB7CiBwdWJsaWM6
Ci0gICAgZXhwbGljaXQgQ2FsY1BhcnNlcihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgQ2Fs
Y3VsYXRpb25DYXRlZ29yeSBkZXN0aW5hdGlvbkNhdGVnb3J5LCBWYWx1ZVJhbmdlIHZhbHVlUmFu
Z2UgPSBWYWx1ZVJhbmdlOjpBbGwsIGNvbnN0IENTU0NhbGNTeW1ib2xUYWJsZSYgc3ltYm9sVGFi
bGUgPSB7IH0sIENTU1ZhbHVlUG9vbCYgY3NzVmFsdWVQb29sID0gQ1NTVmFsdWVQb29sOjpzaW5n
bGV0b24oKSkKKyAgICBleHBsaWNpdCBDYWxjUGFyc2VyKENTU1BhcnNlclRva2VuUmFuZ2UmIHJh
bmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5IGRlc3RpbmF0aW9uQ2F0ZWdvcnksIFZhbHVlUmFuZ2Ug
dmFsdWVSYW5nZSA9IFZhbHVlUmFuZ2U6OkFsbCwgQ1NTVmFsdWVQb29sJiBjc3NWYWx1ZVBvb2wg
PSBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpKQogICAgICAgICA6IG1fc291cmNlUmFuZ2UocmFu
Z2UpCiAgICAgICAgICwgbV9yYW5nZShyYW5nZSkKICAgICAgICAgLCBtX3ZhbHVlUG9vbChjc3NW
YWx1ZVBvb2wpCkBAIC0xMDgsNyArMTA3LDcgQEAgcHVibGljOgogICAgICAgICBjb25zdCBDU1NQ
YXJzZXJUb2tlbiYgdG9rZW4gPSByYW5nZS5wZWVrKCk7CiAgICAgICAgIGF1dG8gZnVuY3Rpb25J
ZCA9IHRva2VuLmZ1bmN0aW9uSWQoKTsKICAgICAgICAgaWYgKENTU0NhbGNWYWx1ZTo6aXNDYWxj
RnVuY3Rpb24oZnVuY3Rpb25JZCkpCi0gICAgICAgICAgICBtX2NhbGNWYWx1ZSA9IENTU0NhbGNW
YWx1ZTo6Y3JlYXRlKGZ1bmN0aW9uSWQsIGNvbnN1bWVGdW5jdGlvbihtX3JhbmdlKSwgZGVzdGlu
YXRpb25DYXRlZ29yeSwgdmFsdWVSYW5nZSwgc3ltYm9sVGFibGUpOworICAgICAgICAgICAgbV9j
YWxjVmFsdWUgPSBDU1NDYWxjVmFsdWU6OmNyZWF0ZShmdW5jdGlvbklkLCBjb25zdW1lRnVuY3Rp
b24obV9yYW5nZSksIGRlc3RpbmF0aW9uQ2F0ZWdvcnksIHZhbHVlUmFuZ2UpOwogICAgIH0KIAog
ICAgIGNvbnN0IENTU0NhbGNWYWx1ZSogdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NhbGNWYWx1
ZS5nZXQoKTsgfQpAQCAtMTIxLDE0ICsxMjAsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBt
X3ZhbHVlUG9vbC5jcmVhdGVWYWx1ZShXVEZNb3ZlKG1fY2FsY1ZhbHVlKSk7CiAgICAgfQogCi0g
ICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lVmFsdWVJZkNhdGVnb3J5KENhbGN1
bGF0aW9uQ2F0ZWdvcnkgY2F0ZWdvcnkpCi0gICAgewotICAgICAgICBpZiAoIW1fY2FsY1ZhbHVl
IHx8IG1fY2FsY1ZhbHVlLT5jYXRlZ29yeSgpICE9IGNhdGVnb3J5KQotICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgICAgIG1fc291cmNlUmFuZ2UgPSBtX3JhbmdlOwotICAgICAgICBy
ZXR1cm4gbV92YWx1ZVBvb2wuY3JlYXRlVmFsdWUoV1RGTW92ZShtX2NhbGNWYWx1ZSkpOwotICAg
IH0KLQogICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY29uc3VtZUludGVnZXIoZG91Ymxl
IG1pbmltdW1WYWx1ZSkKICAgICB7CiAgICAgICAgIGlmICghbV9jYWxjVmFsdWUpCkBAIC0yMjcs
OCArMjE4LDExIEBAIHRlbXBsYXRlPHR5cGVuYW1lIEludFR5cGU+IHN0ZDo6b3B0aW9uYWw8SW50
VHlwZT4gY29uc3VtZUludGVnZXJUeXBlUmF3KENTU1BhcnNlCiAgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CiAKICAgICBDYWxjUGFyc2VyIGNhbGNQYXJzZXIocmFuZ2UsIENhbGN1bGF0aW9u
Q2F0ZWdvcnk6Ok51bWJlcik7Ci0gICAgaWYgKGF1dG8gY2FsY3VsYXRpb24gPSBjYWxjUGFyc2Vy
LnZhbHVlKCk7IGNhbGN1bGF0aW9uICYmIGNhbGN1bGF0aW9uLT5jYXRlZ29yeSgpID09IENhbGN1
bGF0aW9uQ2F0ZWdvcnk6Ok51bWJlcikKKyAgICBpZiAoY29uc3QgQ1NTQ2FsY1ZhbHVlKiBjYWxj
dWxhdGlvbiA9IGNhbGNQYXJzZXIudmFsdWUoKSkgeworICAgICAgICBpZiAoY2FsY3VsYXRpb24t
PmNhdGVnb3J5KCkgIT0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6TnVtYmVyKQorICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICAgICAgcmV0dXJuIGNhbGNQYXJzZXIuY29uc3VtZUlu
dGVnZXJUeXBlUmF3PEludFR5cGU+KG1pbmltdW1WYWx1ZSk7CisgICAgfQogCiAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKIH0KQEAgLTI3OSw3ICsyNzMsMTEgQEAgUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBjb25zdW1lTnVtYmVyKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBWYWx1ZVJh
bmdlIHYKICAgICBjb25zdCBDU1NQYXJzZXJUb2tlbiYgdG9rZW4gPSByYW5nZS5wZWVrKCk7CiAg
ICAgaWYgKHRva2VuLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuKSB7CiAgICAgICAgIENhbGNQYXJz
ZXIgY2FsY1BhcnNlcihyYW5nZSwgQ2FsY3VsYXRpb25DYXRlZ29yeTo6TnVtYmVyLCB2YWx1ZVJh
bmdlKTsKLSAgICAgICAgcmV0dXJuIGNhbGNQYXJzZXIuY29uc3VtZVZhbHVlSWZDYXRlZ29yeShD
YWxjdWxhdGlvbkNhdGVnb3J5OjpOdW1iZXIpOworICAgICAgICBpZiAoY29uc3QgYXV0byogY2Fs
Y1ZhbHVlID0gY2FsY1BhcnNlci52YWx1ZSgpKSB7CisgICAgICAgICAgICBpZiAoY2FsY1ZhbHVl
LT5jYXRlZ29yeSgpID09IENhbGN1bGF0aW9uQ2F0ZWdvcnk6Ok51bWJlcikKKyAgICAgICAgICAg
ICAgICByZXR1cm4gY2FsY1BhcnNlci5jb25zdW1lVmFsdWUoKTsKKyAgICAgICAgfQorICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoYXV0byBudW1iZXIgPSBjb25zdW1l
TnVtYmVyUmF3KHJhbmdlLCB2YWx1ZVJhbmdlKSkKQEAgLTQwMSw3ICszOTksOCBAQCBSZWZQdHI8
Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVMZW5ndGgoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFu
Z2UsIENTU1BhcnNlck1vZAogICAgIGNvbnN0IENTU1BhcnNlclRva2VuJiB0b2tlbiA9IHJhbmdl
LnBlZWsoKTsKICAgICBpZiAodG9rZW4udHlwZSgpID09IEZ1bmN0aW9uVG9rZW4pIHsKICAgICAg
ICAgQ2FsY1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpMZW5n
dGgsIHZhbHVlUmFuZ2UpOwotICAgICAgICByZXR1cm4gY2FsY1BhcnNlci5jb25zdW1lVmFsdWVJ
ZkNhdGVnb3J5KENhbGN1bGF0aW9uQ2F0ZWdvcnk6Okxlbmd0aCk7CisgICAgICAgIGlmIChjYWxj
UGFyc2VyLnZhbHVlKCkgJiYgY2FsY1BhcnNlci52YWx1ZSgpLT5jYXRlZ29yeSgpID09IENhbGN1
bGF0aW9uQ2F0ZWdvcnk6Okxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiBjYWxjUGFyc2VyLmNv
bnN1bWVWYWx1ZSgpOwogICAgIH0KIAogICAgIGlmIChhdXRvIHJlc3VsdCA9IGNvbnN1bWVMZW5n
dGhSYXcocmFuZ2UsIGNzc1BhcnNlck1vZGUsIHZhbHVlUmFuZ2UsIHVuaXRsZXNzKSkKQEAgLTQz
NSw4ICs0MzQsMTIgQEAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lUGVyY2VudFdv
cmtlclNhZmUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIFYKIHsKICAgICBjb25zdCBDU1NQ
YXJzZXJUb2tlbiYgdG9rZW4gPSByYW5nZS5wZWVrKCk7CiAgICAgaWYgKHRva2VuLnR5cGUoKSA9
PSBGdW5jdGlvblRva2VuKSB7Ci0gICAgICAgIENhbGNQYXJzZXIgY2FsY1BhcnNlcihyYW5nZSwg
Q2FsY3VsYXRpb25DYXRlZ29yeTo6UGVyY2VudCwgdmFsdWVSYW5nZSwgeyB9LCBjc3NWYWx1ZVBv
b2wpOwotICAgICAgICByZXR1cm4gY2FsY1BhcnNlci5jb25zdW1lVmFsdWVJZkNhdGVnb3J5KENh
bGN1bGF0aW9uQ2F0ZWdvcnk6OlBlcmNlbnQpOworICAgICAgICBDYWxjUGFyc2VyIGNhbGNQYXJz
ZXIocmFuZ2UsIENhbGN1bGF0aW9uQ2F0ZWdvcnk6OlBlcmNlbnQsIHZhbHVlUmFuZ2UsIGNzc1Zh
bHVlUG9vbCk7CisgICAgICAgIGlmIChjb25zdCBDU1NDYWxjVmFsdWUqIGNhbGN1bGF0aW9uID0g
Y2FsY1BhcnNlci52YWx1ZSgpKSB7CisgICAgICAgICAgICBpZiAoY2FsY3VsYXRpb24tPmNhdGVn
b3J5KCkgPT0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6UGVyY2VudCkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gY2FsY1BhcnNlci5jb25zdW1lVmFsdWUoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoYXV0byBwZXJjZW50ID0gY29uc3VtZVBlcmNl
bnRSYXcocmFuZ2UsIHZhbHVlUmFuZ2UpKQpAQCAtNDc3LDggKzQ4MCwxMCBAQCBzdGQ6Om9wdGlv
bmFsPExlbmd0aE9yUGVyY2VudFJhdz4gY29uc3VtZUxlbmd0aE9yUGVyY2VudFJhdyhDU1NQYXJz
ZXJUb2tlblJhbmdlJgogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCiAgICAgQ2FsY1Bh
cnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpMZW5ndGgsIHZhbHVl
UmFuZ2UpOwotICAgIGlmIChhdXRvIGNhbGN1bGF0aW9uID0gY2FsY1BhcnNlci52YWx1ZSgpOyBj
YWxjdWxhdGlvbiAmJiBjYW5Db25zdW1lQ2FsY1ZhbHVlKGNhbGN1bGF0aW9uLT5jYXRlZ29yeSgp
LCBjc3NQYXJzZXJNb2RlKSkKLSAgICAgICAgcmV0dXJuIGNhbGNQYXJzZXIuY29uc3VtZUxlbmd0
aE9yUGVyY2VudFJhdygpOworICAgIGlmIChjb25zdCBDU1NDYWxjVmFsdWUqIGNhbGN1bGF0aW9u
ID0gY2FsY1BhcnNlci52YWx1ZSgpKSB7CisgICAgICAgIGlmIChjYW5Db25zdW1lQ2FsY1ZhbHVl
KGNhbGN1bGF0aW9uLT5jYXRlZ29yeSgpLCBjc3NQYXJzZXJNb2RlKSkKKyAgICAgICAgICAgIHJl
dHVybiBjYWxjUGFyc2VyLmNvbnN1bWVMZW5ndGhPclBlcmNlbnRSYXcoKTsKKyAgICB9CiAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKIH0KIApAQCAtNDg3LDggKzQ5MiwxMCBAQCBSZWZQdHI8Q1NT
UHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVMZW5ndGhPclBlcmNlbnQoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UsIENTUwogICAgIGNvbnN0IENTU1BhcnNlclRva2VuJiB0b2tlbiA9IHJhbmdlLnBl
ZWsoKTsKICAgICBpZiAodG9rZW4udHlwZSgpID09IEZ1bmN0aW9uVG9rZW4pIHsKICAgICAgICAg
Q2FsY1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpMZW5ndGgs
IHZhbHVlUmFuZ2UpOwotICAgICAgICBpZiAoYXV0byBjYWxjdWxhdGlvbiA9IGNhbGNQYXJzZXIu
dmFsdWUoKTsgY2FsY3VsYXRpb24gJiYgY2FuQ29uc3VtZUNhbGNWYWx1ZShjYWxjdWxhdGlvbi0+
Y2F0ZWdvcnkoKSwgY3NzUGFyc2VyTW9kZSkpCi0gICAgICAgICAgICByZXR1cm4gY2FsY1BhcnNl
ci5jb25zdW1lVmFsdWUoKTsKKyAgICAgICAgaWYgKGNvbnN0IENTU0NhbGNWYWx1ZSogY2FsY3Vs
YXRpb24gPSBjYWxjUGFyc2VyLnZhbHVlKCkpIHsKKyAgICAgICAgICAgIGlmIChjYW5Db25zdW1l
Q2FsY1ZhbHVlKGNhbGN1bGF0aW9uLT5jYXRlZ29yeSgpLCBjc3NQYXJzZXJNb2RlKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gY2FsY1BhcnNlci5jb25zdW1lVmFsdWUoKTsKKyAgICAgICAgfQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKQEAgLTUzNyw4ICs1NDQsMTIgQEAgUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lQW5nbGVXb3JrZXJTYWZlKENTU1BhcnNlclRv
a2VuUmFuZ2UmIHJhbmdlLCBDU1MKIHsKICAgICBjb25zdCBDU1NQYXJzZXJUb2tlbiYgdG9rZW4g
PSByYW5nZS5wZWVrKCk7CiAgICAgaWYgKHRva2VuLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuKSB7
Ci0gICAgICAgIENhbGNQYXJzZXIgY2FsY1BhcnNlcihyYW5nZSwgQ2FsY3VsYXRpb25DYXRlZ29y
eTo6QW5nbGUsIFZhbHVlUmFuZ2U6OkFsbCwgeyB9LCBjc3NWYWx1ZVBvb2wpOwotICAgICAgICBy
ZXR1cm4gY2FsY1BhcnNlci5jb25zdW1lVmFsdWVJZkNhdGVnb3J5KENhbGN1bGF0aW9uQ2F0ZWdv
cnk6OkFuZ2xlKTsKKyAgICAgICAgQ2FsY1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxh
dGlvbkNhdGVnb3J5OjpBbmdsZSwgVmFsdWVSYW5nZTo6QWxsLCBjc3NWYWx1ZVBvb2wpOworICAg
ICAgICBpZiAoY29uc3QgQ1NTQ2FsY1ZhbHVlKiBjYWxjdWxhdGlvbiA9IGNhbGNQYXJzZXIudmFs
dWUoKSkgeworICAgICAgICAgICAgaWYgKGNhbGN1bGF0aW9uLT5jYXRlZ29yeSgpID09IENhbGN1
bGF0aW9uQ2F0ZWdvcnk6OkFuZ2xlKQorICAgICAgICAgICAgICAgIHJldHVybiBjYWxjUGFyc2Vy
LmNvbnN1bWVWYWx1ZSgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IH0KIAogICAgIGlmIChhdXRvIGFuZ2xlID0gY29uc3VtZUFuZ2xlUmF3KHJhbmdlLCBjc3NQYXJz
ZXJNb2RlLCB1bml0bGVzcywgdW5pdGxlc3NaZXJvKSkKQEAgLTU1MCw4ICs1NjEsNyBAQCBSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVBbmdsZVdvcmtlclNhZmUoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSYgcmFuZ2UsIENTUwogc3RhdGljIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY29u
c3VtZUFuZ2xlT3JQZXJjZW50KENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBDU1NQYXJzZXJN
b2RlIGNzc1BhcnNlck1vZGUsIFZhbHVlUmFuZ2UgdmFsdWVSYW5nZSwgVW5pdGxlc3NRdWlyayB1
bml0bGVzcywgVW5pdGxlc3NaZXJvUXVpcmsgdW5pdGxlc3NaZXJvKQogewogICAgIGNvbnN0IENT
U1BhcnNlclRva2VuJiB0b2tlbiA9IHJhbmdlLnBlZWsoKTsKLSAgICBzd2l0Y2ggKHRva2VuLnR5
cGUoKSkgewotICAgIGNhc2UgRGltZW5zaW9uVG9rZW46CisgICAgaWYgKHRva2VuLnR5cGUoKSA9
PSBEaW1lbnNpb25Ub2tlbikgewogICAgICAgICBzd2l0Y2ggKHRva2VuLnVuaXRUeXBlKCkpIHsK
ICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0RFRzoKICAgICAgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX1JBRDoKQEAgLTU1OSwzOCArNTY5LDI5IEBAIHN0YXRpYyBSZWZQdHI8Q1NTUHJp
bWl0aXZlVmFsdWU+IGNvbnN1bWVBbmdsZU9yUGVyY2VudChDU1NQYXJzZXJUb2tlblJhbmdlJiBy
YW5nCiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19UVVJOOgogICAgICAgICAgICAgcmV0
dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRlVmFsdWUocmFuZ2UuY29uc3VtZUlu
Y2x1ZGluZ1doaXRlc3BhY2UoKS5udW1lcmljVmFsdWUoKSwgdG9rZW4udW5pdFR5cGUoKSk7CiAg
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIAotICAgIGNhc2UgTnVtYmVy
VG9rZW46Ci0gICAgICAgIGlmIChzaG91bGRBY2NlcHRVbml0bGVzc1ZhbHVlKHRva2VuLm51bWVy
aWNWYWx1ZSgpLCBjc3NQYXJzZXJNb2RlLCB1bml0bGVzcywgdW5pdGxlc3NaZXJvKSkKLSAgICAg
ICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZVZhbHVlKHJhbmdl
LmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkubnVtZXJpY1ZhbHVlKCksIENTU1VuaXRUeXBl
OjpDU1NfREVHKTsKLSAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmICh0b2tlbi50eXBlKCkg
PT0gTnVtYmVyVG9rZW4gJiYgc2hvdWxkQWNjZXB0VW5pdGxlc3NWYWx1ZSh0b2tlbi5udW1lcmlj
VmFsdWUoKSwgY3NzUGFyc2VyTW9kZSwgdW5pdGxlc3MsIHVuaXRsZXNzWmVybykpCisgICAgICAg
IHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZVZhbHVlKHJhbmdlLmNvbnN1
bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkubnVtZXJpY1ZhbHVlKCksIENTU1VuaXRUeXBlOjpDU1Nf
REVHKTsKIAotICAgIGNhc2UgUGVyY2VudGFnZVRva2VuOgorICAgIGlmICh0b2tlbi50eXBlKCkg
PT0gUGVyY2VudGFnZVRva2VuKQogICAgICAgICByZXR1cm4gY29uc3VtZVBlcmNlbnQocmFuZ2Us
IHZhbHVlUmFuZ2UpOwogCi0gICAgY2FzZSBGdW5jdGlvblRva2VuOiB7Ci0gICAgICAgIENhbGNQ
YXJzZXIgYW5nbGVDYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpBbmdsZSwg
dmFsdWVSYW5nZSk7Ci0gICAgICAgIGlmIChjb25zdCBDU1NDYWxjVmFsdWUqIGNhbGN1bGF0aW9u
ID0gYW5nbGVDYWxjUGFyc2VyLnZhbHVlKCkpIHsKLSAgICAgICAgICAgIGlmIChjYWxjdWxhdGlv
bi0+Y2F0ZWdvcnkoKSA9PSBDYWxjdWxhdGlvbkNhdGVnb3J5OjpBbmdsZSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gYW5nbGVDYWxjUGFyc2VyLmNvbnN1bWVWYWx1ZSgpOwotICAgICAgICB9Cisg
ICAgIGlmICh0b2tlbi50eXBlKCkgIT0gRnVuY3Rpb25Ub2tlbikKKyAgICAgICAgIHJldHVybiBu
dWxscHRyOwogCi0gICAgICAgIENhbGNQYXJzZXIgcGVyY2VudENhbGNQYXJzZXIocmFuZ2UsIENh
bGN1bGF0aW9uQ2F0ZWdvcnk6OlBlcmNlbnQsIHZhbHVlUmFuZ2UpOwotICAgICAgICBpZiAoY29u
c3QgQ1NTQ2FsY1ZhbHVlKiBjYWxjdWxhdGlvbiA9IHBlcmNlbnRDYWxjUGFyc2VyLnZhbHVlKCkp
IHsKLSAgICAgICAgICAgIGlmIChjYWxjdWxhdGlvbi0+Y2F0ZWdvcnkoKSA9PSBDYWxjdWxhdGlv
bkNhdGVnb3J5OjpQZXJjZW50KQotICAgICAgICAgICAgICAgIHJldHVybiBwZXJjZW50Q2FsY1Bh
cnNlci5jb25zdW1lVmFsdWUoKTsKLSAgICAgICAgfQotICAgIAotICAgICAgICBicmVhazsKLSAg
ICB9Ci0gICAgCi0gICAgZGVmYXVsdDoKLSAgICAgICAgYnJlYWs7CisgICAgQ2FsY1BhcnNlciBh
bmdsZUNhbGNQYXJzZXIocmFuZ2UsIENhbGN1bGF0aW9uQ2F0ZWdvcnk6OkFuZ2xlLCB2YWx1ZVJh
bmdlKTsKKyAgICBpZiAoY29uc3QgQ1NTQ2FsY1ZhbHVlKiBjYWxjdWxhdGlvbiA9IGFuZ2xlQ2Fs
Y1BhcnNlci52YWx1ZSgpKSB7CisgICAgICAgIGlmIChjYWxjdWxhdGlvbi0+Y2F0ZWdvcnkoKSA9
PSBDYWxjdWxhdGlvbkNhdGVnb3J5OjpBbmdsZSkKKyAgICAgICAgICAgIHJldHVybiBhbmdsZUNh
bGNQYXJzZXIuY29uc3VtZVZhbHVlKCk7CiAgICAgfQogCisgICAgQ2FsY1BhcnNlciBwZXJjZW50
Q2FsY1BhcnNlcihyYW5nZSwgQ2FsY3VsYXRpb25DYXRlZ29yeTo6UGVyY2VudCwgdmFsdWVSYW5n
ZSk7CisgICAgaWYgKGNvbnN0IENTU0NhbGNWYWx1ZSogY2FsY3VsYXRpb24gPSBwZXJjZW50Q2Fs
Y1BhcnNlci52YWx1ZSgpKSB7CisgICAgICAgIGlmIChjYWxjdWxhdGlvbi0+Y2F0ZWdvcnkoKSA9
PSBDYWxjdWxhdGlvbkNhdGVnb3J5OjpQZXJjZW50KQorICAgICAgICAgICAgcmV0dXJuIHBlcmNl
bnRDYWxjUGFyc2VyLmNvbnN1bWVWYWx1ZSgpOworICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsK
IH0KIApAQCAtNjEzLDcgKzYxNCwxMSBAQCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1
bWVUaW1lKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBDU1NQYXJzZXJNb2RlCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCiAgICAgQ2FsY1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxj
dWxhdGlvbkNhdGVnb3J5OjpUaW1lLCB2YWx1ZVJhbmdlKTsKLSAgICByZXR1cm4gY2FsY1BhcnNl
ci5jb25zdW1lVmFsdWVJZkNhdGVnb3J5KENhbGN1bGF0aW9uQ2F0ZWdvcnk6OlRpbWUpOworICAg
IGlmIChjb25zdCBDU1NDYWxjVmFsdWUqIGNhbGN1bGF0aW9uID0gY2FsY1BhcnNlci52YWx1ZSgp
KSB7CisgICAgICAgIGlmIChjYWxjdWxhdGlvbi0+Y2F0ZWdvcnkoKSA9PSBDYWxjdWxhdGlvbkNh
dGVnb3J5OjpUaW1lKQorICAgICAgICAgICAgcmV0dXJuIGNhbGNQYXJzZXIuY29uc3VtZVZhbHVl
KCk7CisgICAgfQorICAgIHJldHVybiBudWxscHRyOwogfQogCiBSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+IGNvbnN1bWVSZXNvbHV0aW9uKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBBbGxv
d1hSZXNvbHV0aW9uVW5pdCBhbGxvd1gpCkBAIC03MzksNjcgKzc0NCwxOSBAQCBzdGF0aWMgc3Rk
OjpvcHRpb25hbDxkb3VibGU+IGNvbnN1bWVPcHRpb25hbEFscGhhKENTU1BhcnNlclRva2VuUmFu
Z2UmIHJhbmdlKQogICAgICAgICByZXR1cm4gMS4wOwogCiAgICAgaWYgKGF1dG8gYWxwaGFQYXJh
bWV0ZXIgPSBjb25zdW1lTnVtYmVyT3JQZXJjZW50RGl2aWRlZEJ5MTAwUmF3KHJhbmdlKSkKLSAg
ICAgICAgcmV0dXJuIHN0ZDo6Y2xhbXAoKmFscGhhUGFyYW1ldGVyLCAwLjAsIDEuMCk7CisgICAg
ICAgIHJldHVybiBjbGFtcFRvKCphbHBoYVBhcmFtZXRlciwgMC4wLCAxLjApOwogCiAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKIH0KIAotc3RhdGljIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBjb25z
dW1lT3B0aW9uYWxBbHBoYU9ySWRlbnQoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0
IENTU0NhbGNTeW1ib2xUYWJsZSYgc3ltYm9sVGFibGUpCit0ZW1wbGF0ZTxDU1NWYWx1ZUlELi4u
IGFsbG93ZWRJZGVudHM+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZhcmlhbnQ8ZG91YmxlLCBDU1NW
YWx1ZUlEPj4gY29uc3VtZU9wdGlvbmFsQWxwaGFPcklkZW50KENTU1BhcnNlclRva2VuUmFuZ2Um
IHJhbmdlKQogewotICAgIGlmICghY29uc3VtZVNsYXNoSW5jbHVkaW5nV2hpdGVzcGFjZShyYW5n
ZSkpCi0gICAgICAgIHJldHVybiAxLjA7Ci0KLSAgICBhdXRvIG5vcm1hbGl6ZVBlcmNlbnQgPSBb
XShkb3VibGUgcGVyY2VudCkgewotICAgICAgICByZXR1cm4gc3RkOjpjbGFtcChwZXJjZW50IC8g
MTAwLjAsIDAuMCwgMS4wKTsKLSAgICB9OwotCi0gICAgYXV0byBub3JtYWxpemVOdW1iZXIgPSBb
XShkb3VibGUgYWxwaGEpIHsKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2xhbXAoYWxwaGEsIDAuMCwg
MS4wKTsKLSAgICB9OwotCi0gICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4mIHRva2VuID0gcmFuZ2Uu
cGVlaygpOwotCi0gICAgc3dpdGNoICh0b2tlbi50eXBlKCkpIHsKLSAgICBjYXNlIEZ1bmN0aW9u
VG9rZW46IHsKLSAgICAgICAgQ2FsY1BhcnNlciBwZXJjZW50YWdlQ2FsY1BhcnNlcihyYW5nZSwg
Q2FsY3VsYXRpb25DYXRlZ29yeTo6UGVyY2VudCwgVmFsdWVSYW5nZTo6QWxsLCBzeW1ib2xUYWJs
ZSk7Ci0gICAgICAgIGlmIChhdXRvIHBlcmNlbnQgPSBwZXJjZW50YWdlQ2FsY1BhcnNlci5jb25z
dW1lUGVyY2VudFJhdygpKQotICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVBlcmNlbnQoKnBl
cmNlbnQpOwotICAgICAgICAKLSAgICAgICAgQ2FsY1BhcnNlciBudW1iZXJDYWxjUGFyc2VyKHJh
bmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpOdW1iZXIsIFZhbHVlUmFuZ2U6OkFsbCwgc3ltYm9s
VGFibGUpOwotICAgICAgICBpZiAoYXV0byBudW1iZXIgPSBudW1iZXJDYWxjUGFyc2VyLmNvbnN1
bWVOdW1iZXJSYXcoKSkKLSAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVOdW1iZXIoKm51bWJl
cik7CisgICAgaWYgKGF1dG8gYWxwaGEgPSBjb25zdW1lT3B0aW9uYWxBbHBoYShyYW5nZSkpCisg
ICAgICAgIHJldHVybiB7ICphbHBoYSB9OwogCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
Ci0gICAgfQotCi0gICAgY2FzZSBQZXJjZW50YWdlVG9rZW46Ci0gICAgICAgIGlmIChzdGQ6Omlz
aW5mKHRva2VuLm51bWVyaWNWYWx1ZSgpKSkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7Ci0gICAgICAgIHJldHVybiBub3JtYWxpemVQZXJjZW50KHJhbmdlLmNvbnN1bWVJbmNsdWRp
bmdXaGl0ZXNwYWNlKCkubnVtZXJpY1ZhbHVlKCkpOwotCi0gICAgY2FzZSBOdW1iZXJUb2tlbjoK
LSAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZU51bWJlcihyYW5nZS5jb25zdW1lSW5jbHVkaW5nV2hp
dGVzcGFjZSgpLm51bWVyaWNWYWx1ZSgpKTsKLQotICAgIGNhc2UgSWRlbnRUb2tlbjoKLSAgICAg
ICAgaWYgKGF1dG8gdmFyaWFibGUgPSBzeW1ib2xUYWJsZS5nZXQocmFuZ2UuY29uc3VtZUluY2x1
ZGluZ1doaXRlc3BhY2UoKS5pZCgpKSkgewotICAgICAgICAgICAgc3dpdGNoICh2YXJpYWJsZS0+
dHlwZSkgewotICAgICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0U6Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVBlcmNlbnQodmFyaWFibGUtPnZhbHVlKTsK
LQotICAgICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUjoKLSAgICAgICAgICAg
ICAgICByZXR1cm4gbm9ybWFsaXplTnVtYmVyKHZhcmlhYmxlLT52YWx1ZSk7Ci0KLSAgICAgICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIGlm
IChhdXRvIGlkZW50ID0gY29uc3VtZUlkZW50UmF3PGFsbG93ZWRJZGVudHMuLi4+KHJhbmdlKSkK
KyAgICAgICAgcmV0dXJuIHsgKmlkZW50IH07CiAKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiB9CiAKQEAgLTgxMSw1OSArNzY4LDE0IEBAIHN0YXRpYyBz
dGQ6Om9wdGlvbmFsPGRvdWJsZT4gY29uc3VtZUh1ZShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5n
ZSwgY29uc3QgQ1NTUGFyCiAgICAgcmV0dXJuIGNvbnN1bWVOdW1iZXJSYXcocmFuZ2UpOwogfQog
Ci1zdGF0aWMgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNvbnN1bWVIdWVPcklkZW50KENTU1BhcnNl
clRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NDYWxjU3ltYm9sVGFibGUmIHN5bWJvbFRhYmxl
KQordGVtcGxhdGU8Q1NTVmFsdWVJRC4uLiBhbGxvd2VkSWRlbnRzPiBzdGF0aWMgc3RkOjpvcHRp
b25hbDxWYXJpYW50PGRvdWJsZSwgQ1NTVmFsdWVJRD4+IGNvbnN1bWVIdWVPcklkZW50KENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQog
ewotICAgIGNvbnN0IENTU1BhcnNlclRva2VuJiB0b2tlbiA9IHJhbmdlLnBlZWsoKTsKLQotICAg
IHN3aXRjaCAodG9rZW4udHlwZSgpKSB7Ci0gICAgY2FzZSBGdW5jdGlvblRva2VuOiB7Ci0gICAg
ICAgIENhbGNQYXJzZXIgYW5nbGVDYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5
OjpBbmdsZSwgVmFsdWVSYW5nZTo6QWxsLCBzeW1ib2xUYWJsZSk7Ci0gICAgICAgIGlmIChhdXRv
IGFuZ2xlID0gYW5nbGVDYWxjUGFyc2VyLmNvbnN1bWVBbmdsZVJhdygpKQotICAgICAgICAgICAg
cmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlRGVncmVlcyhhbmdsZS0+dHlwZSwgYW5n
bGUtPnZhbHVlKTsKLSAgICAgICAgCi0gICAgICAgIENhbGNQYXJzZXIgbnVtYmVyQ2FsY1BhcnNl
cihyYW5nZSwgQ2FsY3VsYXRpb25DYXRlZ29yeTo6TnVtYmVyLCBWYWx1ZVJhbmdlOjpBbGwsIHN5
bWJvbFRhYmxlKTsKLSAgICAgICAgcmV0dXJuIG51bWJlckNhbGNQYXJzZXIuY29uc3VtZU51bWJl
clJhdygpOwotICAgIH0KLSAgICAKLSAgICBjYXNlIERpbWVuc2lvblRva2VuOiB7Ci0gICAgICAg
IGF1dG8gdW5pdFR5cGUgPSB0b2tlbi51bml0VHlwZSgpOwotICAgICAgICBzd2l0Y2ggKHVuaXRU
eXBlKSB7Ci0gICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19ERUc6Ci0gICAgICAgIGNhc2Ug
Q1NTVW5pdFR5cGU6OkNTU19SQUQ6Ci0gICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19HUkFE
OgotICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVFVSTjoKLSAgICAgICAgICAgIHJldHVy
biBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZURlZ3JlZXModW5pdFR5cGUsIHJhbmdlLmNvbnN1
bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkubnVtZXJpY1ZhbHVlKCkpOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgfQotICAgIH0KLSAg
ICAKLSAgICBjYXNlIE51bWJlclRva2VuOgotICAgICAgICByZXR1cm4gcmFuZ2UuY29uc3VtZUlu
Y2x1ZGluZ1doaXRlc3BhY2UoKS5udW1lcmljVmFsdWUoKTsKLQotICAgIGNhc2UgSWRlbnRUb2tl
bjoKLSAgICAgICAgaWYgKGF1dG8gdmFyaWFibGUgPSBzeW1ib2xUYWJsZS5nZXQocmFuZ2UuY29u
c3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKS5pZCgpKSkgewotICAgICAgICAgICAgc3dpdGNoICh2
YXJpYWJsZS0+dHlwZSkgewotICAgICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0RFRzoK
LSAgICAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SQUQ6Ci0gICAgICAgICAgICBjYXNl
IENTU1VuaXRUeXBlOjpDU1NfR1JBRDoKLSAgICAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNT
U19UVVJOOgotICAgICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0
ZURlZ3JlZXModmFyaWFibGUtPnR5cGUsIHZhcmlhYmxlLT52YWx1ZSk7Ci0KLSAgICAgICAgICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19OVU1CRVI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHZh
cmlhYmxlLT52YWx1ZTsKLQotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisgICAgaWYgKGF1dG8gaHVlID0gY29uc3VtZUh1ZShyYW5nZSwg
Y29udGV4dCkpCisgICAgICAgIHJldHVybiB7ICpodWUgfTsKIAotICAgIGRlZmF1bHQ6Ci0gICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgfQorICAgIGlmIChhdXRvIGlkZW50ID0gY29u
c3VtZUlkZW50UmF3PGFsbG93ZWRJZGVudHMuLi4+KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHsg
KmlkZW50IH07CiAKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogfQogCkBAIC04NzIsMTMyICs3ODQsNjYgQEAgc3RhdGljIGRvdWJsZSBub3JtYWxp
emVIdWUoZG91YmxlIGh1ZSkKICAgICByZXR1cm4gc3RkOjpmbW9kKHN0ZDo6Zm1vZChodWUsIDM2
MC4wKSArIDM2MC4wLCAzNjAuMCk7CiB9CiAKLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4g
Y29uc3VtZU51bWJlck9ySWRlbnQoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENT
U0NhbGNTeW1ib2xUYWJsZSYgc3ltYm9sVGFibGUpCit0ZW1wbGF0ZTxDU1NWYWx1ZUlELi4uIGFs
bG93ZWRJZGVudHM+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZhcmlhbnQ8ZG91YmxlLCBDU1NWYWx1
ZUlEPj4gY29uc3VtZU51bWJlck9ySWRlbnQoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiB7
Ci0gICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4mIHRva2VuID0gcmFuZ2UucGVlaygpOwotCi0gICAg
c3dpdGNoICh0b2tlbi50eXBlKCkpIHsKLSAgICBjYXNlIEZ1bmN0aW9uVG9rZW46IHsKLSAgICAg
ICAgQ2FsY1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpOdW1i
ZXIsIFZhbHVlUmFuZ2U6OkFsbCwgc3ltYm9sVGFibGUpOwotICAgICAgICByZXR1cm4gY2FsY1Bh
cnNlci5jb25zdW1lTnVtYmVyUmF3KCk7Ci0gICAgfQotCi0gICAgY2FzZSBOdW1iZXJUb2tlbjoK
LSAgICAgICAgcmV0dXJuIHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkubnVtZXJp
Y1ZhbHVlKCk7Ci0KLSAgICBjYXNlIElkZW50VG9rZW46Ci0gICAgICAgIGlmIChhdXRvIHZhcmlh
YmxlID0gc3ltYm9sVGFibGUuZ2V0KHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCku
aWQoKSkpIHsKLSAgICAgICAgICAgIHN3aXRjaCAodmFyaWFibGUtPnR5cGUpIHsKLSAgICAgICAg
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19OVU1CRVI6Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IHZhcmlhYmxlLT52YWx1ZTsKLQotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgaWYgKGF1dG8gbnVtYmVyID0gY29uc3VtZU51bWJl
clJhdyhyYW5nZSkpCisgICAgICAgIHJldHVybiB7ICpudW1iZXIgfTsKIAotICAgIGRlZmF1bHQ6
Ci0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgfQorICAgIGlmIChhdXRvIGlkZW50
ID0gY29uc3VtZUlkZW50UmF3PGFsbG93ZWRJZGVudHMuLi4+KHJhbmdlKSkKKyAgICAgICAgcmV0
dXJuIHsgKmlkZW50IH07CiAKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OwogfQogCi1zdGF0aWMgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNvbnN1bWVQ
ZXJjZW50T3JJZGVudChDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTQ2FsY1N5
bWJvbFRhYmxlJiBzeW1ib2xUYWJsZSkKK3RlbXBsYXRlPENTU1ZhbHVlSUQuLi4gYWxsb3dlZElk
ZW50cz4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmFyaWFudDxkb3VibGUsIENTU1ZhbHVlSUQ+PiBj
b25zdW1lUGVyY2VudE9ySWRlbnQoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiB7Ci0gICAg
Y29uc3QgQ1NTUGFyc2VyVG9rZW4mIHRva2VuID0gcmFuZ2UucGVlaygpOwotCi0gICAgc3dpdGNo
ICh0b2tlbi50eXBlKCkpIHsKLSAgICBjYXNlIEZ1bmN0aW9uVG9rZW46IHsKLSAgICAgICAgQ2Fs
Y1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpQZXJjZW50LCBW
YWx1ZVJhbmdlOjpBbGwsIHN5bWJvbFRhYmxlKTsKLSAgICAgICAgcmV0dXJuIGNhbGNQYXJzZXIu
Y29uc3VtZVBlcmNlbnRSYXcoKTsKLSAgICB9Ci0KLSAgICBjYXNlIFBlcmNlbnRhZ2VUb2tlbjoK
LSAgICAgICAgaWYgKHN0ZDo6aXNpbmYodG9rZW4ubnVtZXJpY1ZhbHVlKCkpKQotICAgICAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmV0dXJuIHJhbmdlLmNvbnN1bWVJbmNs
dWRpbmdXaGl0ZXNwYWNlKCkubnVtZXJpY1ZhbHVlKCk7CisgICAgaWYgKGF1dG8gcGVyY2VudCA9
IGNvbnN1bWVQZXJjZW50UmF3KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHsgKnBlcmNlbnQgfTsK
IAotICAgIGNhc2UgSWRlbnRUb2tlbjoKLSAgICAgICAgaWYgKGF1dG8gdmFyaWFibGUgPSBzeW1i
b2xUYWJsZS5nZXQocmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKS5pZCgpKSkgewot
ICAgICAgICAgICAgc3dpdGNoICh2YXJpYWJsZS0+dHlwZSkgewotICAgICAgICAgICAgY2FzZSBD
U1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHZhcmlh
YmxlLT52YWx1ZTsKKyAgICBpZiAoYXV0byBpZGVudCA9IGNvbnN1bWVJZGVudFJhdzxhbGxvd2Vk
SWRlbnRzLi4uPihyYW5nZSkpCisgICAgICAgIHJldHVybiB7ICppZGVudCB9OwogCi0gICAgICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLQotICAg
IGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgfQotCi0gICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIH0KIAotZW51bSBj
bGFzcyBSR0JDb21wb25lbnRUeXBlIHsgTnVtYmVyLCBQZXJjZW50YWdlIH07Ci0KLXN0YXRpYyBz
dGQ6Om9wdGlvbmFsPHVpbnQ4X3Q+IGNvbnN1bWVOdW1iZXJPclBlcmNlbnRPcklkZW50Tm9ybWFs
aXplZEZvclJlbGF0aXZlUkdCKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1ND
YWxjU3ltYm9sVGFibGUmIHN5bWJvbFRhYmxlKQordGVtcGxhdGU8Q1NTVmFsdWVJRCBDMSwgQ1NT
VmFsdWVJRCBDMiwgQ1NTVmFsdWVJRCBDMywgQ1NTVmFsdWVJRCBBbHBoYUNoYW5uZWwsIHR5cGVu
YW1lIENvbG9yVHlwZT4gc3RhdGljIGF1dG8gZXh0cmFjdENoYW5uZWxWYWx1ZShDU1NWYWx1ZUlE
IGNoYW5uZWwsIGNvbnN0IENvbG9yVHlwZSYgb3JpZ2luQ29sb3IpIC0+IHR5cGVuYW1lIENvbG9y
VHlwZTo6Q29tcG9uZW50VHlwZQogewotICAgIGF1dG8gbm9ybWFsaXplUGVyY2VudCA9IFtdKGRv
dWJsZSBwZXJjZW50KSB7Ci0gICAgICAgIHJldHVybiBjb252ZXJ0UHJlc2NhbGVkU1JHQkFGbG9h
dFRvU1JHQkFCeXRlKHBlcmNlbnQgLyAxMDAuMCAqIDI1NS4wKTsKLSAgICB9OwotCi0gICAgYXV0
byBub3JtYWxpemVOdW1iZXIgPSBbXShkb3VibGUgbnVtYmVyKSB7Ci0gICAgICAgIHJldHVybiBj
b252ZXJ0UHJlc2NhbGVkU1JHQkFGbG9hdFRvU1JHQkFCeXRlKG51bWJlcik7Ci0gICAgfTsKLQot
ICAgIGNvbnN0IENTU1BhcnNlclRva2VuJiB0b2tlbiA9IHJhbmdlLnBlZWsoKTsKLQotICAgIHN3
aXRjaCAodG9rZW4udHlwZSgpKSB7Ci0gICAgY2FzZSBGdW5jdGlvblRva2VuOiB7Ci0gICAgICAg
IENhbGNQYXJzZXIgcGVyY2VudGFnZUNhbGNQYXJzZXIocmFuZ2UsIENhbGN1bGF0aW9uQ2F0ZWdv
cnk6OlBlcmNlbnQsIFZhbHVlUmFuZ2U6OkFsbCwgc3ltYm9sVGFibGUpOwotICAgICAgICBpZiAo
YXV0byBwZXJjZW50ID0gcGVyY2VudGFnZUNhbGNQYXJzZXIuY29uc3VtZVBlcmNlbnRSYXcoKSkK
LSAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVQZXJjZW50KCpwZXJjZW50KTsKLSAgICAgICAg
Ci0gICAgICAgIENhbGNQYXJzZXIgbnVtYmVyQ2FsY1BhcnNlcihyYW5nZSwgQ2FsY3VsYXRpb25D
YXRlZ29yeTo6TnVtYmVyLCBWYWx1ZVJhbmdlOjpBbGwsIHN5bWJvbFRhYmxlKTsKLSAgICAgICAg
aWYgKGF1dG8gbnVtYmVyID0gbnVtYmVyQ2FsY1BhcnNlci5jb25zdW1lTnVtYmVyUmF3KCkpCi0g
ICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplTnVtYmVyKCpudW1iZXIpOwotICAgICAgICAKLSAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBhdXRvIGNvbXBvbmVudHMgPSBhc0NvbG9y
Q29tcG9uZW50cyhvcmlnaW5Db2xvcik7CisgICAgc3dpdGNoIChjaGFubmVsKSB7CisgICAgY2Fz
ZSBDMToKKyAgICAgICAgcmV0dXJuIGNvbXBvbmVudHNbMF07CisgICAgY2FzZSBDMjoKKyAgICAg
ICAgcmV0dXJuIGNvbXBvbmVudHNbMV07CisgICAgY2FzZSBDMzoKKyAgICAgICAgcmV0dXJuIGNv
bXBvbmVudHNbMl07CisgICAgY2FzZSBBbHBoYUNoYW5uZWw6CisgICAgICAgIHJldHVybiBjb21w
b25lbnRzWzNdOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgIH0KIAotICAgIGNhc2UgUGVyY2VudGFnZVRva2VuOgotICAgICAgICBpZiAoc3RkOjppc2lu
Zih0b2tlbi5udW1lcmljVmFsdWUoKSkpCi0gICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwotICAgICAgICByZXR1cm4gbm9ybWFsaXplUGVyY2VudChyYW5nZS5jb25zdW1lSW5jbHVkaW5n
V2hpdGVzcGFjZSgpLm51bWVyaWNWYWx1ZSgpKTsKLQotICAgIGNhc2UgTnVtYmVyVG9rZW46Ci0g
ICAgICAgIHJldHVybiBub3JtYWxpemVOdW1iZXIocmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRl
c3BhY2UoKS5udW1lcmljVmFsdWUoKSk7Ci0KLSAgICBjYXNlIElkZW50VG9rZW46Ci0gICAgICAg
IGlmIChhdXRvIHZhcmlhYmxlID0gc3ltYm9sVGFibGUuZ2V0KHJhbmdlLmNvbnN1bWVJbmNsdWRp
bmdXaGl0ZXNwYWNlKCkuaWQoKSkpIHsKLSAgICAgICAgICAgIHN3aXRjaCAodmFyaWFibGUtPnR5
cGUpIHsKLSAgICAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdFOgotICAg
ICAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVQZXJjZW50KHZhcmlhYmxlLT52YWx1ZSk7Ci0K
LSAgICAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19OVU1CRVI6Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuIG5vcm1hbGl6ZU51bWJlcih2YXJpYWJsZS0+dmFsdWUpOworICAgIHJldHVybiAw
OworfQogCi0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7Ci0gICAgICAgICAgICB9Cit0ZW1wbGF0ZTxDU1NWYWx1ZUlEIEMxLCBDU1NWYWx1
ZUlEIEMyLCBDU1NWYWx1ZUlEIEMzLCBDU1NWYWx1ZUlEIEFscGhhQ2hhbm5lbCwgdHlwZW5hbWUg
Q29sb3JUeXBlLCB0eXBlbmFtZSBWYWx1ZVRyYW5zZm9ybWVyPiBzdGF0aWMgZGVjbHR5cGUoYXV0
bykgcmVzb2x2ZVJlbGF0aXZlQ29sb3JDaGFubmVsKGNvbnN0IFZhcmlhbnQ8ZG91YmxlLCBDU1NW
YWx1ZUlEPiYgcGFyc2VkQ2hhbm5lbCwgY29uc3QgQ29sb3JUeXBlJiBvcmlnaW5Db2xvciwgVmFs
dWVUcmFuc2Zvcm1lciYmIHZhbHVlVHJhbnNmb3JtZXIpCit7CisgICAgcmV0dXJuIHN3aXRjaE9u
KHBhcnNlZENoYW5uZWwsCisgICAgICAgIFsmXSAoZG91YmxlIHZhbHVlKSB7CisgICAgICAgICAg
ICByZXR1cm4gdmFsdWVUcmFuc2Zvcm1lcih2YWx1ZSk7CisgICAgICAgIH0sCisgICAgICAgIFsm
XSAoQ1NTVmFsdWVJRCBjaGFubmVsKSB7CisgICAgICAgICAgICByZXR1cm4gZXh0cmFjdENoYW5u
ZWxWYWx1ZTxDMSwgQzIsIEMzLCBBbHBoYUNoYW5uZWw+KGNoYW5uZWwsIG9yaWdpbkNvbG9yKTsK
ICAgICAgICAgfQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotCi0gICAgZGVmYXVsdDoK
LSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICB9CisgICAgKTsKK30KIAotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Cit0ZW1wbGF0ZTxD
U1NWYWx1ZUlEIEMxLCBDU1NWYWx1ZUlEIEMyLCBDU1NWYWx1ZUlEIEMzLCBDU1NWYWx1ZUlEIEFs
cGhhQ2hhbm5lbCwgdHlwZW5hbWUgQ29sb3JUeXBlPiBzdGF0aWMgZGVjbHR5cGUoYXV0bykgcmVz
b2x2ZVJlbGF0aXZlQ29sb3JDaGFubmVsKGNvbnN0IFZhcmlhbnQ8ZG91YmxlLCBDU1NWYWx1ZUlE
PiYgcGFyc2VkQ2hhbm5lbCwgY29uc3QgQ29sb3JUeXBlJiBvcmlnaW5Db2xvcikKK3sKKyAgICBy
ZXR1cm4gcmVzb2x2ZVJlbGF0aXZlQ29sb3JDaGFubmVsPEMxLCBDMiwgQzMsIEFscGhhQ2hhbm5l
bD4ocGFyc2VkQ2hhbm5lbCwgb3JpZ2luQ29sb3IsIFtdKGF1dG8gdmFsdWUpIHsgcmV0dXJuIHZh
bHVlOyB9KTsKIH0KIAorZW51bSBjbGFzcyBSR0JDb21wb25lbnRUeXBlIHsgTnVtYmVyLCBQZXJj
ZW50YWdlIH07CisKIHN0YXRpYyB1aW50OF90IGNsYW1wUkdCQ29tcG9uZW50KGRvdWJsZSB2YWx1
ZSwgUkdCQ29tcG9uZW50VHlwZSBjb21wb25lbnRUeXBlKQogewogICAgIGlmIChjb21wb25lbnRU
eXBlID09IFJHQkNvbXBvbmVudFR5cGU6OlBlcmNlbnRhZ2UpCkBAIC0xMDc2LDM3ICs5MjIsNTIg
QEAgc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVSR0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2Vu
UmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnMKICAgICBpZiAoIW9yaWdpbkNvbG9yLmlzVmFsaWQo
KSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gb3JpZ2luQ29sb3JBc1NSR0IgPSBv
cmlnaW5Db2xvci50b0NvbG9yVHlwZUxvc3N5PFNSR0JBPGZsb2F0Pj4oKTsKLQotICAgIENTU0Nh
bGNTeW1ib2xUYWJsZSBzeW1ib2xUYWJsZSB7Ci0gICAgICAgIHsgQ1NTVmFsdWVSLCBDU1NVbml0
VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNTUkdCLnJlZCAqIDEwMC4wIH0sCi0g
ICAgICAgIHsgQ1NTVmFsdWVHLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNv
bG9yQXNTUkdCLmdyZWVuICogMTAwLjAgfSwKLSAgICAgICAgeyBDU1NWYWx1ZUIsIENTU1VuaXRU
eXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc1NSR0IuYmx1ZSAqIDEwMC4wIH0sCi0g
ICAgICAgIHsgQ1NTVmFsdWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdFLCBvcmln
aW5Db2xvckFzU1JHQi5hbHBoYSAqIDEwMC4wIH0KLSAgICB9OwotCi0gICAgYXV0byByZWQgPSBj
b25zdW1lTnVtYmVyT3JQZXJjZW50T3JJZGVudE5vcm1hbGl6ZWRGb3JSZWxhdGl2ZVJHQihhcmdz
LCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCFyZWQpCisgICAgc3RkOjpvcHRpb25hbDxSR0JDb21w
b25lbnRUeXBlPiBjb21wb25lbnRUeXBlOworICAgIGF1dG8gcmVkUmVzdWx0ID0gY29uc3VtZVJl
bGF0aXZlUkdCQ29tcG9uZW50PENTU1ZhbHVlUj4oYXJncywgY29tcG9uZW50VHlwZSk7CisgICAg
aWYgKCFyZWRSZXN1bHQpCiAgICAgICAgIHJldHVybiB7IH07CisgICAgYXV0byByZWQgPSByZWRS
ZXN1bHQtPnZhbHVlOworICAgIGNvbXBvbmVudFR5cGUgPSByZWRSZXN1bHQtPnR5cGU7CiAKLSAg
ICBhdXRvIGdyZWVuID0gY29uc3VtZU51bWJlck9yUGVyY2VudE9ySWRlbnROb3JtYWxpemVkRm9y
UmVsYXRpdmVSR0IoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghZ3JlZW4pCisgICAgYXV0
byBncmVlblJlc3VsdCA9IGNvbnN1bWVSZWxhdGl2ZVJHQkNvbXBvbmVudDxDU1NWYWx1ZUc+KGFy
Z3MsIGNvbXBvbmVudFR5cGUpOworICAgIGlmICghZ3JlZW5SZXN1bHQpCiAgICAgICAgIHJldHVy
biB7IH07CisgICAgYXV0byBncmVlbiA9IGdyZWVuUmVzdWx0LT52YWx1ZTsKKyAgICBjb21wb25l
bnRUeXBlID0gZ3JlZW5SZXN1bHQtPnR5cGU7CiAKLSAgICBhdXRvIGJsdWUgPSBjb25zdW1lTnVt
YmVyT3JQZXJjZW50T3JJZGVudE5vcm1hbGl6ZWRGb3JSZWxhdGl2ZVJHQihhcmdzLCBzeW1ib2xU
YWJsZSk7Ci0gICAgaWYgKCFibHVlKQorICAgIGF1dG8gYmx1ZVJlc3VsdCA9IGNvbnN1bWVSZWxh
dGl2ZVJHQkNvbXBvbmVudDxDU1NWYWx1ZUI+KGFyZ3MsIGNvbXBvbmVudFR5cGUpOworICAgIGlm
ICghYmx1ZVJlc3VsdCkKICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICBhdXRvIGJsdWUgPSBibHVl
UmVzdWx0LT52YWx1ZTsKKyAgICBjb21wb25lbnRUeXBlID0gYmx1ZVJlc3VsdC0+dHlwZTsKIAot
ICAgIGF1dG8gYWxwaGEgPSBjb25zdW1lT3B0aW9uYWxBbHBoYU9ySWRlbnQoYXJncywgc3ltYm9s
VGFibGUpOworICAgIGF1dG8gYWxwaGEgPSBjb25zdW1lT3B0aW9uYWxBbHBoYU9ySWRlbnQ8Q1NT
VmFsdWVBbHBoYT4oYXJncyk7CiAgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsgfTsK
IAogICAgIGlmICghYXJncy5hdEVuZCgpKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0
byBub3JtYWxpemVkQWxwaGEgPSBjb252ZXJ0RmxvYXRBbHBoYVRvPHVpbnQ4X3Q+KCphbHBoYSk7
CisgICAgLy8gQWZ0ZXIgcGFyc2luZywgY29udmVydCBpZGVudGlmaWVycyB0byB2YWx1ZXMgZnJv
bSB0aGUgb3JpZ2luIGNvbG9yLgorCisgICAgLy8gRklYTUU6IERvIHdlIHdhbnQgdG8gYmVpbmcg
ZG9pbmcgdGhpcyBpbiB1aW50OF90IHZhbHVlcz8gT3Igc2hvdWxkIHdlIHVzZSAKKyAgICAvLyBo
aWdoZXIgcHJlY2lzaW9uIGFuZCBjbGFtcCBhdCB0aGUgZW5kPyBJdCB3b24ndCBtYWtlIGEgZGlm
ZmVyZW5jZSB1bnRpbCB3ZQorICAgIC8vIHN1cHBvcnQgY2FsY3VsYXRpb25zIG9uIHRoZSBvcmln
aW4ncyBjb21wb25lbnRzLgorICAgIGF1dG8gb3JpZ2luQ29sb3JBc1NSR0IgPSBvcmlnaW5Db2xv
ci50b1NSR0JBTG9zc3k8dWludDhfdD4oKTsKKworICAgIGF1dG8gcmVzb2x2ZWRDb21wb25lbnRU
eXBlID0gY29tcG9uZW50VHlwZS52YWx1ZV9vcihSR0JDb21wb25lbnRUeXBlOjpQZXJjZW50YWdl
KTsKKyAgICBhdXRvIGNoYW5uZWxSZXNvbHZlciA9IFtyZXNvbHZlZENvbXBvbmVudFR5cGVdKGF1
dG8gdmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIGNsYW1wUkdCQ29tcG9uZW50KHZhbHVlLCByZXNv
bHZlZENvbXBvbmVudFR5cGUpOworICAgIH07CisKKyAgICBhdXRvIHJlc29sdmVkUmVkID0gcmVz
b2x2ZVJlbGF0aXZlQ29sb3JDaGFubmVsPENTU1ZhbHVlUiwgQ1NTVmFsdWVHLCBDU1NWYWx1ZUIs
IENTU1ZhbHVlQWxwaGE+KHJlZCwgb3JpZ2luQ29sb3JBc1NSR0IsIGNoYW5uZWxSZXNvbHZlcik7
CisgICAgYXV0byByZXNvbHZlZEdyZWVuID0gcmVzb2x2ZVJlbGF0aXZlQ29sb3JDaGFubmVsPENT
U1ZhbHVlUiwgQ1NTVmFsdWVHLCBDU1NWYWx1ZUIsIENTU1ZhbHVlQWxwaGE+KGdyZWVuLCBvcmln
aW5Db2xvckFzU1JHQiwgY2hhbm5lbFJlc29sdmVyKTsKKyAgICBhdXRvIHJlc29sdmVkQmx1ZSA9
IHJlc29sdmVSZWxhdGl2ZUNvbG9yQ2hhbm5lbDxDU1NWYWx1ZVIsIENTU1ZhbHVlRywgQ1NTVmFs
dWVCLCBDU1NWYWx1ZUFscGhhPihibHVlLCBvcmlnaW5Db2xvckFzU1JHQiwgY2hhbm5lbFJlc29s
dmVyKTsKKyAgICBhdXRvIHJlc29sdmVkQWxwaGEgPSByZXNvbHZlUmVsYXRpdmVDb2xvckNoYW5u
ZWw8Q1NTVmFsdWVSLCBDU1NWYWx1ZUcsIENTU1ZhbHVlQiwgQ1NTVmFsdWVBbHBoYT4oKmFscGhh
LCBvcmlnaW5Db2xvckFzU1JHQiwgW10oYXV0byB2YWx1ZSkgeworICAgICAgICByZXR1cm4gY29u
dmVydEZsb2F0QWxwaGFUbzx1aW50OF90Pih2YWx1ZSk7CisgICAgfSk7CiAKLSAgICByZXR1cm4g
U1JHQkE8dWludDhfdD4geyAqcmVkLCAqZ3JlZW4sICpibHVlLCBub3JtYWxpemVkQWxwaGEgfTsK
KyAgICByZXR1cm4gU1JHQkE8dWludDhfdD4geyByZXNvbHZlZFJlZCwgcmVzb2x2ZWRHcmVlbiwg
cmVzb2x2ZWRCbHVlLCByZXNvbHZlZEFscGhhIH07CiB9CiAKIGVudW0gY2xhc3MgUkdCRnVuY3Rp
b25Nb2RlIHsgUkdCLCBSR0JBIH07CkBAIC0xMTg4LDQwICsxMDQ5LDQxIEBAIHN0YXRpYyBDb2xv
ciBwYXJzZVJlbGF0aXZlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBj
b25zdCBDU1NQYXJzCiAgICAgaWYgKCFvcmlnaW5Db2xvci5pc1ZhbGlkKCkpCiAgICAgICAgIHJl
dHVybiB7IH07CiAKLSAgICBhdXRvIG9yaWdpbkNvbG9yQXNIU0wgPSBvcmlnaW5Db2xvci50b0Nv
bG9yVHlwZUxvc3N5PEhTTEE8ZmxvYXQ+PigpOwotCi0gICAgQ1NTQ2FsY1N5bWJvbFRhYmxlIHN5
bWJvbFRhYmxlIHsKLSAgICAgICAgeyBDU1NWYWx1ZUgsIENTU1VuaXRUeXBlOjpDU1NfREVHLCBv
cmlnaW5Db2xvckFzSFNMLmh1ZSB9LAotICAgICAgICB7IENTU1ZhbHVlUywgQ1NTVW5pdFR5cGU6
OkNTU19QRVJDRU5UQUdFLCBvcmlnaW5Db2xvckFzSFNMLnNhdHVyYXRpb24gfSwKLSAgICAgICAg
eyBDU1NWYWx1ZUwsIENTU1VuaXRUeXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0hT
TC5saWdodG5lc3MgfSwKLSAgICAgICAgeyBDU1NWYWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NT
X1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNIU0wuYWxwaGEgKiAxMDAuMCB9Ci0gICAgfTsKLQot
ICAgIGF1dG8gaHVlID0gY29uc3VtZUh1ZU9ySWRlbnQoYXJncywgc3ltYm9sVGFibGUpOworICAg
IGF1dG8gaHVlID0gY29uc3VtZUh1ZU9ySWRlbnQ8Q1NTVmFsdWVIPihhcmdzLCBjb250ZXh0KTsK
ICAgICBpZiAoIWh1ZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gc2F0dXJhdGlv
biA9IGNvbnN1bWVQZXJjZW50T3JJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7CisgICAgYXV0byBz
YXR1cmF0aW9uID0gY29uc3VtZVBlcmNlbnRPcklkZW50PENTU1ZhbHVlUz4oYXJncyk7CiAgICAg
aWYgKCFzYXR1cmF0aW9uKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBsaWdodG5l
c3MgPSBjb25zdW1lUGVyY2VudE9ySWRlbnQoYXJncywgc3ltYm9sVGFibGUpOworICAgIGF1dG8g
bGlnaHRuZXNzID0gY29uc3VtZVBlcmNlbnRPcklkZW50PENTU1ZhbHVlTD4oYXJncyk7CiAgICAg
aWYgKCFsaWdodG5lc3MpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIGFscGhhID0g
Y29uc3VtZU9wdGlvbmFsQWxwaGFPcklkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsKKyAgICBhdXRv
IGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFPcklkZW50PENTU1ZhbHVlQWxwaGE+KGFyZ3Mp
OwogICAgIGlmICghYWxwaGEpCiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICBpZiAoIWFyZ3Mu
YXRFbmQoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9
IG5vcm1hbGl6ZUh1ZSgqaHVlKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRTYXR1cmF0aW9uID0gc3Rk
OjpjbGFtcCgqc2F0dXJhdGlvbiwgMC4wLCAxMDAuMCk7Ci0gICAgYXV0byBub3JtYWxpemVkTGln
aHRuZXNzID0gc3RkOjpjbGFtcCgqbGlnaHRuZXNzLCAwLjAsIDEwMC4wKTsKLSAgICBhdXRvIG5v
cm1hbGl6ZWRBbHBoYSA9IHN0ZDo6Y2xhbXAoKmFscGhhLCAwLjAsIDEuMCk7CisgICAgLy8gQWZ0
ZXIgcGFyc2luZywgY29udmVydCBpZGVudGlmaWVycyB0byB2YWx1ZXMgZnJvbSB0aGUgb3JpZ2lu
IGNvbG9yLgogCi0gICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxTUkdCQTx1aW50OF90Pj4oSFNMQTxm
bG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEh1ZSksIHN0YXRpY19jYXN0PGZs
b2F0Pihub3JtYWxpemVkU2F0dXJhdGlvbiksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVk
TGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRBbHBoYSkgfSk7CisgICAg
YXV0byBvcmlnaW5Db2xvckFzSFNMID0gb3JpZ2luQ29sb3IudG9Db2xvclR5cGVMb3NzeTxIU0xB
PGZsb2F0Pj4oKTsKKworICAgIGF1dG8gcmVzb2x2ZWRIdWUgPSByZXNvbHZlUmVsYXRpdmVDb2xv
ckNoYW5uZWw8Q1NTVmFsdWVILCBDU1NWYWx1ZVMsIENTU1ZhbHVlTCwgQ1NTVmFsdWVBbHBoYT4o
Kmh1ZSwgb3JpZ2luQ29sb3JBc0hTTCwgW10oYXV0byBodWUpIHsKKyAgICAgICAgcmV0dXJuIG5v
cm1hbGl6ZUh1ZShodWUpOworICAgIH0pOworICAgIGF1dG8gcmVzb2x2ZWRTYXR1cmF0aW9uID0g
cmVzb2x2ZVJlbGF0aXZlQ29sb3JDaGFubmVsPENTU1ZhbHVlSCwgQ1NTVmFsdWVTLCBDU1NWYWx1
ZUwsIENTU1ZhbHVlQWxwaGE+KCpzYXR1cmF0aW9uLCBvcmlnaW5Db2xvckFzSFNMLCBbXShhdXRv
IHNhdHVyYXRpb24pIHsKKyAgICAgICAgcmV0dXJuIGNsYW1wVG8oc2F0dXJhdGlvbiwgMC4wLCAx
MDAuMCk7CisgICAgfSk7CisgICAgYXV0byByZXNvbHZlZExpZ2h0bmVzcyA9IHJlc29sdmVSZWxh
dGl2ZUNvbG9yQ2hhbm5lbDxDU1NWYWx1ZUgsIENTU1ZhbHVlUywgQ1NTVmFsdWVMLCBDU1NWYWx1
ZUFscGhhPigqbGlnaHRuZXNzLCBvcmlnaW5Db2xvckFzSFNMLCBbXShhdXRvIGxpZ2h0bmVzcykg
eworICAgICAgICByZXR1cm4gY2xhbXBUbyhsaWdodG5lc3MsIDAuMCwgMTAwLjApOworICAgIH0p
OworICAgIGF1dG8gcmVzb2x2ZWRBbHBoYSA9IHJlc29sdmVSZWxhdGl2ZUNvbG9yQ2hhbm5lbDxD
U1NWYWx1ZUgsIENTU1ZhbHVlUywgQ1NTVmFsdWVMLCBDU1NWYWx1ZUFscGhhPigqYWxwaGEsIG9y
aWdpbkNvbG9yQXNIU0wpOworCisgICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxTUkdCQTx1aW50OF90
Pj4oSFNMQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4ocmVzb2x2ZWRIdWUpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4ocmVzb2x2ZWRTYXR1cmF0aW9uKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHJlc29s
dmVkTGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHJlc29sdmVkQWxwaGEpIH0pOwogfQog
CiBlbnVtIGNsYXNzIEhTTEZ1bmN0aW9uTW9kZSB7IEhTTCwgSFNMQSB9OwpAQCAtMTI2MSwxNCAr
MTEyMywxNSBAQCB0ZW1wbGF0ZTxIU0xGdW5jdGlvbk1vZGUgTW9kZT4gc3RhdGljIENvbG9yIHBh
cnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbgogICAgICAgICByZXR1cm4geyB9Owog
CiAgICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVlKCpodWUpOwotICAgIGF1dG8g
bm9ybWFsaXplZFNhdHVyYXRpb24gPSBzdGQ6OmNsYW1wKCpzYXR1cmF0aW9uLCAwLjAsIDEwMC4w
KTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBzdGQ6OmNsYW1wKCpsaWdodG5lc3Ms
IDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9ybWFsaXplZEFscGhhID0gc3RkOjpjbGFtcCgqYWxw
aGEsIDAuMCwgMS4wKTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRTYXR1cmF0aW9uID0gY2xhbXBUbygq
c2F0dXJhdGlvbiwgMC4wLCAxMDAuMCk7CisgICAgYXV0byBub3JtYWxpemVkTGlnaHRuZXNzID0g
Y2xhbXBUbygqbGlnaHRuZXNzLCAwLjAsIDEwMC4wKTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRBbHBo
YSA9IGNsYW1wVG8oKmFscGhhLCAwLjAsIDEuMCk7CiAKICAgICByZXR1cm4gY29udmVydENvbG9y
PFNSR0JBPHVpbnQ4X3Q+PihIU0xBPGZsb2F0PiB7IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxp
emVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRTYXR1cmF0aW9uKSwgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9y
bWFsaXplZEFscGhhKSB9KTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQ29tcG9uZW50VHlwZT4g
c3RydWN0IFdoaXRlbmVzc0JsYWNrbmVzcyB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDb21wb25lbnRU
eXBlPgorc3RydWN0IFdoaXRlbmVzc0JsYWNrbmVzcyB7CiAgICAgQ29tcG9uZW50VHlwZSB3aGl0
ZW5lc3M7CiAgICAgQ29tcG9uZW50VHlwZSBibGFja25lc3M7CiB9OwpAQCAtMTMwMiwzOCArMTE2
NSwzOSBAQCBzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFycwogICAgIGlmICghb3JpZ2luQ29sb3IuaXNW
YWxpZCgpKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBvcmlnaW5Db2xvckFzSFdC
ID0gb3JpZ2luQ29sb3IudG9Db2xvclR5cGVMb3NzeTxIV0JBPGZsb2F0Pj4oKTsKLQotICAgIENT
U0NhbGNTeW1ib2xUYWJsZSBzeW1ib2xUYWJsZSB7Ci0gICAgICAgIHsgQ1NTVmFsdWVILCBDU1NV
bml0VHlwZTo6Q1NTX0RFRywgb3JpZ2luQ29sb3JBc0hXQi5odWUgfSwKLSAgICAgICAgeyBDU1NW
YWx1ZVcsIENTU1VuaXRUeXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0hXQi53aGl0
ZW5lc3MgfSwKLSAgICAgICAgeyBDU1NWYWx1ZUIsIENTU1VuaXRUeXBlOjpDU1NfUEVSQ0VOVEFH
RSwgb3JpZ2luQ29sb3JBc0hXQi5ibGFja25lc3MgfSwKLSAgICAgICAgeyBDU1NWYWx1ZUFscGhh
LCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNIV0IuYWxwaGEgKiAx
MDAuMCB9Ci0gICAgfTsKLQotICAgIGF1dG8gaHVlID0gY29uc3VtZUh1ZU9ySWRlbnQoYXJncywg
c3ltYm9sVGFibGUpOworICAgIGF1dG8gaHVlID0gY29uc3VtZUh1ZU9ySWRlbnQ8Q1NTVmFsdWVI
PihhcmdzLCBjb250ZXh0KTsKICAgICBpZiAoIWh1ZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAot
ICAgIGF1dG8gd2hpdGVuZXNzID0gY29uc3VtZVBlcmNlbnRPcklkZW50KGFyZ3MsIHN5bWJvbFRh
YmxlKTsKKyAgICBhdXRvIHdoaXRlbmVzcyA9IGNvbnN1bWVQZXJjZW50T3JJZGVudDxDU1NWYWx1
ZVc+KGFyZ3MpOwogICAgIGlmICghd2hpdGVuZXNzKQogICAgICAgICByZXR1cm4geyB9OwogCi0g
ICAgYXV0byBibGFja25lc3MgPSBjb25zdW1lUGVyY2VudE9ySWRlbnQoYXJncywgc3ltYm9sVGFi
bGUpOworICAgIGF1dG8gYmxhY2tuZXNzID0gY29uc3VtZVBlcmNlbnRPcklkZW50PENTU1ZhbHVl
Qj4oYXJncyk7CiAgICAgaWYgKCFibGFja25lc3MpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAg
ICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFPcklkZW50KGFyZ3MsIHN5bWJvbFRh
YmxlKTsKKyAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFPcklkZW50PENTU1Zh
bHVlQWxwaGE+KGFyZ3MpOwogICAgIGlmICghYWxwaGEpCiAgICAgICAgIHJldHVybiB7IH07CiAK
ICAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8g
bm9ybWFsaXplZEh1ZSA9IG5vcm1hbGl6ZUh1ZSgqaHVlKTsKLSAgICBhdXRvIFtub3JtYWxpemVk
V2hpdG5lc3MsIG5vcm1hbGl6ZWRCbGFja25lc3NdID0gbm9ybWFsaXplV2hpdGVuZXNzQmxhY2tu
ZXNzKCp3aGl0ZW5lc3MsICpibGFja25lc3MpOworICAgIC8vIEFmdGVyIHBhcnNpbmcsIGNvbnZl
cnQgaWRlbnRpZmllcnMgdG8gdmFsdWVzIGZyb20gdGhlIG9yaWdpbiBjb2xvci4KIAotICAgIHJl
dHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KEhXQkE8ZmxvYXQ+IHsgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZFdo
aXRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRCbGFja25lc3MpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4oKmFscGhhKSB9KTsKKyAgICBhdXRvIG9yaWdpbkNvbG9yQXNIV0IgPSBvcmln
aW5Db2xvci50b0NvbG9yVHlwZUxvc3N5PEhXQkE8ZmxvYXQ+PigpOworCisgICAgYXV0byByZXNv
bHZlZEh1ZSA9IHJlc29sdmVSZWxhdGl2ZUNvbG9yQ2hhbm5lbDxDU1NWYWx1ZUgsIENTU1ZhbHVl
VywgQ1NTVmFsdWVCLCBDU1NWYWx1ZUFscGhhPigqaHVlLCBvcmlnaW5Db2xvckFzSFdCLCBbXShh
dXRvIGh1ZSkgeworICAgICAgICByZXR1cm4gbm9ybWFsaXplSHVlKGh1ZSk7CisgICAgfSk7Cisg
ICAgYXV0byByZXNvbHZlZFdoaXRlbmVzcyA9IHJlc29sdmVSZWxhdGl2ZUNvbG9yQ2hhbm5lbDxD
U1NWYWx1ZUgsIENTU1ZhbHVlVywgQ1NTVmFsdWVCLCBDU1NWYWx1ZUFscGhhPigqd2hpdGVuZXNz
LCBvcmlnaW5Db2xvckFzSFdCKTsKKyAgICBhdXRvIHJlc29sdmVkQmxhY2tuZXNzID0gcmVzb2x2
ZVJlbGF0aXZlQ29sb3JDaGFubmVsPENTU1ZhbHVlSCwgQ1NTVmFsdWVXLCBDU1NWYWx1ZUIsIENT
U1ZhbHVlQWxwaGE+KCpibGFja25lc3MsIG9yaWdpbkNvbG9yQXNIV0IpOworICAgIGF1dG8gcmVz
b2x2ZWRBbHBoYSA9IHJlc29sdmVSZWxhdGl2ZUNvbG9yQ2hhbm5lbDxDU1NWYWx1ZUgsIENTU1Zh
bHVlVywgQ1NTVmFsdWVCLCBDU1NWYWx1ZUFscGhhPigqYWxwaGEsIG9yaWdpbkNvbG9yQXNIV0Ip
OworCisgICAgYXV0byBbbm9ybWFsaXplZFdoaXRuZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzXSA9
IG5vcm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcyhyZXNvbHZlZFdoaXRlbmVzcywgcmVzb2x2ZWRC
bGFja25lc3MpOworCisgICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxTUkdCQTx1aW50OF90Pj4oSFdC
QTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4ocmVzb2x2ZWRIdWUpLCBzdGF0aWNfY2FzdDxm
bG9hdD4obm9ybWFsaXplZFdoaXRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRC
bGFja25lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4ocmVzb2x2ZWRBbHBoYSkgfSk7CiB9CiAKIHN0
YXRpYyBDb2xvciBwYXJzZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Us
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBAIC0xMzgyLDM3ICsxMjQ2LDM3IEBA
IHN0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlTGFiUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJh
bmdlJiBhcmdzLCBjb25zdCBDU1NQYXJzCiAgICAgaWYgKCFvcmlnaW5Db2xvci5pc1ZhbGlkKCkp
CiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIG9yaWdpbkNvbG9yQXNMYWIgPSBvcmln
aW5Db2xvci50b0NvbG9yVHlwZUxvc3N5PExhYjxmbG9hdD4+KCk7Ci0KLSAgICBDU1NDYWxjU3lt
Ym9sVGFibGUgc3ltYm9sVGFibGUgewotICAgICAgICB7IENTU1ZhbHVlTCwgQ1NTVW5pdFR5cGU6
OkNTU19QRVJDRU5UQUdFLCBvcmlnaW5Db2xvckFzTGFiLmxpZ2h0bmVzcyB9LAotICAgICAgICB7
IENTU1ZhbHVlQSwgQ1NTVW5pdFR5cGU6OkNTU19OVU1CRVIsIG9yaWdpbkNvbG9yQXNMYWIuYSB9
LAotICAgICAgICB7IENTU1ZhbHVlQiwgQ1NTVW5pdFR5cGU6OkNTU19OVU1CRVIsIG9yaWdpbkNv
bG9yQXNMYWIuYiB9LAotICAgICAgICB7IENTU1ZhbHVlQWxwaGEsIENTU1VuaXRUeXBlOjpDU1Nf
UEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0xhYi5hbHBoYSAqIDEwMC4wIH0KLSAgICB9OwotCi0g
ICAgYXV0byBsaWdodG5lc3MgPSBjb25zdW1lUGVyY2VudE9ySWRlbnQoYXJncywgc3ltYm9sVGFi
bGUpOworICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBlcmNlbnRPcklkZW50PENTU1ZhbHVl
TD4oYXJncyk7CiAgICAgaWYgKCFsaWdodG5lc3MpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAg
ICBhdXRvIGFWYWx1ZSA9IGNvbnN1bWVOdW1iZXJPcklkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsK
KyAgICBhdXRvIGFWYWx1ZSA9IGNvbnN1bWVOdW1iZXJPcklkZW50PENTU1ZhbHVlQT4oYXJncyk7
CiAgICAgaWYgKCFhVmFsdWUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIGJWYWx1
ZSA9IGNvbnN1bWVOdW1iZXJPcklkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsKKyAgICBhdXRvIGJW
YWx1ZSA9IGNvbnN1bWVOdW1iZXJPcklkZW50PENTU1ZhbHVlQj4oYXJncyk7CiAgICAgaWYgKCFi
VmFsdWUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9w
dGlvbmFsQWxwaGFPcklkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsKKyAgICBhdXRvIGFscGhhID0g
Y29uc3VtZU9wdGlvbmFsQWxwaGFPcklkZW50PENTU1ZhbHVlQWxwaGE+KGFyZ3MpOwogICAgIGlm
ICghYWxwaGEpCiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICBpZiAoIWFyZ3MuYXRFbmQoKSkK
ICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9IHN0
ZDo6bWF4KDAuMCwgKmxpZ2h0bmVzcyk7CisgICAgLy8gQWZ0ZXIgcGFyc2luZywgY29udmVydCBp
ZGVudGlmaWVycyB0byB2YWx1ZXMgZnJvbSB0aGUgb3JpZ2luIGNvbG9yLgogCi0gICAgcmV0dXJu
IExhYjxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZExpZ2h0bmVzcyksIHN0
YXRpY19jYXN0PGZsb2F0PigqYVZhbHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCpiVmFsdWUpLCBz
dGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9OworICAgIGF1dG8gb3JpZ2luQ29sb3JBc0xhYiA9
IG9yaWdpbkNvbG9yLnRvQ29sb3JUeXBlTG9zc3k8TGFiPGZsb2F0Pj4oKTsKKworICAgIGF1dG8g
cmVzb2x2ZWRMaWdodG5lc3MgPSByZXNvbHZlUmVsYXRpdmVDb2xvckNoYW5uZWw8Q1NTVmFsdWVM
LCBDU1NWYWx1ZUEsIENTU1ZhbHVlQiwgQ1NTVmFsdWVBbHBoYT4oKmxpZ2h0bmVzcywgb3JpZ2lu
Q29sb3JBc0xhYiwgW10oYXV0byBsaWdodG5lc3MpIHsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWF4
KDAuMCwgbGlnaHRuZXNzKTsKKyAgICB9KTsKKyAgICBhdXRvIHJlc29sdmVkQVZhbHVlID0gcmVz
b2x2ZVJlbGF0aXZlQ29sb3JDaGFubmVsPENTU1ZhbHVlTCwgQ1NTVmFsdWVBLCBDU1NWYWx1ZUIs
IENTU1ZhbHVlQWxwaGE+KCphVmFsdWUsIG9yaWdpbkNvbG9yQXNMYWIpOworICAgIGF1dG8gcmVz
b2x2ZWRCVmFsdWUgPSByZXNvbHZlUmVsYXRpdmVDb2xvckNoYW5uZWw8Q1NTVmFsdWVMLCBDU1NW
YWx1ZUEsIENTU1ZhbHVlQiwgQ1NTVmFsdWVBbHBoYT4oKmJWYWx1ZSwgb3JpZ2luQ29sb3JBc0xh
Yik7CisgICAgYXV0byByZXNvbHZlZEFscGhhID0gcmVzb2x2ZVJlbGF0aXZlQ29sb3JDaGFubmVs
PENTU1ZhbHVlTCwgQ1NTVmFsdWVBLCBDU1NWYWx1ZUIsIENTU1ZhbHVlQWxwaGE+KCphbHBoYSwg
b3JpZ2luQ29sb3JBc0xhYik7CisKKyAgICByZXR1cm4gTGFiPGZsb2F0PiB7IHN0YXRpY19jYXN0
PGZsb2F0PihyZXNvbHZlZExpZ2h0bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0PihyZXNvbHZlZEFW
YWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PihyZXNvbHZlZEJWYWx1ZSksIHN0YXRpY19jYXN0PGZs
b2F0PihyZXNvbHZlZEFscGhhKSB9OwogfQogCiBzdGF0aWMgQ29sb3IgcGFyc2VMYWJQYXJhbWV0
ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBj
b250ZXh0KQpAQCAtMTQ2MCwzOSArMTMyNCwzOSBAQCBzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2
ZUxDSFBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFycwog
ICAgIGlmICghb3JpZ2luQ29sb3IuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4geyB9OwogCi0g
ICAgYXV0byBvcmlnaW5Db2xvckFzTENIID0gb3JpZ2luQ29sb3IudG9Db2xvclR5cGVMb3NzeTxM
Q0hBPGZsb2F0Pj4oKTsKLQotICAgIENTU0NhbGNTeW1ib2xUYWJsZSBzeW1ib2xUYWJsZSB7Ci0g
ICAgICAgIHsgQ1NTVmFsdWVMLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNv
bG9yQXNMQ0gubGlnaHRuZXNzIH0sCi0gICAgICAgIHsgQ1NTVmFsdWVDLCBDU1NVbml0VHlwZTo6
Q1NTX05VTUJFUiwgb3JpZ2luQ29sb3JBc0xDSC5jaHJvbWEgfSwKLSAgICAgICAgeyBDU1NWYWx1
ZUgsIENTU1VuaXRUeXBlOjpDU1NfREVHLCBvcmlnaW5Db2xvckFzTENILmh1ZSB9LAotICAgICAg
ICB7IENTU1ZhbHVlQWxwaGEsIENTU1VuaXRUeXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29s
b3JBc0xDSC5hbHBoYSAqIDEwMC4wIH0KLSAgICB9OwotCi0gICAgYXV0byBsaWdodG5lc3MgPSBj
b25zdW1lUGVyY2VudE9ySWRlbnQoYXJncywgc3ltYm9sVGFibGUpOworICAgIGF1dG8gbGlnaHRu
ZXNzID0gY29uc3VtZVBlcmNlbnRPcklkZW50PENTU1ZhbHVlTD4oYXJncyk7CiAgICAgaWYgKCFs
aWdodG5lc3MpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIGNocm9tYSA9IGNvbnN1
bWVOdW1iZXJPcklkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsKKyAgICBhdXRvIGNocm9tYSA9IGNv
bnN1bWVOdW1iZXJPcklkZW50PENTU1ZhbHVlQz4oYXJncyk7CiAgICAgaWYgKCFjaHJvbWEpCiAg
ICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIGh1ZSA9IGNvbnN1bWVIdWVPcklkZW50KGFy
Z3MsIHN5bWJvbFRhYmxlKTsKKyAgICBhdXRvIGh1ZSA9IGNvbnN1bWVIdWVPcklkZW50PENTU1Zh
bHVlSD4oYXJncywgY29udGV4dCk7CiAgICAgaWYgKCFodWUpCiAgICAgICAgIHJldHVybiB7IH07
CiAKLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFPcklkZW50KGFyZ3MsIHN5
bWJvbFRhYmxlKTsKKyAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFPcklkZW50
PENTU1ZhbHVlQWxwaGE+KGFyZ3MpOwogICAgIGlmICghYWxwaGEpCiAgICAgICAgIHJldHVybiB7
IH07CiAKICAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAg
IGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6bWF4KDAuMCwgKmxpZ2h0bmVzcyk7Ci0g
ICAgYXV0byBub3JtYWxpemVkQ2hyb21hID0gc3RkOjptYXgoMC4wLCAqY2hyb21hKTsKLSAgICBh
dXRvIG5vcm1hbGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7CisgICAgYXV0byBvcmlnaW5D
b2xvckFzTENIID0gb3JpZ2luQ29sb3IudG9Db2xvclR5cGVMb3NzeTxMQ0hBPGZsb2F0Pj4oKTsK
IAotICAgIHJldHVybiBMQ0hBPGZsb2F0PiB7IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVk
TGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRDaHJvbWEpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4obm9ybWFsaXplZEh1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH07
CisgICAgYXV0byByZXNvbHZlZExpZ2h0bmVzcyA9IHJlc29sdmVSZWxhdGl2ZUNvbG9yQ2hhbm5l
bDxDU1NWYWx1ZUwsIENTU1ZhbHVlQywgQ1NTVmFsdWVILCBDU1NWYWx1ZUFscGhhPigqbGlnaHRu
ZXNzLCBvcmlnaW5Db2xvckFzTENILCBbXShhdXRvIGxpZ2h0bmVzcykgeworICAgICAgICByZXR1
cm4gc3RkOjptYXgoMC4wLCBsaWdodG5lc3MpOworICAgIH0pOworICAgIGF1dG8gcmVzb2x2ZWRD
aHJvbWEgPSByZXNvbHZlUmVsYXRpdmVDb2xvckNoYW5uZWw8Q1NTVmFsdWVMLCBDU1NWYWx1ZUMs
IENTU1ZhbHVlSCwgQ1NTVmFsdWVBbHBoYT4oKmNocm9tYSwgb3JpZ2luQ29sb3JBc0xDSCwgW10o
YXV0byBjaHJvbWEpIHsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KDAuMCwgY2hyb21hKTsKKyAg
ICB9KTsKKyAgICBhdXRvIHJlc29sdmVkSHVlID0gcmVzb2x2ZVJlbGF0aXZlQ29sb3JDaGFubmVs
PENTU1ZhbHVlTCwgQ1NTVmFsdWVDLCBDU1NWYWx1ZUgsIENTU1ZhbHVlQWxwaGE+KCpodWUsIG9y
aWdpbkNvbG9yQXNMQ0gsIFtdKGF1dG8gaHVlKSB7CisgICAgICAgIHJldHVybiBub3JtYWxpemVI
dWUoaHVlKTsKKyAgICB9KTsKKyAgICBhdXRvIHJlc29sdmVkQWxwaGEgPSByZXNvbHZlUmVsYXRp
dmVDb2xvckNoYW5uZWw8Q1NTVmFsdWVMLCBDU1NWYWx1ZUMsIENTU1ZhbHVlSCwgQ1NTVmFsdWVB
bHBoYT4oKmFscGhhLCBvcmlnaW5Db2xvckFzTENIKTsKKworICAgIHJldHVybiBMQ0hBPGZsb2F0
PiB7IHN0YXRpY19jYXN0PGZsb2F0PihyZXNvbHZlZExpZ2h0bmVzcyksIHN0YXRpY19jYXN0PGZs
b2F0PihyZXNvbHZlZENocm9tYSksIHN0YXRpY19jYXN0PGZsb2F0PihyZXNvbHZlZEh1ZSksIHN0
YXRpY19jYXN0PGZsb2F0PihyZXNvbHZlZEFscGhhKSB9OwogfQogCiBzdGF0aWMgQ29sb3IgcGFy
c2VMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0JiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRmZDM2OWQ1M2QxOWM5ODE2NWEzMmZlYzQyNDBk
NzhkNmQxYTQxZjkuLmUwZWMwNTk2NDIxZTc5N2FlZWJiYTJmZmM5Mjc1OTBkNzdiYmZmMDYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wNS0zMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzgyNjEu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY0NzcK
KworICAgICAgICBCcm9rZSB3aW5kb3dzIGJ1aWxkCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdl
c2V0OgorCisgICAgICAgICJTdXBwb3J0IGNhbGMoKSBvbiBjb21wb25lbnRzIGluc2lkZSByZWxh
dGl2ZSBjb2xvciBzeW50YXgKKyAgICAgICAgY29sb3JzIgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MjcyCisgICAgICAgIGh0dHBzOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC8yNzgyNjEKKwogMjAyMS0wNS0zMSAgQXJjYWR5IEdvbGRtaW50
cy1PcmxvdiAgPGFnb2xkbWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVW5yZXZp
ZXdlZCB0ZXN0IGdhcmRlbmluZy4gVGhlIG1lZGlhL3ZpZGVvLXBsYXlzaW5saW5lLmh0bWwgZmFp
bHVyZSBoYXMgYmVlbiBmaXhlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFy
c2luZy1yZWxhdGl2ZS1jb2xvci1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvcGFyc2luZy1yZWxhdGl2ZS1jb2xvci1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IDhk
MjI4MDNkZDMwNGMwZGZjY2U1MDE5NzlkMTllYjgyZGJiZDg1NzMuLjBlMDA1OWUyMDc4NDMzMDU4
NGQwYWY1NTMwN2ViMWJlMTE1ZDI0MmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3BhcnNpbmctcmVsYXRpdmUtY29sb3Itc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC1leHBlY3RlZC50eHQK
QEAgLTQyLDI3ICs0MiwyMCBAQCBQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAicmdiKGZyb20gcmViZWNjYXB1cnBsZSByIGcgMjUgLyAyNSUpIikgaQogUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgInJnYihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0
MCUpIDI1IGcgYiAvIDI1JSkiKSBpcyAicmdiYSgyNSwgNTEsIDc3LCAwLjI1KSIKIFBBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMw
JSwgNDAlKSByIDI1IGIgLyAyNSUpIikgaXMgInJnYmEoMjYsIDI1LCA3NywgMC4yNSkiCiBQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAicmdiKGZyb20gcmdiKDEwJSwgMjAl
LCAzMCUsIDQwJSkgciBnIDI1IC8gMjUlKSIpIGlzICJyZ2JhKDI2LCA1MSwgMjUsIDAuMjUpIgot
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgInJnYihmcm9tIHJlYmVjY2Fw
dXJwbGUgZyBiIHIpIikgaXMgInJnYig1MSwgMTUzLCAxMDIpIgotUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgInJnYihmcm9tIHJlYmVjY2FwdXJwbGUgYiBhbHBoYSByIC8g
ZykiKSBpcyAicmdiYSgxNTMsIDI1NSwgMTAyLCAwLjIpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgInJnYihmcm9tIHJlYmVjY2FwdXJwbGUgciByIHIgLyByKSIpIGlz
ICJyZ2JhKDEwMiwgMTAyLCAxMDIsIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAicmdiKGZyb20gcmViZWNjYXB1cnBsZSBhbHBoYSBhbHBoYSBhbHBoYSAvIGFs
cGhhKSIpIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAicmdiKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgZyBiIHIpIikg
aXMgInJnYig1MSwgNzcsIDI2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJyZ2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBiIGFscGhhIHIgLyBnKSIpIGlz
ICJyZ2JhKDc3LCAxMDIsIDI2LCAwLjIpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgInJnYihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIHIgciByIC8gcikiKSBp
cyAicmdiYSgyNiwgMjYsIDI2LCAwLjEpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgInJnYihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGFscGhhIGFscGhhIGFs
cGhhIC8gYWxwaGEpIikgaXMgInJnYmEoMTAyLCAxMDIsIDEwMiwgMC40KSIKLVBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSByZWJlY2NhcHVycGxlIHIgMTAl
IDEwKSIpIGlzICJyZ2IoMTAyLCAyNiwgMTApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgInJnYihmcm9tIHJlYmVjY2FwdXJwbGUgciAxMCAxMCUpIikgaXMgInJnYigx
MDIsIDEwLCAyNikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAicmdi
KGZyb20gcmViZWNjYXB1cnBsZSAwJSAxMCAxMCkiKSBpcyAicmdiKDAsIDEwLCAxMCkiCi1QQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAicmdiKGZyb20gcmdiKDEwJSwgMjAl
LCAzMCUsIDQwJSkgciAxMCUgMTApIikgaXMgInJnYigyNiwgMjYsIDEwKSIKLVBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwg
NDAlKSByIDEwIDEwJSkiKSBpcyAicmdiKDI2LCAxMCwgMjYpIgotUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgInJnYihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIDAl
IDEwIDEwKSIpIGlzICJyZ2IoMCwgMTAsIDEwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJyZ2IoZnJvbSByZWJlY2NhcHVycGxlIGNhbGMocikgY2FsYyhnKSBjYWxj
KGIpKSIpIGlzICJyZ2IoMTAyLCA1MSwgMTUzKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJyZ2IoZnJvbSByZWJlY2NhcHVycGxlIHIgY2FsYyhnICogLjUpIDEwKSIp
IGlzICJyZ2IoMTAyLCAyNiwgMTApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgInJnYihmcm9tIHJlYmVjY2FwdXJwbGUgciBjYWxjKGIgKiAuNSkgMTApIikgaXMgInJn
YigxMDIsIDc3LCAxMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
cmdiKGZyb20gcmViZWNjYXB1cnBsZSByIGNhbGMoYiAqIC41ICsgZyAqIC41KSAxMCkiKSBpcyAi
cmdiKDEwMiwgMTAyLCAxMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAicmdiKGZyb20gcmViZWNjYXB1cnBsZSByIGNhbGMoYiAqIC41IC0gZyAqIC41KSAxMCkiKSBp
cyAicmdiKDEwMiwgNTEsIDEwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJyZ2IoZnJvbSByZWJlY2NhcHVycGxlIHIgY2FsYyhiICogLjUgLSBnICogLjUpIDEwKSIp
IGlzICJyZ2IoMTAyLCA1MSwgMTApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgInJnYihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGNhbGMocikgY2FsYyhnKSBj
YWxjKGIpIC8gY2FsYyhhbHBoYSkpIikgaXMgInJnYmEoMjYsIDUxLCA3NywgMC40KSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSByZWJlY2NhcHVycGxl
IGcgYiByKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgInJnYihmcm9tIHJlYmVjY2FwdXJwbGUgYiBhbHBoYSByIC8gZykiKSBp
cyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJyZ2IoZnJvbSByZWJlY2NhcHVycGxlIHIgciByIC8gcikiKSBpcyAicmdiYSgwLCAwLCAw
LCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSBy
ZWJlY2NhcHVycGxlIGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgInJnYmEoMCwgMCwg
MCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAicmdiKGZyb20g
cmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgZyBiIHIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAicmdiKGZyb20gcmdiKDEwJSwg
MjAlLCAzMCUsIDQwJSkgYiBhbHBoYSByIC8gZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSByZ2IoMTAlLCAy
MCUsIDMwJSwgNDAlKSByIHIgciAvIHIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAicmdiKGZyb20gcmdiKDEwJSwgMjAlLCAz
MCUsIDQwJSkgYWxwaGEgYWxwaGEgYWxwaGEgLyBhbHBoYSkiKSBpcyAicmdiYSgwLCAwLCAwLCAw
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSByZWJl
Y2NhcHVycGxlIHIgMTAlIDEwKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgInJnYihmcm9tIHJlYmVjY2FwdXJwbGUgciAxMCAx
MCUpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAicmdiKGZyb20gcmViZWNjYXB1cnBsZSAwJSAxMCAxMCkiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2Io
ZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSByIDEwJSAxMCkiKSBpcyAicmdiYSgwLCAwLCAw
LCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSBy
Z2IoMTAlLCAyMCUsIDMwJSwgNDAlKSByIDEwIDEwJSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSByZ2IoMTAl
LCAyMCUsIDMwJSwgNDAlKSAwJSAxMCAxMCkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKIFBBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSByZWJlY2NhcHVycGxl
IHJlZCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCiBQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAicmdiKGZyb20gcmViZWNjYXB1cnBsZSBsIGcgYikiKSBpcyAicmdi
YSgwLCAwLCAwLCAwKSIKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJy
Z2IoZnJvbSByZWJlY2NhcHVycGxlIGggZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgpAQCAt
OTgsMjQgKzkxLDE0IEBAIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJo
c2woZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSAyNWRlZyBzCiBQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkg
aCAyNSUgbCAvIGFscGhhKSIpIGlzICJyZ2JhKDM5LCA1MSwgNjQsIDAuNCkiCiBQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUs
IDQwJSkgaCBzIDI1JSAvIGFscGhhKSIpIGlzICJyZ2JhKDMyLCA2MywgOTUsIDAuNCkiCiBQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZyb20gcmdiKDEwJSwgMjAl
LCAzMCUsIDQwJSkgaCBzIGwgLyAuMjUpIikgaXMgInJnYmEoMjYsIDUxLCA3NywgMC4yNSkiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZyb20gcmViZWNjYXB1
cnBsZSBoIGwgcykiKSBpcyAicmdiKDEyOCwgNzcsIDE3OSkiCi1QQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZyb20gcmViZWNjYXB1cnBsZSBoIGFscGhhIGwgLyBz
KSIpIGlzICJyZ2JhKDEwMiwgMCwgMjA0LCAwLjUpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImhzbChmcm9tIHJlYmVjY2FwdXJwbGUgaCBsIGwgLyBsKSIpIGlzICJy
Z2JhKDEwMiwgNjEsIDE0MywgMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJoc2woZnJvbSByZWJlY2NhcHVycGxlIGggYWxwaGEgYWxwaGEgLyBhbHBoYSkiKSBp
cyAicmdiKDI1NSwgMjU1LCAyNTUpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImhzbChmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGggbCBzKSIpIGlzICJyZ2Io
MTAxLCAxMjYsIDE1MikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
aHNsKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgaCBhbHBoYSBsIC8gcykiKSBpcyAicmdi
YSgzMSwgNTEsIDcyLCAwLjQ5NCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiaHNsKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgaCBsIGwgLyBsKSIpIGlzICJy
Z2JhKDQxLCA1MSwgNjIsIDAuMjA0KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJoc2woZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBoIGFscGhhIGFscGhhIC8g
YWxwaGEpIikgaXMgInJnYmEoNjEsIDEwMSwgMTQzLCAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImhzbChmcm9tIHJlYmVjY2FwdXJwbGUgcyBoIGwpIikgaXMg
InJnYmEoMCwgMCwgMCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiaHNsKGZyb20gcmViZWNjYXB1cnBsZSBzIHMgcyAvIHMpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZyb20gcmVi
ZWNjYXB1cnBsZSBoIGggaCAvIGgpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCi1QQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZyb20gcmViZWNjYXB1cnBsZSBhbHBo
YSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgotUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImhzbChmcm9tIHJnYigxMCUsIDIwJSwgMzAl
LCA0MCUpIHMgaCBsKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgotUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImhzbChmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIHMg
cyBzIC8gcykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJoc2woZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBoIGggaCAv
IGgpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiaHNsKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgYWxwaGEgYWxwaGEg
YWxwaGEgLyBhbHBoYSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKLVBBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJoc2woZnJvbSByZWJlY2NhcHVycGxlIGNhbGMoaCkgY2Fs
YyhzKSBjYWxjKGwpKSIpIGlzICJyZ2IoMTAyLCA1MSwgMTUzKSIKLVBBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJoc2woZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBj
YWxjKGgpIGNhbGMocykgY2FsYyhsKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJyZ2JhKDI2LCA1MSwg
NzcsIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZy
b20gcmViZWNjYXB1cnBsZSBoIGwgcykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJoc2woZnJvbSByZWJlY2NhcHVycGxlIGgg
YWxwaGEgbCAvIHMpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZyb20gcmViZWNjYXB1cnBsZSBoIGwgbCAvIGwpIikg
aXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiaHNsKGZyb20gcmViZWNjYXB1cnBsZSBoIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMg
InJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiaHNsKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgaCBsIHMpIikgaXMgInJnYmEoMCwg
MCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZy
b20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgaCBhbHBoYSBsIC8gcykiKSBpcyAicmdiYSgwLCAw
LCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJoc2woZnJv
bSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBoIGwgbCAvIGwpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZyb20gcmdi
KDEwJSwgMjAlLCAzMCUsIDQwJSkgaCBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJyZ2JhKDAs
IDAsIDAsIDApIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImhzbChm
cm9tIHJlYmVjY2FwdXJwbGUgaCAxMCUgMTApIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCiBQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHNsKGZyb20gcmViZWNjYXB1cnBs
ZSBoIDEwIDEwJSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKIFBBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJoc2woZnJvbSByZWJlY2NhcHVycGxlIDEwJSBzIGwpIikgaXMg
InJnYmEoMCwgMCwgMCwgMCkiCkBAIC0xNTcsMjQgKzE0MCwxNCBAQCBQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHdiKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkg
MjVkZWcgdwogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9t
IHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGggMjUlIGIgLyBhbHBoYSkiKSBpcyAicmdiYSg2NCwg
NzAsIDc3LCAwLjQpIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3
Yihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGggdyAyNSUgLyBhbHBoYSkiKSBpcyAicmdi
YSgyNiwgMTA3LCAxOTEsIDAuNCkiCiBQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiaHdiKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgaCB3IGIgLyAuMjUpIikgaXMg
InJnYmEoMjYsIDUxLCA3NywgMC4yNSkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiaHdiKGZyb20gcmViZWNjYXB1cnBsZSBoIGIgdykiKSBpcyAicmdiKDE1MywgMTAy
LCAyMDQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9t
IHJlYmVjY2FwdXJwbGUgaCBhbHBoYSB3IC8gYikiKSBpcyAicmdiYSgyMTMsIDIxMywgMjEzLCAw
LjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9tIHJl
YmVjY2FwdXJwbGUgaCB3IHcgLyB3KSIpIGlzICJyZ2JhKDEyOCwgNTEsIDIwNCwgMC4yKSIKLVBB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJod2IoZnJvbSByZWJlY2NhcHVy
cGxlIGggYWxwaGEgYWxwaGEgLyBhbHBoYSkiKSBpcyAicmdiKDEyOCwgMTI4LCAxMjgpIgotUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9tIHJnYigxMCUsIDIw
JSwgMzAlLCA0MCUpIGggYiB3KSIpIGlzICJyZ2IoMTc4LCAyMDMsIDIyOSkiCi1QQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHdiKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUs
IDQwJSkgaCBhbHBoYSB3IC8gYikiKSBpcyAicmdiYSgxMDIsIDE2NCwgMjI5LCAwLjY5OCkiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHdiKGZyb20gcmdiKDEwJSwg
MjAlLCAzMCUsIDQwJSkgaCB3IHcgLyB3KSIpIGlzICJyZ2JhKDI2LCAxMjYsIDIyOSwgMC4xKSIK
LVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJod2IoZnJvbSByZ2IoMTAl
LCAyMCUsIDMwJSwgNDAlKSBoIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgInJnYmEoMTAyLCAx
MjcsIDE1MywgMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJo
d2IoZnJvbSByZWJlY2NhcHVycGxlIHcgaCBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgotUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9tIHJlYmVjY2FwdXJw
bGUgYiBiIGIgLyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgotUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9tIHJlYmVjY2FwdXJwbGUgaCBoIGggLyBoKSIp
IGlzICJyZ2JhKDAsIDAsIDAsIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImh3Yihmcm9tIHJlYmVjY2FwdXJwbGUgYWxwaGEgYWxwaGEgYWxwaGEgLyBhbHBoYSki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJod2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSB3IGIgaCkiKSBpcyAicmdi
YSgwLCAwLCAwLCAwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJo
d2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBiIGIgYiAvIGIpIikgaXMgInJnYmEoMCwg
MCwgMCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHdiKGZy
b20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgaCBoIGggLyBoKSIpIGlzICJyZ2JhKDAsIDAsIDAs
IDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9tIHJn
YigxMCUsIDIwJSwgMzAlLCA0MCUpIGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgInJn
YmEoMCwgMCwgMCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
aHdiKGZyb20gcmViZWNjYXB1cnBsZSBjYWxjKGgpIGNhbGModykgY2FsYyhiKSkiKSBpcyAicmdi
KDEwMiwgNTEsIDE1MykiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
aHdiKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgY2FsYyhoKSBjYWxjKHcpIGNhbGMoYikg
LyBjYWxjKGFscGhhKSkiKSBpcyAicmdiYSgyNiwgNTEsIDc3LCAwLjQpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9tIHJlYmVjY2FwdXJwbGUgaCBiIHcp
IikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiaHdiKGZyb20gcmViZWNjYXB1cnBsZSBoIGFscGhhIHcgLyBiKSIpIGlzICJyZ2Jh
KDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3
Yihmcm9tIHJlYmVjY2FwdXJwbGUgaCB3IHcgLyB3KSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9tIHJlYmVjY2Fw
dXJwbGUgaCBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9tIHJnYigxMCUsIDIw
JSwgMzAlLCA0MCUpIGggYiB3KSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0
MCUpIGggYWxwaGEgdyAvIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHdiKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQw
JSkgaCB3IHcgLyB3KSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImh3Yihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGgg
YWxwaGEgYWxwaGEgLyBhbHBoYSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKIFBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJod2IoZnJvbSByZWJlY2NhcHVycGxlIGggMTAl
IDEwKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImh3Yihmcm9tIHJlYmVjY2FwdXJwbGUgaCAxMCAxMCUpIikgaXMgInJnYmEo
MCwgMCwgMCwgMCkiCiBQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiaHdi
KGZyb20gcmViZWNjYXB1cnBsZSAxMCUgdyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgpAQCAt
MjA5LDE2ICsxODIsMTQgQEAgUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImxhYihmcm9tIGxhYigyNSUgMjAgNTAgLyA0MCUpIDM1JSBhIGIgLwogUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxhYihmcm9tIGxhYigyNSUgMjAgNTAgLyA0MCUpIGwg
MzUgYiAvIGFscGhhKSIpIGlzICJsYWIoMjUlIDM1IDUwIC8gMC40KSIKIFBBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsYWIoZnJvbSBsYWIoMjUlIDIwIDUwIC8gNDAlKSBs
IGEgMzUgLyBhbHBoYSkiKSBpcyAibGFiKDI1JSAyMCAzNSAvIDAuNCkiCiBQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGFiKGZyb20gbGFiKDI1JSAyMCA1MCAvIDQwJSkg
bCBhIGIgLyAuMzUpIikgaXMgImxhYigyNSUgMjAgNTAgLyAwLjM1KSIKLVBBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsYWIoZnJvbSBsYWIoMjUlIDIwIDUwKSBsIGIgYSki
KSBpcyAibGFiKDI1JSA1MCAyMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAibGFiKGZyb20gbGFiKDI1JSAyMCA1MCkgbCBhIGEgLyBhKSIpIGlzICJsYWIoMjUlIDIw
IDIwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsYWIoZnJvbSBs
YWIoMjUlIDIwIDUwIC8gNDAlKSBsIGIgYSkiKSBpcyAibGFiKDI1JSA1MCAyMCkiCi1QQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGFiKGZyb20gbGFiKDI1JSAyMCA1MCAv
IDQwJSkgbCBhIGEgLyBhKSIpIGlzICJsYWIoMjUlIDIwIDIwKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJsYWIoZnJvbSBsYWIoMjUlIDIwIDUwKSBsIGIgYSkiKSBp
cyAicmdiYSgwLCAwLCAwLCAwKSIKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJsYWIoZnJvbSBsYWIoMjUlIDIwIDUwKSBsIGFscGhhIGEgLyBiKSIpIGlzICJyZ2JhKDAs
IDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxhYihm
cm9tIGxhYigyNSUgMjAgNTApIGwgYSBhIC8gYSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKIFBB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsYWIoZnJvbSBsYWIoMjUlIDIw
IDUwKSBsIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGFiKGZyb20gbGFiKDI1JSAyMCA1
MCAvIDQwJSkgbCBiIGEpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCiBQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAibGFiKGZyb20gbGFiKDI1JSAyMCA1MCAvIDQwJSkgbCBh
bHBoYSBhIC8gYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJsYWIoZnJvbSBsYWIoMjUlIDIwIDUwIC8gNDAlKSBsIGEgYSAv
IGEpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCiBQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAibGFiKGZyb20gbGFiKDI1JSAyMCA1MCAvIDQwJSkgbCBhbHBoYSBhbHBoYSAv
IGFscGhhKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImxhYihmcm9tIGxhYigyNSUgMjAgNTApIGNhbGMobCkgY2FsYyhhKSBj
YWxjKGIpKSIpIGlzICJsYWIoMjUlIDIwIDUwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJsYWIoZnJvbSBsYWIoMjUlIDIwIDUwIC8gNDAlKSBjYWxjKGwpIGNhbGMo
YSkgY2FsYyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJsYWIoMjUlIDIwIDUwIC8gMC40KSIKIFBB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsYWIoZnJvbSBsYWIoMjUlIDIw
IDUwKSBsIDEwJSAxMCkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKIFBBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJsYWIoZnJvbSBsYWIoMjUlIDIwIDUwKSBsIDEwIDEwJSki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJsYWIoZnJvbSBsYWIoMjUlIDIwIDUwKSAxMCBhIGIpIikgaXMgInJnYmEoMCwgMCwg
MCwgMCkiCkBAIC0yNjAsMjIgKzIzMSwxMCBAQCBQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAibGNoKGZyb20gbGNoKDcwJSA0NSAzMCAvIDQwJSkgbCAyNSBoIC8gYQogUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUg
MzAgLyA0MCUpIGwgYyAyNSAvIGFscGhhKSIpIGlzICJsY2goNzAlIDQ1IDI1IC8gMC40KSIKIFBB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2goNzAlIDQ1
IDMwIC8gNDAlKSBsIGMgMjVkZWcgLyBhbHBoYSkiKSBpcyAibGNoKDcwJSA0NSAyNSAvIDAuNCki
CiBQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGNoKGZyb20gbGNoKDcw
JSA0NSAzMCAvIDQwJSkgbCBjIGggLyAuMjUpIikgaXMgImxjaCg3MCUgNDUgMzAgLyAwLjI1KSIK
LVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2goNzAl
IDQ1IDMwKSBhbHBoYSBjIGggLyBsKSIpIGlzICJsY2goMTAwJSA0NSAzMCAvIDAuNykiCi1QQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGNoKGZyb20gbGNoKDcwJSA0NSAz
MCkgbCBjIGMgLyBhbHBoYSkiKSBpcyAibGNoKDcwJSA0NSA0NSkiCi1QQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAibGNoKGZyb20gbGNoKDcwJSA0NSAzMCkgYWxwaGEgYyBo
IC8gYWxwaGEpIikgaXMgImxjaCgxMDAlIDQ1IDMwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2goNzAlIDQ1IDMwKSBhbHBoYSBjIGMgLyBhbHBo
YSkiKSBpcyAibGNoKDEwMCUgNDUgNDUpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzAgLyA0MCUpIGFscGhhIGMgaCAvIGwpIikg
aXMgImxjaCg0MCUgNDUgMzAgLyAwLjcpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzAgLyA0MCUpIGwgYyBjIC8gYWxwaGEpIikg
aXMgImxjaCg3MCUgNDUgNDUgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzAgLyA0MCUpIGFscGhhIGMgaCAvIGFscGhh
KSIpIGlzICJsY2goNDAlIDQ1IDMwIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2goNzAlIDQ1IDMwIC8gNDAlKSBhbHBoYSBjIGMgLyBh
bHBoYSkiKSBpcyAibGNoKDQwJSA0NSA0NSAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAibGNoKGZyb20gbGNoKDcwJSA0NSAzMCkgaCBsIGMgLyBhbHBoYSki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJsY2goZnJvbSBsY2goNzAlIDQ1IDMwKSBjIGMgYyAvIGMpIikgaXMgInJnYmEoMCwg
MCwgMCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGNoKGZy
b20gbGNoKDcwJSA0NSAzMCkgYWxwaGEgYWxwaGEgYWxwaGEgLyBhbHBoYSkiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsY2go
ZnJvbSBsY2goNzAlIDQ1IDMwIC8gNDAlKSBoIGwgYyAvIGFscGhhKSIpIGlzICJyZ2JhKDAsIDAs
IDAsIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9t
IGxjaCg3MCUgNDUgMzAgLyA0MCUpIGMgYyBjIC8gYykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIK
LVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2goNzAl
IDQ1IDMwIC8gNDAlKSBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJyZ2JhKDAsIDAs
IDAsIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9t
IGxjaCg3MCUgNDUgMzApIGNhbGMobCkgY2FsYyhjKSBjYWxjKGgpKSIpIGlzICJsY2goNzAlIDQ1
IDMwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsY2goZnJvbSBs
Y2goNzAlIDQ1IDMwIC8gNDAlKSBjYWxjKGwpIGNhbGMoYykgY2FsYyhoKSAvIGNhbGMoYWxwaGEp
KSIpIGlzICJsY2goNzAlIDQ1IDMwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2goNzAlIDQ1IDMwKSBhbHBoYSBjIGggLyBsKSIpIGlz
ICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzApIGFscGhhIGMgaCAvIGFscGhhKSIpIGlzICJyZ2Jh
KDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxj
aChmcm9tIGxjaCg3MCUgNDUgMzAgLyA0MCUpIGFscGhhIGMgaCAvIGwpIikgaXMgInJnYmEoMCwg
MCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGNoKGZy
b20gbGNoKDcwJSA0NSAzMCAvIDQwJSkgYWxwaGEgYyBoIC8gYWxwaGEpIikgaXMgInJnYmEoMCwg
MCwgMCwgMCkiCiBQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGNoKGZy
b20gbGNoKDcwJSA0NSAzMCkgbCAxMCUgaCkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKIFBBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2goNzAlIDQ1IDMw
KSBsIGMgMTAlKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzApIDEwIGMgaCkiKSBpcyAi
cmdiYSgwLCAwLCAwLCAwKSIKQEAgLTI4NSwyMSArMjQ0LDYgQEAgUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzAgLyA0MCUpIDEwIGMg
aCkiKQogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxj
aCg3MCUgNDUgMzApIGxpZ2h0bmVzcyBjIGgpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCiBQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGNoKGZyb20gbGNoKDcwJSA0NSAz
MCkgeCBjIGgpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCiBQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAibGNoKGZyb20gbGNoKDcwJSA0NSAzMCkgbCBnIGIpIikgaXMgInJn
YmEoMCwgMCwgMCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
cmdiKGZyb20gdmFyKC0tYmctY29sb3IpIHIgZyBiIC8gODAlKSIpIGlzICJyZ2JhKDAsIDAsIDI1
NSwgMC44KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsY2goZnJv
bSB2YXIoLS1jb2xvcikgY2FsYyhsIC8gMikgYyBoKSIpIGlzICJsY2goMjMuMTM4OTcxJSA2Ny45
ODk3MTYgMTM0LjM5MTI1KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJyZ2IoZnJvbSB2YXIoLS1jb2xvcikgY2FsYyhyICogLjMgKyBnICogLjU5ICsgYiAqIC4xMSkg
Y2FsYyhyICogLjMgKyBnICogLjU5ICsgYiAqIC4xMSkgY2FsYyhyICogLjMgKyBnICogLjU5ICsg
YiAqIC4xMSkpIikgaXMgInJnYig3NiwgNzYsIDc2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJsY2goZnJvbSB2YXIoLS1jb2xvcikgbCAwIGgpIikgaXMgImxjaCg0
Ni4yNzc5NDMlIDAgMTM0LjM5MTI1KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJyZ2IoZnJvbSBpbmRpYW5yZWQgMjU1IGcgYikiKSBpcyAicmdiKDI1NSwgOTIsIDky
KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJoc2woZnJvbSB2YXIo
LS1hY2NlbnQpIGNhbGMoaCArIDE4MGRlZykgcyBsKSIpIGlzICJyZ2IoMTc4LCAzMiwgNDApIgot
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxhYihmcm9tIHZhcigtLW15
Y29sb3IpIGwgYSBiIC8gMTAwJSkiKSBpcyAibGFiKDYyLjc1MTkyMyUgNTIuNDU4MDIgLTM0LjEx
NzI4MykiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGFiKGZyb20g
dmFyKC0tbXljb2xvcikgbCBhIGIgLyBjYWxjKGFscGhhICogMC44KSkiKSBpcyAibGFiKDYyLjc1
MTkyMyUgNTIuNDU4MDIgLTM0LjExNzI4MyAvIDAuOCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAibGFiKGZyb20gdmFyKC0tbXljb2xvcikgbCBhIGIgLyBjYWxjKGFs
cGhhIC0gMjAlKSkiKSBpcyAibGFiKDYyLjc1MTkyMyUgNTIuNDU4MDIgLTM0LjExNzI4MyAvIDAu
OCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGFiKGZyb20gdmFy
KC0tbXljb2xvcikgbCAwIDApIikgaXMgImxhYig2Mi43NTE5MjMlIDAgMCkiCi1QQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAibGNoKGZyb20gcGVydSBjYWxjKGwgKiAwLjgp
IGMgaCkiKSBpcyAibGNoKDQ5LjgwMTM4JSA1NC4wMDMyOTYgNjMuNjgwMzE3KSIKLVBBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJMQ0goZnJvbSB2YXIoLS1hY2NlbnQpIGwg
YyBjYWxjKGggKyAxODBkZWcpKSIpIGlzICJsY2goNjUuNDk0NzMlIDM5LjQ0NjkwMyAxMC4xMTQ0
NzEpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIHZh
cigtLW15Y29sb3IpIGwgMCBoKSIpIGlzICJsY2goNjIuNzUxOTIzJSAwIDMyNi45NjExMikiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAidmFyKC0tbXlncmF5KSIpIGlz
ICJsY2goNjIuNzUxOTIzJSAwIDMyNi45NjExMikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAibGNoKGZyb20gdmFyKC0tbXlncmF5KSBsIDMwIGgpIikgaXMgImxjaCg2
Mi43NTE5MjMlIDMwIDMyNi45NjExMikiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNp
bmctcmVsYXRpdmUtY29sb3Itc3ludGF4Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJz
aW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC5odG1sCmluZGV4IGQwYmVmZTk5YmVjMzg2OTJjNDIz
MmQ0YTAxOWE0ZmQ0ZjVkN2E5MTEuLjM1YmVmMjRhMmEwNGVlMDhlZTE2ZjBhOTFiZDM2NmI2NTNj
NzM2ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctcmVsYXRpdmUt
Y29sb3Itc3ludGF4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1yZWxh
dGl2ZS1jb2xvci1zeW50YXguaHRtbApAQCAtMSwxNSArMSw2IEBACiA8IURPQ1RZUEUgaHRtbD48
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIENTU1JlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkPXRy
dWUgXSAtLT4KIDxodG1sPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotICAgIDxzdHlsZT4KLSAgICAgICAgaHRtbCB7IAotICAgICAg
ICAgICAgLS1iZy1jb2xvcjogYmx1ZTsKLSAgICAgICAgICAgIC0tY29sb3I6IGdyZWVuOwotICAg
ICAgICAgICAgLS1hY2NlbnQ6IGxpZ2h0c2VhZ3JlZW47Ci0gICAgICAgICAgICAtLW15Y29sb3I6
IG9yY2hpZDsKLSAgICAgICAgICAgIC0tbXlncmF5OiBsY2goZnJvbSB2YXIoLS1teWNvbG9yKSBs
IDAgaCk7Ci0gICAgICAgIH0KLSAgICA8L3N0eWxlPgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0
PgpAQCAtMTA0LDMyICs5NSwyMyBAQAogICAgIHRlc3RDb21wdXRlZChgcmdiKGZyb20gcmdiKDEw
JSwgMjAlLCAzMCUsIDQwJSkgciAyNSBiIC8gMjUlKWAsIGByZ2JhKDI2LCAyNSwgNzcsIDAuMjUp
YCk7CiAgICAgdGVzdENvbXB1dGVkKGByZ2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBy
IGcgMjUgLyAyNSUpYCwgYHJnYmEoMjYsIDUxLCAyNSwgMC4yNSlgKTsKIAotICAgIC8vIFRlc3Rp
bmcgcGVybXV0YXRpb24uCi0gICAgdGVzdENvbXB1dGVkKGByZ2IoZnJvbSByZWJlY2NhcHVycGxl
IGcgYiByKWAsIGByZ2IoNTEsIDE1MywgMTAyKWApOwotICAgIHRlc3RDb21wdXRlZChgcmdiKGZy
b20gcmViZWNjYXB1cnBsZSBiIGFscGhhIHIgLyBnKWAsIGByZ2JhKDE1MywgMjU1LCAxMDIsIDAu
MilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9tIHJlYmVjY2FwdXJwbGUgciByIHIgLyBy
KWAsIGByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYHJnYihm
cm9tIHJlYmVjY2FwdXJwbGUgYWxwaGEgYWxwaGEgYWxwaGEgLyBhbHBoYSlgLCBgcmdiKDI1NSwg
MjU1LCAyNTUpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGByZ2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMw
JSwgNDAlKSBnIGIgcilgLCBgcmdiKDUxLCA3NywgMjYpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBy
Z2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBiIGFscGhhIHIgLyBnKWAsIGByZ2JhKDc3
LCAxMDIsIDI2LCAwLjIpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGByZ2IoZnJvbSByZ2IoMTAlLCAy
MCUsIDMwJSwgNDAlKSByIHIgciAvIHIpYCwgYHJnYmEoMjYsIDI2LCAyNiwgMC4xKWApOwotICAg
IHRlc3RDb21wdXRlZChgcmdiKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgYWxwaGEgYWxw
aGEgYWxwaGEgLyBhbHBoYSlgLCBgcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjQpYCk7Ci0KLSAgICAv
LyBUZXN0aW5nIG1peGVzIG9mIG51bWJlciBhbmQgcGVyY2VudGFnZS4gKFRoZXNlIHdvdWxkIG5v
dCBiZSBhbGxvd2VkIGluIHRoZSBub24tcmVsYXRpdmUgc3ludGF4KS4KLSAgICB0ZXN0Q29tcHV0
ZWQoYHJnYihmcm9tIHJlYmVjY2FwdXJwbGUgciAxMCUgMTApYCwgYHJnYigxMDIsIDI2LCAxMClg
KTsKLSAgICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9tIHJlYmVjY2FwdXJwbGUgciAxMCAxMCUpYCwg
YHJnYigxMDIsIDEwLCAyNilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9tIHJlYmVjY2Fw
dXJwbGUgMCUgMTAgMTApYCwgYHJnYigwLCAxMCwgMTApYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBy
Z2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSByIDEwJSAxMClgLCBgcmdiKDI2LCAyNiwg
MTApYCk7Ci0gICAgdGVzdENvbXB1dGVkKGByZ2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAl
KSByIDEwIDEwJSlgLCBgcmdiKDI2LCAxMCwgMjYpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGByZ2Io
ZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSAwJSAxMCAxMClgLCBgcmdiKDAsIDEwLCAxMClg
KTsKLQotICAgIC8vIFRlc3Rpbmcgd2l0aCBjYWxjKCkuCi0gICAgdGVzdENvbXB1dGVkKGByZ2Io
ZnJvbSByZWJlY2NhcHVycGxlIGNhbGMocikgY2FsYyhnKSBjYWxjKGIpKWAsIGByZ2IoMTAyLCA1
MSwgMTUzKWApOwotICAgIHRlc3RDb21wdXRlZChgcmdiKGZyb20gcmViZWNjYXB1cnBsZSByIGNh
bGMoZyAqIC41KSAxMClgLCBgcmdiKDEwMiwgMjYsIDEwKWApOwotICAgIHRlc3RDb21wdXRlZChg
cmdiKGZyb20gcmViZWNjYXB1cnBsZSByIGNhbGMoYiAqIC41KSAxMClgLCBgcmdiKDEwMiwgNzcs
IDEwKWApOwotICAgIHRlc3RDb21wdXRlZChgcmdiKGZyb20gcmViZWNjYXB1cnBsZSByIGNhbGMo
YiAqIC41ICsgZyAqIC41KSAxMClgLCBgcmdiKDEwMiwgMTAyLCAxMClgKTsKLSAgICB0ZXN0Q29t
cHV0ZWQoYHJnYihmcm9tIHJlYmVjY2FwdXJwbGUgciBjYWxjKGIgKiAuNSAtIGcgKiAuNSkgMTAp
YCwgYHJnYigxMDIsIDUxLCAxMClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9tIHJlYmVj
Y2FwdXJwbGUgciBjYWxjKGIgKiAuNSAtIGcgKiAuNSkgMTApYCwgYHJnYigxMDIsIDUxLCAxMClg
KTsKLSAgICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGNh
bGMocikgY2FsYyhnKSBjYWxjKGIpIC8gY2FsYyhhbHBoYSkpYCwgYHJnYmEoMjYsIDUxLCA3Nywg
MC40KWApOworICAgIC8vIFRlc3RpbmcgcGVybXV0YXRpb24gKHVuY2xlYXIgaWYgdGhpcyBpcyBh
bGxvd2VkIHBlci1zcGVjLCB3ZSBkaXNhbGxvdyBpdCkuCisgICAgdGVzdENvbXB1dGVkKGByZ2Io
ZnJvbSByZWJlY2NhcHVycGxlIGcgYiByKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVz
dENvbXB1dGVkKGByZ2IoZnJvbSByZWJlY2NhcHVycGxlIGIgYWxwaGEgciAvIGcpYCwgYHJnYmEo
MCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9tIHJlYmVjY2FwdXJwbGUg
ciByIHIgLyByKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGByZ2Io
ZnJvbSByZWJlY2NhcHVycGxlIGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpYCwgYHJnYmEoMCwg
MCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9tIHJnYigxMCUsIDIwJSwgMzAl
LCA0MCUpIGcgYiByKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBy
Z2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBiIGFscGhhIHIgLyBnKWAsIGByZ2JhKDAs
IDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGByZ2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMw
JSwgNDAlKSByIHIgciAvIHIpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0
ZWQoYHJnYihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGFscGhhIGFscGhhIGFscGhhIC8g
YWxwaGEpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKworICAgIC8vIFRlc3RpbmcgaW52YWxpZCBt
aXhlcyBvZiBudW1iZXIgYW5kIHBlcmNlbnRhZ2UKKyAgICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9t
IHJlYmVjY2FwdXJwbGUgciAxMCUgMTApYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0
Q29tcHV0ZWQoYHJnYihmcm9tIHJlYmVjY2FwdXJwbGUgciAxMCAxMCUpYCwgYHJnYmEoMCwgMCwg
MCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9tIHJlYmVjY2FwdXJwbGUgMCUgMTAg
MTApYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9tIHJn
YigxMCUsIDIwJSwgMzAlLCA0MCUpIHIgMTAlIDEwKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7Cisg
ICAgdGVzdENvbXB1dGVkKGByZ2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSByIDEwIDEw
JSlgLCBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgcmdiKGZyb20gcmdi
KDEwJSwgMjAlLCAzMCUsIDQwJSkgMCUgMTAgMTApYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKIAog
ICAgIC8vIFRlc3RpbmcgaW52YWxpZCBjb21wb25lbnQgbmFtZXMKICAgICB0ZXN0Q29tcHV0ZWQo
YHJnYihmcm9tIHJlYmVjY2FwdXJwbGUgcmVkIGcgYilgLCBgcmdiYSgwLCAwLCAwLCAwKWApOwpA
QCAtMTc5LDI5ICsxNjEsMTUgQEAKICAgICB0ZXN0Q29tcHV0ZWQoYGhzbChmcm9tIHJnYigxMCUs
IDIwJSwgMzAlLCA0MCUpIGggcyAyNSUgLyBhbHBoYSlgLCBgcmdiYSgzMiwgNjMsIDk1LCAwLjQp
YCk7CiAgICAgdGVzdENvbXB1dGVkKGBoc2woZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBo
IHMgbCAvIC4yNSlgLCBgcmdiYSgyNiwgNTEsIDc3LCAwLjI1KWApOwogCi0gICAgLy8gVGVzdGlu
ZyB2YWxpZCBwZXJtdXRhdGlvbiAodHlwZXMgbWF0Y2gpLgotICAgIHRlc3RDb21wdXRlZChgaHNs
KGZyb20gcmViZWNjYXB1cnBsZSBoIGwgcylgLCBgcmdiKDEyOCwgNzcsIDE3OSlgKTsKLSAgICB0
ZXN0Q29tcHV0ZWQoYGhzbChmcm9tIHJlYmVjY2FwdXJwbGUgaCBhbHBoYSBsIC8gcylgLCBgcmdi
YSgxMDIsIDAsIDIwNCwgMC41KWApOwotICAgIHRlc3RDb21wdXRlZChgaHNsKGZyb20gcmViZWNj
YXB1cnBsZSBoIGwgbCAvIGwpYCwgYHJnYmEoMTAyLCA2MSwgMTQzLCAwLjQpYCk7Ci0gICAgdGVz
dENvbXB1dGVkKGBoc2woZnJvbSByZWJlY2NhcHVycGxlIGggYWxwaGEgYWxwaGEgLyBhbHBoYSlg
LCBgcmdiKDI1NSwgMjU1LCAyNTUpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBoc2woZnJvbSByZ2Io
MTAlLCAyMCUsIDMwJSwgNDAlKSBoIGwgcylgLCBgcmdiKDEwMSwgMTI2LCAxNTIpYCk7Ci0gICAg
dGVzdENvbXB1dGVkKGBoc2woZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBoIGFscGhhIGwg
LyBzKWAsIGByZ2JhKDMxLCA1MSwgNzIsIDAuNDk0KWApOwotICAgIHRlc3RDb21wdXRlZChgaHNs
KGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgaCBsIGwgLyBsKWAsIGByZ2JhKDQxLCA1MSwg
NjIsIDAuMjA0KWApOwotICAgIHRlc3RDb21wdXRlZChgaHNsKGZyb20gcmdiKDEwJSwgMjAlLCAz
MCUsIDQwJSkgaCBhbHBoYSBhbHBoYSAvIGFscGhhKWAsIGByZ2JhKDYxLCAxMDEsIDE0MywgMC40
KWApOwotCi0gICAgLy8gVGVzdGluZyBpbnZhbGlkIHBlcm11dGF0aW9uICh0eXBlcyBkb24ndCBt
YXRjaCkuCi0gICAgdGVzdENvbXB1dGVkKGBoc2woZnJvbSByZWJlY2NhcHVycGxlIHMgaCBsKWAs
IGByZ2JhKDAsIDAsIDAsIDApYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBoc2woZnJvbSByZWJlY2Nh
cHVycGxlIHMgcyBzIC8gcylgLCBgcmdiYSgwLCAwLCAwLCAwKWApOwotICAgIHRlc3RDb21wdXRl
ZChgaHNsKGZyb20gcmViZWNjYXB1cnBsZSBoIGggaCAvIGgpYCwgYHJnYmEoMCwgMCwgMCwgMClg
KTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGhzbChmcm9tIHJlYmVjY2FwdXJwbGUgYWxwaGEgYWxwaGEg
YWxwaGEgLyBhbHBoYSlgLCBgcmdiYSgwLCAwLCAwLCAwKWApOwotICAgIHRlc3RDb21wdXRlZChg
aHNsKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgcyBoIGwpYCwgYHJnYmEoMCwgMCwgMCwg
MClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGhzbChmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUp
IHMgcyBzIC8gcylgLCBgcmdiYSgwLCAwLCAwLCAwKWApOwotICAgIHRlc3RDb21wdXRlZChgaHNs
KGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgaCBoIGggLyBoKWAsIGByZ2JhKDAsIDAsIDAs
IDApYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBoc2woZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAl
KSBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7Ci0KLSAg
ICAvLyBUZXN0aW5nIHdpdGggY2FsYygpLgotICAgIHRlc3RDb21wdXRlZChgaHNsKGZyb20gcmVi
ZWNjYXB1cnBsZSBjYWxjKGgpIGNhbGMocykgY2FsYyhsKSlgLCBgcmdiKDEwMiwgNTEsIDE1Mylg
KTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGhzbChmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGNh
bGMoaCkgY2FsYyhzKSBjYWxjKGwpIC8gY2FsYyhhbHBoYSkpYCwgYHJnYmEoMjYsIDUxLCA3Nywg
MC40KWApOworICAgIC8vIFRlc3RpbmcgcGVybXV0YXRpb24gKHVuY2xlYXIgaWYgdGhpcyBpcyBh
bGxvd2VkIHBlci1zcGVjLCB3ZSBkaXNhbGxvdyBpdCkuCisgICAgdGVzdENvbXB1dGVkKGBoc2wo
ZnJvbSByZWJlY2NhcHVycGxlIGggbCBzKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVz
dENvbXB1dGVkKGBoc2woZnJvbSByZWJlY2NhcHVycGxlIGggYWxwaGEgbCAvIHMpYCwgYHJnYmEo
MCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGhzbChmcm9tIHJlYmVjY2FwdXJwbGUg
aCBsIGwgLyBsKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBoc2wo
ZnJvbSByZWJlY2NhcHVycGxlIGggYWxwaGEgYWxwaGEgLyBhbHBoYSlgLCBgcmdiYSgwLCAwLCAw
LCAwKWApOworICAgIHRlc3RDb21wdXRlZChgaHNsKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQw
JSkgaCBsIHMpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGhzbChm
cm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGggYWxwaGEgbCAvIHMpYCwgYHJnYmEoMCwgMCwg
MCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGhzbChmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0
MCUpIGggbCBsIC8gbClgLCBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChg
aHNsKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgaCBhbHBoYSBhbHBoYSAvIGFscGhhKWAs
IGByZ2JhKDAsIDAsIDAsIDApYCk7CiAKICAgICAvLyBUZXN0aW5nIGludmFsaWQgdmFsdWVzLgog
ICAgIHRlc3RDb21wdXRlZChgaHNsKGZyb20gcmViZWNjYXB1cnBsZSBoIDEwJSAxMClgLCBgcmdi
YSgwLCAwLCAwLCAwKWApOwpAQCAtMjYwLDI5ICsyMjgsMTUgQEAKICAgICB0ZXN0Q29tcHV0ZWQo
YGh3Yihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGggdyAyNSUgLyBhbHBoYSlgLCBgcmdi
YSgyNiwgMTA3LCAxOTEsIDAuNClgKTsKICAgICB0ZXN0Q29tcHV0ZWQoYGh3Yihmcm9tIHJnYigx
MCUsIDIwJSwgMzAlLCA0MCUpIGggdyBiIC8gLjI1KWAsIGByZ2JhKDI2LCA1MSwgNzcsIDAuMjUp
YCk7CiAKLSAgICAvLyBUZXN0aW5nIHZhbGlkIHBlcm11dGF0aW9uICh0eXBlcyBtYXRjaCkuCi0g
ICAgdGVzdENvbXB1dGVkKGBod2IoZnJvbSByZWJlY2NhcHVycGxlIGggYiB3KWAsIGByZ2IoMTUz
LCAxMDIsIDIwNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGh3Yihmcm9tIHJlYmVjY2FwdXJwbGUg
aCBhbHBoYSB3IC8gYilgLCBgcmdiYSgyMTMsIDIxMywgMjEzLCAwLjQpYCk7Ci0gICAgdGVzdENv
bXB1dGVkKGBod2IoZnJvbSByZWJlY2NhcHVycGxlIGggdyB3IC8gdylgLCBgcmdiYSgxMjgsIDUx
LCAyMDQsIDAuMilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGh3Yihmcm9tIHJlYmVjY2FwdXJwbGUg
aCBhbHBoYSBhbHBoYSAvIGFscGhhKWAsIGByZ2IoMTI4LCAxMjgsIDEyOClgKTsKLSAgICB0ZXN0
Q29tcHV0ZWQoYGh3Yihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGggYiB3KWAsIGByZ2Io
MTc4LCAyMDMsIDIyOSlgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGh3Yihmcm9tIHJnYigxMCUsIDIw
JSwgMzAlLCA0MCUpIGggYWxwaGEgdyAvIGIpYCwgYHJnYmEoMTAyLCAxNjQsIDIyOSwgMC42OTgp
YCk7Ci0gICAgdGVzdENvbXB1dGVkKGBod2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBo
IHcgdyAvIHcpYCwgYHJnYmEoMjYsIDEyNiwgMjI5LCAwLjEpYCk7Ci0gICAgdGVzdENvbXB1dGVk
KGBod2IoZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBoIGFscGhhIGFscGhhIC8gYWxwaGEp
YCwgYHJnYmEoMTAyLCAxMjcsIDE1MywgMC40KWApOwotCi0gICAgLy8gVGVzdGluZyBpbnZhbGlk
IHBlcm11dGF0aW9uICh0eXBlcyBkb24ndCBtYXRjaCkuCi0gICAgdGVzdENvbXB1dGVkKGBod2Io
ZnJvbSByZWJlY2NhcHVycGxlIHcgaCBiKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7Ci0gICAgdGVz
dENvbXB1dGVkKGBod2IoZnJvbSByZWJlY2NhcHVycGxlIGIgYiBiIC8gYilgLCBgcmdiYSgwLCAw
LCAwLCAwKWApOwotICAgIHRlc3RDb21wdXRlZChgaHdiKGZyb20gcmViZWNjYXB1cnBsZSBoIGgg
aCAvIGgpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGh3Yihmcm9t
IHJlYmVjY2FwdXJwbGUgYWxwaGEgYWxwaGEgYWxwaGEgLyBhbHBoYSlgLCBgcmdiYSgwLCAwLCAw
LCAwKWApOwotICAgIHRlc3RDb21wdXRlZChgaHdiKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQw
JSkgdyBiIGgpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGh3Yihm
cm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGIgYiBiIC8gYilgLCBgcmdiYSgwLCAwLCAwLCAw
KWApOwotICAgIHRlc3RDb21wdXRlZChgaHdiKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkg
aCBoIGggLyBoKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBod2Io
ZnJvbSByZ2IoMTAlLCAyMCUsIDMwJSwgNDAlKSBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKWAs
IGByZ2JhKDAsIDAsIDAsIDApYCk7Ci0KLSAgICAvLyBUZXN0aW5nIHdpdGggY2FsYygpLgotICAg
IHRlc3RDb21wdXRlZChgaHdiKGZyb20gcmViZWNjYXB1cnBsZSBjYWxjKGgpIGNhbGModykgY2Fs
YyhiKSlgLCBgcmdiKDEwMiwgNTEsIDE1MylgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGh3Yihmcm9t
IHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGNhbGMoaCkgY2FsYyh3KSBjYWxjKGIpIC8gY2FsYyhh
bHBoYSkpYCwgYHJnYmEoMjYsIDUxLCA3NywgMC40KWApOworICAgIC8vIFRlc3RpbmcgcGVybXV0
YXRpb24gKHVuY2xlYXIgaWYgdGhpcyBpcyBhbGxvd2VkIHBlci1zcGVjLCB3ZSBkaXNhbGxvdyBp
dCkuCisgICAgdGVzdENvbXB1dGVkKGBod2IoZnJvbSByZWJlY2NhcHVycGxlIGggYiB3KWAsIGBy
Z2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBod2IoZnJvbSByZWJlY2NhcHVy
cGxlIGggYWxwaGEgdyAvIGIpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0
ZWQoYGh3Yihmcm9tIHJlYmVjY2FwdXJwbGUgaCB3IHcgLyB3KWAsIGByZ2JhKDAsIDAsIDAsIDAp
YCk7CisgICAgdGVzdENvbXB1dGVkKGBod2IoZnJvbSByZWJlY2NhcHVycGxlIGggYWxwaGEgYWxw
aGEgLyBhbHBoYSlgLCBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgaHdi
KGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQwJSkgaCBiIHcpYCwgYHJnYmEoMCwgMCwgMCwgMClg
KTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGh3Yihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGgg
YWxwaGEgdyAvIGIpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGh3
Yihmcm9tIHJnYigxMCUsIDIwJSwgMzAlLCA0MCUpIGggdyB3IC8gdylgLCBgcmdiYSgwLCAwLCAw
LCAwKWApOworICAgIHRlc3RDb21wdXRlZChgaHdiKGZyb20gcmdiKDEwJSwgMjAlLCAzMCUsIDQw
JSkgaCBhbHBoYSBhbHBoYSAvIGFscGhhKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CiAKICAgICAv
LyBUZXN0aW5nIGludmFsaWQgdmFsdWVzLgogICAgIHRlc3RDb21wdXRlZChgaHdiKGZyb20gcmVi
ZWNjYXB1cnBsZSBoIDEwJSAxMClgLCBgcmdiYSgwLCAwLCAwLCAwKWApOwpAQCAtMzM0LDIyICsy
ODgsMTYgQEAKICAgICB0ZXN0Q29tcHV0ZWQoYGxhYihmcm9tIGxhYigyNSUgMjAgNTAgLyA0MCUp
IGwgYSAzNSAvIGFscGhhKWAsIGBsYWIoMjUlIDIwIDM1IC8gMC40KWApOwogICAgIHRlc3RDb21w
dXRlZChgbGFiKGZyb20gbGFiKDI1JSAyMCA1MCAvIDQwJSkgbCBhIGIgLyAuMzUpYCwgYGxhYigy
NSUgMjAgNTAgLyAwLjM1KWApOwogCi0gICAgLy8gVGVzdGluZyB2YWxpZCBwZXJtdXRhdGlvbiAo
dHlwZXMgbWF0Y2gpLgotICAgIHRlc3RDb21wdXRlZChgbGFiKGZyb20gbGFiKDI1JSAyMCA1MCkg
bCBiIGEpYCwgYGxhYigyNSUgNTAgMjApYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSBs
YWIoMjUlIDIwIDUwKSBsIGEgYSAvIGEpYCwgYGxhYigyNSUgMjAgMjApYCk7Ci0gICAgdGVzdENv
bXB1dGVkKGBsYWIoZnJvbSBsYWIoMjUlIDIwIDUwIC8gNDAlKSBsIGIgYSlgLCBgbGFiKDI1JSA1
MCAyMClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGxhYihmcm9tIGxhYigyNSUgMjAgNTAgLyA0MCUp
IGwgYSBhIC8gYSlgLCBgbGFiKDI1JSAyMCAyMClgKTsKLQotICAgIC8vIFRlc3RpbmcgaW52YWxp
ZCBwZXJtdXRhdGlvbiAodHlwZXMgZG9uJ3QgbWF0Y2gpLgorICAgIC8vIFRlc3RpbmcgcGVybXV0
YXRpb24gKHVuY2xlYXIgaWYgdGhpcyBpcyBhbGxvd2VkIHBlci1zcGVjLCB3ZSBkaXNhbGxvdyBp
dCkuCisgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSBsYWIoMjUlIDIwIDUwKSBsIGIgYSlgLCBg
cmdiYSgwLCAwLCAwLCAwKWApOwogICAgIHRlc3RDb21wdXRlZChgbGFiKGZyb20gbGFiKDI1JSAy
MCA1MCkgbCBhbHBoYSBhIC8gYilgLCBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21w
dXRlZChgbGFiKGZyb20gbGFiKDI1JSAyMCA1MCkgbCBhIGEgLyBhKWAsIGByZ2JhKDAsIDAsIDAs
IDApYCk7CiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSBsYWIoMjUlIDIwIDUwKSBsIGFscGhh
IGFscGhhIC8gYWxwaGEpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQo
YGxhYihmcm9tIGxhYigyNSUgMjAgNTAgLyA0MCUpIGwgYiBhKWAsIGByZ2JhKDAsIDAsIDAsIDAp
YCk7CiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSBsYWIoMjUlIDIwIDUwIC8gNDAlKSBsIGFs
cGhhIGEgLyBiKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBsYWIo
ZnJvbSBsYWIoMjUlIDIwIDUwIC8gNDAlKSBsIGEgYSAvIGEpYCwgYHJnYmEoMCwgMCwgMCwgMClg
KTsKICAgICB0ZXN0Q29tcHV0ZWQoYGxhYihmcm9tIGxhYigyNSUgMjAgNTAgLyA0MCUpIGwgYWxw
aGEgYWxwaGEgLyBhbHBoYSlgLCBgcmdiYSgwLCAwLCAwLCAwKWApOwogCi0gICAgLy8gVGVzdGlu
ZyB3aXRoIGNhbGMoKS4KLSAgICB0ZXN0Q29tcHV0ZWQoYGxhYihmcm9tIGxhYigyNSUgMjAgNTAp
IGNhbGMobCkgY2FsYyhhKSBjYWxjKGIpKWAsIGBsYWIoMjUlIDIwIDUwKWApOwotICAgIHRlc3RD
b21wdXRlZChgbGFiKGZyb20gbGFiKDI1JSAyMCA1MCAvIDQwJSkgY2FsYyhsKSBjYWxjKGEpIGNh
bGMoYikgLyBjYWxjKGFscGhhKSlgLCBgbGFiKDI1JSAyMCA1MCAvIDAuNClgKTsKLQogICAgIC8v
IFRlc3RpbmcgaW52YWxpZCB2YWx1ZXMuCiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSBsYWIo
MjUlIDIwIDUwKSBsIDEwJSAxMClgLCBgcmdiYSgwLCAwLCAwLCAwKWApOwogICAgIHRlc3RDb21w
dXRlZChgbGFiKGZyb20gbGFiKDI1JSAyMCA1MCkgbCAxMCAxMCUpYCwgYHJnYmEoMCwgMCwgMCwg
MClgKTsKQEAgLTQwNywyOCArMzU1LDExIEBACiAgICAgdGVzdENvbXB1dGVkKGBsY2goZnJvbSBs
Y2goNzAlIDQ1IDMwIC8gNDAlKSBsIGMgMjVkZWcgLyBhbHBoYSlgLCBgbGNoKDcwJSA0NSAyNSAv
IDAuNClgKTsKICAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzAgLyA0MCUp
IGwgYyBoIC8gLjI1KWAsIGBsY2goNzAlIDQ1IDMwIC8gMC4yNSlgKTsKIAotICAgIC8vIFRlc3Rp
bmcgdmFsaWQgcGVybXV0YXRpb24gKHR5cGVzIG1hdGNoKS4KLSAgICAvLyBOT1RFOiAnYycgaXMg
YSB2YWlsZCBodWUsIGFzIGh1ZSBpcyA8YW5nbGU+fDxudW1iZXI+LgotICAgIHRlc3RDb21wdXRl
ZChgbGNoKGZyb20gbGNoKDcwJSA0NSAzMCkgYWxwaGEgYyBoIC8gbClgLCBgbGNoKDEwMCUgNDUg
MzAgLyAwLjcpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBsY2goZnJvbSBsY2goNzAlIDQ1IDMwKSBs
IGMgYyAvIGFscGhhKWAsIGBsY2goNzAlIDQ1IDQ1KWApOwotICAgIHRlc3RDb21wdXRlZChgbGNo
KGZyb20gbGNoKDcwJSA0NSAzMCkgYWxwaGEgYyBoIC8gYWxwaGEpYCwgYGxjaCgxMDAlIDQ1IDMw
KWApOwotICAgIHRlc3RDb21wdXRlZChgbGNoKGZyb20gbGNoKDcwJSA0NSAzMCkgYWxwaGEgYyBj
IC8gYWxwaGEpYCwgYGxjaCgxMDAlIDQ1IDQ1KWApOwotICAgIHRlc3RDb21wdXRlZChgbGNoKGZy
b20gbGNoKDcwJSA0NSAzMCAvIDQwJSkgYWxwaGEgYyBoIC8gbClgLCBgbGNoKDQwJSA0NSAzMCAv
IDAuNylgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzAgLyA0MCUp
IGwgYyBjIC8gYWxwaGEpYCwgYGxjaCg3MCUgNDUgNDUgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1
dGVkKGBsY2goZnJvbSBsY2goNzAlIDQ1IDMwIC8gNDAlKSBhbHBoYSBjIGggLyBhbHBoYSlgLCBg
bGNoKDQwJSA0NSAzMCAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIGxjaCg3
MCUgNDUgMzAgLyA0MCUpIGFscGhhIGMgYyAvIGFscGhhKWAsIGBsY2goNDAlIDQ1IDQ1IC8gMC40
KWApOwotCi0gICAgLy8gVGVzdGluZyBpbnZhbGlkIHBlcm11dGF0aW9uICh0eXBlcyBkb24ndCBt
YXRjaCkuCi0gICAgdGVzdENvbXB1dGVkKGBsY2goZnJvbSBsY2goNzAlIDQ1IDMwKSBoIGwgYyAv
IGFscGhhKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBsY2goZnJv
bSBsY2goNzAlIDQ1IDMwKSBjIGMgYyAvIGMpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKLSAgICB0
ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzApIGFscGhhIGFscGhhIGFscGhhIC8g
YWxwaGEpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9t
IGxjaCg3MCUgNDUgMzAgLyA0MCUpIGggbCBjIC8gYWxwaGEpYCwgYHJnYmEoMCwgMCwgMCwgMClg
KTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzAgLyA0MCUpIGMgYyBj
IC8gYylgLCBgcmdiYSgwLCAwLCAwLCAwKWApOwotICAgIHRlc3RDb21wdXRlZChgbGNoKGZyb20g
bGNoKDcwJSA0NSAzMCAvIDQwJSkgYWxwaGEgYWxwaGEgYWxwaGEgLyBhbHBoYSlgLCBgcmdiYSgw
LCAwLCAwLCAwKWApOwotCi0gICAgLy8gVGVzdGluZyB3aXRoIGNhbGMoKS4KLSAgICB0ZXN0Q29t
cHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzApIGNhbGMobCkgY2FsYyhjKSBjYWxjKGgpKWAs
IGBsY2goNzAlIDQ1IDMwKWApOwotICAgIHRlc3RDb21wdXRlZChgbGNoKGZyb20gbGNoKDcwJSA0
NSAzMCAvIDQwJSkgY2FsYyhsKSBjYWxjKGMpIGNhbGMoaCkgLyBjYWxjKGFscGhhKSlgLCBgbGNo
KDcwJSA0NSAzMCAvIDAuNClgKTsKKyAgICAvLyBUZXN0aW5nIHBlcm11dGF0aW9uICh1bmNsZWFy
IGlmIHRoaXMgaXMgYWxsb3dlZCBwZXItc3BlYywgd2UgZGlzYWxsb3cgaXQpLgorICAgIHRlc3RD
b21wdXRlZChgbGNoKGZyb20gbGNoKDcwJSA0NSAzMCkgYWxwaGEgYyBoIC8gbClgLCBgcmdiYSgw
LCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgbGNoKGZyb20gbGNoKDcwJSA0NSAzMCkg
YWxwaGEgYyBoIC8gYWxwaGEpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0
ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzAgLyA0MCUpIGFscGhhIGMgaCAvIGwpYCwgYHJnYmEo
MCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzAg
LyA0MCUpIGFscGhhIGMgaCAvIGFscGhhKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CiAKICAgICAv
LyBUZXN0aW5nIGludmFsaWQgdmFsdWVzLgogICAgIHRlc3RDb21wdXRlZChgbGNoKGZyb20gbGNo
KDcwJSA0NSAzMCkgbCAxMCUgaClgLCBgcmdiYSgwLCAwLCAwLCAwKWApOwpAQCAtNDQyLDQ0ICsz
NzMsNiBAQAogICAgIHRlc3RDb21wdXRlZChgbGNoKGZyb20gbGNoKDcwJSA0NSAzMCkgbGlnaHRu
ZXNzIGMgaClgLCBgcmdiYSgwLCAwLCAwLCAwKWApOwogICAgIHRlc3RDb21wdXRlZChgbGNoKGZy
b20gbGNoKDcwJSA0NSAzMCkgeCBjIGgpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKICAgICB0ZXN0
Q29tcHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzApIGwgZyBiKWAsIGByZ2JhKDAsIDAsIDAs
IDApYCk7Ci0KLQotICAgIC8vIFNwZWMgZXhhbXBsZXM6Ci0gICAgLy8gRXhhbXBsZSAxMS4KLSAg
ICB0ZXN0Q29tcHV0ZWQoYHJnYihmcm9tIHZhcigtLWJnLWNvbG9yKSByIGcgYiAvIDgwJSlgLCBg
cmdiYSgwLCAwLCAyNTUsIDAuOClgKTsKLSAgICAKLSAgICAvLyBFeGFtcGxlIDEyLgotICAgIHRl
c3RDb21wdXRlZChgbGNoKGZyb20gdmFyKC0tY29sb3IpIGNhbGMobCAvIDIpIGMgaClgLCBgbGNo
KDIzLjEzODk3MSUgNjcuOTg5NzE2IDEzNC4zOTEyNSlgKTsKLSAgICAKLSAgICAvLyBFeGFtcGxl
IDEzLgotICAgIHRlc3RDb21wdXRlZChgcmdiKGZyb20gdmFyKC0tY29sb3IpIGNhbGMociAqIC4z
ICsgZyAqIC41OSArIGIgKiAuMTEpIGNhbGMociAqIC4zICsgZyAqIC41OSArIGIgKiAuMTEpIGNh
bGMociAqIC4zICsgZyAqIC41OSArIGIgKiAuMTEpKWAsIGByZ2IoNzYsIDc2LCA3NilgKQotICAg
IHRlc3RDb21wdXRlZChgbGNoKGZyb20gdmFyKC0tY29sb3IpIGwgMCBoKWAsIGBsY2goNDYuMjc3
OTQzJSAwIDEzNC4zOTEyNSlgKQotCi0gICAgLy8gRXhhbXBsZSAxNC4KLSAgICB0ZXN0Q29tcHV0
ZWQoYHJnYihmcm9tIGluZGlhbnJlZCAyNTUgZyBiKWAsIGByZ2IoMjU1LCA5MiwgOTIpYCk7Ci0K
LSAgICAvLyBFeGFtcGxlIDE1LgotICAgIHRlc3RDb21wdXRlZChgaHNsKGZyb20gdmFyKC0tYWNj
ZW50KSBjYWxjKGggKyAxODBkZWcpIHMgbClgLCBgcmdiKDE3OCwgMzIsIDQwKWApOwotCi0gICAg
Ly8gRXhhbXBsZSAxNi4KLSAgICB0ZXN0Q29tcHV0ZWQoYGxhYihmcm9tIHZhcigtLW15Y29sb3Ip
IGwgYSBiIC8gMTAwJSlgLCBgbGFiKDYyLjc1MTkyMyUgNTIuNDU4MDIgLTM0LjExNzI4MylgKTsK
LSAgICB0ZXN0Q29tcHV0ZWQoYGxhYihmcm9tIHZhcigtLW15Y29sb3IpIGwgYSBiIC8gY2FsYyhh
bHBoYSAqIDAuOCkpYCwgYGxhYig2Mi43NTE5MjMlIDUyLjQ1ODAyIC0zNC4xMTcyODMgLyAwLjgp
YCk7Ci0gICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSB2YXIoLS1teWNvbG9yKSBsIGEgYiAvIGNh
bGMoYWxwaGEgLSAyMCUpKWAsIGBsYWIoNjIuNzUxOTIzJSA1Mi40NTgwMiAtMzQuMTE3MjgzIC8g
MC44KWApOwotICAgIAotICAgIC8vIEV4YW1wbGUgMTcuCi0gICAgdGVzdENvbXB1dGVkKGBsYWIo
ZnJvbSB2YXIoLS1teWNvbG9yKSBsIDAgMClgLCBgbGFiKDYyLjc1MTkyMyUgMCAwKWApOwotCi0g
ICAgLy8gRXhhbXBsZSAxOC4KLSAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIHBlcnUgY2FsYyhs
ICogMC44KSBjIGgpYCwgYGxjaCg0OS44MDEzOCUgNTQuMDAzMjk2IDYzLjY4MDMxNylgKTsKLQot
ICAgIC8vIEV4YW1wbGUgMTkuCi0gICAgdGVzdENvbXB1dGVkKGBMQ0goZnJvbSB2YXIoLS1hY2Nl
bnQpIGwgYyBjYWxjKGggKyAxODBkZWcpKWAsIGBsY2goNjUuNDk0NzMlIDM5LjQ0NjkwMyAxMC4x
MTQ0NzEpYCk7Ci0KLSAgICAvLyBFeGFtcGxlIDIwLgotICAgIHRlc3RDb21wdXRlZChgbGNoKGZy
b20gdmFyKC0tbXljb2xvcikgbCAwIGgpYCwgYGxjaCg2Mi43NTE5MjMlIDAgMzI2Ljk2MTEyKWAp
OwotICAgIHRlc3RDb21wdXRlZChgdmFyKC0tbXlncmF5KWAsIGBsY2goNjIuNzUxOTIzJSAwIDMy
Ni45NjExMilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIHZhcigtLW15Z3JheSkgbCAz
MCBoKWAsIGBsY2goNjIuNzUxOTIzJSAzMCAzMjYuOTYxMTIpYCk7Ci0gICAgCiA8L3NjcmlwdD4K
ICAgICAKIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4K
</data>
<flag name="commit-queue"
          id="451612"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430221</attachid>
            <date>2021-05-31 18:26:07 -0700</date>
            <delta_ts>2021-05-31 18:35:36 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-226477-20210531212607.patch</filename>
            <type>text/plain</type>
            <size>1047</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3ODI5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA1LTMxICBBYWthc2gg
SmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNzgy
NjEpOiBCcm9rZSB3aW5kb3dzIGJ1aWxkIC0gZm9sbG93LXVwIGZpeAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NDc3CisKKyAgICAgICAgVW5yZXZp
ZXdlZCBidWlsZCBmaXguCisKKyAgICAgICAgKiBjc3MvY2FsYy9DU1NDYWxjVmFsdWUuY3BwOgor
CiAyMDIxLTA1LTMxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3ODI2MS4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9jYWxjL0NTU0NhbGNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL2NhbGMvQ1NTQ2FsY1ZhbHVlLmNwcAkocmV2aXNpb24gMjc4MjkwKQorKysgU291cmNl
L1dlYkNvcmUvY3NzL2NhbGMvQ1NTQ2FsY1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcs
NyArMzcsNiBAQAogI2luY2x1ZGUgIkNTU0NhbGNOZWdhdGVOb2RlLmgiCiAjaW5jbHVkZSAiQ1NT
Q2FsY09wZXJhdGlvbk5vZGUuaCIKICNpbmNsdWRlICJDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2Rl
LmgiCi0jaW5jbHVkZSAiQ1NTQ2FsY1N5bWJvbFRhYmxlLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2Vy
LmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyVG9rZW5SYW5nZS5oIgogI2luY2x1ZGUgIkNTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaCIK
</data>

          </attachment>
      

    </bug>

</bugzilla>