<?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>229609</bug_id>
          
          <creation_ts>2021-08-27 07:40:36 -0700</creation_ts>
          <short_desc>REGRESSION(r281587): stress test failed on ARM64</short_desc>
          <delta_ts>2024-06-16 20:33:33 -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>229175</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>percynicholson9</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yijia_huang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1788010</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-08-27 07:40:36 -0700</bug_when>
    <thetext>https://commits.webkit.org/r281587 introduced a regression:
stress test failed on ARM64

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>1788012</commentid>
    <comment_count>1</comment_count>
      <attachid>436622</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-08-27 07:40:43 -0700</bug_when>
    <thetext>Created attachment 436622
REVERT of r281587

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>1788015</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-27 07:48:45 -0700</bug_when>
    <thetext>Committed r281693 (241043@main): &lt;https://commits.webkit.org/241043@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436622.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788016</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-27 07:49:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/82438582&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436622</attachid>
            <date>2021-08-27 07:40:43 -0700</date>
            <delta_ts>2021-08-27 07:48:45 -0700</delta_ts>
            <desc>REVERT of r281587</desc>
            <filename>bug-229609-20210827074042.patch</filename>
            <type>text/plain</type>
            <size>26132</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NWE1NTFlNDcyNzUyOGI4MWNkZjlkYmFhN2MyNjcwODAzMjdiYTllLi4wYmI4M2NlOTEzNGM2NTg3
