<?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>228813</bug_id>
          
          <creation_ts>2021-08-05 01:02:27 -0700</creation_ts>
          <short_desc>[JSC] Remove unnecessary moves in Yarr&apos;s sub32 / add32 related code</short_desc>
          <delta_ts>2021-08-20 11:09:58 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1782150</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-05 01:02:27 -0700</bug_when>
    <thetext>[JSC] Remove unnecessary moves in Yarr&apos;s sub32 / add32 related code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782151</commentid>
    <comment_count>1</comment_count>
      <attachid>434969</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-05 01:03:55 -0700</bug_when>
    <thetext>Created attachment 434969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782152</commentid>
    <comment_count>2</comment_count>
      <attachid>434970</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-05 01:07:22 -0700</bug_when>
    <thetext>Created attachment 434970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785777</commentid>
    <comment_count>3</comment_count>
      <attachid>435968</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-20 04:01:04 -0700</bug_when>
    <thetext>Created attachment 435968
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785778</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-20 04:01:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/82164735&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785781</commentid>
    <comment_count>5</comment_count>
      <attachid>435969</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-20 04:31:32 -0700</bug_when>
    <thetext>Created attachment 435969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785887</commentid>
    <comment_count>6</comment_count>
      <attachid>435969</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-08-20 10:10:23 -0700</bug_when>
    <thetext>Comment on attachment 435969
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785914</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-20 11:09:56 -0700</bug_when>
    <thetext>Committed r281326 (240743@main): &lt;https://commits.webkit.org/240743@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435969.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434969</attachid>
            <date>2021-08-05 01:03:55 -0700</date>
            <delta_ts>2021-08-05 01:07:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228813-20210805010354.patch</filename>
            <type>text/plain</type>
            <size>15414</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
