<?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>232132</bug_id>
          
          <creation_ts>2021-10-21 22:01:33 -0700</creation_ts>
          <short_desc>Remove unneeded Heap::m_vm.</short_desc>
          <delta_ts>2021-10-22 00:21:16 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1807535</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-10-21 22:01:33 -0700</bug_when>
    <thetext>Heap::vm() already computes the associated VM&amp; using offset math.  This entails subtracting a constant to Heap&apos;s this pointer, which is faster than loading from a field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807537</commentid>
    <comment_count>1</comment_count>
      <attachid>442119</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-10-21 22:07:30 -0700</bug_when>
    <thetext>Created attachment 442119
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807539</commentid>
    <comment_count>2</comment_count>
      <attachid>442121</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-10-21 22:09:42 -0700</bug_when>
    <thetext>Created attachment 442121
[fast-cq] proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807542</commentid>
    <comment_count>3</comment_count>
      <attachid>442121</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-10-21 22:13:08 -0700</bug_when>
    <thetext>Comment on attachment 442121
[fast-cq] proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807560</commentid>
    <comment_count>4</comment_count>
      <attachid>442121</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-10-22 00:18:11 -0700</bug_when>
    <thetext>Comment on attachment 442121
[fast-cq] proposed patch.

Thanks for the review.  Landing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807561</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-22 00:20:01 -0700</bug_when>
    <thetext>Committed r284668 (243388@main): &lt;https://commits.webkit.org/243388@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442121.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807562</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-22 00:21:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/84538981&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442119</attachid>
            <date>2021-10-21 22:07:30 -0700</date>
            <delta_ts>2021-10-21 22:09:42 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-232132.patch</filename>
            <type>text/plain</type>
            <size>15838</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjg0NjY2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDIxLTEwLTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgdW5uZWVkZWQgSGVhcDo6bV92bS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMjEzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEhlYXA6OnZtKCkgYWxyZWFkeSBjb21wdXRlcyB0aGUgYXNzb2Np