NmRkNGYxNjYzMTk3MTBhNDlmZjlkMDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMS0wOC0yNyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODE1ODcuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2MDkKKworICAgICAg
ICBzdHJlc3MgdGVzdCBmYWlsZWQgb24gQVJNNjQKKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2Vz
ZXQ6CisKKyAgICAgICAgIltBUk02NF0gRml4IHByZS1pbmRleCBhZGRyZXNzIG1vZGUiCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkxNzUKKyAgICAg
ICAgaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI4MTU4NworCiAyMDIxLTA4LTI2ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgSW50bC5EYXRlVGltZUZv
cm1hdCBpbmNvcnJlY3RseSBwYXJzZXMgcGF0dGVybnMgd2l0aCAnaCcgbGl0ZXJhbApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2Fub25pY2FsaXplUHJlUG9zdEluY3Jl
bWVudHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2Fub25pY2FsaXplUHJlUG9z
dEluY3JlbWVudHMuY3BwCmluZGV4IGVlOGQzYTA0MWZiMzAyZmMxMTNmYWU4YmNiOTU1M2IxM2Zl
YWFlOTguLmNlZGNiZjcwZTcwZjg0YzgwMGZhODljN2RkODFhNDNmODkyN2EyZTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Nhbm9uaWNhbGl6ZVByZVBvc3RJbmNyZW1l
bnRzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDYW5vbmljYWxpemVQcmVQ
b3N0SW5jcmVtZW50cy5jcHAKQEAgLTUyLDU3ICs1Miw2OSBAQCBib29sIGNhbm9uaWNhbGl6ZVBy
ZVBvc3RJbmNyZW1lbnRzKFByb2NlZHVyZSYgcHJvYykKIAogICAgIHVuc2lnbmVkIGluZGV4IHsg
MCB9OwogICAgIEluc2VydGlvblNldCBpbnNlcnRpb25TZXQgeyBwcm9jIH07CisgICAgQmxvY2tJ
bnNlcnRpb25TZXQgYmxvY2tJbnNlcnRpb25TZXQgeyBwcm9jIH07CiAKICAgICBEb21pbmF0b3Jz
JiBkb21pbmF0b3JzID0gcHJvYy5kb21pbmF0b3JzKCk7CiAgICAgQmFja3dhcmRzRG9taW5hdG9y
cyYgYmFja3dhcmRzRG9taW5hdG9ycyA9IHByb2MuYmFja3dhcmRzRG9taW5hdG9ycygpOwogCi0g
ICAgSW5kZXhTZXQ8VmFsdWUqPiBoYW5kbGVkVmFsdWVzOwotICAgIEhhc2hNYXA8VmFsdWUqLCB1
bnNpZ25lZD4gbWVtb3J5VG9JbmRleDsKLSAgICBIYXNoTWFwPFZhbHVlKiwgVmVjdG9yPFZhbHVl
Kj4+IGFkZFVzZXM7Ci0gICAgSGFzaE1hcDxWYWx1ZSosIFZlY3RvcjxNZW1vcnlWYWx1ZSo+PiBi
YXNlVG9NZW1vcmllczsKKyAgICBJbmRleFNldDxWYWx1ZSo+IGlnbm9yZWRWYWx1ZXM7CisgICAg
SGFzaE1hcDxWYWx1ZSosIFZlY3RvcjxNZW1vcnlWYWx1ZSo+PiBiYXNlVG9Mb2FkczsKKyAgICBI
YXNoTWFwPE1lbW9yeVZhbHVlKiwgVmFsdWUqPiBwcmVJbmRleExvYWRDYW5kaWRhdGVzOworICAg
IEhhc2hNYXA8TWVtb3J5VmFsdWUqLCBWYWx1ZSo+IHBvc3RJbmRleExvYWRDYW5kaWRhdGVzOwog
ICAgIEhhc2hNYXA8VmFsdWVLZXksIFZlY3RvcjxWYWx1ZSo+PiBiYXNlT2Zmc2V0VG9BZGRyZXNz
ZXM7Ci0gICAgSGFzaE1hcDxNZW1vcnlWYWx1ZSosIFZlY3RvcjxWYWx1ZSo+PiBwcmVJbmRleENh
bmRpZGF0ZXM7Ci0gICAgSGFzaE1hcDxNZW1vcnlWYWx1ZSosIFZlY3RvcjxWYWx1ZSo+PiBwb3N0
SW5kZXhDYW5kaWRhdGVzOwotICAgIEhhc2hNYXA8QmFzaWNCbG9jayosIEhhc2hTZXQ8TWVtb3J5
VmFsdWUqPj4gYmxvY2tUb1ByZVBvc3RJbmRleENhbmRpZGF0ZXM7Ci0KLSAgICAvLyBTdHJlbmd0
aCBSZWR1Y3Rpb24gd2lsbCBsZWF2ZSB0aGUgSVIgaW4gdGhlIGZvcm0gd2UncmUgbWF0Y2hpbmcg
bm93LiAKLSAgICAvLyBJdCdsbCB0YWtlIGFuIGFkZCh4LCBjb25zdGFudCkgdGhhdCdzIGFuIGFk
ZHJlc3MgYW5kIG1vdmUgdGhlIG9mZnNldCAKLSAgICAvLyBpbnRvIHRoZSBsb2FkIGl0c2VsZiwg
YW5kIHRoYXQncyB3aHkgd2UgY2FuIG1hdGNoIHRoaXMgcmVkdW5kYW5jeS4KLSAgICBhdXRvIHRy
eUFkZENhbmRpZGF0ZXMgPSBbJl0gKFZhbHVlKiB2YWx1ZSkgeworCisgICAgSGFzaE1hcDxWYWx1
ZSosIFZlY3RvcjxNZW1vcnlWYWx1ZSo+PiBiYXNlVG9TdG9yZXM7CisgICAgSGFzaE1hcDxNZW1v
cnlWYWx1ZSosIFZhbHVlKj4gcG9zdEluZGV4U3RvcmVDYW5kaWRhdGVzOworCisgICAgYXV0byB0
cnlBZGRQcmVQb3N0SW5kZXhDYW5kaWRhdGUgPSBbJl0gKFZhbHVlKiB2YWx1ZSkgewogICAgICAg
ICBzd2l0Y2ggKHZhbHVlLT5vcGNvZGUoKSkgewotICAgICAgICBjYXNlIExvYWQ6CisgICAgICAg
IGNhc2UgTG9hZDogeworICAgICAgICAgICAgLy8gUHJlLUluZGV4IFBhdHRlcm46CisgICAgICAg
ICAgICAvLyAgICAgYWRkcmVzcyA9IEFkZChiYXNlLCBvZmZzZXQpCisgICAgICAgICAgICAvLyAg
ICAgLi4uCisgICAgICAgICAgICAvLyAgICAgbWVtb3J5ID0gTG9hZChiYXNlLCBvZmZzZXQpCisg
ICAgICAgICAgICAvLyBQb3N0LUluZGV4IFBhdHRlcm46CisgICAgICAgICAgICAvLyAgICAgbWVt
b3J5ID0gTG9hZChiYXNlLCAwKQorICAgICAgICAgICAgLy8gICAgIC4uLgorICAgICAgICAgICAg
Ly8gICAgIGFkZHJlc3MgPSBBZGQoYmFzZSwgb2Zmc2V0KQorICAgICAgICAgICAgYXV0byB0cnlB
ZGRwcmVJbmRleExvYWRDYW5kaWRhdGVzID0gWyZdICgpIHsKKyAgICAgICAgICAgICAgICBNZW1v
cnlWYWx1ZSogbWVtb3J5ID0gdmFsdWUtPmFzPE1lbW9yeVZhbHVlPigpOworICAgICAgICAgICAg
ICAgIGlmIChtZW1vcnktPnR5cGUoKSAhPSBJbnQzMiAmJiBtZW1vcnktPnR5cGUoKSAhPSBJbnQ2
NCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIGlmIChtZW1v
cnktPm9mZnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghQXJnOjppc1ZhbGlkSW5j
cmVtZW50SW5kZXhGb3JtKG1lbW9yeS0+b2Zmc2V0KCkpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICBWYWx1ZUtleSBiYXNlT2Zmc2V0a2V5ID0g
VmFsdWVLZXkobWVtb3J5LT5jaGlsZCgwKSwgc3RhdGljX2Nhc3Q8aW50NjRfdD4obWVtb3J5LT5v
ZmZzZXQoKSkpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWJhc2VPZmZzZXRUb0FkZHJlc3Nl
cy5jb250YWlucyhiYXNlT2Zmc2V0a2V5KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChWYWx1ZSogYWRkcmVzcyA6IGJhc2VPZmZzZXRU
b0FkZHJlc3Nlcy5nZXQoYmFzZU9mZnNldGtleSkpCisgICAgICAgICAgICAgICAgICAgICAgICBw
cmVJbmRleExvYWRDYW5kaWRhdGVzLmFkZChtZW1vcnksIGFkZHJlc3MpOworICAgICAgICAgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICBiYXNlVG9Mb2Fkcy5hZGQobWVtb3J5LT5j
aGlsZCgwKSwgVmVjdG9yPE1lbW9yeVZhbHVlKj4oKSkuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZCht
ZW1vcnkpOworICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgdHJ5QWRkcHJlSW5kZXhMb2Fk
Q2FuZGlkYXRlcygpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwogICAgICAgICBj
YXNlIFN0b3JlOiB7Ci0gICAgICAgICAgICBNZW1vcnlWYWx1ZSogbWVtb3J5ID0gdmFsdWUtPmFz
PE1lbW9yeVZhbHVlPigpOwotICAgICAgICAgICAgVmFsdWUqIHR5cGUgPSB2YWx1ZS0+b3Bjb2Rl
KCkgPT0gTG9hZCA/IG1lbW9yeSA6IG1lbW9yeS0+Y2hpbGQoMCk7Ci0gICAgICAgICAgICBpZiAo
dHlwZS0+dHlwZSgpICE9IEludDMyICYmIHR5cGUtPnR5cGUoKSAhPSBJbnQ2NCkKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlmIChtZW1vcnktPm9mZnNldCgpKSB7Ci0gICAg
ICAgICAgICAgICAgLy8gUHJlLUluZGV4IExvYWQvU3RvcmUgUGF0dGVybjoKLSAgICAgICAgICAg
ICAgICAvLyAgICAgYWRkcmVzcyA9IEFkZChiYXNlLCBvZmZzZXQpCi0gICAgICAgICAgICAgICAg
Ly8gICAgIC4uLgotICAgICAgICAgICAgICAgIC8vICAgICBtZW1vcnkgPSBNZW1vcnlWYWx1ZShi
YXNlLCBvZmZzZXQpCi0gICAgICAgICAgICAgICAgVmFsdWVLZXkgYmFzZU9mZnNldEtleSA9IFZh
bHVlS2V5KG1lbW9yeS0+bGFzdENoaWxkKCksIG1lbW9yeS0+b2Zmc2V0KCkpOwotICAgICAgICAg
ICAgICAgIGF1dG8gaXRlciA9IGJhc2VPZmZzZXRUb0FkZHJlc3Nlcy5maW5kKGJhc2VPZmZzZXRL
ZXkpOwotICAgICAgICAgICAgICAgIGlmIChpdGVyID09IGJhc2VPZmZzZXRUb0FkZHJlc3Nlcy5l
bmQoKSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgZm9yIChW
YWx1ZSogYWRkcmVzcyA6IGl0ZXItPnZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFRo
ZSBnb2FsIGlzIHRvIG1vdmUgdGhlIEFkZCB0byB0aGlzIExvYWQvU3RvcmUuIFdlIG9ubHkgbW92
ZSB0aGUgQWRkIHRvIHRoaXMgTWVtb3J5IHZhbHVlCi0gICAgICAgICAgICAgICAgICAgIC8vIGlm
IHdlIGd1YXJhbnRlZSBpdCBkb21pbmF0ZXMgYWxsIHVzZXMuIElmIHRoZXJlIGFyZSBhbHJlYWR5
IG90aGVyIHVzZXMgb2YgdGhlIEFkZCwgaXQgZ3VhcmFudGVlcwotICAgICAgICAgICAgICAgICAg
ICAvLyB0aGlzIE1lbW9yeSB2YWx1ZSBkb2Vzbid0IGRvbWluYXRlIHRob3NlIHVzZXMuIFRoaXMg
aXMgYmVjYXVzZSB3ZSdyZSB2aXNpdGluZyB0aGUgcHJvZ3JhbSBpbiBwcmUtb3JkZXIKLSAgICAg
ICAgICAgICAgICAgICAgLy8gdHJhdmVyc2FsLCBzbyB3ZSB2aXNpdCB0aGlzIE1lbW9yeSB2YWx1
ZSBiZWZvcmUgYWxsIHRoZSB0aGluZ3MgaXQgZG9taW5hdGVzLiBTbyBpZiB0aGUgQWRkIGhhcyBv
dGhlcgotICAgICAgICAgICAgICAgICAgICAvLyB1c2Vycywgd2UgbXVzdCBub3QgZG9taW5hdGUg
dGhvc2UgdXNlcnMuIFRoZXJlZm9yZSwgdGhpcyBNZW1vcnlWYWx1ZSB3b24ndCBiZSBhIGNhbmRp
ZGF0ZS4KLSAgICAgICAgICAgICAgICAgICAgYXV0byBhZGRVc2VzSXRlciA9IGFkZFVzZXMuZmlu
ZChhZGRyZXNzKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGFkZFVzZXNJdGVyICE9IGFkZFVz
ZXMuZW5kKCkgJiYgYWRkVXNlc0l0ZXItPnZhbHVlLnNpemUoKSA+IDApCi0gICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgLy8gZG91YmxlIGNoZWNr
IG9mZnNldHMgdG8gYXZvaWQgVmFsdWVLZXkgY29sbGlzaW9ucwotICAgICAgICAgICAgICAgICAg
ICBpZiAobWVtb3J5LT5vZmZzZXQoKSAhPSBzdGF0aWNfY2FzdDxWYWx1ZTo6T2Zmc2V0VHlwZT4o
YWRkcmVzcy0+Y2hpbGQoMSktPmFzSW50UHRyKCkpKQotICAgICAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIHByZUluZGV4Q2FuZGlkYXRlcy5hZGQobWVt
b3J5LCBWZWN0b3I8VmFsdWUqPigpKS5pdGVyYXRvci0+dmFsdWUuYXBwZW5kKGFkZHJlc3MpOwot
ICAgICAgICAgICAgICAgICAgICBibG9ja1RvUHJlUG9zdEluZGV4Q2FuZGlkYXRlcy5hZGQobWVt
b3J5LT5vd25lciwgSGFzaFNldDxNZW1vcnlWYWx1ZSo+KCkpLml0ZXJhdG9yLT52YWx1ZS5hZGQo
bWVtb3J5KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgICAgICBiYXNlVG9NZW1vcmllcy5hZGQobWVtb3J5LT5sYXN0Q2hpbGQoKSwgVmVjdG9yPE1l
bW9yeVZhbHVlKj4oKSkuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZChtZW1vcnkpOwotICAgICAgICAg
ICAgbWVtb3J5VG9JbmRleC5hZGQobWVtb3J5LCBpbmRleCk7CisgICAgICAgICAgICAvLyBQcmUt
SW5kZXggUGF0dGVybjoKKyAgICAgICAgICAgIC8vICAgICBhZGRyZXNzID0gQWRkKGJhc2UsIG9m
ZnNldCkKKyAgICAgICAgICAgIC8vICAgICBtZW1vcnkgPSBTdG9yZSh2YWx1ZSwgYmFzZSwgb2Zm
c2V0KQorICAgICAgICAgICAgLy8gUG9zdC1JbmRleCBQYXR0ZXJuOgorICAgICAgICAgICAgLy8g
ICAgIG1lbW9yeSA9IFN0b3JlKHZhbHVlLCBiYXNlLCAwKQorICAgICAgICAgICAgLy8gICAgIC4u
LgorICAgICAgICAgICAgLy8gICAgIGFkZHJlc3MgPSBBZGQoYmFzZSwgb2Zmc2V0KQorICAgICAg
ICAgICAgYXV0byB0cnlVcGRhdGVCYXNlVG9TdG9yZXMgPSBbJl0gKCkgeworICAgICAgICAgICAg
ICAgIE1lbW9yeVZhbHVlKiBtZW1vcnkgPSB2YWx1ZS0+YXM8TWVtb3J5VmFsdWU+KCk7CisgICAg
ICAgICAgICAgICAgaWYgKG1lbW9yeS0+Y2hpbGQoMCktPnR5cGUoKSAhPSBJbnQzMiAmJiBtZW1v
cnktPmNoaWxkKDApLT50eXBlKCkgIT0gSW50NjQpCisgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgICAgICBpZiAobWVtb3J5LT5jaGlsZCgwKS0+aGFzSW50KCkgfHwgbWVt
b3J5LT5vZmZzZXQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgIGJhc2VUb1N0b3Jlcy5hZGQobWVtb3J5LT5jaGlsZCgxKSwgVmVjdG9yPE1lbW9yeVZhbHVl
Kj4oKSkuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZChtZW1vcnkpOworICAgICAgICAgICAgfTsKKwor
ICAgICAgICAgICAgdHJ5VXBkYXRlQmFzZVRvU3RvcmVzKCk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogCkBAIC0xMTAsNDYgKzEyMiwzOCBAQCBib29sIGNhbm9uaWNhbGl6ZVByZVBv
c3RJbmNyZW1lbnRzKFByb2NlZHVyZSYgcHJvYykKICAgICAgICAgICAgIFZhbHVlKiBsZWZ0ID0g
dmFsdWUtPmNoaWxkKDApOwogICAgICAgICAgICAgVmFsdWUqIHJpZ2h0ID0gdmFsdWUtPmNoaWxk
KDEpOwogCi0gICAgICAgICAgICBpZiAoIXJpZ2h0LT5oYXNJbnRQdHIoKSB8fCB2YWx1ZS0+dHlw
ZSgpICE9IEludDY0KQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaW50cHRy
X3Qgb2Zmc2V0ID0gcmlnaHQtPmFzSW50UHRyKCk7Ci0gICAgICAgICAgICBWYWx1ZTo6T2Zmc2V0
VHlwZSBzbWFsbE9mZnNldCA9IHN0YXRpY19jYXN0PFZhbHVlOjpPZmZzZXRUeXBlPihvZmZzZXQp
OwotICAgICAgICAgICAgaWYgKHNtYWxsT2Zmc2V0ICE9IG9mZnNldCB8fCAhQXJnOjppc1ZhbGlk
SW5jcmVtZW50SW5kZXhGb3JtKHNtYWxsT2Zmc2V0KSkKLSAgICAgICAgICAgICAgICBicmVhazsK
LQotICAgICAgICAgICAgLy8gc28gZmFyIHRoaXMgQWRkIHZhbHVlIGlzIGEgdmFsaWQgYWRkcmVz
cyBjYW5kaWRhdGUgZm9yIGJvdGggcHJlZml4IGFuZCBwb3N0Zml4IHBhdHRlcm4KLSAgICAgICAg
ICAgIGFkZFVzZXMuYWRkKHZhbHVlLCBWZWN0b3I8VmFsdWUqPigpKTsKLSAgICAgICAgICAgIFZh
bHVlS2V5IGJhc2VPZmZzZXRLZXkgPSBWYWx1ZUtleShsZWZ0LCBzbWFsbE9mZnNldCk7Ci0gICAg
ICAgICAgICBiYXNlT2Zmc2V0VG9BZGRyZXNzZXMuYWRkKGJhc2VPZmZzZXRLZXksIFZlY3RvcjxW
YWx1ZSo+KCkpLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQodmFsdWUpOworICAgICAgICAgICAgYXV0
byB0cnlBZGRwb3N0SW5kZXhDYW5kaWRhdGVzID0gWyZdICgpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoIXJpZ2h0LT5oYXNJbnRQdHIoKSB8fCB2YWx1ZS0+dHlwZSgpICE9IEludDY0KQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgaW50cHRyX3Qgb2Zmc2V0ID0g
cmlnaHQtPmFzSW50UHRyKCk7CisgICAgICAgICAgICAgICAgVmFsdWU6Ok9mZnNldFR5cGUgc21h
bGxPZmZzZXQgPSBzdGF0aWNfY2FzdDxWYWx1ZTo6T2Zmc2V0VHlwZT4ob2Zmc2V0KTsKKyAgICAg
ICAgICAgICAgICBpZiAoc21hbGxPZmZzZXQgIT0gb2Zmc2V0IHx8ICFBcmc6OmlzVmFsaWRJbmNy
ZW1lbnRJbmRleEZvcm0oc21hbGxPZmZzZXQpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICAgICAgLy8gc28gZmFyIHRoaXMgQWRkIHZhbHVlIGlzIGEgdmFsaWQgYWRk
cmVzcyBjYW5kaWRhdGUgZm9yIGJvdGggcHJlZml4IGFuZCBwb3N0Zml4IHBhdHRlcm4KKyAgICAg
ICAgICAgICAgICBWYWx1ZUtleSBiYXNlT2Zmc2V0a2V5ID0gVmFsdWVLZXkobGVmdCwgc3RhdGlj
X2Nhc3Q8aW50NjRfdD4oc21hbGxPZmZzZXQpKTsKKyAgICAgICAgICAgICAgICBiYXNlT2Zmc2V0
VG9BZGRyZXNzZXMuYWRkKGJhc2VPZmZzZXRrZXksIFZlY3RvcjxWYWx1ZSo+KCkpLml0ZXJhdG9y
LT52YWx1ZS5hcHBlbmQodmFsdWUpOworICAgICAgICAgICAgICAgIGlmIChiYXNlVG9Mb2Fkcy5j
b250YWlucyhsZWZ0KSkgeworICAgICAgICAgICAgICAgICAgICBmb3IgKE1lbW9yeVZhbHVlKiBt
ZW1vcnkgOiBiYXNlVG9Mb2Fkcy5nZXQobGVmdCkpCisgICAgICAgICAgICAgICAgICAgICAgICBw
b3N0SW5kZXhMb2FkQ2FuZGlkYXRlcy5hZGQobWVtb3J5LCB2YWx1ZSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGlmIChiYXNlVG9TdG9yZXMuY29udGFpbnMobGVmdCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgZm9yIChNZW1vcnlWYWx1ZSogbWVtb3J5IDogYmFzZVRvU3Rv
cmVzLmdldChsZWZ0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHBvc3RJbmRleFN0b3JlQ2Fu
ZGlkYXRlcy5hZGQobWVtb3J5LCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfTsKIAotICAgICAgICAgICAgLy8gUG9zdC1JbmRleCBMb2FkL1N0b3JlIFBhdHRlcm46Ci0g
ICAgICAgICAgICAvLyAgICAgbWVtb3J5ID0gTWVtb3J5VmFsdWUoYmFzZSwgMCkKLSAgICAgICAg
ICAgIC8vICAgICAuLi4KLSAgICAgICAgICAgIC8vICAgICBhZGRyZXNzID0gQWRkKGJhc2UsIG9m
ZnNldCkKLSAgICAgICAgICAgIGF1dG8gaXRlciA9IGJhc2VUb01lbW9yaWVzLmZpbmQobGVmdCk7
Ci0gICAgICAgICAgICBpZiAoaXRlciA9PSBiYXNlVG9NZW1vcmllcy5lbmQoKSkKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGZvciAoTWVtb3J5VmFsdWUqIG1lbW9yeSA6IGl0
ZXItPnZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgcG9zdEluZGV4Q2FuZGlkYXRlcy5hZGQobWVt
b3J5LCBWZWN0b3I8VmFsdWUqPigpKS5pdGVyYXRvci0+dmFsdWUuYXBwZW5kKHZhbHVlKTsKLSAg
ICAgICAgICAgICAgICBibG9ja1RvUHJlUG9zdEluZGV4Q2FuZGlkYXRlcy5hZGQobWVtb3J5LT5v
d25lciwgSGFzaFNldDxNZW1vcnlWYWx1ZSo+KCkpLml0ZXJhdG9yLT52YWx1ZS5hZGQobWVtb3J5
KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRyeUFkZHBvc3RJbmRleENhbmRpZGF0ZXMo
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgZGVmYXVsdDoKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0KLSAgICAgICAgZm9yIChWYWx1ZSogY2hpbGQg
OiB2YWx1ZS0+Y2hpbGRyZW4oKSkgewotICAgICAgICAgICAgYXV0byBpdGVyID0gYWRkVXNlcy5m
aW5kKGNoaWxkKTsKLSAgICAgICAgICAgIGlmIChpdGVyICE9IGFkZFVzZXMuZW5kKCkpCi0gICAg
ICAgICAgICAgICAgaXRlci0+dmFsdWUuYXBwZW5kKHZhbHVlKTsKLSAgICAgICAgfQogICAgIH07
CiAKICAgICBmb3IgKEJhc2ljQmxvY2sqIGJhc2ljQmxvY2sgOiBwcm9jLmJsb2Nrc0luUHJlT3Jk
ZXIoKSkgewogICAgICAgICBmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBiYXNpY0Jsb2NrLT5zaXpl
KCk7ICsraW5kZXgpCi0gICAgICAgICAgICB0cnlBZGRDYW5kaWRhdGVzKGJhc2ljQmxvY2stPmF0
KGluZGV4KSk7CisgICAgICAgICAgICB0cnlBZGRQcmVQb3N0SW5kZXhDYW5kaWRhdGUoYmFzaWNC
bG9jay0+YXQoaW5kZXgpKTsKICAgICB9CiAKICAgICBhdXRvIGNvbnRyb2xFcXVpdmFsZW50ID0g
WyZdIChWYWx1ZSogdjEsIFZhbHVlKiB2MikgLT4gYm9vbCB7CkBAIC0xNTcsNzUgKzE2MSw2OCBA
QCBib29sIGNhbm9uaWNhbGl6ZVByZVBvc3RJbmNyZW1lbnRzKFByb2NlZHVyZSYgcHJvYykKICAg
ICAgICAgICAgIHx8IChkb21pbmF0b3JzLmRvbWluYXRlcyh2Mi0+b3duZXIsIHYxLT5vd25lcikg
JiYgYmFja3dhcmRzRG9taW5hdG9ycy5kb21pbmF0ZXModjEtPm93bmVyLCB2Mi0+b3duZXIpKTsK
ICAgICB9OwogCi0gICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogYmxvY2tUb1ByZVBvc3RJbmRl
eENhbmRpZGF0ZXMpIHsKLSAgICAgICAgQmFzaWNCbG9jayogYmFzaWNCbG9jayA9IHBhaXIua2V5
OwotICAgICAgICBmb3IgKE1lbW9yeVZhbHVlKiBtZW1vcnkgOiBwYWlyLnZhbHVlKSB7Ci0gICAg
ICAgICAgICBpZiAoaGFuZGxlZFZhbHVlcy5jb250YWlucyhtZW1vcnkpKQorICAgIC8vIFRoaXMg
c2VhcmNoIGlzIGV4cGVuc2l2ZS4gSG93ZXZlciwgZHVlIHRvIHRoZSBncmVlZHkgcGF0dGVybgor
ICAgIC8vIG1hdGNoaW5nLCBubyBiZXR0ZXIgbWV0aG9kIGNhbiBiZSBwcm9wb3NlZCBhdCBwcmVz
ZW50LgorICAgIGF1dG8gdmFsdWVJbmRleEluQmFzaWNCbG9jayA9IFsmXSAoVmFsdWUqIHZhbHVl
KSAtPiB1bnNpZ25lZCB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgQmFz
aWNCbG9jayogYmxvY2sgPSB2YWx1ZS0+b3duZXI7CisgICAgICAgIGZvciAoaW5kZXggPSAwOyBp
bmRleCA8IGJsb2NrLT5zaXplKCk7ICsraW5kZXgpIHsKKyAgICAgICAgICAgIGlmIChibG9jay0+
YXQoaW5kZXgpID09IHZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBpbmRleDsKKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gaW5kZXg7CisgICAgfTsKKworICAgIGZvciAoYXV0byBwYWly
IDogcHJlSW5kZXhMb2FkQ2FuZGlkYXRlcykgeworICAgICAgICBNZW1vcnlWYWx1ZSogbWVtb3J5
ID0gcGFpci5rZXk7CisgICAgICAgIFZhbHVlKiBhZGRyZXNzID0gcGFpci52YWx1ZTsKKyAgICAg
ICAgaWYgKGlnbm9yZWRWYWx1ZXMuY29udGFpbnMobWVtb3J5KSB8fCBpZ25vcmVkVmFsdWVzLmNv
bnRhaW5zKGFkZHJlc3MpIHx8ICFjb250cm9sRXF1aXZhbGVudChtZW1vcnksIGFkZHJlc3MpKQor
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIC8vIGFkZHJlc3MgPSBBZGQoYmFzZSwgb2Zm
c2V0KSAgICAgICBhZGRyZXNzID0gQWRkKGJhc2UsIG9mZnNldCkKKyAgICAgICAgLy8gLi4uICAg
ICAgICAgICAgICAgICAgICAgICAgICAtLT4gIG5ld01lbW9yeSA9IExvYWQoYmFzZSwgb2Zmc2V0
KQorICAgICAgICAvLyAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uCisgICAg
ICAgIC8vIG1lbW9yeSA9IExvYWQoYmFzZSwgb2Zmc2V0KSAgICAgICBtZW1vcnkgPSBJZGVudGl0
eShuZXdNZW1vcnkpCisgICAgICAgIHVuc2lnbmVkIGluc2VydGlvbkluZGV4ID0gdmFsdWVJbmRl
eEluQmFzaWNCbG9jayhhZGRyZXNzKSArIDE7CisgICAgICAgIE1lbW9yeVZhbHVlKiBuZXdNZW1v
cnkgPSBpbnNlcnRpb25TZXQuaW5zZXJ0PE1lbW9yeVZhbHVlPihpbnNlcnRpb25JbmRleCwgTG9h
ZCwgbWVtb3J5LT50eXBlKCksIGFkZHJlc3MtPm9yaWdpbigpLCBtZW1vcnktPmxhc3RDaGlsZCgp
KTsKKyAgICAgICAgbmV3TWVtb3J5LT5zZXRPZmZzZXQobWVtb3J5LT5vZmZzZXQoKSk7CisgICAg
ICAgIG1lbW9yeS0+cmVwbGFjZVdpdGhJZGVudGl0eShuZXdNZW1vcnkpOworICAgICAgICBpbnNl
cnRpb25TZXQuZXhlY3V0ZShhZGRyZXNzLT5vd25lcik7CisKKyAgICAgICAgaWdub3JlZFZhbHVl
cy5hZGQobWVtb3J5KTsKKyAgICAgICAgaWdub3JlZFZhbHVlcy5hZGQoYWRkcmVzcyk7CisgICAg
fQorCisgICAgYXV0byBkZXRlY3RQb3N0SW5kZXggPSBbJl0gKGNvbnN0IEhhc2hNYXA8TWVtb3J5
VmFsdWUqLCBWYWx1ZSo+JiBjYW5kaWRhdGVzKSB7CisgICAgICAgIGZvciAoYXV0byBwYWlyIDog
Y2FuZGlkYXRlcykgeworICAgICAgICAgICAgTWVtb3J5VmFsdWUqIG1lbW9yeSA9IHBhaXIua2V5
OworICAgICAgICAgICAgVmFsdWUqIGFkZHJlc3MgPSBwYWlyLnZhbHVlOworICAgICAgICAgICAg
aWYgKGlnbm9yZWRWYWx1ZXMuY29udGFpbnMobWVtb3J5KSB8fCBpZ25vcmVkVmFsdWVzLmNvbnRh
aW5zKGFkZHJlc3MpIHx8ICFjb250cm9sRXF1aXZhbGVudChtZW1vcnksIGFkZHJlc3MpKQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICAvLyBDb252ZXJ0IFByZS1JbmRl
eCBMb2FkL1N0b3JlIFBhdHRlcm4gdG8gdGhlIENhbm9uaWNhbCBGb3JtOgotICAgICAgICAgICAg
Ly8gICAgIGFkZHJlc3MgPSBBZGQoYmFzZSwgb2Zmc2V0KSAgICAgICAgICAgICAgICAgICAgYWRk
cmVzcyA9IE5vcAotICAgICAgICAgICAgLy8gICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLi4uCi0gICAgICAgICAgICAvLyAgICAgLi4uICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdBZGRyZXNzID0gQWRkKGJhc2Us
IG9mZnNldCkKLSAgICAgICAgICAgIC8vICAgICBtZW1vcnkgPSBNZW1vcnlWYWx1ZShiYXNlLCBv
ZmZzZXQpICAgICAtLT4gICAgIG1lbW9yeSA9IE1lbW9yeVZhbHVlKGJhc2UsIG9mZnNldCkKLSAg
ICAgICAgICAgIC8vICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC4uLgotICAgICAgICAgICAgLy8gICAgIHBhcmVudCA9IEIzT3Bjb2RlKGFkZHJlc3Ms
IC4uLikgICAgICAgICAgICAgICAgcGFyZW50ID0gQjNPcGNvZGUobmV3QWRkcmVzcywgLi4uKQot
ICAgICAgICAgICAgZm9yIChWYWx1ZSogYWRkcmVzcyA6IHByZUluZGV4Q2FuZGlkYXRlcy5nZXQo
bWVtb3J5KSkgewotICAgICAgICAgICAgICAgIGlmIChoYW5kbGVkVmFsdWVzLmNvbnRhaW5zKGFk
ZHJlc3MpIHx8ICFjb250cm9sRXF1aXZhbGVudChtZW1vcnksIGFkZHJlc3MpKQotICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgICAgIGF1dG8gZG9taW5hdGVzQWxs
QWRkVXNlcyA9IFsmXSAoKSAtPiBib29sIHsKLSAgICAgICAgICAgICAgICAgICAgYXV0byBpdGVy
ID0gYWRkVXNlcy5maW5kKGFkZHJlc3MpOwotICAgICAgICAgICAgICAgICAgICBBU1NFUlQoaXRl
ciAhPSBhZGRVc2VzLmVuZCgpICYmIGl0ZXItPnZhbHVlLnNpemUoKSk7Ci0gICAgICAgICAgICAg
ICAgICAgIGZvciAoVmFsdWUqIHBhcmVudCA6IGl0ZXItPnZhbHVlKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoIWRvbWluYXRvcnMuZG9taW5hdGVzKG1lbW9yeS0+b3duZXIsIHBhcmVu
dC0+b3duZXIpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgICAgICAgICB9OwotCi0gICAgICAgICAgICAgICAgaWYgKCFkb21pbmF0ZXNBbGxBZGRV
c2VzKCkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICAgICAg
dW5zaWduZWQgaW5zZXJ0aW9uSW5kZXggPSBtZW1vcnlUb0luZGV4LmdldChtZW1vcnkpOwotICAg
ICAgICAgICAgICAgIFZhbHVlKiBuZXdBZGRyZXNzID0gaW5zZXJ0aW9uU2V0Lmluc2VydDxWYWx1
ZT4oaW5zZXJ0aW9uSW5kZXgsIEFkZCwgbWVtb3J5LT5vcmlnaW4oKSwgYWRkcmVzcy0+Y2hpbGQo
MCksIGFkZHJlc3MtPmNoaWxkKDEpKTsKLSAgICAgICAgICAgICAgICBmb3IgKFZhbHVlKiBwYXJl
bnQgOiBhZGRVc2VzLmdldChhZGRyZXNzKSkgewotICAgICAgICAgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgcGFyZW50LT5udW1DaGlsZHJlbigpOyArK2kpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIFZhbHVlKiYgY2hpbGQgPSBwYXJlbnQtPmNoaWxkKGkpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkID09IGFkZHJlc3MpCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY2hpbGQgPSBuZXdBZGRyZXNzOwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGFkZHJlc3MtPnJlcGxhY2VXaXRoTm9w
SWdub3JpbmdUeXBlKCk7Ci0KLSAgICAgICAgICAgICAgICBoYW5kbGVkVmFsdWVzLmFkZChtZW1v
cnkpOwotICAgICAgICAgICAgICAgIGhhbmRsZWRWYWx1ZXMuYWRkKGFkZHJlc3MpOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICAvLyBDb252ZXJ0IFBvc3QtSW5kZXggTG9hZC9TdG9yZSBQ
YXR0ZXJuIHRvIHRoZSBDYW5vbmljYWwgRm9ybToKLSAgICAgICAgICAgIC8vICAgICAuLi4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3T2Zmc2V0ID0gQ29uc3RhbnQKLSAgICAg
ICAgICAgIC8vICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3QWRk
cmVzcyA9IEFkZChiYXNlLCBuZXdPZmZzZXQpCi0gICAgICAgICAgICAvLyAgICAgbWVtb3J5ID0g
TWVtb3J5VmFsdWUoYmFzZSwgMCkgICAgICAgIG1lbW9yeSA9IE1lbW9yeVZhbHVlKGJhc2UsIDAp
Ci0gICAgICAgICAgICAvLyAgICAgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPiAg
IC4uLgotICAgICAgICAgICAgLy8gICAgIGFkZHJlc3MgPSBBZGQoYmFzZSwgb2Zmc2V0KSAgICAg
ICAgICBhZGRyZXNzID0gSWRlbnRpdHkobmV3QWRkcmVzcykKLSAgICAgICAgICAgIGZvciAoVmFs
dWUqIGFkZHJlc3MgOiBwb3N0SW5kZXhDYW5kaWRhdGVzLmdldChtZW1vcnkpKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKGhhbmRsZWRWYWx1ZXMuY29udGFpbnMoYWRkcmVzcykgfHwgIWNvbnRyb2xF
cXVpdmFsZW50KG1lbW9yeSwgYWRkcmVzcykpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwotCi0gICAgICAgICAgICAgICAgdW5zaWduZWQgaW5zZXJ0aW9uSW5kZXggPSBtZW1vcnlUb0lu
ZGV4LmdldChtZW1vcnkpOwotICAgICAgICAgICAgICAgIFZhbHVlKiBuZXdPZmZzZXQgPSBpbnNl
cnRpb25TZXQuaW5zZXJ0PENvbnN0NjRWYWx1ZT4oaW5zZXJ0aW9uSW5kZXgsIG1lbW9yeS0+b3Jp
Z2luKCksIGFkZHJlc3MtPmNoaWxkKDEpLT5hc0ludCgpKTsKLSAgICAgICAgICAgICAgICBWYWx1
ZSogbmV3QWRkcmVzcyA9IGluc2VydGlvblNldC5pbnNlcnQ8VmFsdWU+KGluc2VydGlvbkluZGV4
LCBBZGQsIG1lbW9yeS0+b3JpZ2luKCksIGFkZHJlc3MtPmNoaWxkKDApLCBuZXdPZmZzZXQpOwot
ICAgICAgICAgICAgICAgIGFkZHJlc3MtPnJlcGxhY2VXaXRoSWRlbnRpdHkobmV3QWRkcmVzcyk7
Ci0KLSAgICAgICAgICAgICAgICBoYW5kbGVkVmFsdWVzLmFkZChtZW1vcnkpOwotICAgICAgICAg
ICAgICAgIGhhbmRsZWRWYWx1ZXMuYWRkKGFkZHJlc3MpOwotICAgICAgICAgICAgfQorICAgICAg
ICAgICAgdW5zaWduZWQgaW5zZXJ0aW9uSW5kZXggPSB2YWx1ZUluZGV4SW5CYXNpY0Jsb2NrKG1l
bW9yeSk7CisgICAgICAgICAgICBWYWx1ZSogbmV3T2Zmc2V0ID0gaW5zZXJ0aW9uU2V0Lmluc2Vy
dDxDb25zdDY0VmFsdWU+KGluc2VydGlvbkluZGV4LCBtZW1vcnktPm9yaWdpbigpLCBhZGRyZXNz
LT5jaGlsZCgxKS0+YXNJbnQoKSk7CisgICAgICAgICAgICBWYWx1ZSogbmV3QWRkcmVzcyA9IGlu
c2VydGlvblNldC5pbnNlcnQ8VmFsdWU+KGluc2VydGlvbkluZGV4LCBBZGQsIG1lbW9yeS0+b3Jp
Z2luKCksIGFkZHJlc3MtPmNoaWxkKDApLCBuZXdPZmZzZXQpOworICAgICAgICAgICAgYWRkcmVz
cy0+cmVwbGFjZVdpdGhJZGVudGl0eShuZXdBZGRyZXNzKTsKKyAgICAgICAgICAgIGluc2VydGlv
blNldC5leGVjdXRlKG1lbW9yeS0+b3duZXIpOworCisgICAgICAgICAgICBpZ25vcmVkVmFsdWVz
LmFkZChtZW1vcnkpOworICAgICAgICAgICAgaWdub3JlZFZhbHVlcy5hZGQoYWRkcmVzcyk7CiAg
ICAgICAgIH0KLSAgICAgICAgLy8gQWZ0ZXIgdGhpcyBleGVjdXRlcywgbWVtb3J5VG9JbmRleCBu
byBsb25nZXIgY29udGFpbnMgdXAgdG8gZGF0ZSBpbmZvcm1hdGlvbiBmb3IgdGhpcyBibG9jay4K
LSAgICAgICAgLy8gQnV0IHRoYXQncyBvayBiZWNhdXNlIHdlIG5ldmVyIHRvdWNoIHRoaXMgYmxv
Y2sgYWdhaW4uCi0gICAgICAgIGluc2VydGlvblNldC5leGVjdXRlKGJhc2ljQmxvY2spOwotICAg
IH0KKyAgICB9OwogCisgICAgLy8gLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5ld09mZnNldCA9IENvbnN0YW50CisgICAgLy8gLi4uICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG5ld0FkZHJlc3MgPSBBZGQoYmFzZSwgbmV3T2Zmc2V0KQorICAgIC8vIG1lbW9y
eSA9IExvYWQoYmFzZSwgMCkgICAgICAgICAgICAgICBtZW1vcnkgPSBMb2FkKGJhc2UsIDApCisg
ICAgLy8gLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPiAgIC4uLgorICAgIC8vIGFk
ZHJlc3MgPSBBZGQoYmFzZSwgb2Zmc2V0KSAgICAgICAgICBhZGRyZXNzID0gSWRlbnRpdHkobmV3
QWRkcmVzcykKKyAgICBkZXRlY3RQb3N0SW5kZXgocG9zdEluZGV4TG9hZENhbmRpZGF0ZXMpOwor
CisgICAgLy8gLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld09mZnNldCA9
IENvbnN0YW50CisgICAgLy8gLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5l
d0FkZHJlc3MgPSBBZGQoYmFzZSwgbmV3T2Zmc2V0KQorICAgIC8vIG1lbW9yeSA9IFN0b3JlKHZh
bHVlLCBiYXNlLCAwKSAgICAgICBtZW1vcnkgPSBTdG9yZSh2YWx1ZSwgYmFzZSwgMCkKKyAgICAv
LyAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+ICAgLi4uCisgICAgLy8gYWRkcmVz
cyA9IEFkZChiYXNlLCBvZmZzZXQpICAgICAgICAgIGFkZHJlc3MgPSBJZGVudGl0eShuZXdBZGRy
ZXNzKQorICAgIGRldGVjdFBvc3RJbmRleChwb3N0SW5kZXhTdG9yZUNhbmRpZGF0ZXMpOwogICAg
IHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNHZW5lcmF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNHZW5lcmF0ZS5jcHAK
aW5kZXggNjYyZjMyMzgwNWNjZjczNjc4ZGRlNmYxMzkzN2RjZWVkMzdlNDA5Ni4uYjkzY2U4MTli
MWUzZmExNDA5ZDBiN2M3M2IwMWM4YmZiOTExNjNlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzR2VuZXJhdGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0dlbmVyYXRlLmNwcApAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgZ2VuZXJhdGVUb0FpcihQ
cm9jZWR1cmUmIHByb2NlZHVyZSkKICAgICBsb3dlck1hY3Jvc0FmdGVyT3B0aW1pemF0aW9ucyhw
cm9jZWR1cmUpOwogICAgIGxlZ2FsaXplTWVtb3J5T2Zmc2V0cyhwcm9jZWR1cmUpOwogICAgIG1v
dmVDb25zdGFudHMocHJvY2VkdXJlKTsKLSAgICBpZiAocHJvY2VkdXJlLm9wdExldmVsKCkgPj0g
MikKKyAgICBpZiAoT3B0aW9uczo6dXNlQjNDYW5vbmljYWxpemVQcmVQb3N0SW5jcmVtZW50cygp
ICYmIHByb2NlZHVyZS5vcHRMZXZlbCgpID49IDIpCiAgICAgICAgIGNhbm9uaWNhbGl6ZVByZVBv
c3RJbmNyZW1lbnRzKHByb2NlZHVyZSk7CiAgICAgZWxpbWluYXRlRGVhZENvZGUocHJvY2VkdXJl
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWVLZXkuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlS2V5LmgKaW5kZXggYjg0YzhhNGQzNjRi
YTg4NzA4YjgwMTk0OGIzYzgxNTljMjk4NDdlMC4uNDZmNDQwYzUyZmQ0ZTBjZTlkZjA5NjU5OGNk
NWNjMDZmMzk5NTFhMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFs
dWVLZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZUtleS5oCkBAIC01
Niw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgVmFsdWVLZXkoVmFsdWUq
IGNoaWxkLCBpbnQzMl90IG9mZnNldCk7CisgICAgVmFsdWVLZXkoVmFsdWUqIGNoaWxkLCBpbnQ2
NF90IHZhbHVlKTsKIAogICAgIFZhbHVlS2V5KEtpbmQsIFR5cGUsIFZhbHVlKiBjaGlsZCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlS2V5SW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWVLZXlJbmxpbmVzLmgKaW5kZXggMDBl
ZjBjZjc0MmU2OGE3ZjdlMmU5ZmYyNGYyMTBmMjkwYTJhMjFlYi4uZTE4NjYxOTQ5MjYyMTQwNjZm
ZTg5ZTVjNzFiMmQwNzc4MDU0NzAxZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzVmFsdWVLZXlJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
VmFsdWVLZXlJbmxpbmVzLmgKQEAgLTMzLDE0ICszMywxMiBAQAogCiBuYW1lc3BhY2UgSlNDIHsg
bmFtZXNwYWNlIEIzIHsKIAotaW5saW5lIFZhbHVlS2V5OjpWYWx1ZUtleShWYWx1ZSogY2hpbGQs
IGludDMyX3Qgb2Zmc2V0KQoraW5saW5lIFZhbHVlS2V5OjpWYWx1ZUtleShWYWx1ZSogY2hpbGQs
IGludDY0X3QgdmFsdWUpCiB7CiAgICAgbV9raW5kID0gT29wczsKICAgICBtX3R5cGUgPSBWb2lk
OwotICAgIC8vIFRoZSBvYnNlcnZhdGlvbiBpcyB0aGF0IHdoZW4gYm90aCBjaGlsZC0+aW5kZXgo
KSBhbmQgb2Zmc2V0IGFyZSAwJ3MsCi0gICAgLy8gSGFzaE1hcCB3b3VsZCBub3QgYWNjZXB0IHRo
ZSBWYWx1ZUtleS4KLSAgICB1LmluZGljZXNbMF0gPSBjaGlsZC0+aW5kZXgoKSArIDE7Ci0gICAg
dS5pbmRpY2VzWzFdID0gb2Zmc2V0ICsgMTsKKyAgICB1LmluZGljZXNbMF0gPSBjaGlsZC0+aW5k
ZXgoKTsKKyAgICB1LnZhbHVlID0gdmFsdWU7CiB9CiAKIGlubGluZSBWYWx1ZUtleTo6VmFsdWVL
ZXkoS2luZCBraW5kLCBUeXBlIHR5cGUsIFZhbHVlKiBjaGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90
ZXN0YjMuaAppbmRleCA5ZDcyZjI0MTA2MDcxNjhkNjA0N2M5YTU3OTc4MzMyM2NmZmNlMTlkLi5l
MTcxYWNmNTVlMzY3MGY4OTFmMTViYThmMjBjNmNkYzFjMTg2OTJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL3Rlc3RiMy5oCkBAIC0xMTY0LDcgKzExNjQsNiBAQCB2b2lkIGFkZENvcHlUZXN0cyhjb25z
dCBjaGFyKiBmaWx0ZXIsIERlcXVlPFJlZlB0cjxTaGFyZWRUYXNrPHZvaWQoKT4+PiYpOwogYm9v
bCBzaG91bGRSdW4oY29uc3QgY2hhciogZmlsdGVyLCBjb25zdCBjaGFyKiB0ZXN0TmFtZSk7CiAK
IHZvaWQgdGVzdExvYWRQcmVJbmRleDMyKCk7Ci12b2lkIHRlc3RMb2FkV2l0aFN0b3JlUHJlSW5k
ZXgzMigpOwogdm9pZCB0ZXN0TG9hZFByZUluZGV4NjQoKTsKIHZvaWQgdGVzdExvYWRQb3N0SW5k
ZXgzMigpOwogdm9pZCB0ZXN0TG9hZFBvc3RJbmRleDY0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzXzMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L3Rlc3RiM18zLmNwcAppbmRleCAzZjg1Nzk4Mjg1MmZhNWJkZDE3Yjc2NTA5YmJkMDBhMjA5ZTYw
Mjk0Li4wODE3ZjYxOTdiYzU4Njk2Zjk0OTcyZThkNjA0OWZmMjFkMjAyNzA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzXzMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy90ZXN0YjNfMy5jcHAKQEAgLTEwMiw4MyArMTAyLDYgQEAgdm9pZCB0ZXN0
TG9hZFByZUluZGV4MzIoKQogICAgIENIRUNLX0VRKGludm9rZTxpbnQzMl90PigqY29kZSwgYml0
d2lzZV9jYXN0PGludHB0cl90PihwdHIpKSwgdGVzdCgpKTsKIH0KIAotdm9pZCB0ZXN0TG9hZFdp
dGhTdG9yZVByZUluZGV4MzIoKQotewotICAgIGlmIChPcHRpb25zOjpkZWZhdWx0QjNPcHRMZXZl
bCgpIDwgMikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaW50MzJfdCBudW1zW10gPSB7IDEsIDIs
IDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwIH07Ci0gICAgaW50MzJfdCogcHRyID0gbnVtczsKLQot
ICAgIFByb2NlZHVyZSBwcm9jOwotICAgIEJhc2ljQmxvY2sqIHJvb3QgPSBwcm9jLmFkZEJsb2Nr
KCk7Ci0gICAgQmFzaWNCbG9jayogbG9vcFRlc3QgPSBwcm9jLmFkZEJsb2NrKCk7Ci0gICAgQmFz
aWNCbG9jayogbG9vcEJvZHkgPSBwcm9jLmFkZEJsb2NrKCk7Ci0gICAgQmFzaWNCbG9jayogZG9u
ZSA9IHByb2MuYWRkQmxvY2soKTsKLQotICAgIFZhcmlhYmxlKiByID0gcHJvYy5hZGRWYXJpYWJs
ZShJbnQzMik7Ci0gICAgVmFyaWFibGUqIHAgPSBwcm9jLmFkZFZhcmlhYmxlKEludDY0KTsKLQot
ICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUm9vdF9CbG9jawotICAgIC8vIHIxID0gMAot
ICAgIC8vIFVwc2lsb24ocjEsIF5yMikKLSAgICAvLyBwMSA9IGFkZHIKLSAgICAvLyBVcHNpbG9u
KHAxLCBecDIpCi0gICAgVmFsdWUqIHIxID0gcm9vdC0+YXBwZW5kSW50Q29uc3RhbnQocHJvYywg
T3JpZ2luKCksIEludDMyLCAwKTsKLSAgICByb290LT5hcHBlbmROZXc8VmFyaWFibGVWYWx1ZT4o
cHJvYywgQjM6OlNldCwgT3JpZ2luKCksIHIsIHIxKTsKLSAgICBWYWx1ZSogcDEgPSByb290LT5h
cHBlbmROZXc8QXJndW1lbnRSZWdWYWx1ZT4ocHJvYywgT3JpZ2luKCksIEdQUkluZm86OmFyZ3Vt
ZW50R1BSMCk7Ci0gICAgcm9vdC0+YXBwZW5kTmV3PFZhcmlhYmxlVmFsdWU+KHByb2MsIEIzOjpT
ZXQsIE9yaWdpbigpLCBwLCBwMSk7Ci0gICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHBy
b2MsIEp1bXAsIE9yaWdpbigpLCBGcmVxdWVudGVkQmxvY2sobG9vcFRlc3QpKTsKLQotICAgIC8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTG9vcF9UZXN0X0Jsb2NrCi0gICAgLy8gbG9vcDoKLSAg
ICAvLyBwMiA9IFBoaSgpCi0gICAgLy8gcjIgPSBQaGkoKQotICAgIC8vIGlmIHIyID49IDEwIGdv
dG8gZG9uZQotICAgIFZhbHVlKiByMiA9IGxvb3BUZXN0LT5hcHBlbmROZXc8VmFyaWFibGVWYWx1
ZT4ocHJvYywgQjM6OkdldCwgT3JpZ2luKCksIHIpOwotICAgIFZhbHVlKiBwMiA9IGxvb3BUZXN0
LT5hcHBlbmROZXc8VmFyaWFibGVWYWx1ZT4ocHJvYywgQjM6OkdldCwgT3JpZ2luKCksIHApOwot
ICAgIFZhbHVlKiBjb25kID0gbG9vcFRlc3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJvYywgQWJvdmVF
cXVhbCwgT3JpZ2luKCksIHIyLCBsb29wVGVzdC0+YXBwZW5kTmV3PENvbnN0MzJWYWx1ZT4ocHJv
YywgT3JpZ2luKCksIDEwKSk7Ci0gICAgbG9vcFRlc3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShw
cm9jLCBCcmFuY2gsIE9yaWdpbigpLCBjb25kLCBGcmVxdWVudGVkQmxvY2soZG9uZSksIEZyZXF1
ZW50ZWRCbG9jayhsb29wQm9keSkpOwotCi0gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBM
b29wX0JvZHlfQmxvY2sKLSAgICAvLyBwMyA9IHAyICsgMQotICAgIC8vIFVwc2lsb24ocDMsIF5w
MikKLSAgICAvLyBwMycgPSAmcDMKLSAgICAvLyBzdG9yZSg1LCBwMycpCi0gICAgLy8gcjMgPSBy
MiArIGxvYWQocDMpCi0gICAgLy8gVXBzaWxvbihyMywgXnIyKQotICAgIC8vIGdvdG8gbG9vcAot
ICAgIFZhbHVlKiBwMyA9IGxvb3BCb2R5LT5hcHBlbmROZXc8VmFsdWU+KHByb2MsIEFkZCwgT3Jp
Z2luKCksIHAyLCBsb29wQm9keS0+YXBwZW5kTmV3PENvbnN0NjRWYWx1ZT4ocHJvYywgT3JpZ2lu
KCksIDQpKTsKLSAgICBsb29wQm9keS0+YXBwZW5kTmV3PFZhcmlhYmxlVmFsdWU+KHByb2MsIEIz
OjpTZXQsIE9yaWdpbigpLCBwLCBwMyk7Ci0gICAgVmFsdWUqIHAzUHJpbWUgPSBsb29wQm9keS0+
YXBwZW5kTmV3PFZhbHVlPihwcm9jLCBPcGFxdWUsIE9yaWdpbigpLCBwMyk7Ci0gICAgbG9vcEJv
ZHktPmFwcGVuZE5ldzxNZW1vcnlWYWx1ZT4ocHJvYywgU3RvcmUsIE9yaWdpbigpLCBsb29wQm9k
eS0+YXBwZW5kTmV3PENvbnN0MzJWYWx1ZT4ocHJvYywgT3JpZ2luKCksIDUpLCBwM1ByaW1lKTsK
LSAgICBWYWx1ZSogcjMgPSBsb29wQm9keS0+YXBwZW5kTmV3PFZhbHVlPihwcm9jLCBBZGQsIE9y
aWdpbigpLCByMiwgbG9vcEJvZHktPmFwcGVuZE5ldzxNZW1vcnlWYWx1ZT4ocHJvYywgTG9hZCwg
SW50MzIsIE9yaWdpbigpLCBwMykpOwotICAgIGxvb3BCb2R5LT5hcHBlbmROZXc8VmFyaWFibGVW
YWx1ZT4ocHJvYywgQjM6OlNldCwgT3JpZ2luKCksIHIsIHIzKTsKLSAgICBsb29wQm9keS0+YXBw
ZW5kTmV3Q29udHJvbFZhbHVlKHByb2MsIEp1bXAsIE9yaWdpbigpLCBGcmVxdWVudGVkQmxvY2so
bG9vcFRlc3QpKTsKLQotICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRG9uZV9CbG9jawot
ICAgIC8vIGRvbmU6Ci0gICAgLy8gcmV0dXJuIHIyCi0gICAgZG9uZS0+YXBwZW5kTmV3Q29udHJv
bFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksIHIyKTsKLQotICAgIHByb2MucmVzZXRSZWFj
aGFiaWxpdHkoKTsKLSAgICB2YWxpZGF0ZShwcm9jKTsKLSAgICBmaXhTU0EocHJvYyk7Ci0KLSAg
ICBhdXRvIGNvZGUgPSBjb21waWxlUHJvYyhwcm9jKTsKLQotICAgIGF1dG8gdGVzdCA9IFsmXSAo
KSAtPiBpbnQzMl90IHsKLSAgICAgICAgaW50MzJfdCByID0gMDsKLSAgICAgICAgd2hpbGUgKHIg
PCAxMCkgewotICAgICAgICAgICAgKisrcHRyID0gNTsKLSAgICAgICAgICAgIHIgKz0gKnB0cjsK
LSAgICAgICAgfQotICAgICAgICByZXR1cm4gcjsKLSAgICB9OwotCi0gICAgQ0hFQ0tfRVEoaW52
b2tlPGludDMyX3Q+KCpjb2RlLCBiaXR3aXNlX2Nhc3Q8aW50cHRyX3Q+KHB0cikpLCB0ZXN0KCkp
OwotfQotCiB2b2lkIHRlc3RMb2FkUHJlSW5kZXg2NCgpCiB7CiAgICAgaWYgKE9wdGlvbnM6OmRl
ZmF1bHRCM09wdExldmVsKCkgPCAyKQpAQCAtNDIxLDcgKzM0NCw2IEBAIHZvaWQgdGVzdFN0b3Jl
UHJlSW5kZXgzMigpCiAgICAgYXV0byBjb2RlID0gY29tcGlsZVByb2MocHJvYyk7CiAgICAgaWYg
KGlzQVJNNjQoKSkKICAgICAgICAgY2hlY2tVc2VzSW5zdHJ1Y3Rpb24oKmNvZGUsICIjNF0hIik7
Ci0KICAgICBpbnRwdHJfdCByZXMgPSBpbnZva2U8aW50cHRyX3Q+KCpjb2RlLCBiaXR3aXNlX2Nh
c3Q8aW50cHRyX3Q+KHB0ciksIDQpOwogICAgIHB0ciA9IGJpdHdpc2VfY2FzdDxpbnQzMl90Kj4o
cmVzKTsKICAgICBDSEVDS19FUShudW1zWzJdLCAqcHRyKTsKQEAgLTQ0Niw5ICszNjgsNiBAQCB2
b2lkIHRlc3RTdG9yZVByZUluZGV4NjQoKQogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1
ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBwcmVJbmNyZW1lbnQpOwogCiAgICAgYXV0byBjb2Rl
ID0gY29tcGlsZVByb2MocHJvYyk7Ci0gICAgaWYgKGlzQVJNNjQoKSkKLSAgICAgICAgY2hlY2tV
c2VzSW5zdHJ1Y3Rpb24oKmNvZGUsICIjOF0hIik7Ci0KICAgICBpbnRwdHJfdCByZXMgPSBpbnZv
a2U8aW50cHRyX3Q+KCpjb2RlLCBiaXR3aXNlX2Nhc3Q8aW50cHRyX3Q+KHB0ciksIDQpOwogICAg
IHB0ciA9IGJpdHdpc2VfY2FzdDxpbnQ2NF90Kj4ocmVzKTsKICAgICBDSEVDS19FUShudW1zWzJd
LCAqcHRyKTsKQEAgLTQ3Nyw3ICszOTYsNiBAQCB2b2lkIHRlc3RTdG9yZVBvc3RJbmRleDMyKCkK
ICAgICBhdXRvIGNvZGUgPSBjb21waWxlUHJvYyhwcm9jKTsKICAgICBpZiAoaXNBUk02NCgpKQog
ICAgICAgICBjaGVja1VzZXNJbnN0cnVjdGlvbigqY29kZSwgIl0sICM0Iik7Ci0KICAgICBpbnRw
dHJfdCByZXMgPSBpbnZva2U8aW50cHRyX3Q+KCpjb2RlLCBiaXR3aXNlX2Nhc3Q8aW50cHRyX3Q+
KHB0ciksIDQpOwogICAgIHB0ciA9IGJpdHdpc2VfY2FzdDxpbnQzMl90Kj4ocmVzKTsKICAgICBD
SEVDS19FUShudW1zWzFdLCA0KTsKQEAgLTUwNSw3ICs0MjMsNiBAQCB2b2lkIHRlc3RTdG9yZVBv
c3RJbmRleDY0KCkKICAgICBhdXRvIGNvZGUgPSBjb21waWxlUHJvYyhwcm9jKTsKICAgICBpZiAo
aXNBUk02NCgpKQogICAgICAgICBjaGVja1VzZXNJbnN0cnVjdGlvbigqY29kZSwgIl0sICM4Iik7
Ci0KICAgICBpbnRwdHJfdCByZXMgPSBpbnZva2U8aW50cHRyX3Q+KCpjb2RlLCBiaXR3aXNlX2Nh
c3Q8aW50cHRyX3Q+KHB0ciksIDQpOwogICAgIHB0ciA9IGJpdHdpc2VfY2FzdDxpbnQ2NF90Kj4o
cmVzKTsKICAgICBDSEVDS19FUShudW1zWzFdLCA0KTsKQEAgLTQxODAsMTUgKzQwOTcsMTcgQEAg
dm9pZCBhZGRTaHJUZXN0cyhjb25zdCBjaGFyKiBmaWx0ZXIsIERlcXVlPFJlZlB0cjxTaGFyZWRU
YXNrPHZvaWQoKT4+PiYgdGFza3MpCiAgICAgUlVOKHRlc3RaU2hyQXJnSW1tMzIoMHhmZmZmZmZm
ZiwgMSkpOwogICAgIFJVTih0ZXN0WlNockFyZ0ltbTMyKDB4ZmZmZmZmZmYsIDYzKSk7CiAKLSAg
ICBSVU4odGVzdExvYWRQcmVJbmRleDMyKCkpOwotICAgIFJVTih0ZXN0TG9hZFByZUluZGV4NjQo
KSk7Ci0gICAgUlVOKHRlc3RMb2FkUG9zdEluZGV4MzIoKSk7Ci0gICAgUlVOKHRlc3RMb2FkUG9z
dEluZGV4NjQoKSk7CisgICAgaWYgKE9wdGlvbnM6OnVzZUIzQ2Fub25pY2FsaXplUHJlUG9zdElu
Y3JlbWVudHMoKSkgeworICAgICAgICBSVU4odGVzdExvYWRQcmVJbmRleDMyKCkpOworICAgICAg
ICBSVU4odGVzdExvYWRQcmVJbmRleDY0KCkpOworICAgICAgICBSVU4odGVzdExvYWRQb3N0SW5k
ZXgzMigpKTsKKyAgICAgICAgUlVOKHRlc3RMb2FkUG9zdEluZGV4NjQoKSk7CiAKLSAgICBSVU4o
dGVzdFN0b3JlUHJlSW5kZXgzMigpKTsKLSAgICBSVU4odGVzdFN0b3JlUHJlSW5kZXg2NCgpKTsK
LSAgICBSVU4odGVzdFN0b3JlUG9zdEluZGV4MzIoKSk7Ci0gICAgUlVOKHRlc3RTdG9yZVBvc3RJ
bmRleDY0KCkpOworICAgICAgICBSVU4odGVzdFN0b3JlUHJlSW5kZXgzMigpKTsKKyAgICAgICAg
UlVOKHRlc3RTdG9yZVByZUluZGV4NjQoKSk7CisgICAgICAgIFJVTih0ZXN0U3RvcmVQb3N0SW5k
ZXgzMigpKTsKKyAgICAgICAgUlVOKHRlc3RTdG9yZVBvc3RJbmRleDY0KCkpOworICAgIH0KIH0K
IAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9uc0xpc3QuaAppbmRleCBkZGYyMmEzZTZkOTNlZDI0MGMwZDhmM2M2MjllYTRhNGY1
N2YzYzU0Li5jMTliOWEyMTA2ZGRlNzZiNDBkN2E4NGJkMTgxNDMwYWM4YWU3YjkxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKQEAgLTQzNyw2ICs0Mzcs
NyBAQCBib29sIGNhblVzZVdlYkFzc2VtYmx5RmFzdE1lbW9yeSgpOwogICAgIHYoVW5zaWduZWQs
IG1heEIzVGFpbER1cEJsb2NrU2l6ZSwgMywgTm9ybWFsLCBudWxscHRyKSBcCiAgICAgdihVbnNp
Z25lZCwgbWF4QjNUYWlsRHVwQmxvY2tTdWNjZXNzb3JzLCAzLCBOb3JtYWwsIG51bGxwdHIpIFwK
ICAgICB2KEJvb2wsIHVzZUIzSG9pc3RMb29wSW52YXJpYW50VmFsdWVzLCBmYWxzZSwgTm9ybWFs
LCBudWxscHRyKSBcCisgICAgdihCb29sLCB1c2VCM0Nhbm9uaWNhbGl6ZVByZVBvc3RJbmNyZW1l
bnRzLCBmYWxzZSwgTm9ybWFsLCBudWxscHRyKSBcCiAgICAgXAogICAgIHYoQm9vbCwgdXNlRG9s
bGFyVk0sIGZhbHNlLCBSZXN0cmljdGVkLCAiaW5zdGFsbHMgdGhlICR2bSBkZWJ1Z2dpbmcgdG9v
bCBpbiBnbG9iYWwgb2JqZWN0cyIpIFwKICAgICB2KE9wdGlvblN0cmluZywgZnVuY3Rpb25PdmVy
cmlkZXMsIG51bGxwdHIsIFJlc3RyaWN0ZWQsICJmaWxlIHdpdGggZGVidWdnaW5nIG92ZXJyaWRl
cyBmb3IgZnVuY3Rpb24gYm9kaWVzIikgXAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>