M2MxY2IxMmZhYWMwZGU5OGQyNTY1NWJhYjNiZTA0MjVlZTVlYTY3Li43YjI3ZjVjOGJkZTVhZjQ2
OTZiMzM0ZGYxZjUzOGI0ZjU5YTI0ZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAyMS0wOC0wNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSB1bm5lY2Vzc2FyeSBtb3ZlcyBpbiBZYXJyJ3Mgc3Vi
MzIgLyBhZGQzMiByZWxhdGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyODgxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIDEuIEFkZCB0aHJlZSBvcGVyYW5kIHN1YjMyIHRvIFg2NCBtYXNtIHNv
IHRoYXQgd2UgY2FuIHVzZSBpdCBpbiBhbGwgbWFzbXMuCisgICAgICAgICAgIFdlIHVzZSBhZGQz
MiBhbmQgc3ViMzIgaW4gWWFyckpJVCB0byByZW1vdmUgdW5uZWNlc3NhcnkgbW92IGluc3RydWN0
aW9ucyBpbiBBUk02NC4KKyAgICAgICAgMi4gQWRkIHNldE1hdGNoU3RhcnRXaXRoQXJpdGhtZXRp
YyB0byByZW1vdmUgdW5uZWNlc3NhcnkgbW92IGluc3RydWN0aW9ucy4KKworICAgICAgICAqIGFz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyQVJNdjc6OnN1YjMyKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZD
b21tb24uaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN1YjMyKToK
KyAgICAgICAgKiBhc3NlbWJsZXIvdGVzdG1hc20uY3BwOgorICAgICAgICAoSlNDOjp0ZXN0U3Vi
MzJBcmdJbW0pOgorICAgICAgICAqIHlhcnIvWWFyckpJVC5jcHA6CisKIDIwMjEtMDgtMDMgIFlp
amlhIEh1YW5nICA8eWlqaWFfaHVhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtBUk02NF0gVXNl
IGxpbmsgcmVnaXN0ZXIgaW5zdGVhZCBvZiBwaW5uaW5nIGEgcmVnaXN0ZXIgZm9yIG1hdGVyaWFs
aXppbmcgYmlnIGxvYWQgY29uc3RhbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCmluZGV4IGRmODgzODZhODMyM2Q4Njkx
MmNmZTUzNTMxZTNhODJkZmI0NGViOGUuLmMzNWZkMzk4ZjdlNWY0NGZmMzczMjQxZDc4NjFiZGYx
YTFmMzM0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk12Ny5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk12Ny5oCkBAIC01NDAsNiArNTQwLDE3IEBAIGNsYXNzIE1hY3JvQXNz
ZW1ibGVyQVJNdjcgOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxBc3NlbWJsZXI+IHsK
ICAgICAgICAgbV9hc3NlbWJsZXIuc3ViKGRlc3QsIGxlZnQsIHJpZ2h0KTsKICAgICB9CiAKKyAg
ICB2b2lkIHN1YjMyKFJlZ2lzdGVySUQgbGVmdCwgVHJ1c3RlZEltbTMyIHJpZ2h0LCBSZWdpc3Rl
cklEIGRlc3QpCisgICAgeworICAgICAgICBBUk1UaHVtYkltbWVkaWF0ZSBhcm1JbW0gPSBBUk1U
aHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxMk9yRW5jb2RlZEltbShyaWdodC5tX3ZhbHVlKTsKKyAg
ICAgICAgaWYgKGFybUltbS5pc1ZhbGlkKCkpCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zdWIo
ZGVzdCwgbGVmdCwgYXJtSW1tKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBtb3ZlKHJp
Z2h0LCBkYXRhVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnN1YihkZXN0
LCBsZWZ0LCBkYXRhVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIHZvaWQg
c3ViMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAg
QVJNVGh1bWJJbW1lZGlhdGUgYXJtSW1tID0gQVJNVGh1bWJJbW1lZGlhdGU6Om1ha2VVSW50MTJP
ckVuY29kZWRJbW0oaW1tLm1fdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCmluZGV4IDQzNTY4ODg4
ZmJmMDY1MDVjYWYxNzkwNzYxNTMzZTdhOTI5NjRlMzUuLjlhZmIzMjY0ZGUzMjc2ODQyN2M0YzY0
Y2M4MTMwODBiNzU2NDczMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKQEAgLTgyNSw2ICs4MjUsMTIg
QEAgY2xhc3MgTWFjcm9Bc3NlbWJsZXJYODZDb21tb24gOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fz
c2VtYmxlcjxBc3NlbWJsZXI+IHsKICAgICAgICAgc3ViMzIocmlnaHQsIGRlc3QpOwogICAgIH0K
IAorICAgIHZvaWQgc3ViMzIoUmVnaXN0ZXJJRCBsZWZ0LCBUcnVzdGVkSW1tMzIgcmlnaHQsIFJl
Z2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIG1vdmUobGVmdCwgZGVzdCk7CisgICAgICAg
IHN1YjMyKHJpZ2h0LCBkZXN0KTsKKyAgICB9CisKICAgICB2b2lkIHN1YjMyKFRydXN0ZWRJbW0z
MiBpbW0sIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmIChpbW0ubV92YWx1ZSA9
PSAxKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFz
bS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcAppbmRl
eCBlYmEwYjIyOTY2NDljMjNlMzVlNmFhZmU5Y2NmMDg0ZDZkM2U4MjEzLi44MTQ2ZjM3MWRjY2Fi
ZWNiMzJlMWUyMWZhNDhkOTNhNzUyOTNmYTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL3Rlc3RtYXNtLmNwcApAQCAtMTAyNSwyMyArMTAyNSw2IEBAIHZvaWQgdGVzdFN1
YjMySW1tKCkKICAgICB9CiB9CiAKLXZvaWQgdGVzdFN1YjMyQXJnSW1tKCkKLXsKLSAgICBmb3Ig
KGF1dG8gaW1tZWRpYXRlIDogaW50MzJPcGVyYW5kcygpKSB7Ci0gICAgICAgIGF1dG8gc3ViID0g
Y29tcGlsZShbPV0gKENDYWxsSGVscGVycyYgaml0KSB7Ci0gICAgICAgICAgICBlbWl0RnVuY3Rp
b25Qcm9sb2d1ZShqaXQpOwotCi0gICAgICAgICAgICBqaXQuc3ViMzIoR1BSSW5mbzo6YXJndW1l
bnRHUFIwLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihpbW1lZGlhdGUpLCBHUFJJbmZvOjpy
ZXR1cm5WYWx1ZUdQUik7Ci0KLSAgICAgICAgICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3VlKGppdCk7
Ci0gICAgICAgICAgICBqaXQucmV0KCk7Ci0gICAgICAgIH0pOwotCi0gICAgICAgIGZvciAoYXV0
byB2YWx1ZSA6IGludDMyT3BlcmFuZHMoKSkKLSAgICAgICAgICAgIENIRUNLX0VRKGludm9rZTx1
aW50MzJfdD4oc3ViLCB2YWx1ZSksIHN0YXRpY19jYXN0PHVpbnQzMl90Pih2YWx1ZSAtIGltbWVk
aWF0ZSkpOwotICAgIH0KLX0KLQogdm9pZCB0ZXN0U3ViNjRJbW0zMigpCiB7CiAgICAgZm9yIChh
dXRvIGltbWVkaWF0ZSA6IGludDY0T3BlcmFuZHMoKSkgewpAQCAtMzk2Myw2ICszOTQ2LDIzIEBA
IHZvaWQgdGVzdExvYWRTdG9yZVBhaXIzMigpCiAgICAgQ0hFQ0tfRVEoYnVmZmVyWzldLCBpbml0
aWFsVmFsdWUgKyA5KTsKIH0KIAordm9pZCB0ZXN0U3ViMzJBcmdJbW0oKQoreworICAgIGZvciAo
YXV0byBpbW1lZGlhdGUgOiBpbnQzMk9wZXJhbmRzKCkpIHsKKyAgICAgICAgYXV0byBzdWIgPSBj
b21waWxlKFs9XSAoQ0NhbGxIZWxwZXJzJiBqaXQpIHsKKyAgICAgICAgICAgIGVtaXRGdW5jdGlv
blByb2xvZ3VlKGppdCk7CisKKyAgICAgICAgICAgIGppdC5zdWIzMihHUFJJbmZvOjphcmd1bWVu
dEdQUjAsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKGltbWVkaWF0ZSksIEdQUkluZm86OnJl
dHVyblZhbHVlR1BSKTsKKworICAgICAgICAgICAgZW1pdEZ1bmN0aW9uRXBpbG9ndWUoaml0KTsK
KyAgICAgICAgICAgIGppdC5yZXQoKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgZm9yIChhdXRv
IHZhbHVlIDogaW50MzJPcGVyYW5kcygpKQorICAgICAgICAgICAgQ0hFQ0tfRVEoaW52b2tlPHVp
bnQzMl90PihzdWIsIHZhbHVlKSwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHZhbHVlIC0gaW1tZWRp
YXRlKSk7CisgICAgfQorfQorCiAjaWYgQ1BVKEFSTTY0KQogdm9pZCB0ZXN0TG9hZFN0b3JlUGFp
cjY0SW50NjQoKQogewpAQCAtNTY0NSw2ICs1NjQ1LDcgQEAgdm9pZCBydW4oY29uc3QgY2hhciog
ZmlsdGVyKSBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTCiAKICAgICBSVU4odGVz
dE11bDMyV2l0aEltbWVkaWF0ZXMoKSk7CiAgICAgUlVOKHRlc3RMb2FkU3RvcmVQYWlyMzIoKSk7
CisgICAgUlVOKHRlc3RTdWIzMkFyZ0ltbSgpKTsKIAogI2lmIENQVShYODZfNjQpCiAgICAgUlVO
KHRlc3RCcmFuY2hUZXN0Qml0MzJSZWdSZWcoKSk7CkBAIC01NjczLDcgKzU2NzQsNiBAQCB2b2lk
IHJ1bihjb25zdCBjaGFyKiBmaWx0ZXIpIFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlT
SVMKIAogICAgIFJVTih0ZXN0U3ViMzJBcmdzKCkpOwogICAgIFJVTih0ZXN0U3ViMzJJbW0oKSk7
Ci0gICAgUlVOKHRlc3RTdWIzMkFyZ0ltbSgpKTsKICAgICBSVU4odGVzdFN1YjY0SW1tMzIoKSk7
CiAgICAgUlVOKHRlc3RTdWI2NEFyZ0ltbTMyKCkpOwogICAgIFJVTih0ZXN0U3ViNjRJbW02NCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKaW5kZXggNGRhNTZlZWFiMGFi
NTE1MzczZGRmYTEwNmU4ZDk4NTFmYTYwYzJhZS4uNDVhOGRiOTU5OWY1NDY4YjRiMGJiYWM5ZDcy
YTJkYWQzY2NlYTFiZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFy
ckpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKQEAg
LTg2NCwxMyArODY0LDM2IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBwdWJsaWMgWWFy
ckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgIC8vIDMpIElmIHdlJ3JlIGNv
bXBpbGluZyBNYXRjaE9ubHksICdvdXRwdXQnIGlzIHVudXNlZCwgc3RvcmUgdGhlIG1hdGNoIHN0
YXJ0IGRpcmVjdGx5CiAgICAgLy8gICAgaW4gdGhpcyByZWdpc3Rlci4KICAgICB2b2lkIHNldE1h
dGNoU3RhcnQoUmVnaXN0ZXJJRCByZWcpCisgICAgeworICAgICAgICBzZXRNYXRjaFN0YXJ0V2l0
aEFyaXRobWV0aWMoU2V0TWF0Y2hTdGFydE1vZGU6OkFkZCwgcmVnLCAwLCBJbnZhbGlkR1BSUmVn
KTsKKyAgICB9CisKKyAgICBlbnVtIGNsYXNzIFNldE1hdGNoU3RhcnRNb2RlIHsgQWRkLCBTdWIg
fTsKKyAgICB2b2lkIHNldE1hdGNoU3RhcnRXaXRoQXJpdGhtZXRpYyhTZXRNYXRjaFN0YXJ0TW9k
ZSBtb2RlLCBSZWdpc3RlcklEIHJlZywgaW50MzJfdCBvZmZzZXQsIFJlZ2lzdGVySUQgc2NyYXRj
aCkKICAgICB7CiAgICAgICAgIEFTU0VSVCghbV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNp
emUpOwotICAgICAgICBpZiAobV9jb21waWxlTW9kZSA9PSBKSVRDb21waWxlTW9kZTo6SW5jbHVk
ZVN1YnBhdHRlcm5zKQorICAgICAgICBpZiAobV9jb21waWxlTW9kZSA9PSBKSVRDb21waWxlTW9k
ZTo6SW5jbHVkZVN1YnBhdHRlcm5zKSB7CisgICAgICAgICAgICBpZiAob2Zmc2V0KSB7CisgICAg
ICAgICAgICAgICAgaWYgKG1vZGUgPT0gU2V0TWF0Y2hTdGFydE1vZGU6OkFkZCkKKyAgICAgICAg
ICAgICAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKG9mZnNldCksIHJlZywgc2NyYXRjaCk7Cisg
ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBzdWIzMihyZWcsIFRydXN0
ZWRJbW0zMihvZmZzZXQpLCBzY3JhdGNoKTsKKyAgICAgICAgICAgICAgICBzdG9yZTMyKHNjcmF0
Y2gsIG91dHB1dCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAg
ICAgICAgICAgc3RvcmUzMihyZWcsIG91dHB1dCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IG1vdmUocmVnLCBvdXRwdXQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIGlmIChvZmZzZXQpIHsKKyAgICAgICAgICAgIGlmIChtb2RlID09IFNldE1hdGNoU3RhcnRN
b2RlOjpBZGQpCisgICAgICAgICAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKG9mZnNldCksIHJl
Zywgb3V0cHV0KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzdWIzMihyZWcs
IFRydXN0ZWRJbW0zMihvZmZzZXQpLCBvdXRwdXQpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIG1vdmUocmVnLCBvdXRwdXQpOwogICAgIH0KKwogICAgIHZvaWQgZ2V0
TWF0Y2hTdGFydChSZWdpc3RlcklEIHJlZykKICAgICB7CiAgICAgICAgIEFTU0VSVCghbV9wYXR0
ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpOwpAQCAtMTY5MiwxMCArMTcxNSw5IEBAIGNsYXNz
IFlhcnJHZW5lcmF0b3IgZmluYWwgOiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9B
c3NlbWJsZXIgewogICAgICAgICBpZiAobV9kZWNvZGVTdXJyb2dhdGVQYWlycykKICAgICAgICAg
ICAgIG9wLm1fanVtcHMuYXBwZW5kKGp1bXBJZk5vQXZhaWxhYmxlSW5wdXQoKSk7CiAKLSAgICAg
ICAgbW92ZShpbmRleCwgY291bnRSZWdpc3Rlcik7CiAgICAgICAgIENoZWNrZWQ8dW5zaWduZWQ+
IHNjYWxlZE1heENvdW50ID0gdGVybS0+cXVhbnRpdHlNYXhDb3VudDsKICAgICAgICAgc2NhbGVk
TWF4Q291bnQgKj0gVV9JU19CTVAoY2gpID8gMSA6IDI7Ci0gICAgICAgIHN1YjMyKEltbTMyKHNj
YWxlZE1heENvdW50KSwgY291bnRSZWdpc3Rlcik7CisgICAgICAgIHN1YjMyKGluZGV4LCBUcnVz
dGVkSW1tMzIoc2NhbGVkTWF4Q291bnQpLCBjb3VudFJlZ2lzdGVyKTsKIAogICAgICAgICBMYWJl
bCBsb29wKHRoaXMpOwogICAgICAgICByZWFkQ2hhcmFjdGVyKG1fY2hlY2tlZE9mZnNldCAtIHRl
cm0tPmlucHV0UG9zaXRpb24gLSBzY2FsZWRNYXhDb3VudCwgY2hhcmFjdGVyLCBjb3VudFJlZ2lz
dGVyKTsKQEAgLTE4OTksMTUgKzE5MjEsMTIgQEAgY2xhc3MgWWFyckdlbmVyYXRvciBmaW5hbCA6
IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgIGlm
IChtX2RlY29kZVN1cnJvZ2F0ZVBhaXJzKQogICAgICAgICAgICAgb3AubV9qdW1wcy5hcHBlbmQo
anVtcElmTm9BdmFpbGFibGVJbnB1dCgpKTsKIAotICAgICAgICBtb3ZlKGluZGV4LCBjb3VudFJl
Z2lzdGVyKTsKLQogICAgICAgICBDaGVja2VkPHVuc2lnbmVkPiBzY2FsZWRNYXhDb3VudCA9IHRl
cm0tPnF1YW50aXR5TWF4Q291bnQ7Ci0KICNpZiBFTkFCTEUoWUFSUl9KSVRfVU5JQ09ERV9FWFBS
RVNTSU9OUykKICAgICAgICAgaWYgKG1fZGVjb2RlU3Vycm9nYXRlUGFpcnMgJiYgdGVybS0+Y2hh
cmFjdGVyQ2xhc3MtPmhhc09ubHlOb25CTVBDaGFyYWN0ZXJzKCkgJiYgIXRlcm0tPmludmVydCgp
KQogICAgICAgICAgICAgc2NhbGVkTWF4Q291bnQgKj0gMjsKICNlbmRpZgotICAgICAgICBzdWIz
MihJbW0zMihzY2FsZWRNYXhDb3VudCksIGNvdW50UmVnaXN0ZXIpOworICAgICAgICBzdWIzMihp
bmRleCwgVHJ1c3RlZEltbTMyKHNjYWxlZE1heENvdW50KSwgY291bnRSZWdpc3Rlcik7CiAKICAg
ICAgICAgTGFiZWwgbG9vcCh0aGlzKTsKICAgICAgICAgSnVtcExpc3QgbWF0Y2hEZXN0OwpAQCAt
MjQ4MCwxMSArMjQ5OSw5IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBwdWJsaWMgWWFy
ckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gVGhpcyBpcyB1c2VkIGZvciBhZGp1c3RpbmcgbWF0Y2gtc3RhcnQgd2hlbiB3ZSBmYWls
ZWQgdG8gZmluZCB0aGUgc3RhcnQgd2l0aCBCb3llck1vb3JlIHNlYXJjaC4KICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICghbV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRPZkxlbmd0aEZhaWx1cmUubGluayh0aGlzKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNp
emUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgcmVnVDAp
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihhbHRlcm5hdGl2
ZS0+bV9taW5pbXVtU2l6ZSksIHJlZ1QwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0TWF0Y2hTdGFydChyZWdUMCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFsdGVybmF0aXZlLT5tX21pbmlt
dW1TaXplKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0V2l0
aEFyaXRobWV0aWMoU2V0TWF0Y2hTdGFydE1vZGU6OlN1YiwgaW5kZXgsIGFsdGVybmF0aXZlLT5t
X21pbmltdW1TaXplLCByZWdUMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0KGluZGV4KTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvcC5tX2p1bXBzLmFwcGVuZChqdW1wKCkpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCkBAIC0yNDk1LDExICsyNTEyLDkgQEAgY2xhc3Mg
WWFyckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNyb0Fz
c2VtYmxlciB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHVzZWQgZm9yIGFk
anVzdGluZyBtYXRjaC1zdGFydCB3aGVuIHdlIHN0YXJ0IHBhdHRlcm4gbWF0Y2hpbmcgd2l0aCB0
aGUgdXBkYXRlZCBpbmRleAogICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnkgQm95ZXJNb29y
ZSBzZWFyY2guCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1fcGF0dGVybi5tX2JvZHkt
Pm1faGFzRml4ZWRTaXplKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFsdGVy
bmF0aXZlLT5tX21pbmltdW1TaXplKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vdmUoaW5kZXgsIHJlZ1QwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
MzIoSW1tMzIoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUpLCByZWdUMCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNldE1hdGNoU3RhcnQocmVnVDApOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChh
bHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0TWF0Y2hTdGFydFdpdGhBcml0aG1ldGljKFNldE1hdGNoU3RhcnRNb2RlOjpTdWIsIGlu
ZGV4LCBhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSwgcmVnVDApOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0
Y2hTdGFydChpbmRleCk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgICAgIH0KQEAgLTI1MjEsOSArMjUzNiwxMCBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIGZpbmFs
IDogcHVibGljIFlhcnJKSVRJbmZvLCBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAg
ICAgICAgICAvLyBub3QgaGF2ZSB5ZXQgc2V0IHRoZSB2YWx1ZSBpbiB0aGUgZmlyc3QgCiAgICAg
ICAgICAgICAgICAgQVNTRVJUKGluZGV4ICE9IHJldHVyblJlZ2lzdGVyKTsKICAgICAgICAgICAg
ICAgICBpZiAobV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpIHsKLSAgICAgICAgICAg
ICAgICAgICAgbW92ZShpbmRleCwgcmV0dXJuUmVnaXN0ZXIpOwogICAgICAgICAgICAgICAgICAg
ICBpZiAocHJpb3JBbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHN1YjMyKEltbTMyKHByaW9yQWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUpLCByZXR1
cm5SZWdpc3Rlcik7CisgICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihpbmRleCwgVHJ1c3Rl
ZEltbTMyKHByaW9yQWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUpLCByZXR1cm5SZWdpc3Rlcik7
CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vdmUo
aW5kZXgsIHJldHVyblJlZ2lzdGVyKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKG1fY29tcGls
ZU1vZGUgPT0gSklUQ29tcGlsZU1vZGU6OkluY2x1ZGVTdWJwYXR0ZXJucykKICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0b3JlUGFpcjMyKHJldHVyblJlZ2lzdGVyLCBpbmRleCwgb3V0cHV0LCBU
cnVzdGVkSW1tMzIoMCkpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0yNzE0LDggKzI3
MzAsNyBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIGZpbmFsIDogcHVibGljIFlhcnJKSVRJbmZvLCBw
cml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHRlcm0tPnF1
YW50aXR5VHlwZSA9PSBRdWFudGlmaWVyVHlwZTo6Rml4ZWRDb3VudCkKICAgICAgICAgICAgICAg
ICAgICAgICAgIGlucHV0T2Zmc2V0ICs9IHRlcm0tPnBhcmVudGhlc2VzLmRpc2p1bmN0aW9uLT5t
X21pbmltdW1TaXplOwogICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXRPZmZzZXQpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIG1vdmUoaW5kZXgsIGluZGV4VGVtcG9yYXJ5KTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHN1YjMyKEltbTMyKGlucHV0T2Zmc2V0KSwgaW5kZXhUZW1wb3Jh
cnkpOworICAgICAgICAgICAgICAgICAgICAgICAgc3ViMzIoaW5kZXgsIFRydXN0ZWRJbW0zMihp
bnB1dE9mZnNldCksIGluZGV4VGVtcG9yYXJ5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIHNl
dFN1YnBhdHRlcm5TdGFydChpbmRleFRlbXBvcmFyeSwgdGVybS0+cGFyZW50aGVzZXMuc3VicGF0
dGVybklkKTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAg
ICAgICBzZXRTdWJwYXR0ZXJuU3RhcnQoaW5kZXgsIHRlcm0tPnBhcmVudGhlc2VzLnN1YnBhdHRl
cm5JZCk7CkBAIC0yNzQyLDggKzI3NTcsNyBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIGZpbmFsIDog
cHVibGljIFlhcnJKSVRJbmZvLCBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAgICAg
ICAgICBpZiAodGVybS0+Y2FwdHVyZSgpICYmIG1fY29tcGlsZU1vZGUgPT0gSklUQ29tcGlsZU1v
ZGU6OkluY2x1ZGVTdWJwYXR0ZXJucykgewogICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnB1dE9mZnNldCA9IG1fY2hlY2tlZE9mZnNldCAtIHRlcm0tPmlucHV0UG9zaXRpb247CiAgICAg
ICAgICAgICAgICAgICAgIGlmIChpbnB1dE9mZnNldCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgbW92ZShpbmRleCwgaW5kZXhUZW1wb3JhcnkpOwotICAgICAgICAgICAgICAgICAgICAgICAg
c3ViMzIoSW1tMzIoaW5wdXRPZmZzZXQpLCBpbmRleFRlbXBvcmFyeSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBzdWIzMihpbmRleCwgVHJ1c3RlZEltbTMyKGlucHV0T2Zmc2V0KSwgaW5kZXhU
ZW1wb3JhcnkpOwogICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3VicGF0dGVybkVuZChpbmRl
eFRlbXBvcmFyeSwgdGVybS0+cGFyZW50aGVzZXMuc3VicGF0dGVybklkKTsKICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTdWJwYXR0ZXJuRW5k
KGluZGV4LCB0ZXJtLT5wYXJlbnRoZXNlcy5zdWJwYXR0ZXJuSWQpOwpAQCAtMjg1MSw4ICsyODY1
LDcgQEAgY2xhc3MgWWFyckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywgcHJp
dmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXJtLT5xdWFu
dGl0eVR5cGUgPT0gUXVhbnRpZmllclR5cGU6OkZpeGVkQ291bnQpCiAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnB1dE9mZnNldCArPSB0ZXJtLT5wYXJlbnRoZXNlcy5kaXNqdW5jdGlvbi0+bV9t
aW5pbXVtU2l6ZTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0T2Zmc2V0KSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBtb3ZlKGluZGV4LCBpbmRleFRlbXBvcmFyeSk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihpbnB1dE9mZnNldCksIGluZGV4VGVtcG9yYXJ5
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1YjMyKGluZGV4LCBUcnVzdGVkSW1tMzIoaW5w
dXRPZmZzZXQpLCBpbmRleFRlbXBvcmFyeSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBzZXRT
dWJwYXR0ZXJuU3RhcnQoaW5kZXhUZW1wb3JhcnksIHRlcm0tPnBhcmVudGhlc2VzLnN1YnBhdHRl
cm5JZCk7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0U3VicGF0dGVyblN0YXJ0KGluZGV4LCB0ZXJtLT5wYXJlbnRoZXNlcy5zdWJwYXR0ZXJu
SWQpOwpAQCAtMjg5MSw4ICsyOTA0LDcgQEAgY2xhc3MgWWFyckdlbmVyYXRvciBmaW5hbCA6IHB1
YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnB1dE9mZnNldCA9IG1fY2hl
Y2tlZE9mZnNldCAtIHRlcm0tPmlucHV0UG9zaXRpb247CiAgICAgICAgICAgICAgICAgICAgIGlm
IChpbnB1dE9mZnNldCkgewotICAgICAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgaW5k
ZXhUZW1wb3JhcnkpOwotICAgICAgICAgICAgICAgICAgICAgICAgc3ViMzIoSW1tMzIoaW5wdXRP
ZmZzZXQpLCBpbmRleFRlbXBvcmFyeSk7CisgICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihp
bmRleCwgVHJ1c3RlZEltbTMyKGlucHV0T2Zmc2V0KSwgaW5kZXhUZW1wb3JhcnkpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgc2V0U3VicGF0dGVybkVuZChpbmRleFRlbXBvcmFyeSwgdGVybS0+
cGFyZW50aGVzZXMuc3VicGF0dGVybklkKTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgICAgICBzZXRTdWJwYXR0ZXJuRW5kKGluZGV4LCB0ZXJtLT5wYXJl
bnRoZXNlcy5zdWJwYXR0ZXJuSWQpOwpAQCAtMzA2NiwxMiArMzA3OCwxMCBAQCBjbGFzcyBZYXJy
R2VuZXJhdG9yIGZpbmFsIDogcHVibGljIFlhcnJKSVRJbmZvLCBwcml2YXRlIE1hY3JvQXNzZW1i
bGVyIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWx0ZXJuYXRpdmUtPm1fbWlu
aW11bVNpemUgPT0gMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0Y2hT
dGFydChpbmRleCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmUoaW5kZXgsIHJlZ1QwKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKGFsdGVybmF0aXZlLT5tX21pbmltdW1TaXplKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViMzIoSW1tMzIoYWx0ZXJuYXRpdmUt
Pm1fbWluaW11bVNpemUgLSAxKSwgcmVnVDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0TWF0Y2hTdGFydFdpdGhBcml0aG1ldGljKFNldE1hdGNoU3RhcnRNb2RlOjpT
dWIsIGluZGV4LCBhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSAtIDEsIHJlZ1QwKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKDEpLCByZWdUMCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNldE1hdGNoU3RhcnQocmVnVDApOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2V0TWF0Y2hTdGFydFdpdGhBcml0aG1ldGljKFNldE1hdGNo
U3RhcnRNb2RlOjpBZGQsIGluZGV4LCAxLCByZWdUMCk7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgfQogCkBAIC0zMTgzLDExICszMTkzLDgg
QEAgY2xhc3MgWWFyckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0
ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChuZWVkc1RvVXBkYXRl
TWF0Y2hTdGFydCkgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX3BhdHRlcm4ubV9i
b2R5LT5tX21pbmltdW1TaXplKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1hdGNo
U3RhcnQoaW5kZXgpOwotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgcmVnVDApOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YjMyKEltbTMyKG1fcGF0dGVybi5tX2JvZHktPm1fbWluaW11bVNpemUpLCBy
ZWdUMCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0Y2hTdGFydChyZWdUMCk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0Y2hTdGFydFdpdGhBcml0aG1ldGlj
KFNldE1hdGNoU3RhcnRNb2RlOjpTdWIsIGluZGV4LCBhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6
ZSwgcmVnVDApOwogICAgICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAgICAg
Ly8gQ2FsY3VsYXRlIGhvdyBtdWNoIG1vcmUgaW5wdXQgdGhlIGZpcnN0IGFsdGVybmF0aXZlIHJl
cXVpcmVzIHRoYW4gdGhlIG1pbmltdW0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434970</attachid>
            <date>2021-08-05 01:07:22 -0700</date>
            <delta_ts>2021-08-20 04:01:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228813-20210805010722.patch</filename>
            <type>text/plain</type>
            <size>15563</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