YXRlZCBWTSYgdXNpbmcgb2Zmc2V0IG1hdGguICBUaGlzIGVudGFpbHMKKyAgICAgICAgc3VidHJh
Y3RpbmcgYSBjb25zdGFudCB0byBIZWFwJ3MgdGhpcyBwb2ludGVyLCB3aGljaCBpcyBmYXN0ZXIg
dGhhbiBsb2FkaW5nIGZyb20KKyAgICAgICAgYSBmaWVsZC4KKworICAgICAgICAqIGhlYXAvSGVh
cC5jcHA6CisgICAgICAgIChKU0M6OkhlYXA6OkhlYXApOgorICAgICAgICAoSlNDOjpIZWFwOjps
YXN0Q2hhbmNlVG9GaW5hbGl6ZSk6CisgICAgICAgIChKU0M6OkhlYXA6OnJlbGVhc2VEZWxheWVk
UmVsZWFzZWRPYmplY3RzKToKKyAgICAgICAgKEpTQzo6SGVhcDo6cHJvdGVjdCk6CisgICAgICAg
IChKU0M6OkhlYXA6OnVucHJvdGVjdCk6CisgICAgICAgIChKU0M6OkhlYXA6OmZpbmFsaXplVW5j
b25kaXRpb25hbEZpbmFsaXplcnMpOgorICAgICAgICAoSlNDOjpIZWFwOjpjb21wbGV0ZUFsbEpJ
VFBsYW5zKToKKyAgICAgICAgKEpTQzo6SGVhcDo6aXRlcmF0ZUV4ZWN1dGluZ0FuZENvbXBpbGlu
Z0NvZGVCbG9ja3MpOgorICAgICAgICAoSlNDOjpIZWFwOjpnYXRoZXJKU1N0YWNrUm9vdHMpOgor
ICAgICAgICAoSlNDOjpIZWFwOjpnYXRoZXJTY3JhdGNoQnVmZmVyUm9vdHMpOgorICAgICAgICAo
SlNDOjpIZWFwOjpyZW1vdmVEZWFkQ29tcGlsZXJXb3JrbGlzdEVudHJpZXMpOgorICAgICAgICAo
SlNDOjpIZWFwOjpnYXRoZXJFeHRyYUhlYXBEYXRhKToKKyAgICAgICAgKEpTQzo6SGVhcDo6ZGVs
ZXRlQWxsQ29kZUJsb2Nrcyk6CisgICAgICAgIChKU0M6OkhlYXA6OmRlbGV0ZUFsbFVubGlua2Vk
Q29kZUJsb2Nrcyk6CisgICAgICAgIChKU0M6OkhlYXA6OmZpbmlzaENoYW5naW5nUGhhc2UpOgor
ICAgICAgICAoSlNDOjpIZWFwOjpjb2xsZWN0SW5NdXRhdG9yVGhyZWFkKToKKyAgICAgICAgKEpT
Qzo6SGVhcDo6ZmluaXNoUmVsaW5xdWlzaGluZ0Nvbm4pOgorICAgICAgICAoSlNDOjpIZWFwOjpk
ZWxldGVTb3VyY2VQcm92aWRlckNhY2hlcyk6CisgICAgICAgIChKU0M6OkhlYXA6OmRpZEZpbmlz
aENvbGxlY3Rpb24pOgorICAgICAgICAoSlNDOjpIZWFwOjppc1ZhbGlkQWxsb2NhdGlvbik6Cisg
ICAgICAgIChKU0M6OkhlYXA6OmFkZENvcmVDb25zdHJhaW50cyk6CisgICAgICAgICogaGVhcC9I
ZWFwLmg6CisKIDIwMjEtMTAtMjEgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ2xlYW4gdXAgc29tZSBjb2RlIGFyb3VuZCBjaGVja2luZyB0aGUgc3RhdGUgb2Yg
V2F0Y2hwb2ludHMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCShyZXZpc2lv
biAyODQ2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjkxLDggKzI5MSw3IEBAIEhlYXA6OkhlYXAoVk0mIHZtLCBIZWFwVHlwZSBo
ZWFwVHlwZSkKICAgICAsIG1faGFuZGxlU2V0KHZtKQogICAgICwgbV9jb2RlQmxvY2tzKG1ha2VV
bmlxdWU8Q29kZUJsb2NrU2V0PigpKQogICAgICwgbV9qaXRTdHViUm91dGluZXMobWFrZVVuaXF1
ZTxKSVRTdHViUm91dGluZVNldD4oKSkKLSAgICAsIG1fdm0odm0pCi0gICAgLy8gV2Ugc2VlZCB3
aXRoIDEwbXMgc28gdGhhdCBHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRpZEFsbG9jYXRlIGRvZXNuJ3Qg
Y29udGludW91c2x5IAorICAgIC8vIFdlIHNlZWQgd2l0aCAxMG1zIHNvIHRoYXQgR0NBY3Rpdml0
eUNhbGxiYWNrOjpkaWRBbGxvY2F0ZSBkb2Vzbid0IGNvbnRpbnVvdXNseQogICAgIC8vIHNjaGVk
dWxlIHRoZSB0aW1lciBpZiB3ZSd2ZSBuZXZlciBkb25lIGEgY29sbGVjdGlvbi4KICAgICAsIG1f
ZnVsbEFjdGl2aXR5Q2FsbGJhY2soR0NBY3Rpdml0eUNhbGxiYWNrOjp0cnlDcmVhdGVGdWxsVGlt
ZXIodGhpcykpCiAgICAgLCBtX2VkZW5BY3Rpdml0eUNhbGxiYWNrKEdDQWN0aXZpdHlDYWxsYmFj
azo6dHJ5Q3JlYXRlRWRlblRpbWVyKHRoaXMpKQpAQCAtMzk1LDcgKzM5NCw3IEBAIHZvaWQgSGVh
cDo6bGFzdENoYW5jZVRvRmluYWxpemUoKQogICAgIAogICAgIG1faXNTaHV0dGluZ0Rvd24gPSB0
cnVlOwogICAgIAotICAgIFJFTEVBU0VfQVNTRVJUKCFtX3ZtLmVudHJ5U2NvcGUpOworICAgIFJF
TEVBU0VfQVNTRVJUKCF2bSgpLmVudHJ5U2NvcGUpOwogICAgIFJFTEVBU0VfQVNTRVJUKG1fbXV0
YXRvclN0YXRlID09IE11dGF0b3JTdGF0ZTo6UnVubmluZyk7CiAgICAgCiAgICAgaWYgKG1fY29s
bGVjdENvbnRpbnVvdXNseVRocmVhZCkgewpAQCAtNDgzLDEzICs0ODIsMTMgQEAgdm9pZCBIZWFw
OjpyZWxlYXNlRGVsYXllZFJlbGVhc2VkT2JqZWN0cwogICAgIC8vIGFuZCB1c2UgYSB0ZW1wIFZl
Y3RvciBmb3IgdGhlIGFjdHVhbCByZWxlYXNpbmcuCiAgICAgaWYgKCFtX2RlbGF5ZWRSZWxlYXNl
UmVjdXJzaW9uQ291bnQrKykgewogICAgICAgICB3aGlsZSAoIW1fZGVsYXllZFJlbGVhc2VPYmpl
Y3RzLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgQVNTRVJUKG1fdm0uY3VycmVudFRocmVhZElz
SG9sZGluZ0FQSUxvY2soKSk7CisgICAgICAgICAgICBBU1NFUlQodm0oKS5jdXJyZW50VGhyZWFk
SXNIb2xkaW5nQVBJTG9jaygpKTsKIAogICAgICAgICAgICAgYXV0byBvYmplY3RzVG9SZWxlYXNl
ID0gV1RGTW92ZShtX2RlbGF5ZWRSZWxlYXNlT2JqZWN0cyk7CiAKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGRyb3AgbG9ja3MgYmVmb3JlIGNhbGxpbmcgb3V0
IHRvIGFyYml0cmFyeSBjb2RlLgotICAgICAgICAgICAgICAgIEpTTG9jazo6RHJvcEFsbExvY2tz
IGRyb3BBbGxMb2NrcyhtX3ZtKTsKKyAgICAgICAgICAgICAgICBKU0xvY2s6OkRyb3BBbGxMb2Nr
cyBkcm9wQWxsTG9ja3Modm0oKSk7CiAKICNpZiBVU0UoRk9VTkRBVElPTikKICAgICAgICAgICAg
ICAgICB2b2lkKiBjb250ZXh0ID0gb2JqY19hdXRvcmVsZWFzZVBvb2xQdXNoKCk7CkBAIC01NTYs
NyArNTU1LDcgQEAgdm9pZCBIZWFwOjpyZXBvcnRBYmFuZG9uZWRPYmplY3RHcmFwaCgpCiB2b2lk
IEhlYXA6OnByb3RlY3QoSlNWYWx1ZSBrKQogewogICAgIEFTU0VSVChrKTsKLSAgICBBU1NFUlQo
bV92bS5jdXJyZW50VGhyZWFkSXNIb2xkaW5nQVBJTG9jaygpKTsKKyAgICBBU1NFUlQodm0oKS5j
dXJyZW50VGhyZWFkSXNIb2xkaW5nQVBJTG9jaygpKTsKIAogICAgIGlmICghay5pc0NlbGwoKSkK
ICAgICAgICAgcmV0dXJuOwpAQCAtNTY3LDcgKzU2Niw3IEBAIHZvaWQgSGVhcDo6cHJvdGVjdChK
U1ZhbHVlIGspCiBib29sIEhlYXA6OnVucHJvdGVjdChKU1ZhbHVlIGspCiB7CiAgICAgQVNTRVJU
KGspOwotICAgIEFTU0VSVChtX3ZtLmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2NrKCkpOwor
ICAgIEFTU0VSVCh2bSgpLmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2NrKCkpOwogCiAgICAg
aWYgKCFrLmlzQ2VsbCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC01OTQsMzIgKzU5Mywz
MyBAQCB2b2lkIEhlYXA6OmZpbmFsaXplTWFya2VkVW5jb25kaXRpb25hbEZpCiAKIHZvaWQgSGVh
cDo6ZmluYWxpemVVbmNvbmRpdGlvbmFsRmluYWxpemVycygpCiB7Ci0gICAgdm0oKS5idWlsdGlu
RXhlY3V0YWJsZXMoKS0+ZmluYWxpemVVbmNvbmRpdGlvbmFsbHkoKTsKLSAgICBmaW5hbGl6ZU1h
cmtlZFVuY29uZGl0aW9uYWxGaW5hbGl6ZXJzPEZ1bmN0aW9uRXhlY3V0YWJsZT4odm0oKS5mdW5j
dGlvbkV4ZWN1dGFibGVTcGFjZS5zcGFjZSk7Ci0gICAgZmluYWxpemVNYXJrZWRVbmNvbmRpdGlv
bmFsRmluYWxpemVyczxTeW1ib2xUYWJsZT4odm0oKS5zeW1ib2xUYWJsZVNwYWNlKTsKLSAgICBm
aW5hbGl6ZU1hcmtlZFVuY29uZGl0aW9uYWxGaW5hbGl6ZXJzPEV4ZWN1dGFibGVUb0NvZGVCbG9j
a0VkZ2U+KHZtKCkuZXhlY3V0YWJsZVRvQ29kZUJsb2NrRWRnZXNXaXRoRmluYWxpemVycyk7IC8v
IFdlIHJ1biB0aGlzIGJlZm9yZSBDb2RlQmxvY2sncyB1bmNvbmRpdGlvbmFsIGZpbmFsaXplciBz
aW5jZSBDb2RlQmxvY2sgbG9va3MgYXQgdGhlIG93bmVyIGV4ZWN1dGFibGUncyBpbnN0YWxsZWQg
Q29kZUJsb2NrIGluIGl0cyBmaW5hbGl6ZVVuY29uZGl0aW9uYWxseS4KLSAgICB2bSgpLmZvckVh
Y2hDb2RlQmxvY2tTcGFjZSgKKyAgICBWTSYgdm0gPSB0aGlzLT52bSgpOworICAgIHZtLmJ1aWx0
aW5FeGVjdXRhYmxlcygpLT5maW5hbGl6ZVVuY29uZGl0aW9uYWxseSgpOworICAgIGZpbmFsaXpl
TWFya2VkVW5jb25kaXRpb25hbEZpbmFsaXplcnM8RnVuY3Rpb25FeGVjdXRhYmxlPih2bS5mdW5j
dGlvbkV4ZWN1dGFibGVTcGFjZS5zcGFjZSk7CisgICAgZmluYWxpemVNYXJrZWRVbmNvbmRpdGlv
bmFsRmluYWxpemVyczxTeW1ib2xUYWJsZT4odm0uc3ltYm9sVGFibGVTcGFjZSk7CisgICAgZmlu
YWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmluYWxpemVyczxFeGVjdXRhYmxlVG9Db2RlQmxvY2tF
ZGdlPih2bS5leGVjdXRhYmxlVG9Db2RlQmxvY2tFZGdlc1dpdGhGaW5hbGl6ZXJzKTsgLy8gV2Ug
cnVuIHRoaXMgYmVmb3JlIENvZGVCbG9jaydzIHVuY29uZGl0aW9uYWwgZmluYWxpemVyIHNpbmNl
IENvZGVCbG9jayBsb29rcyBhdCB0aGUgb3duZXIgZXhlY3V0YWJsZSdzIGluc3RhbGxlZCBDb2Rl
QmxvY2sgaW4gaXRzIGZpbmFsaXplVW5jb25kaXRpb25hbGx5LgorICAgIHZtLmZvckVhY2hDb2Rl
QmxvY2tTcGFjZSgKICAgICAgICAgWyZdIChhdXRvJiBzcGFjZSkgewogICAgICAgICAgICAgdGhp
cy0+ZmluYWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmluYWxpemVyczxDb2RlQmxvY2s+KHNwYWNl
LnNldCk7CiAgICAgICAgIH0pOwotICAgIGZpbmFsaXplTWFya2VkVW5jb25kaXRpb25hbEZpbmFs
aXplcnM8U3RydWN0dXJlUmFyZURhdGE+KHZtKCkuc3RydWN0dXJlUmFyZURhdGFTcGFjZSk7Ci0g
ICAgZmluYWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmluYWxpemVyczxVbmxpbmtlZEZ1bmN0aW9u
RXhlY3V0YWJsZT4odm0oKS51bmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZVNwYWNlLnNldCk7Ci0g
ICAgaWYgKHZtKCkubV93ZWFrU2V0U3BhY2UpCi0gICAgICAgIGZpbmFsaXplTWFya2VkVW5jb25k
aXRpb25hbEZpbmFsaXplcnM8SlNXZWFrU2V0Pigqdm0oKS5tX3dlYWtTZXRTcGFjZSk7Ci0gICAg
aWYgKHZtKCkubV93ZWFrTWFwU3BhY2UpCi0gICAgICAgIGZpbmFsaXplTWFya2VkVW5jb25kaXRp
b25hbEZpbmFsaXplcnM8SlNXZWFrTWFwPigqdm0oKS5tX3dlYWtNYXBTcGFjZSk7Ci0gICAgaWYg
KHZtKCkubV93ZWFrT2JqZWN0UmVmU3BhY2UpCi0gICAgICAgIGZpbmFsaXplTWFya2VkVW5jb25k
aXRpb25hbEZpbmFsaXplcnM8SlNXZWFrT2JqZWN0UmVmPigqdm0oKS5tX3dlYWtPYmplY3RSZWZT
cGFjZSk7Ci0gICAgaWYgKHZtKCkubV9lcnJvckluc3RhbmNlU3BhY2UpCi0gICAgICAgIGZpbmFs
aXplTWFya2VkVW5jb25kaXRpb25hbEZpbmFsaXplcnM8RXJyb3JJbnN0YW5jZT4oKnZtKCkubV9l
cnJvckluc3RhbmNlU3BhY2UpOworICAgIGZpbmFsaXplTWFya2VkVW5jb25kaXRpb25hbEZpbmFs
aXplcnM8U3RydWN0dXJlUmFyZURhdGE+KHZtLnN0cnVjdHVyZVJhcmVEYXRhU3BhY2UpOworICAg
IGZpbmFsaXplTWFya2VkVW5jb25kaXRpb25hbEZpbmFsaXplcnM8VW5saW5rZWRGdW5jdGlvbkV4
ZWN1dGFibGU+KHZtLnVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlU3BhY2Uuc2V0KTsKKyAgICBp
ZiAodm0ubV93ZWFrU2V0U3BhY2UpCisgICAgICAgIGZpbmFsaXplTWFya2VkVW5jb25kaXRpb25h
bEZpbmFsaXplcnM8SlNXZWFrU2V0Pigqdm0ubV93ZWFrU2V0U3BhY2UpOworICAgIGlmICh2bS5t
X3dlYWtNYXBTcGFjZSkKKyAgICAgICAgZmluYWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmluYWxp
emVyczxKU1dlYWtNYXA+KCp2bS5tX3dlYWtNYXBTcGFjZSk7CisgICAgaWYgKHZtLm1fd2Vha09i
amVjdFJlZlNwYWNlKQorICAgICAgICBmaW5hbGl6ZU1hcmtlZFVuY29uZGl0aW9uYWxGaW5hbGl6
ZXJzPEpTV2Vha09iamVjdFJlZj4oKnZtLm1fd2Vha09iamVjdFJlZlNwYWNlKTsKKyAgICBpZiAo
dm0ubV9lcnJvckluc3RhbmNlU3BhY2UpCisgICAgICAgIGZpbmFsaXplTWFya2VkVW5jb25kaXRp
b25hbEZpbmFsaXplcnM8RXJyb3JJbnN0YW5jZT4oKnZtLm1fZXJyb3JJbnN0YW5jZVNwYWNlKTsK
IAogICAgIC8vIEZpbmFsaXphdGlvblJlZ2lzdHJpZXMgY3VycmVudGx5IHJlbHkgb24gc2VyaWFs
IGZpbmFsaXphdGlvbiBiZWNhdXNlIHRoZXkgY2FuIHBvc3QgdGFza3MgdG8gdGhlIGRlZmVycmVk
V29ya1RpbWVyLCB3aGljaCBub3JtYWxseSBleHBlY3RzIHRhc2tzIHRvIG9ubHkgYmUgcG9zdGVk
IGJ5IHRoZSBBUEkgbG9jayBob2xkZXIuCi0gICAgaWYgKHZtKCkubV9maW5hbGl6YXRpb25SZWdp
c3RyeVNwYWNlKQotICAgICAgICBmaW5hbGl6ZU1hcmtlZFVuY29uZGl0aW9uYWxGaW5hbGl6ZXJz
PEpTRmluYWxpemF0aW9uUmVnaXN0cnk+KCp2bSgpLm1fZmluYWxpemF0aW9uUmVnaXN0cnlTcGFj
ZSk7CisgICAgaWYgKHZtLm1fZmluYWxpemF0aW9uUmVnaXN0cnlTcGFjZSkKKyAgICAgICAgZmlu
YWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmluYWxpemVyczxKU0ZpbmFsaXphdGlvblJlZ2lzdHJ5
Pigqdm0ubV9maW5hbGl6YXRpb25SZWdpc3RyeVNwYWNlKTsKIAogI2lmIEVOQUJMRShXRUJBU1NF
TUJMWSkKLSAgICBpZiAodm0oKS5tX3dlYkFzc2VtYmx5Q29kZUJsb2NrU3BhY2UpCi0gICAgICAg
IGZpbmFsaXplTWFya2VkVW5jb25kaXRpb25hbEZpbmFsaXplcnM8SlNXZWJBc3NlbWJseUNvZGVC
bG9jaz4oKnZtKCkubV93ZWJBc3NlbWJseUNvZGVCbG9ja1NwYWNlKTsKKyAgICBpZiAodm0ubV93
ZWJBc3NlbWJseUNvZGVCbG9ja1NwYWNlKQorICAgICAgICBmaW5hbGl6ZU1hcmtlZFVuY29uZGl0
aW9uYWxGaW5hbGl6ZXJzPEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+KCp2bS5tX3dlYkFzc2VtYmx5
Q29kZUJsb2NrU3BhY2UpOwogI2VuZGlmCiB9CiAKQEAgLTYzOCw3ICs2MzgsNyBAQCB2b2lkIEhl
YXA6OmNvbXBsZXRlQWxsSklUUGxhbnMoKQogICAgIGlmICghT3B0aW9uczo6dXNlSklUKCkpCiAg
ICAgICAgIHJldHVybjsKICNpZiBFTkFCTEUoSklUKQotICAgIEpJVFdvcmtsaXN0OjplbnN1cmVH
bG9iYWxXb3JrbGlzdCgpLmNvbXBsZXRlQWxsUGxhbnNGb3JWTShtX3ZtKTsKKyAgICBKSVRXb3Jr
bGlzdDo6ZW5zdXJlR2xvYmFsV29ya2xpc3QoKS5jb21wbGV0ZUFsbFBsYW5zRm9yVk0odm0oKSk7
CiAjZW5kaWYgLy8gRU5BQkxFKEpJVCkKIH0KIApAQCAtNjQ4LDcgKzY0OCw3IEBAIHZvaWQgSGVh
cDo6aXRlcmF0ZUV4ZWN1dGluZ0FuZENvbXBpbGluZ0MKICAgICBtX2NvZGVCbG9ja3MtPml0ZXJh
dGVDdXJyZW50bHlFeGVjdXRpbmcoZnVuYyk7CiAjaWYgRU5BQkxFKEpJVCkKICAgICBpZiAoT3B0
aW9uczo6dXNlSklUKCkpCi0gICAgICAgIEpJVFdvcmtsaXN0OjplbnN1cmVHbG9iYWxXb3JrbGlz
dCgpLml0ZXJhdGVDb2RlQmxvY2tzRm9yR0ModmlzaXRvciwgbV92bSwgZnVuYyk7CisgICAgICAg
IEpJVFdvcmtsaXN0OjplbnN1cmVHbG9iYWxXb3JrbGlzdCgpLml0ZXJhdGVDb2RlQmxvY2tzRm9y
R0ModmlzaXRvciwgdm0oKSwgZnVuYyk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTSh2aXNpdG9y
KTsKICNlbmRpZiAvLyBFTkFCTEUoSklUKQpAQCAtNzAwLDcgKzcwMCw3IEBAIHZvaWQgSGVhcDo6
Z2F0aGVyU3RhY2tSb290cyhDb25zZXJ2YXRpdmUKIHZvaWQgSGVhcDo6Z2F0aGVySlNTdGFja1Jv
b3RzKENvbnNlcnZhdGl2ZVJvb3RzJiByb290cykKIHsKICNpZiBFTkFCTEUoQ19MT09QKQotICAg
IG1fdm0uaW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5nYXRoZXJDb25zZXJ2YXRpdmVSb290cyhy
b290cywgKm1faml0U3R1YlJvdXRpbmVzLCAqbV9jb2RlQmxvY2tzKTsKKyAgICB2bSgpLmludGVy
cHJldGVyLT5jbG9vcFN0YWNrKCkuZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMocm9vdHMsICptX2pp
dFN0dWJSb3V0aW5lcywgKm1fY29kZUJsb2Nrcyk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShy
b290cyk7CiAjZW5kaWYKQEAgLTcxMSw4ICs3MTEsOSBAQCB2b2lkIEhlYXA6OmdhdGhlclNjcmF0
Y2hCdWZmZXJSb290cyhDb25zCiAjaWYgRU5BQkxFKERGR19KSVQpCiAgICAgaWYgKCFPcHRpb25z
Ojp1c2VKSVQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fdm0uZ2F0aGVyU2NyYXRjaEJ1ZmZl
clJvb3RzKHJvb3RzKTsKLSAgICBtX3ZtLnNjYW5TaWRlU3RhdGUocm9vdHMpOworICAgIFZNJiB2
bSA9IHRoaXMtPnZtKCk7CisgICAgdm0uZ2F0aGVyU2NyYXRjaEJ1ZmZlclJvb3RzKHJvb3RzKTsK
KyAgICB2bS5zY2FuU2lkZVN0YXRlKHJvb3RzKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHJv
b3RzKTsKICNlbmRpZgpAQCAtNzMxLDcgKzczMiw3IEBAIHZvaWQgSGVhcDo6cmVtb3ZlRGVhZENv
bXBpbGVyV29ya2xpc3RFbnQKICAgICBpZiAoIU9wdGlvbnM6OnVzZUpJVCgpKQogICAgICAgICBy
ZXR1cm47CiAjaWYgRU5BQkxFKEpJVCkKLSAgICBKSVRXb3JrbGlzdDo6ZW5zdXJlR2xvYmFsV29y
a2xpc3QoKS5yZW1vdmVEZWFkUGxhbnMobV92bSk7CisgICAgSklUV29ya2xpc3Q6OmVuc3VyZUds
b2JhbFdvcmtsaXN0KCkucmVtb3ZlRGVhZFBsYW5zKHZtKCkpOwogI2VuZGlmIC8vIEVOQUJMRShK
SVQpCiB9CiAKQEAgLTc1OSw3ICs3NjAsNyBAQCB2b2lkIEhlYXA6OmdhdGhlckV4dHJhSGVhcERh
dGEoSGVhcFByb2ZpCiB7CiAgICAgaWYgKGF1dG8qIGFuYWx5emVyID0gaGVhcFByb2ZpbGVyLmFj
dGl2ZUhlYXBBbmFseXplcigpKSB7CiAgICAgICAgIEhlYXBJdGVyYXRpb25TY29wZSBoZWFwSXRl
cmF0aW9uU2NvcGUoKnRoaXMpOwotICAgICAgICBHYXRoZXJFeHRyYUhlYXBEYXRhIGZ1bmN0b3Io
bV92bSwgKmFuYWx5emVyKTsKKyAgICAgICAgR2F0aGVyRXh0cmFIZWFwRGF0YSBmdW5jdG9yKHZt
KCksICphbmFseXplcik7CiAgICAgICAgIG1fb2JqZWN0U3BhY2UuZm9yRWFjaExpdmVDZWxsKGhl
YXBJdGVyYXRpb25TY29wZSwgZnVuY3Rvcik7CiAgICAgfQogfQpAQCAtOTEwLDcgKzkxMSw3IEBA
IHZvaWQgSGVhcDo6ZGVsZXRlQWxsQ29kZUJsb2NrcyhEZWxldGVBbGwKICAgICBpZiAobV9jb2xs
ZWN0aW9uU2NvcGUgJiYgZWZmb3J0ID09IERlbGV0ZUFsbENvZGVJZk5vdENvbGxlY3RpbmcpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIFZNJiB2bSA9IG1fdm07CisgICAgVk0mIHZtID0gdGhpcy0+
dm0oKTsKICAgICBQcmV2ZW50Q29sbGVjdGlvblNjb3BlIHByZXZlbnRDb2xsZWN0aW9uU2NvcGUo
KnRoaXMpOwogICAgIAogICAgIC8vIElmIEphdmFTY3JpcHQgaXMgcnVubmluZywgaXQncyBub3Qg
c2FmZSB0byBkZWxldGUgYWxsIEphdmFTY3JpcHQgY29kZSwgc2luY2UKQEAgLTk1NSw3ICs5NTYs
NyBAQCB2b2lkIEhlYXA6OmRlbGV0ZUFsbFVubGlua2VkQ29kZUJsb2NrcyhECiAgICAgaWYgKG1f
Y29sbGVjdGlvblNjb3BlICYmIGVmZm9ydCA9PSBEZWxldGVBbGxDb2RlSWZOb3RDb2xsZWN0aW5n
KQogICAgICAgICByZXR1cm47CiAKLSAgICBWTSYgdm0gPSBtX3ZtOworICAgIFZNJiB2bSA9IHRo
aXMtPnZtKCk7CiAgICAgUHJldmVudENvbGxlY3Rpb25TY29wZSBwcmV2ZW50Q29sbGVjdGlvblNj
b3BlKCp0aGlzKTsKIAogICAgIFJFTEVBU0VfQVNTRVJUKCFtX2NvbGxlY3Rpb25TY29wZSk7CkBA
IC0xNjE0LDcgKzE2MTUsNyBAQCBORVZFUl9JTkxJTkUgYm9vbCBIZWFwOjpmaW5pc2hDaGFuZ2lu
Z1BoCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHNhbml0aXplU3RhY2tGb3JW
TShtX3ZtKTsKKyAgICAgICAgICAgICAgICBzYW5pdGl6ZVN0YWNrRm9yVk0odm0oKSk7CiAgICAg
ICAgICAgICAgICAgaGFuZGxlTmVlZEZpbmFsaXplKCk7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBzdG9wVGhlUGVyaXBoZXJ5KGNvbm4pOwpAQCAtMTgyOSw3ICsxODMwLDcgQEAgTkVWRVJf
SU5MSU5FIHZvaWQgSGVhcDo6Y29sbGVjdEluTXV0YXRvcgogICAgICAgICBjYXNlIFJ1bkN1cnJl
bnRQaGFzZVJlc3VsdDo6Q29udGludWU6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBSdW5DdXJyZW50UGhhc2VSZXN1bHQ6Ok5lZWRDdXJyZW50VGhyZWFkU3RhdGU6Ci0gICAgICAg
ICAgICBzYW5pdGl6ZVN0YWNrRm9yVk0obV92bSk7CisgICAgICAgICAgICBzYW5pdGl6ZVN0YWNr
Rm9yVk0odm0oKSk7CiAgICAgICAgICAgICBhdXRvIGxhbWJkYSA9IFsmXSAoQ3VycmVudFRocmVh
ZFN0YXRlJiBzdGF0ZSkgewogICAgICAgICAgICAgICAgIGZvciAoOzspIHsKICAgICAgICAgICAg
ICAgICAgICAgUnVuQ3VycmVudFBoYXNlUmVzdWx0IHJlc3VsdCA9IHJ1bkN1cnJlbnRQaGFzZShH
Q0NvbmR1Y3Rvcjo6TXV0YXRvciwgJnN0YXRlKTsKQEAgLTE5NzMsNyArMTk3NCw3IEBAIHZvaWQg
SGVhcDo6ZmluaXNoUmVsaW5xdWlzaGluZ0Nvbm4oKQogICAgIGlmIChmYWxzZSkKICAgICAgICAg
ZGF0YUxvZygiUmVsaW5xdWlzaGVkIHRoZSBjb25uLlxuIik7CiAgICAgCi0gICAgc2FuaXRpemVT
dGFja0ZvclZNKG1fdm0pOworICAgIHNhbml0aXplU3RhY2tGb3JWTSh2bSgpKTsKICAgICAKICAg
ICBMb2NrZXIgbG9ja2VyIHsgKm1fdGhyZWFkTG9jayB9OwogICAgIGlmICghbV9yZXF1ZXN0cy5p
c0VtcHR5KCkpCkBAIC0yMjA0LDcgKzIyMDUsNyBAQCB2b2lkIEhlYXA6OnNuYXBzaG90VW5zd2Vw
dCgpCiB2b2lkIEhlYXA6OmRlbGV0ZVNvdXJjZVByb3ZpZGVyQ2FjaGVzKCkKIHsKICAgICBpZiAo
bV9sYXN0Q29sbGVjdGlvblNjb3BlICYmIG1fbGFzdENvbGxlY3Rpb25TY29wZS52YWx1ZSgpID09
IENvbGxlY3Rpb25TY29wZTo6RnVsbCkKLSAgICAgICAgbV92bS5jbGVhclNvdXJjZVByb3ZpZGVy
Q2FjaGVzKCk7CisgICAgICAgIHZtKCkuY2xlYXJTb3VyY2VQcm92aWRlckNhY2hlcygpOwogfQog
CiB2b2lkIEhlYXA6Om5vdGlmeUluY3JlbWVudGFsU3dlZXBlcigpCkBAIC0yMzIzLDcgKzIzMjQs
NyBAQCB2b2lkIEhlYXA6OmRpZEZpbmlzaENvbGxlY3Rpb24oKQogICAgIEFTU0VSVChleHRlcm5h
bE1lbW9yeVNpemUoKSA8PSBleHRyYU1lbW9yeVNpemUoKSk7CiAjZW5kaWYKIAotICAgIGlmIChI
ZWFwUHJvZmlsZXIqIGhlYXBQcm9maWxlciA9IG1fdm0uaGVhcFByb2ZpbGVyKCkpIHsKKyAgICBp
ZiAoSGVhcFByb2ZpbGVyKiBoZWFwUHJvZmlsZXIgPSB2bSgpLmhlYXBQcm9maWxlcigpKSB7CiAg
ICAgICAgIGdhdGhlckV4dHJhSGVhcERhdGEoKmhlYXBQcm9maWxlcik7CiAgICAgICAgIHJlbW92
ZURlYWRIZWFwU25hcHNob3ROb2RlcygqaGVhcFByb2ZpbGVyKTsKICAgICB9CkBAIC0yMzgxLDcg
KzIzODIsNyBAQCB2b2lkIEhlYXA6OmRpZEFsbG9jYXRlKHNpemVfdCBieXRlcykKIAogYm9vbCBI
ZWFwOjppc1ZhbGlkQWxsb2NhdGlvbihzaXplX3QpCiB7Ci0gICAgaWYgKCFpc1ZhbGlkVGhyZWFk
U3RhdGUobV92bSkpCisgICAgaWYgKCFpc1ZhbGlkVGhyZWFkU3RhdGUodm0oKSkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgIGlmIChpc0N1cnJlbnRUaHJlYWRCdXN5KCkpCkBAIC0yNzQ5
LDE0ICsyNzUwLDE1IEBAIHZvaWQgSGVhcDo6YWRkQ29yZUNvbnN0cmFpbnRzKCkKICAgICBtX2Nv
bnN0cmFpbnRTZXQtPmFkZCgKICAgICAgICAgIk1zciIsICJNaXNjIFNtYWxsIFJvb3RzIiwKICAg
ICAgICAgTUFLRV9NQVJLSU5HX0NPTlNUUkFJTlRfRVhFQ1VUT1JfUEFJUigoW3RoaXNdIChhdXRv
JiB2aXNpdG9yKSB7CisgICAgICAgICAgICBWTSYgdm0gPSB0aGlzLT52bSgpOwogICAgICAgICAg
ICAgaWYgY29uc3RleHByIChvYmpjQVBJRW5hYmxlZCkgewogICAgICAgICAgICAgICAgIFNldFJv
b3RNYXJrUmVhc29uU2NvcGUgcm9vdFNjb3BlKHZpc2l0b3IsIFJvb3RNYXJrUmVhc29uOjpFeHRl
cm5hbFJlbWVtYmVyZWRTZXQpOwotICAgICAgICAgICAgICAgIHNjYW5FeHRlcm5hbFJlbWVtYmVy
ZWRTZXQobV92bSwgdmlzaXRvcik7CisgICAgICAgICAgICAgICAgc2NhbkV4dGVybmFsUmVtZW1i
ZXJlZFNldCh2bSwgdmlzaXRvcik7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlmICht
X3ZtLnNtYWxsU3RyaW5ncy5uZWVkc1RvQmVWaXNpdGVkKCptX2NvbGxlY3Rpb25TY29wZSkpIHsK
KyAgICAgICAgICAgIGlmICh2bS5zbWFsbFN0cmluZ3MubmVlZHNUb0JlVmlzaXRlZCgqbV9jb2xs
ZWN0aW9uU2NvcGUpKSB7CiAgICAgICAgICAgICAgICAgU2V0Um9vdE1hcmtSZWFzb25TY29wZSBy
b290U2NvcGUodmlzaXRvciwgUm9vdE1hcmtSZWFzb246OlN0cm9uZ1JlZmVyZW5jZXMpOwotICAg
ICAgICAgICAgICAgIG1fdm0uc21hbGxTdHJpbmdzLnZpc2l0U3Ryb25nUmVmZXJlbmNlcyh2aXNp
dG9yKTsKKyAgICAgICAgICAgICAgICB2bS5zbWFsbFN0cmluZ3MudmlzaXRTdHJvbmdSZWZlcmVu
Y2VzKHZpc2l0b3IpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICB7
CkBAIC0yNzc5LDE0ICsyNzgxLDE0IEBAIHZvaWQgSGVhcDo6YWRkQ29yZUNvbnN0cmFpbnRzKCkK
IAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIFNldFJvb3RNYXJrUmVhc29uU2NvcGUg
cm9vdFNjb3BlKHZpc2l0b3IsIFJvb3RNYXJrUmVhc29uOjpWTUV4Y2VwdGlvbnMpOwotICAgICAg
ICAgICAgICAgIHZpc2l0b3IuYXBwZW5kVW5iYXJyaWVyZWQobV92bS5leGNlcHRpb24oKSk7Ci0g
ICAgICAgICAgICAgICAgdmlzaXRvci5hcHBlbmRVbmJhcnJpZXJlZChtX3ZtLmxhc3RFeGNlcHRp
b24oKSk7CisgICAgICAgICAgICAgICAgdmlzaXRvci5hcHBlbmRVbmJhcnJpZXJlZCh2bS5leGNl
cHRpb24oKSk7CisgICAgICAgICAgICAgICAgdmlzaXRvci5hcHBlbmRVbmJhcnJpZXJlZCh2bS5s
YXN0RXhjZXB0aW9uKCkpOwogCiAgICAgICAgICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gbV90
ZXJtaW5hdGlvbkV4Y2VwdGlvbiBkaXJlY3RseSBpbnN0ZWFkIG9mIGdvaW5nIHRocm91Z2gKICAg
ICAgICAgICAgICAgICAvLyB0aGUgZXhjZXB0aW9uKCkgZ2V0dGVyIGJlY2F1c2Ugd2Ugd2FudCB0
byBhc3NlcnQgaW4gdGhlIGdldHRlciB0aGF0IHRoZQogICAgICAgICAgICAgICAgIC8vIFRlcm1p
bmF0aW9uRXhjZXB0aW9uIGhhcyBiZWVuIHJlaWZpZWQuIEhlcmUsIHdlIGRvbid0IGNhcmUgaWYg
aXQgaXMKICAgICAgICAgICAgICAgICAvLyByZWlmaWVkIG9yIG5vdC4KLSAgICAgICAgICAgICAg
ICB2aXNpdG9yLmFwcGVuZFVuYmFycmllcmVkKG1fdm0ubV90ZXJtaW5hdGlvbkV4Y2VwdGlvbik7
CisgICAgICAgICAgICAgICAgdmlzaXRvci5hcHBlbmRVbmJhcnJpZXJlZCh2bS5tX3Rlcm1pbmF0
aW9uRXhjZXB0aW9uKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSkpLAogICAgICAgICBDb25z
dHJhaW50Vm9sYXRpbGl0eTo6R3JleWVkQnlFeGVjdXRpb24pOwpAQCAtMjgwNCwxMyArMjgwNiwx
NCBAQCB2b2lkIEhlYXA6OmFkZENvcmVDb25zdHJhaW50cygpCiAgICAgICAgIE1BS0VfTUFSS0lO
R19DT05TVFJBSU5UX0VYRUNVVE9SX1BBSVIoKFt0aGlzXSAoYXV0byYgdmlzaXRvcikgewogICAg
ICAgICAgICAgU2V0Um9vdE1hcmtSZWFzb25TY29wZSByb290U2NvcGUodmlzaXRvciwgUm9vdE1h
cmtSZWFzb246OkRlYnVnZ2VyKTsKIAorICAgICAgICAgICAgVk0mIHZtID0gdGhpcy0+dm0oKTsK
ICAgICAgICAgICAgIGlmIGNvbnN0ZXhwciAoc2FtcGxpbmdQcm9maWxlclN1cHBvcnRlZCkKLSAg
ICAgICAgICAgICAgICB2aXNpdFNhbXBsaW5nUHJvZmlsZXIobV92bSwgdmlzaXRvcik7CisgICAg
ICAgICAgICAgICAgdmlzaXRTYW1wbGluZ1Byb2ZpbGVyKHZtLCB2aXNpdG9yKTsKIAotICAgICAg
ICAgICAgaWYgKG1fdm0udHlwZVByb2ZpbGVyKCkpCi0gICAgICAgICAgICAgICAgbV92bS50eXBl
UHJvZmlsZXJMb2coKS0+dmlzaXQodmlzaXRvcik7CisgICAgICAgICAgICBpZiAodm0udHlwZVBy
b2ZpbGVyKCkpCisgICAgICAgICAgICAgICAgdm0udHlwZVByb2ZpbGVyTG9nKCktPnZpc2l0KHZp
c2l0b3IpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoYXV0byogc2hhZG93Q2hpY2tl
biA9IG1fdm0uc2hhZG93Q2hpY2tlbigpKQorICAgICAgICAgICAgaWYgKGF1dG8qIHNoYWRvd0No
aWNrZW4gPSB2bS5zaGFkb3dDaGlja2VuKCkpCiAgICAgICAgICAgICAgICAgc2hhZG93Q2hpY2tl
bi0+dmlzaXRDaGlsZHJlbih2aXNpdG9yKTsKICAgICAgICAgfSkpLAogICAgICAgICBDb25zdHJh
aW50Vm9sYXRpbGl0eTo6R3JleWVkQnlFeGVjdXRpb24pOwpAQCAtMjg2OCw3ICsyODcxLDcgQEAg
dm9pZCBIZWFwOjphZGRDb3JlQ29uc3RyYWludHMoKQogICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIGlzIGFsbW9zdCBjZXJ0YWlubHkgdW5uZWNlc3NhcnkuCiAgICAgICAgICAgICAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjgyOQogICAgICAg
ICAgICAgICAgIEpJVFdvcmtsaXN0OjplbnN1cmVHbG9iYWxXb3JrbGlzdCgpLml0ZXJhdGVDb2Rl
QmxvY2tzRm9yR0ModmlzaXRvciwKLSAgICAgICAgICAgICAgICAgICAgbV92bSwKKyAgICAgICAg
ICAgICAgICAgICAgdm0oKSwKICAgICAgICAgICAgICAgICAgICAgWyZdIChDb2RlQmxvY2sqIGNv
ZGVCbG9jaykgewogICAgICAgICAgICAgICAgICAgICAgICAgdmlzaXRvci5hcHBlbmRVbmJhcnJp
ZXJlZChjb2RlQmxvY2spOwogICAgICAgICAgICAgICAgICAgICB9KTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9IZWFwLmgJKHJldmlzaW9uIDI4NDY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0hlYXAuaAkod29ya2luZyBjb3B5KQpAQCAtNjU1LDcgKzY1NSw2IEBAIHByaXZh
dGU6CiAKICAgICB1bnNpZ25lZCBtX2JhcnJpZXJUaHJlc2hvbGQgeyBPcHRpb25zOjpmb3JjZUZl
bmNlZEJhcnJpZXIoKSA/IHRhdXRvbG9naWNhbFRocmVzaG9sZCA6IGJsYWNrVGhyZXNob2xkIH07
CiAKLSAgICBWTSYgbV92bTsKICAgICBTZWNvbmRzIG1fbGFzdEZ1bGxHQ0xlbmd0aCB7IDEwX21z
IH07CiAgICAgU2Vjb25kcyBtX2xhc3RFZGVuR0NMZW5ndGggeyAxMF9tcyB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442121</attachid>
            <date>2021-10-21 22:09:42 -0700</date>
            <delta_ts>2021-10-22 00:20:02 -0700</delta_ts>
            <desc>[fast-cq] proposed patch.</desc>
            <filename>bug-232132.patch</filename>
            <type>text/plain</type>
            <size>15840</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjg0NjY2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDIxLTEwLTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgdW5uZWVkZWQgSGVhcDo6bV92bS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMjEzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEhlYXA6OnZtKCkgYWxyZWFkeSBjb21wdXRlcyB0aGUgYXNzb2Np