M2MxY2IxMmZhYWMwZGU5OGQyNTY1NWJhYjNiZTA0MjVlZTVlYTY3Li43YjI3ZjVjOGJkZTVhZjQ2
OTZiMzM0ZGYxZjUzOGI0ZjU5YTI0ZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAyMS0wOC0wNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSB1bm5lY2Vzc2FyeSBtb3ZlcyBpbiBZYXJyJ3Mgc3Vi
MzIgLyBhZGQzMiByZWxhdGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyODgxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIDEuIEFkZCB0aHJlZSBvcGVyYW5kIHN1YjMyIHRvIFg2NCBtYXNtIHNv
IHRoYXQgd2UgY2FuIHVzZSBpdCBpbiBhbGwgbWFzbXMuCisgICAgICAgICAgIFdlIHVzZSBhZGQz
MiBhbmQgc3ViMzIgaW4gWWFyckpJVCB0byByZW1vdmUgdW5uZWNlc3NhcnkgbW92IGluc3RydWN0
aW9ucyBpbiBBUk02NC4KKyAgICAgICAgMi4gQWRkIHNldE1hdGNoU3RhcnRXaXRoQXJpdGhtZXRp
YyB0byByZW1vdmUgdW5uZWNlc3NhcnkgbW92IGluc3RydWN0aW9ucy4KKworICAgICAgICAqIGFz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyQVJNdjc6OnN1YjMyKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZD
b21tb24uaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN1YjMyKToK
KyAgICAgICAgKiBhc3NlbWJsZXIvdGVzdG1hc20uY3BwOgorICAgICAgICAoSlNDOjp0ZXN0U3Vi
MzJBcmdJbW0pOgorICAgICAgICAqIHlhcnIvWWFyckpJVC5jcHA6CisKIDIwMjEtMDgtMDMgIFlp
amlhIEh1YW5nICA8eWlqaWFfaHVhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtBUk02NF0gVXNl
IGxpbmsgcmVnaXN0ZXIgaW5zdGVhZCBvZiBwaW5uaW5nIGEgcmVnaXN0ZXIgZm9yIG1hdGVyaWFs
aXppbmcgYmlnIGxvYWQgY29uc3RhbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCmluZGV4IGRmODgzODZhODMyM2Q4Njkx
MmNmZTUzNTMxZTNhODJkZmI0NGViOGUuLmMzNWZkMzk4ZjdlNWY0NGZmMzczMjQxZDc4NjFiZGYx
YTFmMzM0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk12Ny5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk12Ny5oCkBAIC01NDAsNiArNTQwLDE3IEBAIGNsYXNzIE1hY3JvQXNz
ZW1ibGVyQVJNdjcgOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxBc3NlbWJsZXI+IHsK
ICAgICAgICAgbV9hc3NlbWJsZXIuc3ViKGRlc3QsIGxlZnQsIHJpZ2h0KTsKICAgICB9CiAKKyAg
ICB2b2lkIHN1YjMyKFJlZ2lzdGVySUQgbGVmdCwgVHJ1c3RlZEltbTMyIHJpZ2h0LCBSZWdpc3Rl
cklEIGRlc3QpCisgICAgeworICAgICAgICBBUk1UaHVtYkltbWVkaWF0ZSBhcm1JbW0gPSBBUk1U
aHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxMk9yRW5jb2RlZEltbShyaWdodC5tX3ZhbHVlKTsKKyAg
ICAgICAgaWYgKGFybUltbS5pc1ZhbGlkKCkpCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zdWIo
ZGVzdCwgbGVmdCwgYXJtSW1tKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBtb3ZlKHJp
Z2h0LCBkYXRhVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnN1YihkZXN0
LCBsZWZ0LCBkYXRhVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIHZvaWQg
c3ViMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAg
QVJNVGh1bWJJbW1lZGlhdGUgYXJtSW1tID0gQVJNVGh1bWJJbW1lZGlhdGU6Om1ha2VVSW50MTJP
ckVuY29kZWRJbW0oaW1tLm1fdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCmluZGV4IDQzNTY4ODg4
ZmJmMDY1MDVjYWYxNzkwNzYxNTMzZTdhOTI5NjRlMzUuLjlhZmIzMjY0ZGUzMjc2ODQyN2M0YzY0
Y2M4MTMwODBiNzU2NDczMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKQEAgLTgyNSw2ICs4MjUsMTIg
QEAgY2xhc3MgTWFjcm9Bc3NlbWJsZXJYODZDb21tb24gOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fz
c2VtYmxlcjxBc3NlbWJsZXI+IHsKICAgICAgICAgc3ViMzIocmlnaHQsIGRlc3QpOwogICAgIH0K
IAorICAgIHZvaWQgc3ViMzIoUmVnaXN0ZXJJRCBsZWZ0LCBUcnVzdGVkSW1tMzIgcmlnaHQsIFJl
Z2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIG1vdmUobGVmdCwgZGVzdCk7CisgICAgICAg
IHN1YjMyKHJpZ2h0LCBkZXN0KTsKKyAgICB9CisKICAgICB2b2lkIHN1YjMyKFRydXN0ZWRJbW0z
MiBpbW0sIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmIChpbW0ubV92YWx1ZSA9
PSAxKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFz
bS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcAppbmRl
eCBlYmEwYjIyOTY2NDljMjNlMzVlNmFhZmU5Y2NmMDg0ZDZkM2U4MjEzLi44MTQ2ZjM3MWRjY2Fi
ZWNiMzJlMWUyMWZhNDhkOTNhNzUyOTNmYTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL3Rlc3RtYXNtLmNwcApAQCAtMTAyNSwyMyArMTAyNSw2IEBAIHZvaWQgdGVzdFN1
YjMySW1tKCkKICAgICB9CiB9CiAKLXZvaWQgdGVzdFN1YjMyQXJnSW1tKCkKLXsKLSAgICBmb3Ig
KGF1dG8gaW1tZWRpYXRlIDogaW50MzJPcGVyYW5kcygpKSB7Ci0gICAgICAgIGF1dG8gc3ViID0g
Y29tcGlsZShbPV0gKENDYWxsSGVscGVycyYgaml0KSB7Ci0gICAgICAgICAgICBlbWl0RnVuY3Rp
b25Qcm9sb2d1ZShqaXQpOwotCi0gICAgICAgICAgICBqaXQuc3ViMzIoR1BSSW5mbzo6YXJndW1l
bnRHUFIwLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihpbW1lZGlhdGUpLCBHUFJJbmZvOjpy
ZXR1cm5WYWx1ZUdQUik7Ci0KLSAgICAgICAgICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3VlKGppdCk7
Ci0gICAgICAgICAgICBqaXQucmV0KCk7Ci0gICAgICAgIH0pOwotCi0gICAgICAgIGZvciAoYXV0
byB2YWx1ZSA6IGludDMyT3BlcmFuZHMoKSkKLSAgICAgICAgICAgIENIRUNLX0VRKGludm9rZTx1
aW50MzJfdD4oc3ViLCB2YWx1ZSksIHN0YXRpY19jYXN0PHVpbnQzMl90Pih2YWx1ZSAtIGltbWVk
aWF0ZSkpOwotICAgIH0KLX0KLQogdm9pZCB0ZXN0U3ViNjRJbW0zMigpCiB7CiAgICAgZm9yIChh
dXRvIGltbWVkaWF0ZSA6IGludDY0T3BlcmFuZHMoKSkgewpAQCAtMzk2Myw2ICszOTQ2LDIzIEBA
IHZvaWQgdGVzdExvYWRTdG9yZVBhaXIzMigpCiAgICAgQ0hFQ0tfRVEoYnVmZmVyWzldLCBpbml0
aWFsVmFsdWUgKyA5KTsKIH0KIAordm9pZCB0ZXN0U3ViMzJBcmdJbW0oKQoreworICAgIGZvciAo
YXV0byBpbW1lZGlhdGUgOiBpbnQzMk9wZXJhbmRzKCkpIHsKKyAgICAgICAgYXV0byBzdWIgPSBj
b21waWxlKFs9XSAoQ0NhbGxIZWxwZXJzJiBqaXQpIHsKKyAgICAgICAgICAgIGVtaXRGdW5jdGlv
blByb2xvZ3VlKGppdCk7CisKKyAgICAgICAgICAgIGppdC5zdWIzMihHUFJJbmZvOjphcmd1bWVu
dEdQUjAsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKGltbWVkaWF0ZSksIEdQUkluZm86OnJl
dHVyblZhbHVlR1BSKTsKKworICAgICAgICAgICAgZW1pdEZ1bmN0aW9uRXBpbG9ndWUoaml0KTsK
KyAgICAgICAgICAgIGppdC5yZXQoKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgZm9yIChhdXRv
IHZhbHVlIDogaW50MzJPcGVyYW5kcygpKQorICAgICAgICAgICAgQ0hFQ0tfRVEoaW52b2tlPHVp
bnQzMl90PihzdWIsIHZhbHVlKSwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHZhbHVlIC0gaW1tZWRp
YXRlKSk7CisgICAgfQorfQorCiAjaWYgQ1BVKEFSTTY0KQogdm9pZCB0ZXN0TG9hZFN0b3JlUGFp
cjY0SW50NjQoKQogewpAQCAtNTY0NSw2ICs1NjQ1LDcgQEAgdm9pZCBydW4oY29uc3QgY2hhciog
ZmlsdGVyKSBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTCiAKICAgICBSVU4odGVz
dE11bDMyV2l0aEltbWVkaWF0ZXMoKSk7CiAgICAgUlVOKHRlc3RMb2FkU3RvcmVQYWlyMzIoKSk7
CisgICAgUlVOKHRlc3RTdWIzMkFyZ0ltbSgpKTsKIAogI2lmIENQVShYODZfNjQpCiAgICAgUlVO
KHRlc3RCcmFuY2hUZXN0Qml0MzJSZWdSZWcoKSk7CkBAIC01NjczLDcgKzU2NzQsNiBAQCB2b2lk
IHJ1bihjb25zdCBjaGFyKiBmaWx0ZXIpIFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlT
SVMKIAogICAgIFJVTih0ZXN0U3ViMzJBcmdzKCkpOwogICAgIFJVTih0ZXN0U3ViMzJJbW0oKSk7
Ci0gICAgUlVOKHRlc3RTdWIzMkFyZ0ltbSgpKTsKICAgICBSVU4odGVzdFN1YjY0SW1tMzIoKSk7
CiAgICAgUlVOKHRlc3RTdWI2NEFyZ0ltbTMyKCkpOwogICAgIFJVTih0ZXN0U3ViNjRJbW02NCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKaW5kZXggNGRhNTZlZWFiMGFi
NTE1MzczZGRmYTEwNmU4ZDk4NTFmYTYwYzJhZS4uMjgxYTc4YjEwZmMxMjUxMzU2NzZmMmZhYTZk
OWRhMTJkNDBiY2Q4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFy
ckpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKQEAg
LTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJZYXJySklULmgi
CiAKKyNpbmNsdWRlICJHUFJJbmZvLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgogI2luY2x1
ZGUgIk9wdGlvbnMuaCIKICNpbmNsdWRlICJWTS5oIgpAQCAtODY0LDEzICs4NjUsMzYgQEAgY2xh
c3MgWWFyckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNy
b0Fzc2VtYmxlciB7CiAgICAgLy8gMykgSWYgd2UncmUgY29tcGlsaW5nIE1hdGNoT25seSwgJ291
dHB1dCcgaXMgdW51c2VkLCBzdG9yZSB0aGUgbWF0Y2ggc3RhcnQgZGlyZWN0bHkKICAgICAvLyAg
ICBpbiB0aGlzIHJlZ2lzdGVyLgogICAgIHZvaWQgc2V0TWF0Y2hTdGFydChSZWdpc3RlcklEIHJl
ZykKKyAgICB7CisgICAgICAgIHNldE1hdGNoU3RhcnRXaXRoQXJpdGhtZXRpYyhTZXRNYXRjaFN0
YXJ0TW9kZTo6QWRkLCByZWcsIDAsIEludmFsaWRHUFJSZWcpOworICAgIH0KKworICAgIGVudW0g
Y2xhc3MgU2V0TWF0Y2hTdGFydE1vZGUgeyBBZGQsIFN1YiB9OworICAgIHZvaWQgc2V0TWF0Y2hT
dGFydFdpdGhBcml0aG1ldGljKFNldE1hdGNoU3RhcnRNb2RlIG1vZGUsIFJlZ2lzdGVySUQgcmVn
LCBpbnQzMl90IG9mZnNldCwgUmVnaXN0ZXJJRCBzY3JhdGNoKQogICAgIHsKICAgICAgICAgQVNT
RVJUKCFtX3BhdHRlcm4ubV9ib2R5LT5tX2hhc0ZpeGVkU2l6ZSk7Ci0gICAgICAgIGlmIChtX2Nv
bXBpbGVNb2RlID09IEpJVENvbXBpbGVNb2RlOjpJbmNsdWRlU3VicGF0dGVybnMpCisgICAgICAg
IGlmIChtX2NvbXBpbGVNb2RlID09IEpJVENvbXBpbGVNb2RlOjpJbmNsdWRlU3VicGF0dGVybnMp
IHsKKyAgICAgICAgICAgIGlmIChvZmZzZXQpIHsKKyAgICAgICAgICAgICAgICBpZiAobW9kZSA9
PSBTZXRNYXRjaFN0YXJ0TW9kZTo6QWRkKQorICAgICAgICAgICAgICAgICAgICBhZGQzMihUcnVz
dGVkSW1tMzIob2Zmc2V0KSwgcmVnLCBzY3JhdGNoKTsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIHN1YjMyKHJlZywgVHJ1c3RlZEltbTMyKG9mZnNldCksIHNjcmF0
Y2gpOworICAgICAgICAgICAgICAgIHN0b3JlMzIoc2NyYXRjaCwgb3V0cHV0KTsKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBzdG9yZTMyKHJlZywg
b3V0cHV0KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbW92ZShyZWcsIG91dHB1dCk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKG9mZnNldCkgeworICAg
ICAgICAgICAgaWYgKG1vZGUgPT0gU2V0TWF0Y2hTdGFydE1vZGU6OkFkZCkKKyAgICAgICAgICAg
ICAgICBhZGQzMihUcnVzdGVkSW1tMzIob2Zmc2V0KSwgcmVnLCBvdXRwdXQpOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIHN1YjMyKHJlZywgVHJ1c3RlZEltbTMyKG9mZnNldCks
IG91dHB1dCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbW92ZShy
ZWcsIG91dHB1dCk7CiAgICAgfQorCiAgICAgdm9pZCBnZXRNYXRjaFN0YXJ0KFJlZ2lzdGVySUQg
cmVnKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFtX3BhdHRlcm4ubV9ib2R5LT5tX2hhc0ZpeGVk
U2l6ZSk7CkBAIC0xNjkyLDEwICsxNzE2LDkgQEAgY2xhc3MgWWFyckdlbmVyYXRvciBmaW5hbCA6
IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgIGlm
IChtX2RlY29kZVN1cnJvZ2F0ZVBhaXJzKQogICAgICAgICAgICAgb3AubV9qdW1wcy5hcHBlbmQo
anVtcElmTm9BdmFpbGFibGVJbnB1dCgpKTsKIAotICAgICAgICBtb3ZlKGluZGV4LCBjb3VudFJl
Z2lzdGVyKTsKICAgICAgICAgQ2hlY2tlZDx1bnNpZ25lZD4gc2NhbGVkTWF4Q291bnQgPSB0ZXJt
LT5xdWFudGl0eU1heENvdW50OwogICAgICAgICBzY2FsZWRNYXhDb3VudCAqPSBVX0lTX0JNUChj
aCkgPyAxIDogMjsKLSAgICAgICAgc3ViMzIoSW1tMzIoc2NhbGVkTWF4Q291bnQpLCBjb3VudFJl
Z2lzdGVyKTsKKyAgICAgICAgc3ViMzIoaW5kZXgsIFRydXN0ZWRJbW0zMihzY2FsZWRNYXhDb3Vu
dCksIGNvdW50UmVnaXN0ZXIpOwogCiAgICAgICAgIExhYmVsIGxvb3AodGhpcyk7CiAgICAgICAg
IHJlYWRDaGFyYWN0ZXIobV9jaGVja2VkT2Zmc2V0IC0gdGVybS0+aW5wdXRQb3NpdGlvbiAtIHNj
YWxlZE1heENvdW50LCBjaGFyYWN0ZXIsIGNvdW50UmVnaXN0ZXIpOwpAQCAtMTg5OSwxNSArMTky
MiwxMiBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIGZpbmFsIDogcHVibGljIFlhcnJKSVRJbmZvLCBw
cml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAgaWYgKG1fZGVjb2RlU3Vycm9nYXRlUGFp
cnMpCiAgICAgICAgICAgICBvcC5tX2p1bXBzLmFwcGVuZChqdW1wSWZOb0F2YWlsYWJsZUlucHV0
KCkpOwogCi0gICAgICAgIG1vdmUoaW5kZXgsIGNvdW50UmVnaXN0ZXIpOwotCiAgICAgICAgIENo
ZWNrZWQ8dW5zaWduZWQ+IHNjYWxlZE1heENvdW50ID0gdGVybS0+cXVhbnRpdHlNYXhDb3VudDsK
LQogI2lmIEVOQUJMRShZQVJSX0pJVF9VTklDT0RFX0VYUFJFU1NJT05TKQogICAgICAgICBpZiAo
bV9kZWNvZGVTdXJyb2dhdGVQYWlycyAmJiB0ZXJtLT5jaGFyYWN0ZXJDbGFzcy0+aGFzT25seU5v
bkJNUENoYXJhY3RlcnMoKSAmJiAhdGVybS0+aW52ZXJ0KCkpCiAgICAgICAgICAgICBzY2FsZWRN
YXhDb3VudCAqPSAyOwogI2VuZGlmCi0gICAgICAgIHN1YjMyKEltbTMyKHNjYWxlZE1heENvdW50
KSwgY291bnRSZWdpc3Rlcik7CisgICAgICAgIHN1YjMyKGluZGV4LCBUcnVzdGVkSW1tMzIoc2Nh
bGVkTWF4Q291bnQpLCBjb3VudFJlZ2lzdGVyKTsKIAogICAgICAgICBMYWJlbCBsb29wKHRoaXMp
OwogICAgICAgICBKdW1wTGlzdCBtYXRjaERlc3Q7CkBAIC0yNDgwLDExICsyNTAwLDkgQEAgY2xh
c3MgWWFyckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNy
b0Fzc2VtYmxlciB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHVzZWQgZm9y
IGFkanVzdGluZyBtYXRjaC1zdGFydCB3aGVuIHdlIGZhaWxlZCB0byBmaW5kIHRoZSBzdGFydCB3
aXRoIEJveWVyTW9vcmUgc2VhcmNoLgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX3Bh
dHRlcm4ubV9ib2R5LT5tX2hhc0ZpeGVkU2l6ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG91dE9mTGVuZ3RoRmFpbHVyZS5saW5rKHRoaXMpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtb3ZlKGluZGV4LCByZWdUMCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN1YjMyKEltbTMyKGFsdGVybmF0aXZlLT5tX21pbmltdW1TaXplKSwgcmVn
VDApOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0KHJlZ1Qw
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNldE1hdGNoU3RhcnRXaXRoQXJpdGhtZXRpYyhTZXRNYXRjaFN0
YXJ0TW9kZTo6U3ViLCBpbmRleCwgYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUsIHJlZ1QwKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNldE1hdGNoU3RhcnQoaW5kZXgpOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9wLm1fanVtcHMuYXBwZW5kKGp1bXAoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9
IGVsc2UKQEAgLTI0OTUsMTEgKzI1MTMsOSBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIGZpbmFsIDog
cHVibGljIFlhcnJKSVRJbmZvLCBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIFRoaXMgaXMgdXNlZCBmb3IgYWRqdXN0aW5nIG1hdGNoLXN0YXJ0IHdo
ZW4gd2Ugc3RhcnQgcGF0dGVybiBtYXRjaGluZyB3aXRoIHRoZSB1cGRhdGVkIGluZGV4CiAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBieSBCb3llck1vb3JlIHNlYXJjaC4KICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICghbV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgcmVnVDApOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihhbHRlcm5hdGl2ZS0+
bV9taW5pbXVtU2l6ZSksIHJlZ1QwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2V0TWF0Y2hTdGFydChyZWdUMCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFsdGVybmF0aXZlLT5tX21pbmltdW1T
aXplKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0V2l0aEFy
aXRobWV0aWMoU2V0TWF0Y2hTdGFydE1vZGU6OlN1YiwgaW5kZXgsIGFsdGVybmF0aXZlLT5tX21p
bmltdW1TaXplLCByZWdUMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0KGluZGV4KTsKICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQpAQCAtMjUyMSw5ICsy
NTM3LDEwIEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBwdWJsaWMgWWFyckpJVEluZm8s
IHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAgICAgICAgIC8vIG5vdCBoYXZlIHll
dCBzZXQgdGhlIHZhbHVlIGluIHRoZSBmaXJzdCAKICAgICAgICAgICAgICAgICBBU1NFUlQoaW5k
ZXggIT0gcmV0dXJuUmVnaXN0ZXIpOwogICAgICAgICAgICAgICAgIGlmIChtX3BhdHRlcm4ubV9i
b2R5LT5tX2hhc0ZpeGVkU2l6ZSkgewotICAgICAgICAgICAgICAgICAgICBtb3ZlKGluZGV4LCBy
ZXR1cm5SZWdpc3Rlcik7CiAgICAgICAgICAgICAgICAgICAgIGlmIChwcmlvckFsdGVybmF0aXZl
LT5tX21pbmltdW1TaXplKQotICAgICAgICAgICAgICAgICAgICAgICAgc3ViMzIoSW1tMzIocHJp
b3JBbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSksIHJldHVyblJlZ2lzdGVyKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN1YjMyKGluZGV4LCBUcnVzdGVkSW1tMzIocHJpb3JBbHRlcm5hdGl2
ZS0+bV9taW5pbXVtU2l6ZSksIHJldHVyblJlZ2lzdGVyKTsKKyAgICAgICAgICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgcmV0dXJuUmVnaXN0ZXIp
OwogICAgICAgICAgICAgICAgICAgICBpZiAobV9jb21waWxlTW9kZSA9PSBKSVRDb21waWxlTW9k
ZTo6SW5jbHVkZVN1YnBhdHRlcm5zKQogICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmVQYWly
MzIocmV0dXJuUmVnaXN0ZXIsIGluZGV4LCBvdXRwdXQsIFRydXN0ZWRJbW0zMigwKSk7CiAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTI3MTQsOCArMjczMSw3IEBAIGNsYXNzIFlhcnJHZW5l
cmF0b3IgZmluYWwgOiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIg
ewogICAgICAgICAgICAgICAgICAgICBpZiAodGVybS0+cXVhbnRpdHlUeXBlID09IFF1YW50aWZp
ZXJUeXBlOjpGaXhlZENvdW50KQogICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRPZmZzZXQg
Kz0gdGVybS0+cGFyZW50aGVzZXMuZGlzanVuY3Rpb24tPm1fbWluaW11bVNpemU7CiAgICAgICAg
ICAgICAgICAgICAgIGlmIChpbnB1dE9mZnNldCkgewotICAgICAgICAgICAgICAgICAgICAgICAg
bW92ZShpbmRleCwgaW5kZXhUZW1wb3JhcnkpOwotICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
MzIoSW1tMzIoaW5wdXRPZmZzZXQpLCBpbmRleFRlbXBvcmFyeSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBzdWIzMihpbmRleCwgVHJ1c3RlZEltbTMyKGlucHV0T2Zmc2V0KSwgaW5kZXhUZW1w
b3JhcnkpOwogICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3VicGF0dGVyblN0YXJ0KGluZGV4
VGVtcG9yYXJ5LCB0ZXJtLT5wYXJlbnRoZXNlcy5zdWJwYXR0ZXJuSWQpOwogICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN1YnBhdHRlcm5TdGFy
dChpbmRleCwgdGVybS0+cGFyZW50aGVzZXMuc3VicGF0dGVybklkKTsKQEAgLTI3NDIsOCArMjc1
OCw3IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBwdWJsaWMgWWFyckpJVEluZm8sIHBy
aXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAgICAgICAgIGlmICh0ZXJtLT5jYXB0dXJl
KCkgJiYgbV9jb21waWxlTW9kZSA9PSBKSVRDb21waWxlTW9kZTo6SW5jbHVkZVN1YnBhdHRlcm5z
KSB7CiAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlucHV0T2Zmc2V0ID0gbV9jaGVja2Vk
T2Zmc2V0IC0gdGVybS0+aW5wdXRQb3NpdGlvbjsKICAgICAgICAgICAgICAgICAgICAgaWYgKGlu
cHV0T2Zmc2V0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlKGluZGV4LCBpbmRleFRl
bXBvcmFyeSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihpbnB1dE9mZnNl
dCksIGluZGV4VGVtcG9yYXJ5KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1YjMyKGluZGV4
LCBUcnVzdGVkSW1tMzIoaW5wdXRPZmZzZXQpLCBpbmRleFRlbXBvcmFyeSk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBzZXRTdWJwYXR0ZXJuRW5kKGluZGV4VGVtcG9yYXJ5LCB0ZXJtLT5wYXJl
bnRoZXNlcy5zdWJwYXR0ZXJuSWQpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAg
ICAgICAgICAgICAgICAgICAgIHNldFN1YnBhdHRlcm5FbmQoaW5kZXgsIHRlcm0tPnBhcmVudGhl
c2VzLnN1YnBhdHRlcm5JZCk7CkBAIC0yODUxLDggKzI4NjYsNyBAQCBjbGFzcyBZYXJyR2VuZXJh
dG9yIGZpbmFsIDogcHVibGljIFlhcnJKSVRJbmZvLCBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKHRlcm0tPnF1YW50aXR5VHlwZSA9PSBRdWFudGlmaWVy
VHlwZTo6Rml4ZWRDb3VudCkKICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0T2Zmc2V0ICs9
IHRlcm0tPnBhcmVudGhlc2VzLmRpc2p1bmN0aW9uLT5tX21pbmltdW1TaXplOwogICAgICAgICAg
ICAgICAgICAgICBpZiAoaW5wdXRPZmZzZXQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1v
dmUoaW5kZXgsIGluZGV4VGVtcG9yYXJ5KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1YjMy
KEltbTMyKGlucHV0T2Zmc2V0KSwgaW5kZXhUZW1wb3JhcnkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgc3ViMzIoaW5kZXgsIFRydXN0ZWRJbW0zMihpbnB1dE9mZnNldCksIGluZGV4VGVtcG9y
YXJ5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN1YnBhdHRlcm5TdGFydChpbmRleFRl
bXBvcmFyeSwgdGVybS0+cGFyZW50aGVzZXMuc3VicGF0dGVybklkKTsKICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTdWJwYXR0ZXJuU3RhcnQo
aW5kZXgsIHRlcm0tPnBhcmVudGhlc2VzLnN1YnBhdHRlcm5JZCk7CkBAIC0yODkxLDggKzI5MDUs
NyBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIGZpbmFsIDogcHVibGljIFlhcnJKSVRJbmZvLCBwcml2
YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGlucHV0T2Zmc2V0ID0gbV9jaGVja2VkT2Zmc2V0IC0gdGVybS0+aW5w
dXRQb3NpdGlvbjsKICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0T2Zmc2V0KSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBtb3ZlKGluZGV4LCBpbmRleFRlbXBvcmFyeSk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihpbnB1dE9mZnNldCksIGluZGV4VGVtcG9yYXJ5
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1YjMyKGluZGV4LCBUcnVzdGVkSW1tMzIoaW5w
dXRPZmZzZXQpLCBpbmRleFRlbXBvcmFyeSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBzZXRT
dWJwYXR0ZXJuRW5kKGluZGV4VGVtcG9yYXJ5LCB0ZXJtLT5wYXJlbnRoZXNlcy5zdWJwYXR0ZXJu
SWQpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg
IHNldFN1YnBhdHRlcm5FbmQoaW5kZXgsIHRlcm0tPnBhcmVudGhlc2VzLnN1YnBhdHRlcm5JZCk7
CkBAIC0zMDY2LDEyICszMDc5LDEwIEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBwdWJs
aWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSA9PSAxKQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0KGluZGV4KTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbW92ZShpbmRleCwgcmVnVDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdWIzMihJbW0zMihhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSAtIDEpLCBy
ZWdUMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0
V2l0aEFyaXRobWV0aWMoU2V0TWF0Y2hTdGFydE1vZGU6OlN1YiwgaW5kZXgsIGFsdGVybmF0aXZl
LT5tX21pbmltdW1TaXplIC0gMSwgcmVnVDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQzMihUcnVz
dGVkSW1tMzIoMSksIHJlZ1QwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0
TWF0Y2hTdGFydChyZWdUMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZXRNYXRjaFN0YXJ0V2l0aEFyaXRobWV0aWMoU2V0TWF0Y2hTdGFydE1vZGU6OkFkZCwgaW5kZXgs
IDEsIHJlZ1QwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgICAgICAgICB9CiAKQEAgLTMxODMsMTEgKzMxOTQsOCBAQCBjbGFzcyBZYXJyR2VuZXJhdG9y
IGZpbmFsIDogcHVibGljIFlhcnJKSVRJbmZvLCBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAg
ICAgICAgICAgICAgICAgICAgaWYgKG5lZWRzVG9VcGRhdGVNYXRjaFN0YXJ0KSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoIW1fcGF0dGVybi5tX2JvZHktPm1fbWluaW11bVNpemUpCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0Y2hTdGFydChpbmRleCk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3Zl
KGluZGV4LCByZWdUMCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViMzIoSW1tMzIo
bV9wYXR0ZXJuLm1fYm9keS0+bV9taW5pbXVtU2l6ZSksIHJlZ1QwKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0KHJlZ1QwKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZXRNYXRjaFN0YXJ0V2l0aEFyaXRobWV0aWMoU2V0TWF0Y2hTdGFydE1vZGU6OlN1
YiwgaW5kZXgsIGFsdGVybmF0aXZlLT5tX21pbmltdW1TaXplLCByZWdUMCk7CiAgICAgICAgICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgaG93IG11Y2gg
bW9yZSBpbnB1dCB0aGUgZmlyc3QgYWx0ZXJuYXRpdmUgcmVxdWlyZXMgdGhhbiB0aGUgbWluaW11
bQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435968</attachid>
            <date>2021-08-20 04:01:04 -0700</date>
            <delta_ts>2021-08-20 04:31:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228813-20210820040104.patch</filename>
            <type>text/plain</type>
            <size>12838</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MmVhZDM3YmE2NzJlYzNkMzE1M2QyNzZkYmUwOTUyYzRjNjUwNWI2Li44ZTI0NmY5MmM1ZDFkNGNi