YXRlZCBWTSYgdXNpbmcgb2Zmc2V0IG1hdGguICBUaGlzIGVudGFpbHMKKyAgICAgICAgc3VidHJh
Y3RpbmcgYSBjb25zdGFudCBmcm9tIEhlYXAncyB0aGlzIHBvaW50ZXIsIHdoaWNoIGlzIGZhc3Rl
ciB0aGFuIGxvYWRpbmcgZnJvbQorICAgICAgICBhIGZpZWxkLgorCisgICAgICAgICogaGVhcC9I
ZWFwLmNwcDoKKyAgICAgICAgKEpTQzo6SGVhcDo6SGVhcCk6CisgICAgICAgIChKU0M6OkhlYXA6
Omxhc3RDaGFuY2VUb0ZpbmFsaXplKToKKyAgICAgICAgKEpTQzo6SGVhcDo6cmVsZWFzZURlbGF5
ZWRSZWxlYXNlZE9iamVjdHMpOgorICAgICAgICAoSlNDOjpIZWFwOjpwcm90ZWN0KToKKyAgICAg
ICAgKEpTQzo6SGVhcDo6dW5wcm90ZWN0KToKKyAgICAgICAgKEpTQzo6SGVhcDo6ZmluYWxpemVV
bmNvbmRpdGlvbmFsRmluYWxpemVycyk6CisgICAgICAgIChKU0M6OkhlYXA6OmNvbXBsZXRlQWxs
SklUUGxhbnMpOgorICAgICAgICAoSlNDOjpIZWFwOjppdGVyYXRlRXhlY3V0aW5nQW5kQ29tcGls
aW5nQ29kZUJsb2Nrcyk6CisgICAgICAgIChKU0M6OkhlYXA6OmdhdGhlckpTU3RhY2tSb290cyk6
CisgICAgICAgIChKU0M6OkhlYXA6OmdhdGhlclNjcmF0Y2hCdWZmZXJSb290cyk6CisgICAgICAg
IChKU0M6OkhlYXA6OnJlbW92ZURlYWRDb21waWxlcldvcmtsaXN0RW50cmllcyk6CisgICAgICAg
IChKU0M6OkhlYXA6OmdhdGhlckV4dHJhSGVhcERhdGEpOgorICAgICAgICAoSlNDOjpIZWFwOjpk
ZWxldGVBbGxDb2RlQmxvY2tzKToKKyAgICAgICAgKEpTQzo6SGVhcDo6ZGVsZXRlQWxsVW5saW5r
ZWRDb2RlQmxvY2tzKToKKyAgICAgICAgKEpTQzo6SGVhcDo6ZmluaXNoQ2hhbmdpbmdQaGFzZSk6
CisgICAgICAgIChKU0M6OkhlYXA6OmNvbGxlY3RJbk11dGF0b3JUaHJlYWQpOgorICAgICAgICAo
SlNDOjpIZWFwOjpmaW5pc2hSZWxpbnF1aXNoaW5nQ29ubik6CisgICAgICAgIChKU0M6OkhlYXA6
OmRlbGV0ZVNvdXJjZVByb3ZpZGVyQ2FjaGVzKToKKyAgICAgICAgKEpTQzo6SGVhcDo6ZGlkRmlu
aXNoQ29sbGVjdGlvbik6CisgICAgICAgIChKU0M6OkhlYXA6OmlzVmFsaWRBbGxvY2F0aW9uKToK
KyAgICAgICAgKEpTQzo6SGVhcDo6YWRkQ29yZUNvbnN0cmFpbnRzKToKKyAgICAgICAgKiBoZWFw
L0hlYXAuaDoKKwogMjAyMS0xMC0yMSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBDbGVhbiB1cCBzb21lIGNvZGUgYXJvdW5kIGNoZWNraW5nIHRoZSBzdGF0ZSBv
ZiBXYXRjaHBvaW50cwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAJKHJldmlz
aW9uIDI4NDY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOTEsOCArMjkxLDcgQEAgSGVhcDo6SGVhcChWTSYgdm0sIEhlYXBUeXBl
IGhlYXBUeXBlKQogICAgICwgbV9oYW5kbGVTZXQodm0pCiAgICAgLCBtX2NvZGVCbG9ja3MobWFr
ZVVuaXF1ZTxDb2RlQmxvY2tTZXQ+KCkpCiAgICAgLCBtX2ppdFN0dWJSb3V0aW5lcyhtYWtlVW5p
cXVlPEpJVFN0dWJSb3V0aW5lU2V0PigpKQotICAgICwgbV92bSh2bSkKLSAgICAvLyBXZSBzZWVk
IHdpdGggMTBtcyBzbyB0aGF0IEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUgZG9lc24n
dCBjb250aW51b3VzbHkgCisgICAgLy8gV2Ugc2VlZCB3aXRoIDEwbXMgc28gdGhhdCBHQ0FjdGl2
aXR5Q2FsbGJhY2s6OmRpZEFsbG9jYXRlIGRvZXNuJ3QgY29udGludW91c2x5CiAgICAgLy8gc2No
ZWR1bGUgdGhlIHRpbWVyIGlmIHdlJ3ZlIG5ldmVyIGRvbmUgYSBjb2xsZWN0aW9uLgogICAgICwg
bV9mdWxsQWN0aXZpdHlDYWxsYmFjayhHQ0FjdGl2aXR5Q2FsbGJhY2s6OnRyeUNyZWF0ZUZ1bGxU
aW1lcih0aGlzKSkKICAgICAsIG1fZWRlbkFjdGl2aXR5Q2FsbGJhY2soR0NBY3Rpdml0eUNhbGxi
YWNrOjp0cnlDcmVhdGVFZGVuVGltZXIodGhpcykpCkBAIC0zOTUsNyArMzk0LDcgQEAgdm9pZCBI
ZWFwOjpsYXN0Q2hhbmNlVG9GaW5hbGl6ZSgpCiAgICAgCiAgICAgbV9pc1NodXR0aW5nRG93biA9
IHRydWU7CiAgICAgCi0gICAgUkVMRUFTRV9BU1NFUlQoIW1fdm0uZW50cnlTY29wZSk7CisgICAg
UkVMRUFTRV9BU1NFUlQoIXZtKCkuZW50cnlTY29wZSk7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9t
dXRhdG9yU3RhdGUgPT0gTXV0YXRvclN0YXRlOjpSdW5uaW5nKTsKICAgICAKICAgICBpZiAobV9j
b2xsZWN0Q29udGludW91c2x5VGhyZWFkKSB7CkBAIC00ODMsMTMgKzQ4MiwxMyBAQCB2b2lkIEhl
YXA6OnJlbGVhc2VEZWxheWVkUmVsZWFzZWRPYmplY3RzCiAgICAgLy8gYW5kIHVzZSBhIHRlbXAg
VmVjdG9yIGZvciB0aGUgYWN0dWFsIHJlbGVhc2luZy4KICAgICBpZiAoIW1fZGVsYXllZFJlbGVh
c2VSZWN1cnNpb25Db3VudCsrKSB7CiAgICAgICAgIHdoaWxlICghbV9kZWxheWVkUmVsZWFzZU9i
amVjdHMuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBBU1NFUlQobV92bS5jdXJyZW50VGhyZWFk
SXNIb2xkaW5nQVBJTG9jaygpKTsKKyAgICAgICAgICAgIEFTU0VSVCh2bSgpLmN1cnJlbnRUaHJl
YWRJc0hvbGRpbmdBUElMb2NrKCkpOwogCiAgICAgICAgICAgICBhdXRvIG9iamVjdHNUb1JlbGVh
c2UgPSBXVEZNb3ZlKG1fZGVsYXllZFJlbGVhc2VPYmplY3RzKTsKIAogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZHJvcCBsb2NrcyBiZWZvcmUgY2FsbGluZyBv
dXQgdG8gYXJiaXRyYXJ5IGNvZGUuCi0gICAgICAgICAgICAgICAgSlNMb2NrOjpEcm9wQWxsTG9j
a3MgZHJvcEFsbExvY2tzKG1fdm0pOworICAgICAgICAgICAgICAgIEpTTG9jazo6RHJvcEFsbExv
Y2tzIGRyb3BBbGxMb2Nrcyh2bSgpKTsKIAogI2lmIFVTRShGT1VOREFUSU9OKQogICAgICAgICAg
ICAgICAgIHZvaWQqIGNvbnRleHQgPSBvYmpjX2F1dG9yZWxlYXNlUG9vbFB1c2goKTsKQEAgLTU1
Niw3ICs1NTUsNyBAQCB2b2lkIEhlYXA6OnJlcG9ydEFiYW5kb25lZE9iamVjdEdyYXBoKCkKIHZv
aWQgSGVhcDo6cHJvdGVjdChKU1ZhbHVlIGspCiB7CiAgICAgQVNTRVJUKGspOwotICAgIEFTU0VS
VChtX3ZtLmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2NrKCkpOworICAgIEFTU0VSVCh2bSgp
LmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2NrKCkpOwogCiAgICAgaWYgKCFrLmlzQ2VsbCgp
KQogICAgICAgICByZXR1cm47CkBAIC01NjcsNyArNTY2LDcgQEAgdm9pZCBIZWFwOjpwcm90ZWN0
KEpTVmFsdWUgaykKIGJvb2wgSGVhcDo6dW5wcm90ZWN0KEpTVmFsdWUgaykKIHsKICAgICBBU1NF
UlQoayk7Ci0gICAgQVNTRVJUKG1fdm0uY3VycmVudFRocmVhZElzSG9sZGluZ0FQSUxvY2soKSk7
CisgICAgQVNTRVJUKHZtKCkuY3VycmVudFRocmVhZElzSG9sZGluZ0FQSUxvY2soKSk7CiAKICAg
ICBpZiAoIWsuaXNDZWxsKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTU5NCwzMiArNTkz
LDMzIEBAIHZvaWQgSGVhcDo6ZmluYWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmkKIAogdm9pZCBI
ZWFwOjpmaW5hbGl6ZVVuY29uZGl0aW9uYWxGaW5hbGl6ZXJzKCkKIHsKLSAgICB2bSgpLmJ1aWx0
aW5FeGVjdXRhYmxlcygpLT5maW5hbGl6ZVVuY29uZGl0aW9uYWxseSgpOwotICAgIGZpbmFsaXpl
TWFya2VkVW5jb25kaXRpb25hbEZpbmFsaXplcnM8RnVuY3Rpb25FeGVjdXRhYmxlPih2bSgpLmZ1
bmN0aW9uRXhlY3V0YWJsZVNwYWNlLnNwYWNlKTsKLSAgICBmaW5hbGl6ZU1hcmtlZFVuY29uZGl0
aW9uYWxGaW5hbGl6ZXJzPFN5bWJvbFRhYmxlPih2bSgpLnN5bWJvbFRhYmxlU3BhY2UpOwotICAg
IGZpbmFsaXplTWFya2VkVW5jb25kaXRpb25hbEZpbmFsaXplcnM8RXhlY3V0YWJsZVRvQ29kZUJs
b2NrRWRnZT4odm0oKS5leGVjdXRhYmxlVG9Db2RlQmxvY2tFZGdlc1dpdGhGaW5hbGl6ZXJzKTsg
Ly8gV2UgcnVuIHRoaXMgYmVmb3JlIENvZGVCbG9jaydzIHVuY29uZGl0aW9uYWwgZmluYWxpemVy
IHNpbmNlIENvZGVCbG9jayBsb29rcyBhdCB0aGUgb3duZXIgZXhlY3V0YWJsZSdzIGluc3RhbGxl
ZCBDb2RlQmxvY2sgaW4gaXRzIGZpbmFsaXplVW5jb25kaXRpb25hbGx5LgotICAgIHZtKCkuZm9y
RWFjaENvZGVCbG9ja1NwYWNlKAorICAgIFZNJiB2bSA9IHRoaXMtPnZtKCk7CisgICAgdm0uYnVp
bHRpbkV4ZWN1dGFibGVzKCktPmZpbmFsaXplVW5jb25kaXRpb25hbGx5KCk7CisgICAgZmluYWxp
emVNYXJrZWRVbmNvbmRpdGlvbmFsRmluYWxpemVyczxGdW5jdGlvbkV4ZWN1dGFibGU+KHZtLmZ1
bmN0aW9uRXhlY3V0YWJsZVNwYWNlLnNwYWNlKTsKKyAgICBmaW5hbGl6ZU1hcmtlZFVuY29uZGl0
aW9uYWxGaW5hbGl6ZXJzPFN5bWJvbFRhYmxlPih2bS5zeW1ib2xUYWJsZVNwYWNlKTsKKyAgICBm
aW5hbGl6ZU1hcmtlZFVuY29uZGl0aW9uYWxGaW5hbGl6ZXJzPEV4ZWN1dGFibGVUb0NvZGVCbG9j
a0VkZ2U+KHZtLmV4ZWN1dGFibGVUb0NvZGVCbG9ja0VkZ2VzV2l0aEZpbmFsaXplcnMpOyAvLyBX
ZSBydW4gdGhpcyBiZWZvcmUgQ29kZUJsb2NrJ3MgdW5jb25kaXRpb25hbCBmaW5hbGl6ZXIgc2lu
Y2UgQ29kZUJsb2NrIGxvb2tzIGF0IHRoZSBvd25lciBleGVjdXRhYmxlJ3MgaW5zdGFsbGVkIENv
ZGVCbG9jayBpbiBpdHMgZmluYWxpemVVbmNvbmRpdGlvbmFsbHkuCisgICAgdm0uZm9yRWFjaENv
ZGVCbG9ja1NwYWNlKAogICAgICAgICBbJl0gKGF1dG8mIHNwYWNlKSB7CiAgICAgICAgICAgICB0
aGlzLT5maW5hbGl6ZU1hcmtlZFVuY29uZGl0aW9uYWxGaW5hbGl6ZXJzPENvZGVCbG9jaz4oc3Bh
Y2Uuc2V0KTsKICAgICAgICAgfSk7Ci0gICAgZmluYWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmlu
YWxpemVyczxTdHJ1Y3R1cmVSYXJlRGF0YT4odm0oKS5zdHJ1Y3R1cmVSYXJlRGF0YVNwYWNlKTsK
LSAgICBmaW5hbGl6ZU1hcmtlZFVuY29uZGl0aW9uYWxGaW5hbGl6ZXJzPFVubGlua2VkRnVuY3Rp
b25FeGVjdXRhYmxlPih2bSgpLnVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlU3BhY2Uuc2V0KTsK
LSAgICBpZiAodm0oKS5tX3dlYWtTZXRTcGFjZSkKLSAgICAgICAgZmluYWxpemVNYXJrZWRVbmNv
bmRpdGlvbmFsRmluYWxpemVyczxKU1dlYWtTZXQ+KCp2bSgpLm1fd2Vha1NldFNwYWNlKTsKLSAg
ICBpZiAodm0oKS5tX3dlYWtNYXBTcGFjZSkKLSAgICAgICAgZmluYWxpemVNYXJrZWRVbmNvbmRp
dGlvbmFsRmluYWxpemVyczxKU1dlYWtNYXA+KCp2bSgpLm1fd2Vha01hcFNwYWNlKTsKLSAgICBp
ZiAodm0oKS5tX3dlYWtPYmplY3RSZWZTcGFjZSkKLSAgICAgICAgZmluYWxpemVNYXJrZWRVbmNv
bmRpdGlvbmFsRmluYWxpemVyczxKU1dlYWtPYmplY3RSZWY+KCp2bSgpLm1fd2Vha09iamVjdFJl
ZlNwYWNlKTsKLSAgICBpZiAodm0oKS5tX2Vycm9ySW5zdGFuY2VTcGFjZSkKLSAgICAgICAgZmlu
YWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmluYWxpemVyczxFcnJvckluc3RhbmNlPigqdm0oKS5t
X2Vycm9ySW5zdGFuY2VTcGFjZSk7CisgICAgZmluYWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmlu
YWxpemVyczxTdHJ1Y3R1cmVSYXJlRGF0YT4odm0uc3RydWN0dXJlUmFyZURhdGFTcGFjZSk7Cisg
ICAgZmluYWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmluYWxpemVyczxVbmxpbmtlZEZ1bmN0aW9u
RXhlY3V0YWJsZT4odm0udW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGVTcGFjZS5zZXQpOworICAg
IGlmICh2bS5tX3dlYWtTZXRTcGFjZSkKKyAgICAgICAgZmluYWxpemVNYXJrZWRVbmNvbmRpdGlv
bmFsRmluYWxpemVyczxKU1dlYWtTZXQ+KCp2bS5tX3dlYWtTZXRTcGFjZSk7CisgICAgaWYgKHZt
Lm1fd2Vha01hcFNwYWNlKQorICAgICAgICBmaW5hbGl6ZU1hcmtlZFVuY29uZGl0aW9uYWxGaW5h
bGl6ZXJzPEpTV2Vha01hcD4oKnZtLm1fd2Vha01hcFNwYWNlKTsKKyAgICBpZiAodm0ubV93ZWFr
T2JqZWN0UmVmU3BhY2UpCisgICAgICAgIGZpbmFsaXplTWFya2VkVW5jb25kaXRpb25hbEZpbmFs
aXplcnM8SlNXZWFrT2JqZWN0UmVmPigqdm0ubV93ZWFrT2JqZWN0UmVmU3BhY2UpOworICAgIGlm
ICh2bS5tX2Vycm9ySW5zdGFuY2VTcGFjZSkKKyAgICAgICAgZmluYWxpemVNYXJrZWRVbmNvbmRp
dGlvbmFsRmluYWxpemVyczxFcnJvckluc3RhbmNlPigqdm0ubV9lcnJvckluc3RhbmNlU3BhY2Up
OwogCiAgICAgLy8gRmluYWxpemF0aW9uUmVnaXN0cmllcyBjdXJyZW50bHkgcmVseSBvbiBzZXJp
YWwgZmluYWxpemF0aW9uIGJlY2F1c2UgdGhleSBjYW4gcG9zdCB0YXNrcyB0byB0aGUgZGVmZXJy
ZWRXb3JrVGltZXIsIHdoaWNoIG5vcm1hbGx5IGV4cGVjdHMgdGFza3MgdG8gb25seSBiZSBwb3N0
ZWQgYnkgdGhlIEFQSSBsb2NrIGhvbGRlci4KLSAgICBpZiAodm0oKS5tX2ZpbmFsaXphdGlvblJl
Z2lzdHJ5U3BhY2UpCi0gICAgICAgIGZpbmFsaXplTWFya2VkVW5jb25kaXRpb25hbEZpbmFsaXpl
cnM8SlNGaW5hbGl6YXRpb25SZWdpc3RyeT4oKnZtKCkubV9maW5hbGl6YXRpb25SZWdpc3RyeVNw
YWNlKTsKKyAgICBpZiAodm0ubV9maW5hbGl6YXRpb25SZWdpc3RyeVNwYWNlKQorICAgICAgICBm
aW5hbGl6ZU1hcmtlZFVuY29uZGl0aW9uYWxGaW5hbGl6ZXJzPEpTRmluYWxpemF0aW9uUmVnaXN0
cnk+KCp2bS5tX2ZpbmFsaXphdGlvblJlZ2lzdHJ5U3BhY2UpOwogCiAjaWYgRU5BQkxFKFdFQkFT
U0VNQkxZKQotICAgIGlmICh2bSgpLm1fd2ViQXNzZW1ibHlDb2RlQmxvY2tTcGFjZSkKLSAgICAg
ICAgZmluYWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmluYWxpemVyczxKU1dlYkFzc2VtYmx5Q29k
ZUJsb2NrPigqdm0oKS5tX3dlYkFzc2VtYmx5Q29kZUJsb2NrU3BhY2UpOworICAgIGlmICh2bS5t
X3dlYkFzc2VtYmx5Q29kZUJsb2NrU3BhY2UpCisgICAgICAgIGZpbmFsaXplTWFya2VkVW5jb25k
aXRpb25hbEZpbmFsaXplcnM8SlNXZWJBc3NlbWJseUNvZGVCbG9jaz4oKnZtLm1fd2ViQXNzZW1i
bHlDb2RlQmxvY2tTcGFjZSk7CiAjZW5kaWYKIH0KIApAQCAtNjM4LDcgKzYzOCw3IEBAIHZvaWQg
SGVhcDo6Y29tcGxldGVBbGxKSVRQbGFucygpCiAgICAgaWYgKCFPcHRpb25zOjp1c2VKSVQoKSkK
ICAgICAgICAgcmV0dXJuOwogI2lmIEVOQUJMRShKSVQpCi0gICAgSklUV29ya2xpc3Q6OmVuc3Vy
ZUdsb2JhbFdvcmtsaXN0KCkuY29tcGxldGVBbGxQbGFuc0ZvclZNKG1fdm0pOworICAgIEpJVFdv
cmtsaXN0OjplbnN1cmVHbG9iYWxXb3JrbGlzdCgpLmNvbXBsZXRlQWxsUGxhbnNGb3JWTSh2bSgp
KTsKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogfQogCkBAIC02NDgsNyArNjQ4LDcgQEAgdm9pZCBI
ZWFwOjppdGVyYXRlRXhlY3V0aW5nQW5kQ29tcGlsaW5nQwogICAgIG1fY29kZUJsb2Nrcy0+aXRl
cmF0ZUN1cnJlbnRseUV4ZWN1dGluZyhmdW5jKTsKICNpZiBFTkFCTEUoSklUKQogICAgIGlmIChP
cHRpb25zOjp1c2VKSVQoKSkKLSAgICAgICAgSklUV29ya2xpc3Q6OmVuc3VyZUdsb2JhbFdvcmts
aXN0KCkuaXRlcmF0ZUNvZGVCbG9ja3NGb3JHQyh2aXNpdG9yLCBtX3ZtLCBmdW5jKTsKKyAgICAg
ICAgSklUV29ya2xpc3Q6OmVuc3VyZUdsb2JhbFdvcmtsaXN0KCkuaXRlcmF0ZUNvZGVCbG9ja3NG
b3JHQyh2aXNpdG9yLCB2bSgpLCBmdW5jKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHZpc2l0
b3IpOwogI2VuZGlmIC8vIEVOQUJMRShKSVQpCkBAIC03MDAsNyArNzAwLDcgQEAgdm9pZCBIZWFw
OjpnYXRoZXJTdGFja1Jvb3RzKENvbnNlcnZhdGl2ZQogdm9pZCBIZWFwOjpnYXRoZXJKU1N0YWNr
Um9vdHMoQ29uc2VydmF0aXZlUm9vdHMmIHJvb3RzKQogewogI2lmIEVOQUJMRShDX0xPT1ApCi0g
ICAgbV92bS5pbnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLmdhdGhlckNvbnNlcnZhdGl2ZVJvb3Rz
KHJvb3RzLCAqbV9qaXRTdHViUm91dGluZXMsICptX2NvZGVCbG9ja3MpOworICAgIHZtKCkuaW50
ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5nYXRoZXJDb25zZXJ2YXRpdmVSb290cyhyb290cywgKm1f
aml0U3R1YlJvdXRpbmVzLCAqbV9jb2RlQmxvY2tzKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KHJvb3RzKTsKICNlbmRpZgpAQCAtNzExLDggKzcxMSw5IEBAIHZvaWQgSGVhcDo6Z2F0aGVyU2Ny
YXRjaEJ1ZmZlclJvb3RzKENvbnMKICNpZiBFTkFCTEUoREZHX0pJVCkKICAgICBpZiAoIU9wdGlv
bnM6OnVzZUpJVCgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV92bS5nYXRoZXJTY3JhdGNoQnVm
ZmVyUm9vdHMocm9vdHMpOwotICAgIG1fdm0uc2NhblNpZGVTdGF0ZShyb290cyk7CisgICAgVk0m
IHZtID0gdGhpcy0+dm0oKTsKKyAgICB2bS5nYXRoZXJTY3JhdGNoQnVmZmVyUm9vdHMocm9vdHMp
OworICAgIHZtLnNjYW5TaWRlU3RhdGUocm9vdHMpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0o
cm9vdHMpOwogI2VuZGlmCkBAIC03MzEsNyArNzMyLDcgQEAgdm9pZCBIZWFwOjpyZW1vdmVEZWFk
Q29tcGlsZXJXb3JrbGlzdEVudAogICAgIGlmICghT3B0aW9uczo6dXNlSklUKCkpCiAgICAgICAg
IHJldHVybjsKICNpZiBFTkFCTEUoSklUKQotICAgIEpJVFdvcmtsaXN0OjplbnN1cmVHbG9iYWxX
b3JrbGlzdCgpLnJlbW92ZURlYWRQbGFucyhtX3ZtKTsKKyAgICBKSVRXb3JrbGlzdDo6ZW5zdXJl
R2xvYmFsV29ya2xpc3QoKS5yZW1vdmVEZWFkUGxhbnModm0oKSk7CiAjZW5kaWYgLy8gRU5BQkxF
KEpJVCkKIH0KIApAQCAtNzU5LDcgKzc2MCw3IEBAIHZvaWQgSGVhcDo6Z2F0aGVyRXh0cmFIZWFw
RGF0YShIZWFwUHJvZmkKIHsKICAgICBpZiAoYXV0byogYW5hbHl6ZXIgPSBoZWFwUHJvZmlsZXIu
YWN0aXZlSGVhcEFuYWx5emVyKCkpIHsKICAgICAgICAgSGVhcEl0ZXJhdGlvblNjb3BlIGhlYXBJ
dGVyYXRpb25TY29wZSgqdGhpcyk7Ci0gICAgICAgIEdhdGhlckV4dHJhSGVhcERhdGEgZnVuY3Rv
cihtX3ZtLCAqYW5hbHl6ZXIpOworICAgICAgICBHYXRoZXJFeHRyYUhlYXBEYXRhIGZ1bmN0b3Io
dm0oKSwgKmFuYWx5emVyKTsKICAgICAgICAgbV9vYmplY3RTcGFjZS5mb3JFYWNoTGl2ZUNlbGwo
aGVhcEl0ZXJhdGlvblNjb3BlLCBmdW5jdG9yKTsKICAgICB9CiB9CkBAIC05MTAsNyArOTExLDcg
QEAgdm9pZCBIZWFwOjpkZWxldGVBbGxDb2RlQmxvY2tzKERlbGV0ZUFsbAogICAgIGlmIChtX2Nv
bGxlY3Rpb25TY29wZSAmJiBlZmZvcnQgPT0gRGVsZXRlQWxsQ29kZUlmTm90Q29sbGVjdGluZykK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgVk0mIHZtID0gbV92bTsKKyAgICBWTSYgdm0gPSB0aGlz
LT52bSgpOwogICAgIFByZXZlbnRDb2xsZWN0aW9uU2NvcGUgcHJldmVudENvbGxlY3Rpb25TY29w
ZSgqdGhpcyk7CiAgICAgCiAgICAgLy8gSWYgSmF2YVNjcmlwdCBpcyBydW5uaW5nLCBpdCdzIG5v
dCBzYWZlIHRvIGRlbGV0ZSBhbGwgSmF2YVNjcmlwdCBjb2RlLCBzaW5jZQpAQCAtOTU1LDcgKzk1
Niw3IEBAIHZvaWQgSGVhcDo6ZGVsZXRlQWxsVW5saW5rZWRDb2RlQmxvY2tzKEQKICAgICBpZiAo
bV9jb2xsZWN0aW9uU2NvcGUgJiYgZWZmb3J0ID09IERlbGV0ZUFsbENvZGVJZk5vdENvbGxlY3Rp
bmcpCiAgICAgICAgIHJldHVybjsKIAotICAgIFZNJiB2bSA9IG1fdm07CisgICAgVk0mIHZtID0g
dGhpcy0+dm0oKTsKICAgICBQcmV2ZW50Q29sbGVjdGlvblNjb3BlIHByZXZlbnRDb2xsZWN0aW9u
U2NvcGUoKnRoaXMpOwogCiAgICAgUkVMRUFTRV9BU1NFUlQoIW1fY29sbGVjdGlvblNjb3BlKTsK
QEAgLTE2MTQsNyArMTYxNSw3IEBAIE5FVkVSX0lOTElORSBib29sIEhlYXA6OmZpbmlzaENoYW5n
aW5nUGgKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgc2FuaXRpemVTdGFja0Zv
clZNKG1fdm0pOworICAgICAgICAgICAgICAgIHNhbml0aXplU3RhY2tGb3JWTSh2bSgpKTsKICAg
ICAgICAgICAgICAgICBoYW5kbGVOZWVkRmluYWxpemUoKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIHN0b3BUaGVQZXJpcGhlcnkoY29ubik7CkBAIC0xODI5LDcgKzE4MzAsNyBAQCBORVZF
Ul9JTkxJTkUgdm9pZCBIZWFwOjpjb2xsZWN0SW5NdXRhdG9yCiAgICAgICAgIGNhc2UgUnVuQ3Vy
cmVudFBoYXNlUmVzdWx0OjpDb250aW51ZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIFJ1bkN1cnJlbnRQaGFzZVJlc3VsdDo6TmVlZEN1cnJlbnRUaHJlYWRTdGF0ZToKLSAgICAg
ICAgICAgIHNhbml0aXplU3RhY2tGb3JWTShtX3ZtKTsKKyAgICAgICAgICAgIHNhbml0aXplU3Rh
Y2tGb3JWTSh2bSgpKTsKICAgICAgICAgICAgIGF1dG8gbGFtYmRhID0gWyZdIChDdXJyZW50VGhy
ZWFkU3RhdGUmIHN0YXRlKSB7CiAgICAgICAgICAgICAgICAgZm9yICg7OykgewogICAgICAgICAg
ICAgICAgICAgICBSdW5DdXJyZW50UGhhc2VSZXN1bHQgcmVzdWx0ID0gcnVuQ3VycmVudFBoYXNl
KEdDQ29uZHVjdG9yOjpNdXRhdG9yLCAmc3RhdGUpOwpAQCAtMTk3Myw3ICsxOTc0LDcgQEAgdm9p
ZCBIZWFwOjpmaW5pc2hSZWxpbnF1aXNoaW5nQ29ubigpCiAgICAgaWYgKGZhbHNlKQogICAgICAg
ICBkYXRhTG9nKCJSZWxpbnF1aXNoZWQgdGhlIGNvbm4uXG4iKTsKICAgICAKLSAgICBzYW5pdGl6
ZVN0YWNrRm9yVk0obV92bSk7CisgICAgc2FuaXRpemVTdGFja0ZvclZNKHZtKCkpOwogICAgIAog
ICAgIExvY2tlciBsb2NrZXIgeyAqbV90aHJlYWRMb2NrIH07CiAgICAgaWYgKCFtX3JlcXVlc3Rz
LmlzRW1wdHkoKSkKQEAgLTIyMDQsNyArMjIwNSw3IEBAIHZvaWQgSGVhcDo6c25hcHNob3RVbnN3
ZXB0KCkKIHZvaWQgSGVhcDo6ZGVsZXRlU291cmNlUHJvdmlkZXJDYWNoZXMoKQogewogICAgIGlm
IChtX2xhc3RDb2xsZWN0aW9uU2NvcGUgJiYgbV9sYXN0Q29sbGVjdGlvblNjb3BlLnZhbHVlKCkg
PT0gQ29sbGVjdGlvblNjb3BlOjpGdWxsKQotICAgICAgICBtX3ZtLmNsZWFyU291cmNlUHJvdmlk
ZXJDYWNoZXMoKTsKKyAgICAgICAgdm0oKS5jbGVhclNvdXJjZVByb3ZpZGVyQ2FjaGVzKCk7CiB9
CiAKIHZvaWQgSGVhcDo6bm90aWZ5SW5jcmVtZW50YWxTd2VlcGVyKCkKQEAgLTIzMjMsNyArMjMy
NCw3IEBAIHZvaWQgSGVhcDo6ZGlkRmluaXNoQ29sbGVjdGlvbigpCiAgICAgQVNTRVJUKGV4dGVy
bmFsTWVtb3J5U2l6ZSgpIDw9IGV4dHJhTWVtb3J5U2l6ZSgpKTsKICNlbmRpZgogCi0gICAgaWYg
KEhlYXBQcm9maWxlciogaGVhcFByb2ZpbGVyID0gbV92bS5oZWFwUHJvZmlsZXIoKSkgeworICAg
IGlmIChIZWFwUHJvZmlsZXIqIGhlYXBQcm9maWxlciA9IHZtKCkuaGVhcFByb2ZpbGVyKCkpIHsK
ICAgICAgICAgZ2F0aGVyRXh0cmFIZWFwRGF0YSgqaGVhcFByb2ZpbGVyKTsKICAgICAgICAgcmVt
b3ZlRGVhZEhlYXBTbmFwc2hvdE5vZGVzKCpoZWFwUHJvZmlsZXIpOwogICAgIH0KQEAgLTIzODEs
NyArMjM4Miw3IEBAIHZvaWQgSGVhcDo6ZGlkQWxsb2NhdGUoc2l6ZV90IGJ5dGVzKQogCiBib29s
IEhlYXA6OmlzVmFsaWRBbGxvY2F0aW9uKHNpemVfdCkKIHsKLSAgICBpZiAoIWlzVmFsaWRUaHJl
YWRTdGF0ZShtX3ZtKSkKKyAgICBpZiAoIWlzVmFsaWRUaHJlYWRTdGF0ZSh2bSgpKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGlzQ3VycmVudFRocmVhZEJ1c3koKSkKQEAgLTI3
NDksMTQgKzI3NTAsMTUgQEAgdm9pZCBIZWFwOjphZGRDb3JlQ29uc3RyYWludHMoKQogICAgIG1f
Y29uc3RyYWludFNldC0+YWRkKAogICAgICAgICAiTXNyIiwgIk1pc2MgU21hbGwgUm9vdHMiLAog
ICAgICAgICBNQUtFX01BUktJTkdfQ09OU1RSQUlOVF9FWEVDVVRPUl9QQUlSKChbdGhpc10gKGF1
dG8mIHZpc2l0b3IpIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IHRoaXMtPnZtKCk7CiAgICAgICAg
ICAgICBpZiBjb25zdGV4cHIgKG9iamNBUElFbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgU2V0
Um9vdE1hcmtSZWFzb25TY29wZSByb290U2NvcGUodmlzaXRvciwgUm9vdE1hcmtSZWFzb246OkV4
dGVybmFsUmVtZW1iZXJlZFNldCk7Ci0gICAgICAgICAgICAgICAgc2NhbkV4dGVybmFsUmVtZW1i
ZXJlZFNldChtX3ZtLCB2aXNpdG9yKTsKKyAgICAgICAgICAgICAgICBzY2FuRXh0ZXJuYWxSZW1l
bWJlcmVkU2V0KHZtLCB2aXNpdG9yKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYg
KG1fdm0uc21hbGxTdHJpbmdzLm5lZWRzVG9CZVZpc2l0ZWQoKm1fY29sbGVjdGlvblNjb3BlKSkg
eworICAgICAgICAgICAgaWYgKHZtLnNtYWxsU3RyaW5ncy5uZWVkc1RvQmVWaXNpdGVkKCptX2Nv
bGxlY3Rpb25TY29wZSkpIHsKICAgICAgICAgICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3Bl
IHJvb3RTY29wZSh2aXNpdG9yLCBSb290TWFya1JlYXNvbjo6U3Ryb25nUmVmZXJlbmNlcyk7Ci0g
ICAgICAgICAgICAgICAgbV92bS5zbWFsbFN0cmluZ3MudmlzaXRTdHJvbmdSZWZlcmVuY2VzKHZp
c2l0b3IpOworICAgICAgICAgICAgICAgIHZtLnNtYWxsU3RyaW5ncy52aXNpdFN0cm9uZ1JlZmVy
ZW5jZXModmlzaXRvcik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAg
IHsKQEAgLTI3NzksMTQgKzI3ODEsMTQgQEAgdm9pZCBIZWFwOjphZGRDb3JlQ29uc3RyYWludHMo
KQogCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgU2V0Um9vdE1hcmtSZWFzb25TY29w
ZSByb290U2NvcGUodmlzaXRvciwgUm9vdE1hcmtSZWFzb246OlZNRXhjZXB0aW9ucyk7Ci0gICAg
ICAgICAgICAgICAgdmlzaXRvci5hcHBlbmRVbmJhcnJpZXJlZChtX3ZtLmV4Y2VwdGlvbigpKTsK
LSAgICAgICAgICAgICAgICB2aXNpdG9yLmFwcGVuZFVuYmFycmllcmVkKG1fdm0ubGFzdEV4Y2Vw
dGlvbigpKTsKKyAgICAgICAgICAgICAgICB2aXNpdG9yLmFwcGVuZFVuYmFycmllcmVkKHZtLmV4
Y2VwdGlvbigpKTsKKyAgICAgICAgICAgICAgICB2aXNpdG9yLmFwcGVuZFVuYmFycmllcmVkKHZt
Lmxhc3RFeGNlcHRpb24oKSk7CiAKICAgICAgICAgICAgICAgICAvLyBXZSdyZSBnb2luZyB0byBt
X3Rlcm1pbmF0aW9uRXhjZXB0aW9uIGRpcmVjdGx5IGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaAog
ICAgICAgICAgICAgICAgIC8vIHRoZSBleGNlcHRpb24oKSBnZXR0ZXIgYmVjYXVzZSB3ZSB3YW50
IHRvIGFzc2VydCBpbiB0aGUgZ2V0dGVyIHRoYXQgdGhlCiAgICAgICAgICAgICAgICAgLy8gVGVy
bWluYXRpb25FeGNlcHRpb24gaGFzIGJlZW4gcmVpZmllZC4gSGVyZSwgd2UgZG9uJ3QgY2FyZSBp
ZiBpdCBpcwogICAgICAgICAgICAgICAgIC8vIHJlaWZpZWQgb3Igbm90LgotICAgICAgICAgICAg
ICAgIHZpc2l0b3IuYXBwZW5kVW5iYXJyaWVyZWQobV92bS5tX3Rlcm1pbmF0aW9uRXhjZXB0aW9u
KTsKKyAgICAgICAgICAgICAgICB2aXNpdG9yLmFwcGVuZFVuYmFycmllcmVkKHZtLm1fdGVybWlu
YXRpb25FeGNlcHRpb24pOwogICAgICAgICAgICAgfQogICAgICAgICB9KSksCiAgICAgICAgIENv
bnN0cmFpbnRWb2xhdGlsaXR5OjpHcmV5ZWRCeUV4ZWN1dGlvbik7CkBAIC0yODA0LDEzICsyODA2
LDE0IEBAIHZvaWQgSGVhcDo6YWRkQ29yZUNvbnN0cmFpbnRzKCkKICAgICAgICAgTUFLRV9NQVJL
SU5HX0NPTlNUUkFJTlRfRVhFQ1VUT1JfUEFJUigoW3RoaXNdIChhdXRvJiB2aXNpdG9yKSB7CiAg
ICAgICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZSh2aXNpdG9yLCBSb290
TWFya1JlYXNvbjo6RGVidWdnZXIpOwogCisgICAgICAgICAgICBWTSYgdm0gPSB0aGlzLT52bSgp
OwogICAgICAgICAgICAgaWYgY29uc3RleHByIChzYW1wbGluZ1Byb2ZpbGVyU3VwcG9ydGVkKQot
ICAgICAgICAgICAgICAgIHZpc2l0U2FtcGxpbmdQcm9maWxlcihtX3ZtLCB2aXNpdG9yKTsKKyAg
ICAgICAgICAgICAgICB2aXNpdFNhbXBsaW5nUHJvZmlsZXIodm0sIHZpc2l0b3IpOwogCi0gICAg
ICAgICAgICBpZiAobV92bS50eXBlUHJvZmlsZXIoKSkKLSAgICAgICAgICAgICAgICBtX3ZtLnR5
cGVQcm9maWxlckxvZygpLT52aXNpdCh2aXNpdG9yKTsKKyAgICAgICAgICAgIGlmICh2bS50eXBl
UHJvZmlsZXIoKSkKKyAgICAgICAgICAgICAgICB2bS50eXBlUHJvZmlsZXJMb2coKS0+dmlzaXQo
dmlzaXRvcik7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChhdXRvKiBzaGFkb3dDaGlj
a2VuID0gbV92bS5zaGFkb3dDaGlja2VuKCkpCisgICAgICAgICAgICBpZiAoYXV0byogc2hhZG93
Q2hpY2tlbiA9IHZtLnNoYWRvd0NoaWNrZW4oKSkKICAgICAgICAgICAgICAgICBzaGFkb3dDaGlj
a2VuLT52aXNpdENoaWxkcmVuKHZpc2l0b3IpOwogICAgICAgICB9KSksCiAgICAgICAgIENvbnN0
cmFpbnRWb2xhdGlsaXR5OjpHcmV5ZWRCeUV4ZWN1dGlvbik7CkBAIC0yODY4LDcgKzI4NzEsNyBA
QCB2b2lkIEhlYXA6OmFkZENvcmVDb25zdHJhaW50cygpCiAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IFRoaXMgaXMgYWxtb3N0IGNlcnRhaW5seSB1bm5lY2Vzc2FyeS4KICAgICAgICAgICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2ODI5CiAgICAg
ICAgICAgICAgICAgSklUV29ya2xpc3Q6OmVuc3VyZUdsb2JhbFdvcmtsaXN0KCkuaXRlcmF0ZUNv
ZGVCbG9ja3NGb3JHQyh2aXNpdG9yLAotICAgICAgICAgICAgICAgICAgICBtX3ZtLAorICAgICAg
ICAgICAgICAgICAgICB2bSgpLAogICAgICAgICAgICAgICAgICAgICBbJl0gKENvZGVCbG9jayog
Y29kZUJsb2NrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpdG9yLmFwcGVuZFVuYmFy
cmllcmVkKGNvZGVCbG9jayk7CiAgICAgICAgICAgICAgICAgICAgIH0pOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXAuaAkocmV2aXNpb24gMjg0NjYzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NTUsNyArNjU1LDYgQEAgcHJp
dmF0ZToKIAogICAgIHVuc2lnbmVkIG1fYmFycmllclRocmVzaG9sZCB7IE9wdGlvbnM6OmZvcmNl
RmVuY2VkQmFycmllcigpID8gdGF1dG9sb2dpY2FsVGhyZXNob2xkIDogYmxhY2tUaHJlc2hvbGQg
fTsKIAotICAgIFZNJiBtX3ZtOwogICAgIFNlY29uZHMgbV9sYXN0RnVsbEdDTGVuZ3RoIHsgMTBf
bXMgfTsKICAgICBTZWNvbmRzIG1fbGFzdEVkZW5HQ0xlbmd0aCB7IDEwX21zIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>