MjEwY2RlNzdmMDI4ODBkNDUyZGYwY2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAyMS0wOC0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSB1bm5lY2Vzc2FyeSBtb3ZlcyBpbiBZYXJyJ3Mgc3Vi
MzIgLyBhZGQzMiByZWxhdGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyODgxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0aHJlZSBvcGVyYW5kIHN1YjMyIHRvIFg2
NCBtYXNtIHNvIHRoYXQgd2UgY2FuIHVzZSBpdCBpbiBhbGwgbWFzbXMuCisgICAgICAgIFdlIHVz
ZSBhZGQzMiBhbmQgc3ViMzIgaW4gWWFyckpJVCB0byByZW1vdmUgdW5uZWNlc3NhcnkgbW92IGlu
c3RydWN0aW9ucyBpbiBBUk02NC4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTXY3Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OnN1YjMyKToKKyAg
ICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaDoKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN1YjMyKToKKyAgICAgICAgKiBhc3NlbWJsZXIv
dGVzdG1hc20uY3BwOgorICAgICAgICAoSlNDOjp0ZXN0U3ViMzJBcmdJbW0pOgorICAgICAgICAq
IHlhcnIvWWFyckpJVC5jcHA6CisKIDIwMjEtMDgtMTkgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxl
LmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgOjpiYWNrZHJvcCBwc2V1ZG8gZWxlbWVudApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFS
TXY3LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJN
djcuaAppbmRleCBkZjg4Mzg2YTgzMjNkODY5MTJjZmU1MzUzMWUzYTgyZGZiNDRlYjhlLi5jMzVm
ZDM5OGY3ZTVmNDRmZjM3MzI0MWQ3ODYxYmRmMWExZjMzNGUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaApAQCAtNTQw
LDYgKzU0MCwxNyBAQCBjbGFzcyBNYWNyb0Fzc2VtYmxlckFSTXY3IDogcHVibGljIEFic3RyYWN0
TWFjcm9Bc3NlbWJsZXI8QXNzZW1ibGVyPiB7CiAgICAgICAgIG1fYXNzZW1ibGVyLnN1YihkZXN0
LCBsZWZ0LCByaWdodCk7CiAgICAgfQogCisgICAgdm9pZCBzdWIzMihSZWdpc3RlcklEIGxlZnQs
IFRydXN0ZWRJbW0zMiByaWdodCwgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgQVJN
VGh1bWJJbW1lZGlhdGUgYXJtSW1tID0gQVJNVGh1bWJJbW1lZGlhdGU6Om1ha2VVSW50MTJPckVu
Y29kZWRJbW0ocmlnaHQubV92YWx1ZSk7CisgICAgICAgIGlmIChhcm1JbW0uaXNWYWxpZCgpKQor
ICAgICAgICAgICAgbV9hc3NlbWJsZXIuc3ViKGRlc3QsIGxlZnQsIGFybUltbSk7CisgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgbW92ZShyaWdodCwgZGF0YVRlbXBSZWdpc3Rlcik7CisgICAg
ICAgICAgICBtX2Fzc2VtYmxlci5zdWIoZGVzdCwgbGVmdCwgZGF0YVRlbXBSZWdpc3Rlcik7Cisg
ICAgICAgIH0KKyAgICB9CisKICAgICB2b2lkIHN1YjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lz
dGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGFybUltbSA9IEFS
TVRodW1iSW1tZWRpYXRlOjptYWtlVUludDEyT3JFbmNvZGVkSW1tKGltbS5tX3ZhbHVlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJY
ODZDb21tb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJYODZDb21tb24uaAppbmRleCAxN2JiNjY0ZDRjMGU2ZTljMmI5MzBlYTEwNmU4YWIxMTJkNGZh
NDkwLi5jY2UwZDAxZjQwMTc0OTY3MTM3YWMwYmM0MjkwOWQ0YWZhMGY0MGExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbi5oCkBAIC04MzcsNiArODM3LDEyIEBAIGNsYXNzIE1hY3JvQXNzZW1ibGVyWDg2Q29t
bW9uIDogcHVibGljIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8QXNzZW1ibGVyPiB7CiAgICAgICAg
IHN1YjMyKHJpZ2h0LCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lkIHN1YjMyKFJlZ2lzdGVySUQg
bGVmdCwgVHJ1c3RlZEltbTMyIHJpZ2h0LCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAg
ICBtb3ZlKGxlZnQsIGRlc3QpOworICAgICAgICBzdWIzMihyaWdodCwgZGVzdCk7CisgICAgfQor
CiAgICAgdm9pZCBzdWIzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIGRlc3QpCiAgICAg
ewogICAgICAgICBpZiAoaW1tLm1fdmFsdWUgPT0gMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci90ZXN0bWFzbS5jcHAKaW5kZXggZWJhMGIyMjk2NjQ5YzIzZTM1ZTZhYWZlOWNj
ZjA4NGQ2ZDNlODIxMy4uODE0NmYzNzFkY2NhYmVjYjMyZTFlMjFmYTQ4ZDkzYTc1MjkzZmEwYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFzbS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFzbS5jcHAKQEAgLTEw
MjUsMjMgKzEwMjUsNiBAQCB2b2lkIHRlc3RTdWIzMkltbSgpCiAgICAgfQogfQogCi12b2lkIHRl
c3RTdWIzMkFyZ0ltbSgpCi17Ci0gICAgZm9yIChhdXRvIGltbWVkaWF0ZSA6IGludDMyT3BlcmFu
ZHMoKSkgewotICAgICAgICBhdXRvIHN1YiA9IGNvbXBpbGUoWz1dIChDQ2FsbEhlbHBlcnMmIGpp
dCkgewotICAgICAgICAgICAgZW1pdEZ1bmN0aW9uUHJvbG9ndWUoaml0KTsKLQotICAgICAgICAg
ICAgaml0LnN1YjMyKEdQUkluZm86OmFyZ3VtZW50R1BSMCwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tMzIoaW1tZWRpYXRlKSwgR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIpOwotCi0gICAgICAgICAg
ICBlbWl0RnVuY3Rpb25FcGlsb2d1ZShqaXQpOwotICAgICAgICAgICAgaml0LnJldCgpOwotICAg
ICAgICB9KTsKLQotICAgICAgICBmb3IgKGF1dG8gdmFsdWUgOiBpbnQzMk9wZXJhbmRzKCkpCi0g
ICAgICAgICAgICBDSEVDS19FUShpbnZva2U8dWludDMyX3Q+KHN1YiwgdmFsdWUpLCBzdGF0aWNf
Y2FzdDx1aW50MzJfdD4odmFsdWUgLSBpbW1lZGlhdGUpKTsKLSAgICB9Ci19Ci0KIHZvaWQgdGVz
dFN1YjY0SW1tMzIoKQogewogICAgIGZvciAoYXV0byBpbW1lZGlhdGUgOiBpbnQ2NE9wZXJhbmRz
KCkpIHsKQEAgLTM5NjMsNiArMzk0NiwyMyBAQCB2b2lkIHRlc3RMb2FkU3RvcmVQYWlyMzIoKQog
ICAgIENIRUNLX0VRKGJ1ZmZlcls5XSwgaW5pdGlhbFZhbHVlICsgOSk7CiB9CiAKK3ZvaWQgdGVz
dFN1YjMyQXJnSW1tKCkKK3sKKyAgICBmb3IgKGF1dG8gaW1tZWRpYXRlIDogaW50MzJPcGVyYW5k
cygpKSB7CisgICAgICAgIGF1dG8gc3ViID0gY29tcGlsZShbPV0gKENDYWxsSGVscGVycyYgaml0
KSB7CisgICAgICAgICAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZShqaXQpOworCisgICAgICAgICAg
ICBqaXQuc3ViMzIoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW0zMihpbW1lZGlhdGUpLCBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUik7CisKKyAgICAgICAgICAg
IGVtaXRGdW5jdGlvbkVwaWxvZ3VlKGppdCk7CisgICAgICAgICAgICBqaXQucmV0KCk7CisgICAg
ICAgIH0pOworCisgICAgICAgIGZvciAoYXV0byB2YWx1ZSA6IGludDMyT3BlcmFuZHMoKSkKKyAg
ICAgICAgICAgIENIRUNLX0VRKGludm9rZTx1aW50MzJfdD4oc3ViLCB2YWx1ZSksIHN0YXRpY19j
YXN0PHVpbnQzMl90Pih2YWx1ZSAtIGltbWVkaWF0ZSkpOworICAgIH0KK30KKwogI2lmIENQVShB
Uk02NCkKIHZvaWQgdGVzdExvYWRTdG9yZVBhaXI2NEludDY0KCkKIHsKQEAgLTU2NDUsNiArNTY0
NSw3IEBAIHZvaWQgcnVuKGNvbnN0IGNoYXIqIGZpbHRlcikgV1RGX0lHTk9SRVNfVEhSRUFEX1NB
RkVUWV9BTkFMWVNJUwogCiAgICAgUlVOKHRlc3RNdWwzMldpdGhJbW1lZGlhdGVzKCkpOwogICAg
IFJVTih0ZXN0TG9hZFN0b3JlUGFpcjMyKCkpOworICAgIFJVTih0ZXN0U3ViMzJBcmdJbW0oKSk7
CiAKICNpZiBDUFUoWDg2XzY0KQogICAgIFJVTih0ZXN0QnJhbmNoVGVzdEJpdDMyUmVnUmVnKCkp
OwpAQCAtNTY3Myw3ICs1Njc0LDYgQEAgdm9pZCBydW4oY29uc3QgY2hhciogZmlsdGVyKSBXVEZf
SUdOT1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTCiAKICAgICBSVU4odGVzdFN1YjMyQXJncygp
KTsKICAgICBSVU4odGVzdFN1YjMySW1tKCkpOwotICAgIFJVTih0ZXN0U3ViMzJBcmdJbW0oKSk7
CiAgICAgUlVOKHRlc3RTdWI2NEltbTMyKCkpOwogICAgIFJVTih0ZXN0U3ViNjRBcmdJbW0zMigp
KTsKICAgICBSVU4odGVzdFN1YjY0SW1tNjQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUveWFyci9ZYXJySklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lh
cnJKSVQuY3BwCmluZGV4IDFkMzZhZWNiYmE0OTBkZWIwMmQzZDNiM2FkZWViMmEyMmQ5ODk0MjEu
LmMyMmQxZmRmNTA0MzEyMTRhNWViOTZlMTA5ZTNkZjE3MmM1YWU2MTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwCkBAIC0xNzA0LDEwICsxNzA0LDkgQEAgY2xhc3MgWWFy
ckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNyb0Fzc2Vt
YmxlciB7CiAgICAgICAgIGlmIChtX2RlY29kZVN1cnJvZ2F0ZVBhaXJzKQogICAgICAgICAgICAg
b3AubV9qdW1wcy5hcHBlbmQoanVtcElmTm9BdmFpbGFibGVJbnB1dCgpKTsKIAotICAgICAgICBt
b3ZlKGluZGV4LCBjb3VudFJlZ2lzdGVyKTsKICAgICAgICAgQ2hlY2tlZDx1bnNpZ25lZD4gc2Nh
bGVkTWF4Q291bnQgPSB0ZXJtLT5xdWFudGl0eU1heENvdW50OwogICAgICAgICBzY2FsZWRNYXhD
b3VudCAqPSBVX0lTX0JNUChjaCkgPyAxIDogMjsKLSAgICAgICAgc3ViMzIoSW1tMzIoc2NhbGVk
TWF4Q291bnQpLCBjb3VudFJlZ2lzdGVyKTsKKyAgICAgICAgc3ViMzIoaW5kZXgsIFRydXN0ZWRJ
bW0zMihzY2FsZWRNYXhDb3VudCksIGNvdW50UmVnaXN0ZXIpOwogCiAgICAgICAgIExhYmVsIGxv
b3AodGhpcyk7CiAgICAgICAgIHJlYWRDaGFyYWN0ZXIobV9jaGVja2VkT2Zmc2V0IC0gdGVybS0+
aW5wdXRQb3NpdGlvbiAtIHNjYWxlZE1heENvdW50LCBjaGFyYWN0ZXIsIGNvdW50UmVnaXN0ZXIp
OwpAQCAtMTkxMSwxNSArMTkxMCwxMiBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIGZpbmFsIDogcHVi
bGljIFlhcnJKSVRJbmZvLCBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAgaWYgKG1f
ZGVjb2RlU3Vycm9nYXRlUGFpcnMpCiAgICAgICAgICAgICBvcC5tX2p1bXBzLmFwcGVuZChqdW1w
SWZOb0F2YWlsYWJsZUlucHV0KCkpOwogCi0gICAgICAgIG1vdmUoaW5kZXgsIGNvdW50UmVnaXN0
ZXIpOwotCiAgICAgICAgIENoZWNrZWQ8dW5zaWduZWQ+IHNjYWxlZE1heENvdW50ID0gdGVybS0+
cXVhbnRpdHlNYXhDb3VudDsKLQogI2lmIEVOQUJMRShZQVJSX0pJVF9VTklDT0RFX0VYUFJFU1NJ
T05TKQogICAgICAgICBpZiAobV9kZWNvZGVTdXJyb2dhdGVQYWlycyAmJiB0ZXJtLT5jaGFyYWN0
ZXJDbGFzcy0+aGFzT25seU5vbkJNUENoYXJhY3RlcnMoKSAmJiAhdGVybS0+aW52ZXJ0KCkpCiAg
ICAgICAgICAgICBzY2FsZWRNYXhDb3VudCAqPSAyOwogI2VuZGlmCi0gICAgICAgIHN1YjMyKElt
bTMyKHNjYWxlZE1heENvdW50KSwgY291bnRSZWdpc3Rlcik7CisgICAgICAgIHN1YjMyKGluZGV4
LCBUcnVzdGVkSW1tMzIoc2NhbGVkTWF4Q291bnQpLCBjb3VudFJlZ2lzdGVyKTsKIAogICAgICAg
ICBMYWJlbCBsb29wKHRoaXMpOwogICAgICAgICBKdW1wTGlzdCBtYXRjaERlc3Q7CkBAIC0yNDg1
LDggKzI0ODEsNyBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIGZpbmFsIDogcHVibGljIFlhcnJKSVRJ
bmZvLCBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICghbV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpIHsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBvdXRPZkxlbmd0aEZhaWx1cmUubGluayh0aGlzKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgcmVnVDApOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6
ZSksIHJlZ1QwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViMzIoaW5kZXgs
IFRydXN0ZWRJbW0zMihhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSksIHJlZ1QwKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0Y2hTdGFydChyZWdUMCk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNldE1hdGNoU3RhcnQoaW5kZXgpOwpAQCAtMjUwMCw4ICsyNDk1LDcgQEAgY2xhc3MgWWFy
ckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNyb0Fzc2Vt
YmxlciB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBieSBCb3llck1vb3JlIHNlYXJjaC4K
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhl
ZFNpemUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWx0ZXJuYXRpdmUtPm1f
bWluaW11bVNpemUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRl
eCwgcmVnVDApOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihh
bHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSksIHJlZ1QwKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3ViMzIoaW5kZXgsIFRydXN0ZWRJbW0zMihhbHRlcm5hdGl2ZS0+bV9taW5p
bXVtU2l6ZSksIHJlZ1QwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0
Y2hTdGFydChyZWdUMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1hdGNoU3RhcnQoaW5kZXgpOwpAQCAtMjUy
NSw5ICsyNTE5LDEwIEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBwdWJsaWMgWWFyckpJ
VEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAgICAgICAgIC8vIG5vdCBo
YXZlIHlldCBzZXQgdGhlIHZhbHVlIGluIHRoZSBmaXJzdCAKICAgICAgICAgICAgICAgICBBU1NF
UlQoaW5kZXggIT0gcmV0dXJuUmVnaXN0ZXIpOwogICAgICAgICAgICAgICAgIGlmIChtX3BhdHRl
cm4ubV9ib2R5LT5tX2hhc0ZpeGVkU2l6ZSkgewotICAgICAgICAgICAgICAgICAgICBtb3ZlKGlu
ZGV4LCByZXR1cm5SZWdpc3Rlcik7CiAgICAgICAgICAgICAgICAgICAgIGlmIChwcmlvckFsdGVy
bmF0aXZlLT5tX21pbmltdW1TaXplKQotICAgICAgICAgICAgICAgICAgICAgICAgc3ViMzIoSW1t
MzIocHJpb3JBbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSksIHJldHVyblJlZ2lzdGVyKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN1YjMyKGluZGV4LCBUcnVzdGVkSW1tMzIocHJpb3JBbHRl
cm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSksIHJldHVyblJlZ2lzdGVyKTsKKyAgICAgICAgICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgcmV0dXJuUmVn
aXN0ZXIpOwogICAgICAgICAgICAgICAgICAgICBpZiAobV9jb21waWxlTW9kZSA9PSBKSVRDb21w
aWxlTW9kZTo6SW5jbHVkZVN1YnBhdHRlcm5zKQogICAgICAgICAgICAgICAgICAgICAgICAgc3Rv
cmVQYWlyMzIocmV0dXJuUmVnaXN0ZXIsIGluZGV4LCBvdXRwdXQsIFRydXN0ZWRJbW0zMigwKSk7
CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTI3MTgsOCArMjcxMyw3IEBAIGNsYXNzIFlh
cnJHZW5lcmF0b3IgZmluYWwgOiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3Nl
bWJsZXIgewogICAgICAgICAgICAgICAgICAgICBpZiAodGVybS0+cXVhbnRpdHlUeXBlID09IFF1
YW50aWZpZXJUeXBlOjpGaXhlZENvdW50KQogICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRP
ZmZzZXQgKz0gdGVybS0+cGFyZW50aGVzZXMuZGlzanVuY3Rpb24tPm1fbWluaW11bVNpemU7CiAg
ICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dE9mZnNldCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgbW92ZShpbmRleCwgaW5kZXhUZW1wb3JhcnkpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgc3ViMzIoSW1tMzIoaW5wdXRPZmZzZXQpLCBpbmRleFRlbXBvcmFyeSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBzdWIzMihpbmRleCwgVHJ1c3RlZEltbTMyKGlucHV0T2Zmc2V0KSwgaW5k
ZXhUZW1wb3JhcnkpOwogICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3VicGF0dGVyblN0YXJ0
KGluZGV4VGVtcG9yYXJ5LCB0ZXJtLT5wYXJlbnRoZXNlcy5zdWJwYXR0ZXJuSWQpOwogICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN1YnBhdHRl
cm5TdGFydChpbmRleCwgdGVybS0+cGFyZW50aGVzZXMuc3VicGF0dGVybklkKTsKQEAgLTI3NDYs
OCArMjc0MCw3IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBwdWJsaWMgWWFyckpJVElu
Zm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAgICAgICAgIGlmICh0ZXJtLT5j
YXB0dXJlKCkgJiYgbV9jb21waWxlTW9kZSA9PSBKSVRDb21waWxlTW9kZTo6SW5jbHVkZVN1YnBh
dHRlcm5zKSB7CiAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlucHV0T2Zmc2V0ID0gbV9j
aGVja2VkT2Zmc2V0IC0gdGVybS0+aW5wdXRQb3NpdGlvbjsKICAgICAgICAgICAgICAgICAgICAg
aWYgKGlucHV0T2Zmc2V0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlKGluZGV4LCBp
bmRleFRlbXBvcmFyeSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihpbnB1
dE9mZnNldCksIGluZGV4VGVtcG9yYXJ5KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1YjMy
KGluZGV4LCBUcnVzdGVkSW1tMzIoaW5wdXRPZmZzZXQpLCBpbmRleFRlbXBvcmFyeSk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBzZXRTdWJwYXR0ZXJuRW5kKGluZGV4VGVtcG9yYXJ5LCB0ZXJt
LT5wYXJlbnRoZXNlcy5zdWJwYXR0ZXJuSWQpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UK
ICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN1YnBhdHRlcm5FbmQoaW5kZXgsIHRlcm0tPnBh
cmVudGhlc2VzLnN1YnBhdHRlcm5JZCk7CkBAIC0yODU1LDggKzI4NDgsNyBAQCBjbGFzcyBZYXJy
R2VuZXJhdG9yIGZpbmFsIDogcHVibGljIFlhcnJKSVRJbmZvLCBwcml2YXRlIE1hY3JvQXNzZW1i
bGVyIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHRlcm0tPnF1YW50aXR5VHlwZSA9PSBRdWFu
dGlmaWVyVHlwZTo6Rml4ZWRDb3VudCkKICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0T2Zm
c2V0ICs9IHRlcm0tPnBhcmVudGhlc2VzLmRpc2p1bmN0aW9uLT5tX21pbmltdW1TaXplOwogICAg
ICAgICAgICAgICAgICAgICBpZiAoaW5wdXRPZmZzZXQpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1vdmUoaW5kZXgsIGluZGV4VGVtcG9yYXJ5KTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHN1YjMyKEltbTMyKGlucHV0T2Zmc2V0KSwgaW5kZXhUZW1wb3JhcnkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgc3ViMzIoaW5kZXgsIFRydXN0ZWRJbW0zMihpbnB1dE9mZnNldCksIGluZGV4
VGVtcG9yYXJ5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN1YnBhdHRlcm5TdGFydChp
bmRleFRlbXBvcmFyeSwgdGVybS0+cGFyZW50aGVzZXMuc3VicGF0dGVybklkKTsKICAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTdWJwYXR0ZXJu
U3RhcnQoaW5kZXgsIHRlcm0tPnBhcmVudGhlc2VzLnN1YnBhdHRlcm5JZCk7CkBAIC0yODk1LDgg
KzI4ODcsNyBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIGZpbmFsIDogcHVibGljIFlhcnJKSVRJbmZv
LCBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGlucHV0T2Zmc2V0ID0gbV9jaGVja2VkT2Zmc2V0IC0gdGVy
bS0+aW5wdXRQb3NpdGlvbjsKICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0T2Zmc2V0KSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlKGluZGV4LCBpbmRleFRlbXBvcmFyeSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihpbnB1dE9mZnNldCksIGluZGV4VGVt
cG9yYXJ5KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1YjMyKGluZGV4LCBUcnVzdGVkSW1t
MzIoaW5wdXRPZmZzZXQpLCBpbmRleFRlbXBvcmFyeSk7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBzZXRTdWJwYXR0ZXJuRW5kKGluZGV4VGVtcG9yYXJ5LCB0ZXJtLT5wYXJlbnRoZXNlcy5zdWJw
YXR0ZXJuSWQpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAg
ICAgICAgIHNldFN1YnBhdHRlcm5FbmQoaW5kZXgsIHRlcm0tPnBhcmVudGhlc2VzLnN1YnBhdHRl
cm5JZCk7CkBAIC0zMDcwLDExICszMDYxLDEwIEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwg
OiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSA9PSAxKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0KGluZGV4KTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbW92ZShpbmRleCwgcmVnVDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUpCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSAt
IDEpLCByZWdUMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihp
bmRleCwgVHJ1c3RlZEltbTMyKGFsdGVybmF0aXZlLT5tX21pbmltdW1TaXplIC0gMSksIHJlZ1Qw
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKDEpLCByZWdUMCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQzMihUcnVzdGVkSW1tMzIoMSksIGlu
ZGV4LCByZWdUMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1hdGNoU3Rh
cnQocmVnVDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICAgICAgICAgIH0KQEAgLTMxODgsOCArMzE3OCw3IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmlu
YWwgOiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKCFtX3BhdHRlcm4ubV9ib2R5LT5tX21pbmltdW1TaXplKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1hdGNoU3RhcnQoaW5kZXgpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92
ZShpbmRleCwgcmVnVDApOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YjMyKEltbTMy
KG1fcGF0dGVybi5tX2JvZHktPm1fbWluaW11bVNpemUpLCByZWdUMCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3ViMzIoaW5kZXgsIFRydXN0ZWRJbW0zMihtX3BhdHRlcm4ubV9ib2R5
LT5tX21pbmltdW1TaXplKSwgcmVnVDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
dE1hdGNoU3RhcnQocmVnVDApOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435969</attachid>
            <date>2021-08-20 04:31:32 -0700</date>
            <delta_ts>2021-08-20 11:09:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228813-20210820043131.patch</filename>
            <type>text/plain</type>
            <size>13682</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MmVhZDM3YmE2NzJlYzNkMzE1M2QyNzZkYmUwOTUyYzRjNjUwNWI2Li5iZTY1NjA0NzMwYTU3NjFj
MzAzMDlhN2EwOGQxOTY5ZTliOWUyM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMS0wOC0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSB1bm5lY2Vzc2FyeSBtb3ZlcyBpbiBZYXJyJ3Mgc3Vi
MzIgLyBhZGQzMiByZWxhdGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyODgxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0aHJlZSBvcGVyYW5kIHN1YjMyIHRvIFg2
NCBtYXNtIHNvIHRoYXQgd2UgY2FuIHVzZSBpdCBpbiBhbGwgbWFzbXMuCisgICAgICAgIFdlIHVz
ZSBhZGQzMiBhbmQgc3ViMzIgaW4gWWFyckpJVCB0byByZW1vdmUgdW5uZWNlc3NhcnkgbW92IGlu
c3RydWN0aW9ucyBpbiBBUk02NC4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ci5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6c3ViMzIpOgorICAgICAgICAqIGFz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyQVJNdjc6OnN1YjMyKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZD
b21tb24uaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN1YjMyKToK
KyAgICAgICAgKiBhc3NlbWJsZXIvdGVzdG1hc20uY3BwOgorICAgICAgICAoSlNDOjp0ZXN0U3Vi
MzJBcmdJbW0pOgorICAgICAgICAqIHlhcnIvWWFyckpJVC5jcHA6CisKIDIwMjEtMDgtMTkgIFRp
bSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgOjpiYWNrZHJv
cCBwc2V1ZG8gZWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlci5oCmluZGV4IGMwMGRiMTdmZjA0MTEyOGE0MmRiOTZjMjRmMDFjNGZiMDdm
MDJhYjYuLmM5OTNhYzEyYjMwNTBmMDQzZWJhZjA0ODc1ZWRmYzM0YjEzOWFlNjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKQEAgLTE3
NjIsNiArMTc2MiwxNiBAQCBjbGFzcyBNYWNyb0Fzc2VtYmxlciA6IHB1YmxpYyBNYWNyb0Fzc2Vt
YmxlckJhc2UgewogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHN1YjMyKGltbS5hc1RydXN0
ZWRJbW0zMigpLCBkZXN0KTsKICAgICB9CisKKyAgICB2b2lkIHN1YjMyKFJlZ2lzdGVySUQgc3Jj
LCBJbW0zMiBpbW0sIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIGlmIChzaG91bGRC
bGluZChpbW0pKSB7CisgICAgICAgICAgICBCbGluZGVkSW1tMzIga2V5ID0gYWRkaXRpb25CbGlu
ZGVkQ29uc3RhbnQoaW1tKTsKKyAgICAgICAgICAgIHN1YjMyKHNyYywga2V5LnZhbHVlMSwgZGVz
dCk7CisgICAgICAgICAgICBzdWIzMihrZXkudmFsdWUyLCBkZXN0KTsKKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICBzdWIzMihzcmMsIGltbS5hc1RydXN0ZWRJbW0zMigpLCBkZXN0KTsKKyAg
ICB9CiAgICAgCiAgICAgdm9pZCBzdWJQdHIoSW1tMzIgaW1tLCBSZWdpc3RlcklEIGRlc3QpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlckFSTXY3LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNdjcuaAppbmRleCBkZjg4Mzg2YTgzMjNkODY5MTJjZmU1MzUzMWUzYTgyZGZiNDRl
YjhlLi5jMzVmZDM5OGY3ZTVmNDRmZjM3MzI0MWQ3ODYxYmRmMWExZjMzNGUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcu
aApAQCAtNTQwLDYgKzU0MCwxNyBAQCBjbGFzcyBNYWNyb0Fzc2VtYmxlckFSTXY3IDogcHVibGlj
IEFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8QXNzZW1ibGVyPiB7CiAgICAgICAgIG1fYXNzZW1ibGVy
LnN1YihkZXN0LCBsZWZ0LCByaWdodCk7CiAgICAgfQogCisgICAgdm9pZCBzdWIzMihSZWdpc3Rl
cklEIGxlZnQsIFRydXN0ZWRJbW0zMiByaWdodCwgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAg
ICAgICAgQVJNVGh1bWJJbW1lZGlhdGUgYXJtSW1tID0gQVJNVGh1bWJJbW1lZGlhdGU6Om1ha2VV
SW50MTJPckVuY29kZWRJbW0ocmlnaHQubV92YWx1ZSk7CisgICAgICAgIGlmIChhcm1JbW0uaXNW
YWxpZCgpKQorICAgICAgICAgICAgbV9hc3NlbWJsZXIuc3ViKGRlc3QsIGxlZnQsIGFybUltbSk7
CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgbW92ZShyaWdodCwgZGF0YVRlbXBSZWdpc3Rl
cik7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zdWIoZGVzdCwgbGVmdCwgZGF0YVRlbXBSZWdp
c3Rlcik7CisgICAgICAgIH0KKyAgICB9CisKICAgICB2b2lkIHN1YjMyKFRydXN0ZWRJbW0zMiBp
bW0sIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGFy
bUltbSA9IEFSTVRodW1iSW1tZWRpYXRlOjptYWtlVUludDEyT3JFbmNvZGVkSW1tKGltbS5tX3Zh
bHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJYODZDb21tb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJYODZDb21tb24uaAppbmRleCAxN2JiNjY0ZDRjMGU2ZTljMmI5MzBlYTEwNmU4
YWIxMTJkNGZhNDkwLi5jY2UwZDAxZjQwMTc0OTY3MTM3YWMwYmM0MjkwOWQ0YWZhMGY0MGExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
WDg2Q29tbW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbi5oCkBAIC04MzcsNiArODM3LDEyIEBAIGNsYXNzIE1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uIDogcHVibGljIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8QXNzZW1ibGVyPiB7
CiAgICAgICAgIHN1YjMyKHJpZ2h0LCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lkIHN1YjMyKFJl
Z2lzdGVySUQgbGVmdCwgVHJ1c3RlZEltbTMyIHJpZ2h0LCBSZWdpc3RlcklEIGRlc3QpCisgICAg
eworICAgICAgICBtb3ZlKGxlZnQsIGRlc3QpOworICAgICAgICBzdWIzMihyaWdodCwgZGVzdCk7
CisgICAgfQorCiAgICAgdm9pZCBzdWIzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIGRl
c3QpCiAgICAgewogICAgICAgICBpZiAoaW1tLm1fdmFsdWUgPT0gMSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFzbS5jcHAKaW5kZXggZWJhMGIyMjk2NjQ5YzIzZTM1
ZTZhYWZlOWNjZjA4NGQ2ZDNlODIxMy4uODE0NmYzNzFkY2NhYmVjYjMyZTFlMjFmYTQ4ZDkzYTc1
MjkzZmEwYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0
bWFzbS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFzbS5j
cHAKQEAgLTEwMjUsMjMgKzEwMjUsNiBAQCB2b2lkIHRlc3RTdWIzMkltbSgpCiAgICAgfQogfQog
Ci12b2lkIHRlc3RTdWIzMkFyZ0ltbSgpCi17Ci0gICAgZm9yIChhdXRvIGltbWVkaWF0ZSA6IGlu
dDMyT3BlcmFuZHMoKSkgewotICAgICAgICBhdXRvIHN1YiA9IGNvbXBpbGUoWz1dIChDQ2FsbEhl
bHBlcnMmIGppdCkgewotICAgICAgICAgICAgZW1pdEZ1bmN0aW9uUHJvbG9ndWUoaml0KTsKLQot
ICAgICAgICAgICAgaml0LnN1YjMyKEdQUkluZm86OmFyZ3VtZW50R1BSMCwgQ0NhbGxIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoaW1tZWRpYXRlKSwgR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIpOwotCi0g
ICAgICAgICAgICBlbWl0RnVuY3Rpb25FcGlsb2d1ZShqaXQpOwotICAgICAgICAgICAgaml0LnJl
dCgpOwotICAgICAgICB9KTsKLQotICAgICAgICBmb3IgKGF1dG8gdmFsdWUgOiBpbnQzMk9wZXJh
bmRzKCkpCi0gICAgICAgICAgICBDSEVDS19FUShpbnZva2U8dWludDMyX3Q+KHN1YiwgdmFsdWUp
LCBzdGF0aWNfY2FzdDx1aW50MzJfdD4odmFsdWUgLSBpbW1lZGlhdGUpKTsKLSAgICB9Ci19Ci0K
IHZvaWQgdGVzdFN1YjY0SW1tMzIoKQogewogICAgIGZvciAoYXV0byBpbW1lZGlhdGUgOiBpbnQ2
NE9wZXJhbmRzKCkpIHsKQEAgLTM5NjMsNiArMzk0NiwyMyBAQCB2b2lkIHRlc3RMb2FkU3RvcmVQ
YWlyMzIoKQogICAgIENIRUNLX0VRKGJ1ZmZlcls5XSwgaW5pdGlhbFZhbHVlICsgOSk7CiB9CiAK
K3ZvaWQgdGVzdFN1YjMyQXJnSW1tKCkKK3sKKyAgICBmb3IgKGF1dG8gaW1tZWRpYXRlIDogaW50
MzJPcGVyYW5kcygpKSB7CisgICAgICAgIGF1dG8gc3ViID0gY29tcGlsZShbPV0gKENDYWxsSGVs
cGVycyYgaml0KSB7CisgICAgICAgICAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZShqaXQpOworCisg
ICAgICAgICAgICBqaXQuc3ViMzIoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW0zMihpbW1lZGlhdGUpLCBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUik7CisKKyAg
ICAgICAgICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3VlKGppdCk7CisgICAgICAgICAgICBqaXQucmV0
KCk7CisgICAgICAgIH0pOworCisgICAgICAgIGZvciAoYXV0byB2YWx1ZSA6IGludDMyT3BlcmFu
ZHMoKSkKKyAgICAgICAgICAgIENIRUNLX0VRKGludm9rZTx1aW50MzJfdD4oc3ViLCB2YWx1ZSks
IHN0YXRpY19jYXN0PHVpbnQzMl90Pih2YWx1ZSAtIGltbWVkaWF0ZSkpOworICAgIH0KK30KKwog
I2lmIENQVShBUk02NCkKIHZvaWQgdGVzdExvYWRTdG9yZVBhaXI2NEludDY0KCkKIHsKQEAgLTU2
NDUsNiArNTY0NSw3IEBAIHZvaWQgcnVuKGNvbnN0IGNoYXIqIGZpbHRlcikgV1RGX0lHTk9SRVNf
VEhSRUFEX1NBRkVUWV9BTkFMWVNJUwogCiAgICAgUlVOKHRlc3RNdWwzMldpdGhJbW1lZGlhdGVz
KCkpOwogICAgIFJVTih0ZXN0TG9hZFN0b3JlUGFpcjMyKCkpOworICAgIFJVTih0ZXN0U3ViMzJB
cmdJbW0oKSk7CiAKICNpZiBDUFUoWDg2XzY0KQogICAgIFJVTih0ZXN0QnJhbmNoVGVzdEJpdDMy
UmVnUmVnKCkpOwpAQCAtNTY3Myw3ICs1Njc0LDYgQEAgdm9pZCBydW4oY29uc3QgY2hhciogZmls
dGVyKSBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTCiAKICAgICBSVU4odGVzdFN1
YjMyQXJncygpKTsKICAgICBSVU4odGVzdFN1YjMySW1tKCkpOwotICAgIFJVTih0ZXN0U3ViMzJB
cmdJbW0oKSk7CiAgICAgUlVOKHRlc3RTdWI2NEltbTMyKCkpOwogICAgIFJVTih0ZXN0U3ViNjRB
cmdJbW0zMigpKTsKICAgICBSVU4odGVzdFN1YjY0SW1tNjQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS95YXJyL1lhcnJKSVQuY3BwCmluZGV4IDFkMzZhZWNiYmE0OTBkZWIwMmQzZDNiM2FkZWViMmEy
MmQ5ODk0MjEuLjgzNTMxZDg1ZWI3NzAxZTdlMWM1ZmZkOTc2NzMyN2FiOWY4YTQ1NjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwCkBAIC0xNzA0LDEwICsxNzA0LDkgQEAg
Y2xhc3MgWWFyckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBN
YWNyb0Fzc2VtYmxlciB7CiAgICAgICAgIGlmIChtX2RlY29kZVN1cnJvZ2F0ZVBhaXJzKQogICAg
ICAgICAgICAgb3AubV9qdW1wcy5hcHBlbmQoanVtcElmTm9BdmFpbGFibGVJbnB1dCgpKTsKIAot
ICAgICAgICBtb3ZlKGluZGV4LCBjb3VudFJlZ2lzdGVyKTsKICAgICAgICAgQ2hlY2tlZDx1bnNp
Z25lZD4gc2NhbGVkTWF4Q291bnQgPSB0ZXJtLT5xdWFudGl0eU1heENvdW50OwogICAgICAgICBz
Y2FsZWRNYXhDb3VudCAqPSBVX0lTX0JNUChjaCkgPyAxIDogMjsKLSAgICAgICAgc3ViMzIoSW1t
MzIoc2NhbGVkTWF4Q291bnQpLCBjb3VudFJlZ2lzdGVyKTsKKyAgICAgICAgc3ViMzIoaW5kZXgs
IEltbTMyKHNjYWxlZE1heENvdW50KSwgY291bnRSZWdpc3Rlcik7CiAKICAgICAgICAgTGFiZWwg
bG9vcCh0aGlzKTsKICAgICAgICAgcmVhZENoYXJhY3RlcihtX2NoZWNrZWRPZmZzZXQgLSB0ZXJt
LT5pbnB1dFBvc2l0aW9uIC0gc2NhbGVkTWF4Q291bnQsIGNoYXJhY3RlciwgY291bnRSZWdpc3Rl
cik7CkBAIC0xOTExLDE1ICsxOTEwLDEyIEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBw
dWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICBpZiAo
bV9kZWNvZGVTdXJyb2dhdGVQYWlycykKICAgICAgICAgICAgIG9wLm1fanVtcHMuYXBwZW5kKGp1
bXBJZk5vQXZhaWxhYmxlSW5wdXQoKSk7CiAKLSAgICAgICAgbW92ZShpbmRleCwgY291bnRSZWdp
c3Rlcik7Ci0KICAgICAgICAgQ2hlY2tlZDx1bnNpZ25lZD4gc2NhbGVkTWF4Q291bnQgPSB0ZXJt
LT5xdWFudGl0eU1heENvdW50OwotCiAjaWYgRU5BQkxFKFlBUlJfSklUX1VOSUNPREVfRVhQUkVT
U0lPTlMpCiAgICAgICAgIGlmIChtX2RlY29kZVN1cnJvZ2F0ZVBhaXJzICYmIHRlcm0tPmNoYXJh
Y3RlckNsYXNzLT5oYXNPbmx5Tm9uQk1QQ2hhcmFjdGVycygpICYmICF0ZXJtLT5pbnZlcnQoKSkK
ICAgICAgICAgICAgIHNjYWxlZE1heENvdW50ICo9IDI7CiAjZW5kaWYKLSAgICAgICAgc3ViMzIo
SW1tMzIoc2NhbGVkTWF4Q291bnQpLCBjb3VudFJlZ2lzdGVyKTsKKyAgICAgICAgc3ViMzIoaW5k
ZXgsIEltbTMyKHNjYWxlZE1heENvdW50KSwgY291bnRSZWdpc3Rlcik7CiAKICAgICAgICAgTGFi
ZWwgbG9vcCh0aGlzKTsKICAgICAgICAgSnVtcExpc3QgbWF0Y2hEZXN0OwpAQCAtMjQ4NSw4ICsy
NDgxLDcgQEAgY2xhc3MgWWFyckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywg
cHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1f
cGF0dGVybi5tX2JvZHktPm1faGFzRml4ZWRTaXplKSB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb3V0T2ZMZW5ndGhGYWlsdXJlLmxpbmsodGhpcyk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKGFsdGVybmF0aXZlLT5tX21pbmltdW1TaXplKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1vdmUoaW5kZXgsIHJlZ1QwKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3ViMzIoSW1tMzIoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUpLCBy
ZWdUMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YjMyKGluZGV4LCBJbW0z
MihhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSksIHJlZ1QwKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2V0TWF0Y2hTdGFydChyZWdUMCk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1hdGNo
U3RhcnQoaW5kZXgpOwpAQCAtMjUwMCw4ICsyNDk1LDcgQEAgY2xhc3MgWWFyckdlbmVyYXRvciBm
aW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBieSBCb3llck1vb3JlIHNlYXJjaC4KICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICghbV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgcmVnVDApOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihhbHRlcm5hdGl2ZS0+
bV9taW5pbXVtU2l6ZSksIHJlZ1QwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3ViMzIoaW5kZXgsIEltbTMyKGFsdGVybmF0aXZlLT5tX21pbmltdW1TaXplKSwgcmVnVDApOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0KHJlZ1QwKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0TWF0Y2hTdGFydChpbmRleCk7CkBAIC0yNTI1LDkgKzI1MTksMTAgQEAgY2xh
c3MgWWFyckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNy
b0Fzc2VtYmxlciB7CiAgICAgICAgICAgICAgICAgLy8gbm90IGhhdmUgeWV0IHNldCB0aGUgdmFs
dWUgaW4gdGhlIGZpcnN0IAogICAgICAgICAgICAgICAgIEFTU0VSVChpbmRleCAhPSByZXR1cm5S
ZWdpc3Rlcik7CiAgICAgICAgICAgICAgICAgaWYgKG1fcGF0dGVybi5tX2JvZHktPm1faGFzRml4
ZWRTaXplKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1vdmUoaW5kZXgsIHJldHVyblJlZ2lzdGVy
KTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHByaW9yQWx0ZXJuYXRpdmUtPm1fbWluaW11bVNp
emUpCi0gICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihwcmlvckFsdGVybmF0aXZl
LT5tX21pbmltdW1TaXplKSwgcmV0dXJuUmVnaXN0ZXIpOworICAgICAgICAgICAgICAgICAgICAg
ICAgc3ViMzIoaW5kZXgsIEltbTMyKHByaW9yQWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUpLCBy
ZXR1cm5SZWdpc3Rlcik7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1vdmUoaW5kZXgsIHJldHVyblJlZ2lzdGVyKTsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKG1fY29tcGlsZU1vZGUgPT0gSklUQ29tcGlsZU1vZGU6OkluY2x1ZGVTdWJwYXR0ZXJu
cykKICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlUGFpcjMyKHJldHVyblJlZ2lzdGVyLCBp
bmRleCwgb3V0cHV0LCBUcnVzdGVkSW1tMzIoMCkpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7
CkBAIC0yNzE4LDggKzI3MTMsNyBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIGZpbmFsIDogcHVibGlj
IFlhcnJKSVRJbmZvLCBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKHRlcm0tPnF1YW50aXR5VHlwZSA9PSBRdWFudGlmaWVyVHlwZTo6Rml4ZWRDb3VudCkK
ICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0T2Zmc2V0ICs9IHRlcm0tPnBhcmVudGhlc2Vz
LmRpc2p1bmN0aW9uLT5tX21pbmltdW1TaXplOwogICAgICAgICAgICAgICAgICAgICBpZiAoaW5w
dXRPZmZzZXQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vdmUoaW5kZXgsIGluZGV4VGVt
cG9yYXJ5KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1YjMyKEltbTMyKGlucHV0T2Zmc2V0
KSwgaW5kZXhUZW1wb3JhcnkpOworICAgICAgICAgICAgICAgICAgICAgICAgc3ViMzIoaW5kZXgs
IEltbTMyKGlucHV0T2Zmc2V0KSwgaW5kZXhUZW1wb3JhcnkpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgc2V0U3VicGF0dGVyblN0YXJ0KGluZGV4VGVtcG9yYXJ5LCB0ZXJtLT5wYXJlbnRoZXNl
cy5zdWJwYXR0ZXJuSWQpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
ICAgICAgICAgICAgIHNldFN1YnBhdHRlcm5TdGFydChpbmRleCwgdGVybS0+cGFyZW50aGVzZXMu
c3VicGF0dGVybklkKTsKQEAgLTI3NDYsOCArMjc0MCw3IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3Ig
ZmluYWwgOiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAg
ICAgICAgICAgICAgIGlmICh0ZXJtLT5jYXB0dXJlKCkgJiYgbV9jb21waWxlTW9kZSA9PSBKSVRD
b21waWxlTW9kZTo6SW5jbHVkZVN1YnBhdHRlcm5zKSB7CiAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGlucHV0T2Zmc2V0ID0gbV9jaGVja2VkT2Zmc2V0IC0gdGVybS0+aW5wdXRQb3NpdGlv
bjsKICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0T2Zmc2V0KSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBtb3ZlKGluZGV4LCBpbmRleFRlbXBvcmFyeSk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBzdWIzMihJbW0zMihpbnB1dE9mZnNldCksIGluZGV4VGVtcG9yYXJ5KTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHN1YjMyKGluZGV4LCBJbW0zMihpbnB1dE9mZnNldCksIGluZGV4
VGVtcG9yYXJ5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN1YnBhdHRlcm5FbmQoaW5k
ZXhUZW1wb3JhcnksIHRlcm0tPnBhcmVudGhlc2VzLnN1YnBhdHRlcm5JZCk7CiAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3VicGF0dGVybkVu
ZChpbmRleCwgdGVybS0+cGFyZW50aGVzZXMuc3VicGF0dGVybklkKTsKQEAgLTI4NTUsOCArMjg0
OCw3IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBwdWJsaWMgWWFyckpJVEluZm8sIHBy
aXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAgICAgICAgICAgICBpZiAodGVybS0+cXVh
bnRpdHlUeXBlID09IFF1YW50aWZpZXJUeXBlOjpGaXhlZENvdW50KQogICAgICAgICAgICAgICAg
ICAgICAgICAgaW5wdXRPZmZzZXQgKz0gdGVybS0+cGFyZW50aGVzZXMuZGlzanVuY3Rpb24tPm1f
bWluaW11bVNpemU7CiAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dE9mZnNldCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgaW5kZXhUZW1wb3JhcnkpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgc3ViMzIoSW1tMzIoaW5wdXRPZmZzZXQpLCBpbmRleFRlbXBvcmFy
eSk7CisgICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihpbmRleCwgSW1tMzIoaW5wdXRPZmZz
ZXQpLCBpbmRleFRlbXBvcmFyeSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTdWJwYXR0
ZXJuU3RhcnQoaW5kZXhUZW1wb3JhcnksIHRlcm0tPnBhcmVudGhlc2VzLnN1YnBhdHRlcm5JZCk7
CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgc2V0
U3VicGF0dGVyblN0YXJ0KGluZGV4LCB0ZXJtLT5wYXJlbnRoZXNlcy5zdWJwYXR0ZXJuSWQpOwpA
QCAtMjg5NSw4ICsyODg3LDcgQEAgY2xhc3MgWWFyckdlbmVyYXRvciBmaW5hbCA6IHB1YmxpYyBZ
YXJySklUSW5mbywgcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnB1dE9mZnNldCA9IG1fY2hlY2tlZE9m
ZnNldCAtIHRlcm0tPmlucHV0UG9zaXRpb247CiAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1
dE9mZnNldCkgewotICAgICAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgaW5kZXhUZW1w
b3JhcnkpOwotICAgICAgICAgICAgICAgICAgICAgICAgc3ViMzIoSW1tMzIoaW5wdXRPZmZzZXQp
LCBpbmRleFRlbXBvcmFyeSk7CisgICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihpbmRleCwg
SW1tMzIoaW5wdXRPZmZzZXQpLCBpbmRleFRlbXBvcmFyeSk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBzZXRTdWJwYXR0ZXJuRW5kKGluZGV4VGVtcG9yYXJ5LCB0ZXJtLT5wYXJlbnRoZXNlcy5z
dWJwYXR0ZXJuSWQpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAg
ICAgICAgICAgIHNldFN1YnBhdHRlcm5FbmQoaW5kZXgsIHRlcm0tPnBhcmVudGhlc2VzLnN1YnBh
dHRlcm5JZCk7CkBAIC0zMDcwLDExICszMDYxLDEwIEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmlu
YWwgOiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSA9PSAx
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0KGluZGV4KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbW92ZShpbmRleCwgcmVnVDApOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUpCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6
ZSAtIDEpLCByZWdUMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWIz
MihpbmRleCwgSW1tMzIoYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUgLSAxKSwgcmVnVDApOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhZGQzMihUcnVzdGVkSW1tMzIoMSksIHJlZ1QwKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZDMyKFRydXN0ZWRJbW0zMigxKSwgaW5kZXgs
IHJlZ1QwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0Y2hTdGFydChy
ZWdUMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg
ICAgICAgfQpAQCAtMzE4OCw4ICszMTc4LDcgQEAgY2xhc3MgWWFyckdlbmVyYXRvciBmaW5hbCA6
IHB1YmxpYyBZYXJySklUSW5mbywgcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoIW1fcGF0dGVybi5tX2JvZHktPm1fbWluaW11bVNpemUpCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0Y2hTdGFydChpbmRleCk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3ZlKGlu
ZGV4LCByZWdUMCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViMzIoSW1tMzIobV9w
YXR0ZXJuLm1fYm9keS0+bV9taW5pbXVtU2l6ZSksIHJlZ1QwKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdWIzMihpbmRleCwgSW1tMzIobV9wYXR0ZXJuLm1fYm9keS0+bV9taW5pbXVt
U2l6ZSksIHJlZ1QwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0
KHJlZ1QwKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg
fQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>